qw($gMaintainerFileOverride $gPseudoMaintFile $gPseudoDescFile $gPackageSource),
qw($gVersionPackagesDir $gVersionIndex $gBinarySourceMap $gSourceBinaryMap),
qw($gVersionTimeIndex),
+ qw($gSimpleVersioning),
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),
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
=item mirror_list
+=item strong_list
+
=cut
set_default(\%config, 'submit_list', 'bug-submit-list');
=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
[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
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}",
});
@{$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');
set_default(\%config,'maintainer_file',$config{config_dir}.'/Maintainers');
set_default(\%config,'maintainer_file_override',$config{config_dir}.'/Maintainers.override');
+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.maint');
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
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: $!";