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