]> git.donarmstrong.com Git - debbugs.git/blobdiff - Debbugs/Config.pm
its maintainers, not maint
[debbugs.git] / Debbugs / Config.pm
index 34a825791fbbe59f7db8ae24e0fbcd45e28e7c45..eabb24eb4f13cc036e208b03812da1b4089b9c74 100644 (file)
@@ -50,6 +50,7 @@ BEGIN {
                                 qw($gSubmitList $gMaintList $gQuietList $gForwardList),
                                 qw($gDoneList $gRequestList $gSubmitterList $gControlList),
                                 qw($gStrongList),
+                                qw($gBugSubscriptionDomain),
                                 qw($gPackageVersionRe),
                                 qw($gSummaryList $gMirrorList $gMailer $gBug),
                                 qw($gBugs $gRemoveAge $gSaveOldBugs $gDefaultSeverity),
@@ -58,13 +59,19 @@ BEGIN {
                                 qw($gMaintainerFileOverride $gPseudoMaintFile $gPseudoDescFile $gPackageSource),
                                 qw($gVersionPackagesDir $gVersionIndex $gBinarySourceMap $gSourceBinaryMap),
                                 qw($gVersionTimeIndex),
+                                qw($gSimpleVersioning),
+                                qw($gCVETracker),
                                 qw($gSendmail $gLibPath $gSpamScan @gExcludeFromControl),
                                 qw(%gSeverityDisplay @gTags @gSeverityList @gStrongSeverities),
+                                qw(%gTagsSingleLetter),
                                 qw(%gSearchEstraier),
                                 qw(%gDistributionAliases),
+                                qw(%gObsoleteSeverities),
                                 qw(@gPostProcessall @gRemovalDefaultDistributionTags @gRemovalDistributionTags @gRemovalArchitectures),
                                 qw(@gRemovalStrongSeverityDefaultDistributionTags),
+                                qw(@gAffectsDistributionTags),
                                 qw(@gDefaultArchitectures),
+                                qw($gMachineName),
                                 qw($gTemplateDir),
                                 qw($gDefaultPackage),
                                 qw($gSpamMaxThreads $gSpamSpamsPerThread $gSpamKeepRunning $gSpamScan $gSpamCrossassassinDb),
@@ -199,9 +206,21 @@ Domain where subscriptions to package lists happen
 
 =cut
 
-
 set_default(\%config,'subscription_domain',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
+
+Default: security-tracker.debian.org/tracker/
+
+=cut
+
+set_default(\%config,'cve_tracker','security-tracker.debian.org/tracker/');
+
+
 =back
 
 =cut
@@ -267,11 +286,27 @@ Email address where packages with an unknown maintainer will be sent
 
 Default: $config{maintainer_email}
 
+=cut
+
+set_default(\%config,'unknown_maintainer_email',$config{maintainer_email});
+
+=item machine_name
+
+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)
+
 =back
 
 =cut
 
-set_default(\%config,'unknown_maintainer_email',$config{maintainer_email});
+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;
 
 =head2 BTS Mailing Lists
 
@@ -296,7 +331,7 @@ set_default(\%config,'unknown_maintainer_email',$config{maintainer_email});
 
 =item mirror_list
 
-=back
+=item strong_list
 
 =cut
 
@@ -312,15 +347,58 @@ set_default(\%config,  'summary_list',  'bug-summary-list');
 set_default(\%config,   'mirror_list',   'bug-mirror-list');
 set_default(\%config,   'strong_list',   'bug-strong-list');
 
+=item bug_subscription_domain
+
+Domain of list for messages regarding a single bug; prefixed with
+bug=${bugnum}@ when bugs are actually sent out. Set to undef or '' to
+disable sending messages to the bug subscription list.
+
+Default: list_domain
+
+=back
+
+=cut
+
+set_default(\%config,'bug_subscription_domain',$config{list_domain});
+
+
 =head2 Misc Options
 
 =over
 
+=item mailer
+
+Name of the mailer to use
+
+Default: exim
+
 =cut
 
 set_default(\%config,'mailer','exim');
+
+
+=item bug
+
+Default: bug
+
+=item ubug
+
+Default: ucfirst($config{bug});
+
+=item bugs
+
+Default: bugs
+
+=item ubugs
+
+Default: ucfirst($config{ubugs});
+
+=cut
+
 set_default(\%config,'bug','bug');
+set_default(\%config,'ubug',ucfirst($config{bug}));
 set_default(\%config,'bugs','bugs');
+set_default(\%config,'ubugs',ucfirst($config{bugs}));
 
 =item remove_age
 
@@ -401,6 +479,25 @@ set_default(\%config,'default_architectures',
            [qw(i386 amd64 arm powerpc sparc alpha)]
           );
 
+=item affects_distribution_tags
+
+List of tags which restrict the buggy state to a set of distributions.
+
+The set of distributions that are buggy is the intersection of the set
+of distributions that would be buggy without reference to these tags
+and the set of these tags that are distributions which are set on a
+bug.
+
+Setting this to [] will remove this feature.
+
+Default: @{$config{distributions}}
+
+=cut
+
+set_default(\%config,'affects_distribution_tags',
+           [@{$config{distributions}}],
+          );
+
 =item removal_unremovable_tags
 
 Bugs which have these tags set cannot be archived
@@ -569,7 +666,10 @@ Default:
 
 set_default(\%config,'severity_display',{critical => "Critical $config{bugs}",
                                         grave    => "Grave $config{bugs}",
+                                        serious  => "Serious $config{bugs}",
+                                        important=> "Important $config{bugs}",
                                         normal   => "Normal $config{bugs}",
+                                        minor    => "Minor $config{bugs}",
                                         wishlist => "Wishlist $config{bugs}",
                                        });
 
@@ -604,6 +704,16 @@ Defaults to the keys of the severity display hashref
 
 set_default(\%config,'severity_list',[keys %{$config{severity_display}}]);
 
+=item obsolete_severities
+
+A hashref of obsolete severities with the replacing severity
+
+Default: {}
+
+=cut
+
+set_default(\%config,'obsolete_severities',{});
+
 =item tags
 
 An arrayref of the tags used
@@ -617,6 +727,15 @@ set_default(\%config,'tags',[qw(patch wontfix moreinfo unreproducible fixed),
                             @{$config{distributions}}
                            ]);
 
+set_default(\%config,'tags_single_letter',
+           {patch => '+',
+            wontfix => '',
+            moreinfo => 'M',
+            unreproducible => 'R',
+            fixed   => 'F',
+           }
+          );
+
 set_default(\%config,'bounce_froms','^mailer|^da?emon|^post.*mast|^root|^wpuser|^mmdf|^smt.*|'.
            '^mrgate|^vmmail|^mail.*system|^uucp|-maiser-|^mal\@|'.
            '^mail.*agent|^tcpmail|^bitmail|^mailman');
@@ -650,11 +769,24 @@ set_default(\%config,'template_dir','/usr/share/debbugs/templates');
 
 set_default(\%config,'maintainer_file',$config{config_dir}.'/Maintainers');
 set_default(\%config,'maintainer_file_override',$config{config_dir}.'/Maintainers.override');
-set_default(\%config,'pseudo_maint_file',$config{config_dir}.'/pseudo-packages.maint');
+set_default(\%config,'source_maintainer_file',$config{config_dir}.'/Source_maintainers');
+set_default(\%config,'source_maintainer_file_override',undef);
+set_default(\%config,'pseudo_maint_file',$config{config_dir}.'/pseudo-packages.maintainers');
 set_default(\%config,'pseudo_desc_file',$config{config_dir}.'/pseudo-packages.description');
 set_default(\%config,'package_source',$config{config_dir}.'/indices/sources');
 
 
+=item simple_versioning
+
+If true this causes debbugs to ignore version information and just
+look at whether a bug is done or not done. Primarily of interest for
+debbugs installs which don't track versions. defaults to false.
+
+=cut
+
+set_default(\%config,'simple_versioning',0);
+
+
 =item version_packages_dir
 
 Location where the version package information is kept; defaults to
@@ -884,6 +1016,10 @@ set_default(\%config,'html_expire_note',
 
 sub read_config{
      my ($conf_file) = @_;
+     if (not -e $conf_file) {
+        print STDERR "configuration file '$conf_file' doesn't exist; skipping it";
+        return;
+     }
      # first, figure out what type of file we're reading in.
      my $fh = new IO::File $conf_file,'r'
          or die "Unable to open configuration file $conf_file for reading: $!";
@@ -941,7 +1077,7 @@ sub __convert_name{
      $hash_name =~ s/^([\$\%\@])g//;
      my $glob_type = $1;
      my $glob_name = 'g'.$hash_name;
-     $hash_name =~ s/(HTML|CGI)/ucfirst(lc($1))/ge;
+     $hash_name =~ s/(HTML|CGI|CVE)/ucfirst(lc($1))/ge;
      $hash_name =~ s/^([A-Z]+)/lc($1)/e;
      $hash_name =~ s/([A-Z]+)/'_'.lc($1)/ge;
      return $hash_name unless wantarray;