Debbugs::Config(3pm)

πŸ’– Debbugs::Config(3pm) πŸ’–

okay so this is the Debbugs::Config(3pm) page from User Contributed Perl Documentation, and bestie, it is a lot β€” it's the one page where every single knob and dial for all of debbugs lives. part 1 of 2, so stay with me 🫢


✨ NAME ✨

Debbugs::Config β€” configuration information for debbugs. that's the whole name, no notes, periodt πŸ’…

πŸ¦‹ SYNOPSIS πŸ¦‹

use Debbugs::Config;

# to get the compatiblity interface

use Debbugs::Config qw(:globals);

🌸 DESCRIPTION 🌸

This module supplies the config variables for every single part of debbugs. one module to hold them all, it's giving main character energy fr fr ✨

πŸŽ€ CONFIGURATION FILES πŸŽ€

The default location of the config file? /etc/debbugs/config πŸ’–

Wanna live somewhere else? Just change the DEBBUGS_CONFIG_FILE env variable so it points at your new spot. easy peasy πŸ“

πŸ‘‘ CONFIGURATION VARIABLES πŸ‘‘

πŸ’œ General Configuration πŸ’œ

email_domain $gEmailDomain

The email domain of the bts.

list_domain $gListDomain

The list domain of the bts. defaults to the email domain.

web_host $gWebHost

The web host of the bts. defaults to the email domain.

web_host_bug_dir $gWebHostDir

The directory of the web host where bugs are kept. defaults to ''.

web_domain $gWebDomain

The full path of the web domain where bugs are kept, protocol included (http:// or https://). Defaults to the concatenation of 'http://', "web_host" and "web_host_bug_dir".

html_suffix $gHTMLSuffix

Suffix of html pages. defaults to .html.

cgi_domain $gCGIDomain

Full path of the web domain where cgi scripts are kept. Defaults to the concatentation of "web_domain" and cgi.

mirrors @gMirrors

List of mirrors [What these mirrors are used for, no one knows.]

package_pages $gPackagePages

Domain where the package pages are kept; links should work in a package_pages/foopackage manner. Defaults to undef, which means package links will not be made. Should be prefixed with the appropriate protocol (http/https).

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 package links will not be made. Should be prefixed with the appropriate protocol (http or https).

package_pages $gUsertagPackageDomain

Domain where where usertags of packages belong; defaults to $gPackagePages.

subscription_domain $gSubscriptionDomain

Domain where subscriptions to package lists happen.

cc_all_mails_to_addr $gCcAllMailsToAddr

Address to Cc (well, Bcc) all e-mails to.

cve_tracker $gCVETracker

URI to CVE security tracker; in bugreport.cgi, CVE-2001-0002 becomes linked to $config{cve_tracker}CVE-2001-002.

Default: https://security-tracker.debian.org/tracker/

🌈 Project Identification 🌈

project $gProject

Name of the project.

Default: 'Something'

project_title $gProjectTitle

Name of this install of Debbugs, defaults to ""project" Debbugs Install".

Default: "$config{project} Debbugs Install"

maintainer $gMaintainer

Name of the maintainer of this debbugs install.

Default: 'Local DebBugs Owner's

maintainer_webpage $gMaintainerWebpage

Webpage of the maintainer of this install of debbugs.

Default: "$config{web_domain}/~owner"

maintainer_email $gMaintainerEmail

Email address of the maintainer of this Debbugs install.

Default: 'root@'.$config{email_domain}

unknown_maintainer_email

Email address where packages with an unknown maintainer will be sent.

Default: $config{maintainer_email}

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: Sys::Hostname::hostname()

πŸ’Œ BTS Mailing Lists πŸ’Œ

okay these ones are just vibes, no descriptions attached, but they ALL matter β€” here's the full roster so nobody gets left out πŸ‘‘

  • submit_list
  • maint_list
  • forward_list
  • done_list
  • request_list
  • submitter_list
  • control_list
  • summary_list
  • mirror_list
  • strong_list

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

🧚 Misc Options 🧚

mailer

Name of the mailer to use.

Default: exim

bug

Default: bug

ubug

Default: ucfirst($config{bug});

bugs

Default: bugs

ubugs

Default: ucfirst($config{ubugs});

remove_age

Age at which bugs are archived/removed.

Default: 28

save_old_bugs

Whether old bugs are saved or deleted.

Default: 1

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',}

distributions

List of valid distributions.

Default: The values of the distribution aliases map.

default_architectures

List of default architectures to use when architecture(s) are not specified.

Default: i386 amd64 arm ppc sparc alpha

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}}

