]> git.decadent.org.uk Git - dak.git/blob - docs/README.config
2004-02-27 Martin Michlmayr <tbm@cyrius.com> * docs/README.config: lots of updates...
[dak.git] / docs / README.config
1 Explanation of configuration files options for katie
2 ====================================================
3
4 DB
5 --
6
7 Essential.  List of database details, e.g.
8
9 | DB
10 | {
11 |   Name "projectb";
12 |   Host ""; 
13 |   Port -1;
14 | };
15
16 Name (required): The name of the PostgreSQL database which has been created
17 for katie.
18
19 Host (required): The name of the host on which the database is located.  If
20 the database is local, Host should be blank.
21
22 Port (required): The port of the database.  If the port is the default
23 value (5432), this option should be set to -1.
24
25 ================================================================================
26
27 Dir
28 ---
29
30 Mandatory.  List of directory locations, e.g.
31
32 | Dir
33 | {
34 |   Root "/org/ftp.debian.org/ftp/";
35 |   Pool "/org/ftp.debian.org/ftp/pool/";
36 |   Templates "/org/ftp.debian.org/katie/templates/";
37 |   PoolRoot "pool/";
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 |   AcceptedAutoBuild "/org/incoming.debian.org/buildd/";
44 |   UrgencyLog "/org/ftp.debian.org/testing/urgencies/";
45 |   Queue
46 |   {  
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/";
54 |   };
55 | };
56
57 Root (required): Specifies the path of the root of the FTP archive.
58
59 Pool (required): This variable specifies the path of the pool directory.
60 Debian packages will be placed in the pool by kelly after they have been
61 accepted by jennifer.
62
63 Templates (required): katie sends various mails and uses templates from
64 this directory.
65
66 PoolRoot (required): This variable specifies the basename of the pool
67 directory.
68
69 Override (optional): This directory optionally stores override files (used
70 by denise).
71
72 Lists (optional): This directory holds file lists used by apt-ftparchive to
73 generate Packages and Sources files (used by jenna).
74
75 Log (required): Log files are put in this directory.
76
77 Morgue (required): Removed files are moved there.  The morgue has various
78 sub-directories, including (optionally) those defined by
79 Shania::MorgueSubDir and Rhona::MorgueSubDir.
80
81 MorgueReject (required): if katie cannot move a rejected package to
82 Dir::Queue::Reject, it will try to move it to the Dir::MorgueReject
83 directory located under Dir::Morgue.
84
85 AcceptedAutoBuild (optional): This variable is only relevant if any suites
86 are to be auto built, i.e. if Dinstall::AcceptedAutoBuildSuites has any
87 values.
88
89 UrgencyLog (optional): If this directory is specified, kelly will store the
90 urgency value of each upload.  This is mainly used for britney (the testing
91 script).
92
93 Queue (required): This sub-tree defines important directories for the
94 incoming queue.  The following variables have to be set: Accepted, Byhand
95 Done, Holding, New, Reject, Unchecked.  An explanation of the function of
96 these directores can be found in README.new-incoming.
97
98 ================================================================================
99
100 Suite
101 -----
102
103 Mandatory.  List of all suites, e.g. 
104
105 | Suite
106 | {
107 |   Unstable
108 |   {
109 |       Components 
110 |       {
111 |         main;
112 |       };
113 |       Architectures 
114 |       {
115 |         source; 
116 |         all;
117 |         i386;
118 |       };
119 |       Announce "debian-devel-changes@lists.debian.org";
120 |       Origin "Debian";
121 |       Description "Debian Unstable - Not Released";
122 |       CodeName "sid";
123 |       OverrideCodeName "sid";
124 |       Priority "5";
125 |   };
126 | };
127
128 Announce (optional): controls where "Installed foo" mails are sent.
129
130 CodeName, Origin and Description (optional): This settings are used by ziyi
131 and put in the Release files.
132
133 OverrideCodeName (optional): used by Denise.
134
135 Priority (optional) determines which suite is used for the Maintainers file
136 as generated by charisma/da_mkmaintainers (highest wins).
137
138 CopyChanges (optional): if this variable is present it should be a path
139 into the archive (i.e. "Dir::RootDir"); any upload targeted for a suite
140 with this config option present will have the .changes file copied into
141 that path.
142
143 CopyKatie (optional): if this is present it should be an absolute path; any
144 upload targeted for a suite with this config option present will have the
145 .katie file copied into that path.  This option is similar to CopyChanges
146 and will most often be used with it; they're seperate because .changes
147 files are mirrored and .katie files aren't, so the paths will usually be
148 different.
149
150 There are more optional variables, such as VersionChecks.  Please see
151 katie.conf for examples.
152
153 ================================================================================
154
155 SuiteMappings
156 -------------
157
158 Optional.  List of mappings for the Distribution file in a .changes file, e.g.:
159
160 | SuiteMappings
161 | {
162 |    "map stable proposed-updates";
163 |    "map frozen unstable";
164 |    "map-unreleased stable unstable";
165 |    "map-unreleased proposed-updates unstable";
166 |    "ignore testing";
167 | };
168
169 There are three mapping types:
170
171 (1) map <source> <dest>
172
173       Any target suite of '<source>' is unconditionally overriden to
174       '<dest>'.
175
176 (2) map-unreleased <source> <dest>
177
178       Any upload targeted for suite '<source>' will be mapped to
179       '<dest>' iff it contains uploads for an architecture that is not
180       part of '<source>'.
181
182 (3) ignore <suite>
183
184       Any target suite of '<suite>' is unconditionally removed from
185       the list of target suites.  NB: if the upload had only one
186       target suite this will lead to rejection.
187
188 NB: ordering is not guaranteed.
189
190 ================================================================================
191
192 Dinstall
193 --------
194
195 Mandatory.  List of dinstall options, e.g.:
196
197 | Dinstall
198 | {
199 |    PGPKeyring "/org/keyring.debian.org/keyrings/debian-keyring.pgp";
200 |    GPGKeyring "/org/keyring.debian.org/keyrings/debian-keyring.gpg";
201 |    SigningKeyring "/org/ftp.debian.org/s3kr1t/dot-gnupg/secring.gpg";
202 |    SendmailCommand "/usr/sbin/sendmail -odq -oi -t";
203 |    MyEmailAddress "Debian Installer <installer@ftp-master.debian.org>";
204 |    MyAdminAddress "ftpmaster@debian.org";
205 |    MyHost "debian.org";  // used for generating user@my_host addresses in e.g. manual_reject()
206 |    MyDistribution "Debian";
207 |    BugServer "bugs.debian.org";
208 |    PackagesServer "packages.debian.org";
209 |    TrackingServer "packages.qa.debian.org";
210 |    LockFile "/org/ftp.debian.org/katie/lock";
211 |    Bcc "archive@ftp-master.debian.org";
212 |    GroupOverrideFilename "override.group-maint";
213 |    FutureTimeTravelGrace 28800; // 8 hours
214 |    PastCutoffYear "1984";
215 |    BXANotify "false";
216 |    AcceptedAutoBuildSuites
217 |    {
218 |      unstable;
219 |    };
220 | };
221
222 PGPKeyring and GPGKeyring (required): filenames of the PGP and GnuPG
223 keyrings to be used by katie respectively.
224
225 SigningKeyring (optional): this is the private keyring used by ziyi.
226
227 SendmailCommand (required): command to call the MTA.
228
229 MyEmailAddress (required): this is used as the From: line for sending mails
230 as a script/daemon.
231
232 MyAdminAddress (required): used as a contact address in mails.
233
234 MyDistribution (required): this variable is used in emails sent out by
235 katie and others.  It should indicate the name of the distribution.
236
237 BugServer (required): is used by katie and melanie when closing bugs.
238
239 PackagesServer (requried): used by melanie when carbon-copying a bug close
240 mail to a package maintainer.
241
242 TrackingServer (optional): used by katie and melanie to send messages for
243 the maintainer also to an alias for people tracking a specific source
244 package.
245
246 LockFile (required): contains the filename of the lockfile used by dinstall
247 when in action mode (i.e. not using -n/--no-action).
248
249 All sent mail is blind carbon copied to the email address in Bcc if it's
250 not blank.
251
252 GroupOverrideFilename (optional): this is the override file which contains
253 the list of email addresses which, if part of the Maintainer field, cause
254 uploads to always be treated as maintainer uploads.
255
256 FutureTimeTravelGrace (required): specifies how many seconds into the
257 future timestamps are allowed to be inside a deb before being rejected.
258
259 PastCutoffYear (required): specifies the cut-off year which is used when
260 deciding whether or not to reject packages based on the file timestamp.
261
262 BXANotify (optional): a boolean (default: no); if true (Debian-specific)
263 BXA notification is sent.  The template for the BXA notification is located
264 in Dir::Templates/lisa.bxa_notification and should be changed if this
265 option is set.
266
267 OverrideDisparityCheck (optional): a boolean (default: no); if true,
268 jennifer compares an uploads section/priority with the overrides and whines
269 at the maintainer if they differ.
270
271 CloseBugs (optional): a boolean (default: no); if true the automated bug
272 closing feature of dinstall is activated.
273
274 AcceptedAutoBuildSuites (optional): a list of suites which should be auto
275 build.
276
277 SpecialAcceptedAutoBuild is a boolean; if true it activates support
278 for auto-building from accepted.
279
280 OverrideMaintainer (optional): be used to globally override the
281 __MAINTAINER_TO__ and __MAINTAINER_FROM__ variables in template mails.
282 Use with caution.
283
284 SkipTime (required): an integer value which is the number of seconds that a
285 file must be older than (via it's last modified timestamp) before jennifer
286 will REJECT rather than SKIP the package.
287
288 ================================================================================
289
290 Archive
291 -------
292
293 Mandatory.  List of all archives, e.g.
294
295 | Archive
296 | {
297 |   ftp-master
298 |   {
299 |     OriginServer "ftp-master.debian.org";
300 |     PrimaryMirror "ftp.debian.org";
301 |     Description "Master Archive for the Debian project";
302 |   };
303 | };
304
305 OriginServer and PrimaryMirror (required): used melanie's bug closing mail
306 templates.  The host name and it's OriginServer and Description are part of
307 the SQL database in the 'archive' table.
308
309 ================================================================================
310
311 Architectures
312 -------------
313
314 Mandatory.  List of all architectures, e.g.
315
316 | Architectures
317 | {
318 |   source "Source";
319 |   all    "Architecture Independent";
320 |   i386   "Intel ia32";
321 | };
322
323 Both values go into the SQL database's 'architecture' table.
324 The description is currently unused.
325
326 ================================================================================
327
328 Component
329 ---------
330
331 Mandatory.  List of all components, e.g.
332
333 | Component
334 | {
335 |   main
336 |   {
337 |       Description "Main";
338 |       MeetsDFSG "true";
339 |   };
340 | };
341
342 All three values go into the SQL database's 'component' table.
343 MeetsDFSG is currently unused.
344
345 ================================================================================
346
347 Section
348 -------
349
350 Mandatory.  List of all valid sections, e.g.
351
352 | Section
353 | {
354 |   base;
355 | };
356
357 The section goes into the 'section' table in SQL database.
358
359 ================================================================================
360
361 Priority
362 --------
363
364 Mandatory.  List of all valid priorities, e.g.
365
366 | Priority
367 | {
368 |   required 1;
369 |   important 2;
370 |   standard 3;
371 |   optional 4;
372 |   extra 5;
373 |   source 0; // i.e. unused
374 | };
375
376 The value is the sorting key.  Both the section and it's sorting key
377 go into the SQL database's 'priority' table.
378
379 ================================================================================
380
381 OverrideType
382 ------------
383
384 Mandatory.  List of al valid override types, e.g.
385
386 | OverrideType
387 | {
388 |   deb;
389 |   dsc;
390 |   udeb;
391 | };
392
393 The type goes into the 'override_type' table in the SQL database.
394
395 ================================================================================
396
397 Location
398 --------
399
400 Mandatory.  List all locations, e.g.
401
402 | Location
403 | {
404 |   /org/ftp.debian.org/ftp/pool/
405 |     {
406 |       Archive "ftp-master";
407 |       Type "pool";
408 |     };
409 | };
410
411 There are three types: 'legacy', 'legacy-mixed' and 'pool'.  'legacy'
412 and 'pool' are assumed to have sections for all components listed in
413 the Components section 'legacy-mixed' are assumed to mix all
414 components into one location.  The Archive and Type sections go into
415 the SQL database's 'location' table.
416
417 Note that the archive value specified here must correspond to one defined
418 in Archive.
419
420 [Note: yes, this is horrible, it dates back to the original `import
421        the existent archive into the SQL Database' script (neve) and
422        isn't otherwise used.  It should be revisted at some stage.]
423
424 ================================================================================
425
426 Urgency
427 -------
428
429 Mandatory.
430
431 | Urgency
432 | {
433 |   Default "low";
434 |   Valid
435 |   {
436 |     low;
437 |     medium;
438 |     high;
439 |     emergency;
440 |     critical;
441 |   };
442 | };
443
444 This defines the valid and default urgency of an upload.  If a package is
445 uploaded with an urgency not listed here, it will be rejected.
446
447 ================================================================================
448
449 -- 
450 James Troup <james@nocrew.org>, Horsforth, Leeds
451 Wed, 26 Sep 2001 03:20:39 +0100