1 Explanation of configuration files options for dak
2 ==================================================
7 Essential. List of database details, e.g.
16 Name (required): The name of the PostgreSQL database which has been created
19 Host (required): The name of the host on which the database is located. If
20 the database is local, Host should be blank.
22 Port (required): The port of the database. If the port is the default
23 value (5432), this option should be set to -1.
25 ================================================================================
30 Mandatory. List of directory locations, e.g.
34 | Root "/org/ftp.debian.org/ftp/";
35 | Pool "/org/ftp.debian.org/ftp/pool/";
36 | Templates "/org/ftp.debian.org/dak/templates/";
38 | Override "/org/ftp.debian.org/scripts/override/";
39 | Lists "/org/ftp.debian.org/database/dists/";
40 | Log "/org/ftp.debian.org/log/";
41 | Morgue "/org/ftp.debian.org/morgue/";
42 | QueueBuild "/org/incoming.debian.org/buildd/";
43 | UrgencyLog "/org/ftp.debian.org/testing/urgencies/";
46 | Accepted "/org/ftp.debian.org/queue/accepted/";
47 | Byhand "/org/ftp.debian.org/queue/byhand/";
48 | Done "/org/ftp.debian.org/queue/done/";
49 | Holding "/org/ftp.debian.org/queue/holding/";
50 | New "/org/ftp.debian.org/queue/new/";
51 | Reject "/org/ftp.debian.org/queue/reject/";
52 | Unchecked "/org/ftp.debian.org/queue/unchecked/";
56 Root (required): Specifies the path of the root of the FTP archive.
58 Pool (required): This variable specifies the path of the pool
59 directory. Debian packages will be placed in the pool by 'dak
60 process-accepted' after they have been accepted by dak
63 Templates (required): dak sends various mails and uses templates from
66 PoolRoot (required): This variable specifies the basename of the pool
69 Override (optional): This directory optionally stores override files (used
70 by 'dak make-overrides').
72 Lists (optional): This directory holds file lists used by apt-ftparchive to
73 generate Packages and Sources files (used by 'dak make-suite-file-list').
75 Log (required): Log files are put in this directory.
77 Morgue (required): Removed files are moved there. The morgue has various
78 sub-directories, including (optionally) those defined by
79 Clean-Queues::MorgueSubDir and Clean-Suites::MorgueSubDir.
81 UrgencyLog (optional): If this directory is specified, 'dak
82 process-accepted' will store the urgency value of each upload. This
83 is mainly used for britney (the testing script).
85 Queue (required): This sub-tree defines important directories for the
86 incoming queue. The following variables have to be set: Accepted, Byhand
87 Done, Holding, New, Reject, Unchecked. An explanation of the function of
88 these directores can be found in README.new-incoming.
90 Queue::BTSVersionTrack (optional): this directory holds the DebBugs
91 Version Tracking support files.
93 ================================================================================
98 Mandatory. List of all suites, e.g.
114 | Announce "debian-devel-changes@lists.debian.org";
116 | Description "Debian Unstable - Not Released";
118 | OverrideCodeName "sid";
123 Announce (optional): controls where "Installed foo" mails are sent.
125 CodeName, Origin and Description (optional): This settings are used by
126 'dak generate-releases' and put in the Release files.
128 OverrideCodeName (optional): used by 'dak make-overrides'.
130 Priority (optional) determines which suite is used for the Maintainers file
131 as generated by 'dak make-maintainers' (highest wins).
133 CopyChanges (optional): if this variable is present it should be a path
134 into the archive (i.e. "Dir::RootDir"); any upload targeted for a suite
135 with this config option present will have the .changes file copied into
138 CopyDotDak (optional): if this is present it should be an absolute path; any
139 upload targeted for a suite with this config option present will have the
140 .dak file copied into that path. This option is similar to CopyChanges
141 and will most often be used with it; they're seperate because .changes
142 files are mirrored and .dak files aren't, so the paths will usually be
145 There are more optional variables, such as VersionChecks. Please see
146 dak.conf for examples.
148 ================================================================================
153 Optional. List of mappings for the Distribution file in a .changes file, e.g.:
157 | "map stable proposed-updates";
158 | "map frozen unstable";
159 | "map-unreleased stable unstable";
160 | "map-unreleased proposed-updates unstable";
164 There are three mapping types:
166 (1) map <source> <dest>
168 Any target suite of '<source>' is unconditionally overriden to
171 (2) map-unreleased <source> <dest>
173 Any upload targeted for suite '<source>' will be mapped to
174 '<dest>' iff it contains uploads for an architecture that is not
179 Any target suite of '<suite>' is unconditionally removed from
180 the list of target suites. NB: if the upload had only one
181 target suite this will lead to rejection.
183 NB: ordering is not guaranteed.
185 ================================================================================
190 Mandatory. List of dinstall options, e.g.:
194 | SigningKeyring "/org/ftp.debian.org/s3kr1t/dot-gnupg/secring.gpg";
195 | SendmailCommand "/usr/sbin/sendmail -odq -oi -t";
196 | MyEmailAddress "Debian Installer <installer@ftp-master.debian.org>";
197 | MyAdminAddress "ftpmaster@debian.org";
198 | MyDistribution "Debian";
199 | BugServer "bugs.debian.org";
200 | PackagesServer "packages.debian.org";
201 | TrackingServer "packages.qa.debian.org";
202 | LockFile "/org/ftp.debian.org/dak/lock";
203 | Bcc "archive@ftp-master.debian.org";
204 | FutureTimeTravelGrace 28800; // 8 hours
205 | PastCutoffYear "1984";
209 SigningKeyring (optional): this is the private keyring used by 'dak
212 SendmailCommand (required): command to call the MTA.
214 MyEmailAddress (required): this is used as the From: line for sending mails
217 MyAdminAddress (required): used as a contact address in mails.
219 MyDistribution (required): this variable is used in emails sent out by
220 dak and others. It should indicate the name of the distribution.
222 BugServer (required): is used by 'dak process-unchecked' and 'dak rm'
225 PackagesServer (required): used by 'dak rm' and 'dak override' when
226 carbon-copying a bug close mail to a package maintainer.
228 TrackingServer (optional): used by 'dak process-unchecked' and 'dak
229 rm' to send messages for the maintainer also to an alias for people
230 tracking a specific source package.
232 LockFile (required): contains the filename of the lockfile used by dinstall
233 when in action mode (i.e. not using -n/--no-action).
235 All sent mail is blind carbon copied to the email address in Bcc if it's
238 FutureTimeTravelGrace (required): specifies how many seconds into the
239 future timestamps are allowed to be inside a deb before being rejected.
241 PastCutoffYear (required): specifies the cut-off year which is used when
242 deciding whether or not to reject packages based on the file timestamp.
244 BXANotify (optional): a boolean (default: no); if true (Debian-specific)
245 BXA notification is sent. The template for the BXA notification is located
246 in Dir::Templates/process-new.bxa_notification and should be changed if this
249 OverrideDisparityCheck (optional): a boolean (default: no); if true,
250 dak process-unchecked compares an uploads section/priority with the overrides and whines
251 at the maintainer if they differ.
253 CloseBugs (optional): a boolean (default: no); if true the automated bug
254 closing feature of dinstall is activated.
256 QueueBuild is a boolean; if true it activates support
257 for auto-building from accepted.
259 OverrideMaintainer (optional): be used to globally override the
260 __MAINTAINER_TO__ and __MAINTAINER_FROM__ variables in template mails.
263 SkipTime (required): an integer value which is the number of seconds that a
264 file must be older than (via it's last modified timestamp) before dak process-unchecked
265 will REJECT rather than SKIP the package.
267 KeyAutoFetch (optional): boolean (default: false), which if set (and
268 not overriden by explicit argument to check_signature()) will enable
269 auto key retrieval. Requires KeyServer and SigningKeyIds variables be
270 set. NB: you should only enable this variable on production systems
271 if you have strict control of your upload queue.
273 KeyServer (optional): keyserver used for key auto-retrieval
276 ================================================================================
281 Mandatory. List of all archives, e.g.
287 | OriginServer "ftp-master.debian.org";
288 | PrimaryMirror "ftp.debian.org";
289 | Description "Master Archive for the Debian project";
293 OriginServer and PrimaryMirror (required): used 'dak rm's bug closing mail
294 templates. The host name and it's OriginServer and Description are part of
295 the SQL database in the 'archive' table.
297 ================================================================================
302 Mandatory. List of all architectures, e.g.
307 | all "Architecture Independent";
311 Both values go into the SQL database's 'architecture' table.
312 The description is currently unused.
314 ================================================================================
319 Mandatory. List of all valid sections, e.g.
326 The section goes into the 'section' table in SQL database.
328 ================================================================================
333 Mandatory. List of all valid priorities, e.g.
342 | source 0; // i.e. unused
345 The value is the sorting key. Both the section and it's sorting key
346 go into the SQL database's 'priority' table.
348 ================================================================================
353 Mandatory. List all locations, e.g.
357 | /org/ftp.debian.org/ftp/pool/
359 | Archive "ftp-master";
369 There are three valid values for 'Type': 'legacy', 'legacy-mixed' and
370 'pool'. 'legacy' and 'pool' are assumed to have sections for all
371 components listed in the Components section 'legacy-mixed' are assumed
372 to mix all components into one location. The 'Archive' and 'Type'
373 sections go into the SQL database's 'location' table. 'Suites' is a
374 list of existent suites that should be used to populate the SQL
377 Note that the archive value specified here must correspond to one defined
380 [Note: yes, this is horrible, it dates back to the original `import
381 the existent archive into the SQL Database' script ('dak import-archive') and
382 isn't otherwise used. It should be revisted at some stage.]
384 ================================================================================
404 This defines the valid and default urgency of an upload. If a package is
405 uploaded with an urgency not listed here, it will be rejected.
407 ================================================================================