removal_unremovable_tags

Bugs which have these tags set cannot be archived.

Default: []

removal_distribution_tags

Tags which specifiy distributions to check.

Default: @{$config{distributions}}

removal_default_distribution_tags

For removal/archival purposes, all bugs are assumed to have these tags set.

Default: qw(experimental unstable testing);

removal_strong_severity_default_distribution_tags

For removal/archival purposes, all bugs with strong severity are assumed to have these tags set.

Default: qw(experimental unstable testing stable);

removal_architectures

For removal/archival purposes, these architectures are consulted if there is more than one architecture applicable. If the bug is in a package not in any of these architectures, the architecture actually checked is undefined.

Default: value of default_architectures

package_name_re

The regex which will match a package name.

Default: '[a-z0-9][a-z0-9\.+-]+'

package_version_re

The regex which will match a package version.

Default: '[A-Za-z0-9:+\.-]+'

default_package

This is the name of the default package. If set, bugs assigned to packages without a maintainer and bugs missing a Package: pseudoheader will be assigned to this package instead.

Defaults to unset, which is the traditional debbugs behavoir.

control_internal_requester

This address is used by Debbugs::Control as the request address which sent a control request for faked log messages.

Default: "Debbugs Internal Request <$config{maintainer_email}>"

control_internal_request_addr

This address is used by Debbugs::Control as the address to which a faked log message request was sent.

Default: "internal_control\@$config{email_domain}";

exclude_from_control

Addresses which are not allowed to send messages to control.

default_severity

The default severity of bugs which have no severity set.

Default: normal

severity_display

A hashref of severities and the informative text which describes them.

Default:

{critical => "Critical $config{bugs}",
 grave    => "Grave $config{bugs}",
 normal   => "Normal $config{bugs}",
 wishlist => "Wishlist $config{bugs}",
}

show_severities

A scalar list of the severities to show.

Defaults to the concatenation of the keys of the severity_display hashlist with ', ' above.

strong_severities

An arrayref of the serious severities which shoud be emphasized.

Default: [qw(critical grave)]

severity_list

An arrayref of a list of the severities.

Defaults to the keys of the severity display hashref.

obsolete_severities

A hashref of obsolete severities with the replacing severity.

Default: {}

tags

An arrayref of the tags used.

Default: [qw(patch wontfix moreinfo unreproducible fixed)] and also includes the distributions.

usertag_dir

Directory which contains the usertags.

Default: $config{spool_dir}/user

web_dir $gWebDir

Directory where base html files are kept. Should normally be the same as the web server's document root.

Default: /var/lib/debbugs/www

template_dir

directory of templates; defaults to /usr/share/debbugs/templates.

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.

version_packages_dir

Location where the version package information is kept; defaults to spool_dir/../versions/pkg

version_time_index

Location of the version/time index file. Defaults to spool_dir/../versions/idx/versions_time.idx if spool_dir/../versions exists; otherwise defaults to undef.

version_index

Location of the version index file. Defaults to spool_dir/../versions/indices/versions.idx if spool_dir/../versions exists; otherwise defaults to undef.

binary_source_map

Location of the binary -> source map. Defaults to spool_dir/../versions/indices/bin2src.idx if spool_dir/../versions exists; otherwise defaults to undef.

source_binary_map

Location of the source -> binary map. Defaults to spool_dir/../versions/indices/src2bin.idx if spool_dir/../versions exists; otherwise defaults to undef.

