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