X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Debbugs%2FConfig.pm;h=0d0abae37ff6c489f80cd4b7a413f11ba279e92c;hb=466f7faff129a5699c7674f59900a92aa256175d;hp=dda8b6d8db697531fac3f1964dc27e52670d351b;hpb=3da88191ed842344a9b01c36ac37c5b607b8e8ff;p=debbugs.git diff --git a/Debbugs/Config.pm b/Debbugs/Config.pm index dda8b6d..0d0abae 100644 --- a/Debbugs/Config.pm +++ b/Debbugs/Config.pm @@ -47,6 +47,7 @@ BEGIN { qw($gWebDomain $gHTMLSuffix $gCGIDomain $gMirrors), qw($gPackagePages $gSubscriptionDomain $gProject $gProjectTitle), qw($gMaintainer $gMaintainerWebpage $gMaintainerEmail $gUnknownMaintainerEmail), + qw($gPackageTrackingDomain $gUsertagPackageDomain), qw($gSubmitList $gMaintList $gQuietList $gForwardList), qw($gDoneList $gRequestList $gSubmitterList $gControlList), qw($gStrongList), @@ -75,10 +76,11 @@ BEGIN { qw($gTemplateDir), qw($gDefaultPackage), qw($gSpamMaxThreads $gSpamSpamsPerThread $gSpamKeepRunning $gSpamScan $gSpamCrossassassinDb), + qw($gDatabase), ], text => [qw($gBadEmailPrefix $gHTMLTail $gHTMLExpireNote), ], - cgi => [qw($gLibravatarUri $gLibravatarUriOptions)], + cgi => [qw($gLibravatarUri $gLibravatarCacheDir $gLibravatarUriOptions @gLibravatarBlacklist)], config => [qw(%config)], ); @EXPORT_OK = (); @@ -87,6 +89,7 @@ BEGIN { $ENV{HOME} = '' if not defined $ENV{HOME}; } +use Sys::Hostname; use File::Basename qw(dirname); use IO::File; use Safe; @@ -150,12 +153,13 @@ set_default(\%config,'web_host_bug_dir',''); =item web_domain $gWebDomain -Full path of the web domain where bugs are kept, defaults to the -concatenation of L and L +Full path of the web domain where bugs are kept including the protocol (http:// +or https://). Defaults to the concatenation of 'http://', L and +L =cut -set_default(\%config,'web_domain',$config{web_host}.($config{web_host}=~m{/$}?'':'/').$config{web_host_bug_dir}); +set_default(\%config,'web_domain','http://'.$config{web_host}.($config{web_host}=~m{/$}?'':'/').$config{web_host_bug_dir}); =item html_suffix $gHTMLSuffix @@ -168,7 +172,7 @@ set_default(\%config,'html_suffix','.html'); =item cgi_domain $gCGIDomain Full path of the web domain where cgi scripts are kept. Defaults to -the concatentation of L and cgi. +the concatentation of L and cgi. =cut @@ -186,21 +190,33 @@ set_default(\%config,'mirrors',[]); =item package_pages $gPackagePages Domain where the package pages are kept; links should work in a -package_pages/foopackage manner. Defaults to undef, which means that -package links will not be made. +package_pages/foopackage manner. Defaults to undef, which means that package +links will not be made. Should be prefixed with the appropriate protocol +(http/https). =cut set_default(\%config,'package_pages',undef); +=item package_tracking_domain $gPackageTrackingDomain + +Domain where the package pages are kept; links should work in a +package_tracking_domain/foopackage manner. Defaults to undef, which means that +package links will not be made. Should be prefixed with the appropriate protocol +(http or https). + +=cut + +set_default(\%config,'package_tracking_domain',undef); + =item package_pages $gUsertagPackageDomain Domain where where usertags of packages belong; defaults to $gPackagePages =cut -set_default(\%config,'usertag_package_domain',$config{package_pages}); +set_default(\%config,'usertag_package_domain',map {my $a = $_; defined $a?$a =~ s{https?://}{}:(); $a} $config{package_pages}); =item subscription_domain $gSubscriptionDomain @@ -212,16 +228,25 @@ Domain where subscriptions to package lists happen set_default(\%config,'subscription_domain',undef); +=item cc_all_mails_to_addr $gCcAllMailsToAddr + +Address to Cc (well, Bcc) all e-mails to + +=cut + +set_default(\%config,'cc_all_mails_to_addr',undef); + + =item cve_tracker $gCVETracker URI to CVE security tracker; in bugreport.cgi, CVE-2001-0002 becomes -linked to http://$config{cve_tracker}CVE-2001-002 +linked to $config{cve_tracker}CVE-2001-002 -Default: security-tracker.debian.org/tracker/ +Default: https://security-tracker.debian.org/tracker/ =cut -set_default(\%config,'cve_tracker','security-tracker.debian.org/tracker/'); +set_default(\%config,'cve_tracker','https://security-tracker.debian.org/tracker/'); =back @@ -298,18 +323,13 @@ set_default(\%config,'unknown_maintainer_email',$config{maintainer_email}); The name of the machine that this instance of debbugs is running on (currently used for debbuging purposes and web page output.) -Default: qx(hostname --fqdn) +Default: Sys::Hostname::hostname() =back =cut -my $_old_path = $ENV{PATH}; -$ENV{PATH} = '/bin:/usr/bin:/usr/local/bin'; -my $temp_hostname = qx(hostname --fqdn); -chomp $temp_hostname; -set_default(\%config,'machine_name',$temp_hostname); -$ENV{PATH} = $_old_path; +set_default(\%config,'machine_name',Sys::Hostname::hostname()); =head2 BTS Mailing Lists @@ -365,57 +385,6 @@ Default: list_domain set_default(\%config,'bug_subscription_domain',$config{list_domain}); -=head2 CGI Options - -=over - -=item libravatar_uri $gLibravatarUri - -URI to a libravatar configuration. If empty or undefined, libravatar -support will be disabled. Defaults to -libravatar.cgi, our internal federated libravatar system. - -=cut - -set_default(\%config,'libravatar_uri',$config{cgi_domain}.'/libravatar.cgi'.); - -=item libravatar_uri_options $gLibravatarUriOptions - -Options to append to the md5_hex of the e-mail. This sets the default -avatar used when an avatar isn't available. Currently defaults to -'?d=retro', which causes a bitmap-looking avatar to be displayed for -unknown e-mails. - -Other options which make sense include ?d=404, ?d=wavatar, etc. See -the API of libravatar for details. - -=cut - -set_default(\%config,'libravatar_uri_options',''); - -=item libravatar_default_image - -Default image to serve for libravatar if there is no avatar for an -e-mail address. By default, this is a 1x1 png. [This will also be the -image served if someone specifies avatar=no.] - -Default: $config{web_dir}/1x1.png - -=cut - -set_default(\%config,'libravatar_default_image',$config{web_dir}.'/1x1.png'); - -=item libravatar_cache_dir - -Directory where cached libravatar images are stored - -Default: $config{web_dir}/libravatar/ - -=cut - -set_default(\%config,'libravatar_cache_dir',$config{web_dir}.'/libravatar/'); - -=back =head2 Misc Options @@ -581,12 +550,12 @@ set_default(\%config,'removal_distribution_tags', For removal/archival purposes, all bugs are assumed to have these tags set. -Default: qw(unstable testing); +Default: qw(experimental unstable testing); =cut set_default(\%config,'removal_default_distribution_tags', - [qw(unstable testing)] + [qw(experimental unstable testing)] ); =item removal_strong_severity_default_distribution_tags @@ -594,12 +563,12 @@ set_default(\%config,'removal_default_distribution_tags', For removal/archival purposes, all bugs with strong severity are assumed to have these tags set. -Default: qw(unstable testing stable); +Default: qw(experimental unstable testing stable); =cut set_default(\%config,'removal_strong_severity_default_distribution_tags', - [qw(unstable testing stable)] + [qw(experimental unstable testing stable)] ); @@ -922,6 +891,15 @@ Default arguments to pass to sendmail. Defaults to C. set_default(\%config,'sendmail_arguments',[qw(-oem -oi)]); +=item envelope_from + +Envelope from to use for sent messages. If not set, whatever sendmail picks is +used. + +=cut + +set_default(\%config,'envelope_from',undef); + =item spam_scan Whether or not spamscan is being used; defaults to 0 (not being used @@ -1018,6 +996,84 @@ set_default(\%config,'spam_rules_dir','/usr/share/spamassassin'); =back +=head2 CGI Options + +=over + +=item libravatar_uri $gLibravatarUri + +URI to a libravatar configuration. If empty or undefined, libravatar +support will be disabled. Defaults to +libravatar.cgi, our internal federated libravatar system. + +=cut + +set_default(\%config,'libravatar_uri',$config{cgi_domain}.'/libravatar.cgi?email='); + +=item libravatar_uri_options $gLibravatarUriOptions + +Options to append to the md5_hex of the e-mail. This sets the default +avatar used when an avatar isn't available. Currently defaults to +'?d=retro', which causes a bitmap-looking avatar to be displayed for +unknown e-mails. + +Other options which make sense include ?d=404, ?d=wavatar, etc. See +the API of libravatar for details. + +=cut + +set_default(\%config,'libravatar_uri_options',''); + +=item libravatar_default_image + +Default image to serve for libravatar if there is no avatar for an +e-mail address. By default, this is a 1x1 png. [This will also be the +image served if someone specifies avatar=no.] + +Default: $config{web_dir}/1x1.png + +=cut + +set_default(\%config,'libravatar_default_image',$config{web_dir}.'/1x1.png'); + +=item libravatar_cache_dir + +Directory where cached libravatar images are stored + +Default: $config{web_dir}/libravatar/ + +=cut + +set_default(\%config,'libravatar_cache_dir',$config{web_dir}.'/libravatar/'); + +=item libravatar_blacklist + +Array of regular expressions to match against emails, domains, or +images to only show the default image + +Default: empty array + +=cut + +set_default(\%config,'libravatar_blacklist',[]); + +=back + +=head2 Database + +=over + +=item database + +Name of debbugs PostgreSQL database service. If you wish to not use a service +file, provide a full DBD::Pg compliant data-source, for example: +C<"dbi:Pg:dbname=dbname"> + +=back + +=cut + +set_default(\%config,'database',undef); =head2 Text Fields @@ -1065,10 +1121,11 @@ set_default(\%config,'html_tail',<

- Debian $config{bug} tracking system
+ Debian $config{bug} tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson. +

END @@ -1094,7 +1151,7 @@ sub read_config{ return; } # first, figure out what type of file we're reading in. - my $fh = new IO::File $conf_file,'r' + my $fh = IO::File->new($conf_file,'r') or die "Unable to open configuration file $conf_file for reading: $!"; # A new version configuration file must have a comment as its first line my $first_line = <$fh>;