qw($gBugs $gRemoveAge $gSaveOldBugs $gDefaultSeverity),
qw($gShowSeverities $gBounceFroms $gConfigDir $gSpoolDir),
qw($gIncomingDir $gWebDir $gDocDir $gMaintainerFile),
- qw($gMaintainerFileOverride $gPseudoDescFile $gPackageSource),
+ qw($gMaintainerFileOverride $gPseudoMaintFile $gPseudoDescFile $gPackageSource),
qw($gVersionPackagesDir $gVersionIndex $gBinarySourceMap $gSourceBinaryMap),
qw($gVersionTimeIndex),
qw($gSendmail $gLibPath $gSpamScan @gExcludeFromControl),
qw(%gSeverityDisplay @gTags @gSeverityList @gStrongSeverities),
qw(%gSearchEstraier),
+ qw(%gDistributionAliases),
qw(@gPostProcessall @gRemovalDefaultDistributionTags @gRemovalDistributionTags @gRemovalArchitectures),
+ qw(@gRemovalStrongSeverityDefaultDistributionTags),
+ qw(@gDefaultArchitectures),
+ qw($gTemplateDir),
+ qw($gDefaultPackage),
],
text => [qw($gBadEmailPrefix $gHTMLTail $gHTMLExpireNote),
],
%config = ();
# untaint $ENV{DEBBUGS_CONFIG_FILE} if it's owned by us
# This enables us to test things that are -T.
-if (exists $ENV{DEBBUGS_CONFIG_FILE} and
- ${[stat($ENV{DEBBUGS_CONFIG_FILE})]}[4] = $<) {
- $ENV{DEBBUGS_CONFIG_FILE} =~ /(.+)/;
- $ENV{DEBBUGS_CONFIG_FILE} = $1;
+if (exists $ENV{DEBBUGS_CONFIG_FILE}) {
+ if (${[stat($ENV{DEBBUGS_CONFIG_FILE})]}[4] = $<) {
+ $ENV{DEBBUGS_CONFIG_FILE} =~ /(.+)/;
+ $ENV{DEBBUGS_CONFIG_FILE} = $1;
+ }
+ else {
+ die "Environmental variable DEBBUGS_CONFIG_FILE set, and $ENV{DEBBUGS_CONFIG_FILE} is not owned by the user running this script.";
+ }
}
read_config(exists $ENV{DEBBUGS_CONFIG_FILE}?$ENV{DEBBUGS_CONFIG_FILE}:'/etc/debbugs/config');
=cut
-set_default(\%config,'web_domain',$config{web_host}.'/'.$config{web_host_bug_dir});
+set_default(\%config,'web_domain',$config{web_host}.($config{web_host}=~m{/$}?'':'/').$config{web_host_bug_dir});
=item html_suffix $gHTMLSuffix
set_default(\%config,'package_pages',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});
+
+
=item subscription_domain $gSubscriptionDomain
Domain where subscriptions to package lists happen
set_default(\%config,'maintainer_webpage',"$config{web_domain}/~owner");
-=item maintainer_email
+=item maintainer_email $gMaintainerEmail
Email address of the maintainer of this Debbugs install
set_default(\%config,'save_old_bugs',1);
+=item distribution_aliases
+
+Map of distribution aliases to the distribution name
+
+Default:
+ {experimental => 'experimental',
+ unstable => 'unstable',
+ testing => 'testing',
+ stable => 'stable',
+ oldstable => 'oldstable',
+ sid => 'unstable',
+ lenny => 'testing',
+ etch => 'stable',
+ sarge => 'oldstable',
+ }
+
+=cut
+
+set_default(\%config,'distribution_aliases',
+ {experimental => 'experimental',
+ unstable => 'unstable',
+ testing => 'testing',
+ stable => 'stable',
+ oldstable => 'oldstable',
+ sid => 'unstable',
+ lenny => 'testing',
+ etch => 'stable',
+ sarge => 'oldstable',
+ },
+ );
+
+
+
=item distributions
List of valid distributions
-Default: qw(experimental unstable testing stable oldstable);
+Default: The values of the distribution aliases map.
=cut
-set_default(\%config,'distributions',[qw(experimental unstable testing stable oldstable)]);
+my %_distributions_default;
+@_distributions_default{values %{$config{distribution_aliases}}} = values %{$config{distribution_aliases}};
+set_default(\%config,'distributions',[keys %_distributions_default]);
+
+
+=item default_architectures
+
+List of default architectures to use when architecture(s) are not
+specified
+
+Default: i386 amd64 arm ppc sparc alpha
+
+=cut
+
+set_default(\%config,'default_architectures',
+ [qw(i386 amd64 arm powerpc sparc alpha)]
+ );
=item removal_distribution_tags
[qw(unstable testing)]
);
+=item removal_strong_severity_default_distribution_tags
+
+For removal/archival purposes, all bugs with strong severity are
+assumed to have these tags set.
+
+Default: qw(unstable testing stable);
+
+=cut
+
+set_default(\%config,'removal_strong_severity_default_distribution_tags',
+ [qw(unstable testing stable)]
+ );
+
+
=item removal_architectures
For removal/archival purposes, these architectures are consulted if
package not in any of these architectures, the architecture actually
checked is undefined.
-Default: qw(i386 amd64 arm ppc sparc alpha);
+Default: value of default_architectures
=cut
set_default(\%config,'removal_architectures',
- [qw(i386 amd64 arm ppc sparc alpha)]
+ $config{default_architectures},
);
=cut
+
set_default(\%config,'package_version_re',
'[A-Za-z0-9:+\.~-]+');
+=item default_package
+
+This is the name of the default package. If set, bugs assigned to
+packages without a maintainer and bugs missing a Package: psuedoheader
+will be assigned to this package instead.
+
+Defaults to unset, which is the traditional debbugs behavoir
+
+=cut
+
+set_default(\%config,'default_package',
+ undef
+ );
+
+
=item control_internal_requester
This address is used by Debbugs::Control as the request address which
set_default(\%config,'doc_dir','/var/lib/debbugs/www/txt');
set_default(\%config,'lib_path','/usr/lib/debbugs');
+
+=item template_dir
+
+directory of templates; defaults to /usr/share/debbugs/templates.
+
+=cut
+
+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,'pseudo_desc_file',$config{config_dir}.'/pseudo-packages.description');
set_default(\%config,'package_source',$config{config_dir}.'/indices/sources');