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