sendmail

Sets the sendmail binary to execute; defaults to /usr/lib/sendmail

sendmail_arguments

Default arguments to pass to sendmail. Defaults to "qw(-oem -oi)".

envelope_from

Envelope from to use for sent messages. If not set, whatever sendmail picks is used.

spam_scan

Whether or not spamscan is being used; defaults to 0 (not being used)

spam_crossassassin_db

Location of the crosassassin database, defaults to spool_dir/../CrossAssassinDb

spam_max_cross

Maximum number of cross-posted messages

  • spam_spams_per_thread β€” how many spams each thread gets, on average. Defaults to 200.
  • spam_max_threads β€” the absolute most threads we're letting spin up. Defaults to 20.
  • spam_keep_running β€” longest you can run before you're forced to restart, in seconds. Defaults to 3600.
  • spam_mailbox β€” where the spam messages go to live. This gets run through strftime, so %d, %m, %Y, et al. all work, bestie. Defaults to 'spool_dir/../mail/spam/assassinated.%Y-%m-%d' πŸ—‘οΈ
  • spam_crossassassin_mailbox β€” same energy, but for the crossassassinated messages. Also run through strftime so %d, %m, %Y et al. hit. Defaults to 'spool_dir/../mail/spam/crossassassinated.%Y-%m-%d' ✨
  • spam_local_tests_only β€” are we running only local tests, yes or no? Defaults to 0.
  • spam_user_prefs β€” your spamassassin user preferences. Defaults to $ENV{HOME}/.spamassassin/user_prefs.
  • spam_rules_dir β€” the site rules directory for spamassassin. Defaults to '/etc/spamassassin'.

✨ CGI Options ✨

  • libravatar_uri $gLibravatarUri β€” the URI of a libravatar config. If it's empty or undefined, libravatar support is just… off, periodt. Defaults to libravatar.cgi, which is our own internal federated libravatar system πŸ‘‘
  • libravatar_uri_options $gLibravatarUriOptions β€” extra options that get appended to the md5_hex of the e-mail. This decides the default avatar that shows up when there's no avatar available. Right now it defaults to '?d=retro', which gives you that cute bitmap-looking avatar for unknown emails πŸŽ€

Other options that lowkey make sense include ?d=404, ?d=wavatar, etc. Peep the libravatar API for the deets.

  • libravatar_default_image β€” the default image we serve for libravatar when there's genuinely no avatar for an e-mail address. By default it's a 1x1 png. [This is also the image served if someone specifies avatar=no.]

Default: $config{web_dir}/1x1.png

  • libravatar_cache_dir β€” the directory where all the cached libravatar images chill.

Default: $config{web_dir}/libravatar/

  • libravatar_blacklist β€” an array of regular expressions that get matched against emails, domains, or images, so we only show the default image πŸ’€

Default: empty array


πŸ¦‹ Text Fields πŸ¦‹

Okay so these next ones are literally the only text fields in general use across the scripts. There are a few extra text fields defined in text.in, but those only get used in db2html and a couple other specialty scripts, iykyk.

Real talk: earlier versions of debbugs defined these values in /etc/debbugs/text, but now they're required to be in the configuration file. [Eventually the longer ones are gonna move out into a fully fledged template system.]
  • bad_email_prefix β€” this prefixes the text of every single line in a bad e-mail message ack. πŸ™ˆ
  • text_instructions β€” this hands receive.in more info about bad e-mails.
  • html_tail β€” this shows up at the end of (most) html pages.

Heads up tho: in many pages this has been replaced by the html/tail template.

  • html_expire_note β€” this message explains what happens to archive/remove-able bugs, fr fr.

and that's the whole page, bestie πŸ’– you just read Debbugs::Config(3pm) β€” perl v5.40.1, dated 2026-04-27, courtesy of the User Contributed Perl Documentation crew. go configure something iconic 🫢✨

πŸ“¦ where this page comes from