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 | MorgueReject "reject";
43 | QueueBuild "/org/incoming.debian.org/buildd/";
44 | UrgencyLog "/org/ftp.debian.org/testing/urgencies/";
47 | Accepted "/org/ftp.debian.org/queue/accepted/";
48 | Byhand "/org/ftp.debian.org/queue/byhand/";
49 | Done "/org/ftp.debian.org/queue/done/";
50 | Holding "/org/ftp.debian.org/queue/holding/";
51 | New "/org/ftp.debian.org/queue/new/";
52 | Reject "/org/ftp.debian.org/queue/reject/";
53 | Unchecked "/org/ftp.debian.org/queue/unchecked/";
57 Root (required): Specifies the path of the root of the FTP archive.
59 Pool (required): This variable specifies the path of the pool
60 directory. Debian packages will be placed in the pool by 'dak
61 process-accepted' after they have been accepted by dak
64 Templates (required): dak sends various mails and uses templates from
67 PoolRoot (required): This variable specifies the basename of the pool
70 Override (optional): This directory optionally stores override files (used
71 by 'dak make-overrides').
73 Lists (optional): This directory holds file lists used by apt-ftparchive to
74 generate Packages and Sources files (used by 'dak make-suite-file-list').
76 Log (required): Log files are put in this directory.
78 Morgue (required): Removed files are moved there. The morgue has various
79 sub-directories, including (optionally) those defined by
80 Clean-Queues::MorgueSubDir and Clean-Suites::MorgueSubDir.
82 MorgueReject (required): if dak cannot move a rejected package to
83 Dir::Queue::Reject, it will try to move it to the Dir::MorgueReject
84 directory located under Dir::Morgue.
86 QueueBuild (optional): This variable is only relevant if any suites
87 are to be auto built, i.e. if Dinstall::QueueBuildSuites has any
90 UrgencyLog (optional): If this directory is specified, 'dak
91 process-accepted' will store the urgency value of each upload. This
92 is mainly used for britney (the testing script).
94 Queue (required): This sub-tree defines important directories for the
95 incoming queue. The following variables have to be set: Accepted, Byhand
96 Done, Holding, New, Reject, Unchecked. An explanation of the function of
97 these directores can be found in README.new-incoming.
99 Queue::BTSVersionTrack (optional): this directory holds the DebBugs
100 Version Tracking support files.
102 ================================================================================
107 Mandatory. List of all suites, e.g.
123 | Announce "debian-devel-changes@lists.debian.org";
125 | Description "Debian Unstable - Not Released";
127 | OverrideCodeName "sid";
132 Announce (optional): controls where "Installed foo" mails are sent.
134 CodeName, Origin and Description (optional): This settings are used by
135 'dak generate-releases' and put in the Release files.
137 OverrideCodeName (optional): used by 'dak make-overrides'.
139 Priority (optional) determines which suite is used for the Maintainers file
140 as generated by 'dak make-maintainers' (highest wins).
142 CopyChanges (optional): if this variable is present it should be a path
143 into the archive (i.e. "Dir::RootDir"); any upload targeted for a suite
144 with this config option present will have the .changes file copied into
147 CopyDotDak (optional): if this is present it should be an absolute path; any
148 upload targeted for a suite with this config option present will have the
149 .dak file copied into that path. This option is similar to CopyChanges
150 and will most often be used with it; they're seperate because .changes
151 files are mirrored and .dak files aren't, so the paths will usually be
154 There are more optional variables, such as VersionChecks. Please see
155 dak.conf for examples.
157 ================================================================================
162 Optional. List of mappings for the Distribution file in a .changes file, e.g.:
166 | "map stable proposed-updates";
167 | "map frozen unstable";
168 | "map-unreleased stable unstable";
169 | "map-unreleased proposed-updates unstable";
173 There are three mapping types:
175 (1) map <source> <dest>
177 Any target suite of '<source>' is unconditionally overriden to
180 (2) map-unreleased <source> <dest>
182 Any upload targeted for suite '<source>' will be mapped to
183 '<dest>' iff it contains uploads for an architecture that is not
188 Any target suite of '<suite>' is unconditionally removed from
189 the list of target suites. NB: if the upload had only one
190 target suite this will lead to rejection.
192 NB: ordering is not guaranteed.
194 ================================================================================
199 Mandatory. List of dinstall options, e.g.:
204 | "/org/keyring.debian.org/keyrings/debian-keyring.gpg";
205 | "/org/keyring.debian.org/keyrings/debian-keyring.pgp";
207 | SigningKeyring "/org/ftp.debian.org/s3kr1t/dot-gnupg/secring.gpg";
208 | SendmailCommand "/usr/sbin/sendmail -odq -oi -t";
209 | MyEmailAddress "Debian Installer <installer@ftp-master.debian.org>";
210 | MyAdminAddress "ftpmaster@debian.org";
211 | MyHost "debian.org"; // used for generating user@my_host addresses in e.g. manual_reject()
212 | MyDistribution "Debian";
213 | BugServer "bugs.debian.org";
214 | PackagesServer "packages.debian.org";
215 | TrackingServer "packages.qa.debian.org";
216 | LockFile "/org/ftp.debian.org/dak/lock";
217 | Bcc "archive@ftp-master.debian.org";
218 | FutureTimeTravelGrace 28800; // 8 hours
219 | PastCutoffYear "1984";
227 GPGKeyring (required): filenames of the PGP and GnuPG
228 keyrings to be used by dak.
230 SigningKeyring (optional): this is the private keyring used by 'dak
233 SendmailCommand (required): command to call the MTA.
235 MyEmailAddress (required): this is used as the From: line for sending mails
238 MyAdminAddress (required): used as a contact address in mails.
240 MyDistribution (required): this variable is used in emails sent out by
241 dak and others. It should indicate the name of the distribution.
243 BugServer (required): is used by 'dak process-unchecked' and 'dak rm'
246 PackagesServer (requried): used by 'dak rm' when carbon-copying a bug
247 close mail to a package maintainer.
249 TrackingServer (optional): used by 'dak process-unchecked' and 'dak
250 rm' to send messages for the maintainer also to an alias for people
251 tracking a specific source package.
253 LockFile (required): contains the filename of the lockfile used by dinstall
254 when in action mode (i.e. not using -n/--no-action).
256 All sent mail is blind carbon copied to the email address in Bcc if it's
259 FutureTimeTravelGrace (required): specifies how many seconds into the
260 future timestamps are allowed to be inside a deb before being rejected.
262 PastCutoffYear (required): specifies the cut-off year which is used when
263 deciding whether or not to reject packages based on the file timestamp.
265 BXANotify (optional): a boolean (default: no); if true (Debian-specific)
266 BXA notification is sent. The template for the BXA notification is located
267 in Dir::Templates/process-new.bxa_notification and should be changed if this
270 OverrideDisparityCheck (optional): a boolean (default: no); if true,
271 dak process-unchecked compares an uploads section/priority with the overrides and whines
272 at the maintainer if they differ.
274 CloseBugs (optional): a boolean (default: no); if true the automated bug
275 closing feature of dinstall is activated.
277 QueueBuildSuites (optional): a list of suites which should be auto
280 QueueBuild is a boolean; if true it activates support
281 for auto-building from accepted.
283 OverrideMaintainer (optional): be used to globally override the
284 __MAINTAINER_TO__ and __MAINTAINER_FROM__ variables in template mails.
287 SkipTime (required): an integer value which is the number of seconds that a
288 file must be older than (via it's last modified timestamp) before dak process-unchecked
289 will REJECT rather than SKIP the package.
291 KeyAutoFetch (optional): boolean (default: false), which if set (and
292 not overriden by explicit argument to check_signature()) will enable
293 auto key retrieval. Requires KeyServer and SigningKeyIds variables be
294 set. NB: you should only enable this variable on production systems
295 if you have strict control of your upload queue.
297 KeyServer (optional): keyserver used for key auto-retrieval
300 ================================================================================
305 Mandatory. List of all archives, e.g.
311 | OriginServer "ftp-master.debian.org";
312 | PrimaryMirror "ftp.debian.org";
313 | Description "Master Archive for the Debian project";
317 OriginServer and PrimaryMirror (required): used 'dak rm's bug closing mail
318 templates. The host name and it's OriginServer and Description are part of
319 the SQL database in the 'archive' table.
321 ================================================================================
326 Mandatory. List of all architectures, e.g.
331 | all "Architecture Independent";
335 Both values go into the SQL database's 'architecture' table.
336 The description is currently unused.
338 ================================================================================
343 Mandatory. List of all components, e.g.
349 | Description "Main";
354 All three values go into the SQL database's 'component' table.
355 MeetsDFSG is currently unused.
357 ================================================================================
362 Mandatory. List of all valid sections, e.g.
369 The section goes into the 'section' table in SQL database.
371 ================================================================================
376 Mandatory. List of all valid priorities, e.g.
385 | source 0; // i.e. unused
388 The value is the sorting key. Both the section and it's sorting key
389 go into the SQL database's 'priority' table.
391 ================================================================================
396 Mandatory. List of al valid override types, e.g.
405 The type goes into the 'override_type' table in the SQL database.
407 ================================================================================
412 Mandatory. List all locations, e.g.
416 | /org/ftp.debian.org/ftp/pool/
418 | Archive "ftp-master";
428 There are three valid values for 'Type': 'legacy', 'legacy-mixed' and
429 'pool'. 'legacy' and 'pool' are assumed to have sections for all
430 components listed in the Components section 'legacy-mixed' are assumed
431 to mix all components into one location. The 'Archive' and 'Type'
432 sections go into the SQL database's 'location' table. 'Suites' is a
433 list of existent suites that should be used to populate the SQL
436 Note that the archive value specified here must correspond to one defined
439 [Note: yes, this is horrible, it dates back to the original `import
440 the existent archive into the SQL Database' script ('dak import-archive') and
441 isn't otherwise used. It should be revisted at some stage.]
443 ================================================================================
463 This defines the valid and default urgency of an upload. If a package is
464 uploaded with an urgency not listed here, it will be rejected.
466 ================================================================================