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