]> git.decadent.org.uk Git - dak.git/blob - docs/README.config
sync
[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 If the database is local, Host should be blank.  If the port is the
17 default (5432), it should be set to -1.
18
19 ================================================================================
20
21 Dir
22 ---
23
24 Mandatory.  List of directory locations, e.g.
25
26 | Dir
27 | {
28 |   Root "/org/ftp.debian.org/ftp/";
29 |   Pool "/org/ftp.debian.org/ftp/pool/";
30 |   Templates "/org/ftp.debian.org/katie/templates/";
31 |   PoolRoot "pool/";
32 |   Override "/org/ftp.debian.org/scripts/override/";
33 |   Lists "/org/ftp.debian.org/database/dists/";
34 |   Log "/org/ftp.debian.org/log/";
35 |   Morgue "/org/ftp.debian.org/morgue/";
36 |   Override "/org/ftp.debian.org/scripts/override/";
37 |   AcceptedAutoBuild "/org/incoming.debian.org/buildd/";
38 |   UrgencyLog "/org/ftp.debian.org/testing/urgencies/";
39 |   Queue
40 |   {  
41 |     Root "/org/ftp.debian.org/queue/";
42 |     Accepted "/org/ftp.debian.org/queue/accepted/";
43 |     Byhand "/org/ftp.debian.org/queue/byhand/";
44 |     Done "/org/ftp.debian.org/queue/done/";
45 |     Holding "/org/ftp.debian.org/queue/holding/";
46 |     New "/org/ftp.debian.org/queue/new/";
47 |     Reject "/org/ftp.debian.org/queue/reject/";
48 |     Unchecked "/org/ftp.debian.org/queue/unchecked/";
49 |   };
50 | };
51
52 ================================================================================
53
54 Suite
55 -----
56
57 Mandatory.  List of all suites, e.g. 
58
59 | Suite
60 | {
61 |   Unstable
62 |   {
63 |       Components 
64 |       {
65 |         main "";
66 |       };
67 |       Architectures 
68 |       {
69 |         "source" ""; 
70 |         "all" "";
71 |         "i386" "";
72 |       };
73 |       Announce "debian-devel-changes@lists.debian.org";
74 |       Origin "Debian";
75 |       Description "Debian Unstable - Not Released";
76 |       CodeName "sid";
77 |       OverrideCodeName "sid";
78 |       Priority "5";
79 |   };
80 | };
81
82 Announce controls where "Installed foo" mails are sent; leave empty to
83 not send any.  CodeName, Origin and Description are used by ziyi and
84 put in the Release files.  OverrideCodeName is used by Denise.
85 Priority determines which suite is used for the Maintainers file as
86 generated by charisma/da_mkmaintainers (highest wins).
87
88 If CopyChanges is present it should be a path into the archive
89 (i.e. "Dir::RootDir"); any upload targeted for a suite with this
90 config option present will have the .changes file copied into that
91 path.
92
93 If CopyKatie is present it should be an absolute path; any upload
94 targeted for a suite with this config option present will have the
95 .katie file copied into that path.  This option is similar to
96 CopyChanges and will most often be used with it; they're seperate
97 because .changes files are mirrored and .katie files aren't, so the
98 paths will usually be different.
99
100 ================================================================================
101
102 SuiteMappings
103 -------------
104
105 Optional.  List of mappings for the Distribution file in a .changes file, e.g.:
106
107 | SuiteMappings
108 | {
109 |    "map stable proposed-updates";
110 |    "map frozen unstable";
111 |    "map-unreleased stable unstable";
112 |    "map-unreleased proposed-updates unstable";
113 |    "ignore testing";
114 | };
115
116 There are three mapping types:
117
118 (1) map <source> <dest>
119
120       Any target suite of '<source>' is unconditionally overriden to
121       '<dest>'.
122
123 (2) map-unreleased <source> <dest>
124
125       Any upload targeted for suite '<source>' will be mapped to
126       '<dest>' iff it contains uploads for an architecture that is not
127       part of '<source>'.
128
129 (3) ignore <suite>
130
131       Any target suite of '<suite>' is unconditionally removed from
132       the list of target suites.  NB: if the upload had only one
133       target suite this will lead to rejection.
134
135 NB: ordering is not guaranteed.
136
137 ================================================================================
138
139 Dinstall
140 --------
141
142 Mandatory.  List of dinstall options, e.g.:
143
144 | Dinstall
145 | {
146 |    PGPKeyring "/org/keyring.debian.org/keyrings/debian-keyring.pgp";
147 |    GPGKeyring "/org/keyring.debian.org/keyrings/debian-keyring.gpg";
148 |    SigningKeyring "/org/ftp.debian.org/s3kr1t/dot-gnupg/secring.gpg";
149 |    MyEmailAddress "Debian Installer <installer@ftp-master.debian.org>";
150 |    MyAdminAddress "ftpmaster@debian.org";
151 |    MyHost "debian.org";  // used for generating user@my_host addresses in e.g. manual_reject()
152 |    MyDistribution "Debian";
153 |    BugServer "bugs.debian.org";
154 |    PackagesServer "packages.debian.org";
155 |    TrackingServer "packages.qa.debian.org";
156 |    LockFile "/org/ftp.debian.org/katie/lock";
157 |    Bcc "archive@ftp-master.debian.org";
158 |    GroupOverrideFilename "override.group-maint";
159 |    FutureTimeTravelGrace "8640"; // 6 hours
160 |    PastCutoffYear "1984";
161 |    BXANotify 0;
162 | };
163
164 PGPKeyring and GPGKeyring are mandatory fields which are filenames of
165 the PGP and GnuPG keyrings to be used by katie respectively.
166
167 SigningKeyring is the private keyring used by ziyi.
168
169 MyEmailAddress is used as the From: line for sending mails as a
170 script/daemon.  MyAdminAddress is used as a contact address in mails.
171
172 MyDistribution is used in emails sent out by katie and others.
173
174 BugServer is used by katie and melanie when closing bugs.
175
176 PackagesServer is used by melanie when carbon-copying a bug close mail
177 to a package maintainer.
178
179 TrackingServer is used by katie and melanie to send messages for the
180 maintainer also to an alias for people tracking a specific source
181 package.
182
183 LockFile is a mandatory field and contains the filename of the
184 lockfile used by dinstall when in action mode (i.e. not using
185 -n/--no-action).
186
187 All sent mail is blind carbon copied to the email
188 address in Bcc if it's not blank.  
189
190 GroupOverrideFilename, if non-blank, is the override file which
191 contains the list of email addresses which, if part of the Maintainer
192 field, cause uploads to always be treated as maintainer uploads.
193
194 FutureTimeTravelGrace specifies how many seconds into the future
195 timestamps are allowed to be inside a deb before being rejected.
196 PastCutoffYear specifies the cut-off year which is used when deciding
197 whether or not to reject packages based on the file timestamp.
198
199 BXANotify is a boolean; if true (Debian-specfic) BXA notification is
200 sent.
201
202 OverrideDisparityCheck is a boolean; if true, jennifer compares an
203 uploads section/priority with the overrides and whines at the
204 maintainer if they differ.
205
206 CloseBugs is a boolean; if true the automated bug closing feature of
207 dinstall is activated.
208
209 SpecialAcceptedAutoBuild is a boolean; if true it activates support
210 for auto-building from accepted.
211
212 OverrideMaintainer can be used to globally override the
213 __MAINTAINER_TO__ and __MAINTAINER_FROM__ variables in template mails.
214 Use with caution.
215
216 SkipTime is an integer value which is the number of seconds that a
217 file must be older than (via it's last modified timestamp) before
218 jennifer will REJECT rather than SKIP the package.
219
220 ================================================================================
221
222 Archive
223 -------
224
225 Mandatory.  List of all archives, e.g.
226
227 | Archive
228 | {
229 |   ftp-master
230 |   {
231 |     OriginServer "ftp-master.debian.org";
232 |     PrimaryMirror "ftp.debian.org";
233 |     Description "Master Archive for the Debian project";
234 |   };
235 | };
236
237 OriginServer and PrimaryMirror are mandatory and are used melanie's
238 bug closing mail templates.  The host name and it's OriginServer and
239 Description are part of the SQL database in the 'archive' table.
240
241 ================================================================================
242
243 Architectures
244 -------------
245
246 Mandatory.  List of all architectures, e.g.
247
248 | Architectures
249 | {
250 |   source "Source";
251 |   all    "Architecture Independent";
252 |   i386   "Intel ia32";
253 | };
254
255 Both values go into the SQL database's 'architecture' table.
256 Description is currently unused.
257
258 ================================================================================
259
260 Component
261 ---------
262
263 Mandatory.  List of all components, e.g.
264
265 | Component
266 | {
267 |   main
268 |   {
269 |       Description "Main";
270 |       MeetsDFSG "true";
271 |   };
272 | };
273
274 All three values go into the SQL database's 'component' table.
275 MeetsDFSG is currently unused.
276
277 ================================================================================
278
279 Section
280 -------
281
282 Mandatory.  List of all valid sections, e.g.
283
284 | Section
285 | {
286 |   base "";
287 | };
288
289 The section goes into the 'section' table in SQL database.
290
291 ================================================================================
292
293 Priority
294 --------
295
296 Mandatory.  List of all valid priorities, e.g.
297
298 | Priority
299 | {
300 |   required 1;
301 |   important 2;
302 |   standard 3;
303 |   optional 4;
304 |   extra 5;
305 |   source 0; // i.e. unused
306 | };
307
308 The value is the sorting key.  Both the section and it's sorting key
309 go into the SQL database's 'priority' table.
310
311 ================================================================================
312
313 OverrideType
314 ------------
315
316 Mandatory.  List of al valid override types, e.g.
317
318 | OverrideType
319 | {
320 |   deb;
321 |   dsc;
322 |   udeb;
323 | };
324
325 The type goes into the 'override_type' table in the SQL database.
326
327 ================================================================================
328
329 Location
330 --------
331
332 Mandatory.  List all locations, e.g.
333
334 | Location
335 | {
336 |   /org/ftp.debian.org/ftp/pool/
337 |     {
338 |       Archive "ftp-master";
339 |       Type "pool";
340 |     };
341 | };
342
343 There are three types: 'legacy', 'legacy-mixed' and 'pool'.  'legacy'
344 and 'pool' are assumed to have sections for all components listed in
345 the Components section 'legacy-mixed' are assumed to mix all
346 components into one location.  The Archive and Type sections go into
347 the SQL database's 'location' table.
348
349 [Note: yes, this is horrible, it dates back to the original `import
350        the existent archive into the SQL Database' script (neve) and
351        isn't otherwise used.  It should be revisted at some stage.]
352
353 ================================================================================
354
355 -- 
356 James Troup <james@nocrew.org>, Horsforth, Leeds
357 Wed, 26 Sep 2001 03:20:39 +0100