1 ///////////////////////////////////////////////////////////
2 // Example annotated configuration file for dak
3 ///////////////////////////////////////////////////////////
5 ///////////////////////////////////////////////////////////
7 ///////////////////////////////////////////////////////////
10 //// ThreadCount (optional): Maximum number of threads to use. Defaults to 1
14 ///////////////////////////////////////////////////////////
15 // Essential. List of database details.
16 ///////////////////////////////////////////////////////////
19 //// Name (required): The name of the PostgreSQL database which has been
23 //// Host (optional): The name of the host on which the database is located.
24 //// Not necessary if the the database is local.
27 //// Port (optional): The port of the database if it is remote. If the port
28 //// is the default value (5432), this option can be set to -1.
31 //// PoolSize (optional): should be at least ThreadCount + 1
34 //// MaxOverflow (optional): shouldn't exceed postgresql.conf's
35 //// max_connections - PoolSize
38 //// Unicode (optional but seriously suggested). Should be false for
39 //// encoding == SQL_ASCII which is highly recommended. Do not set this to
40 //// anything else unless you really know what you're doing.
44 ///////////////////////////////////////////////////////////
45 // Dinstall general settings
46 ///////////////////////////////////////////////////////////
49 //// SigningKeyring (optional): this is the private keyring used by
50 //// 'dak generate-releases'.
51 SigningKeyring "/srv/dak/s3kr1t/dot-gnupg/secring.gpg";
53 //// SigningPubKeyring (optional): this is the public keyring used by
54 //// 'dak generate-releases'.
55 SigningPubKeyring "/srv/dak/s3kr1t/dot-gnupg/pubring.gpg";
57 //// Options::No-Mail (optional): Highly recommended. This prevents dak
58 //// from spamming people you didn't mean it to. If you're not using this,
59 //// you almost certainly want to use the MailWhiteList option
60 Options::No-Mail "true";
62 //// MailWhiteList (optional). If you're not using No-Mail, this provides
63 //// a list of email addresses or regular expressions, one per line which
64 //// dak is allowed to email. Regular expressions need to be prefixed by "RE:".
65 //// Examples: "jane.doe@domain.com" or "RE:jane[^@]@domain.com", where the first will
66 //// only allow to mail jane.doe@domain.com while the second will mail all of jane*@domain.com
67 //// MailWhiteList "/some/path/to/a/file";
69 //// SendmailCommand (required unless No-Mail is set): command to call the MTA.
70 // SendmailCommand "/usr/sbin/sendmail -oi -t";
72 //// MyEmailAddress (required): this is used as the From: line for sending mails
73 //// as a script/daemon.
74 MyEmailAddress "FTP Masters <ftpmaster@example.org>";
76 //// MyAdminAddress (required): used as a contact address in mails.
77 MyAdminAddress "ftpmaster@example.org";
79 //// MyDistribution (required): this variable is used in emails sent out by
80 //// dak and others. It should indicate the name of the distribution.
81 MyDistribution "MyDistro";
83 //// BugServer (optional): is used by 'dak process-upload' and 'dak rm'
84 //// when closing bugs.
85 // BugServer "bugs.example.org";
87 //// CloseBugs (optional): a boolean (default: no); if true the automated bug
88 //// closing feature of dinstall is activated. Must have BugServer set
89 //// for this to work.
92 //// PackagesServer (optional): used by 'dak rm' and 'dak override' when
93 //// carbon-copying a bug close mail to a package maintainer.
94 // PackagesServer "packages.example.org";
96 //// TrackingServer (optional): used by 'dak process-upload' and 'dak
97 //// rm' to send messages for the maintainer also to an alias for people
98 //// tracking a specific source package.
99 // TrackingServer "packages.qa.example.org";
101 //// All sent mail is blind carbon copied to the email address in Bcc if it's
103 // Bcc "archive@example.org";
105 //// BXANotify (optional): a boolean (default: false); if true (Debian-specific)
106 //// BXA notification is sent. The template for the BXA notification is located
107 //// in Dir::Templates/process-new.bxa_notification and should be changed if this
111 //// FutureTimeTravelGrace (optional): specifies how many seconds into the
112 //// future timestamps are allowed to be inside a deb before being rejected.
113 //// Defaults to 86400 (24 hours) if not specified.
114 FutureTimeTravelGrace 86400;
116 //// PastCutoffYear (optional): specifies the cut-off year which is used when
117 //// deciding whether or not to reject packages based on the file timestamp.
118 //// Defaults to "1975" if not specified.
119 PastCutoffYear "1975";
121 //// SkipTime (required): an integer value which is the number of seconds
122 //// that a file must be older than (via it's last modified timestamp)
123 //// before dak process-upload will REJECT rather than SKIP the package.
126 //// OverrideDisparityCheck (optional): a boolean (default: false); if true,
127 //// dak process-upload compares an uploads section/priority with the overrides and whines
128 //// at the maintainer if they differ.
129 OverrideDisparityCheck "false";
131 //// OverrideMaintainer (optional): be used to globally override the
132 //// __MAINTAINER_TO__ and __MAINTAINER_FROM__ variables in template mails.
133 //// Use with caution.
134 // OverrideMaintainer "";
136 //// DefaultSuite (optional): which suite to default to where one isn't
137 //// specified. Defaults to "unstable" if not set.
138 // DefaultSuite "unstable";
140 //// LintianTags (optional): A set of lintian tags on which to reject
141 //// packages at upload time. Format is a YAML file; see the ftp-master
142 //// version for an example.
143 // LintianTags "/srv/dak/dak/config/debian/lintian.tags";
145 //// ReleaseTransitions (optional): YAML File for blocking uploads to unstable
146 // ReleaseTransitions "/srv/dak/web/transitions.yaml";
148 //// KeyAutoFetch (optional): boolean (default: false), which if set (and
149 //// not overriden by explicit argument to check_signature()) will enable
150 //// auto key retrieval. Requires KeyServer variable be
151 //// set. NB: you should only enable this variable on production systems
152 //// if you have strict control of your upload queue.
153 // KeyAutoFetch "false";
155 //// KeyServer (optional): keyserver used for key auto-retrieval
156 //// (c.f. KeyAutoFetch).
157 // KeyServer "wwwkeys.eu.pgp.net";
161 ///////////////////////////////////////////////////////////
162 // Dir (mandatory). List of directory locations, e.g.
163 ///////////////////////////////////////////////////////////
166 //// Root (required): Specifies the path of the root of the FTP archive.
167 Root "/srv/dak/ftp/";
169 //// Pool (required): This variable specifies the path of the pool
170 //// directory. Debian packages will be placed in the pool by
171 //// 'dak process-upload'
172 Pool "/srv/dak/ftp/pool/";
174 //// Templates (required): dak sends various mails and uses templates from
176 Templates "/srv/dak/dak/templates/";
178 //// Override (optional): This directory optionally stores override files (used
179 //// by 'dak make-overrides').
180 // Override "/src/dak/scripts/override/";
182 //// Lists (optional): This directory holds file lists used by apt-ftparchive to
183 //// generate Packages and Sources files (used by 'dak make-suite-file-list').
184 //// Deprecated in favour of use of generate-packages-sources2
185 // Lists "/srv/dak/database/dists/";
187 //// Log (required): Directory to store dak logs in
190 //// Lock directory (required): Directory to store dak locks in
191 Lock "/srv/dak/lock/";
193 //// Morgue (required): Removed files are moved there. The morgue has various
194 //// sub-directories, including (optionally) those defined by
195 //// Clean-Queues::MorgueSubDir and Clean-Suites::MorgueSubDir.
196 Morgue "/srv/dak/morgue/";
198 //// UrgencyLog (optional): If this directory is specified, 'dak
199 //// process-upload' will store the urgency value of each upload. This
200 //// is mainly used for britney (the testing script).
201 // UrgencyLog "/srv/dak/testing/urgencies/";
203 //// Holding (required): Directory to use for temporary storage during
205 Holding "/srv/dak/queue/holding/";
207 //// Done (required): Directory in which to store processed .changes files
208 Done "/srv/dak/queue/done/";
210 //// BTSVersionTrack (optional): this directory holds the DebBugs
211 //// Version Tracking support files.
212 // BTSVersionTrack "/srv/dak/btsversiontrack";
214 //// Queue (required): This sub-tree defines important directories for the
215 //// incoming queue. The following variables have to be set: Byhand, New
216 //// NewStage, Reject, Unchecked. An explanation of the function of
217 //// these directores can be found in README.new-incoming.
220 Byhand "/srv/dak/queue/byhand/";
221 New "/srv/dak/queue/new/";
222 NewStage "/srv/dak/queue/newstage/";
223 Reject "/srv/dak/queue/reject/";
224 Unchecked "/srv/dak/queue/unchecked/";
228 ///////////////////////////////////////////////////////////
229 // SuiteMappings: (optional). List of mappings for the Distribution file in a
230 // .changes file, e.g.:
231 ///////////////////////////////////////////////////////////
233 // There are three mapping types:
235 // (1) map <source> <dest>
236 // Any target suite of '<source>' is unconditionally overriden to '<dest>'.
237 // (2) map-unreleased <source> <dest>
238 // Any upload targeted for suite '<source>' will be mapped to '<dest>' iff it
239 // contains uploads for an architecture that is not part of '<source>'.
240 // (3) ignore <suite>
241 // Any target suite of '<suite>' is unconditionally removed from the list of
242 // target suites. NB: if the upload had only one target suite this will lead
247 "map stable proposed-updates";
248 "map frozen unstable";
249 "map-unreleased stable unstable";
250 "map-unreleased proposed-updates unstable";
254 ///////////////////////////////////////////////////////////
255 // Urgency (mandatory) This defines the valid and default urgency of an upload.
256 // If a package is uploaded with an urgency not listed here, it will be
258 ///////////////////////////////////////////////////////////