]> git.decadent.org.uk Git - dak.git/blob - ChangeLog
Merge commit 'dak-master/master' into dm_upload_allowed
[dak.git] / ChangeLog
1 2008-12-28  Frank Lichtenheld  <djpig@debian.org>
2
3         * dak/override.py (main): Handle source-only packages better
4
5 2008-12-26  Michael Casadevall <sonicmctails@gmail.com>
6
7         * dak/import_keyring.py - Debrainized the projectb schema w.r.t. to DMs
8                                   Now uses Debian-Maintainer column in uid tabl
9
10         * dak/import_ldap_fingerprints.py - Ditto
11
12         * dak/process_unchecked.py - Same
13
14         * scripts/debian/byhand-dm - See Above
15
16         * setup/init_pool.sql - More of the same
17
18         * dak/process_unchecked.py - Implemented new dm_upload_allowed field in source
19
20         * dak/process_unchecked.py - Fixed bug where dm-upload-allowed would not be respected
21           in cases where only experimental had the DM-Upload-Allowed: yes flag.
22
23         * dak/process_accepted.py - Ditto, also causes new uploads to include uploaders
24           table to properly include all uploads
25
26         * setup/init_pool.sql - Updated schema
27
28 2008-12-23  Michael Casadevall <sonicmctails@gmail.com>
29
30         * dak/queue_report.py - Added 822 output format
31
32         * dak/queue_report.py - Fixed display of BYHAND packages
33
34         * dak/queue_report.py - Added queue field
35
36         * config/debian/dak.conf - Added 822 output location
37
38         * dak/process_accepted.py - Added orig.tar.gz copying when going
39           inbetween two components
40
41 2008-12-23  Joerg Jaspert  <joerg@debian.org>
42
43         * dak/make_suite_file_list.py (stable_dislocation_p): Removed
44
45         * config/debian/dak.conf, config/debian-security/dak.conf: Remove "StableDislocationSupport "false";"
46
47 2008-12-19  Joerg Jaspert  <joerg@debian.org>
48
49         * daklib/utils.py: move the html escape stuff here.
50
51         * dak/examine_package.py: Remove the html escape stuff.
52
53         * dak/queue_report.py: lotsa html changes to get more info on the
54         page and to get Tinchos css foo working.
55
56         * web/style.css: Added new stuff from Tincho
57
58 2008-12-18  Philipp Kern  <pkern@debian.org>
59
60         * config/debian-security/cron.buildd: simplify wanna-build update
61         by calling a trigger script on the wanna-build host
62         * config/debian-security/cron.daily: no need to refresh
63         packages-arch-specific anymore
64
65 2008-12-16  Joerg Jaspert  <joerg@debian.org>
66
67         * config/debian/cron.dinstall: Run logs.py as last command before
68         we mail the log.
69
70         * tools/logs.py: Added script from Thomas.
71         Modifications from me:
72          - Use path entries that fit ftpmaster dak user
73          - Make the bz2 extension optional for log files, so we can run it
74         out of cron.dinstall, where it is not yet compressed.
75          - Also show the two largest time killers in the totals graph.
76          - do not drop old entries from the cachefile
77          - fiddle with the color palette
78
79 2008-12-15  Joerg Jaspert  <joerg@debian.org>
80
81         * config/debian/cron.hourly: Call the removals.pl
82
83 2008-12-09  Joerg Jaspert  <joerg@debian.org>
84
85         * config/debian/cron.hourly: Added queue_rss.py to hourly cron.
86
87 2008-12-09  Filippo Giunchedi <filippo@debian.org>
88
89         * tools/queue_rss.py: Added, generates RSS feeds of NEW.
90
91 2008-12-09  Philipp Kern  <pkern@debian.org>
92
93         * daklib/queue.py (cross_suite_version_check): add an additional
94         parameter to specify if an upload is sourceful or not; do not reject
95         uploads that do not satisfy the "must be newer than" criteria and
96         are binary-only
97         * daklib/queue.py (check_source_against_db, check_binary_against_db):
98         invoke cross_suite_version_check as above
99
100 2008-12-04  Philipp Kern  <pkern@debian.org>
101
102         * dak/process_new.py (recheck): call reject for
103         Upload.check_{binary,source}_against_db with an empty prefix to not
104         reject on warnings
105
106 2008-11-30  Philipp Kern  <pkern@debian.org>
107
108         * dak/process_unchecked.py (do_stableupdate, do_oldstableupdate):
109         move files to NEW for {old,}stable-proposed-updates world-readable
110         (Closes: #368056)
111
112 2008-11-30  Joerg Jaspert  <joerg@debian.org>
113
114         * config/debian/apt.conf: Lets generate experimental content
115         files.
116
117         * dak/daklib/queue.py (Upload.cross_suite_version_check): Add a
118         few () to make cross_suite_version_check finally work as
119         intended (well, we hope). Thanks to Philipp Kern for spotting this.
120
121 2008-11-28  Mark Hymers  <mhy@debian.org>
122
123         * dak/new_security_install.py: Don't attempt to delete the .changes files
124         which have already been moved to queue/done by now.
125
126 2008-11-27  Mark Hymers  <mhy@debian.org>
127
128         * dak/new_security_install.py: Attempt to tidy up the buildd queue.  The
129         buildd team believes that the fact that the packages are in the security
130         pool after this point should be good enough.
131
132 2008-11-25  Joerg Jaspert  <joerg@debian.org>
133
134         * dak/process_unchecked.py (queue_(un)embargo): (Hopefully) enable
135         sending mails again, which got broken when testing-security
136         handling was (not completly correctly) implemented. Closes: #440004
137
138 2008-11-24  Joerg Jaspert  <joerg@debian.org>
139
140         * dak/process_unchecked.py (check_signed_by_key): remove the
141         binary-upload restriction stuff. unused.
142
143         * config/debian-security/apt.conf.buildd: byebye sarge
144
145         * scripts/nfu/get-w-b-db: remove m68k
146
147         * scripts/debian/update-ftpstats: remove m68k
148
149         * config/debian/dak.conf: remove m68k
150         remove the binary-upload-restrictions
151
152         * config/debian/vars (archs): Remove m68k
153
154 2008-11-23  Joerg Jaspert  <joerg@debian.org>
155
156         * dak/process_unchecked.py (check_files): fix this armel mess
157
158         * config/debian-security/dak.conf: Set ValidTime
159
160         * config/debian-security/cron.weekly: Added
161
162 2008-11-17  Joerg Jaspert  <joerg@debian.org>
163
164         * dak/security-install.py: Removed, no longer in use.
165
166 2008-11-16  Joerg Jaspert  <joerg@debian.org>
167
168         * scripts/debian/mkfilesindices: useless typical, doesnt have
169         i18n/ dirs. Force them in (i hope).
170
171 2008-11-15  Thomas Viehmann <tv@beamnet.de>
172
173         * dak/show_deferred.py: handle uploads that do not close bugs
174
175 2008-11-11  Joerg Jaspert  <joerg@debian.org>
176
177         * config/debian/dak.conf: good bye oldstable/o-p-u
178
179 2008-11-10  Joerg Jaspert  <joerg@debian.org>
180
181         * config/debian/cron.unchecked: how about us ignoring bugs.d.o
182         down? It's not like it is time critical or something to transfer
183         this stuff, it doesn't hurt to have it there a bit later...
184
185 2008-11-08  Joerg Jaspert  <joerg@debian.org>
186
187         * config/debian/cron.hourly: Create new tracefile format.
188
189 2008-11-05  Joerg Jaspert  <joerg@debian.org>
190
191         * dak/new_security_install.py (_do_Approve): This sudo call
192         definitely wants the -H option.
193
194 2008-11-01  Joerg Jaspert  <joerg@debian.org>
195
196         * dak/process_unchecked.py (check_files): Also check the
197         upload_suite for uploads. I guess we could kill the default_suite
198         totally, but for now we just look into the upload_suite one too.
199
200         * config/debian-security/dak.conf: Let DefaultSuite be stable
201
202 2008-10-27  Joerg Jaspert  <joerg@debian.org>
203
204         * scripts/debian/mkfilesindices: Remove oldstable
205
206         * config/debian/vars: Remove sarge
207
208         * config/debian/dak.conf: Untouchable o-p-u, until we removed all
209         of sarge and its files.
210
211         * config/debian/apt.conf.oldstable: Removed
212
213         * config/debian/apt.conf: Remove oldstable
214
215 2008-10-14  Thomas Viehmann <tv@beamnet.de>
216
217         * dak/show_deferred.py: produce .changes and improve status
218
219 2008-10-07  Joerg Jaspert  <joerg@debian.org>
220
221         * config/debian/cron.dinstall: Only keep the last 60 days of
222         dinstall logfiles on disc.
223
224 2008-10-05  Thomas Viehmann <tv@beamnet.de>
225
226         * daklib/database.py: added get_suites
227         * dak/dak.py, dak/show_deferred.py: add show-deferred to dak.
228
229 2008-09-23  Joerg Jaspert  <joerg@debian.org>
230
231         * config/debian/dak.conf: Add the validtime fields, set to 7
232         days.
233
234         * dak/generate_releases.py (main): Add a "Valid-Until" line into
235         our release files, meaning "$receiver shouldn't trust this files
236         after that date". Should be used by apt and similar tools to
237         detect some kind of MITM attacks, see #499897
238
239 2008-09-21  Joerg Jaspert  <joerg@debian.org>
240
241         * config/debian/cron.hourly: Generate the DEFERRED queue
242         overview.
243
244 2008-09-13  Philipp Kern  <pkern@debian.org>
245
246         * dak/queue.py (dump_vars): make .dak u,g=rw,o=r; James'
247         assumption (as stated in 2002-05-18's ChangeLog entry)
248         was that people will use the information therein albeit
249         it is "just" a duplication of information present in
250         other control files; people should still not use it
251         as source of information but access to those files makes
252         dak debugging easier and there is no leak of sensitive
253         information involved
254
255 2008-09-12  Philipp Kern  <pkern@debian.org>
256
257         * dak/new_security_install.py (actually_upload): remove
258         oldstable-security/amd64 check; Etch, as the next oldstable,
259         already had proper amd64 support
260
261 2008-09-12  Joerg Jaspert  <joerg@debian.org>
262
263         * scripts/debian/update-pseudopackages.sh: s/i/file/
264
265 2008-09-11  Joerg Jaspert  <joerg@debian.org>
266
267         * config/debian/pseudo-packages.description, ...maintainers:
268         Removed, now with the bts people
269
270         * scripts/debian/update-pseudopackages.sh: Added, fetching
271         pseudo-packages from new bts location
272
273         * scripts/debian/mkmaintainers: Use new location
274
275 2008-09-08  Philipp Kern  <pkern@debian.org>
276
277         * dak/check_archive.py (check_checksums): rewind the files
278         before the sha1sum/sha256sum checks as they got seeked by
279         md5sum
280
281         * daklib/utils.py (build_file_list): do not die on very
282         old dsc files without format header
283
284 2008-09-07  Philipp Kern  <pkern@debian.org>
285
286         * daklib/utils.py (check_hash): try..except..finally only
287         works on python >=2.5.
288
289         * dak/process_accepted.py (install): better use dsc_file
290         instead of the (for the loop iteration) static file
291         variable
292
293 2008-09-07  Philipp Kern  <pkern@debian.org>
294
295         * daklib/utils.py (check_hash): change the comment and warn
296         if a file is not found when checking the hashes (i.e. when
297         it is probably in the pool)
298
299         * daklib/utils.py (check_size): do not bail out if the file
300         is not found, because it may be in the pool
301
302         * dak/process_accepted.py (install): bail out and skip the
303         upload when ensure_hashes fails, print the rejection messages
304         as warnings
305
306 2008-08-28  Philipp Kern  <pkern@debian.org>
307
308         * daklib/utils.py (check_hashes): adapt to different API, check
309         sizes separately
310
311         * daklib/utils.py (parse_changes, parse_deb822): refactor
312         the string-based logic of parse_changes into a new function
313         parse_deb822; parse_changes itself remains file-based
314
315         * daklib/utils.py (hash_key): gives the key of a hash in the
316         files dict
317
318         * daklib/utils.py (create_hash, check_size): made more readable
319
320         * daklib/utils.py (check_hash): just check the hashes and complain
321         about missing checksums
322
323         * daklib/utils.py (check_hash_fields): function to reject unknown
324         checksums fields
325
326         * daklib/utils.py (_ensure_changes_hash, _ensure_dsc_hash): helper
327         functions for ensure_hashes; check their corresponding manifests'
328         hashes
329
330         * daklib/utils.py (ensure_hashes): retrieve the checksums fields
331         from the original filecontents blob so that they do not need to
332         be present in the .dak; refactored the actual checks by calling
333         the aforementioned helper functions
334
335         * daklib/utils.py (parse_checksums): parse a given checksums field
336         in a manifest and insert the values found into the files dict,
337         checking the file sizes on the way
338
339 2008-09-06  Philipp Kern  <pkern@debian.org>
340
341         * dak/process_new.py (is_source_in_queue_dir): Access the right
342         variable to check if the given entry in the queue is the sourceful
343         upload we are looking for.
344
345 2008-09-02  Joerg Jaspert  <joerg@debian.org>
346
347         * config/debian/pseudo-packages.description: Added debian-i18n and
348         buildd.emdebian.org
349
350         * dak/process_new.py (_accept): Fix Philipps new helper function
351         to not break by moving Upload.build_summaries there.
352
353 2008-08-31  Philipp Kern  <pkern@debian.org>
354
355         * dak/process_new.py (_accept): new helper function to accept
356         an upload regularly, obeying no-action if set
357         * dak/process_new.py (do_accept): use _accept
358         * dak/process_new.py (do_accept_stableupdate): bail out in else
359         on binary uploads, in case we missed something; use the _accept
360         helper
361
362 2008-08-30  Philipp Kern  <pkern@debian.org>
363
364         * dak/process_new.py (is_source_in_queue_dir): join the queue path
365         because os.listdir entries come with their path stripped
366
367 2008-08-30  Philipp Kern  <pkern@debian.org>
368
369         * dak/process_new.py (do_accept_stableupdate): state what we intend
370         to do
371
372 2008-08-26  Philipp Kern  <pkern@debian.org>
373
374         * dak/process_new.py (is_source_in_queue_dir): fix variable usage
375         * dak/process_new.py (move_to_holding): just state what we intend
376         to do in no-action mode
377         * dak/process_new.py (do_accept_stableupdate): fetch summaries,
378         fix invokation of is_source_in_queue_dir, actually accept sourceful
379         uploads in p-u holding
380
381 2008-08-26  Philipp Kern  <pkern@debian.org>
382
383         * dak/process_new.py (do_accept): do not try to free the unchecked
384         lockfile in no-action mode
385
386 2008-08-16  Joerg Jaspert  <joerg@debian.org>
387
388         * config/debian/cron.dinstall: We dont want i18n to ever fail
389         dinstall, add a || true
390
391 2008-08-15  Mark Hymers  <mhy@debian.org>
392
393         * daklib/utils.py: Actually import a module before using it.
394
395         * daklib/utils.py: Actually check we have basedict before trying to
396         use it.
397
398         *  dak/process_accepted.py, dak/process_unchecked.py,
399         daklib/database.py: Don't change get_files_id to use sha1sum and
400         sha256sum.
401
402         * setup/init_pool.sql, dak/check_archive.py, dak/decode_dot_dak.py,
403         dak/process_accepted.py, dak/process_unchecked.py, daklib/database.py,
404         daklib/queue.py, daklib/utils.py: Attempt to add sha1sum and
405         sha256sums into the database.  The complication is that we have to
406         keep backwards compatibility with the .dak files already in existance.
407         Note that import_archive hasn't been hacked to deal with this yet.
408
409 2008-08-14  Joerg Jaspert  <joerg@debian.org>
410
411         * config/debian/cron.dinstall: Added the i18n retrieval of package
412         description translations
413
414 2008-08-12  Joerg Jaspert  <joerg@debian.org>
415
416         * config/debian/cron.dinstall: Complicate the i18n export a little
417         by using date/hour based directories which we then link into the
418         web view. They contain a signed timestamp file now, which means
419         the i18n people can take a long time to generate files, yet we
420         still know exactly on which dataset their data is based on, and
421         can then verify it with that. Ensures we only get descriptions for
422         packages we know off (or knew of in the past 2 days).
423
424 2008-08-11  Joerg Jaspert  <joerg@debian.org>
425
426         * web/dinstall.html: Added
427
428         * config/debian/dak.conf: Added back the pgp keyrings for now, as
429         it seems that we should keep it for a few more days, until we
430         somehow got ll those oldtimers to get a newer key into the
431         keyring. Unfortunately our logic to look for uploads done from
432         that keyring wasnt the most perfect one, so well, it is actually
433         used. Damn.
434
435 2008-08-09  Joerg Jaspert  <joerg@debian.org>
436
437         * config/debian/dak.conf: No longer use the pgp keyring - no
438         uploads recorded for any of the pgp keys for a long time.
439
440         * config/debian/cron.dinstall: Export the i18n foo.
441
442 2008-08-08  Joerg Jaspert  <joerg@debian.org>
443
444         * config/debian/cron.dinstall: Create a hardlinked tree of the
445         ftp/ in mirror/ so we have more atomic mirror updates for the
446         buildds
447
448         * config/debian/cron.unchecked: Added signing of buildd incoming
449
450 2008-08-07  Philipp Kern  <pkern@debian.org>
451
452         * dak/process_new.py (do_accept): handle uploads to (oldstable-)
453           proposed-updates differently and put them into p-u holding
454           for review instead of unconditionally accepting them into
455           p-u proper; additional care needed to be taken to look
456           out for the source if a binary-only upload is being handled
457
458 2008-08-07  Joerg Jaspert  <joerg@debian.org>
459
460         * dak/cruft_report.py (parse_nfu): call utils.warn instead of warn
461         (main): Only do the nfu stuff if nfu is a check we want to run
462         later.
463         (main): And another place where we dont want to do nfu foo unless
464         we need nfu
465
466         * dak/make_suite_file_list.py (main): Fix a bug that has been
467         there for ages, but "just" never triggered.
468
469 2008-08-07  Stephen Gran  <sgran@debian.org>
470
471         * Drop use of exec to eval variable interpolation
472 2008-08-07  Joerg Jaspert  <joerg@debian.org>
473
474         * dak/process_accepted.py (install): Error out with the new
475         exception if we dont know the source package for a file we want to
476         install. Shouldn't ever hit us, but better safe than sorry.
477
478         * daklib/dak_exceptions.py (dakerrors): new exception - no source field.
479
480 2008-08-05  Joerg Jaspert  <joerg@debian.org>
481
482         * config/debian/cron.unchecked: disable the ssh-move insanity (and
483         as soon as rietz is back online - replace it with a one-line scp
484         or rsync statement followed by a one-line rm)
485         And now replaced this 128 line perl "not-invented-here" with a
486         one-line rsync command, using a feature rsync only understands
487         since sarge - damn new-fangled technology.
488
489 2008-08-05  Joachim Breitner <nomeata@debian.org>
490
491         * dak/cruft_report.py: In full mode, report out-of-date binaries on
492         architectures that have set Not-For-Us for that package.
493
494         * scripts/nfu/get-w-b-db: Script to fetch the wanna-build database
495         dump from http://buildd.debian.org/
496
497         * config/debian/cron.weekly: Run the above script
498
499 2008-08-03  Mark Hymers <mhy@debian.org>
500
501         * dak/process_new.py: Apply jvw's patch so that process_new shows
502         packages which need binary uploads sorted earlier than other packages.
503
504 2008-07-26  Joerg Jaspert  <joerg@debian.org>
505
506         * templates/reject-proposed-updates.rejected,dak/reject_proposed_updates.py:
507         applied a patch by luk modifying the stable rejection mails to fit
508         reality a bit more
509
510         * config/debian/dak.conf: no m68k in testing, so no m68k in t-p-u
511         r4 now
512
513 2008-06-19  Thomas Viehmann  <tv@beamnet.de>
514
515         * dak/process_unchecked.py (check_dsc,check_hashes): Catch
516         UnknownFormatError and reject
517
518 2008-06-15  Joerg Jaspert  <joerg@debian.org>
519
520         * config/debian/cron.weekly: Work around a git bug until git is
521         fixed upstream and the fix is on backports.org
522
523         * config/debian/cron.dinstall: (various ssh calls): Make them use
524         batchmode/connect/setuptimeout to not take too long with
525         connections... Also || true them, no need to die in dinstall if
526         one host isn't reachable.
527         Also do not die when the ldap server is unreachable, just ignore
528         that error.
529
530         * README: Updated mailing list location
531
532 2008-06-14  Otavio Salvador  <otavio@debian.org>
533
534         * docs/manpages/clean-suites.1.sgml: Minor typo fix
535
536         * dak/import_archive.py: Add support to udeb packages
537
538         * dak/control_suite.py (main): Handle SystemError exception in
539         case of a incompatible commandline parameter
540
541         * dak/check_overrides.py (main): Use case-insensitive comparing
542         for codename
543
544 2008-06-14  Joerg Jaspert  <joerg@debian.org>
545
546         * scripts/debian/byhand-task: Merged patch from Frans Pop to
547         fail on byhand-task uploads if they do not go to unstable.
548
549         * config/debian/cron.weekly: Do a little git cleanup work too.
550
551         * config/debian/cron.buildd: Add batchmode and also
552         Connect/SetupTimeout parameters to ssh
553
554         * config/debian/cron.dinstall (POSTDUMP): Compress all
555         uncompressed psql backups
556
557 2008-06-08  Joerg Jaspert  <joerg@debian.org>
558
559         * dak/process_unchecked.py (check_urgency): Lowercase urgency
560         before we (eventually) warn on it. Patch taken from Russ Allbery.
561
562 2008-06-01  Otavio Salvador  <otavio@debian.org>
563
564         * daklib/queue.py (check_valid): allow debian-installer specific
565         sources to have 'debian-installer' section.
566
567 2008-05-28  Frans Pop  <fjp@debian.org>
568
569         * add autobyhand support for task overrides (from tasksel)
570
571 2008-05-27  Joerg Jaspert  <joerg@debian.org>
572
573         * config/debian/pseudo-packages.maintainers: Change ftp.debian.org
574         pseudopackage maintainer name.
575
576 2008-05-12  Joerg Jaspert  <joerg@debian.org>
577
578         * dak/transitions.py: use yaml.dump instead of syck.dump, as syck
579         seems to have a bug in its dump(), causing it to write illegal entries
580         And also do this for load.
581
582 2008-05-10  Stephen Gran   <sgran@debian.org>
583        * tools/debianqueued-0.9/debianqueued: First pass at a send_mail
584          implementation that sucks less
585        * Update debian/control to reflect new perl dependency
586
587 2008-05-09  Joerg Jaspert  <joerg@debian.org>
588
589         * dak/override.py (main): substitute value in X-Debian-Package
590         header
591
592         * templates/override.bug-close: Add X-Debian-Package header
593         * templates/reject-proposed-updates.rejected: dito
594         * templates/queue.rejected: dito
595         * templates/process-unchecked.new: dito
596         * templates/process-unchecked.bug-nmu-fixed: dito
597         * templates/process-unchecked.bug-experimental-fixed: dito
598         * templates/process-unchecked.bug-close: dito
599         * templates/process-unchecked.announce: dito
600         * templates/process-unchecked.accepted: dito
601         * templates/process-new.prod: dito
602         * templates/process-accepted.unaccept: dito
603         * templates/process-accepted.install: dito
604         * templates/process-unchecked.override-disparity: dito
605
606 2008-05-08  Joerg Jaspert  <joerg@debian.org>
607
608         * templates/override.bug-close: Add X-Debian header
609         * templates/rm.bug-close: dito
610         * templates/reject-proposed-updates.rejected: dito
611         * templates/queue.rejected: dito
612         * templates/process-unchecked.new: dito
613         * templates/process-unchecked.bug-nmu-fixed: dito
614         * templates/process-unchecked.bug-experimental-fixed: dito
615         * templates/process-unchecked.bug-close: dito
616         * templates/process-unchecked.announce: dito
617         * templates/process-unchecked.accepted: dito
618         * templates/process-new.prod: dito
619         * templates/process-accepted.unaccept: dito
620         * templates/process-accepted.install: dito
621         * templates/process-unchecked.override-disparity: dito, but also
622         mention that people should include the package lists with the
623         override disparities.
624
625 2008-05-06  Joerg Jaspert  <joerg@debian.org>
626
627         * config/debian/cron.dinstall: Put the timestamp stuff into an own
628         function, call that from everywhere. Also change the timestamp
629         format to not be local dependent.
630
631 2008-05-05  Joerg Jaspert  <joerg@debian.org>
632
633         * daklib/dak_exceptions.py (dakerrors): add TransitionsError
634         * dak/transitions.py: Use it, instead of the own definition
635
636 2008-05-05  Mark Hymers  <mhy@debian.org>
637
638         * daklib/dak_exceptions.py: Add a default message and tidy up our string
639         representation
640
641 2008-05-05  Joerg Jaspert  <joerg@debian.org>
642
643         * daklib/dak_exceptions.py: New file, central place for all those
644         own exceptions dak may raise.
645
646         * daklib/utils.py: Use dak_exceptions and delete all those string
647         exception raising stuff, which is depcreated.
648         During that delete the unknown_hostname_exc, as it wasnt used.
649
650         * dak/import_archive.py: use the new Exception class
651         * dak/rm.py: dito
652         * dak/generate_releases.py: dito
653         * dak/queue_report.py: dito
654         * daklib/queue.py: dito
655
656 2008-05-04  Joerg Jaspert  <joerg@debian.org>
657
658         * daklib/queue.py: Various pychecker cleanups
659
660         * dak/import_keyring.py: Remove unused daklib.logging and Logger
661         and add the actually used daklib/utils
662
663         * dak/examine_package.py: remove daklib.queue import, never used
664
665         * dak/check_proposed_updates.py: Import stuff from daklib as
666         "import daklib.foo as foo"
667         * dak/clean_proposed_updates.py: likewise
668         * dak/clean_queues.py: likewise
669         * dak/clean_suites.py: likewise
670         * dak/compare_suites.py: likewise
671         * dak/cruft_report.py: likewise
672         (get_suite_binaries): Seperated in own function, out of main. More
673         of main should be splitted. (Or well, cruft_report redesigned a
674         little, so its easier to run on multiple suites with differing tests)
675
676         * dak/examine_package.py: likewise
677         * dak/find_null_maintainers.py: likewise
678         * dak/generate_index_diffs.py: likewise
679         * dak/generate_releases.py: likewise
680         * dak/import_archive.py: likewise
681         * dak/import_ldap_fingerprints.py: likewise
682         * dak/import_users_from_passwd.py: likewise
683         * dak/init_db.py: likewise
684         * dak/init_dirs.py: likewise
685         * dak/ls.py: likewise
686         * dak/make_maintainers.py: likewise
687         * dak/make_overrides.py: likewise
688         * dak/make_suite_file_list.py: likewise
689         * dak/new_security_install.py: likewise
690         * dak/override.py: likewise
691         * dak/process_accepted.py: likewise
692         * dak/process_new.py: likewise
693         * dak/process_unchecked.py: likewise
694         * dak/rm.py: likewise
695         * dak/show_new.py: likewise
696         * dak/split_done.py: likewise
697         * dak/stats.py: likewise
698         * dak/transitions.py: likewise
699
700         * dak/check_archive.py (check_files_not_symlinks): Remove
701         long-time unused and commented code. Import stuff from daklib as
702         "import daklib.foo as foo"
703
704 2008-05-04  Thomas Viehmann  <tv@beamnet.de>
705
706         * dak/process_unchecked.py (check_signed_by_key): cater for uid_email
707         None in sponsor notification
708
709 2008-05-03  Joerg Jaspert  <joerg@debian.org>
710
711         * dak/examine_package.py: clean up pychecker warnings (merged with
712         Thomas changes to the NEW display)
713
714 2008-05-03  Mark Hymers <mhy@debian.org>
715
716         * dak/check_archive.py: clean up pychecker warnings
717         * dak/check_overrides.py: likewise
718         * dak/check_proposed_updates.py: likewise
719         * dak/clean_proposed_updates.py: likewise
720         * dak/clean_queues.py: likewise
721         * dak/control_overrides.py: likewise
722         * dak/control_suite.py: likewise
723         * dak/decode_dot_dak.py: likewise
724         * dak/examine_package.py: likewise
725         * dak/process_new.py: likewise
726         * dak/process_unchecked.py: likewise
727         * dak/queue_report.py: likewise
728         * dak/reject_proposed_updates.py: likewise
729         * dak/security_install.py: likewise
730         * dak/show_new.py: likewise
731         * dak/stats.py: likewise
732         * dak/symlink_dists.py: likewise
733         * dak/transitions.py: likewise
734 >>>>>>> sec-merge:ChangeLog
735
736 2008-05-03  Joerg Jaspert  <joerg@debian.org>
737
738         * config/debian/cron.daily: Rename to
739         * config/debian/cron.dinstall: this, as its not really something run
740         daily for some time now. And while dinstall is an OLD name, its
741         recognized pretty well within Debian
742         Also add some more timing information
743         Do not allow automated [o-]p-u-new processing to break dinstall
744
745 2008-05-03  Thomas Viehmann  <tv@beamnet.de>
746
747         * web/,web/style.css: add web dir and current style.css
748
749         * dak/examine_package.py, dak/show_new.py: improve NEW html pages,
750         based on mock-up by M. Ferrari.
751         remove Checksums-* from examine-package output
752
753 2008-05-03  Thomas Viehmann  <tv@beamnet.de>
754
755         * dak/process_unchecked.py (check_hashes): Reject on error while
756         parsing Checksums-*.
757
758 2008-05-02  Joerg Jaspert  <joerg@debian.org>
759
760         * config/debian/pseudo-packages*: Removed listarchives, closes #468667
761         added wiki.debian.org (currently pointing to debian-www), closes #194206
762         added security-tracker, closes #436152
763         added release.debian.org, closes #451005
764
765         * config/debian/cron.buildd: Cleanup unreachable code. (If someone
766         still wants it - its in revision control...)
767
768         * config/debian/cron.daily: Modify call to update-ftpstats to only
769         use files log/2*, instead of log/*, so it ignores the new cron/
770         subdir. Makes sure it can't get confused, and is also safe for
771         nearly thousand years. If this code is really in use in year 3000,
772         im sure people can adjust it! :)
773
774         * config/debian/vars: Add logdir as a place for cronjob log output
775
776         * config/debian/cron.daily: Use a logfile and be more verbose of
777         whats going on.
778           Also moved the commented VACUUM ; VACUUM ANALYZE calls over to
779         cron.weekly, ...
780         * config/debian/cron.weekly: likewise,
781           ... and activate those calls again. Once a week, as an
782         additional safety bet to be sure the stuff does get run is ok,
783         even if we have autovacuum by default.
784
785 2008-05-02  Thomas Viehmann  <tv@beamnet.de>
786
787         * dak/process_unchecked.py (check_hashes): fix typo in
788           checksum reject message.
789
790 2008-05-02  Joerg Jaspert  <joerg@debian.org>
791
792         * config/debian/extensions.py: used reindent.py from the python
793         2.x source examples to get all dak code use the same indentation
794         style, no longer a mix of 4 spaces / 1 tab.
795         * dak/check_archive.py: likewise
796         * dak/check_overrides.py: likewise
797         * dak/check_proposed_updates.py: likewise
798         * dak/clean_proposed_updates.py: likewise
799         * dak/clean_queues.py: likewise
800         * dak/clean_suites.py: likewise
801         * dak/compare_suites.py: likewise
802         * dak/control_overrides.py: likewise
803         * dak/control_suite.py: likewise
804         * dak/cruft_report.py: likewise
805         * dak/dak.py: likewise
806         * dak/decode_dot_dak.py: likewise
807         * dak/examine_package.py: likewise
808         * dak/find_null_maintainers.py: likewise
809         * dak/generate_index_diffs.py: likewise
810         * dak/generate_releases.py: likewise
811         * dak/import_archive.py: likewise
812         * dak/import_keyring.py: likewise
813         * dak/import_ldap_fingerprints.py: likewise
814         * dak/import_users_from_passwd.py: likewise
815         * dak/init_db.py: likewise
816         * dak/init_dirs.py: likewise
817         * dak/ls.py: likewise
818         * dak/make_maintainers.py: likewise
819         * dak/make_overrides.py: likewise
820         * dak/make_suite_file_list.py: likewise
821         * dak/mirror_split.py: likewise
822         * dak/new_security_install.py: likewise
823         * dak/override.py: likewise
824         * dak/poolize.py: likewise
825         * dak/process_accepted.py: likewise
826         * dak/process_new.py: likewise
827         * dak/process_unchecked.py: likewise
828         * dak/queue_report.py: likewise
829         * dak/reject_proposed_updates.py: likewise
830         * dak/rm.py: likewise
831         * dak/security_install.py: likewise
832         * dak/show_new.py: likewise
833         * dak/split_done.py: likewise
834         * dak/stats.py: likewise
835         * dak/symlink_dists.py: likewise
836         * dak/test/001/test.py: likewise
837         * dak/test/002/test.py: likewise
838         * dak/transitions.py: likewise
839         * daklib/extensions.py: likewise
840         * daklib/logging.py: likewise
841         * daklib/queue.py: likewise
842         * daklib/utils.py: likewise
843         * scripts/debian/insert_missing_changedby.py: likewise
844
845         * dak/process_new.py (recheck): Make the path check more robust,
846         so we no longer have to keep process_new seperate trees between
847         security and normal archive.
848
849 2008-04-27  Joerg Jaspert  <joerg@debian.org>
850
851         * dak/process_accepted.py (Urgency_Log.__init__): Warn if the
852         configured path does not exist or is not writeable by us. Use a
853         tmp path if so, so we do not lose the urgencies in such cases.
854
855         * config/debian/dak.conf: Changed path for UrgencyLog
856         Same for the ReleaseTransitions file
857
858         * config/debian/cron.daily: Notify qa user on merkel of dinstall
859         start, Remove the britney call
860
861 2008-04-26  Joerg Jaspert  <joerg@debian.org>
862
863         * dak/process_new.py: Call end() whenever we try to leave by
864         pressing Q
865
866         * config/debian/cron.daily: Also report NBS in experimental
867
868 2008-04-25  Joerg Jaspert  <joerg@debian.org>
869
870         * dak/cruft_report.py (main): Make it possible to look at
871         experimental too, especially NBS
872
873         * dak/split_done.py (main): Only move files into their subdirs if
874         they are older than 30 days. That enables us to run this script as
875         part of a cronjob.
876
877         * config/debian/cron.weekly: Run dak split-done
878
879 2008-04-23  Thomas Viehmann  <tviehmann@debian.org>
880
881         * dak/process_unchecked.py: add changes["sponsoremail"]
882           for sponsored uploads if desired
883         * daklib/queue.py: add changes["sponsoremail"] to
884           Subst["__MAINTAINER_TO__"] if present
885         * daklib/utils.py: add functions
886           is_email_alias to check which accounts allow email forwarding,
887           which_alias_file to find the alias file, and
888           gpg_get_key_addresses to find uid addresses for a given
889             fingerprint
890
891 2008-04-22  Joerg Jaspert  <joerg@debian.org>
892
893         * setup/init_pool.sql: added a function/aggregate for the release
894         team to base some script on it.
895
896         * config/debian/cron.daily: push katie@merkel to immediately start
897         the sync of projectb there.
898
899 2008-04-21  Joerg Jaspert  <joerg@debian.org>
900
901         * scripts/debian/expire_dumps: New script, expires old database
902         dumps, using a scheme to keep more of the recent dumps.
903
904         * config/debian/cron.daily: Use the new script. Also - compress
905         all files older than 7 days, instead of 30.
906
907         * dak/process_accepted.py (install): Do not break if a
908         source/maintainer combination is already in src_uploaders, "just"
909         warn us.
910
911 2008-04-20  Thomas Viehmann  <tviehmann@debian.org>
912
913         * daklib/utils.py (build_file_list): Deal with "Format 3 style"
914         Format lines (ie. those having extra text appended).
915
916 2008-04-19  Joerg Jaspert  <joerg@debian.org>
917
918         * dak/process_unchecked.py (check_files): Sanity check the
919         provides field, which closes #472783
920
921 2008-04-18  Joerg Jaspert  <joerg@debian.org>
922
923         * config/debian/dak.conf: Add mapping stable-proposed-updates
924           -> proposed-updates.
925
926         * dak/transitions.py (load_transitions): Additionally check for
927         invalid package list indentation
928
929 2008-04-17  Joerg Jaspert  <joerg@debian.org>
930
931         * config/debian/dak.conf: Add TempPath statement for the Release
932         Transitions script
933
934         * dak/transitions.py (temp_transitions_file): Use the TempPath
935         (write_transitions_from_file): Check if the file we should get our
936         transitions from is in our TempPath, error out if it isnt
937         (main): Check for TempPath existance
938
939 2008-04-12  James Troup  <troup@debian.org>
940
941         * dak/clean_proposed_updates.py: add support for -s/--suite and
942         -n/--no-action.
943
944 2008-04-11  Anthony Towns  <ajt@debian.org>
945
946         * dak/utils.py: build_file_list() extra parameters so it can
947         build a file list for checksums-foo fields. Don't use float() to
948         compare formats, because Format: 1.10 should compare greater than
949         Format: 1.9 (use "1.9".split(".",1) and tuple comparison instead)
950
951         * dak/process_unchecked.py: check_md5sum becomes check_hashes
952         and check_hash. If changes format is 1.8 or later, also check
953         checksums-sha1 and checksums-sha256 for both .changes and .dsc,
954         and reject on presence/absence of un/expected checksums-* fields.
955
956 2008-04-07  Joerg Jaspert  <joerg@debian.org>
957
958         * daklib/utils.py (build_file_list): Check for dpkg .changes
959         adjusted to reject newer (and right now broken) 1.8 version, until
960         dpkg (or debsign) is fixed and doesn't produce invalid .changes anymore
961
962 2008-03-22  Joerg Jaspert  <joerg@debian.org>
963
964         * dak/transitions.py (load_transitions): Check if all our keys are
965         defined, if there are only keys defined we want and also the types
966         of the various keys.
967
968 2008-03-22  Anthony Towns  <ajt@debian.org>
969
970         * dak/edit_transitions.py: Add --import option.
971         Add --use-sudo option. Use fcntl locking for writing.
972         Move writing into a function (write_transitions).
973         Reinvoke self using sudo and --import if necessary.
974         Move temporary file creation into a function, use mkstemp.
975         Rename to "dak transitions".
976
977 2008-03-21  Joerg Jaspert  <joerg@debian.org>
978
979         * dak/edit_transitions.py (edit_transitions): Use sudo to copy the
980         edited file back in place
981         (check_transitions): Use proper locking and also use sudo to copy
982         the new file in place
983
984 2008-03-21  Anthony Towns <ajt@debian.org>
985
986         * config/debian/extensions.py: Add infrastructure for replacing
987         functions in dak modules; add upload blocking for dpkg.
988
989 2008-03-12  Joerg Jaspert  <joerg@debian.org>
990
991         * dak/edit_transitions.py: Done a number of cleanups to make code
992         working. Also changed the way prompting/answering goes, to not
993         have to import daklib/queue.
994         (edit_transitions): When done with a successful edit - also print
995         a final overview about defined transitions
996
997 2008-03-11  Joerg Jaspert  <joerg@debian.org>
998
999         * dak/process_unchecked.py: Import syck module directly, not "from
1000         syck import *"
1001         (check_transition): Do the check for sourceful upload in here
1002         Also adjust the syck loading commands, rename new_vers to
1003         expected, curvers to current, to make it more clear what they mean.
1004
1005         * daklib/database.py (get_suite_version): Renamed from
1006         get_testing_version. Also changed the cache variables name
1007
1008         * The above changes are based on modifications from Anthony.
1009
1010         * dak/dak.py (init): Renamed check -> edit transitions
1011
1012         * dak/edit_transitions.py: Renamed from check_transitions.py
1013         (main): Also rename new_vers/curvers to expected/current
1014         Basically a nice rewrite, so it now does checks and edit,
1015         depending on how you call it. Check also removes old transitions,
1016         if user wants it.
1017
1018 2008-03-02  Joerg Jaspert  <joerg@debian.org>
1019
1020         * debian/control (Suggests): Add python-syck to Depends:
1021
1022         * dak/dak.py (init): Tell it about check_transitions
1023
1024         * dak/check_transitions.py (usage): Added, checks the transitions
1025         file (if any)
1026
1027         * daklib/database.py (get_testing_version): Added. Returns the
1028         version for the source in testing, if any
1029
1030         * dak/process_unchecked.py (check_transition): Added. Checks if a
1031         release team member defined a transition, and rejects based on
1032         that data.
1033         (process_it): Use it.
1034         (check_transition): Warn on broken transitions file and return,
1035         not doing anything.
1036         (check_transition): Moved out of here, into daklib/queue
1037         (process_it): Call check_transitions only if
1038         changes[architecture] has source included.
1039         (check_transition): Now call the database.get_testing_version
1040
1041 2008-02-09  Christoph Berg <myon@debian.org>
1042
1043         * daklib/queue.py (get_type): fubar does not exist in global
1044         namespace.
1045
1046         * setup/add_constraints.sql setup/init_pool.sql: Add changedby column
1047         to source table, and move src_uploaders after source so the REFERNCES
1048         clause works.
1049         * dak/process_accepted.py (install): Fill the changedby column from
1050         the information found in the .changes. This will allow to identify
1051         NMUs and sponsored uploads more precisely in tools querying projectb.
1052         * scripts/debian/insert_missing_changedby.py: Script to import yet
1053         missing fields from filippo's uploads-history DB.
1054
1055 2008-02-06  Joerg Jaspert  <joerg@debian.org>
1056
1057         * daklib/utils.py (check_signature): Make variable key available,
1058         so we can access it.
1059
1060 2008-01-07  Joerg Jaspert  <joerg@debian.org>
1061
1062         * dak/examine_package.py (check_deb): Remove linda call. It
1063         provides no added benefit to lintian anymore.
1064
1065 2008-01-07  Joerg Jaspert  <joerg@debian.org>
1066
1067         * dak/examine_package.py (check_deb): Remove linda call. It
1068         provides no added benefit to lintian anymore.
1069
1070 2008-01-06  Joerg Jaspert  <joerg@debian.org>
1071
1072         * dak/examine_package.py (do_lintian): lintian now supports html
1073         coloring, so use it.
1074         (do_command): Dont escape html chars if param escaped = 1
1075
1076 2008-01-06  Joerg Jaspert  <joerg@debian.org>
1077
1078         * dak/examine_package.py (do_lintian): lintian now supports html
1079         coloring, so use it.
1080         (do_command): Dont escape html chars if param escaped = 1
1081
1082 2007-12-31  Anthony Towns  <ajt@debian.org>
1083
1084         * dak/process_new.py (recheck): pass "" for prefix_str to reject()
1085         when processing result of check_dsc_against_db so we don't promote
1086         warnings to rejections.
1087
1088 2007-12-31  Anthony Towns  <ajt@debian.org>
1089
1090         * dak/process_new.py (recheck): pass "" for prefix_str to reject()
1091         when processing result of check_dsc_against_db so we don't promote
1092         warnings to rejections.
1093
1094 2007-12-30  Joerg Jaspert  <joerg@debian.org>
1095
1096         * dak/dak.py (init): add show-new. This is based on a patch
1097         submitted by Thomas Viehmann in Bug #408318, but large parts of
1098         handling it are rewritten and show-new is done by me.
1099
1100         * dak/queue_report.py (table_row): Add link to generated html page
1101         for NEW package.
1102
1103         * dak/show_new.py: new file, generates html overview for NEW
1104         packages, similar to what we see with examine-package.
1105
1106         * config/debian/cron.hourly: Add show-new call
1107
1108         * config/debian/dak.conf: Add HTMLPath for Show-New
1109
1110         * dak/examine_package.py (print_copyright): ignore stderr when
1111         finding copyright file.
1112         (main): add html option
1113         (html_escape): new function
1114         (escape_if_needed): ditto
1115         (headline): ditto
1116         (colour_output): ditto
1117         (print_escaped_text): ditto
1118         (print_formatted_text): ditto
1119         - use those functions everywhere where we generate output, as they
1120         easily know if we want html or not and just DTRT
1121         (do_lintian): new function
1122         (check_deb): use it
1123         (output_deb_info): Use print_escaped_text, not print_formatted_text.
1124         Also import daklib.queue, determine_new now lives there
1125
1126         Also add a variable to see if we want html output. Default is
1127         disabled, show_new enables it for its use.
1128         Most of html, besides header/footer are in examine_package instead
1129         of show_new, as it makes it a whole lot easier to deal with it at
1130         the point the info is generated.
1131
1132
1133         * dak/process_new.py (determine_new): Moved out of here.
1134         (check_valid): Moved out of here.
1135         (get_type): Moved out of here.
1136
1137         * daklib/queue.py (determine_new): Moved here.
1138         (check_valid): Moved here.
1139         (get_type): Moved here.
1140
1141         * dak/init_db.py (do_section): Remove non-US code
1142
1143         * dak/make_overrides.py (main): ditto
1144
1145         * dak/process_new.py (determine_new): ditto
1146
1147         * daklib/queue.py (Upload.in_override_p),
1148         (Upload.check_override): ditto
1149
1150         * daklib/utils.py (extract_component_from_section):,
1151         (poolify): ditto
1152
1153         * dak/import_archive.py (update_section): ditto
1154
1155         * dak/symlink_dists.py (fix_component_section): ditto
1156
1157         * scripts/debian/mkmaintainers: ditto
1158
1159         * scripts/debian/update-mirrorlists (masterlist): ditto
1160
1161         * config/debian-non-US/*: Remove subdir
1162
1163         * scripts/debian/update-readmenonus: Removed.
1164
1165
1166 2007-12-30  Joerg Jaspert  <joerg@debian.org>
1167
1168         * dak/dak.py (init): add show-new. This is based on a patch
1169         submitted by Thomas Viehmann in Bug #408318, but large parts of
1170         handling it are rewritten and show-new is done by me.
1171
1172         * dak/queue_report.py (table_row): Add link to generated html page
1173         for NEW package.
1174
1175         * dak/show_new.py: new file, generates html overview for NEW
1176         packages, similar to what we see with examine-package.
1177
1178         * config/debian/cron.hourly: Add show-new call
1179
1180         * config/debian/dak.conf: Add HTMLPath for Show-New
1181
1182         * dak/examine_package.py (print_copyright): ignore stderr when
1183         finding copyright file.
1184         (main): add html option
1185         (html_escape): new function
1186         (escape_if_needed): ditto
1187         (headline): ditto
1188         (colour_output): ditto
1189         (print_escaped_text): ditto
1190         (print_formatted_text): ditto
1191         - use those functions everywhere where we generate output, as they
1192         easily know if we want html or not and just DTRT
1193         (do_lintian): new function
1194         (check_deb): use it
1195         (output_deb_info): Use print_escaped_text, not print_formatted_text.
1196         Also import daklib.queue, determine_new now lives there
1197
1198         Also add a variable to see if we want html output. Default is
1199         disabled, show_new enables it for its use.
1200         Most of html, besides header/footer are in examine_package instead
1201         of show_new, as it makes it a whole lot easier to deal with it at
1202         the point the info is generated.
1203
1204
1205         * dak/process_new.py (determine_new): Moved out of here.
1206         (check_valid): Moved out of here.
1207         (get_type): Moved out of here.
1208
1209         * daklib/queue.py (determine_new): Moved here.
1210         (check_valid): Moved here.
1211         (get_type): Moved here.
1212
1213         * dak/init_db.py (do_section): Remove non-US code
1214
1215         * dak/make_overrides.py (main): ditto
1216
1217         * dak/process_new.py (determine_new): ditto
1218
1219         * daklib/queue.py (Upload.in_override_p),
1220         (Upload.check_override): ditto
1221
1222         * daklib/utils.py (extract_component_from_section):,
1223         (poolify): ditto
1224
1225         * dak/import_archive.py (update_section): ditto
1226
1227         * dak/symlink_dists.py (fix_component_section): ditto
1228
1229         * scripts/debian/mkmaintainers: ditto
1230
1231         * scripts/debian/update-mirrorlists (masterlist): ditto
1232
1233         * config/debian-non-US/*: Remove subdir
1234
1235         * scripts/debian/update-readmenonus: Removed.
1236
1237
1238 2007-12-28  Anthony Towns  <ajt@debian.org>
1239
1240         * daklib/utils.py (check_signature): add NOTATION_DATA and
1241         NOTATION_NAME to known keywords.
1242
1243         * daklib/queue.py (Upload.check_source_against_db):
1244
1245         * dak/make_suite_file_list.py: add -f/--force option.
1246
1247         * dak/generate_releases.py: add -a/--apt-conf=FILE and
1248         -f/--force-touch options.  Pull version info from the database.
1249         Make suite description optional.
1250
1251         * config/debian/dak.conf: update
1252         Reject-Proposed-Updates::MoreInfoURL.  Comment out
1253         Suite::Stable::Version and ::Description.
1254
1255         * config/debian/apt.conf: Add hurd-i386 to unstable
1256         debian-installer stanza.
1257
1258 2007-12-28  Joerg Jaspert  <joerg@debian.org>
1259
1260         * KEYEXPIRED is actually a known keyword. We do check it earlier
1261         on and reject in case the sig is bad (or unknown)
1262
1263 2007-12-28  Anthony Towns  <ajt@debian.org>
1264
1265         * daklib/utils.py (check_signature): add NOTATION_DATA and
1266         NOTATION_NAME to known keywords.
1267
1268         * daklib/queue.py (Upload.check_source_against_db):
1269
1270         * dak/make_suite_file_list.py: add -f/--force option.
1271
1272         * dak/generate_releases.py: add -a/--apt-conf=FILE and
1273         -f/--force-touch options.  Pull version info from the database.
1274         Make suite description optional.
1275
1276         * config/debian/dak.conf: update
1277         Reject-Proposed-Updates::MoreInfoURL.  Comment out
1278         Suite::Stable::Version and ::Description.
1279
1280         * config/debian/apt.conf: Add hurd-i386 to unstable
1281         debian-installer stanza.
1282
1283 2007-12-28  Joerg Jaspert  <joerg@debian.org>
1284
1285         * KEYEXPIRED is actually a known keyword. We do check it earlier
1286         on and reject in case the sig is bad (or unknown)
1287
1288 2007-12-24  Joerg Jaspert  <joerg@debian.org>
1289
1290         * Also run lintian on the .dsc file to check the source itself.
1291
1292         * Fix the direct usage of ar | tar etc to get the copyright file
1293         and use dpkg-deb, which is made for this and makes us able to
1294         process data.tar.bz2 (or whatever format it will be in the
1295         future).
1296
1297 2007-12-24  Joerg Jaspert  <joerg@debian.org>
1298
1299         * Also run lintian on the .dsc file to check the source itself.
1300
1301         * Fix the direct usage of ar | tar etc to get the copyright file
1302         and use dpkg-deb, which is made for this and makes us able to
1303         process data.tar.bz2 (or whatever format it will be in the
1304         future).
1305
1306 2007-12-21  Joerg Jaspert  <joerg@debian.org>
1307
1308         * Remove the (now useless) check for a pre-depends on dpkg for
1309           binaries that contain bzip2 compressed data tarballs.
1310
1311 2007-12-21  Joerg Jaspert  <joerg@debian.org>
1312
1313         * Remove the (now useless) check for a pre-depends on dpkg for
1314           binaries that contain bzip2 compressed data tarballs.
1315
1316 2007-08-28  Anthony Towns  <ajt@debian.org>
1317
1318         * process_unchecked.py: Add support for automatic BYHAND
1319         processing.
1320         * config/debian/dak.conf, scripts/debian/byhand-tag: Automatic
1321         processing of tag-overrides.
1322         * examine_package.py: Summarise duplicate copyright file entries
1323         (same md5sum) with a reference to the previous instance, rather
1324         than repeating them.
1325         * process_new.py: When rejecting from the p-u-new or o-p-u-new
1326         holding queues, don't worry if dak has its own reasons for
1327         rejecting the package as well as the SRMs.
1328
1329 2007-08-28  Anthony Towns  <ajt@debian.org>
1330
1331         * process_unchecked.py: Add support for automatic BYHAND
1332         processing.
1333         * config/debian/dak.conf, scripts/debian/byhand-tag: Automatic
1334         processing of tag-overrides.
1335         * examine_package.py: Summarise duplicate copyright file entries
1336         (same md5sum) with a reference to the previous instance, rather
1337         than repeating them.
1338         * process_new.py: When rejecting from the p-u-new or o-p-u-new
1339         holding queues, don't worry if dak has its own reasons for
1340         rejecting the package as well as the SRMs.
1341
1342 2007-06-19  Anthony Towns  <ajt@debian.org>
1343
1344         * Add nm.debian.org pseudopackage
1345
1346 2007-06-19  Anthony Towns  <ajt@debian.org>
1347
1348         * Add nm.debian.org pseudopackage
1349
1350 2007-06-18  Anthony Towns  <ajt@debian.org>
1351
1352         * daklib/logging.py: Set umask to not exclude group-writability
1353         so we don't get reminded at the start of each month. Thanks to
1354         Random J.
1355         * dak/override.py: More changes from Herr von Wifflepuck: warn
1356         if section of source is different to binary section; restore
1357         functionality on source-only overrides; croak if trying to set
1358         priority of a source override; never set priority of source
1359         overrides; correct typo in logging (s/priority/section/ at
1360         one place)
1361
1362         * config/debian/apt.conf.oldstable: Added for oldstable point releases.
1363         * config/debian/cron.daily: auotmatically accept/reject
1364         oldstable-proposed-updates based on COMMENTS directory
1365
1366 2007-06-18  Anthony Towns  <ajt@debian.org>
1367
1368         * config/debian/apt.conf, config/debian/apt.conf.stable,
1369         config/debian/dak.conf: update for 4.0r0 (etch), and 3.1r6
1370         (sarge), support for oldstable-proposed-updates, dropping m68k
1371         from etch, creating etch-m68k suite, creating lenny.
1372
1373         * config/debian/vars: update for lenny
1374
1375         * config/debian/dak.conf: typo fix for Dinstall::GPGKeyring,
1376         drop upload limitations, add release postgres user
1377
1378         * dak/process_new.py: support for automatically accepting and rejecting
1379         packages from proposed-updates holding queues via COMMENTS directory
1380         * cron.daily: automatically process COMMENTS-based approvals
1381         and rejections for proposed-updates holding queues
1382
1383         * dak/process_unchecked.py: add support for oldproposedupdates
1384         holding queue
1385
1386         * dak/control_suite.py: allow control-suite to work with etch-m68k
1387
1388         * dak/generate_releases.py: unlink old Release files before updating
1389         them if nlinks > 1 (ie, if two files used to be the same, maybe they
1390         shouldn't be when generate-releases is run)
1391
1392         * dak/generate_releases.py: add a couple of commented lines to make
1393         it easier to deal with point releases
1394
1395         * dak/make_overrides.py: generate overrides for !contrib udebs
1396
1397         * docs/README.stable-point-release: update docs for doing a
1398         point release
1399
1400 2007-06-18  Anthony Towns  <ajt@debian.org>
1401
1402         * daklib/logging.py: Set umask to not exclude group-writability
1403         so we don't get reminded at the start of each month. Thanks to
1404         Random J.
1405         * dak/override.py: More changes from Herr von Wifflepuck: warn
1406         if section of source is different to binary section; restore
1407         functionality on source-only overrides; croak if trying to set
1408         priority of a source override; never set priority of source
1409         overrides; correct typo in logging (s/priority/section/ at
1410         one place)
1411
1412         * config/debian/apt.conf.oldstable: Added for oldstable point releases.
1413         * config/debian/cron.daily: auotmatically accept/reject
1414         oldstable-proposed-updates based on COMMENTS directory
1415
1416 2007-06-18  Anthony Towns  <ajt@debian.org>
1417
1418         * config/debian/apt.conf, config/debian/apt.conf.stable,
1419         config/debian/dak.conf: update for 4.0r0 (etch), and 3.1r6
1420         (sarge), support for oldstable-proposed-updates, dropping m68k
1421         from etch, creating etch-m68k suite, creating lenny.
1422
1423         * config/debian/vars: update for lenny
1424
1425         * config/debian/dak.conf: typo fix for Dinstall::GPGKeyring,
1426         drop upload limitations, add release postgres user
1427
1428         * dak/process_new.py: support for automatically accepting and rejecting
1429         packages from proposed-updates holding queues via COMMENTS directory
1430         * cron.daily: automatically process COMMENTS-based approvals
1431         and rejections for proposed-updates holding queues
1432
1433         * dak/process_unchecked.py: add support for oldproposedupdates
1434         holding queue
1435
1436         * dak/control_suite.py: allow control-suite to work with etch-m68k
1437
1438         * dak/generate_releases.py: unlink old Release files before updating
1439         them if nlinks > 1 (ie, if two files used to be the same, maybe they
1440         shouldn't be when generate-releases is run)
1441
1442         * dak/generate_releases.py: add a couple of commented lines to make
1443         it easier to deal with point releases
1444
1445         * dak/make_overrides.py: generate overrides for !contrib udebs
1446
1447         * docs/README.stable-point-release: update docs for doing a
1448         point release
1449
1450 2007-03-05  Anthony Towns  <ajt@debian.org>
1451
1452         * config/debian/dak.conf: update for 3.1r5.
1453         * scripts/debian/ssh-move: add ssh-move script from debbugs
1454         * config/debian/cron.unchecked: push version info to debbugs using
1455         ssh-move.
1456
1457 2007-03-05  Anthony Towns  <ajt@debian.org>
1458
1459         * config/debian/dak.conf: update for 3.1r5.
1460         * scripts/debian/ssh-move: add ssh-move script from debbugs
1461         * config/debian/cron.unchecked: push version info to debbugs using
1462         ssh-move.
1463
1464 2007-02-14  James Troup  <troup@ries.debian.org>
1465
1466         * docs/README.config: remove Dinstall::GroupOverrideFilename.
1467         * config/debian/dak.conf: likewise.
1468         * config/debian-non-US/dak.conf: likewise.
1469         * config/debian-security/dak.conf: likewise.
1470
1471         * daklib/queue.py (Upload.close_bugs): no longer handle NMUs or
1472         experimental differently, just close the bugs and let version
1473         tracking sort it out.
1474          (nmu_p): remove entire class - now unused.
1475          (Upload.__init__): don't use nmu_p.
1476
1477 2007-02-14  James Troup  <troup@ries.debian.org>
1478
1479         * docs/README.config: remove Dinstall::GroupOverrideFilename.
1480         * config/debian/dak.conf: likewise.
1481         * config/debian-non-US/dak.conf: likewise.
1482         * config/debian-security/dak.conf: likewise.
1483
1484         * daklib/queue.py (Upload.close_bugs): no longer handle NMUs or
1485         experimental differently, just close the bugs and let version
1486         tracking sort it out.
1487          (nmu_p): remove entire class - now unused.
1488          (Upload.__init__): don't use nmu_p.
1489
1490 2007-02-08  Anthony Towns  <ajt@debian.org>
1491
1492         * config/debian/dak.conf: update for 3.1r4.  Use new 'etch'
1493         signing key.  Drop maximum index diffs down to 14.
1494
1495         * config/debian/apt.conf: add udeb support for non-free (testing,
1496         unstable) and experimental.
1497         * config/debian/dak.conf: likewise.
1498
1499         * dak/generate_releases.py (main): handle udebs in any component.
1500
1501         * daklib/queue.py (Upload.build_summaries): handle files without a
1502         'type' gracefully.
1503
1504         * dak/generate_releases.py (print_sha256_files): new function.
1505         (main): use it.
1506
1507         * dak/process_accepted.py (stable_install): fix name of template
1508         mail.
1509
1510         * dak/process_unchecked.py (is_stableupdate): fix invocation of
1511         database.get_suite_id().
1512
1513         * templates/process-new.bxa_notification: Update on request
1514         of/after discussion with BIS staff.
1515
1516         * scripts/debian/mkfilesindices: also handle proposed-updates.
1517
1518 2007-02-08  Ryan Murray  <rmurray@debian.org>
1519
1520         * config/debian/cron.monthly: use $ftpgroup instead of hardcoding
1521         group name for chgrp of mail archives.
1522
1523         * daklib/queue.py (Upload.check_dsc_against_db): handle multiple
1524         orig.tar.gz's by picking the first one by file id.
1525
1526         * dak/override.py (main): limit to binary overrides only for now.
1527         (usage): update to match.
1528
1529         * config/debian/cron.daily: track when we have the accepted lock
1530         and clean it up on exit if we have it.  Take/check the
1531         cron.unchecked lock just before traping to cleanup on exit.
1532         Remove potato override handling.  Remove any dangling symlinks in
1533         /srv/incoming.d.o/buildd.  Clean up apt-ftparchive's databases.
1534
1535         * config/debian/apt.conf: change default compression scheme for
1536         both Sources and Packages to gzip and bzip2 rather than
1537         uncompressed and gzip (Packages) and gzip (Sources).  Use old
1538         defaults for proposed-updates.
1539
1540         * dak/control_overrides.py (main): refuse to operate on
1541         untouchable suites.
1542
1543         * config/debian/pseudo-packages.maintainers: drop install,
1544         installation, boot-floppy, slink-cd, potato-cd and
1545         nonus.debian.org.  Update base.
1546         * config/debian/pseudo-packages.description: likewise.
1547
1548         * daklib/utils.py (re_srchasver): new regex.
1549         (parse_changes): use regex to split 'Source (Version)' style
1550         Source fields into 'source' and 'source-version'.
1551
1552         * config/debian/cron.daily: use $base instead of hardcoding path
1553         name.
1554
1555         * scripts/debian/mkfilesindices: source 'vars' file and use it's
1556         variables instead of hardcoding path names.
1557
1558         * config/debian/apt.conf: switch from /org to /srv.
1559         * config/debian/apt.conf.buildd: likewise.
1560         * config/debian/apt.conf.stable: likewise.
1561         * config/debian/cron.daily: likewise.
1562         * config/debian/cron.hourly: likewise.
1563         * config/debian/cron.monthly: likewise.
1564         * config/debian/cron.unchecked: likewise.
1565         * config/debian/cron.weekly: likewise.
1566         * config/debian/dak.conf: likewise.
1567         * config/debian/vars: likewise.
1568         * scripts/debian/mkfilesindices: likewise.
1569
1570 2007-02-08  James Troup  <james@nocrew.org>
1571
1572         * dak/process_unchecked.py (check_signed_by_key): new function to
1573         ensure .changes files are signed by an authorized uploader.
1574         (process_it): use it.
1575
1576         * config/debian/dak.conf (Binary-Upload-Restrictions): new stanza
1577         to configure per suite/component/architecture binary upload
1578         restrictions.
1579
1580 2007-02-08  Anthony Towns  <ajt@debian.org>
1581
1582         * config/debian/dak.conf: update for 3.1r4.  Use new 'etch'
1583         signing key.  Drop maximum index diffs down to 14.
1584
1585         * config/debian/apt.conf: add udeb support for non-free (testing,
1586         unstable) and experimental.
1587         * config/debian/dak.conf: likewise.
1588
1589         * dak/generate_releases.py (main): handle udebs in any component.
1590
1591         * daklib/queue.py (Upload.build_summaries): handle files without a
1592         'type' gracefully.
1593
1594         * dak/generate_releases.py (print_sha256_files): new function.
1595         (main): use it.
1596
1597         * dak/process_accepted.py (stable_install): fix name of template
1598         mail.
1599
1600         * dak/process_unchecked.py (is_stableupdate): fix invocation of
1601         database.get_suite_id().
1602
1603         * templates/process-new.bxa_notification: Update on request
1604         of/after discussion with BIS staff.
1605
1606         * scripts/debian/mkfilesindices: also handle proposed-updates.
1607
1608 2007-02-08  Ryan Murray  <rmurray@debian.org>
1609
1610         * config/debian/cron.monthly: use $ftpgroup instead of hardcoding
1611         group name for chgrp of mail archives.
1612
1613         * daklib/queue.py (Upload.check_dsc_against_db): handle multiple
1614         orig.tar.gz's by picking the first one by file id.
1615
1616         * dak/override.py (main): limit to binary overrides only for now.
1617         (usage): update to match.
1618
1619         * config/debian/cron.daily: track when we have the accepted lock
1620         and clean it up on exit if we have it.  Take/check the
1621         cron.unchecked lock just before traping to cleanup on exit.
1622         Remove potato override handling.  Remove any dangling symlinks in
1623         /srv/incoming.d.o/buildd.  Clean up apt-ftparchive's databases.
1624
1625         * config/debian/apt.conf: change default compression scheme for
1626         both Sources and Packages to gzip and bzip2 rather than
1627         uncompressed and gzip (Packages) and gzip (Sources).  Use old
1628         defaults for proposed-updates.
1629
1630         * dak/control_overrides.py (main): refuse to operate on
1631         untouchable suites.
1632
1633         * config/debian/pseudo-packages.maintainers: drop install,
1634         installation, boot-floppy, slink-cd, potato-cd and
1635         nonus.debian.org.  Update base.
1636         * config/debian/pseudo-packages.description: likewise.
1637
1638         * daklib/utils.py (re_srchasver): new regex.
1639         (parse_changes): use regex to split 'Source (Version)' style
1640         Source fields into 'source' and 'source-version'.
1641
1642         * config/debian/cron.daily: use $base instead of hardcoding path
1643         name.
1644
1645         * scripts/debian/mkfilesindices: source 'vars' file and use it's
1646         variables instead of hardcoding path names.
1647
1648         * config/debian/apt.conf: switch from /org to /srv.
1649         * config/debian/apt.conf.buildd: likewise.
1650         * config/debian/apt.conf.stable: likewise.
1651         * config/debian/cron.daily: likewise.
1652         * config/debian/cron.hourly: likewise.
1653         * config/debian/cron.monthly: likewise.
1654         * config/debian/cron.unchecked: likewise.
1655         * config/debian/cron.weekly: likewise.
1656         * config/debian/dak.conf: likewise.
1657         * config/debian/vars: likewise.
1658         * scripts/debian/mkfilesindices: likewise.
1659
1660 2007-02-08  James Troup  <james@nocrew.org>
1661
1662         * dak/process_unchecked.py (check_signed_by_key): new function to
1663         ensure .changes files are signed by an authorized uploader.
1664         (process_it): use it.
1665
1666         * config/debian/dak.conf (Binary-Upload-Restrictions): new stanza
1667         to configure per suite/component/architecture binary upload
1668         restrictions.
1669
1670 2006-10-09  James Troup  <james.troup@canonical.com>
1671
1672         * dak/process_unchecked.py (check_timestamps): change match to
1673         search as recent versions of python-apt prefix the string with 'E: '.
1674
1675 2006-10-09  James Troup  <james.troup@canonical.com>
1676
1677         * dak/process_unchecked.py (check_timestamps): change match to
1678         search as recent versions of python-apt prefix the string with 'E: '.
1679
1680 2006-06-26  Ryan Murray  <rmurray@debian.org>
1681
1682         * dak/process_unchecked.py (check_files): strip optional source version
1683         from Source: field in changes file, and ensure what is left is a valid
1684         package name.
1685
1686 2006-06-26  Ryan Murray  <rmurray@debian.org>
1687
1688         * dak/process_unchecked.py (check_files): strip optional source version
1689         from Source: field in changes file, and ensure what is left is a valid
1690         package name.
1691
1692 2006-06-23  Ryan Murray  <rmurray@debian.org>
1693
1694         * dak/process_unchecked.py (check_files): also check ProposedUpdates
1695         queue for source.
1696
1697 2006-06-23  Ryan Murray  <rmurray@debian.org>
1698
1699         * dak/process_unchecked.py (check_files): also check ProposedUpdates
1700         queue for source.
1701
1702 2006-06-18  Ryan Murray  <rmurray@debian.org>
1703
1704         * dak/scripts/debian/update-ftpstats: look for dak named processes in
1705         the log, too.
1706
1707         * dak/process_unchecked.py (check_files): only check embargoed and
1708         unembargoed queues if the keys are set.
1709
1710         * dak/config/debian-security/apt.conf: set Packages::Compress to gzip
1711         and bzip2 for etch.
1712
1713 2006-06-18  Ryan Murray  <rmurray@debian.org>
1714
1715         * dak/scripts/debian/update-ftpstats: look for dak named processes in
1716         the log, too.
1717
1718         * dak/process_unchecked.py (check_files): only check embargoed and
1719         unembargoed queues if the keys are set.
1720
1721         * dak/config/debian-security/apt.conf: set Packages::Compress to gzip
1722         and bzip2 for etch.
1723
1724 2006-06-16  James Troup  <james@nocrew.org>
1725
1726         * dak/dak.py (init): add new-security-install.
1727
1728         * dak/new_security_install.py: cleanups and adapt for new naming
1729         scheme and other changes.
1730
1731 2006-06-16  Anthony Towns  <ajt@debian.org>
1732
1733         * dak/new_security_install.py: initial version imported from
1734         klecker.
1735
1736 2006-06-16  James Troup  <james@nocrew.org>
1737
1738         [Merged changes from klecker - original author unknown.]
1739
1740         * daklib/queue.py (Upload.dump_vars): also save changes["adv id"].
1741
1742         * dak/security_install.py (do_upload): fix check for oldstable and
1743         upload file list handling.
1744
1745         * dak/process_unchecked.py (check_files): update "check for
1746         source" code to also look in Embargoed and Unembargoed queues.
1747         (is_unembargo): fix handling of Dir::Queue::Disembargo.
1748
1749         * dak/decode_dot_dak.py (main): add support for changes["adv id"].
1750
1751         * config/debian-security/vars (disembargo): add.
1752
1753         * config/debian-security/dak.conf (Dinstall::SigningKeyIds):
1754         update.
1755         (Process-Unchecked::AcceptedLockFile): add.
1756         (Suite::Testing): clean up Version and Description.
1757         (SuiteMappings): add silent map from etch-secure to testing.
1758
1759         * config/debian-security/cron.unchecked: add support for
1760         disembargoed queues.
1761
1762         * config/debian-security/apt.conf.buildd: add bzip2ed Packages
1763         files too.
1764
1765         * config/debian-security/apt.conf: add amd64 to architectures for
1766         testing-security.
1767
1768 2006-06-11  James Troup  <troup@spohr.debian.org>
1769
1770         * config/debian/cron.daily: invoke process-accepted not
1771         process-unchecked.
1772
1773         * config/debian/vars (scriptsdir): new variable.
1774         * config/debian/cron.daily: use it.
1775
1776         * scripts/debian/mkmaintainers: put Maintainers_Versions-non-US in
1777         $base/misc/ instead of versioned $masterdir.  Correct 'dak
1778         make-maintainers' invocation to look in $configdir for
1779         pseudo-packages.maintainers.
1780
1781         * daklib/queue.py (Upload.do_reject): use correct name for
1782         rejection template.
1783
1784 2006-06-11  James Troup  <james@nocrew.org>
1785
1786         * dak/override.py (main): temporarily add content of old X-Katie
1787         header back as the PTS apparently filters on it.
1788         * dak/process_accepted.py (main): likewise.
1789         * dak/process_new.py (main): likewise.
1790         * dak/process_unchecked.py (main): likewise.
1791         * dak/reject_proposed_updates.py (main): likewise.
1792         * dak/rm.py (main): likewise.
1793         * daklib/queue.py (Upload.do_reject): likewise.
1794
1795         * config/debian/cron.unchecked: set -u to error out on undefined
1796         variables.  Preset LOCKDAILY to "" accordingly.
1797         * config/debian/cron.hourly: likewise.
1798         * config/debian/cron.monthly: likewise.
1799         * config/debian/cron.weekly: likewise.
1800
1801         * config/debian/vars (configdir): add new variable pointing to
1802         this directory.
1803
1804         * config/debian/cron.daily: use $configdir inplace of $masterdir
1805         when that's what we mean, and don't cd into $masterdir just to run
1806         dak scripts as we don't need to do that anymore.
1807         * config/debian/cron.hourly: likewise.
1808         * config/debian/cron.unchecked: likewise.
1809         * config/debian/cron.weekly: likewise.
1810
1811         * config/debian/dak.conf
1812         (Import-Users-From-Passwd::KnownPostgres): temporarily add 'katie'
1813         user back to list of known users as it's non-trivial to entirely
1814         change the owner of a database with postgresql 7.4.
1815
1816         * daklib/queue.py (Upload.source_exists): use string object
1817         methods rather than string module.
1818         (Upload.get_anyversion): likewise.
1819
1820         * daklib/utils.py (validate_changes_file_arg): update filename
1821         slicing to cope with new .dak filenames.
1822
1823         * dak/ls.py (main): add back 'heidi' as a valid argument for
1824         -f/--format as people are using it in scripts and breaking that
1825         without warning seems rude.
1826
1827 2006-05-21  James Troup  <james@nocrew.org>
1828
1829         * dak/rm.py (main): use string .isdigit() rather than
1830         utils.str_isnum().
1831         * dak/process_new.py (edit_overrides): likewise.
1832
1833         * daklib/utils.py (str_isnum): removed accordingly.  Also drop
1834         string import.
1835
1836 2006-05-21  James Troup  <james@nocrew.org>
1837
1838         * dak/check_archive.py (check_indices_files_exist): use list
1839         comprehension instead of map().  No longer need to import
1840         deprecated string module as a side-effect.
1841         * dak/check_overrides.py (process): likewise.
1842         (main): likewise.
1843         * dak/cruft_report.py (do_obsolete_source): likewise.
1844         (main): likewise.
1845         * dak/ls.py (main): likewise.
1846         * dak/make_suite_file_list.py (write_filelists): likewise.
1847         * dak/process_accepted.py (stable_install): likewise.
1848         * dak/rm.py (main): likewise.
1849         * dak/stats.py (number_of_packages): likewise.
1850         * daklib/logging.py (Logger.log): likewise.
1851         * daklib/queue.py (Upload.source_exists): likewise.
1852         (Upload.cross_suite_version_check): likewise.
1853         * daklib/utils.py (parse_args): likewise.
1854
1855 2006-05-21  James Troup  <james@nocrew.org>
1856
1857         * daklib/utils.py (process_gpgv_output): new function, split out
1858         of check_signature().
1859         (check_signature): adapt accordingly.
1860         (retrieve_key): new function that will try to retrieve the key
1861         that signed a given file from a keyserver.
1862         (check_signature): add 'autofetch' argument that if not set
1863         defaults to the value of Dinstall::KeyAutoFetch (if that exists).
1864         If 'autofetch' is true, invoke retrieve_key().
1865
1866         * docs/README.config: document Dinstall::KeyAutoFetch and
1867         Dinstall:KeyServer.
1868
1869 2006-05-20  James Troup  <james@nocrew.org>
1870
1871         * dak/find_null_maintainers.py (main):
1872         s/createtimestamp/createTimestamp/ to make things work with modern
1873         slapd.
1874
1875         * config/debian/dak.conf: Update StableRejector, MoreInfoURL,
1876         Stable::Version and Stable::Description for 3.1r2.
1877
1878         * config/debian-non-US/dak.conf: sync with klecker - update
1879         version number of 3.0 and MoreInfoURL.
1880
1881         * docs/README.stable-point-release: Add notes about updating
1882         dak.conf and Reject-Proposed-Updates section in particular.
1883         s/woody/stable/.  Also need to update README.html.
1884
1885         * scripts/debian/mklslar: drop support for uncompressed ls-lR file.
1886
1887         * config/debian/apt.conf: Add udeb tree for proposed-updates.
1888
1889 2006-05-20  Ryan Murray  <rmurray@debian.org>
1890
1891         * scripts/debian/update-ftpstats: new script to update daily
1892         architecture size graph data.
1893
1894         * config/debian/cron.buildd: sync with spohr - due to ftp-master /
1895         buildd split, simply ssh to buildd.d.o and call 'trigger.often'
1896         there.
1897
1898         * config/debian/cron.daily: ssh to buildd and run 'trigger.daily'
1899         before we finish.  Don't push to merkel.
1900
1901         * dak/process_unchecked.py (check_changes): Also look in
1902         ProposedUpdates queue dir.
1903         (check_files): likewise.
1904
1905 2006-05-20  Anthony Towns  <ajt@debian.org>
1906
1907         * scripts/debian/mkfilesindices: new script to generate file
1908         indices used for partial mirroring.
1909
1910         * config/debian/cron.daily: add progress timestamps.
1911
1912         * config/debian/dak.conf: update Dinstall::SigningKeyIds. Add
1913         amd64 to testing, unstable and experimental.  Drop sh from
1914         experimental.  Move Experimental to dists/experimental.  Add
1915         Dir::ProposedUpdates.  Add Architectures::amd64.
1916
1917         * config/debian/apt.conf: add amd64 to testing, unstable and
1918         experimental.  Drop uncompressed Packages files from testing. Drop
1919         sh from experimental.  Move experimental to dists/experimental/.
1920
1921         * config/debian/vars (archs): add amd64.
1922
1923         * dak/process_unchecked.py (action): Add support for
1924         proposed-updates approval queue.
1925         (is_stableupdate): new function - checks if the upload is targeted
1926         at proposed-updates.
1927         (do_stableupdate): likewise - moves upload to proposed-updates
1928         holding area.
1929
1930         * dak/process_new.py (do_new): warn if original or new target
1931         suite are invalid.
1932
1933         * dak/generate_releases.py (print_md5sha_files): less whitespace
1934         between the hash and size.
1935
1936         * dak/generate_index_diffs.py (genchanges): don't say we're not
1937         doing anything.  Better formatting of other messages.
1938         (main): don't skip experimental and remove some 'doing stuff'
1939         prints.
1940
1941 2006-05-18  James Troup  <james@nocrew.org>
1942
1943         * dak/clean_suites.py (clean_binaries): remove debug print of SQL
1944         query.
1945
1946         * dak/init_dirs.py: pylint cleanups - long lines, unused globals,
1947         docstrings, untabify, don't shadow builtins, lowercase non-global
1948         variable names, spaces after commas.  Also bail if given any
1949         arguments since we don't accept any.
1950         * dak/init_db.py: likewise.  Also split large main() into
1951         subfunctions and rename get() to sql_get().
1952
1953         * dak/init_db.py (main): check returned value from
1954         database.get_archive_id().
1955
1956         * dak/dak.py: renamed from shell.py.  Update to support new source
1957         layout.  Created init() and usage() functions.  Various
1958         pylint-inspired cleanups.  Use daklib utils.warn() and
1959         utils.fubar().  Change 'functionality' variable to only have
1960         (command, description) and always invoke main() when running the
1961         module.  Also support -h.
1962
1963 2006-05-17  James Troup  <james@nocrew.org>
1964
1965         * dak/check_archive.py: remove $Id$ and $Revision$ strings.  Update
1966         imports of and calls to daklib modules.  Change script name
1967         everywhere, i.e. in output, mails, comments and configuration tree
1968         + filenames.  Also update references to other renamed scripts,
1969         classes and templates.  Use '.dak' instead of '.katie' for the
1970         queue info storage files.
1971         (Renamed from tea)
1972         * dak/check_overrides.py: likewise.  (Renamed from cindy)
1973         * dak/check_proposed_updates.py: likewise.  (Renamed from jeri)
1974         * dak/clean_proposed_updates.py: likewise.  (Renamed from halle)
1975         * dak/clean_queues.py: likewise.  (Renamed from shania)
1976         * dak/clean_suites.py: likewise.  (Renamed from rhona)
1977         * dak/compare_suites.py: likewise.  (Renamed from andrea)
1978         * dak/control_overrides.py: likewise.  (Renamed from natalie)
1979         * dak/control_suite.py: likewise.  (Renamed from heidi)
1980         * dak/cruft_report.py: likewise.  (Renamed from rene)
1981         * dak/decode_dot_dak.py: likewise.  (Renamed from ashley)
1982         * dak/find_null_maintainers.py: likewise.  (Renamed from rosamund)
1983         * dak/generate_index_diffs.py: likewise.  (Renamed from tiffani)
1984         * dak/generate_releases.py: likewise.  (Renamed from ziyi)
1985         * dak/import_archive.py: likewise.  (Renamed from neve)
1986         * dak/import_ldap_fingerprints.py: likewise. (Renamed from emilie)
1987         * dak/import_users_from_passwd.py: likewise. (Renamed from julia)
1988         * dak/init_db.py: likewise. (Renamed from alyson)
1989         * dak/init_dirs.py: likewise. (Renamed from rose)
1990         * dak/ls.py: likewise. (Renamed from madison)
1991         * dak/make_maintainers.py: likewise.  (Renamed from charisma)
1992         * dak/make_overrides.py: likewise.  (Renamed from denise)
1993         * dak/make_suite_file_list.py: likewise.  (Renamed from jenna)
1994         * dak/mirror_split.py: likewise.  (Renamed from billie)
1995         * dak/override.py: likewise.  (Renamed from alicia)
1996         * dak/poolize.py: likewise.  (Renamed from catherine)
1997         * dak/process_accepted.py: likewise.  (Renamed from kelly)
1998         * dak/process_new.py: likewise.  (Renamed from lisa)
1999         * dak/process_unchecked.py: likewise.  (Renamed from jennifer)
2000         * dak/queue_report.py: likewise.  (Renamed from helena)
2001         * dak/reject_proposed_updates.py: likewise.  (Renamed from lauren)
2002         * dak/rm.py: likewise.  (Renamed from melanie)
2003         * dak/security_install.py: likewise.  (Renamed from amber)
2004         * dak/split_done.py: likewise.  (Renamed from nina)
2005         * dak/stats.py: likewise.  (Renamed from saffron)
2006         * dak/symlink_dists.py: likewise.  (Renamed from saffron)
2007         * daklib/database.py: likewise.  (Renamed from db_access)
2008         * daklib/queue.py: likewise.  'Katie' class -> 'Upload'. (Renamed from katie)
2009         * daklib/utils.py: likewise.
2010
2011         * dak/cruft_report.py: Use '[auto-cruft]' as the magic "this removal
2012         doesn't need to notify anyone" string.
2013         * dak/rm.py: likewise, look for '[auto-cruft]' as the magic string.
2014
2015         * dak/process_accepted.py (init): drop -V/--version argument.
2016         * dak/process_new.py (init): likewise.
2017         * dak/process_unchecked.py (init): likewise.
2018         * dak/reject_proposed_updates.py (init): likewise
2019
2020         * dak/shell.py: Renamed from dak.  ".katie" -> ".dak"
2021
2022         * dak/stats.py: in usage() output change STAT to MODE.
2023
2024 2006-05-15  James Troup  <james@nocrew.org>
2025
2026         * dak/queue_report.py: remove unused encodings imports.
2027
2028         * dak/mirror_split.py: drop unused pg, pwd, db_access and logging
2029         imports.  Initalize 'Cnf' as a global.
2030         (BillieDB._internal_recurse): fix 'util.' typo.
2031
2032         * dak/import_ldap_fingerprints.py (main): drop unused time import and
2033         commented out time check for LDAP search.
2034
2035 2005-12-16  Ryan Murray  <rmurray@debian.org>
2036
2037         * halle: add support for udebs
2038         * kelly: stable_install: add support for binNMU versions
2039
2040 2005-12-05  Anthony Towns  <aj@erisian.com.au>
2041
2042         * katie.py: Move accept() autobuilding support into separate function 
2043         (queue_build), and generalise to build different queues
2044
2045         * db_access.py: Add get_or_set_queue_id instead of hardcoding accepted=0
2046
2047         * jennifer: Initial support for enabling embargo handling with the
2048         Dinstall::SecurityQueueHandling option.
2049         * jennifer: Shift common code into remove_from_unchecked and move_to_dir
2050         functions.
2051
2052         * katie.conf-security: Include embargo options
2053         * katie.conf-security: Add Lock dir
2054         * init_pool.sql-security: Create disembargo table
2055         * init_pool.sql-security: Add constraints for disembargo table
2056
2057 2005-11-26  Anthony Towns  <aj@erisian.com.au>
2058
2059         * Merge of changes from klecker, by various people
2060
2061         * amber: special casing for not passing on amd64 and oldstable updates
2062         * amber: security mirror triggering
2063         * templates/amber.advisory: updated advisory structure
2064         * apt.conf.buildd-security: update for sarge's release
2065         * apt.conf-security: update for sarge's release
2066         * cron.buildd-security: generalise suite support, update for sarge's release
2067         * cron.daily-security: update for sarge's release, add udeb support
2068         * vars-security: update for sarge's release
2069         * katie.conf-security: update for sarge's release, add amd64 support,
2070         update signing key
2071
2072         * docs/README.names, docs/README.quotes: include the additions
2073
2074 2005-11-25  Anthony Towns  <aj@erisian.com.au>
2075
2076         * Changed accepted_autobuild to queue_build everywhere.
2077         * Add a queue table.
2078         * Add a "queue" field in the queue_build table (currently always 0)
2079
2080         * jennifer: Restructure to make it easier to support special
2081         purpose queues between unchecked and accepted.
2082
2083 2005-11-25  Anthony Towns  <aj@erisian.com.au>
2084
2085         * Finishing merge of changes from spohr, by various people still
2086
2087         * jennifer: If changed-by parsing fails, set variables to "" so REJECT
2088         works
2089         * jennifer: Re-enable .deb ar format checking
2090         * katie.py: Convert to +bX binNMU special casing
2091         * rhona: Add some debug output when deleting binaries
2092         * cron.daily: Add emilie
2093         * cron.unchecked: Add lock files
2094
2095 2005-11-15  Anthony Towns  <aj@erisian.com.au>
2096
2097         * Merge of changes from spohr, by various people.
2098
2099         * tiffani: new script to do patches to Packages, Sources and Contents
2100         files for quicker downloads.
2101         * ziyi: update to authenticate tiffani generated files
2102
2103         * dak: new script to provide a single binary with less arbitrary names
2104         for access to dak functionality.
2105
2106         * cindy: script implemented
2107
2108         * saffron: cope with suites that don't have a Priority specified
2109         * heidi: use get_suite_id()
2110         * denise: don't hardcode stable and unstable, or limit udebs to unstable
2111         * denise: remove override munging for testing (now done by cindy)
2112         * helena: expanded help, added new, sort and age options, and fancy headers
2113         * jennifer: require description, add a reject for missing dsc file
2114         * jennifer: change lock file
2115         * kelly: propogation support
2116         * lisa: honour accepted lock, use mtime not ctime, add override type_id
2117         * madison: don't say "dep-retry"
2118         * melanie: bug fix in output (missing %)
2119         * natalie: cope with maintainer_override == None; add type_id for overrides
2120         * nina: use mtime, not ctime
2121
2122         * katie.py: propogation bug fixes
2123         * logging.py: add debugging support, use | as the logfile separator
2124
2125         * katie.conf: updated signing key (4F368D5D)
2126         * katie.conf: changed lockfile to dinstall.lock
2127         * katie.conf: added Lisa::AcceptedLockFile, Dir::Lock
2128         * katie.conf: added tiffani, cindy support
2129         * katie.conf: updated to match 3.0r6 release
2130         * katie.conf: updated to match sarge's release
2131
2132         * apt.conf: update for sarge's release
2133         * apt.conf.stable: update for sarge's release
2134         * apt.conf: bump daily max Contents change to 25MB from 12MB
2135
2136         * cron.daily: add accepted lock and invoke cindy
2137         * cron.daily: add daily.lock
2138         * cron.daily: invoke tiffani
2139         * cron.daily: rebuild accepted buildd stuff
2140         * cron.daily: save rene-daily output on the web site
2141         * cron.daily: disable billie
2142         * cron.daily: add stats pr0n
2143
2144         * cron.hourly: invoke helena
2145
2146         * pseudo-packages.maintainers,.descriptions: miscellaneous updates
2147         * vars: add lockdir, add etch to copyoverrides
2148         * Makefile: add -Ipostgresql/server to CXXFLAGS
2149
2150         * docs/: added README.quotes
2151         * docs/: added manpages for alicia, catherine, charisma, cindy, heidi,
2152         julia, katie, kelly, lisa, madison, melanie, natalie, rhona.
2153
2154         * TODO: correct spelling of "conflicts"
2155
2156 2005-05-28  James Troup  <james@nocrew.org>
2157
2158         * helena (process_changes_files): use MTIME rather than CTIME (the
2159         C's not for 'creation', stupid).
2160         * lisa (sort_changes): likewise.
2161
2162         * jennifer (check_distributions): use has_key rather than an 'in'
2163         test which doesn't work with python2.1.  [Probably by AJ]
2164
2165 2005-03-19  James Troup  <james@nocrew.org>
2166
2167         * rene (main): use Suite::<suite>::UdebComponents to determine
2168         what components have udebs rather than assuming only 'main' does.
2169
2170 2005-03-18  James Troup  <james@nocrew.org>
2171
2172         * utils.py (rfc2047_encode): use codecs.lookup() rather than
2173         encodings.<encoding>.Codec().decode() as encodings.utf_8 no longer
2174         has a Codec() module in python2.4.  Thanks to Andrew Bennetts
2175         <andrew@ubuntu.com>.
2176
2177 2005-03-06  Joerg Jaspert  <ganneff@debian.org>
2178
2179         * helena: add -n/--new HTML output option and improved sorting
2180         options.
2181
2182 2005-03-06  Ryan Murray  <rmurray@debian.org>
2183
2184         * shania(main): use Cnf::Dir::Reject instead of REJECT
2185
2186 2005-02-08  James Troup  <james@nocrew.org>
2187
2188         * rene (main): add partial NBS support by checking that binary
2189         packages are built by their real parent and not some random
2190         stranger.
2191         (do_partial_nbs): likewise.
2192
2193 2005-01-18  James Troup  <james@nocrew.org>
2194
2195         * katie.py (Katie.build_summaries): avoid leaking file handle when
2196         extracting package description.
2197         (Katie.force_reject): remember and close each file descriptor we
2198         use.
2199         (Katie.do_reject): s/file/temp_fh/ to avoid pychecker warning.
2200         s/reason_file/reason_fd/ because it's a file descriptor.
2201         (Katie.check_dsc_against_db): avoid leaking file handle whenever
2202         invoking apt_pkg.md5sum().
2203
2204         * jennifer (check_deb_ar): new function: sanity check the ar
2205         contents of a .deb.
2206         (check_files): use it.
2207         (check_timestamps): check for data.tar.bz2 if data.tar.gz can't be
2208         found.
2209         (check_files): accept 'raw-installer' as an alias for 'byhand'.
2210
2211 2005-01-14  Anthony Towns  <ajt@debian.org>
2212
2213         * kelly: when UNACCEPTing, don't double up the "Rejecting:"
2214
2215         * propup stuff (thanks to Andreas Barth)
2216         * katie.conf: add stable MustBeOlderThan testing, add -security
2217           propup
2218         * jennifer: set distribution-version in .katie if propup may be needed
2219         * katie.py: add propogation to cross_suite_version_check
2220
2221 2004-11-27  James Troup  <james@nocrew.org>
2222
2223         * nina: new script to split monolithic queue/done into date-based
2224         hierarchy.
2225
2226         * rene (usage): document -s/--suite.
2227         (add_nbs): use .setdefault().
2228         (do_anais): likewise.
2229         (do_nbs): don't set a string to "" and then += it.
2230         (do_obsolete_source): new function - looks for obsolete source
2231         packages (i.e source packages whose binary packages are ALL a)
2232         claimed by someone else and b) newer when built from the other
2233         source package).
2234         (main): support -s/--suite.  Add 'obsolete source' to both 'daily'
2235         and 'full' check modes.  Check for obsolete source packages.
2236         linux-wlan-ng has been fixed - remove hideous bodge.
2237
2238         * jennifer (check_distributions): support 'reject' suite map type.
2239
2240         * utils.py (validate_changes_file_arg): s/file/filename/.
2241         s/fatal/require_changes/.  If require_changes is -1, ignore errors
2242         and return the .changes filename regardless.
2243         (re_no_epoch): s/\*/+/ as there must be a digit in an epoch.
2244         (re_no_revision): don't escape '-', it's not a special character.
2245         s/\*/+/ as there must be at least one non-dash character after the
2246         dash in a revision.  Thanks to Christian Reis for noticing both of
2247         these.
2248
2249         * ashley (main): pass require_changes=-1 to
2250         utils.validate_changes_file_arg().
2251
2252         * pseudo-packages.maintainers (kernel): switch to 'Debian Kernel
2253         Team <debian-kernel@lists.debian.org>'.
2254
2255         * katie.py (Katie.in_override_p): fix .startswith() usage.
2256
2257         * katie.conf (Dinstall::DefaultSuite): add as 'unstable'.
2258         (Lauren::MoreInfoURL): update to 3.0r3.
2259         (Suite::Stable::Version): likewise.
2260         (Suite::Stable::Description): likewise.
2261
2262         * cron.daily: disable automatic task override generation.
2263
2264         * cindy (process): restrict "find all packages" queries by
2265         component.  Respect Options["No-Action"].
2266         (main): add -n/--no-action support.  Only run on unstable.  Rename
2267         type to otype (pychecker).
2268
2269 2004-11-27  Daniel Silverstone  <dsilvers@digital-scurf.org>
2270
2271         * katie.conf (Billie::BasicTrees): add all architectures.
2272         (Billie::CombinationTrees): remove 'welovehp' and 'embedded', add
2273         'everything'.
2274
2275         * cron.daily: Update a 'current' symlink when creating the
2276         post-daily-cron-job database backup to aid mirroring to merkel.
2277         Run billie.
2278
2279         * billie (BillieTarget.poolish_match): handle .udeb too.
2280
2281 2004-10-13  Ryan Murray  <rmurray@debian.org>
2282
2283         * amber (do_upload): Sort changes files in "katie" order so that
2284           source always arrives before binary-only rebuilds
2285
2286 2004-10-05  James Troup  <james@nocrew.org>
2287
2288         * jennifer (check_dsc): correct reject message on invalid
2289         Maintainer field.
2290
2291 2004-09-20  James Troup  <james@nocrew.org>
2292
2293         * alicia: remove unused 'pwd' import.
2294
2295         * tea (check_override): underline suite name in output properly.
2296
2297         * rene (main): read a compressed Packages file.
2298         * tea (validate_packages): likewise.
2299
2300         * katie.py (re_fdnic): add 'r' prefix.
2301         (re_bin_only_nmu_of_mu): likewise.
2302         (re_bin_only_nmu_of_nmu): likewise.
2303
2304         * madison (main): retrieve component information too and display
2305         it if it's not 'main'.
2306         * melanie (reverse_depends_check): likewise.
2307
2308         * utils.py (pp_dep): renamed...
2309         (pp_deps): ... to this.
2310         * jeri (check_dep): update calls to utils.pp_deps().
2311         * melanie (reverse_depends_check): likewise.
2312
2313         * jennifer (check_changes): move initalization of email variables
2314         from here...
2315         (process_it): ...to here as we no longer always run
2316         check_changes().  Don't bother to initialize
2317         changes["architecture"].
2318
2319         * denise (list): renamed to...
2320         (do_list): ...this to avoid name clash with builtin 'list'.
2321         Similarly, s/file/output_file/, s/type/otype/.  Use .setdefault()
2322         for dictionaries.
2323         (main): Likewise for name clash avoidance and also
2324         s/override_type/suffix/.  Adjust call to do_list().
2325
2326 2004-09-01  Ryan Murray  <rmurray@debian.org>
2327
2328         * tea (check_files): check the pool/ directory instead of dists/
2329
2330 2004-08-04  James Troup  <james@nocrew.org>
2331
2332         * jenna (cleanup): use .setdefault() for dictionaries.
2333         (write_filelists): likewise.
2334
2335         (write_filelists): Use utils.split_args() not split() to split
2336         command line arguments.
2337         (stable_dislocation_p): likewise.
2338
2339         (write_filelists): Add support for mapping side of suite-based
2340         "Arch: all mapping".
2341         (do_da_do_da): ensure that if we're not doing all suites that we
2342         process enough to be able correct map arch: all packages.
2343
2344         * utils.py (cant_open_exc): correct exception string,
2345         s/read/open/, s/.$//.
2346
2347         * templates/amber.advisory: update to match reality a little
2348         better.
2349
2350         * melanie (reverse_depends_check): read Packages.gz rather than
2351         Packages.
2352
2353         * jennifer (check_files): check for unknown component before
2354         checking for NEWness.
2355
2356         * katie.py (Katie.in_override_p): use .startswith in favour of a
2357         slice.
2358
2359         * docs/melanie.1.sgml: document -R/--rdep-check.
2360
2361 2004-07-12  Daniel Silverstone  <dsilvers@digital-scurf.org>
2362
2363         * billie (main): Make the verbatim lists include all the README
2364           elements.
2365         * docs/README.names: Add billie in (correcting oversight)
2366
2367 2004-07-01  James Troup  <james@nocrew.org>
2368
2369         * emilie (main): handle woody's case-sensitive python-ldap,
2370         s/keyfingerprint/keyFingerPrint/.
2371
2372 2004-06-25  James Troup  <james@nocrew.org>
2373
2374         * debian/control (Depends): add dpkg-dev since jennifer uses
2375         dpkg-source.
2376
2377 2004-06-24  James Troup  <james@nocrew.org>
2378
2379         * melanie (main): s/file/temp_file/ and close file handle before
2380         removing the temporary file.
2381         (main): don't warn about needing a --carbon-copy if in no-action
2382         mode.
2383
2384         * rene (do_nbs): pcmcia-cs has been fixed - remove hideous bodge.
2385         (main): likewise.
2386
2387         * test/006/test.py (main): check bracketed email-only form.
2388
2389         * utils.py (fix_maintainer): if the Maintainer string is bracketed
2390         email-only, strip the brackets so we don't end up with
2391         <<james@nocrew.org>>.
2392
2393 2004-06-20  James Troup  <james@nocrew.org>
2394
2395         * jennifer (process_it): only run check_changes() if
2396         check_signature() returns something.  (Likewise)
2397
2398         * utils.py (changes_compare): if there's no changes["version"] use
2399         "0" rather than None.  (Avoids a crash on unsigned changes file.)
2400
2401 2004-06-17  Martin Michlmayr  <tbm@cyrius.com>
2402
2403         * jeri (pp_dep): moved from here to ...
2404         * utils.py (pp_dep): here.
2405
2406         * melanie (main): add reverse dependency checking.
2407
2408 2004-06-17  James Troup  <james@nocrew.org>
2409
2410         * jennifer (check_dsc): s/dsc_whitespace_rules/signing_rules/.
2411         * tea (check_dscs): likewise.
2412
2413         * utils.py (parse_changes): s/dsc_whitespace_rules/signing_rules/,
2414         change from boolean to a variable with 3 possible values, 0 and 1
2415         as before, -1 means don't require a signature.  Makes
2416         parse_changes() useful for parsing arbitary RFC822-style files,
2417         e.g. 'Release' files.
2418         (check_signature): add support for detached signatures by passing
2419         the files the signature is for as an optional third argument.
2420         s/filename/sig_filename/g.  Add a fourth optional argument to
2421         choose the keyring(s) to use.  Don't os.path.basename() the
2422         sig_filename before checking it for taint.
2423         (re_taint_free): allow '/'.
2424
2425 2004-06-11  James Troup  <james@nocrew.org>
2426
2427         * tea (check_files): make override.unreadable optional.
2428         (validate_sources): close the Sources file handle.
2429
2430         * docs/README.first: clarify that 'alyson' and running
2431         add_constraints.sql by hand is something you only want to do if
2432         you're not running 'neve'.
2433
2434         * docs/README.config (Location::$LOCATION::Suites): document.
2435
2436         * db_access.py (do_query): also print out the result of the query.
2437
2438 2004-06-10  James Troup  <james@nocrew.org>
2439
2440         * katie.py (Katie.cross_suite_version_check): post-woody versions
2441         of python-apt's apt_pkg.VersionCompare() function apparently
2442         returns variable integers for less than or greater than results -
2443         update our result checking to match.
2444         * jenna (resolve_arch_all_vs_any): likewise.
2445         * charisma (main): likewise.
2446
2447 2004-06-09  James Troup  <james@nocrew.org>
2448
2449         * jennifer (process_it): s/changes_valid/valid_changes_p/.  Add
2450         valid_dsc_p and don't run check_source() if check_dsc() failed.
2451         (check_dsc): on fatal failures return 0 so check_source() isn't
2452         run (since it makes fatal assumptions about the presence of
2453         mandatory .dsc fields).
2454         Remove unused and obsolete re_bad_diff and re_is_changes regexps.
2455
2456 2004-05-07  James Troup  <james@nocrew.org>
2457
2458         * katie.conf (Rhona::OverrideFilename): unused and obsolete, remove.
2459         * katie.conf-non-US (Rhona::OverrideFilename): likewise.
2460
2461         * katie.conf (Dir::Override): remove duplicate definition.
2462
2463         * neve (get_or_set_files_id): add an always-NULL last_used column
2464         to output.
2465
2466 2004-04-27  James Troup  <james@nocrew.org>
2467
2468         * apt.conf-security (tree "dists/stable/updates"): add
2469         ExtraOverride - noticed by Joey Hess (#246050).
2470         (tree "dists/testing/updates"): likewise.
2471
2472 2004-04-20  James Troup  <james@nocrew.org>
2473
2474         * jennifer (check_files): check for existing .changes or .katie
2475         files of the same name in the Suite::<suite>::Copy{Changes,Katie}
2476         directories.
2477
2478 2004-04-19  James Troup  <james@nocrew.org>
2479
2480         * jennifer (check_source): handle failure to remove the temporary
2481          directory (used for source tree extraction) better, specifically:
2482          if we fail with -EACCES, chmod -R u+rwx the temporary directory
2483          and try again and if that works, REJECT the package.
2484
2485 2004-04-17  James Troup  <james@nocrew.org>
2486
2487         * docs/madison.1.sgml: document -b/--binary-type,
2488         -g/--greaterorequal and -G/--greaterthan.
2489
2490         * madison (usage): -b/--binary-type only takes a single argument.
2491         Document -g/--greaterorequal and -G/--greaterthan.
2492         (main): add support for -g/--greaterorequal and -G/--greaterthan.
2493
2494 2004-04-12  Daniel Silverstone  <dsilvers@digital-scurf.org>
2495
2496         * billie: Cleaned up a load of comments, added /README.non-US to
2497           the verbatim matches list.
2498
2499 2004-04-07  Daniel Silverstone  <dsilvers@digital-scurf.org>
2500
2501         * utils.py (size_type): Make it use real binary megabytes and
2502           kilobytes, instead of the marketing terms used before.
2503
2504 2004-04-07  James Troup  <james@nocrew.org>
2505
2506         * katie.py (Katie.check_dsc_against_db): in the case we're
2507         ignoring an identical-to-existing orig.tar.gz remember the path to
2508         the existent version in pkg.orig_tar_gz.  Adjust query to grab
2509         location.path too to be able to do so.
2510
2511 2004-04-03  James Troup  <james@nocrew.org>
2512
2513         * debian/control (Depends): add python2.1-email | python (>= 2.2)
2514         needed for new utils.rfc2047_encode() function.
2515
2516         * utils.py (re_parse_maintainer): allow whitespace inside the
2517         email address.
2518         (Error): new exception base class.
2519         (ParseMaintError): new exception class.
2520         (force_to_utf8): new function.
2521         (rfc2047_encode): likewise.
2522         (fix_maintainer): rework.  use force_to_utf8() to force name and
2523         rfc822 return values to always use UTF-8.  use rfc2047_encode() to
2524         return an rfc2047 value.  Validate the address to catch missing
2525         email addresses and (some) broken ones.
2526
2527         * katie.py (nmu_p.is_an_nmu): adapt for new utils.fix_maintainer()
2528         by adopting foo2047 return value.
2529         (Katie.dump_vars): add changedby2047 and maintainer2047 as
2530         mandatory changes fields.  Promote changes and maintainer822 to
2531         mandatory fields.
2532         (Katie.update_subst): default maintainer2047 rather than
2533         maintainer822.  User foo2047 rather than foo822 when setting
2534         __MAINTAINER_TO__ or __MAINTAINER_FROM__.
2535
2536         * jennifer (check_changes): set default changes["maintainer2047"]
2537         and changes["changedby2047"] values rather than their 822
2538         equivalents.  Makes changes["changes"] a mandatory field.  Adapt
2539         to new utils.fix_maintainer() - reject on exception and adopt
2540         foo2047 return value.
2541         (check_dsc): if a mandatory field is missing don't do any further
2542         checks and as a result reduce paranoia about dsc[var] existence.
2543         Validate the maintainer field by calling new
2544         utils.fix_maintainer().
2545
2546         * ashley (main): add changedby2047 and maintainer2047 to mandatory
2547         changes fields.  Promote maintainer822 to a mandatory changes
2548         field.  add "pool name" to files fields.
2549
2550         * test/006/test.py: new file - tests for new
2551         utils.fix_maintainer().
2552
2553 2004-04-01  James Troup  <james@nocrew.org>
2554
2555         * templates/lisa.prod (To): use __MAINTAINER_TO__ not __MAINTAINER__.
2556
2557         * jennifer (get_changelog_versions): create a symlink mirror of
2558         the source files in the temporary directory.
2559         (check_source): if check_dsc_against_db() couldn't find the
2560         orig.tar.gz bail out.
2561
2562         * katie.py (Katie.check_dsc_against_db): if the orig.tar.gz is not
2563         part of the upload store the path to it in pkg.orig_tar_gz and if
2564         it can't be found set pkg.orig_tar_gz to -1.
2565
2566         Explicitly return the second value as None in the (usual) case
2567         where we don't have to reprocess.  Remove obsolete diagnostic
2568         logs.
2569
2570         * lisa (prod_maintainer): don't return anything, no one cares. (pychecker)
2571
2572         * utils.py (temp_filename): new helper function that wraps around
2573         tempfile.mktemp().
2574
2575         * katie.py (Katie.do_reject): use it and don't import tempfile.
2576         * lisa (prod_maintainer): likewise.
2577         (edit_note): likewise.
2578         (edit_new): likewise.
2579         * lauren (reject): likewise.
2580         * melanie (main): likewise.
2581         * neve (do_sources): likewise.
2582         * rene (main): likewise.
2583         * tea (validate_sources): likewise.
2584
2585 2004-03-31  James Troup  <james@nocrew.org>
2586
2587         * tea (validate_sources): remove unused 's' temporary variable.
2588
2589 2004-03-15  James Troup  <james@nocrew.org>
2590
2591         * jennifer (check_dsc): check changes["architecture"] for
2592         source before we do anything else.
2593
2594 2004-03-21  Daniel Silverstone  <dsilvers@digital-scurf.org>
2595
2596         * billie: Added
2597         * katie.conf (Billie): Added sample Billie stanza to katie.conf
2598
2599 2004-03-12  James Troup  <james@nocrew.org>
2600
2601         * docs/README.config (Dir::Queue::BTSVersionTrack): document.
2602
2603         * katie.conf (Dir::Queue::BTSVersionTrack): define.
2604
2605         * katie.py (Katie.accept): add support for DebBugs Version
2606         Tracking by writing out .versions (generated in jennifer's
2607         get_changelog_versions()) and .debinfo (mapping of binary ->
2608         source) files.
2609
2610         * ashley (main): add dsc["bts changelog"].
2611
2612         * katie.py (Katie.dump_vars): store dsc["bts changelog"] too.
2613
2614         * jennifer (check_diff): obsoleted by check_source(), removed.
2615         (check_source): new function: create a temporary directory and
2616         move into it and call get_changelog_versions().
2617         (get_changelog_versions): new function: extract the source package
2618         and optionally parse debian/changelog to obtain the version
2619         history for the BTS.
2620         (process_it): call check_source() rather than check_diff().
2621
2622 2004-03-08  James Troup  <james@nocrew.org>
2623
2624         * lisa (edit_index): Fix logic swapo from 'use "if varfoo in
2625         listbar" rather than "if listbar.count(varfoo)"' change on
2626         2004-02-24.
2627
2628 2004-03-05  James Troup  <james@nocrew.org>
2629
2630         * alicia (main): don't warn about not closing bugs - we don't
2631         manage overrides through the BTS.
2632
2633 2004-02-27  Martin Michlmayr  <tbm@cyrius.com>
2634
2635         * docs/README.config: lots of updates and corrections.
2636         * docs/README.first: likewise.
2637
2638         * docs/README.config: drop unused Dir::Queue::Root.
2639         * katie.conf-non-US: likewise.
2640         * katie.conf: likewise.
2641         * katie.conf-security: likewise.
2642
2643 2004-02-27  James Troup  <james@nocrew.org>
2644
2645         * rose (process_tree): use 'if var in [ list ]' rather than long
2646         'if var == foo or var == bar or var == baz'.  Suggested by Martin
2647         Michlmayr.
2648
2649         * jennifer (check_files): reduce 'if var != None' to 'if var' as
2650         suggested by Martin Michlmayr.
2651         * catherine (poolize): likewise.
2652         * charisma (main): likewise.
2653         * halle (check_changes): likewise.
2654         * heidi (main): likewise.
2655         (process_file): likewise.
2656         * kelly (install): likewise.
2657         (stable_install): likewise.
2658         * utils.py (fix_maintainer): likewise.
2659
2660         * apt.conf: add support for debian-installer in testing-proposed-updates.
2661         * katie.conf (Suite::Testing-Proposed-Updates::UdebComponents):
2662         add - set to main.
2663
2664         * mkmaintainers: add "-T15" option to wget of non-US packages file
2665         so that we don't hang cron.daily if non-US is down.
2666
2667         * templates/lisa.prod (Subject): Prefix with "Comments regarding".
2668
2669         * templates/jennifer.bug-close: add Source and Source-Version
2670         pseudo-headers that may be used for BTS Version Tracking someday
2671         [ajt@].
2672
2673         * rene (do_nbs): special case linux-wlan-ng like we do for pcmcia.
2674         (main): likewise.
2675
2676         * cron.unchecked: it's /org/ftp.debian.org not ftp-master.
2677
2678 2004-02-25  James Troup  <james@nocrew.org>
2679
2680         * katie.conf (SuiteMappings): don't map testing-security to
2681         proposed-updates.
2682
2683 2004-02-24  James Troup  <james@nocrew.org>
2684
2685         * katie.py (Katie.__init__): remove unused 'values' field.
2686
2687         * utils.py (extract_component_from_section): use 's.find(c) != -1'
2688         rather than 's.count(c) > 0'.
2689
2690         * katie.py (Katie.source_exists): use "if varfoo in listbar"
2691         rather than "if listbar.count(varfoo)".
2692         * halle (check_joey): likewise.
2693         * jeri (check_joey): likewise.
2694         * lisa (edit_index): likewise.
2695         * jenna (stable_dislocation_p): likewise.
2696
2697         * jennifer (main): remove unused global 'nmu'.
2698
2699 2004-02-03  Daniel Silverstone  <dsilvers@digital-scurf.org>
2700
2701         * pseudo-packages.maintainers (ftp.debian.org): Changed the maintainer
2702           to be ftpmaster@ftp-master.debian.org to bring it into line with how
2703           the dak tools close bugs.
2704
2705 2004-02-02  Daniel Silverstone  <dsilvers@digital-scurf.org>
2706
2707         * katie.conf (Alicia): Added an Alicia section with email address
2708         * templates/alicia.bug-close: Added
2709         * docs/alicia.1.sgml: Added the docs for the -d/--done argument
2710         * alicia (main): Added a -d/--done argument
2711
2712 2004-02-02  Daniel Silverstone  <dsilvers@digital-scurf.org>
2713
2714         * templates/lisa.prod: Oops, missed a BITCH->PROD conversion
2715
2716 2004-01-29  Daniel Silverstone  <dsilvers@digital-scurf.org>
2717
2718         * lisa (prod_maintainer): Added function to prod the maintainer without
2719           accepting or rejecting the package
2720         * templates/lisa.prod: Added this template for the prodding mail
2721
2722         * .cvsignore: Added neve-files which turns up in new installations
2723
2724 2004-01-30  Daniel Silverstone  <dsilvers@digital-scurf.org>
2725
2726         * alicia (usage): Fixed usage message to offer section and priority
2727           as seperately optional arguments.
2728         * alicia (main): Added a % (arg) interpolation needed when only
2729           one of section or priority is provided and it cannot be found.
2730
2731 2004-01-29  Daniel Silverstone  <dsilvers@digital-scurf.org>
2732
2733         * alicia: Added
2734         * docs/alicia.1.sgml: Added
2735         * docs/Makefile: Added alicia to the list of manpages to build
2736         * docs/README.names: Noted what alicia does
2737         * docs/README.first: Noted where alicia is useful
2738
2739 2004-01-21  James Troup  <james@nocrew.org>
2740
2741         * madison (main): add -b/--binary-type.
2742         (usage): likewise.
2743
2744         * denise (main): generate debian-installer overrides for testing
2745         too.
2746         * apt.conf: add support for debian-installer in testing.
2747         * katie.conf (Suite::Testing::UdebComponents): set to main.
2748
2749         * katie.conf (Dinstall::SigningKeyIds): 2004 key.
2750         * katie.conf-non-US (Dinstall::SigningKeyIds): likewise.
2751         * katie.conf-security (Dinstall::SigningKeyIds): likewise.
2752
2753         * utils.py (parse_changes): don't process data not inside the
2754         signed data.  Thanks to Andrew Suffield <asuffield@debian.org> for
2755         pointing this out.
2756         * test/005/test.py (main): new test to test for above.
2757
2758 2004-01-04  James Troup  <james@nocrew.org>
2759
2760         * jenna (write_filelists): correct typo, s/Components/Component/
2761         for Options.
2762
2763 2004-01-04  Ryan Murray  <rmurray@debian.org>
2764
2765         * cron.buildd: move update of overrides and Packages file...
2766         * cron.unchecked: to here.
2767         * katie.conf-non-US: (Dinstall::SingingKeyIds) update for 2003v2 key
2768         * katie.conf-security: likewise
2769
2770 2003-11-20  James Troup  <james@nocrew.org>
2771
2772         * jenna (main): don't use utils.try_with_debug(), it produces way
2773         too much output.
2774
2775         * halle (check_changes): don't error out if a .changes refers to a
2776         non-existent package, just warn and skip the file.
2777
2778         * docs/README.stable-point-release: mention halle and .changes
2779         obsoleted by removal through melanie.  Update for 3.0r2.
2780
2781         * katie.conf (Suite::Stable::Version): bump to 3.0r2.
2782         (Suite::Stable::Description): update for 3.0r2.
2783         (Lauren::MoreInfoURL): likewise.
2784         * katie.conf-non-US (Suite::Stable::Version): likewise.
2785         (Suite::Stable::Description): likewise.
2786         (Lauren::MoreInfoURL): likewise.
2787
2788         * apt.conf.stable (Default): don't define MaxContentsChange.
2789         * apt.conf.stable-non-US (Default): likewise.
2790
2791         * lauren (reject): hack to work around partial replacement of an
2792         upload, i.e. one or more binaries superseded by another source
2793         package.
2794
2795 2003-11-17  James Troup  <james@nocrew.org>
2796
2797         * pseudo-packages.maintainers: point installation-reports at
2798         debian-boot@l.d.o rather than debian-testing@l.d.o at jello@d.o's
2799         request.
2800
2801         * utils.py (parse_changes): calculate the number of lines once
2802         with len() rather than max().
2803
2804         * jennifer (check_dsc): handle the .orig.tar.gz disappearing from
2805         files, since check_dsc_against_db() deletes the .orig.tar.gz
2806         entry.
2807
2808 2003-11-13  Ryan Murray  <rmurray@debian.org>
2809
2810         * apt.conf: specify a src override file for debian-installer
2811
2812 2003-11-10  James Troup  <james@nocrew.org>
2813
2814         * fernanda.py (strip_pgp_signature): new function - strips PGP
2815         signature from a file and returns the modified contents of the
2816         file in a string.
2817         (display_changes): use it.
2818         (read_dsc): likewise.
2819
2820 2003-11-09  Ryan Murray  <rmurray@debian.org>
2821
2822         * cron.buildd: export accepted_autobuild table for unstable, and use
2823         it to generate the incoming Packages/Sources rather than having apt
2824         walk the directory.
2825         * apt.conf.buildd: use exported table from cron.buildd to generate
2826         Packages/Sources
2827
2828 2003-11-07  James Troup  <james@nocrew.org>
2829
2830         * kelly: import errno.
2831
2832         * katie.py (Katie.build_summaries): sort override disparities.
2833
2834         * kelly (install): set dsc_component based on the .dsc's component
2835         not a random binaries.
2836
2837 2003-10-29  James Troup  <james@nocrew.org>
2838
2839         * katie.py (Katie.build_summaries): don't assume changes["source"]
2840         exists since it might not.
2841
2842 2003-10-20  James Troup  <james@nocrew.org>
2843
2844         * pseudo-packages.maintainers: update security.d.o to use
2845         team@s.d.o at joy@'s request.
2846
2847 2003-10-17  James Troup  <james@nocrew.org>
2848
2849         * jennifer (check_dsc): use .startswith rather than .find() == 0.
2850
2851 2003-10-17  Martin Michlmayr  <tbm@cyrius.com>
2852
2853         * tea (chk_bd_process_dir): use .endswith rather than slice.
2854
2855 2003-10-14  James Troup  <james@nocrew.org>
2856
2857         * tea (check_build_depends): new function.
2858         (chk_bd_process_dir): likewise.  Validates build-depends in .dsc's
2859         in the archive.
2860         (main): update for new function.
2861         (usage): likewise.
2862
2863         * katie.py (Katie.do_reject): sanitize variable names,
2864         s/reject_filename/reason_filename/, s/fd/reason_fd/.  Move shared
2865         os.close() to outside if clause.
2866
2867         * jennifer (check_dsc): check build-depends and
2868         build-depends-indep by running them past apt_pkg.ParseSrcDepends.
2869         Fold the ARRAY check into the same code block and tidy up it's
2870         rejection message.
2871         (check_changes): ensure that the Files field is non-empty.
2872         Suggested by Santiago Vila <sanvila@unex.es>
2873         (check_changes): normalize reject messages.
2874         (check_dsc): instead of doing most of the checks inside a for loop
2875         and an if, find the dsc_filename in a short loop over files first
2876         and then do all the checks.  Add check for more than one .dsc in a
2877         .changes which we can't handle.  Normalize reject messages.
2878
2879 2003-10-13  James Troup  <james@nocrew.org>
2880
2881         * katie.conf (Dinstall::Reject::NoSourceOnly): set to true.
2882         * katie.conf-non-US (Dinstall::Reject::NoSourceOnly): likewise.
2883
2884         * jennifer (check_files): Set 'has_binaries' and 'has_source'
2885         variables while iterating over 'files'.  Don't regenerate it when
2886         checking for source if source is mentioned.
2887
2888         Reject source only uploads if the config variable
2889         Dinstall::Reject::NoSourceOnly is set.
2890
2891 2003-10-03  James Troup  <james@nocrew.org>
2892
2893         * rene (main): add nasty hardcoded reference to debian-installer
2894         so we detect NBS .udebs.
2895
2896 2003-09-29  James Troup  <james@nocrew.org>
2897
2898         * apt.conf (old-proposed-updates): remove.
2899         * apt.conf-non-US (old-proposed-updates): likewise.
2900
2901 2003-09-24  James Troup  <james@nocrew.org>
2902
2903         * tea (check_files_not_symlinks): new function, ensure files
2904         mentioned in the database aren't symlinks.  Includes code to
2905         update any files that are like this to their real filenames +
2906         location; commented out by though.
2907         (usage): update for new function.
2908         (main): likewise.
2909
2910 2003-09-24  Anthony Towns  <ajt@debian.org>
2911
2912         * vars: external-overrides variable added
2913         * cron.daily: Update testing/unstable Task: overrides from joeyh
2914         managed external source.
2915
2916 2003-09-22  James Troup  <james@nocrew.org>
2917
2918         * kelly (install): if we can't move the .changes into queue/done,
2919         fail don't warn and carry on.  The old behaviour pre-dates NI and
2920         doesn't make much sense now since jennifer checks both
2921         queue/accepted and queue/done for any .changes files it's
2922         processing.
2923
2924         * utils.py (move): don't throw exceptions on existing files or
2925         can't overwrite, instead just fubar out.
2926
2927         * jennifer (check_dsc): also check Build-Depends-Indep for
2928         ARRAY-lossage.  Noticed by Matt Zimmerman <mdz@debian.org>.
2929
2930 2003-09-18  James Troup  <james@nocrew.org>
2931
2932         * katie.py (Katie.close_bugs): only log the bugs we've closed
2933         once.
2934
2935         * kelly (main): log as 'kelly', not 'katie'.
2936
2937 2003-09-16  James Troup  <james@nocrew.org>
2938
2939         * katie.py (Katie.check_binary_against_db): likewise noramlize.
2940
2941         * jennifer (check_changes): normalize reject message for "changes
2942         file already exists" to be %s: <foo>.
2943         (check_dsc): add a check for 'Build-Depends: ARRAY(<hex>)'
2944         produced by broken dpkg-source in 1.10.11.  Tone down and
2945         normalize rejection message for incompatible 'Format' version
2946         numbers.
2947         (check_diff): likewise tone down and normalize.
2948
2949 2003-09-07  James Troup  <james@nocrew.org>
2950
2951         * utils.py (parse_changes): if dsc_whitespace_rules is false,
2952         don't bomb out on bogus empty lines.
2953         (build_file_list): check for changes["files"] earlier.  use Dict
2954         to create files[name] dictionary.
2955         (send_mail): don't bother validating arguments.
2956         (check_signature): minor improvements to some of the rejection
2957         messages including listing the key id of the key that wasn't found
2958         in the keyring.
2959         (wrap): new function.
2960
2961         * tea: add new check 'validate-indices' that ensures all files
2962         mentioned in indices (Packages, Sources) files do in fact exist.
2963
2964         * catherine (poolize): use a local re_isadeb which handles legacy
2965         (i.e. no architecture) style .deb filenames.
2966
2967         * rosamund: new script.
2968
2969         * rhona (check_binaries): when checking for binary packages not in
2970         a suite, don't bother selecting files that already have a
2971         last_used date.
2972         (check_sources): likewise.
2973
2974         * rhona: change all SQL EXISTS sub-query clauses to use the
2975         postgres suggested convention of "SELECT 1 FROM".
2976         * andrea (main): likewise.
2977         * tea (check_override): likewise.
2978         * catherine (main): likewise.
2979
2980         * katie.conf (Suite): remove OldStable and Old-Proposed-Updates
2981         entries and in other suites MustBeNewerThan's.
2982         (SuiteMappings): likewise
2983         * katie.conf-non-US: likewise.
2984         * katie.conf-security: likewise.
2985
2986         * apt.conf-security: remove oldstable.
2987         * apt.conf.stable: likewise.
2988         * apt.conf.stable-non-US: likewise.
2989         * cron.buildd-security: likewise.
2990         * cron.daily-security: likewise.
2991         * vars-security (suites): likewise.
2992         * wanna-build/trigger.daily: likewise.
2993
2994         * claire.py (clean_symlink): move...
2995         * utils.py (clean_symlink): here.
2996
2997         * claire.py (find_dislocated_stable): update accordingly.
2998
2999 2003-08-16  Anthony Towns  <ajt@debian.org>
3000
3001         * katie.py (source_exists): expand the list of distributions
3002         the source may exist in to include any suite that's mapped to
3003         the destination suite (even transitively (a->b->c)). This should
3004         unbreak binary uploads to *-proposed-updates.
3005
3006 2003-08-09  Randall Donald  <rdonald@debian.org>
3007
3008         * lisa (recheck): change changes["distribution"].keys() to
3009         Katie.pkg.changes...
3010
3011 2003-08-08  Randall Donald  <rdonald@debian.org>
3012
3013         * katie.py: only tag bugs as fixed-in-experimental for
3014         experimental uploads
3015
3016 2003-07-26  Anthony Towns  <ajt@debian.org>
3017
3018         * katie.py (source_exists): add an extra parameter to limit the
3019         distribution(s) the source must exist in.
3020         * kelly, lisa, jennifer: update to use the new source_exists
3021
3022 2003-07-15  Anthony Towns  <ajt@debian.org>
3023
3024         * ziyi: quick hack to support a FakeDI line in apt.conf to generate
3025         checksums for debian-installer stuff even when it's just a symlink to
3026         another suite
3027
3028         * apt.conf: add the FakeDI line
3029
3030 2003-06-09  James Troup  <james@nocrew.org>
3031
3032         * kelly (check): make sure the 'file' we're looking for in 'files'
3033         hasn't been deleted by katie.check_dsc_against_db().
3034
3035 2003-05-07  James Troup  <james@nocrew.org>
3036
3037         * helena (time_pp): fix s/years/year/ typo.
3038
3039 2003-04-29  James Troup  <james@nocrew.org>
3040
3041         * madison (usage): document -c/--component.
3042
3043         * madison (usage): Fix s/seperated/separated/.
3044         * melanie (usage): likewise.
3045         * jenna (usage): likewise.
3046
3047 2003-04-24  James Troup  <james@nocrew.org>
3048
3049         * cron.daily-non-US: if there's nothing for kelly to install, say
3050         so.
3051
3052         * jennifer (check_timestamps): print sys.exc_value as well as
3053         sys.exc_type when capturing exceptions.  Prefix 'timestamp check
3054         failed' with 'deb contents' to make it clearer what timestamp(s)
3055         are being checked.
3056
3057 2003-04-15  James Troup  <james@nocrew.org>
3058
3059         * cron.daily-non-US: only run kelly if there are some .changes
3060         files in accepted.
3061
3062         * rene: add -m/--mode argument which can be either daily (default)
3063         or full.  In daily mode only 'nviu' and 'nbs' checks are run.
3064         Various changes to make this possible including a poor attempt at
3065         splitting main() up a little.  De-hardcode suite numbers from SQL
3066         queries and return quietly from do_nviu() if experimental doesn't
3067         exist (i.e. non-US).  Hardcode pcmcia-cs as dubious NBS since it
3068         is.
3069
3070         * debian/control (Depends): remove python-zlib as it's obsolete.
3071
3072         * charisma (main): don't slice the \n off strings when we're
3073         strip()-ing it anyway.
3074         * heidi (set_suite): likewise.
3075         (process_file): likewise.
3076         * natalie (process_file): likewise.
3077
3078 2003-04-08  James Troup  <james@nocrew.org>
3079
3080         * katie.py (Katie.check_dsc_against_db): improve the speed of two
3081         slow queries by using one LIKE '%foo%' and then matching against
3082         '%s' or '/%s$' in python.  Also only join location when we need it
3083         (i.e. the .orig.tar.gz query).  On auric, this knocks ~3s of each
3084         query, so 6s for each sourceful package.
3085
3086         * cron.daily: invoke rene and send the report to ftpmaster.
3087         * cron.daily-non-US: likewise.
3088
3089 2003-03-14  James Troup  <james@nocrew.org>
3090
3091         * utils.py (send_mail): default filename to blank.
3092         * amber (make_advisory): adapt.
3093         * jennifer (acknowledge_new): likewise.
3094         * katie.py (Katie.close_bugs): likewise.
3095         (Katie.announce): likewise.
3096         (Katie.accept): likewise.
3097         (Katie.check_override): likewise.
3098         (Katie.do_reject): likewise.
3099         * kelly (do_reject): likewise.
3100         (stable_install): likewise.
3101         * lisa (do_bxa_notification): likewise.
3102         * lauren (reject): likewise.
3103         * melanie (main): likewise.
3104
3105         * rene (add_nbs): check any NBS packages against unstable to see
3106         if they haven't been removed already.
3107
3108         * templates/katie.rejected: remove paragraph about rejected files
3109         since they're o-rwx due to c-i-m and the uploader can't do
3110         anything about them and shania will take care of them anyway.
3111
3112         * madison (usage): update usage example to use comma seperation.
3113         * melanie (usage): likewise.
3114
3115         * utils.py (split_args): new function; splits command line
3116         arguments either by space or comma (whichever is used).  Also has
3117         optional-but-default DWIM spurious space detection to avoid
3118         'command -a i386, m68k' problems.
3119         (parse_args): use it.
3120         * melanie (main): likewise.
3121
3122         * melanie (main): force the admin to tell someone if we're not
3123         doing a rene-led removal (or closing a bug, which counts as
3124         telling someone).
3125
3126 2003-03-05  James Troup  <james@nocrew.org>
3127
3128         * katie.conf (Section): add embedded, gnome, kde, libdevel, perl
3129         and python sections.
3130         * katie.conf-security (Section): likewise.
3131
3132         * add_constraints.sql: add uid and uid_id_seq to grants.
3133
3134         * lisa (determine_new): also warn about adding overrides to
3135         oldstable.
3136
3137         * madison (main): make the -S/--source-and-binary query obey
3138         -s/--suite restrictions.
3139
3140 2003-03-03  James Troup  <james@nocrew.org>
3141
3142         * madison (main): if the Archive_Maintenance_In_Progress lockfile
3143         exists, warn the user that our output might seem strange.  (People
3144         get confused by multiple versions in a suite which happens
3145         post-kelly but pre-jenna.)
3146
3147 2003-02-21  James Troup  <james@nocrew.org>
3148
3149         * kelly (main): we don't need to worry about StableRejector.
3150
3151         * melanie (main): sort versions with apt_pkg.VersionCompare()
3152         prior to output.
3153
3154         * lauren: new script to manually reject packages from
3155         proposed-updates.  Updated code from pre-NI kelly (nee katie).
3156
3157 2003-02-20  James Troup  <james@nocrew.org>
3158
3159         * kelly (init): remove unused -m/--manual-reject argument.
3160
3161         * katie.py (Katie.force_reject): renamed from force_move to make
3162         it more explicit what this function does.
3163         (Katie.do_reject): update to match.
3164
3165         * utils.py (prefix_multi_line_string): add an optional argument
3166         include_blank_lines which defaults to 0.  If non-zero, blank lines
3167         will be includes in the output.
3168
3169         * katie.py (Katie.do_reject): don't add leading space to each line
3170         of the reject message.  Include blank lines when showing the
3171         message to the user.
3172
3173 2003-02-19  Martin Michlmayr  <tbm@cyrius.com>
3174
3175         * utils.py (fix_maintainer): replace pointless re.sub() with
3176         simple string format.
3177
3178 2003-02-11  James Troup  <james@nocrew.org>
3179
3180         * lisa (edit_overrides): only strip-to-one-char and upper-case
3181         non-numeric answers.  Fixes editing of items with indices >= 10;
3182         noticed by Randall.
3183         (edit_overrides): correct order of arguments to "not a valid
3184         index" error message.
3185
3186         * jenna (cleanup): call resolve_arch_all_vs_any() rather than
3187         remove_duplicate_versions(); thanks to aj for the initial
3188         diagnosis.
3189         (remove_duplicate_versions): correct how we return
3190         dominant_versions.
3191         (resolve_arch_all_vs_any): arch_all_versions needs to be a list of
3192         a tuple rather than just a tuple.
3193
3194 2003-02-10  James Troup  <james@nocrew.org>
3195
3196         * emilie: new script - sync fingerprint and uid tables with a
3197         debian.org LDAP DB.
3198
3199         * init_pool.sql: new table 'uid'; contains user ids.  Reference it
3200         in 'fingerprint'.
3201
3202         * db_access.py (get_or_set_uid_id): new function.
3203
3204         * jennifer (main): update locking to a) not used FCNTL (deprecated
3205         in python >= 2.2) and b) acknowledge upstream's broken
3206         implementation of lockf (see Debian bug #74777), c) try to acquire
3207         the lock non-blocking.
3208         * kelly (main): likewise.
3209
3210         * contrib/python_1.5.2-fcntl_lockf.diff: obsolete, removed.
3211
3212         * madison (main): only append the package to new_packages if it's
3213         not already in there; fixes -S/--source-and-binary for cases where
3214         the source builds a binary package of the same name.
3215
3216 2003-02-10  Anthony Towns  <ajt@debian.org>
3217
3218         * madison (main): use explicit JOIN syntax for
3219         -S/--source-and-binary queries to reduce the query's runtime from
3220         >10 seconds to negligible.
3221
3222 2003-02-08  James Troup  <james@nocrew.org>
3223
3224         * rene (main): in the NVIU output, append items to lists, not
3225         extend them; fixes amusing suggestion that "g n u m e r i c" (sic)
3226         should be removed.
3227
3228 2003-02-07  James Troup  <james@nocrew.org>
3229
3230         * apt.conf (tree "dists/unstable"): Add bzip2-ed Packages and
3231         Sources [aj].
3232
3233         * pseudo-packages.maintainers (bugs.debian.org): s/Darren
3234         O. Benham/Adam Heath/.
3235
3236         * katie.conf (Suite::Stable::Version): bump to 3.0r1a.
3237         (Suite::Stable::Description): update for 3.0r1a.
3238         (Dinstall::SigningKeyIds): update for 2003 key [aj].
3239
3240         * utils.py (gpgv_get_status_output): rename from
3241         get_status_output().
3242
3243         * neve (check_signature): use gpgv_get_status_output and Dict from
3244         utils().  Add missing newline to error message about duplicate tokens.
3245
3246         * saffron (per_arch_space_use): also print space used by source.
3247         (output_format): correct string.join() invocation.
3248
3249         * jennifer (check_signature): ignored duplicate EXPIRED tokens.
3250
3251 2003-02-04  James Troup  <james@nocrew.org>
3252
3253         * cron.buildd: correct generation of Packages/Sources and grep out
3254         non-US/non-free as well as non-free.
3255
3256 2003-02-03  Ryan Murray  <rmurray@debian.org>
3257
3258         * cron.buildd: generate quinn-diff output with full Packages/Sources
3259           files to get out-of-date vs. uncompiled right.
3260         * apt.conf.buildd: no longer generate uncompressed files, as they
3261           are generated in cron.buildd instead
3262         * add -i option to quinn-diff to ignore binary-all packages
3263         * apt.conf.buildd: remove and readd udeb to extensions.  If the udebs
3264           aren't in the packages file, the arch that uploaded them will build
3265           them anyways...
3266
3267 2003-01-30  James Troup  <james@nocrew.org>
3268
3269         * rene (main): only print suggested melanie command when there's
3270         some NBS to remove.
3271
3272 2003-01-30  Ryan Murray  <rmurray@debian.org>
3273
3274         * cron.buildd: fix incorrectly inverted lockfile check
3275
3276 2003-01-29  Ryan Murray  <rmurray@debian.org>
3277
3278         * cron.buildd: generate override.sid.all3.src
3279         * apt.conf.buildd: use generated override.sid.all3.src
3280
3281 2003-01-27  Martin Michlmayr  <tbm@cyrius.com>
3282
3283         * utils.py (get_status_output): moved from jennifer.
3284         (Dict): likewise.
3285         (check_signature): likewise.
3286
3287         * jennifer (get_status_output): moved to utils.py.
3288         (Dict): likewise.
3289         (check_signature): likewise.
3290
3291         * utils.py (check_signature): add an argument to specifiy which
3292         function to call when an error was found.
3293         (check_signature): document this function better.
3294
3295         * jennifer (check_files): pass the reject function as an argument
3296         to utils.check_signature.
3297         (process_it): likewise.
3298
3299 2003-01-20  James Troup  <james@nocrew.org>
3300
3301         * rene (main): lots of changes to improve the output and make it
3302         more useful.
3303
3304         * katie.py (Katie.check_override): make the override messages
3305         clearer (hopefully).
3306
3307 2002-12-26  James Troup  <james@nocrew.org>
3308
3309         * ziyi (usage): document the ability to pass suite(s) as
3310         argument(s).
3311         (main): read apt.conf after checking for -h/--help.
3312
3313         * tea (main): take the check to run as an argument.
3314
3315         * saffron.R: R script to graph daily install runs.
3316
3317         * saffron: new script; various stats functions.
3318
3319         * rhona (main): connect to the database after checking for -h/--help.
3320
3321         * neve (do_da_do_da): if no -a/--action option is given, bail out.
3322
3323         * melanie (main): sort versions with utils.arch_compare_sw().
3324
3325         * madison (usage): alphabetize order of options.
3326         * melanie (usage): likewise.
3327
3328         * kelly (usage): fix usage short description (we aren't dinstall).
3329
3330         * julia (usage): fix usage description and alphabetize order of
3331         options.
3332
3333         * jeri (usage): fix usage short description.
3334
3335         * jennifer (main): move --help and --version checks from here...
3336         (init): to here so that they work with an empty katie.conf.
3337         * kelly: likewise.
3338
3339         * alyson (usage): new function.
3340         (main): use it.
3341         * andrea: likewise.
3342         * ashley: likewise.
3343         * cindy: likewise.
3344         * denise: likewise.
3345         * helena: likewise.
3346         * neve: likewise.
3347         * rene: likewise.
3348         * rose: likewise.
3349         * tea: likewise.
3350
3351         * apt.conf.stable (tree "dists/stable"): add missing ExtraOverride
3352         entry that caused tasks to be omitted from 3.0r1.
3353
3354 2002-12-10  James Troup  <james@nocrew.org>
3355
3356         * jennifer (check_files): sanity check the Depends field to ensure
3357         it's non-empty if present since apt chokes on an empty one.
3358         Thanks to Ryan Murray for the idea.
3359
3360 2002-12-08  James Troup  <james@nocrew.org>
3361
3362         * katie.conf-security (Helena::Directories): new; include accepted
3363         in addition to byhand and new.
3364
3365         * helena (process_changes_files): use utils.arch_compare_sw().
3366         Justify things based on the longest [package, version,
3367         architecture].  Reduce '[note]' to '[N]' to save space, and remove
3368         the commas in architecture and version lists for the same reason.
3369         (main): make directories we process configurable through
3370         Helena::Directories in the config file; if that doesn't exist
3371         default to the old hardcoded values (byhand & new).
3372
3373         * utils.py (arch_compare_sw): moved here from madison.
3374         * madison (main): adjust to compensate.
3375
3376 2002-12-06  James Troup  <james@nocrew.org>
3377
3378         * ziyi (main): fix "suite foo not in apt.conf" msg to use the
3379         right filename.
3380
3381 2002-12-05  James Troup  <james@nocrew.org>
3382
3383         * katie.conf-non-US (Julia::KnownPostgres): add 'udmsearch'.
3384
3385 2002-11-28  Randall Donald  <rdonald@debian.org>
3386
3387         * fernanda.py (read_control): fix typo of 'Architecture'.
3388
3389 2002-11-26  James Troup  <james@nocrew.org>
3390
3391         * lisa (check_pkg): call less with '-R' so we see the colour from
3392         Randall's fernanda changes.
3393
3394         * neve (process_sources): if Directory points to a legacy location
3395         but the .dsc isn't there; assume it's broken and look in the pool.
3396         (update_section): new, borroed from alyson.
3397         (do_da_do_da): use it.
3398         (process_packages): add suite_it to the cache key used for
3399         arch_all_cache since otherwise we only add a package to the first
3400         suite it's in and ignore any subsequent ones.
3401
3402         * katie.conf-non-US (Location): fixed to reflect reality (all
3403         suites, except old-proposed-updates (which is legacy-mixed)) are
3404         pool.
3405
3406         * utils.py (try_with_debug): wrapper for print_exc().
3407         * jenna (main): use it.
3408         * neve (main): likewise.
3409
3410 2002-11-25  Randall Donald  <rdonald@debian.org>
3411
3412         * fernanda.py (main): added -R to less command line for raw control
3413         character support to print colours
3414         (check_deb): Instead of running dpkg -I on deb file, call
3415         output_deb_info, the new colourized control reporter.
3416         (check_dsc): add call to colourized dsc info reader, read_dsc, instead
3417         of printing out each .dsc line.
3418         (output_deb_info): new function. Outputs each key/value pair from
3419         read_control except in special cases where we highlight section,
3420         maintainer, architecture, depends and recommends.
3421         (create_depends_string): new function. Takes Depends tree and looks
3422         up it's compontent via projectb db, colourizes and constructs a
3423         depends string in original order.
3424         (read_dsc): new function. reads and parses .dsc info via
3425         utils.parse_changes. Build-Depends and Build-Depends-Indep are
3426         colourized.
3427         (read_control): new function. reads and parses control info via
3428         apt_pkg. Depends and Recommends are split in to list structures,
3429         Section and Architecture are colourized. Maintainer is colourized
3430         if it has a localhost.localdomain address.
3431         (split_depends): new function. Creates a list of lists of
3432         dictionaries of depends (package,version relation). Top list is
3433         colected from comma delimited items. Sub lists are | delimited.
3434         (get_comma_list): new function. splits string input among commas
3435         (get_or_list): new function. splits string input among | delimiters
3436         (get_depends_parts): new function. Creates dictionary of package name
3437         and version relation from dependancy string.
3438         Colours for section and depends are per component. Unfound depends
3439         are in bold. Lookups using version info is not supported yet.
3440
3441 2002-11-22  James Troup  <james@nocrew.org>
3442
3443         * katie.conf-security (Julia::KnownPostgres): add 'www-data' and
3444         'udmsearch'.
3445
3446         * amber (make_advisory): string.atol() is deprecated and hasn't
3447         been ported to string methods.  Use long() instead.
3448
3449         * init_pool.sql: explicitly specify the encoding (SQL_ASCII) when
3450         creating the database since we'll fail badly if it's created with
3451         e.g. UNICODE encoding.
3452
3453         * rose (main): AptCnf is a global.
3454
3455         * neve (get_location_path): new function determines the location
3456         from the the first (left-most) directory of a Filename/Directory.
3457         (process_sources): don't need 'location' anymore.  Use
3458         utils.warn().  Use the Directory: field for each package to find
3459         the .dsc.  Use get_location_path() to determine the location for
3460         each .dsc.
3461         (process_packages): do't need 'location' anymore.  Use
3462         utils.warn().  Use get_location_path().
3463         (do_sources): don't need 'location', drop 'prefix' in favour of
3464         being told the full path to the Sources file, like
3465         process_packages().
3466         (do_da_do_da): main() renamed, so that main can call us in a
3467         try/except.  Adapt for the changes in do_sources() and
3468         process_packages() above.  Assume Sources and Packages file are in
3469         <root>/dists/<etc.>.  Treat pool locations like we do legacy ones.
3470
3471         * katie.conf-security (Location): fixed to reflect reality (all
3472         suites are pool, not legacy).
3473
3474         * utils.py (print_exc): more useful (i.e. much more verbose)
3475         traceback; a recipe from the Python cookbook.
3476         * jenna (main): use it.
3477         * neve (main): likewise.
3478
3479 2002-11-19  James Troup  <james@nocrew.org>
3480
3481         * kelly (install): fix brain-damaged CopyChanges/CopyKatie
3482         handling which was FUBAR for multi-suite uploads.  Now we just
3483         make a dictionary of destinations to copy to and iterate over
3484         those.
3485
3486         * fernanda.py (check_deb): run linda as well as lintian.
3487
3488 2002-10-21  James Troup  <james@nocrew.org>
3489
3490         * melanie (main): change X-Melanie to X-Katie and prefix it with
3491         'melanie '.
3492
3493         * lisa (main): prefix X-Katie with 'lisa '.
3494
3495         * jennifer (clean_holding): fix typo in string method changes;
3496         s/file.find(file/file.find(/.
3497
3498         * cron.daily: invoke helena and send the report to ftpmaster.
3499         * cron.daily-non-US: likewise.
3500
3501 2002-10-16  James Troup  <james@nocrew.org>
3502
3503         * kelly (check): call reject() with a blank prefix when parsing
3504         the return of check_dsc_against_db() since it does its own
3505         prefix-ing.
3506
3507         * rose: new script; only handles directory creation initally.
3508
3509         * katie.conf (Dinstall::NewAckList): obsolete, removed.
3510         * katie.conf-non-US (Dinstall::NewAckList): likewise.
3511
3512 2002-10-06  James Troup  <james@nocrew.org>
3513
3514         * rene (main): remove bogus argument handling.
3515
3516         * kelly: katie, renamed.
3517         * cron.daily: adapt for katie being renamed to kelly.
3518         * cron.daily-non-US: likewise.
3519         * amber (main): likewise.
3520
3521         * Changes for python 2.1.
3522
3523         * kelly: time.strftime no longer requires a second argument of
3524         "time.localtime(time.time())".
3525         * logging.py: likewise.
3526         * rhona: likewise.
3527         * shania (init): likewise.
3528
3529         * amber: use augmented assignment.
3530         * catherine (poolize): likewise.
3531         * claire.py (fix_component_section): likewise.
3532         * halle (check_changes): likewise.
3533         * helena: likewise.
3534         * jenna: likewise.
3535         * jennifer: likewise.
3536         * jeri: likewise.
3537         * katie.py: likewise.
3538         * kelly: likewise.
3539         * lisa: likewise.
3540         * madison (main): likewise.
3541         * melanie: likewise.
3542         * natalie: likewise.
3543         * neve: likewise.
3544         * rhona: likewise.
3545         * tea: likewise.
3546         * utils.py: likewise.
3547         * ziyi: likewise.
3548
3549         * amber: use .endswith.
3550         * fernanda.py: likewise.
3551         * halle (main): likewise.
3552         * jennifer: likewise.
3553         * jeri: likewise.
3554         * katie.py: likewise.
3555         * kelly: likewise.
3556         * lisa: likewise.
3557         * neve: likewise.
3558         * shania (main): likewise.
3559         * utils.py: likewise.
3560
3561         * alyson: use string methods.
3562         * amber: likewise.
3563         * andrea: likewise.
3564         * ashley: likewise.
3565         * catherine: likewise.
3566         * charisma: likewise.
3567         * claire.py: likewise.
3568         * db_access.py: likewise.
3569         * denise: likewise.
3570         * halle: likewise.
3571         * heidi: likewise.
3572         * helena: likewise.
3573         * jenna: likewise.
3574         * jennifer: likewise.
3575         * jeri: likewise.
3576         * julia: likewise.
3577         * katie.py: likewise.
3578         * kelly: likewise.
3579         * lisa: likewise.
3580         * logging.py: likewise.
3581         * madison: likewise.
3582         * melanie: likewise.
3583         * natalie: likewise.
3584         * neve: likewise.
3585         * rene: likewise.
3586         * tea: likewise.
3587         * utils.py: likewise.
3588         * ziyi: likewise.
3589
3590 2002-09-20  Martin Michlmayr  <tbm@cyrius.com>
3591
3592         * utils.py (parse_changes): use <string>.startswith() rather than
3593         string.find().
3594
3595 2002-08-27  Anthony Towns  <ajt@debian.org>
3596
3597         * katie.py (in_override_p): when searching for a source override,
3598         and the dsc query misses, search for both udeb and deb overrides
3599         as well. Should fix the UNACCEPT issues with udebs.
3600
3601 2002-08-24  James Troup  <james@nocrew.org>
3602
3603         * melanie (main): remove gratuitous WHERE EXISTS sub-select from
3604         source+binary package finding code which was causing severe
3605         performance degradation with postgres 7.2.
3606
3607 2002-08-14  James Troup  <james@nocrew.org>
3608
3609         * julia (main): use the pwd.getpwall() to get system user info
3610         rather than trying to read a password file.  Add a -n/--no-action
3611         option.
3612
3613         * cron.hourly: julia no longer takes any arguments.
3614         * cron.hourly-non-US: likewise.
3615
3616 2002-08-07  James Troup  <james@nocrew.org>
3617
3618         * katie (install): handle multi-suite uploads when CopyChanges
3619         and/or CopyKatie are in use, ensuring we only copy stuff once.
3620
3621 2002-08-01  Ryan Murray  <rmurray@debian.org>
3622
3623         * wanna-build/trigger.daily: initial commit, with locking
3624         * cron.buildd: add locking against daily run
3625
3626 2002-07-30  James Troup  <james@nocrew.org>
3627
3628         * melanie (main): readd creation of suite_ids_list so melanie is
3629         remotely useful again.
3630
3631         * katie.conf: adopt for woody release; diable
3632         StableDislocationSupport, add oldstable, adjust other suites and
3633         mappings, fix up location.
3634         * katie.conf-non-US: likewise.
3635         * katie.conf-security: likewise.
3636
3637         * apt.conf.stable: adapt for woody release; add oldstable, adjust
3638         stable.
3639         * apt.conf.stable-non-US: likewise.
3640
3641         * apt.conf-security: adapt for woody release; adding oldstable,
3642         oldstable, adjust stable and testing.
3643         * cron.daily-security: likewise.
3644         * cron.buildd-security: likewise.
3645
3646         * apt.conf: adapt for woody release; rename woody-proposed-updates
3647         to testing-proposed-updates and proposed-updates to
3648         old-proposed-updates.
3649         * apt.conf-non-US: likewise.
3650
3651         * vars-non-US (copyoverrides): add sarge.
3652         * vars (copyoverrides): likewise.
3653
3654         * vars-security (suites): add oldstable.
3655
3656 2002-07-22  Ryan Murray  <rmurray@debian.org>
3657
3658         * apt.conf.security-buildd: use suite codenames instead of
3659           distnames.
3660
3661 2002-07-16  James Troup  <james@nocrew.org>
3662
3663         * denise (main): fix filenames for testing override files.
3664
3665 2002-07-14  James Troup  <james@nocrew.org>
3666
3667         * jennifer (process_it): call check_md5sums later so we can check
3668         files in the .dsc too
3669         (check_md5sums): check files in the .dsc too.  Check both md5sum
3670         and size.
3671
3672         * melanie (main): use parse_args() and join_with_commas_and() from
3673         utils.  If there's nothing to do, say so and exit, don't ask for
3674         confirmation etc.
3675
3676         * amber (join_with_commas_and): moved from here to ...
3677         * utils.py (join_with_commas_and): here.
3678
3679 2002-07-13  James Troup  <james@nocrew.org>
3680
3681         * madison (main): use parse_args() from utils.  Support
3682         -c/--component.
3683
3684         * jenna (parse_args): moved from here to ...
3685         * utils.py (parse_args): here.
3686
3687         * katie.conf (Architectures): minor corrections to the description
3688         for arm, mips and mipsel.
3689         * katie.conf-non-US (Architectures): likewise.
3690         * katie.conf-security (Architectures): likewise.
3691
3692         * cron.daily-security: use natalie's new -a/--add functionality to
3693         flesh out the security overrides.
3694
3695 2002-07-12  James Troup  <james@nocrew.org>
3696
3697         * cron.buildd (ARCHS): add arm.
3698
3699         * katie.conf: 2.2r7 was released.
3700         * katie.conf-non-US: likewise.
3701
3702         * utils.py (parse_changes): handle a multi-line field with no
3703         starting line.
3704
3705 2002-06-25  James Troup  <james@nocrew.org>
3706
3707         * templates/amber.advisory (To): add missing email address since
3708         __WHOAMI__ is only a name.
3709
3710         * katie.conf-security (Melane::LogFile): correct to go somewhere
3711         katie has write access to.
3712         (Location::/org/security.debian.org/ftp/dists/::Suites): add
3713         Testing.
3714
3715         * natalie: add support for -a/-add which adds packages only
3716         (ignoring changes and deletions).
3717
3718         * katie.py (Katie.announce): Dinstall::CloseBugs is a boolean so
3719         use FindB, not get.
3720
3721 2002-06-22  James Troup  <james@nocrew.org>
3722
3723         * jennifer (check_files): validate the package name and version
3724         field.  If 'Package', 'Version' or 'Architecture' are missing,
3725         don't try any further checks.
3726         (check_dsc): likewise.
3727
3728         * utils.py (re_taint_free): add '~' as a valid character.
3729
3730 2002-06-20  Anthony Towns  <ajt@debian.org>
3731
3732         * katie.conf-non-US: add OverrideSuite for w-p-u to allow uploads
3733
3734 2002-06-09  James Troup  <james@nocrew.org>
3735
3736         * jennifer (check_files): reduce useless code.
3737
3738         * cron.daily-security: run symlinks -dr on $ftpdir.
3739
3740         * vars-security (ftpdir): add.
3741
3742 2002-06-08  James Troup  <james@nocrew.org>
3743
3744         * neve (update_override_type): transaction is handled higher up in
3745         main().
3746         (update_priority): likewise.
3747         (process_sources): remove code that makes testing a duplicate of
3748         stable.
3749         (process_packages): likewise.
3750
3751         * templates/amber.advisory: add missing mail headers.
3752
3753         * cron.daily-security: also call apt-ftparchive clean for
3754         apt.conf.buildd-security.
3755         * cron.weekly: likewise.
3756
3757         * amber (do_upload): write out a list of source packages (and
3758         their version) uploaded for testing.
3759         (make_advisory): add more Subst mappings for the mail headers.
3760         (spawn): check for suspicious characters in the command and abort
3761         if their found.
3762
3763 2002-06-07  James Troup  <james@nocrew.org>
3764
3765         * ziyi (main): remove the 'nonus'/'security' hacks and use
3766         Dinstall::SuiteSuffix (if it exists) instead.  Always try to write
3767         the lower level Release files, even if they don't exist.  fubar
3768         out if we can't open a lower level Release file for writing.
3769
3770         * katie.conf-non-US (Dinstall): add SuiteSuffix, used to simplify
3771         ziyi.
3772         * katie.conf-security (Dinstall): likewise.
3773
3774         * amber (do_upload): renamed from get_file_list().  Determine the
3775         upload host from the original component.
3776         (init): Add a -n/--no-action option.  Fix how we get changes_files
3777         (i.e. from the return value of apt_pkg.ParseCommandLine(), not
3778         sys.argv).  Add an Options global.
3779         (make_advisory): support -n/--no-action.
3780         (spawn): likewise.
3781         (main): likewise.
3782         (usage): document -n/--no-action.
3783
3784         * cron.buildd-security: fix path to Packages-arch-specific in
3785         quinn-diff invocation.
3786
3787         * katie.conf-security (Dinstall::AcceptedAutoBuildSuites): change
3788         to proper suite names (i.e. stable, testing) rather than codenames
3789         (potato, woody).
3790         (Dinstall::DefaultSuite): likewise.
3791         (Suite): likewise.
3792         (Location::/org/security.debian.org/ftp/dists/::Suites): likewise.
3793         * vars-security (suites): likewise.
3794         * apt.conf-security: likewise.
3795
3796         * katie.conf-security (Component): add "updates/" prefix.
3797         (Suite::*::Components): likewise.
3798         (ComponentMappings): new; map all {ftp-master,non-US} components
3799         -> updates/<foo>.
3800
3801         * katie.conf-security (Natalie): removed; the options have
3802         defaults and ComponentPosition is used by alyson which doesn't
3803         work on security.d.o.
3804         (Amber): replace UploadHost and UploadDir with ComponentMappings
3805         which is a mapping of components -> URI.
3806         (Suite::*::CodeName): strip bogus "/updates" suffix hack.
3807         (SuiteMappings): use "silent-map" in preference to "map".
3808
3809         * cron.unchecked-security: fix call to cron.buildd-security.
3810
3811         * cron.daily-security: map local suite (stable) -> override suite
3812         (potato) when fixing overrides.  Correct component in natalie call
3813         to take into account "updates/" prefix.  Fix cut'n'waste in
3814         override.$dist.all3 generation, the old files weren't being
3815         removed, so they were endlessly growing.
3816
3817         * neve (main): don't use .Find for the CodeName since we require
3818         it.  Location::*::Suites is a ValueList.
3819         (check_signature): ignore duplicate SIGEXPIRED tokens.  Don't bomb
3820         out on expired keys, just warn.
3821         (update_override_type): new function; lifted from alyson.
3822         (update_priority): likewise.
3823         (main): use update_{override_type,priority}().
3824
3825         * jennifer (check_distributions): remove redunant test for
3826         SuiteMappings; ValueList("does-not-exist") returns [] which is
3827         fine.  Add support for a "silent-map" type which doesn't warn
3828         about the mapping to the user.
3829         (check_files): add support for ComponentMappings, similar to
3830         SuiteMappings, but there's no type, just a source and a
3831         destination and the original component is stored in "original
3832         component".
3833         * katie.py (Katie.dump_vars): add "original component" as an
3834         optionsal files[file] dump variable.
3835
3836         * claire.py (find_dislocated_stable): dehardcode 'potato' in SQL
3837         query.  Add support for section-less legacy locations like current
3838         security.debian.org through YetAnotherConfigBoolean
3839         'LegacyStableHasNoSections'.
3840         * katie.conf-security (Dinstall): LegacyStableHasNoSections is true.
3841
3842         * utils.py (real_arch): moved here from ziyi.
3843         * ziyi (real_arch): moved to utils.py.
3844         * ziyi (main): likewise.
3845
3846         * claire.py (find_dislocated_stable): use real_arch() with
3847         filter() to strip out source and all.
3848         * neve (main): likewise.
3849         * rene (main): likewise.
3850         * jeri (parse_packages): likewise.
3851
3852 2002-06-06  James Troup  <james@nocrew.org>
3853
3854         * tea (check_missing_tar_gz_in_dsc): modifed patch from Martin
3855         Michlmayr <tbm@cyrius.com> to be more verbose about what we're
3856         doing.
3857
3858 2002-05-23  Martin Michlmayr  <tbm@cyrius.com>
3859
3860         * jeri (check_joey): check if the line contains two elements
3861         before accessing the second.  Also, strip trailing spaces as well
3862         as the newline.
3863         * halle (check_joey): likewise.
3864
3865 2002-06-05  James Troup  <james@nocrew.org>
3866
3867         * cron.unchecked-security: new file; like cron.unchecked but if
3868         there's nothing to do exit so we don't call cron.buildd-security.
3869
3870         * apt.conf.buildd-security: new file.
3871
3872         * vars (archs): alphabetize.
3873         * vars-non-US (archs): likewise.
3874
3875         * vars-security: add unchecked.
3876
3877         * madison (main): reduce rather bizarrely verbose and purposeless
3878         code to print arches to a simple string.join.
3879
3880         * katie.conf (Suites::Unstable): add UdebComponents, a new
3881         valuelist of suites, used by jenna to flesh out the list of
3882         <suite>_main-debian-installer-binary-<arch>.list files generated.
3883         (Dinstall): add StableDislocationSupport, a new boolean used by
3884         jenna to enable or disable stable dislocation support
3885         (i.e. claire), as true.
3886
3887         * katie.conf (Dinstall): add StableDislocationSupport, a new
3888         boolean used by jenna to enable or disable stable dislocation
3889         support (i.e. claire), as true.
3890         * katie.conf-non-US: likewise.
3891         * katie.conf-security: likewise.
3892
3893         * cron.daily-security: generate .all3 overrides for the buildd
3894         support.  Freshen a local copy of Packages-arch-specific from
3895         buildd.debian.org.
3896
3897         * claire.py (find_dislocated_stable): disable the support for
3898         files in legacy-mixed locations since none of the Debian archives
3899         have any anymore.
3900
3901         * helena: new script; produces a report on NEW and BYHAND
3902         packages.
3903
3904         * jenna: rewritten from scratch to fix speed problems.  Run time
3905         on auric goes down from 31.5 minutes to 3.5 minutes.  Of that 3.5
3906         minutes, 105 seconds are the monster query and 70 odd seconds is
3907         claire.
3908
3909         * apt.conf.buildd (Default): remove MaxContentsChange as it's
3910         irrelevant.
3911
3912 2002-06-05  Ryan Murray  <rmurray@debian.org>
3913
3914         * cron.buildd-security: new file.
3915
3916 2002-06-05  Matt Kraai  <kraai@alumni.cmu.edu>
3917
3918         * denise (list): take a file argument and use it.
3919         (main): don't abuse sys.stdout, just write to the file.
3920
3921         * claire.py (usage): Fix misspelling.
3922         (clean_symlink): Simplify.
3923         (find_dislocated_stable): Avoid unnecessary work.
3924
3925 2002-05-29  James Troup  <james@nocrew.org>
3926
3927         * cameron: removed; apt-ftparchive can simply walk the directory.
3928
3929 2002-05-26  Anthony Towns  <ajt@debian.org>
3930
3931         * katie.conf{,-non-US}: Map testing to testing-proposed-updates
3932         for the autobuilders.
3933
3934 2002-05-24  Ryan Murray  <rmurray@debian.org>
3935
3936         * cron.buildd: update override files before running apt-ftparchive
3937
3938 2002-05-23  Martin Michlmayr  <tbm@cyrius.com>
3939
3940         * amber (main): remove extra space in prompt.
3941
3942         * utils.py (validate_changes_file_arg): use original filename in
3943         error messages.
3944
3945         * jeri (check_joey): close file after use.
3946         (parse_packages): likewise.
3947         (main): setup debug option properly.
3948
3949         * melanie (main): remove unused packages variable and simplify the
3950         code to build up con_packages by using repr().
3951
3952 2002-05-23  James Troup  <james@nocrew.org>
3953
3954         * lisa (recheck): when we reject, also return 0 so the package is
3955         skipped.
3956         (sg_compare): fix note sorting.
3957         (recheck): remove the .katie file after rejection.
3958
3959         * katie.py (Katie.accept): accepted auto-build support take 3;
3960         this time adding support for security.  Security needs a) non-pool
3961         files copied rather than symlinked since accepted is readable only
3962         by katie/security and www-data needs to be able to see the files,
3963         b) needs per-suite directories.  SpecialAcceptedAutoBuild becomes
3964         AcceptedAutoBuildSuites and is a ValueList containing the suites.
3965         SecurityAcceptedAutoBuild is a new boolean which controls whether
3966         or not normal or security style is used.  The unstable_accepted
3967         table was renamed to accepted_autobuild and a suite column added.
3968         Also fix a bug noticed by Ryan where an existent orig.tar.gz
3969         didn't have it's last_used/in_accepted flags correctly updated.
3970         * katie (install): likewise.
3971         * rhona (clean_accepted_autobuild): likewise.
3972
3973 2002-05-22  James Troup  <james@nocrew.org>
3974
3975         * lisa (sort_changes): new function; sorts changes properly.
3976         Finally.
3977         (sg_compare): new function; helper for sort_changes().  Sorts by
3978         have note and time of oldest upload.
3979         (indiv_sg_compare): new function; helper for sort_changes().
3980         Sorts by source version, have source and filename.
3981         (main): use sort_changes().
3982         (changes_compare): obsoleted; removed.
3983
3984 2002-05-20  James Troup  <james@nocrew.org>
3985
3986         * rhona (clean_accepted_autobuild): don't die if a file we're
3987         trying to remove doesn't exist.  Makes rhona more friendly to
3988         katie/katie.py crashes/bugs without any undue cost.
3989
3990 2002-05-19  James Troup  <james@nocrew.org>
3991
3992         * lisa (main): if sorting a large number of changes give some
3993         feedback.
3994         (recheck): new function, run the same checks (modulo NEW,
3995         obviously) as katie does, if they fail do the standard
3996         reject/skip/quit dance.
3997         (do_pkg): use it.
3998
3999         * katie (install): don't try to unlink the symlink in the
4000         AcceptedAutoBuild support if the destination is not a symlink (or
4001         doesn't exist).  Avoids unnecessary bombs on previous partial
4002         accepts and will still bomb hard if the file exists and isn't a
4003         symlink.
4004
4005         * utils.py: blah, commands _is_ used when the mail stuff isn't
4006         commented out like it is in my test environment.
4007
4008         * lisa (changes_compare): "has note" overrides everything else.
4009         Use .katie files rather than running parse_changes, faster and
4010         allows "has note" to work.  Correct version compare, it was
4011         reversed.  Ctime check should only kick in if the source packages
4012         are not the same.
4013         (print_new): print out and return any note.  Rename 'ret_code' to
4014         'broken'.
4015         (edit_new): renamed from spawn_editor.  Don't leak file
4016         descriptors.  Clean up error message if editor fails.
4017         (edit_note): new function, allows one to edit notes.
4018         (do_new): add note support, editing and removing.
4019         (init): kill -s/--sort; with notes we always want to use our
4020         sorting method.
4021         (usage): likewise.
4022
4023         * katie.py (Katie.dump_vars): add "lisa note" as an optional
4024         changes field.
4025
4026         * utils.py (build_file_list): rename 'dsc' to 'is_a_dsc' and have
4027         it default to 0.  Adapt tests to assume it's boolean.
4028         * fernanda.py (check_changes): adjust call appropriately.
4029         * halle (check_changes): likewise.
4030         * jennifer (check_changes): likewise.
4031         * jeri (check_changes): likewise.
4032         * shania (flush_orphans): likewise.
4033
4034         * jennifer (check_dsc): pass is_a_dsc by name when calling
4035         build_file_list() for clarity.
4036         * shania (flush_orphans): likewise.
4037         * tea (check_missing_tar_gz_in_dsc): likewise.
4038
4039         * jennifer (check_dsc): pass dsc_whitespace_rules by name when
4040         calling parse_changes() for clarity.
4041         * tea (check_dscs): likewise.
4042
4043         * utils.py (parse_changes): make dsc_whitespace_rules default to
4044         not true.
4045         * halle (check_changes): adjust call appropriately.
4046         * jennifer (check_changes): likewise.
4047         * jeri (check_changes): likewise.
4048         * lisa (changes_compare): likewise.
4049         * utils.py (changes_compare): likewise.
4050         * melanie (main): likewise.
4051         * shania (flush_orphans): likewise.
4052         * fernanda.py (check_changes): likewise.
4053
4054 2002-05-18  James Troup  <james@nocrew.org>
4055
4056         * katie.py (Katie.dump_vars): make the .katie file unreadable,
4057         it's not useful and by and large a duplication of information
4058         available in readable format in other files.
4059
4060 2002-05-16  Ryan Murray  <rmurray@debian.org>
4061
4062         * melanie: Dir::TemplatesDir -> Dir::Templates
4063
4064 2002-05-15  Ryan Murray  <rmurray@debian.org>
4065
4066         * cameron: correct the use of os.path.join
4067
4068 2002-05-15  Anthony Towns  <ajt@debian.org>
4069
4070         * ziyi: Update to match the new format for Architectures/Components
4071         in katie.conf.
4072
4073 2002-05-14  James Troup  <james@nocrew.org>
4074
4075         * amber: new script; 'installer' wrapper script for the security
4076         team.
4077
4078         * katie.py (Katie.announce): remove unused 'dsc' local
4079         variable. (pychecker)
4080
4081         * ziyi: pre-define AptCnf and out globals to None. (pychecker)
4082
4083         * neve: don't import sys, we don't use it. (pychecker)
4084         (check_signature): fix return type mismatch. (pychecker)
4085
4086         * utils.py: don't import commands, we don't use it.  (pychecker)
4087
4088         * katie (install): SpecialAcceptedAutoBuild is a boolean.
4089
4090         * katie.py (Katie.dump_vars): don't store "oldfiles", it's
4091         obsoleted by the change to "othercomponents" handling in jennifer
4092         detailed below.
4093         (Katie.cross_suite_version_check): new function; implements
4094         cross-suite version checking rules specified in the conf file
4095         while also enforcing the standard "must be newer than target
4096         suite" rule.
4097         (Katie.check_binary_against_db): renamed, since it's invoked once
4098         per-binary, "binaries" was inaccurate.  Use
4099         cross_suite_version_check() and don't bother with the "oldfiles"
4100         rubbish as jennifer works out "othercomponents" herself now.
4101         (Katie.check_source_against_db): use cross_suite_version_check().
4102
4103         * katie (check): the version and file overwrite checks
4104         (check_{binary,source,dsc}_against_db) are not per-suite.
4105
4106         * jennifer (check_files): less duplication of
4107         'control.Find("Architecture", "")' by putting it in a local
4108         variable.
4109         (check_files): call check_binary_against_db higher up since it's
4110         not a per-suite check.
4111         (check_files): get "othercomponents" directly rather than having
4112         check_binary_against_db do it for us.
4113
4114         * heidi (main): 'if x:', not 'if x != []:'.
4115         * katie.py (Katie.in_override_p): likewise.
4116         (Katie.check_dsc_against_db): likewise.
4117         * natalie (main): likewise.
4118         * rene (main): likewise.
4119         * ziyi (real_arch): likewise.
4120
4121         * alyson (main): Suite::%s::Architectures, Suite::%s::Components
4122         and OverrideType are now value lists, not lists.
4123         * andrea (main): likewise.
4124         * cindy (main): likewise.
4125         * claire.py (find_dislocated_stable): likewise.
4126         * denise (main): likewise.
4127         * jenna (main): likewise.
4128         * jennifer (check_distributions): likewise.
4129         (check_files): likewise.
4130         (check_urgency): likewise (Urgency::Valid).
4131         * jeri (parse_packages): likewise.
4132         * neve (main): likewise (and Location::%s::Suites).
4133         * rene (main): likewise.
4134
4135 2002-05-13  James Troup  <james@nocrew.org>
4136
4137         * katie.py (Katie.check_source_against_db): correct case of reject
4138         message to be consistent with binary checks.
4139
4140         * jennifer (get_status_output): don't leak 2 file descriptors per
4141         invocation.
4142         (check_signature): add missing '\n' to "duplicate status token"
4143         error message.
4144
4145 2002-05-09  James Troup  <james@nocrew.org>
4146
4147         * utils.py (validate_changes_file_arg): new function; validates an
4148         argument which should be a .changes file.
4149         * ashley (main): use it.
4150         * lisa (main): likewise.
4151
4152         * katie.py (Katie.check_dsc_against_db): since there can be more
4153         than one .orig.tar.gz make sure we don't assume the .orig.tar.gz
4154         entry still exists in files.
4155
4156         * jennifer (check_dsc): handle the .orig.tar.gz disappearing from
4157         files, since check_dsc_against_db() deletes the .orig.tar.gz
4158         entry.
4159
4160         * cameron: cleanups.
4161
4162         * utils.py (changes_compare): change sort order so that source
4163         name and source version trump 'have source'; this should fix
4164         UNACCEPT problems in katie where -1 hppa+source & i386, -2
4165         i386&source & hppa lead to -1 i386 unaccept.  Problem worked out
4166         by Ryan.
4167
4168         * lisa (main): allow the arguments to be .katie files too.
4169
4170 2002-05-07  Ryan Murray  <rmurray@debian.org>
4171
4172         * cron.buildd: add s390 to arch list again
4173
4174 2002-05-05  Ryan Murray  <rmurray@debian.org>
4175
4176         * cron.buildd: new script, update w-b database from unstable_accepted
4177         table
4178         * cameron: new script, take list in unstable_accepted and write out
4179         a file list for apt-ftparchive
4180         * apt.conf.buildd: new apt configuration for Packages/Sources for
4181         unstable_accepted
4182         * vars: add s390 to arch list.
4183
4184 2002-05-03  James Troup  <james@nocrew.org>
4185
4186         * neve (main): don't hard code the calling user as that doesn't
4187         work with modern postgres installs.  Fix psql invocation for
4188         init_pool.sql (database name required).  Dont' hard code the
4189         database name.
4190         (process_sources): add support for fingerprint and install_date.
4191         (process_packages): add support for fingerprint.
4192         (do_sources): pass in the directory, fingerprint support needs it.
4193         (get_status_output): borrowed from jennifer.
4194         (reject): likewise.
4195         (check_signature): likewise.
4196
4197         * katie (install): only try to log urgencies if Urgency_Logger is
4198         defined.
4199         (main): only initialize Urgency_Logger is Dir::UrgencyLog is
4200         defined; only close Urgency_Logger if it's defined.
4201
4202         * catherine (poolize): adapt for Dir rationalization.
4203         * claire.py (find_dislocated_stable): likewise.
4204         * denise (main): likewise.
4205         * halle (check_joey): likewise.
4206         * jenna: likewise.
4207         * jennifer: likewise.
4208         * jeri: likewise.
4209         * katie.py: likewise.
4210         * katie: likewise.
4211         * lisa (do_bxa_notification): likewise.
4212         * logging.py (Logger.__init__): likewise
4213         * rene (main): likewise.
4214         * rhona (clean): likewise.
4215         * shania (init): likewise.
4216         * tea: likewise.
4217         * ziyi: likewise.
4218
4219         * lisa (add_overrides): Dinstall::BXANotify is a boolean, use
4220         FindB, not FindI.
4221
4222         * rhona (clean_accepted_autobuild): SpecialAcceptedAutoBuild is a
4223         boolean, use FindB, not get.
4224
4225         * katie.py (Katie.check_dsc_against_db): ignore duplicate
4226         .orig.tar.gz's which are an exact (size/md5sum) match.
4227
4228         * ashley (main): really allow *.katie files as arguments too;
4229         noticed by aj.
4230
4231         * sql-aptvc.cpp: postgres.h moved to a "server" subdirectory.
4232
4233 2002-05-03  Anthony Towns  <ajt@debian.org>
4234
4235         * ziyi: support for security.
4236
4237 2002-05-02  James Troup  <james@nocrew.org>
4238
4239         * jennifer (accept): call Katie.check_override() unconditional as
4240         no-mail check moved into that function.
4241         (do_byhand): likewise.
4242
4243         * katie.py (Katie.check_override): don't do anything if we're a)
4244         not sending mail or b) the override disparity checks have been
4245         disbled via Dinstall::OverrideDisparityCheck.
4246
4247         * jennifer (check_files): don't hard code Unstable as the suite
4248         used to check for architecture validity; use
4249         Dinstall::DefaultSuite instead, if it exists.
4250         (accept): conditionalize
4251
4252         * katie.py (Katie.update_subst): support global maintainer
4253         override with Dinstall::OverrideMaintainer.
4254
4255         * jennifer (check_distributions): new function, Distribution
4256         validation and mapping.  Uses new SuiteMappings variable from
4257         config file to abstract suite mappings.
4258         (check_changes): call it.
4259
4260         * natalie: renamed; nothing imports or likely will for some time.
4261
4262         * denise (main): remove unused natalie import and init().
4263
4264         * natalie.py (init): removed.
4265         (main): initalize here instead and don't hardcode the database
4266         name.
4267
4268 2002-04-30  James Troup  <james@nocrew.org>
4269
4270         * katie.py (Katie.close_bugs): new function, split out from
4271         announce().
4272         (Katie.announce): only call close_bugs() if Dinstall::CloseBugs is
4273         true.
4274         (Katie.close_bugs): new function, split out
4275         (Katie.close_bugs): return immediately if there are no bugs to
4276         close.
4277
4278         * jennifer (acknowledge_new): adapt for new utils.TemplateSubst().
4279         * katie (do_reject): likewise.
4280         (stable_install): likewise.
4281         * katie.py (Katie.announce): likewise.
4282         (Katie.accept): likewise.
4283         (Katie.check_override): likewise.
4284         (Katie.do_reject): likewise.
4285         * lisa (do_bxa_notification): likewise.
4286         * melanie (main): likewise.
4287
4288         * utils.py (TemplateSubst): change second argument to be a
4289         filename rather than a template since every caller opened a file
4290         on the fly which was ugly and leaked file descriptor.
4291
4292 2002-04-29  James Troup  <james@nocrew.org>
4293
4294         * katie.py (Katie.announce): (modified) patch from Raphael Hertzog
4295         <hertzog@debian.org> to send 'accepted' announce mails to the
4296         PTS. [#128140]
4297
4298 2002-04-24  James Troup  <james@nocrew.org>
4299
4300         * init_pool.sql (unstable_accepted): add two new fields to
4301         unstable_accepted; in_accepted is a boolean indicating whether or
4302         not the file is in accepted and last_used is a timestamp used by
4303         rhona to determine when to remove symlinks for installed packages.
4304
4305         * katie.py (Katie.accept): auto-build support take 2.  Create
4306         symlinks for all files into a seperate directory.  Add files to
4307         unstable_accepted as paths to the new directory; mark them as
4308         being in accepted for cameron.  Properly conditionalize it on a
4309         configuration variable.
4310
4311         * katie (install): likewise.  Update symlinks to point into the
4312         pool; mark the files for later deletion by rhona and mark them as
4313         not being in accepted for cameron.
4314
4315         * rhona (clean_accepted_autobuild): new function.
4316
4317 2002-04-22  James Troup  <james@nocrew.org>
4318
4319         * jennifer (check_files): handle db_access.get_location_id()
4320         returning -1 properly/better.
4321
4322         * rhona (clean_fingerprints): new function.
4323
4324 2002-04-21  James Troup  <james@nocrew.org>
4325
4326         * utils.py (touch_file): unused; remove.
4327         (plural): likewise.
4328
4329         * jennifer (check_files): close file descriptor used to get the
4330         control file.
4331         (check_md5sums): likewise.
4332         (callback): likewise.
4333
4334         * katie.py (Katie.do_reject): handle manual rejects much better;
4335         call the editor first and get confirmation from the user before
4336         proceeding.
4337
4338         * jennifer (check_signature): prefix_multi_line_string() moved to
4339         utils.
4340
4341         * utils.py (prefix_multi_line_string): moved here from jennifer.
4342
4343 2002-04-20  James Troup  <james@nocrew.org>
4344
4345         * lisa (main): handle non-existent files.
4346
4347         * ashley (main): allow *.katie files as arguments too.
4348
4349 2002-04-19  James Troup  <james@nocrew.org>
4350
4351         * katie.py (Katie.accept): add stuff to help auto-building from
4352         accepted; if the .orig.tar.gz is not part of the upload (i.e. it's
4353         in the pool), create a symlink to it in the accepted directory and
4354         add the .dsc and .{u,}deb(s) to a new 'unstable_accepted' table.
4355
4356         * katie (install): undo the "auto-building from accepted" stuff
4357         (i.e. remove the .orig.tar.gz symlink and remove the files from
4358         unstable_accepted table).
4359
4360 2002-04-16  James Troup  <james@nocrew.org>
4361
4362         * jennifer (upload_too_new): fix typo which was causing all
4363         timestamp comparisons to be against the .changes file.  Also move
4364         back to the original directory so we do the comparisons against
4365         accurate timestamps.
4366
4367         * tea (check_missing_tar_gz_in_dsc): new function.
4368
4369         * jennifer (check_dsc): add a check to ensure there is a .tar.gz
4370         file mentioned in the .dsc.
4371
4372         * lisa (main): use X-Katie in the mail headers, not X-Lisa; that
4373         way mails reach debian-{devel-,}changes@l.d.o.
4374
4375 2002-04-02  Ryan Murray  <rmurray@debian.org>
4376
4377         * cron.daily: run shania after rhona
4378         * cron.daily-non-US: likewise.
4379
4380 2002-04-01  James Troup  <james@nocrew.org>
4381
4382         * katie: re-add proposed-updates/stable install support.
4383
4384         * katie.py (Katie.dump_vars): add changes["changes"] as an
4385         optional field; should be mandatory later.
4386
4387 2002-03-31  James Troup  <james@nocrew.org>
4388
4389         * katie (install): support a Suite::<foo>::CopyKatie similar to
4390         CopyChanges.  Done seperately because .katie files don't need to
4391         be mirrored and will probably be copied to another directory as a
4392         result.
4393
4394         * halle (main): add missing debug to options.
4395
4396 2002-03-29  James Troup  <james@nocrew.org>
4397
4398         * madison (main): add a -r/--regex option.
4399
4400 2002-03-26  James Troup  <james@nocrew.org>
4401
4402         * lisa: don't trample on changes["distribution"]; make a copy of
4403         it as changes["suite"] instead and use that.
4404
4405 2002-03-16  Anthony Towns  <ajt@debian.org>
4406
4407         * templates/lisa.bxa_notification: Fix some grammatical errors.
4408         Encourage contact via bxa@ftp-master email address.
4409
4410 2002-03-15  James Troup  <james@nocrew.org>
4411
4412         * jennifer (check_timestamps): remove bogus raise in except.
4413
4414 2002-03-15  Anthony Towns  <ajt@debian.org>
4415
4416         * cron.monthly: rotate mail/archive/bxamail as well as
4417         mail/archive/mail. This is for a complete archive of
4418         correspondence with the BXA.
4419
4420 2002-03-14  Anthony Towns  <ajt@debian.org>
4421
4422         * crypto-in-main changes.
4423
4424         * utils.py (move, copy): add an optional perms= parameter to let you
4425         set the resulting permissions of the moved/copied file
4426         * katie.py (force_move): rejected/morgued files should be unreadable
4427         * jennifer (do_byhand, acknowledge_new): pending new and byhand files
4428         should be unreadable.
4429
4430 2002-03-07  Ryan Murray  <rmurray@debian.org>
4431
4432         * katie (install): check for existance of "files id" key as well as
4433         it being set to a valid value.
4434         * katie (install): check for existense and valid value for location
4435         id as well
4436
4437 2002-03-05  Ryan Murray  <rmurray@debian.org>
4438
4439         * katie.py (do_reject): reread the reason file after editing it.
4440
4441 2002-02-25  James Troup  <james@nocrew.org>
4442
4443         * jennifer (check_changes): don't enforce sanity in .changes file
4444         names since it doesn't seem to be possible; pcmica-cs and similar
4445         freak show packages in particular cause real problems.
4446
4447         * katie.py (Katie.check_dsc_against_db): initialize 'found' for
4448         each dsc_file since the .orig.tar.gz checking code now uses it as
4449         a boolean.  Fixes bizarro rejections which bogusly claimed
4450         .diff.gz md5sum/size was incorrect.
4451
4452 2002-02-24  James Troup  <james@nocrew.org>
4453
4454         * katie (process_it): reset reject_message.
4455
4456 2002-02-22  James Troup  <james@nocrew.org>
4457
4458         * db_access.py(set_files_id): disable use of
4459         currval('files_id_seq') because it was taking 3 seconds on auric
4460         which is insane (most calls take < 0.01) and simply call
4461         get_files_id() for the return value instead.
4462
4463         * katie.py (Katie.do_query): convenience function; unused by
4464         default, useful for profiling.
4465         * db_access.py (do_query): likewise.
4466
4467         * katie (install): fix insert SQL call when binary has no source.
4468
4469         * lisa (determine_new): auto-correct non-US/main to non-US.
4470         (determine_new): add a warning when adding things to stable.
4471         (edit_index): use our_raw_input().
4472         (edit_overrides): likewise.
4473         (do_new): likewise.  Use re.search() not re.match() since the
4474         default answer may not be the first one.
4475         (do_byhand): likewise.
4476         (do_new): Default to 'S'kip and never 'A'dd.
4477
4478         * jennifer (action): pass prompt to our_raw_input().
4479         * melanie (game_over): likewise.
4480         * katie (action): likewise.
4481
4482         * utils.py (our_raw_input): add an optional prompt argument to
4483         make the function more usable as a drop in replacement for
4484         raw_input().
4485
4486         * jennifer (check_files): correct reject() to not double prefix
4487         when using katie.py based functions.
4488         (check_dsc): likewise.
4489
4490         * katie.py (Katie.reject): prepend a new line if appropriate
4491         rathen than appending one to avoid double new lines when caller
4492         adds one of his own.
4493
4494         * lisa (determine_new): warn if the package is also in other
4495         components.
4496
4497 2002-02-20  James Troup  <james@nocrew.org>
4498
4499         * jennifer (check_files): if .changes file lists "source" in
4500         Architecture field, there must be a .dsc.
4501
4502 2002-02-15  James Troup  <james@nocrew.org>
4503
4504         * ashley (main): add some missing fields.
4505
4506         * katie.py (Katie.check_dsc_against_db): fix to take into account
4507         the fact that the .orig.tar.gz might be in byhand, accepted or
4508         new.  Also fix calling of reject().
4509         (Katie.check_binaries_against_db): fix calling of reject().
4510         (Katie.check_source_against_db): likewise.
4511         (Katie.dump_vars): add missing variables used for bug closures.
4512
4513         * lisa (changes_compare_by_time): sort by reverse time.
4514
4515         * katie.py (Katie.accept): log.
4516         (Katie.dump_vars): missing has_key test for optional changes fields.
4517
4518         * jennifer (main): print "Accepted blah blah" to stdout, not stderr.
4519         (process_it): traceback goes to stderr, not stdout.
4520         (acknowledge_new): log.
4521         (do_byhand): likewise.
4522
4523         * katie.py (Katie.update_subst): fix typo (Cnf vs. self.Cnf).
4524
4525         * add_constraints.sql: add grants for the new fingerprint table.
4526
4527 2002-02-13  James Troup  <james@nocrew.org>
4528
4529         * katie (do_reject): basename the .changes filename before trying
4530         to use it to construct the .reason filename.
4531         (process_it): call Katie.update_subst() so do_reject() DTRT with
4532         the mail template.
4533         (do_reject): setup the mail template correctly.
4534
4535 2002-02-12  James Troup  <james@nocrew.org>
4536
4537         * tea (process_dir): renamed 'arg' to 'unused' for clarity.
4538         (check_files): don't abuse global dictionaries.
4539         (Ent): use all variables.
4540         (check_timestamps): don't abuse global dictionaries.
4541
4542         * fernanda.py: renamed to .py so lisa can import it.
4543         (check_dsc): remove unused local variables (pychecker).
4544         (display_changes): split off from check_changes.
4545
4546         * katie: rewritten; most of the functionality moves to jennifer;
4547         what's left is the code to install packages once a day from the
4548         'accepted' directory.
4549
4550         * jennifer: new program, processes packages in 'unchecked'
4551         (i.e. most of the non-install functionality of old katie).
4552
4553         * katie.py: common functions shared between the clique of
4554         jennifer, lisa and katie.
4555
4556         * lisa: new program; handles NEW and BYHAND packages.
4557
4558         * jeri (usage): new function.
4559         (main): use it.
4560         (check_package): remove unused local variable (pychecker).
4561
4562         * init_pool.sql: new table fingerprint.  Add fingerprint colums to
4563         binaries and source.  Add install_date to source.
4564
4565         * halle (usage): new function.
4566         (main): use it.  Remove unused options.
4567         (check_changes): remove unused local variable (pychecker).
4568
4569         * add_constraints.sql: add fingerprint references.
4570
4571         * db_access.py (get_or_set_fingerprint_id): new function.
4572
4573         * ashley (main): new program; dumps the contents of a .katie file
4574         to stdout.
4575
4576         * alyson (main): remove option handling since we don't actually
4577         support any.
4578         * cindy (main): likewise.
4579
4580         * remove unnecessary imports and pre-define globals (pychecker).
4581
4582 2002-02-11  Anthony Towns  <ajt@debian.org>
4583
4584         * added installation-report and upgrade-report pseudo-packages
4585
4586 2002-01-28  Martin Michlmayr  <tbm@cyrius.com>
4587
4588         * katie (update_subst): use Dinstall::TrackingServer.
4589         * melanie (main): likewise.
4590
4591 2002-01-27  James Troup  <james@nocrew.org>
4592
4593         * shania (main): it's IntLevel not IntVal; thanks to tbm@ for
4594         noticing, jgg@ for fix.
4595
4596 2002-01-19  James Troup  <james@nocrew.org>
4597
4598         * utils.py (extract_component_from_section): handle non-US
4599         non-main properly.
4600
4601 2002-01-12  James Troup  <james@nocrew.org>
4602
4603         * madison: add support for -S/--source-and-binary which displays
4604         information for the source package and all it's binary children.
4605
4606 2002-01-13  Anthony Towns  <ajt@debian.org>
4607
4608         * katie.conf: Remove Catherine Limit and bump stable to 2.2r5
4609         * katie.conf: Add Dinstall::SigningKeyIds option, set to the 2001
4610           and 2002 key ids.
4611         * katie.conf-non-US: Likewise.
4612         * ziyi: Suppoer Dinstall::SigningKeyIds to sign a Release file with
4613           multiple keys automatically. This is probably only useful for
4614           transitioning from an expired (or revoked?) key.
4615
4616 2002-01-08  Ryan Murray  <rmurray@debian.org>
4617
4618         * debian/python-dep: new file that prints out python:Depends for
4619           substvars
4620         * debian/control: use python:Depends, build-depend on python
4621           lower Depends: on postgresql to Suggests:
4622         * debian/rules: determine python version, install to the correct
4623           versioned dir
4624
4625 2001-12-18  Anthony Towns  <ajt@debian.org>
4626
4627         * ziyi: unlink Release files before overwriting them (in case they've
4628           been merged)
4629         * ziyi: always include checksums/sizes for the uncompressed versions
4630           of Sources and Packages, even if they're not present on disk
4631
4632 2001-11-26  Ryan Murray  <rmurray@debian.org>
4633
4634         * ziyi (main): add SigningPubKey config option
4635         * katie.conf: use SigningPubKey config option
4636         * katie.conf-non-US: likewise
4637
4638 2001-11-24  James Troup  <james@nocrew.org>
4639
4640         * katie (acknowledge_new): log newness.
4641
4642 2001-11-24  Anthony Towns  <ajt@debian.org>
4643
4644         * ziyi (real_arch): bail out if some moron forgot to reset
4645         untouchable on stable.
4646         (real_arch): source Release files.
4647
4648 2001-11-19  James Troup  <james@nocrew.org>
4649
4650         * claire.py (main): don't use apt_pkg.ReadConfigFileISC and
4651         utils.get_conf().
4652         * shania (main): likewise.
4653
4654         * rhona (main): add default options.
4655
4656         * db_access.py (get_archive_id): case independent.
4657
4658         * katie (action): sort files so that ordering is consistent
4659         between mails; noticed/requested by Joey.
4660
4661 2001-11-17  Ryan Murray  <rmurray@debian.org>
4662
4663         * utils.py: add get_conf function, change startup code to read all
4664           config files to the Cnf that get_conf returns
4665           use the component list from the katie conf rather than the hardcoded
4666           list.
4667         * all scripts: use new get_conf function
4668         * shania: fix try/except around changes files
4669         * jenna: only do debian-installer if it is a section in Cnf
4670
4671 2001-11-16  Ryan Murray  <rmurray@debian.org>
4672
4673         * shania (main): Initialize days to a string of a number.
4674                  (main): Initialize Cnf vars before reading in Cnf
4675
4676 2001-11-14  Ryan Murray  <rmurray@debian.org>
4677
4678         * shania (main): Initialize days to a number.
4679
4680 2001-11-04  James Troup  <james@nocrew.org>
4681
4682         * docs/Makefile: use docbook-utils' docbook2man binary.
4683
4684         * Change all "if foo == []" constructs into "if not foo".
4685
4686         * katie (check_changes): when installing into stable from
4687         proposed-updates, remove all non-stable target distributions.
4688         (check_override): don't check for override disparities on stable
4689         installs.
4690         (stable_install): update install_bytes appropriately.
4691         (reject): stable rejection support; i.e. don't remove files when
4692         rejecting files in the pool, rather remove them from the
4693         proposed-update suite instead, rhona will do the rest.
4694         (manual_reject): support for a stable specific template.
4695         (main): setup up stable rejector in subst.
4696
4697 2001-11-04  Martin Michlmayr  <tbm@cyrius.com>
4698
4699         * debian/control (Build-Depends): docbook2man has been superseded
4700         by docbook-utils.
4701
4702         * neve (main): exit with a more useful error message.
4703         (update_suites): Suite::<suite>::Version, Origin and Description
4704         are not required, so don't fail if they don't exist.
4705
4706         * db_access.py (get_archive_id): return -1 on error rather than
4707         raise an exception.
4708         (get_location_id): likewise.
4709
4710         * madison (main): don't exit on the first not-found package,
4711         rather exit with an appropriate return code after processing all
4712         packages.
4713
4714 2001-11-03  James Troup  <james@nocrew.org>
4715
4716         * claire.py (find_dislocated_stable): add per-architecture
4717         symlinks for dislocated architecture: all debs.
4718
4719 2001-10-19  Anthony Towns  <ajt@debian.org>
4720
4721         * apt.conf*, katie.conf*: add mips, mipsel, s390 to testing.
4722
4723 2001-10-10  Anthony Towns  <ajt@debian.org>
4724
4725         * claire.py (fix_component_section): do _not_ assign to None under
4726         any circumstances
4727
4728 2001-10-07  Martin Michlmayr  <tbm@cyrius.com>
4729
4730         * melanie (main): don't duplicate architectures when removing from
4731         more than one suite.
4732
4733         * heidi (main, process_file, get_list): report suite name not ID.
4734
4735         * naima (nmu_p): be case insensitive.
4736
4737         * naima (action): more list handling clean ups.
4738
4739         * melanie (main): clean up lists handling to use string.join and
4740         IN's.
4741
4742         * madison (main): clean up suite and architecture argument parsing
4743         to use slices less and string.join more.
4744
4745         * utils.py (parse_changes): Use string.find() instead of slices for
4746         string comparisons thereby avoid hardcoding the length of strings.
4747         * ziyi (main): likewise.
4748
4749 2001-10-07  James Troup  <james@nocrew.org>
4750
4751         * Remove mode argument from utils.open_files() calls if it's the
4752         default, i.e. 'r'.
4753
4754 2001-09-27  James Troup  <james@nocrew.org>
4755
4756         * katie (init): new function; options clean up.
4757         (usage): add missing options, remove obsolete ones.
4758         (main): adapt for the two changes above.  If the lock file or
4759         new-ack log file don't exist, create them.  Don't try to open the
4760         new-ack log file except running in new-ack mode.
4761
4762         * alyson (main): initialize all the tables that are based on the
4763         conf file.
4764
4765         * utils.py (touch_file): like touch(1).
4766         (where_am_i): typo.
4767
4768         * catherine (usage): new.
4769         (main): use it.  options cleanup.
4770         * claire.py: likewise.
4771         * fernanda: likewise.
4772         * heidi: likewise.
4773         * jenna: likewise.
4774         * shania: likewise.
4775         * ziyi: likewise.
4776
4777         * andrea: options cleanup.
4778         * charisma: likewise.
4779         * julia: likewise.
4780         * madison: likewise.
4781         * melanie: likewise.
4782         * natalie: likewise.
4783         * rhona: likewise.
4784         * tea: likewise.
4785
4786 2001-09-26  James Troup  <james@nocrew.org>
4787
4788         * utils.py: default to sane config file locations
4789         (/etc/katie/{apt,katie}.conf.  They can be the actual config files
4790         or they can point to the real ones through use of a new Config
4791         section.  Based on an old patch by Adam Heath.
4792         (where_am_i): use the new default config stuff.
4793         (which_conf_file): likewise.
4794         (which_apt_conf_file): likewise.
4795
4796         * charisma (main): output defaults to
4797         `Package~Version\tMaintainer'; input can be of either form.  When
4798         parsing the new format do version comparisons, when parsing the
4799         old format assume anything in the extra file wins.  This fixes the
4800         problem of newer non-US packages being overwhelmed by older
4801         versions still in stable on main.
4802
4803 2001-09-17  James Troup  <james@nocrew.org>
4804
4805         * natalie.py (list): use result_join().
4806
4807         * denise (main): result_join() moved to utils.
4808
4809         * utils.py (result_join): move to utils; add an optional seperator
4810         argument.
4811
4812 2001-09-14  James Troup  <james@nocrew.org>
4813
4814         * heidi (set_suite): new function; does --set like natalie does,
4815         i.e. turns it into a sequence of --add's and --remove's
4816         internally.  This is a major win (~20 minute run time > ~20
4817         seconds) in the common, everday (i.e. testing) case.
4818         (get_id): common code used by set_suite() and process_file().
4819         (process_file): call set_suite() and get_id().
4820         (main): add logging support.
4821
4822         * julia: new script; syncs PostgeSQL with (LDAP-generated) passwd
4823         files.
4824
4825         * utils.py (parse_changes): use slices or simple string comparison
4826         in favour of regexes where possible.
4827
4828         * sql-aptvc.cpp (versioncmp): rewritten to take into account the
4829         fact that the string VARDATA() points to are not null terminated.
4830
4831         * denise (result_join): new function; like string.join() but
4832         handles None's.
4833         (list): use it.
4834         (main): likewise.
4835
4836         * charisma (main): python-pygresql 7.1 returns None not "".
4837
4838 2001-09-14  Ryan Murray  <rmurray@debian.org>
4839
4840         * natalie.py (list): handle python-pygresql 7.1 returning None.
4841
4842 2001-09-10  Martin Michlmayr  <tbm@cyrius.com>
4843
4844         * madison (main): return 1 if no package is found.
4845
4846 2001-09-08  Martin Michlmayr  <tbm@cyrius.com>
4847
4848         * madison (main): better error handling for incorrect
4849         -a/--architecture or -s/--suite arguments.
4850         (usage): new.
4851         (main): use it.
4852
4853 2001-09-05  Ryan Murray  <rmurray@debian.org>
4854
4855         * charisma, madison, katie: remove use of ROUser
4856         * katie.conf,katie.conf-non-US: remove defintion of ROUser
4857
4858 2001-08-26  James Troup  <james@nocrew.org>
4859
4860         * katie (nmu_p.is_an_nmu): use maintaineremail to check for group
4861         maintained packages at cjwatson@'s request.
4862
4863 2001-08-21  James Troup  <james@nocrew.org>
4864
4865         * madison (main): add -a/--architecture support.
4866
4867         * jenna: use logging instead of being overly verbose on stdout.
4868
4869 2001-08-11  Ryan Murray  <rmurray@debian.org>
4870
4871         * melanie: add functional help option
4872
4873 2001-08-07  Anthony Towns  <ajt@debian.org>
4874
4875         * apt.conf, katie.conf: Add ia64 and hppa to testing.
4876
4877 2001-07-28  James Troup  <james@nocrew.org>
4878
4879         * katie (check_dsc): ensure source version is >> than existing
4880         source in target suite.
4881
4882 2001-07-25  James Troup  <james@nocrew.org>
4883
4884         * natalie.py: add logging support.
4885
4886         * utils.py (open_file): make the second argument optional and
4887         default to read-only.
4888
4889         * rene (main): work around broken source packages that duplicate
4890         arch: all packages with arch: !all packages (no longer allowed
4891         into the archive by katie).
4892
4893 2001-07-13  James Troup  <james@nocrew.org>
4894
4895         * katie (action): don't assume distribution is a dictionary.
4896         (update_subst): don't assume architecture is a dictionary and that
4897         maintainer822 is defined.
4898         (check_changes): recognise nk_format exceptions.
4899         (check_changes): reject on 'testing' only uploads.
4900         (check_files): when checking to ensure all packages are newer
4901         versions check against arch-all packages too.
4902         (check_dsc): enforce the existent of a sane set of mandatory
4903         fields.  Ensure the version number in the .dsc (modulo epoch)
4904         matches the version number in the .changes file.
4905
4906         * utils.py (changes_compare): ignore all exceptions when parsing
4907         the changes files.
4908         (build_file_list): don't UNDEF on a changes file with no format
4909         field.
4910
4911 2001-07-07  James Troup  <james@nocrew.org>
4912
4913         * katie (nmu_p.is_an_nmu): check 'changedby822' for emptiness
4914         rather than 'changedbyname' to avoid false negatives on uploads
4915         with an email-address-only Changed-By field.
4916         (check_dsc): don't overwrite reject_message; append to it.
4917         (check_signature): likewise.
4918         (check_changes): likewise.
4919         (announce): condition logging on 'action'.
4920
4921         * logging.py: new logging module.
4922
4923         * katie: Cleaned up code by putting Cnf["Dinstall::Options"]
4924         sub-tree into a separate (global) variable.
4925         (check_dsc): ensure format is 1.0 to retain backwards
4926         compatability with dpkg-source in potato.
4927         (main): only try to obtain the lock when not running in no-action
4928         mode.
4929         Use the new logging module.
4930
4931         * christina: initial version; only partially usable.
4932
4933 2001-06-28  Anthony Towns  <ajt@debian.org>
4934
4935         * apt.conf: Add ExtraOverrides to auric.
4936
4937 2001-06-25  James Troup  <james@nocrew.org>
4938
4939         * katie (nmu_p.is_an_nmu): the wonderful dpkg developers decided
4940         they preferred the name 'Uploaders'.
4941
4942 2001-06-23  James Troup  <james@nocrew.org>
4943
4944         * katie (check_files): fix typo in uncommon rejection message,
4945         s/sourceversion/source version/.
4946
4947         * denise (main): we can't use print because stdout has been
4948         redirected.
4949
4950         * katie (source_exists): new function; moved out of check_files()
4951         and added support for binary-only NMUs of earlier sourceful NMUs.
4952
4953         * rhona (clean): find_next_free has moved.
4954
4955         * utils.py (find_next_free): new function; moved here from rhona.
4956         Change too_many to be an argument with a default value, rather
4957         than a hardcoded variable.
4958
4959         * shania: rewritten to work better; REJECTion reminder mail
4960         handling got lost though.
4961
4962 2001-06-22  James Troup  <james@nocrew.org>
4963
4964         * rhona (main): remove unused override code.
4965
4966         * fernanda (main): remove extraneous \n's from utils.warn calls.
4967         * natalie.py (list): likewise.
4968
4969         * catherine, cindy, denise, heidi, jenna, katie, neve, rhona, tea:
4970         use utils.{warn,fubar} where appropriate.
4971
4972 2001-06-21  James Troup  <james@nocrew.org>
4973
4974         * katie (nmu_p): new class that encapsulates the "is a nmu?"
4975         functionality.
4976         (nmu_p.is_an_nmu): add support for multiple maintainers specified
4977         by the "Maintainers" field in the .dsc file and maintainer groups.
4978         (nmu_p.__init__): read in the list of group maintainer names.
4979         (announce): use nmu_p.
4980
4981 2001-06-20  James Troup  <james@nocrew.org>
4982
4983         * rene (main): hardcode the suite experimental is compared to by
4984         name rather than number.
4985
4986         * katie (check_files): differentiate between doesn't-exist and
4987         permission-denied in "can not read" rejections; requested by edd@.
4988         (check_dsc): use os.path.exists rather than os.access to allow the
4989         above check to kick in.
4990
4991         * heidi (process_file): read all input before doing anything and
4992         use transactions.
4993
4994 2001-06-15  James Troup  <james@nocrew.org>
4995
4996         * fernanda: new script; replaces old 'check' shell script
4997         nastiness.
4998
4999 2001-06-14  James Troup  <james@nocrew.org>
5000
5001         * katie: actually import traceback module to avoid amusing
5002         infinite loop.
5003
5004 2001-06-10  James Troup  <james@nocrew.org>
5005
5006         * utils.py (extract_component_from_section): fix to handle just
5007         'non-free' and 'contrib'.  Also fix to handle non-US in a
5008         completely case insensitive manner as a component.
5009
5010 2001-06-08  James Troup  <james@nocrew.org>
5011
5012         * madison (arch_compare): sort function that sorts 'source' first
5013         then alphabetically.
5014         (main): use it.
5015
5016 2001-06-05  Jeff Licquia  <jlicquia@progeny.com>
5017
5018         * catherine (poolize): explicitly make poolized_size a long so it
5019         doesn't overflow when poolizing e.g. entire archives.
5020
5021 2001-06-01  James Troup  <james@nocrew.org>
5022
5023         * utils.py (send_mail): throw exceptions rather than exiting.
5024
5025         * katie (process_it): catch exceptions and ignore them.
5026
5027 2001-06-01  Michael Beattie  <mjb@debian.org>
5028
5029         * added update-mailingliststxt and update-readmenonus to update
5030         those files, respectively. modified cron.daily{,-non-US} to
5031         use them.
5032
5033 2001-05-31  Anthony Towns  <ajt@debian.org>
5034
5035         * rhona: make StayOfExecution work.
5036
5037 2001-05-31  James Troup  <james@nocrew.org>
5038
5039         * rhona (find_next_free): fixes to not overwrite files but rename
5040         them by appending .<n> instead.
5041         (clean): use find_next_free and use dated sub-directories in the
5042         morgue.
5043
5044         * utils.py (move): don't overwrite files unless forced to.
5045         (copy): likewise.
5046
5047 2001-05-24  James Troup  <james@nocrew.org>
5048
5049         * katie (check_files): determine the source version here instead
5050         of during install().
5051         (check_files): check for existent source with bin-only NMU
5052         support.
5053         (main): sort the list of changes so that the source-must-exist
5054         check Does The Right Thing(tm).
5055
5056         * utils.py (changes_compare): new function; sorts a list of
5057         changes files by 'have-source', source, version.
5058         (cc_fix_changes): helper function.
5059         (parse_changes): use compiled regexes.
5060         (fix_maintainer): likewise.
5061
5062         * rene (main): warn about packages in experimental that are
5063         superseded by newer versions in unstable.
5064
5065 2001-05-21  James Troup  <james@nocrew.org>
5066
5067         * rene (main): add support for checking for ANAIS (Architecture
5068         Not Allowed In Source) packages.
5069
5070 2001-05-17  James Troup  <james@nocrew.org>
5071
5072         * katie (check_changes): initalize `architecture' dictionary in
5073         changes global so that if we can't parse the changes file for
5074         whatever reason we don't undef later on.
5075
5076         * utils.py (parse_changes): fix handling of multi-line fields
5077         where the first line did have data.
5078
5079 2001-05-05  Anthony Towns  <ajt@debian.org>
5080
5081         * ziyi: Add "NotAutomatic: yes" to experimental Release files.
5082         (It should always have been there. Ooopsy.)
5083
5084 2001-05-03  Anthony Towns  <ajt@debian.org>
5085
5086         * jenna: Cleanup packages that move from arch:any to arch:all or
5087         vice-versa.
5088
5089 2001-04-24  Anthony Towns  <ajt@debian.org>
5090
5091         * ziyi: add ``SHA1:'' info to Release files. Also hack them up to
5092         cope with debian-installer and boot-floppies' md5sum.txt.
5093
5094 2001-04-16  James Troup  <james@nocrew.org>
5095
5096         * katie (check_changes): add missing %s format string argument.
5097         (stable_install): temporary work around for morgue location to
5098         move installed changes files into.
5099         (stable_install): helps if you actually read in the template.
5100         (manual_reject): fix for editing of reject messages which was
5101         using the wrong variable name.
5102
5103         * jenna (generate_src_list): typo; s/package/source/; fixes undef crash.
5104
5105 2001-04-13  James Troup  <james@nocrew.org>
5106
5107         * katie (manual_reject): Cc the installer.
5108         (reject): don't.
5109         (check_changes): remove unused maintainer-determination code.
5110         (update_subst): add support for Changed-By when setting the
5111         *MAINTAINER* variables.
5112
5113         * rene (bar): new function to check for packages on architectures
5114         when they shouldn't be.
5115
5116         * natalie.py (main): use fubar() and warn() from utils.
5117
5118         * utils.py (whoami): new mini-function().
5119         * melanie (main): use it.
5120         * katie (manual_reject): likewise.
5121
5122 2001-04-03  James Troup  <james@nocrew.org>
5123
5124         * katie (action): ignore exceptions from os.path.getmtime() so we
5125         don't crash on non-existent changes files (e.g. when they are
5126         moved between the start of the install run in cron.daily and the
5127         time we get round to processing them).
5128
5129         * madison (main): also list source and accept -s/--suite.
5130
5131         * jenna (generate_src_list): missing \n in error message.
5132
5133         * katie (update_subst): add sane defaults for when changes is
5134         skeletal.
5135
5136 2001-03-29  James Troup  <james@nocrew.org>
5137
5138         * melanie (main): use fubar() and warn() from utils.  Remember who
5139         the maintainer for the removed packages are and display that info
5140         to the user.  Readd support for melanie-specific Bcc-ing that got
5141         lost in the TemplateSubst transition.
5142
5143         * utils.py (fubar): new function.
5144         (warn): like wise.
5145
5146         * db_access.py (get_maintainer): as below.
5147
5148         * charisma (get_maintainer): moved the bulk of this function to
5149         db_access so that melanie can use it too.
5150
5151         * claire.py (find_dislocated_stable): restrict the override join
5152         to those entries where the suite is stable; this avoids problems
5153         with packages which have moved to new sections (e.g. science)
5154         between stable and unstable.
5155
5156 2001-03-24  James Troup  <james@nocrew.org>
5157
5158         * catherine (poolize): new function; not really independent of
5159         main() fully, yet.
5160         (main): use it.
5161
5162         * katie (stable_install): __SUITE__ needs to be space prefixed
5163         because buildd's check for 'INSTALLED$'.
5164
5165 2001-03-22  James Troup  <james@nocrew.org>
5166
5167         * utils.py (regex_safe): also need to escape '.'; noticed by ajt@.
5168
5169         * jenna: rewritten; now does deletions on a per-suite level
5170         instead of a per-suite-component-architecture-type level.  This
5171         allows mutli-component packages to be auto-cleaned (and as a
5172         bonus, reduces the code size and duplication).
5173
5174 2001-03-22  Anthony Towns  <ajt@debian.org>
5175
5176         * ziyi (main): fix ziyi to overwrite existing Release.gpg files
5177         instead of just giving a gpg error.
5178
5179 2001-03-21  James Troup  <james@nocrew.org>
5180
5181         * madison (main): use apt_pkg.VersionCompare to sort versions so
5182         that output is correctly sorted for packages like debhlper.
5183         Noticed by ajt@.
5184
5185         * tea (check_source_in_one_dir): actually find problematic source
5186         packages.
5187
5188         * katie (check_dsc): remember the orig.tar.gz's location ID if
5189         it's not in a legacy suite.
5190         (check_diff): we don't use orig_tar_id.
5191         (install): add code to handle sourceful diff-only upload of
5192         packages which change components by copying the .orig.tar.gz into
5193         the new component, if it doesn't already exist there.
5194         (process_it): reset orig_tar_location (as above).
5195
5196         * melanie (main): use template substiution for the bug closing
5197         emails.
5198         (main): don't hardcode bugs.debian.org or packages.debian.org
5199         either; use configuration items.
5200
5201         * katie: likewise.
5202
5203         * natalie.py (init): use None rather than 'localhost' for the
5204         hostname given to pg.connect.
5205
5206         * utils.py (TemplateSubst): new function; lifted from
5207         userdir-ldap.
5208
5209 2001-03-21  Ryan Murray  <rmurray@debian.org>
5210
5211         * katie (announce): fix the case of non-existent
5212         Suite::$SUITE::Announce.
5213
5214 2001-03-20  Ryan Murray  <rmurray@debian.org>
5215
5216         * debian/rules (binary-indep): install melanie into /usr/bin/ not
5217         /usr/.
5218
5219         * alyson (main): use config variable for database name.
5220         * andrea (main): likewise.
5221         * catherine (main): likewise.
5222         * charisma (main): likewise.
5223         * cindy (main): likewise.
5224         * claire.py (main): likewise.
5225         * denise (main): likewise.
5226         * heidi (main): likewise.
5227         * jenna (main): likewise.
5228         * katie (main): likewise.
5229         * madison (main): likewise.
5230         * melanie (main): likewise.
5231         * neve (main): likewise.
5232         * rhona (main): likewise.
5233         * tea (main): likewise.
5234
5235 2001-03-15  James Troup  <james@nocrew.org>
5236
5237         * rhona (check_sources): fixed evil off by one (letter) error
5238         which was causing only .dsc files to be deleted when cleaning
5239         source packages.
5240
5241         * charisma (get_maintainer_from_source): remove really stupid and
5242         gratuitous IN sub-query and replace with normal inner join.
5243         (main): connect as read-only user nobody.
5244
5245         * rhona (clean_maintainers): rewritten to use SELECT and sub-query
5246         with EXISTS.
5247         (check_files): likewise; still disabled by default though.
5248         (clean_binaries): add ' seconds' to the mysterious number in the
5249         output.
5250         (clean): likewise.
5251
5252         * tea (check_files): add missing global declaration on db_files.
5253
5254 2001-03-14  James Troup  <james@nocrew.org>
5255
5256         * rhona: rewritten large chunks. Removed a lot of the silly
5257         selecting into dictionaries and replaced it with 'where exists'
5258         based sub queries.  Added support for StayOfExecution.  Fix the
5259         problem with deleting dsc_files too early and disable cleaning of
5260         unattached files.
5261
5262 2001-03-14  Anthony Towns  <ajt@debian.org>
5263
5264         * katie (announce): also check Changed-By when trying to detect
5265         NMUs.
5266
5267 2001-03-06  Anthony Towns  <ajt@debian.org>
5268
5269         * ziyi (main): Generate Release.gpg files as well, using the key from
5270         Dinstall::SigningKey in katie.conf, if present. That key has to be
5271         passwordless, and hence kept fairly secretly.
5272
5273 2001-03-02  James Troup  <james@nocrew.org>
5274
5275         * utils.py (str_isnum): new function; checks to see if the string
5276         is a number.
5277
5278         * shania (main): fix _hideous_ bug which was causing all files > 2
5279         weeks old to be deleted from incoming, even if they were part of a
5280         valid upload.
5281
5282 2001-02-27  James Troup  <james@nocrew.org>
5283
5284         * melanie (main): accept new argument -C/--carbon-copy which
5285         allows arbitarty carbon-copying of the bug closure messages.
5286         Cleaned up code by putting Cnf["Melanie::Options"] sub-tree into a
5287         separate variable.
5288
5289 2001-02-27  Anthony Towns  <ajt@debian.org>
5290
5291         * ziyi: new program; generates Release files.
5292
5293 2001-02-25  James Troup  <james@nocrew.org>
5294
5295         * katie (reject): add missing '\n' to error message.
5296         (manual_reject): likewise.
5297         (install): catch exceptions from moving the changes file into DONE
5298         and ignore them.
5299
5300         * tea (check_md5sums): new function.
5301
5302 2001-02-25  Michael Beattie  <mjb@debian.org>
5303
5304         * melanie: use $EDITOR if available.
5305
5306 2001-02-15  James Troup  <james@nocrew.org>
5307
5308         * utils.py (parse_changes): don't crash and burn on empty .changes
5309         files.  Symptoms noticed by mjb@.
5310
5311 2001-02-15  Adam Heath  <doogie@debian.org>
5312
5313         * denise (main): use an absolute path for the output filename.
5314
5315         * sql-aptvc.cpp: don't #include <utils/builtins.h> as it causes
5316         compile errors with postgresql-dev >= 7.0.
5317
5318 2001-02-12  James Troup  <james@nocrew.org>
5319
5320         * rene: initial version.
5321
5322         * andrea: initial version.
5323
5324         * catherine (main): remove obsolete assignment of arguments.
5325
5326 2001-02-09  James Troup  <james@nocrew.org>
5327
5328         * catherine: first working version.
5329
5330 2001-02-06  James Troup  <james@nocrew.org>
5331
5332         * katie (check_files): validate the priority field; i.e. ensure it
5333         doesn't contain a '/' (to catch people prepending the priority
5334         with the component rather than the section).
5335         (check_override): don't warn about source packages; the only check
5336         is on section and we have no GUI tools that would use the Section
5337         field for a Sources file.
5338         (announce): use tags rather than severities for NMUs.  Requested
5339         by Josip Rodin <joy@>. [#78035]
5340
5341 2001-02-04  James Troup  <james@nocrew.org>
5342
5343         * tea (check_override): new function; ensures packages in suites
5344         are also in the override file.  Thanks to bod@ for noticing that
5345         such packages existed.
5346
5347         * katie: move file type compiled regular expressions to utils as
5348         catherine uses them too.
5349         (check_changes): always default maintainer822 to the installer
5350         address so that any bail out won't cause undefs later.
5351         (check_files): update file type re's to match above.
5352         (stable_install): likewise.
5353         (reject): handle any except from moving the changes files.  Fixes
5354         crashes on unreadable changes files.
5355
5356         * melanie (main): add an explanation of why things are not removed
5357         from testing.
5358
5359 2001-01-31  James Troup  <james@nocrew.org>
5360
5361         * melanie (main): ignore a) no message, b) removing from stable or
5362         testing when invoked with -n/--no-action.
5363
5364         * katie (check_override): lower section before checking to see if
5365         we're whining about 'non-US' versus 'non-US/main'.
5366
5367         * sql-aptvc.cpp: new file; wrapper around apt's version comparison
5368         function so that we can use inside of PostgreSQL.
5369
5370 2001-01-28  James Troup  <james@nocrew.org>
5371
5372         * katie: updated to pass new flag to parse_changes() and deal with
5373         the exception raised on invalid .dsc's if appropriate.
5374         * shania (main): likewise.
5375         * melanie (main): likewise.
5376
5377         * tea (check_dscs): new function to validate all .dsc files in
5378         unstable.
5379
5380         * utils.py (parse_changes): if passed an additional flag, validate
5381         the .dsc file to ensure it's extractable by dpkg-source.
5382         Requested by Ben Collins <bcollins@>.
5383
5384 2001-01-27  James Troup  <james@nocrew.org>
5385
5386         * madison (main): connect to the DB as nobody.
5387
5388         * katie (check_files): remove support for -r/--no-version-check
5389         since it makes no sense under katie (jenna will automatically
5390         remove the (new) older version) and was evil in any event.
5391         (check_changes): add missing new line to rejection message.
5392         (check_dsc): likewise.
5393         (process_it): reset reject_message here.
5394         (main): not here.  Also remove support for -r.
5395
5396 2001-01-26  James Troup  <james@nocrew.org>
5397
5398         * katie (check_override): don't whine about 'non-US/main' versus
5399         'non-US'.
5400
5401 2001-01-26  Michael Beattie  <mjb@debian.org>
5402
5403         * natalie.py (usage): new function.
5404         (main): use it.
5405
5406 2001-01-25  Antti-Juhani Kaijanaho  <gaia@iki.fi>
5407
5408         * update-mirrorlists: Update README.non-US too (request from Joy).
5409
5410 2001-01-25  James Troup  <james@nocrew.org>
5411
5412         * katie (reject): catch any exception from utils.move() and just
5413         pass, we previously only caught can't-overwrite errors and not
5414         can't-read ones.
5415
5416         * jenna (generate_src_list): use ORDER BY in selects to avoid
5417         unnecessary changes to Packages files.
5418         (generate_bin_list): likewise.
5419
5420         * utils.py (extract_component_from_section): separated out from
5421         build_file_list() as it's now used by claire too.
5422
5423         * claire.py (find_dislocated_stable): rewrite the query to extract
5424         section information and handle component-less locations properly.
5425         Thanks to ajt@ for the improved queries.
5426         (fix_component_section): new function to fix components and
5427         sections.
5428
5429 2001-01-23  James Troup  <james@nocrew.org>
5430
5431         * katie (check_files): set file type for (u?)debs first thing, so
5432         that if we continue, other functions which rely on file type
5433         existing don't bomb out.  If apt_pkg or apt_inst raise an
5434         exception when parsing the control file, don't try any other
5435         checks, just drop out.
5436         (check_changes): new test to ensure there is actually a target
5437         distribution.
5438
5439 2001-01-22  James Troup  <james@nocrew.org>
5440
5441         * katie (usage): s/dry-run/no-action/.  Noticed by Peter Gervai
5442         <grin@>.
5443         (check_changes): when mapping to unstable, remember to actually
5444         add unstable to the suite list and not just remove the invalid
5445         suite.
5446
5447 2001-01-21  James Troup  <james@nocrew.org>
5448
5449         * katie (check_files): catch exceptions from debExtractControl()
5450         and reject packages which raise any.
5451
5452 2001-01-19  James Troup  <james@nocrew.org>
5453
5454         * katie (check_signature): basename() file name in rejection
5455         message.
5456
5457 2001-01-18  James Troup  <james@nocrew.org>
5458
5459         * katie (in_override_p): remember the section and priority from
5460         the override file so we can check them against the package later.
5461         (check_override): new function; checks section and priority (for
5462         binaries) from the package against the override file and mails the
5463         maintainer about any disparities.
5464         (install): call check_override after announcing the upload.
5465
5466 2001-01-16  James Troup  <james@nocrew.org>
5467
5468         * utils.py (build_file_list): catch ValueError's from splitting up
5469         the files field and translate it into a parse error.
5470
5471         * tea: add support for finding unreferenced files.
5472
5473         * katie (in_override_p): add support for suite-aliasing so that
5474         proposed-updates uploads work again.
5475         (check_changes): catch parses errors from utils.build_file_list().
5476         (check_dsc): likewise.
5477         (check_diff): yet more dpkg breakage so we require even newer a
5478         version.
5479
5480         * jenna (generate_bin_list): don't do nasty path munging that's no
5481         longer needed.
5482
5483         * denise (main): support for non-US; and rename testing's override
5484         files so they're based on testing's codename.
5485
5486 2001-01-16  Martin Michlmayr  <tbm@cyrius.com>
5487
5488         * melanie: add to the bug closing message explaining what happens
5489         (or rather doesn't) with bugs against packages that have been
5490         removed.
5491
5492 2001-01-14  James Troup  <james@nocrew.org>
5493
5494         * charisma (main): fix silly off-by-one error; suite priority
5495         checking was done using "less than" rather than "less than or
5496         equal to" which was causing weird hesienbugs with wrong Maintainer
5497         fields.
5498
5499 2001-01-10  James Troup  <james@nocrew.org>
5500
5501         * katie (in_override_p): adapted to use SQL-based overrides.
5502         read_override_file function disappears.
5503
5504         * db_access.py: add new functions get_section_id, get_priority_id
5505         and get_override_type_id.
5506         (get_architecture_id): return -1 if the architecture is not found.
5507
5508         * heidi: switch %d -> %d in all SQL queries.
5509         (get_list): Use string.join where appropriate.
5510
5511         * rhona (in_override_p): don't die if the override file doesn't
5512         exist.
5513         (main): warn if the override file doesn't exist.
5514
5515         * alyson: new script; will eventually sync the config file and the
5516         SQL database.
5517
5518         * natalie.py: new script; manipulates overrides.
5519
5520         * melanie: new script; removes packages from suites.
5521
5522 2001-01-08  James Troup  <james@nocrew.org>
5523
5524         * katie (re_bad_diff): whee; dpkg 1.8.1.1 didn't actually fix
5525         anything it just changed the symptom.  Recognise the new breakage
5526         and reject them too.
5527
5528 2001-01-07  James Troup  <james@nocrew.org>
5529
5530         * katie (check_dsc): when adding the cwd copy of the .orig.tar.gz
5531         to the .changes file, be sure to set up files[filename]["type"]
5532         too.
5533
5534 2001-01-06  James Troup  <james@nocrew.org>
5535
5536         * katie (check_diff): new function; detects bad diff files
5537         produced by dpkg 1.8.1 and rejects thems.
5538         (process_it): call check_diff().
5539         (check_dsc): gar.  Add support for multiple versions of the
5540         .orig.tar.gz file in the archive from -sa uploads.  Check md5sum
5541         and size against all versions and use one which matches if
5542         possible and exclude any that don't from being poolized to avoid
5543         file overwrites.  Thanks to broonie@ for providing the example.
5544         (install): skip any files marked as excluded as above.
5545
5546 2001-01-05  James Troup  <james@nocrew.org>
5547
5548         * heidi (process_file): add missing argument to error message.
5549
5550 2001-01-04  James Troup  <james@nocrew.org>
5551
5552         * heidi (main): fix handling of multiple files by reading all
5553         files not just the first file n times (where n = the number of
5554         files passed as arguments).
5555
5556 2001-01-04  Anthony Towns  <ajt@debian.org>
5557
5558         * katie (check_dsc): proper fix for the code which locates the
5559         .orig.tar.gz; check for '<filename>$' or '^<filename>$'.
5560
5561 2000-12-20  James Troup  <james@nocrew.org>
5562
5563         * rhona: replace IN's with EXISTS's to make DELETE time for
5564         binaries and source sane on auric.  Add a -n/--no-action flag and
5565         make it stop actions if used.  Fixed a bug in binaries deletion
5566         with no StayOfExecution (s/</<=/).  Add working -h/--help and
5567         -V/--version.  Giving timing info on deletion till I'm sure it's
5568         sane.
5569
5570         * katie (check_changes): map testing to unstable.
5571
5572         * madison: new script; shows versions in different architectures.
5573
5574         * katie (check_dsc): ensure size matches as well as md5sum;
5575         suggested by Ben Collins <bcollins@debian.org> in Debian Bug
5576         #69702.
5577
5578 2000-12-19  James Troup  <james@nocrew.org>
5579
5580         * katie (reject): ignore the "can't overwrite file" exception from
5581         utils.move() and leave the files where they are.
5582         (reject): doh! os.access() test was reversed so we only tried to
5583         move files which didn't exist... replaced with os.path.exists()
5584         test the right way round.
5585
5586         * utils.py (move): raise an exception if we can't overwrite the
5587         destination file.
5588         (copy): likewise.
5589
5590 2000-12-18  James Troup  <james@nocrew.org>
5591
5592         * rhona: first working version.
5593
5594         * db_access.py (get_files_id): force both sizes to be integers.
5595
5596         * katie (main): use size_type().
5597
5598         * utils.py (size_type): new function; pretty prints a file size.
5599
5600 2000-12-17  James Troup  <james@nocrew.org>
5601
5602         * charisma (main): do version compares so that older packages do
5603         not override newer ones and process source first as source wins
5604         over binaries in terms of who we think of as the Maintainer.
5605
5606 2000-12-15  James Troup  <james@nocrew.org>
5607
5608         * katie (install): use the files id for the .orig.tar.gz from
5609         check_dsc().
5610         (install): limit select for legacy source to a) source in legacy
5611         or legacy-mixed type locations and b) distinct on files.id.
5612         (install): rather than the bizarre insert new, delete old method
5613         for moving legacy source into the pool, use a simple update of
5614         files.
5615         (process_it): initalize some globals before each process.
5616
5617 2000-12-14  James Troup  <james@nocrew.org>
5618
5619         * katie (in_override_p): index on binary_type too since .udeb
5620         overrides are in a different file.
5621         (read_override_file): likewise.
5622         (check_files): correct filename passed to get_files_id().
5623         (check_dsc): we _have_ to preprend '/' to the filename to avoid
5624         mismatches like jabber.orig.tar.gz versus libjabber.orig.tar.gz.
5625         (check_dsc): remember the files id of the .orig.tar.gz, not the
5626         location id.
5627
5628 2000-12-13  James Troup  <james@nocrew.org>
5629
5630         * utils.py (poolify): force the component to lower case except for
5631         non-US.
5632
5633         * katie (in_override_p): handle .udeb-specific override files.
5634         (check_files): pass the binary type to in_override_p().
5635         (check_dsc): remember the location id of the old .orig.tar.gz in
5636         case it's not in the pool.
5637         (install): use location id from dsc_files; which is where
5638         check_dsc() puts it for old .orig.tar.gz files.
5639         (install): install files after all DB work is complete.
5640         (reject): basename() the changes filename.
5641         (manual_reject): likewise.
5642
5643         * shania: new progam; replaces incomingcleaner.
5644
5645 2000-12-05  James Troup  <james@nocrew.org>
5646
5647         * katie (check_changes): if inside stable and can't find files
5648         from the .changes; assume it's installed in the pool and chdir()
5649         to there.
5650         (check_files): we are not installing for stable installs, so don't
5651         check for overwriting existing files.
5652         (check_dsc): likewise.
5653         (check_dsc): reorder .orig.tar.gz handling so that we search in
5654         the pool first and only then fall back on any .orig.tar.gz in the
5655         cwd; this avoids false positives on the overwrite check when
5656         people needlessly reupoad the .orig.tar.gz in a non-sa upload.
5657         (install): if this is a stable install, bail out to
5658         stable_install() immediately.
5659         (install): dsc_files handling was horribly broken. a) we need to
5660         add files from the .dsc and not the .changes (duh), b) we need to
5661         add the .dsc file itself to dsc_files (to be consistent with neve
5662         if for no other reason).
5663         (stable_install): new function; handles installs from inside
5664         proposed-updates to stable.
5665         (acknowledge_new): basename changes_filename before doing
5666         anything.
5667         (process_it): absolutize the changes filename to avoid the
5668         requirement of being in the same directory as the .changes file.
5669         (process_it): save and restore the cwd as stable installs can
5670         potentially jump into the pool to find files.
5671
5672         * jenna: dislocated_files support using claire.
5673
5674         * heidi (process_file): select package field from binaries
5675         explicitly.
5676
5677         * db_access.py (get_files_id): fix cache key used.
5678
5679         * utils.py (build_file_list): fix 'non-US/non-free' case in
5680         section/component splitting.
5681         (move): use os.path.isdir() rather than stat.
5682         (copy): likewise.
5683
5684         * claire.py: new file; stable in non-stable munger.
5685
5686         * tea: new file; simply ensures all files in the DB exist.
5687
5688 2000-12-01  James Troup  <james@nocrew.org>
5689
5690         * katie (check_dsc): use regex_safe().
5691         (check_changes): typo in changes{} key:
5692         s/distributions/distribution/.
5693         (install): use changes["source"], not files[file]["source"] as the
5694         latter may not exist and the former is used elsewhere.  Commit the
5695         SQL transaction earlier.
5696
5697         * utils.py (regex_safe): new function; escapes characters which
5698         have meaning to SQL's regex comparison operator ('~').
5699
5700 2000-11-30  James Troup  <james@nocrew.org>
5701
5702         * katie (install): pool_location is based on source package name,
5703         not binary package.
5704
5705         * utils.py (move): if dest is a directory, append the filename
5706         before chmod-ing.
5707         (copy): ditto.
5708
5709         * katie (check_files): don't allow overwriting of existing .debs.
5710         (check_dsc): don't allow overwriting of existing source files.
5711
5712 2000-11-27  James Troup  <james@nocrew.org>
5713
5714         * katie (check_signature): don't try to load rsaref; it's
5715         obsolete.
5716         (in_override_p): don't try to lookup override entries for packages
5717         with an invalid suite name.
5718         (announce): don't assume the suite name is valid; use Find() to
5719         lookup the mailing list name for announcements.
5720
5721         * utils.py (where_am_i): typo; hostname is in the first element,
5722         not second.
5723
5724         * db_access.py (get_suite_id): return -1 on an unknown suite.
5725
5726 2000-11-26  James Troup  <james@nocrew.org>
5727
5728         * katie (install): fix CopyChanges handling; typo in in checking
5729         Cnf for CopyChanges flag and was calling non-existent function
5730         copy_file.
5731
5732         * utils.py (copy): new function; clone of move without the
5733         unlink().
5734
5735 2000-11-25  James Troup  <james@nocrew.org>
5736
5737         * utils.py (build_file_list): handle non-US prefixes properly
5738         (i.e. 'non-US' -> 'non-US/main' and 'non-US/libs' -> 'non-US/main'
5739         + 'libs' not 'non-US/libs').
5740         (send_mail): add '-odq' to sendmail invocation to avoid DNS lookup
5741         delays.  This is possibly(/probably) exim speicifc and (like other
5742         sendmail options) needs to be in the config file.
5743
5744 2000-11-24  James Troup  <james@nocrew.org>
5745
5746         * rhona (check_sources): we need file id from dsc_files; not id.
5747         Handle non .dsc source files being re-referenced in dsc_files.
5748
5749         * katie (in_override_p): strip out any 'non-US' prefix.
5750         (check_files): use utils.where_am_i() rather than hardcoding.
5751         (check_files): validate the component.
5752         (install): use utils.where_am_i() rather than hardcoding.
5753         (install): fix mail to go to actual recepient.
5754         (reject): likewise.
5755         (manual_reject): likewise.
5756         (acknowledge_new): likewise.
5757         (announce): likewise.
5758
5759         * db_access.py (get_component_id): ignore case when searching for
5760         the component and don't crash if the component can't be found, but
5761         return -1.
5762         (get_location_id): handle -1 from get_component_id().
5763
5764         * jenna (generate_src_list): don't bring 'suite' into our big
5765         multi-table-joining select as we already know the 'suite_id'.
5766         (generate_bin_list): likewise.
5767
5768         * neve (main): don't quit if not on ftp-master.
5769         (process_packages): remove unused variable 'suite_codename'.
5770
5771         * utils.py (move): actually move the file.
5772         (build_file_list): handle non-US prefixes in the section.
5773
5774         * catherine (main): use which_conf_file().
5775         * charisma (main): likewise.
5776         * heidi (main): likewise.
5777         * jenna (main): likewise.
5778         * katie (main): likewise.
5779         * neve (main): likewise.
5780         * rhona (main): likewise.
5781
5782         * utils.py (where_am_i): new routine; determines the archive as
5783         understood by other 'dak' programs.
5784         (which_conf_file): new routine; determines the conf file to read.
5785
5786 2000-11-17  James Troup  <james@nocrew.org>
5787
5788         * katie (install): fix where .changes files for proposed-updates
5789         go.
5790
5791 2000-11-04  James Troup  <james@nocrew.org>
5792
5793         * jenna (main): handle architecture properly if no
5794         -a/--architecture argument is given, i.e. reset architecture with
5795         the values for the suite for each suite.
5796
5797         * Add apt_pkg.init() to the start of all scripts as it's now
5798         required by python-apt.
5799
5800 2000-10-29  James Troup  <james@nocrew.org>
5801
5802         * jenna (generate_bin_list): take an additional argument 'type'
5803         and use it in the SELECT.
5804         (main): if processing component 'main', process udebs and debs.
5805
5806         * neve (process_packages): set up 'type' in 'binaries' (by
5807         assuming .deb).
5808
5809         * katie (re_isadeb): accept ".udeb" or ".deb" as a file ending.
5810         (check_files): set up files[file]["dbtype"].
5811         (install): use files[file]["dbtype"] to set up the 'type' field in
5812         the 'binaries' table.
5813
5814         * init_pool.sql: add a 'type' field to the 'binaries' table to
5815         distinguisgh between ".udeb" and ".deb" files.
5816
5817         * utils.py (move): scrap basename() usage; use a "dir_p(dest) :
5818         dest ? dirname(dest)" type check instead.
5819
5820         * katie (check_dsc): handle the case of an .orig.tar.gz not found
5821         in the pool without crashing.  Also handle the case of being asked
5822         to look for something other than an .orig.tar.gz in the pool.
5823
5824 2000-10-26  James Troup  <james@nocrew.org>
5825
5826         * katie (install): fix filenames put into files table during
5827         poolification of legacy source.
5828
5829         * utils.py (move): work around a bug in os.path.basename() which
5830         cunningly returns '' if there is a trailing slash on the path
5831         passed to it.
5832
5833         * katie (check_dsc): Remove more cruft.  If we find the
5834         .orig.tar.gz in the pool and it's in a legacy (or legacy-mixed)
5835         location, make a note of that so we can fix things in install().
5836         (install): as above.  Move any old source out of legacy locations
5837         so that 'apt-get source' will work.
5838         (process_it): reset the flag that indicates to install that the
5839         source needs moved.
5840
5841         * cron.daily: more.  Nowhere near complete yet though.
5842
5843         * katie (install): don't run os.makedirs, a) utils.move() does
5844         this now, b) we weren't removing the user's umask and were
5845         creating dirs with SNAFU permissions.
5846         (check_dsc): rewrite the .orig.tar.gz handling to take into
5847         account, err, package pools.  i.e. look anywhere in the pool
5848         rather than faffing around with two simple paths.
5849
5850         * neve (process_sources): add the .dsc to dsc_files too.
5851
5852 2000-10-25  James Troup  <james@nocrew.org>
5853
5854         * neve (process_sources): don't duplicate .orig.tar.gz's.
5855
5856 2000-10-23  James Troup  <james@nocrew.org>
5857
5858         * utils.py (re_extract_src_version): moved here.
5859
5860         * neve: move re_extract_src_version to utils.
5861         (process_packages): reflect change.
5862
5863         * katie (install): reflect change.
5864
5865 2000-10-19  James Troup  <james@nocrew.org>
5866
5867         * jenna (generate_src_list): handle locations with null
5868         components.
5869         (generate_bin_list): likewise.
5870