]> git.decadent.org.uk Git - dak.git/blob - ChangeLog
add changelog back
[dak.git] / ChangeLog
1 2005-05-28  James Troup  <james@nocrew.org>
2
3         * helena (process_changes_files): use MTIME rather than CTIME (the
4         C's not for 'creation', stupid).
5         * lisa (sort_changes): likewise.
6
7         * jennifer (check_distributions): use has_key rather than an 'in'
8         test which doesn't work with python2.1.  [Probably by AJ]
9
10 2005-03-19  James Troup  <james@nocrew.org>
11
12         * rene (main): use Suite::<suite>::UdebComponents to determine
13         what components have udebs rather than assuming only 'main' does.
14
15 2005-03-18  James Troup  <james@nocrew.org>
16
17         * utils.py (rfc2047_encode): use codecs.lookup() rather than
18         encodings.<encoding>.Codec().decode() as encodings.utf_8 no longer
19         has a Codec() module in python2.4.  Thanks to Andrew Bennetts
20         <andrew@ubuntu.com>.
21
22 2005-03-06  Joerg Jaspert  <ganneff@debian.org>
23
24         * helena: add -n/--new HTML output option and improved sorting
25         options.
26
27 2005-03-06  Ryan Murray  <rmurray@debian.org>
28
29         * shania(main): use Cnf::Dir::Reject instead of REJECT
30
31 2005-02-08  James Troup  <james@nocrew.org>
32
33         * rene (main): add partial NBS support by checking that binary
34         packages are built by their real parent and not some random
35         stranger.
36         (do_partial_nbs): likewise.
37
38 2005-01-18  James Troup  <james@nocrew.org>
39
40         * katie.py (Katie.build_summaries): avoid leaking file handle when
41         extracting package description.
42         (Katie.force_reject): remember and close each file descriptor we
43         use.
44         (Katie.do_reject): s/file/temp_fh/ to avoid pychecker warning.
45         s/reason_file/reason_fd/ because it's a file descriptor.
46         (Katie.check_dsc_against_db): avoid leaking file handle whenever
47         invoking apt_pkg.md5sum().
48
49         * jennifer (check_deb_ar): new function: sanity check the ar
50         contents of a .deb.
51         (check_files): use it.
52         (check_timestamps): check for data.tar.bz2 if data.tar.gz can't be
53         found.
54         (check_files): accept 'raw-installer' as an alias for 'byhand'.
55
56 2005-01-14  Anthony Towns  <ajt@debian.org>
57
58         * kelly: when UNACCEPTing, don't double up the "Rejecting:"
59
60         * propup stuff (thanks to Andreas Barth)
61         * katie.conf: add stable MustBeOlderThan testing, add -security
62           propup
63         * jennifer: set distribution-version in .katie if propup may be needed
64         * katie.py: add propogation to cross_suite_version_check
65
66 2004-11-27  James Troup  <james@nocrew.org>
67
68         * nina: new script to split monolithic queue/done into date-based
69         hierarchy.
70
71         * rene (usage): document -s/--suite.
72         (add_nbs): use .setdefault().
73         (do_anais): likewise.
74         (do_nbs): don't set a string to "" and then += it.
75         (do_obsolete_source): new function - looks for obsolete source
76         packages (i.e source packages whose binary packages are ALL a)
77         claimed by someone else and b) newer when built from the other
78         source package).
79         (main): support -s/--suite.  Add 'obsolete source' to both 'daily'
80         and 'full' check modes.  Check for obsolete source packages.
81         linux-wlan-ng has been fixed - remove hideous bodge.
82
83         * jennifer (check_distributions): support 'reject' suite map type.
84
85         * utils.py (validate_changes_file_arg): s/file/filename/.
86         s/fatal/require_changes/.  If require_changes is -1, ignore errors
87         and return the .changes filename regardless.
88         (re_no_epoch): s/\*/+/ as there must be a digit in an epoch.
89         (re_no_revision): don't escape '-', it's not a special character.
90         s/\*/+/ as there must be at least one non-dash character after the
91         dash in a revision.  Thanks to Christian Reis for noticing both of
92         these.
93
94         * ashley (main): pass require_changes=-1 to
95         utils.validate_changes_file_arg().
96
97         * pseudo-packages.maintainers (kernel): switch to 'Debian Kernel
98         Team <debian-kernel@lists.debian.org>'.
99
100         * katie.py (Katie.in_override_p): fix .startswith() usage.
101
102         * katie.conf (Dinstall::DefaultSuite): add as 'unstable'.
103         (Lauren::MoreInfoURL): update to 3.0r3.
104         (Suite::Stable::Version): likewise.
105         (Suite::Stable::Description): likewise.
106
107         * cron.daily: disable automatic task override generation.
108
109         * cindy (process): restrict "find all packages" queries by
110         component.  Respect Options["No-Action"].
111         (main): add -n/--no-action support.  Only run on unstable.  Rename
112         type to otype (pychecker).
113
114 2004-11-27  Daniel Silverstone  <dsilvers@digital-scurf.org>
115
116         * katie.conf (Billie::BasicTrees): add all architectures.
117         (Billie::CombinationTrees): remove 'welovehp' and 'embedded', add
118         'everything'.
119
120         * cron.daily: Update a 'current' symlink when creating the
121         post-daily-cron-job database backup to aid mirroring to merkel.
122         Run billie.
123
124         * billie (BillieTarget.poolish_match): handle .udeb too.
125
126 2004-10-13  Ryan Murray  <rmurray@debian.org>
127
128         * amber (do_upload): Sort changes files in "katie" order so that
129           source always arrives before binary-only rebuilds
130         
131 2004-10-05  James Troup  <james@nocrew.org>
132
133         * jennifer (check_dsc): correct reject message on invalid
134         Maintainer field.
135
136 2004-09-20  James Troup  <james@nocrew.org>
137
138         * alicia: remove unused 'pwd' import.
139
140         * tea (check_override): underline suite name in output properly.
141
142         * rene (main): read a compressed Packages file.
143         * tea (validate_packages): likewise.
144
145         * katie.py (re_fdnic): add 'r' prefix.
146         (re_bin_only_nmu_of_mu): likewise.
147         (re_bin_only_nmu_of_nmu): likewise.
148
149         * madison (main): retrieve component information too and display
150         it if it's not 'main'.
151         * melanie (reverse_depends_check): likewise.
152
153         * utils.py (pp_dep): renamed...
154         (pp_deps): ... to this.
155         * jeri (check_dep): update calls to utils.pp_deps().
156         * melanie (reverse_depends_check): likewise.
157
158         * jennifer (check_changes): move initalization of email variables
159         from here...
160         (process_it): ...to here as we no longer always run
161         check_changes().  Don't bother to initialize
162         changes["architecture"].
163
164         * denise (list): renamed to...
165         (do_list): ...this to avoid name clash with builtin 'list'.
166         Similarly, s/file/output_file/, s/type/otype/.  Use .setdefault()
167         for dictionaries.
168         (main): Likewise for name clash avoidance and also
169         s/override_type/suffix/.  Adjust call to do_list().
170
171 2004-09-01  Ryan Murray  <rmurray@debian.org>
172
173         * tea (check_files): check the pool/ directory instead of dists/
174
175 2004-08-04  James Troup  <james@nocrew.org>
176
177         * jenna (cleanup): use .setdefault() for dictionaries.
178         (write_filelists): likewise.
179
180         (write_filelists): Use utils.split_args() not split() to split
181         command line arguments.
182         (stable_dislocation_p): likewise.
183
184         (write_filelists): Add support for mapping side of suite-based
185         "Arch: all mapping".
186         (do_da_do_da): ensure that if we're not doing all suites that we
187         process enough to be able correct map arch: all packages.
188
189         * utils.py (cant_open_exc): correct exception string,
190         s/read/open/, s/.$//.
191
192         * templates/amber.advisory: update to match reality a little
193         better.
194
195         * melanie (reverse_depends_check): read Packages.gz rather than
196         Packages.
197
198         * jennifer (check_files): check for unknown component before
199         checking for NEWness.
200
201         * katie.py (Katie.in_override_p): use .startswith in favour of a
202         slice.
203
204         * docs/melanie.1.sgml: document -R/--rdep-check.
205
206 2004-07-12  Daniel Silverstone  <dsilvers@digital-scurf.org>
207
208         * billie (main): Make the verbatim lists include all the README
209           elements.
210         * docs/README.names: Add billie in (correcting oversight)
211
212 2004-07-01  James Troup  <james@nocrew.org>
213
214         * emilie (main): handle woody's case-sensitive python-ldap,
215         s/keyfingerprint/keyFingerPrint/.
216
217 2004-06-25  James Troup  <james@nocrew.org>
218
219         * debian/control (Depends): add dpkg-dev since jennifer uses
220         dpkg-source.
221
222 2004-06-24  James Troup  <james@nocrew.org>
223
224         * melanie (main): s/file/temp_file/ and close file handle before
225         removing the temporary file.
226         (main): don't warn about needing a --carbon-copy if in no-action
227         mode.
228
229         * rene (do_nbs): pcmcia-cs has been fixed - remove hideous bodge.
230         (main): likewise.
231
232         * test/006/test.py (main): check bracketed email-only form.
233
234         * utils.py (fix_maintainer): if the Maintainer string is bracketed
235         email-only, strip the brackets so we don't end up with
236         <<james@nocrew.org>>.
237
238 2004-06-20  James Troup  <james@nocrew.org>
239
240         * jennifer (process_it): only run check_changes() if
241         check_signature() returns something.  (Likewise)
242
243         * utils.py (changes_compare): if there's no changes["version"] use
244         "0" rather than None.  (Avoids a crash on unsigned changes file.)
245
246 2004-06-17  Martin Michlmayr  <tbm@cyrius.com>
247
248         * jeri (pp_dep): moved from here to ...
249         * utils.py (pp_dep): here.
250
251         * melanie (main): add reverse dependency checking.
252
253 2004-06-17  James Troup  <james@nocrew.org>
254
255         * jennifer (check_dsc): s/dsc_whitespace_rules/signing_rules/.
256         * tea (check_dscs): likewise.
257
258         * utils.py (parse_changes): s/dsc_whitespace_rules/signing_rules/,
259         change from boolean to a variable with 3 possible values, 0 and 1
260         as before, -1 means don't require a signature.  Makes
261         parse_changes() useful for parsing arbitary RFC822-style files,
262         e.g. 'Release' files.
263         (check_signature): add support for detached signatures by passing
264         the files the signature is for as an optional third argument.
265         s/filename/sig_filename/g.  Add a fourth optional argument to
266         choose the keyring(s) to use.  Don't os.path.basename() the
267         sig_filename before checking it for taint.
268         (re_taint_free): allow '/'.
269
270 2004-06-11  James Troup  <james@nocrew.org>
271
272         * tea (check_files): make override.unreadable optional.
273         (validate_sources): close the Sources file handle.
274
275         * docs/README.first: clarify that 'alyson' and running
276         add_constraints.sql by hand is something you only want to do if
277         you're not running 'neve'.
278
279         * docs/README.config (Location::$LOCATION::Suites): document.
280
281         * db_access.py (do_query): also print out the result of the query.
282
283 2004-06-10  James Troup  <james@nocrew.org>
284
285         * katie.py (Katie.cross_suite_version_check): post-woody versions
286         of python-apt's apt_pkg.VersionCompare() function apparently
287         returns variable integers for less than or greater than results -
288         update our result checking to match.
289         * jenna (resolve_arch_all_vs_any): likewise.
290         * charisma (main): likewise.
291
292 2004-06-09  James Troup  <james@nocrew.org>
293
294         * jennifer (process_it): s/changes_valid/valid_changes_p/.  Add
295         valid_dsc_p and don't run check_source() if check_dsc() failed.
296         (check_dsc): on fatal failures return 0 so check_source() isn't
297         run (since it makes fatal assumptions about the presence of
298         mandatory .dsc fields).  
299         Remove unused and obsolete re_bad_diff and re_is_changes regexps.
300
301 2004-05-07  James Troup  <james@nocrew.org>
302
303         * katie.conf (Rhona::OverrideFilename): unused and obsolete, remove.
304         * katie.conf-non-US (Rhona::OverrideFilename): likewise.
305
306         * katie.conf (Dir::Override): remove duplicate definition.
307
308         * neve (get_or_set_files_id): add an always-NULL last_used column
309         to output.
310
311 2004-04-27  James Troup  <james@nocrew.org>
312
313         * apt.conf-security (tree "dists/stable/updates"): add
314         ExtraOverride - noticed by Joey Hess (#246050).
315         (tree "dists/testing/updates"): likewise.
316
317 2004-04-20  James Troup  <james@nocrew.org>
318
319         * jennifer (check_files): check for existing .changes or .katie
320         files of the same name in the Suite::<suite>::Copy{Changes,Katie}
321         directories.
322
323 2004-04-19  James Troup  <james@nocrew.org>
324
325         * jennifer (check_source): handle failure to remove the temporary
326          directory (used for source tree extraction) better, specifically:
327          if we fail with -EACCES, chmod -R u+rwx the temporary directory
328          and try again and if that works, REJECT the package.
329
330 2004-04-17  James Troup  <james@nocrew.org>
331
332         * docs/madison.1.sgml: document -b/--binary-type,
333         -g/--greaterorequal and -G/--greaterthan.
334
335         * madison (usage): -b/--binary-type only takes a single argument.
336         Document -g/--greaterorequal and -G/--greaterthan.
337         (main): add support for -g/--greaterorequal and -G/--greaterthan.
338
339 2004-04-12  Daniel Silverstone  <dsilvers@digital-scurf.org>
340
341         * billie: Cleaned up a load of comments, added /README.non-US to
342           the verbatim matches list.
343
344 2004-04-07  Daniel Silverstone  <dsilvers@digital-scurf.org>
345
346         * utils.py (size_type): Make it use real binary megabytes and
347           kilobytes, instead of the marketing terms used before.
348
349 2004-04-07  James Troup  <james@nocrew.org>
350
351         * katie.py (Katie.check_dsc_against_db): in the case we're
352         ignoring an identical-to-existing orig.tar.gz remember the path to
353         the existent version in pkg.orig_tar_gz.  Adjust query to grab
354         location.path too to be able to do so.
355
356 2004-04-03  James Troup  <james@nocrew.org>
357
358         * debian/control (Depends): add python2.1-email | python (>= 2.2)
359         needed for new utils.rfc2047_encode() function.
360
361         * utils.py (re_parse_maintainer): allow whitespace inside the
362         email address.
363         (Error): new exception base class.
364         (ParseMaintError): new exception class.
365         (force_to_utf8): new function.
366         (rfc2047_encode): likewise.
367         (fix_maintainer): rework.  use force_to_utf8() to force name and
368         rfc822 return values to always use UTF-8.  use rfc2047_encode() to
369         return an rfc2047 value.  Validate the address to catch missing
370         email addresses and (some) broken ones.
371
372         * katie.py (nmu_p.is_an_nmu): adapt for new utils.fix_maintainer()
373         by adopting foo2047 return value.
374         (Katie.dump_vars): add changedby2047 and maintainer2047 as
375         mandatory changes fields.  Promote changes and maintainer822 to
376         mandatory fields.
377         (Katie.update_subst): default maintainer2047 rather than
378         maintainer822.  User foo2047 rather than foo822 when setting
379         __MAINTAINER_TO__ or __MAINTAINER_FROM__.
380
381         * jennifer (check_changes): set default changes["maintainer2047"]
382         and changes["changedby2047"] values rather than their 822
383         equivalents.  Makes changes["changes"] a mandatory field.  Adapt
384         to new utils.fix_maintainer() - reject on exception and adopt
385         foo2047 return value.
386         (check_dsc): if a mandatory field is missing don't do any further
387         checks and as a result reduce paranoia about dsc[var] existence.
388         Validate the maintainer field by calling new
389         utils.fix_maintainer().
390
391         * ashley (main): add changedby2047 and maintainer2047 to mandatory
392         changes fields.  Promote maintainer822 to a mandatory changes
393         field.  add "pool name" to files fields.
394
395         * test/006/test.py: new file - tests for new
396         utils.fix_maintainer().
397
398 2004-04-01  James Troup  <james@nocrew.org>
399
400         * templates/lisa.prod (To): use __MAINTAINER_TO__ not __MAINTAINER__.
401
402         * jennifer (get_changelog_versions): create a symlink mirror of
403         the source files in the temporary directory.
404         (check_source): if check_dsc_against_db() couldn't find the
405         orig.tar.gz bail out.
406
407         * katie.py (Katie.check_dsc_against_db): if the orig.tar.gz is not
408         part of the upload store the path to it in pkg.orig_tar_gz and if
409         it can't be found set pkg.orig_tar_gz to -1.
410
411         Explicitly return the second value as None in the (usual) case
412         where we don't have to reprocess.  Remove obsolete diagnostic
413         logs.
414
415         * lisa (prod_maintainer): don't return anything, no one cares. (pychecker)
416
417         * utils.py (temp_filename): new helper function that wraps around
418         tempfile.mktemp().
419
420         * katie.py (Katie.do_reject): use it and don't import tempfile.
421         * lisa (prod_maintainer): likewise.
422         (edit_note): likewise.
423         (edit_new): likewise.
424         * lauren (reject): likewise.
425         * melanie (main): likewise.
426         * neve (do_sources): likewise.
427         * rene (main): likewise.
428         * tea (validate_sources): likewise.
429
430 2004-03-31  James Troup  <james@nocrew.org>
431
432         * tea (validate_sources): remove unused 's' temporary variable.
433
434 2004-03-15  James Troup  <james@nocrew.org>
435
436         * jennifer (check_dsc): check changes["architecture"] for
437         source before we do anything else.
438
439 2004-03-21  Daniel Silverstone  <dsilvers@digital-scurf.org>
440
441         * billie: Added
442         * katie.conf (Billie): Added sample Billie stanza to katie.conf
443
444 2004-03-12  James Troup  <james@nocrew.org>
445
446         * docs/README.config (Dir::Queue::BTSVersionTrack): document.
447
448         * katie.conf (Dir::Queue::BTSVersionTrack): define.
449
450         * katie.py (Katie.accept): add support for DebBugs Version
451         Tracking by writing out .versions (generated in jennifer's
452         get_changelog_versions()) and .debinfo (mapping of binary ->
453         source) files.
454
455         * ashley (main): add dsc["bts changelog"].
456
457         * katie.py (Katie.dump_vars): store dsc["bts changelog"] too.
458
459         * jennifer (check_diff): obsoleted by check_source(), removed.
460         (check_source): new function: create a temporary directory and
461         move into it and call get_changelog_versions().
462         (get_changelog_versions): new function: extract the source package
463         and optionally parse debian/changelog to obtain the version
464         history for the BTS.
465         (process_it): call check_source() rather than check_diff().
466
467 2004-03-08  James Troup  <james@nocrew.org>
468
469         * lisa (edit_index): Fix logic swapo from 'use "if varfoo in
470         listbar" rather than "if listbar.count(varfoo)"' change on
471         2004-02-24.
472
473 2004-03-05  James Troup  <james@nocrew.org>
474
475         * alicia (main): don't warn about not closing bugs - we don't
476         manage overrides through the BTS.
477
478 2004-02-27  Martin Michlmayr  <tbm@cyrius.com>
479
480         * docs/README.config: lots of updates and corrections.
481         * docs/README.first: likewise.
482
483         * docs/README.config: drop unused Dir::Queue::Root.
484         * katie.conf-non-US: likewise.
485         * katie.conf: likewise.
486         * katie.conf-security: likewise.
487
488 2004-02-27  James Troup  <james@nocrew.org>
489
490         * rose (process_tree): use 'if var in [ list ]' rather than long
491         'if var == foo or var == bar or var == baz'.  Suggested by Martin
492         Michlmayr.
493
494         * jennifer (check_files): reduce 'if var != None' to 'if var' as
495         suggested by Martin Michlmayr.
496         * catherine (poolize): likewise.
497         * charisma (main): likewise.
498         * halle (check_changes): likewise.
499         * heidi (main): likewise.
500         (process_file): likewise.
501         * kelly (install): likewise.
502         (stable_install): likewise.
503         * utils.py (fix_maintainer): likewise.
504
505         * apt.conf: add support for debian-installer in testing-proposed-updates.
506         * katie.conf (Suite::Testing-Proposed-Updates::UdebComponents):
507         add - set to main.
508
509         * mkmaintainers: add "-T15" option to wget of non-US packages file
510         so that we don't hang cron.daily if non-US is down.
511
512         * templates/lisa.prod (Subject): Prefix with "Comments regarding".
513
514         * templates/jennifer.bug-close: add Source and Source-Version
515         pseudo-headers that may be used for BTS Version Tracking someday
516         [ajt@].
517
518         * rene (do_nbs): special case linux-wlan-ng like we do for pcmcia.
519         (main): likewise.
520
521         * cron.unchecked: it's /org/ftp.debian.org not ftp-master.
522
523 2004-02-25  James Troup  <james@nocrew.org>
524
525         * katie.conf (SuiteMappings): don't map testing-security to
526         proposed-updates.
527
528 2004-02-24  James Troup  <james@nocrew.org>
529
530         * katie.py (Katie.__init__): remove unused 'values' field.
531
532         * utils.py (extract_component_from_section): use 's.find(c) != -1'
533         rather than 's.count(c) > 0'.
534
535         * katie.py (Katie.source_exists): use "if varfoo in listbar"
536         rather than "if listbar.count(varfoo)".
537         * halle (check_joey): likewise.
538         * jeri (check_joey): likewise.
539         * lisa (edit_index): likewise.
540         * jenna (stable_dislocation_p): likewise.
541
542         * jennifer (main): remove unused global 'nmu'.
543
544 2004-02-03  Daniel Silverstone  <dsilvers@digital-scurf.org>
545
546         * pseudo-packages.maintainers (ftp.debian.org): Changed the maintainer
547           to be ftpmaster@ftp-master.debian.org to bring it into line with how
548           the dak tools close bugs.
549
550 2004-02-02  Daniel Silverstone  <dsilvers@digital-scurf.org>
551
552         * katie.conf (Alicia): Added an Alicia section with email address
553         * templates/alicia.bug-close: Added
554         * docs/alicia.1.sgml: Added the docs for the -d/--done argument
555         * alicia (main): Added a -d/--done argument
556
557 2004-02-02  Daniel Silverstone  <dsilvers@digital-scurf.org>
558
559         * templates/lisa.prod: Oops, missed a BITCH->PROD conversion
560
561 2004-01-29  Daniel Silverstone  <dsilvers@digital-scurf.org>
562
563         * lisa (prod_maintainer): Added function to prod the maintainer without
564           accepting or rejecting the package
565         * templates/lisa.prod: Added this template for the prodding mail
566
567         * .cvsignore: Added neve-files which turns up in new installations
568
569 2004-01-30  Daniel Silverstone  <dsilvers@digital-scurf.org>
570
571         * alicia (usage): Fixed usage message to offer section and priority
572           as seperately optional arguments.
573         * alicia (main): Added a % (arg) interpolation needed when only
574           one of section or priority is provided and it cannot be found.
575
576 2004-01-29  Daniel Silverstone  <dsilvers@digital-scurf.org>
577
578         * alicia: Added
579         * docs/alicia.1.sgml: Added
580         * docs/Makefile: Added alicia to the list of manpages to build
581         * docs/README.names: Noted what alicia does
582         * docs/README.first: Noted where alicia is useful
583
584 2004-01-21  James Troup  <james@nocrew.org>
585
586         * madison (main): add -b/--binary-type.
587         (usage): likewise.
588
589         * denise (main): generate debian-installer overrides for testing
590         too.
591         * apt.conf: add support for debian-installer in testing.
592         * katie.conf (Suite::Testing::UdebComponents): set to main.
593
594         * katie.conf (Dinstall::SigningKeyIds): 2004 key.
595         * katie.conf-non-US (Dinstall::SigningKeyIds): likewise.
596         * katie.conf-security (Dinstall::SigningKeyIds): likewise.
597
598         * utils.py (parse_changes): don't process data not inside the
599         signed data.  Thanks to Andrew Suffield <asuffield@debian.org> for
600         pointing this out.
601         * test/005/test.py (main): new test to test for above.
602
603 2004-01-04  James Troup  <james@nocrew.org>
604
605         * jenna (write_filelists): correct typo, s/Components/Component/
606         for Options.
607
608 2004-01-04  Ryan Murray  <rmurray@debian.org>
609
610         * cron.buildd: move update of overrides and Packages file...
611         * cron.unchecked: to here.
612         * katie.conf-non-US: (Dinstall::SingingKeyIds) update for 2003v2 key
613         * katie.conf-security: likewise
614
615 2003-11-20  James Troup  <james@nocrew.org>
616
617         * jenna (main): don't use utils.try_with_debug(), it produces way
618         too much output.
619
620         * halle (check_changes): don't error out if a .changes refers to a
621         non-existent package, just warn and skip the file.
622
623         * docs/README.stable-point-release: mention halle and .changes
624         obsoleted by removal through melanie.  Update for 3.0r2.
625
626         * katie.conf (Suite::Stable::Version): bump to 3.0r2.
627         (Suite::Stable::Description): update for 3.0r2.
628         (Lauren::MoreInfoURL): likewise.
629         * katie.conf-non-US (Suite::Stable::Version): likewise.
630         (Suite::Stable::Description): likewise.
631         (Lauren::MoreInfoURL): likewise.
632
633         * apt.conf.stable (Default): don't define MaxContentsChange.
634         * apt.conf.stable-non-US (Default): likewise.
635
636         * lauren (reject): hack to work around partial replacement of an
637         upload, i.e. one or more binaries superseded by another source
638         package.
639
640 2003-11-17  James Troup  <james@nocrew.org>
641
642         * pseudo-packages.maintainers: point installation-reports at
643         debian-boot@l.d.o rather than debian-testing@l.d.o at jello@d.o's
644         request.
645
646         * utils.py (parse_changes): calculate the number of lines once
647         with len() rather than max().
648
649         * jennifer (check_dsc): handle the .orig.tar.gz disappearing from
650         files, since check_dsc_against_db() deletes the .orig.tar.gz
651         entry.
652
653 2003-11-13  Ryan Murray  <rmurray@debian.org>
654
655         * apt.conf: specify a src override file for debian-installer
656
657 2003-11-10  James Troup  <james@nocrew.org>
658
659         * fernanda.py (strip_pgp_signature): new function - strips PGP
660         signature from a file and returns the modified contents of the
661         file in a string.
662         (display_changes): use it.
663         (read_dsc): likewise.
664
665 2003-11-09  Ryan Murray  <rmurray@debian.org>
666
667         * cron.buildd: export accepted_autobuild table for unstable, and use
668         it to generate the incoming Packages/Sources rather than having apt
669         walk the directory.
670         * apt.conf.buildd: use exported table from cron.buildd to generate
671         Packages/Sources
672
673 2003-11-07  James Troup  <james@nocrew.org>
674
675         * kelly: import errno.
676
677         * katie.py (Katie.build_summaries): sort override disparities.
678
679         * kelly (install): set dsc_component based on the .dsc's component
680         not a random binaries.
681
682 2003-10-29  James Troup  <james@nocrew.org>
683
684         * katie.py (Katie.build_summaries): don't assume changes["source"]
685         exists since it might not.
686
687 2003-10-20  James Troup  <james@nocrew.org>
688
689         * pseudo-packages.maintainers: update security.d.o to use
690         team@s.d.o at joy@'s request.
691
692 2003-10-17  James Troup  <james@nocrew.org>
693
694         * jennifer (check_dsc): use .startswith rather than .find() == 0.
695
696 2003-10-17  Martin Michlmayr  <tbm@cyrius.com>
697
698         * tea (chk_bd_process_dir): use .endswith rather than slice.
699
700 2003-10-14  James Troup  <james@nocrew.org>
701
702         * tea (check_build_depends): new function.
703         (chk_bd_process_dir): likewise.  Validates build-depends in .dsc's
704         in the archive.
705         (main): update for new function.
706         (usage): likewise.
707
708         * katie.py (Katie.do_reject): sanitize variable names,
709         s/reject_filename/reason_filename/, s/fd/reason_fd/.  Move shared
710         os.close() to outside if clause.
711
712         * jennifer (check_dsc): check build-depends and
713         build-depends-indep by running them past apt_pkg.ParseSrcDepends.
714         Fold the ARRAY check into the same code block and tidy up it's
715         rejection message.
716         (check_changes): ensure that the Files field is non-empty.
717         Suggested by Santiago Vila <sanvila@unex.es>
718         (check_changes): normalize reject messages.
719         (check_dsc): instead of doing most of the checks inside a for loop
720         and an if, find the dsc_filename in a short loop over files first
721         and then do all the checks.  Add check for more than one .dsc in a
722         .changes which we can't handle.  Normalize reject messages.
723
724 2003-10-13  James Troup  <james@nocrew.org>
725
726         * katie.conf (Dinstall::Reject::NoSourceOnly): set to true.
727         * katie.conf-non-US (Dinstall::Reject::NoSourceOnly): likewise.
728
729         * jennifer (check_files): Set 'has_binaries' and 'has_source'
730         variables while iterating over 'files'.  Don't regenerate it when
731         checking for source if source is mentioned.
732
733         Reject source only uploads if the config variable
734         Dinstall::Reject::NoSourceOnly is set.
735
736 2003-10-03  James Troup  <james@nocrew.org>
737
738         * rene (main): add nasty hardcoded reference to debian-installer
739         so we detect NBS .udebs.
740
741 2003-09-29  James Troup  <james@nocrew.org>
742
743         * apt.conf (old-proposed-updates): remove.
744         * apt.conf-non-US (old-proposed-updates): likewise.
745
746 2003-09-24  James Troup  <james@nocrew.org>
747
748         * tea (check_files_not_symlinks): new function, ensure files
749         mentioned in the database aren't symlinks.  Includes code to
750         update any files that are like this to their real filenames +
751         location; commented out by though.
752         (usage): update for new function.
753         (main): likewise.
754
755 2003-09-24  Anthony Towns  <ajt@debian.org>
756
757         * vars: external-overrides variable added
758         * cron.daily: Update testing/unstable Task: overrides from joeyh
759         managed external source.
760
761 2003-09-22  James Troup  <james@nocrew.org>
762
763         * kelly (install): if we can't move the .changes into queue/done,
764         fail don't warn and carry on.  The old behaviour pre-dates NI and
765         doesn't make much sense now since jennifer checks both
766         queue/accepted and queue/done for any .changes files she's
767         processing.
768
769         * utils.py (move): don't throw exceptions on existing files or
770         can't overwrite, instead just fubar out.
771
772         * jennifer (check_dsc): also check Build-Depends-Indep for
773         ARRAY-lossage.  Noticed by Matt Zimmerman <mdz@debian.org>.
774
775 2003-09-18  James Troup  <james@nocrew.org>
776
777         * katie.py (Katie.close_bugs): only log the bugs we've closed
778         once.
779
780         * kelly (main): log as 'kelly', not 'katie'.
781
782 2003-09-16  James Troup  <james@nocrew.org>
783
784         * katie.py (Katie.check_binary_against_db): likewise noramlize.
785
786         * jennifer (check_changes): normalize reject message for "changes
787         file already exists" to be %s: <foo>.
788         (check_dsc): add a check for 'Build-Depends: ARRAY(<hex>)'
789         produced by broken dpkg-source in 1.10.11.  Tone down and
790         normalize rejection message for incompatible 'Format' version
791         numbers.
792         (check_diff): likewise tone down and normalize.
793
794 2003-09-07  James Troup  <james@nocrew.org>
795
796         * utils.py (parse_changes): if dsc_whitespace_rules is false,
797         don't bomb out on bogus empty lines.
798         (build_file_list): check for changes["files"] earlier.  use Dict
799         to create files[name] dictionary.
800         (send_mail): don't bother validating arguments.
801         (check_signature): minor improvements to some of the rejection
802         messages including listing the key id of the key that wasn't found
803         in the keyring.
804         (wrap): new function.
805
806         * tea: add new check 'validate-indices' that ensures all files
807         mentioned in indices (Packages, Sources) files do in fact exist.
808
809         * catherine (poolize): use a local re_isadeb which handles legacy
810         (i.e. no architecture) style .deb filenames.
811
812         * rosamund: new script.
813
814         * rhona (check_binaries): when checking for binary packages not in
815         a suite, don't bother selecting files that already have a
816         last_used date.
817         (check_sources): likewise.
818
819         * rhona: change all SQL EXISTS sub-query clauses to use the
820         postgres suggested convention of "SELECT 1 FROM".
821         * andrea (main): likewise.
822         * tea (check_override): likewise.
823         * catherine (main): likewise.
824
825         * katie.conf (Suite): remove OldStable and Old-Proposed-Updates
826         entries and in other suites MustBeNewerThan's.
827         (SuiteMappings): likewise
828         * katie.conf-non-US: likewise.
829         * katie.conf-security: likewise.
830
831         * apt.conf-security: remove oldstable.
832         * apt.conf.stable: likewise.
833         * apt.conf.stable-non-US: likewise.
834         * cron.buildd-security: likewise.
835         * cron.daily-security: likewise.
836         * vars-security (suites): likewise.
837         * wanna-build/trigger.daily: likewise.
838
839         * claire.py (clean_symlink): move...
840         * utils.py (clean_symlink): here.
841
842         * claire.py (find_dislocated_stable): update accordingly.
843
844 2003-08-16  Anthony Towns  <ajt@debian.org>
845
846         * katie.py (source_exists): expand the list of distributions
847         the source may exist in to include any suite that's mapped to
848         the destination suite (even transitively (a->b->c)). This should
849         unbreak binary uploads to *-proposed-updates.
850
851 2003-08-09  Randall Donald  <rdonald@debian.org>
852
853         * lisa (recheck): change changes["distribution"].keys() to
854         Katie.pkg.changes...
855
856 2003-08-08  Randall Donald  <rdonald@debian.org>
857
858         * katie.py: only tag bugs as fixed-in-experimental for
859         experimental uploads
860
861 2003-07-26  Anthony Towns  <ajt@debian.org>
862
863         * katie.py (source_exists): add an extra parameter to limit the
864         distribution(s) the source must exist in.
865         * kelly, lisa, jennifer: update to use the new source_exists
866
867 2003-07-15  Anthony Towns  <ajt@debian.org>
868
869         * ziyi: quick hack to support a FakeDI line in apt.conf to generate
870         checksums for debian-installer stuff even when it's just a symlink to
871         another suite
872
873         * apt.conf: add the FakeDI line
874
875 2003-06-09  James Troup  <james@nocrew.org>
876
877         * kelly (check): make sure the 'file' we're looking for in 'files'
878         hasn't been deleted by katie.check_dsc_against_db().
879
880 2003-05-07  James Troup  <james@nocrew.org>
881
882         * helena (time_pp): fix s/years/year/ typo.
883
884 2003-04-29  James Troup  <james@nocrew.org>
885
886         * madison (usage): document -c/--component.
887
888         * madison (usage): Fix s/seperated/separated/.
889         * melanie (usage): likewise.
890         * jenna (usage): likewise.
891
892 2003-04-24  James Troup  <james@nocrew.org>
893
894         * cron.daily-non-US: if there's nothing for kelly to install, say
895         so.
896
897         * jennifer (check_timestamps): print sys.exc_value as well as
898         sys.exc_type when capturing exceptions.  Prefix 'timestamp check
899         failed' with 'deb contents' to make it clearer what timestamp(s)
900         are being checked.
901
902 2003-04-15  James Troup  <james@nocrew.org>
903
904         * cron.daily-non-US: only run kelly if there are some .changes
905         files in accepted.
906
907         * rene: add -m/--mode argument which can be either daily (default)
908         or full.  In daily mode only 'nviu' and 'nbs' checks are run.
909         Various changes to make this possible including a poor attempt at
910         splitting main() up a little.  De-hardcode suite numbers from SQL
911         queries and return quietly from do_nviu() if experimental doesn't
912         exist (i.e. non-US).  Hardcode pcmcia-cs as dubious NBS since it
913         is.
914
915         * debian/control (Depends): remove python-zlib as it's obsolete.
916
917         * charisma (main): don't slice the \n off strings when we're
918         strip()-ing it anyway.
919         * heidi (set_suite): likewise.
920         (process_file): likewise.
921         * natalie (process_file): likewise.
922
923 2003-04-08  James Troup  <james@nocrew.org>
924
925         * katie.py (Katie.check_dsc_against_db): improve the speed of two
926         slow queries by using one LIKE '%foo%' and then matching against
927         '%s' or '/%s$' in python.  Also only join location when we need it
928         (i.e. the .orig.tar.gz query).  On auric, this knocks ~3s of each
929         query, so 6s for each sourceful package.
930
931         * cron.daily: invoke rene and send the report to ftpmaster.
932         * cron.daily-non-US: likewise.
933
934 2003-03-14  James Troup  <james@nocrew.org>
935
936         * utils.py (send_mail): default filename to blank.
937         * amber (make_advisory): adapt.
938         * jennifer (acknowledge_new): likewise.
939         * katie.py (Katie.close_bugs): likewise.
940         (Katie.announce): likewise.
941         (Katie.accept): likewise.
942         (Katie.check_override): likewise.
943         (Katie.do_reject): likewise.
944         * kelly (do_reject): likewise.
945         (stable_install): likewise.
946         * lisa (do_bxa_notification): likewise.
947         * lauren (reject): likewise.
948         * melanie (main): likewise.
949
950         * rene (add_nbs): check any NBS packages against unstable to see
951         if they haven't been removed already.
952
953         * templates/katie.rejected: remove paragraph about rejected files
954         since they're o-rwx due to c-i-m and the uploader can't do
955         anything about them and shania will take care of them anyway.
956
957         * madison (usage): update usage example to use comma seperation.
958         * melanie (usage): likewise.
959
960         * utils.py (split_args): new function; splits command line
961         arguments either by space or comma (whichever is used).  Also has
962         optional-but-default DWIM spurious space detection to avoid
963         'command -a i386, m68k' problems.
964         (parse_args): use it.
965         * melanie (main): likewise.
966
967         * melanie (main): force the admin to tell someone if we're not
968         doing a rene-led removal (or closing a bug, which counts as
969         telling someone).
970
971 2003-03-05  James Troup  <james@nocrew.org>
972
973         * katie.conf (Section): add embedded, gnome, kde, libdevel, perl
974         and python sections.
975         * katie.conf-security (Section): likewise.
976
977         * add_constraints.sql: add uid and uid_id_seq to grants.
978
979         * lisa (determine_new): also warn about adding overrides to
980         oldstable.
981
982         * madison (main): make the -S/--source-and-binary query obey
983         -s/--suite restrictions.
984
985 2003-03-03  James Troup  <james@nocrew.org>
986
987         * madison (main): if the Archive_Maintenance_In_Progress lockfile
988         exists, warn the user that our output might seem strange.  (People
989         get confused by multiple versions in a suite which happens
990         post-kelly but pre-jenna.)
991
992 2003-02-21  James Troup  <james@nocrew.org>
993
994         * kelly (main): we don't need to worry about StableRejector.
995
996         * melanie (main): sort versions with apt_pkg.VersionCompare()
997         prior to output.
998
999         * lauren: new script to manually reject packages from
1000         proposed-updates.  Updated code from pre-NI kelly (nee katie).
1001
1002 2003-02-20  James Troup  <james@nocrew.org>
1003
1004         * kelly (init): remove unused -m/--manual-reject argument.
1005
1006         * katie.py (Katie.force_reject): renamed from force_move to make
1007         it more explicit what this function does.
1008         (Katie.do_reject): update to match.
1009
1010         * utils.py (prefix_multi_line_string): add an optional argument
1011         include_blank_lines which defaults to 0.  If non-zero, blank lines
1012         will be includes in the output.
1013
1014         * katie.py (Katie.do_reject): don't add leading space to each line
1015         of the reject message.  Include blank lines when showing the
1016         message to the user.
1017
1018 2003-02-19  Martin Michlmayr  <tbm@cyrius.com>
1019
1020         * utils.py (fix_maintainer): replace pointless re.sub() with
1021         simple string format.
1022
1023 2003-02-11  James Troup  <james@nocrew.org>
1024
1025         * lisa (edit_overrides): only strip-to-one-char and upper-case
1026         non-numeric answers.  Fixes editing of items with indices >= 10;
1027         noticed by Randall.
1028         (edit_overrides): correct order of arguments to "not a valid
1029         index" error message.
1030
1031         * jenna (cleanup): call resolve_arch_all_vs_any() rather than
1032         remove_duplicate_versions(); thanks to aj for the initial
1033         diagnosis.
1034         (remove_duplicate_versions): correct how we return
1035         dominant_versions.
1036         (resolve_arch_all_vs_any): arch_all_versions needs to be a list of
1037         a tuple rather than just a tuple.
1038
1039 2003-02-10  James Troup  <james@nocrew.org>
1040
1041         * emilie: new script - sync fingerprint and uid tables with a
1042         debian.org LDAP DB.
1043
1044         * init_pool.sql: new table 'uid'; contains user ids.  Reference it
1045         in 'fingerprint'.
1046
1047         * db_access.py (get_or_set_uid_id): new function.
1048
1049         * jennifer (main): update locking to a) not used FCNTL (deprecated
1050         in python >= 2.2) and b) acknowledge upstream's broken
1051         implementation of lockf (see Debian bug #74777), c) try to acquire
1052         the lock non-blocking.
1053         * kelly (main): likewise.
1054
1055         * contrib/python_1.5.2-fcntl_lockf.diff: obsolete, removed.
1056
1057         * madison (main): only append the package to new_packages if it's
1058         not already in there; fixes -S/--source-and-binary for cases where
1059         the source builds a binary package of the same name.
1060
1061 2003-02-10  Anthony Towns  <ajt@debian.org>
1062
1063         * madison (main): use explicit JOIN syntax for
1064         -S/--source-and-binary queries to reduce the query's runtime from
1065         >10 seconds to negligible.
1066
1067 2003-02-08  James Troup  <james@nocrew.org>
1068
1069         * rene (main): in the NVIU output, append items to lists, not
1070         extend them; fixes amusing suggestion that "g n u m e r i c" (sic)
1071         should be removed.
1072
1073 2003-02-07  James Troup  <james@nocrew.org>
1074
1075         * apt.conf (tree "dists/unstable"): Add bzip2-ed Packages and
1076         Sources [aj].
1077
1078         * pseudo-packages.maintainers (bugs.debian.org): s/Darren
1079         O. Benham/Adam Heath/.
1080
1081         * katie.conf (Suite::Stable::Version): bump to 3.0r1a.
1082         (Suite::Stable::Description): update for 3.0r1a.
1083         (Dinstall::SigningKeyIds): update for 2003 key [aj].
1084
1085         * utils.py (gpgv_get_status_output): rename from
1086         get_status_output().
1087
1088         * neve (check_signature): use gpgv_get_status_output and Dict from
1089         utils().  Add missing newline to error message about duplicate tokens.
1090
1091         * saffron (per_arch_space_use): also print space used by source.
1092         (output_format): correct string.join() invocation.
1093
1094         * jennifer (check_signature): ignored duplicate EXPIRED tokens.
1095
1096 2003-02-04  James Troup  <james@nocrew.org>
1097
1098         * cron.buildd: correct generation of Packages/Sources and grep out
1099         non-US/non-free as well as non-free.
1100
1101 2003-02-03  Ryan Murray  <rmurray@debian.org>
1102
1103         * cron.buildd: generate quinn-diff output with full Packages/Sources
1104           files to get out-of-date vs. uncompiled right.
1105         * apt.conf.buildd: no longer generate uncompressed files, as they
1106           are generated in cron.buildd instead
1107         * add -i option to quinn-diff to ignore binary-all packages
1108         * apt.conf.buildd: remove and readd udeb to extensions.  If the udebs
1109           aren't in the packages file, the arch that uploaded them will build
1110           them anyways...
1111
1112 2003-01-30  James Troup  <james@nocrew.org>
1113
1114         * rene (main): only print suggested melanie command when there's
1115         some NBS to remove.
1116
1117 2003-01-30  Ryan Murray  <rmurray@debian.org>
1118
1119         * cron.buildd: fix incorrectly inverted lockfile check
1120
1121 2003-01-29  Ryan Murray  <rmurray@debian.org>
1122
1123         * cron.buildd: generate override.sid.all3.src
1124         * apt.conf.buildd: use generated override.sid.all3.src
1125
1126 2003-01-27  Martin Michlmayr  <tbm@cyrius.com>
1127
1128         * utils.py (get_status_output): moved from jennifer.
1129         (Dict): likewise.
1130         (check_signature): likewise.
1131
1132         * jennifer (get_status_output): moved to utils.py.
1133         (Dict): likewise.
1134         (check_signature): likewise.
1135
1136         * utils.py (check_signature): add an argument to specifiy which
1137         function to call when an error was found.
1138         (check_signature): document this function better.
1139
1140         * jennifer (check_files): pass the reject function as an argument
1141         to utils.check_signature.
1142         (process_it): likewise.
1143
1144 2003-01-20  James Troup  <james@nocrew.org>
1145
1146         * rene (main): lots of changes to improve the output and make it
1147         more useful.
1148
1149         * katie.py (Katie.check_override): make the override messages
1150         clearer (hopefully).
1151
1152 2002-12-26  James Troup  <james@nocrew.org>
1153
1154         * ziyi (usage): document the ability to pass suite(s) as
1155         argument(s).
1156         (main): read apt.conf after checking for -h/--help.
1157
1158         * tea (main): take the check to run as an argument.
1159
1160         * saffron.R: R script to graph daily install runs.
1161
1162         * saffron: new script; various stats functions.
1163
1164         * rhona (main): connect to the database after checking for -h/--help.
1165
1166         * neve (do_da_do_da): if no -a/--action option is given, bail out.
1167
1168         * melanie (main): sort versions with utils.arch_compare_sw().
1169
1170         * madison (usage): alphabetize order of options.
1171         * melanie (usage): likewise.
1172
1173         * kelly (usage): fix usage short description (we aren't dinstall).
1174
1175         * julia (usage): fix usage description and alphabetize order of
1176         options.
1177
1178         * jeri (usage): fix usage short description.
1179
1180         * jennifer (main): move --help and --version checks from here...
1181         (init): to here so that they work with an empty katie.conf.
1182         * kelly: likewise.
1183
1184         * alyson (usage): new function.
1185         (main): use it.
1186         * andrea: likewise.
1187         * ashley: likewise.
1188         * cindy: likewise.
1189         * denise: likewise.
1190         * helena: likewise.
1191         * neve: likewise.
1192         * rene: likewise.
1193         * rose: likewise.
1194         * tea: likewise.
1195
1196         * apt.conf.stable (tree "dists/stable"): add missing ExtraOverride
1197         entry that caused tasks to be omitted from 3.0r1.
1198
1199 2002-12-10  James Troup  <james@nocrew.org>
1200
1201         * jennifer (check_files): sanity check the Depends field to ensure
1202         it's non-empty if present since apt chokes on an empty one.
1203         Thanks to Ryan Murray for the idea.
1204
1205 2002-12-08  James Troup  <james@nocrew.org>
1206
1207         * katie.conf-security (Helena::Directories): new; include accepted
1208         in addition to byhand and new.
1209
1210         * helena (process_changes_files): use utils.arch_compare_sw().
1211         Justify things based on the longest [package, version,
1212         architecture].  Reduce '[note]' to '[N]' to save space, and remove
1213         the commas in architecture and version lists for the same reason.
1214         (main): make directories we process configurable through
1215         Helena::Directories in the config file; if that doesn't exist
1216         default to the old hardcoded values (byhand & new).
1217
1218         * utils.py (arch_compare_sw): moved here from madison.
1219         * madison (main): adjust to compensate.
1220
1221 2002-12-06  James Troup  <james@nocrew.org>
1222
1223         * ziyi (main): fix "suite foo not in apt.conf" msg to use the
1224         right filename.
1225
1226 2002-12-05  James Troup  <james@nocrew.org>
1227
1228         * katie.conf-non-US (Julia::KnownPostgres): add 'udmsearch'.
1229
1230 2002-11-28  Randall Donald  <rdonald@debian.org>
1231
1232         * fernanda.py (read_control): fix typo of 'Architecture'.
1233
1234 2002-11-26  James Troup  <james@nocrew.org>
1235
1236         * lisa (check_pkg): call less with '-R' so we see the colour from
1237         Randall's fernanda changes.
1238
1239         * neve (process_sources): if Directory points to a legacy location
1240         but the .dsc isn't there; assume it's broken and look in the pool.
1241         (update_section): new, borroed from alyson.
1242         (do_da_do_da): use it.
1243         (process_packages): add suite_it to the cache key used for
1244         arch_all_cache since otherwise we only add a package to the first
1245         suite it's in and ignore any subsequent ones.
1246
1247         * katie.conf-non-US (Location): fixed to reflect reality (all
1248         suites, except old-proposed-updates (which is legacy-mixed)) are
1249         pool.
1250
1251         * utils.py (try_with_debug): wrapper for print_exc().
1252         * jenna (main): use it.
1253         * neve (main): likewise.
1254
1255 2002-11-25  Randall Donald  <rdonald@debian.org>
1256
1257         * fernanda.py (main): added -R to less command line for raw control
1258         character support to print colours
1259         (check_deb): Instead of running dpkg -I on deb file, call
1260         output_deb_info, the new colourized control reporter.
1261         (check_dsc): add call to colourized dsc info reader, read_dsc, instead
1262         of printing out each .dsc line.
1263         (output_deb_info): new function. Outputs each key/value pair from
1264         read_control except in special cases where we highlight section,
1265         maintainer, architecture, depends and recommends.
1266         (create_depends_string): new function. Takes Depends tree and looks
1267         up it's compontent via projectb db, colourizes and constructs a
1268         depends string in original order.
1269         (read_dsc): new function. reads and parses .dsc info via
1270         utils.parse_changes. Build-Depends and Build-Depends-Indep are
1271         colourized.
1272         (read_control): new function. reads and parses control info via
1273         apt_pkg. Depends and Recommends are split in to list structures,
1274         Section and Architecture are colourized. Maintainer is colourized
1275         if it has a localhost.localdomain address.
1276         (split_depends): new function. Creates a list of lists of
1277         dictionaries of depends (package,version relation). Top list is
1278         colected from comma delimited items. Sub lists are | delimited.
1279         (get_comma_list): new function. splits string input among commas
1280         (get_or_list): new function. splits string input among | delimiters
1281         (get_depends_parts): new function. Creates dictionary of package name
1282         and version relation from dependancy string.
1283         Colours for section and depends are per component. Unfound depends
1284         are in bold. Lookups using version info is not supported yet.
1285
1286 2002-11-22  James Troup  <james@nocrew.org>
1287
1288         * katie.conf-security (Julia::KnownPostgres): add 'www-data' and
1289         'udmsearch'.
1290
1291         * amber (make_advisory): string.atol() is deprecated and hasn't
1292         been ported to string methods.  Use long() instead.
1293
1294         * init_pool.sql: explicitly specify the encoding (SQL_ASCII) when
1295         creating the database since we'll fail badly if it's created with
1296         e.g. UNICODE encoding.
1297
1298         * rose (main): AptCnf is a global.
1299
1300         * neve (get_location_path): new function determines the location
1301         from the the first (left-most) directory of a Filename/Directory.
1302         (process_sources): don't need 'location' anymore.  Use
1303         utils.warn().  Use the Directory: field for each package to find
1304         the .dsc.  Use get_location_path() to determine the location for
1305         each .dsc.
1306         (process_packages): do't need 'location' anymore.  Use
1307         utils.warn().  Use get_location_path().
1308         (do_sources): don't need 'location', drop 'prefix' in favour of
1309         being told the full path to the Sources file, like
1310         process_packages().
1311         (do_da_do_da): main() renamed, so that main can call us in a
1312         try/except.  Adapt for the changes in do_sources() and
1313         process_packages() above.  Assume Sources and Packages file are in
1314         <root>/dists/<etc.>.  Treat pool locations like we do legacy ones.
1315
1316         * katie.conf-security (Location): fixed to reflect reality (all
1317         suites are pool, not legacy).
1318
1319         * utils.py (print_exc): more useful (i.e. much more verbose)
1320         traceback; a recipe from the Python cookbook.
1321         * jenna (main): use it.
1322         * neve (main): likewise.
1323
1324 2002-11-19  James Troup  <james@nocrew.org>
1325
1326         * kelly (install): fix brain-damaged CopyChanges/CopyKatie
1327         handling which was FUBAR for multi-suite uploads.  Now we just
1328         make a dictionary of destinations to copy to and iterate over
1329         those.
1330
1331         * fernanda.py (check_deb): run linda as well as lintian.
1332
1333 2002-10-21  James Troup  <james@nocrew.org>
1334
1335         * melanie (main): change X-Melanie to X-Katie and prefix it with
1336         'melanie '.
1337
1338         * lisa (main): prefix X-Katie with 'lisa '.
1339
1340         * jennifer (clean_holding): fix typo in string method changes;
1341         s/file.find(file/file.find(/.
1342
1343         * cron.daily: invoke helena and send the report to ftpmaster.
1344         * cron.daily-non-US: likewise.
1345
1346 2002-10-16  James Troup  <james@nocrew.org>
1347
1348         * kelly (check): call reject() with a blank prefix when parsing
1349         the return of check_dsc_against_db() since it does its own
1350         prefix-ing.
1351
1352         * rose: new script; only handles directory creation initally.
1353
1354         * katie.conf (Dinstall::NewAckList): obsolete, removed.
1355         * katie.conf-non-US (Dinstall::NewAckList): likewise.
1356
1357 2002-10-06  James Troup  <james@nocrew.org>
1358
1359         * rene (main): remove bogus argument handling.
1360
1361         * kelly: katie, renamed.
1362         * cron.daily: adapt for katie being renamed to kelly.
1363         * cron.daily-non-US: likewise.
1364         * amber (main): likewise.
1365
1366         * Changes for python 2.1.
1367
1368         * kelly: time.strftime no longer requires a second argument of
1369         "time.localtime(time.time())".
1370         * logging.py: likewise.
1371         * rhona: likewise.
1372         * shania (init): likewise.
1373
1374         * amber: use augmented assignment.
1375         * catherine (poolize): likewise.
1376         * claire.py (fix_component_section): likewise.
1377         * halle (check_changes): likewise.
1378         * helena: likewise.
1379         * jenna: likewise.
1380         * jennifer: likewise.
1381         * jeri: likewise.
1382         * katie.py: likewise.
1383         * kelly: likewise.
1384         * lisa: likewise.
1385         * madison (main): likewise.
1386         * melanie: likewise.
1387         * natalie: likewise.
1388         * neve: likewise.
1389         * rhona: likewise.
1390         * tea: likewise.
1391         * utils.py: likewise.
1392         * ziyi: likewise.
1393
1394         * amber: use .endswith.
1395         * fernanda.py: likewise.
1396         * halle (main): likewise.
1397         * jennifer: likewise.
1398         * jeri: likewise.
1399         * katie.py: likewise.
1400         * kelly: likewise.
1401         * lisa: likewise.
1402         * neve: likewise.
1403         * shania (main): likewise.
1404         * utils.py: likewise.
1405
1406         * alyson: use string methods.
1407         * amber: likewise.
1408         * andrea: likewise.
1409         * ashley: likewise.
1410         * catherine: likewise.
1411         * charisma: likewise.
1412         * claire.py: likewise.
1413         * db_access.py: likewise.
1414         * denise: likewise.
1415         * halle: likewise.
1416         * heidi: likewise.
1417         * helena: likewise.
1418         * jenna: likewise.
1419         * jennifer: likewise.
1420         * jeri: likewise.
1421         * julia: likewise.
1422         * katie.py: likewise.
1423         * kelly: likewise.
1424         * lisa: likewise.
1425         * logging.py: likewise.
1426         * madison: likewise.
1427         * melanie: likewise.
1428         * natalie: likewise.
1429         * neve: likewise.
1430         * rene: likewise.
1431         * tea: likewise.
1432         * utils.py: likewise.
1433         * ziyi: likewise.
1434
1435 2002-09-20  Martin Michlmayr  <tbm@cyrius.com>
1436
1437         * utils.py (parse_changes): use <string>.startswith() rather than
1438         string.find().
1439
1440 2002-08-27  Anthony Towns  <ajt@debian.org>
1441
1442         * katie.py (in_override_p): when searching for a source override,
1443         and the dsc query misses, search for both udeb and deb overrides
1444         as well. Should fix the UNACCEPT issues with udebs.
1445
1446 2002-08-24  James Troup  <james@nocrew.org>
1447
1448         * melanie (main): remove gratuitous WHERE EXISTS sub-select from
1449         source+binary package finding code which was causing severe
1450         performance degradation with postgres 7.2.
1451
1452 2002-08-14  James Troup  <james@nocrew.org>
1453
1454         * julia (main): use the pwd.getpwall() to get system user info
1455         rather than trying to read a password file.  Add a -n/--no-action
1456         option.
1457
1458         * cron.hourly: julia no longer takes any arguments.
1459         * cron.hourly-non-US: likewise.
1460
1461 2002-08-07  James Troup  <james@nocrew.org>
1462
1463         * katie (install): handle multi-suite uploads when CopyChanges
1464         and/or CopyKatie are in use, ensuring we only copy stuff once.
1465
1466 2002-08-01  Ryan Murray  <rmurray@debian.org>
1467
1468         * wanna-build/trigger.daily: initial commit, with locking
1469         * cron.buildd: add locking against daily run
1470
1471 2002-07-30  James Troup  <james@nocrew.org>
1472
1473         * melanie (main): readd creation of suite_ids_list so melanie is
1474         remotely useful again.
1475
1476         * katie.conf: adopt for woody release; diable
1477         StableDislocationSupport, add oldstable, adjust other suites and
1478         mappings, fix up location.
1479         * katie.conf-non-US: likewise.
1480         * katie.conf-security: likewise.
1481
1482         * apt.conf.stable: adapt for woody release; add oldstable, adjust
1483         stable.
1484         * apt.conf.stable-non-US: likewise.
1485
1486         * apt.conf-security: adapt for woody release; adding oldstable,
1487         oldstable, adjust stable and testing.
1488         * cron.daily-security: likewise.
1489         * cron.buildd-security: likewise.
1490
1491         * apt.conf: adapt for woody release; rename woody-proposed-updates
1492         to testing-proposed-updates and proposed-updates to
1493         old-proposed-updates.
1494         * apt.conf-non-US: likewise.
1495
1496         * vars-non-US (copyoverrides): add sarge.
1497         * vars (copyoverrides): likewise.
1498
1499         * vars-security (suites): add oldstable.
1500
1501 2002-07-22  Ryan Murray  <rmurray@debian.org>
1502
1503         * apt.conf.security-buildd: use suite codenames instead of
1504           distnames.
1505
1506 2002-07-16  James Troup  <james@nocrew.org>
1507
1508         * denise (main): fix filenames for testing override files.
1509
1510 2002-07-14  James Troup  <james@nocrew.org>
1511
1512         * jennifer (process_it): call check_md5sums later so we can check
1513         files in the .dsc too
1514         (check_md5sums): check files in the .dsc too.  Check both md5sum
1515         and size.
1516
1517         * melanie (main): use parse_args() and join_with_commas_and() from
1518         utils.  If there's nothing to do, say so and exit, don't ask for
1519         confirmation etc.
1520
1521         * amber (join_with_commas_and): moved from here to ...
1522         * utils.py (join_with_commas_and): here.
1523
1524 2002-07-13  James Troup  <james@nocrew.org>
1525
1526         * madison (main): use parse_args() from utils.  Support
1527         -c/--component.
1528
1529         * jenna (parse_args): moved from here to ...
1530         * utils.py (parse_args): here.
1531
1532         * katie.conf (Architectures): minor corrections to the description
1533         for arm, mips and mipsel.
1534         * katie.conf-non-US (Architectures): likewise.
1535         * katie.conf-security (Architectures): likewise.
1536
1537         * cron.daily-security: use natalie's new -a/--add functionality to
1538         flesh out the security overrides.
1539
1540 2002-07-12  James Troup  <james@nocrew.org>
1541
1542         * cron.buildd (ARCHS): add arm.
1543
1544         * katie.conf: 2.2r7 was released.
1545         * katie.conf-non-US: likewise.
1546
1547         * utils.py (parse_changes): handle a multi-line field with no
1548         starting line.
1549
1550 2002-06-25  James Troup  <james@nocrew.org>
1551
1552         * templates/amber.advisory (To): add missing email address since
1553         __WHOAMI__ is only a name.
1554
1555         * katie.conf-security (Melane::LogFile): correct to go somewhere
1556         katie has write access to.
1557         (Location::/org/security.debian.org/ftp/dists/::Suites): add
1558         Testing.
1559
1560         * natalie: add support for -a/-add which adds packages only
1561         (ignoring changes and deletions).
1562
1563         * katie.py (Katie.announce): Dinstall::CloseBugs is a boolean so
1564         use FindB, not get.
1565
1566 2002-06-22  James Troup  <james@nocrew.org>
1567
1568         * jennifer (check_files): validate the package name and version
1569         field.  If 'Package', 'Version' or 'Architecture' are missing,
1570         don't try any further checks.
1571         (check_dsc): likewise.
1572
1573         * utils.py (re_taint_free): add '~' as a valid character.
1574
1575 2002-06-20  Anthony Towns  <ajt@debian.org>
1576
1577         * katie.conf-non-US: add OverrideSuite for w-p-u to allow uploads
1578
1579 2002-06-09  James Troup  <james@nocrew.org>
1580
1581         * jennifer (check_files): reduce useless code.
1582
1583         * cron.daily-security: run symlinks -dr on $ftpdir.
1584
1585         * vars-security (ftpdir): add.
1586
1587 2002-06-08  James Troup  <james@nocrew.org>
1588
1589         * neve (update_override_type): transaction is handled higher up in
1590         main().
1591         (update_priority): likewise.
1592         (process_sources): remove code that makes testing a duplicate of
1593         stable.
1594         (process_packages): likewise.
1595
1596         * templates/amber.advisory: add missing mail headers.
1597
1598         * cron.daily-security: also call apt-ftparchive clean for
1599         apt.conf.buildd-security.
1600         * cron.weekly: likewise.
1601
1602         * amber (do_upload): write out a list of source packages (and
1603         their version) uploaded for testing.
1604         (make_advisory): add more Subst mappings for the mail headers.
1605         (spawn): check for suspicious characters in the command and abort
1606         if their found.
1607
1608 2002-06-07  James Troup  <james@nocrew.org>
1609
1610         * ziyi (main): remove the 'nonus'/'security' hacks and use
1611         Dinstall::SuiteSuffix (if it exists) instead.  Always try to write
1612         the lower level Release files, even if they don't exist.  fubar
1613         out if we can't open a lower level Release file for writing.
1614
1615         * katie.conf-non-US (Dinstall): add SuiteSuffix, used to simplify
1616         ziyi.
1617         * katie.conf-security (Dinstall): likewise.
1618
1619         * amber (do_upload): renamed from get_file_list().  Determine the
1620         upload host from the original component.
1621         (init): Add a -n/--no-action option.  Fix how we get changes_files
1622         (i.e. from the return value of apt_pkg.ParseCommandLine(), not
1623         sys.argv).  Add an Options global.
1624         (make_advisory): support -n/--no-action.
1625         (spawn): likewise.
1626         (main): likewise.
1627         (usage): document -n/--no-action.
1628
1629         * cron.buildd-security: fix path to Packages-arch-specific in
1630         quinn-diff invocation.
1631
1632         * katie.conf-security (Dinstall::AcceptedAutoBuildSuites): change
1633         to proper suite names (i.e. stable, testing) rather than codenames
1634         (potato, woody).
1635         (Dinstall::DefaultSuite): likewise.
1636         (Suite): likewise.
1637         (Location::/org/security.debian.org/ftp/dists/::Suites): likewise.
1638         * vars-security (suites): likewise.
1639         * apt.conf-security: likewise.
1640
1641         * katie.conf-security (Component): add "updates/" prefix.
1642         (Suite::*::Components): likewise.
1643         (ComponentMappings): new; map all {ftp-master,non-US} components
1644         -> updates/<foo>.
1645
1646         * katie.conf-security (Natalie): removed; the options have
1647         defaults and ComponentPosition is used by alyson which doesn't
1648         work on security.d.o.
1649         (Amber): replace UploadHost and UploadDir with ComponentMappings
1650         which is a mapping of components -> URI.
1651         (Suite::*::CodeName): strip bogus "/updates" suffix hack.
1652         (SuiteMappings): use "silent-map" in preference to "map".
1653
1654         * cron.unchecked-security: fix call to cron.buildd-security.
1655
1656         * cron.daily-security: map local suite (stable) -> override suite
1657         (potato) when fixing overrides.  Correct component in natalie call
1658         to take into account "updates/" prefix.  Fix cut'n'waste in
1659         override.$dist.all3 generation, the old files weren't being
1660         removed, so they were endlessly growing.
1661
1662         * neve (main): don't use .Find for the CodeName since we require
1663         it.  Location::*::Suites is a ValueList.
1664         (check_signature): ignore duplicate SIGEXPIRED tokens.  Don't bomb
1665         out on expired keys, just warn.
1666         (update_override_type): new function; lifted from alyson.
1667         (update_priority): likewise.
1668         (main): use update_{override_type,priority}().
1669
1670         * jennifer (check_distributions): remove redunant test for
1671         SuiteMappings; ValueList("does-not-exist") returns [] which is
1672         fine.  Add support for a "silent-map" type which doesn't warn
1673         about the mapping to the user.
1674         (check_files): add support for ComponentMappings, similar to
1675         SuiteMappings, but there's no type, just a source and a
1676         destination and the original component is stored in "original
1677         component".
1678         * katie.py (Katie.dump_vars): add "original component" as an
1679         optionsal files[file] dump variable.
1680
1681         * claire.py (find_dislocated_stable): dehardcode 'potato' in SQL
1682         query.  Add support for section-less legacy locations like current
1683         security.debian.org through YetAnotherConfigBoolean
1684         'LegacyStableHasNoSections'.
1685         * katie.conf-security (Dinstall): LegacyStableHasNoSections is true.
1686
1687         * utils.py (real_arch): moved here from ziyi.
1688         * ziyi (real_arch): moved to utils.py.
1689         * ziyi (main): likewise.
1690
1691         * claire.py (find_dislocated_stable): use real_arch() with
1692         filter() to strip out source and all.
1693         * neve (main): likewise.
1694         * rene (main): likewise.
1695         * jeri (parse_packages): likewise.
1696
1697 2002-06-06  James Troup  <james@nocrew.org>
1698
1699         * tea (check_missing_tar_gz_in_dsc): modifed patch from Martin
1700         Michlmayr <tbm@cyrius.com> to be more verbose about what we're
1701         doing.
1702
1703 2002-05-23  Martin Michlmayr  <tbm@cyrius.com>
1704
1705         * jeri (check_joey): check if the line contains two elements
1706         before accessing the second.  Also, strip trailing spaces as well
1707         as the newline.
1708         * halle (check_joey): likewise.
1709
1710 2002-06-05  James Troup  <james@nocrew.org>
1711
1712         * cron.unchecked-security: new file; like cron.unchecked but if
1713         there's nothing to do exit so we don't call cron.buildd-security.
1714
1715         * apt.conf.buildd-security: new file.
1716
1717         * vars (archs): alphabetize.
1718         * vars-non-US (archs): likewise.
1719
1720         * vars-security: add unchecked.
1721
1722         * madison (main): reduce rather bizarrely verbose and purposeless
1723         code to print arches to a simple string.join.
1724
1725         * katie.conf (Suites::Unstable): add UdebComponents, a new
1726         valuelist of suites, used by jenna to flesh out the list of
1727         <suite>_main-debian-installer-binary-<arch>.list files generated.
1728         (Dinstall): add StableDislocationSupport, a new boolean used by
1729         jenna to enable or disable stable dislocation support
1730         (i.e. claire), as true.
1731
1732         * katie.conf (Dinstall): add StableDislocationSupport, a new
1733         boolean used by jenna to enable or disable stable dislocation
1734         support (i.e. claire), as true.
1735         * katie.conf-non-US: likewise.
1736         * katie.conf-security: likewise.
1737
1738         * cron.daily-security: generate .all3 overrides for the buildd
1739         support.  Freshen a local copy of Packages-arch-specific from
1740         buildd.debian.org.
1741
1742         * claire.py (find_dislocated_stable): disable the support for
1743         files in legacy-mixed locations since none of the Debian archives
1744         have any anymore.
1745
1746         * helena: new script; produces a report on NEW and BYHAND
1747         packages.
1748
1749         * jenna: rewritten from scratch to fix speed problems.  Run time
1750         on auric goes down from 31.5 minutes to 3.5 minutes.  Of that 3.5
1751         minutes, 105 seconds are the monster query and 70 odd seconds is
1752         claire.
1753
1754         * apt.conf.buildd (Default): remove MaxContentsChange as it's
1755         irrelevant.
1756
1757 2002-06-05  Ryan Murray  <rmurray@debian.org>
1758
1759         * cron.buildd-security: new file.
1760
1761 2002-06-05  Matt Kraai  <kraai@alumni.cmu.edu>
1762
1763         * denise (list): take a file argument and use it.
1764         (main): don't abuse sys.stdout, just write to the file.
1765
1766         * claire.py (usage): Fix misspelling.
1767         (clean_symlink): Simplify.
1768         (find_dislocated_stable): Avoid unnecessary work.
1769
1770 2002-05-29  James Troup  <james@nocrew.org>
1771
1772         * cameron: removed; apt-ftparchive can simply walk the directory.
1773
1774 2002-05-26  Anthony Towns  <ajt@debian.org>
1775
1776         * katie.conf{,-non-US}: Map testing to testing-proposed-updates
1777         for the autobuilders.
1778
1779 2002-05-24  Ryan Murray  <rmurray@debian.org>
1780
1781         * cron.buildd: update override files before running apt-ftparchive
1782
1783 2002-05-23  Martin Michlmayr  <tbm@cyrius.com>
1784
1785         * amber (main): remove extra space in prompt.
1786
1787         * utils.py (validate_changes_file_arg): use original filename in
1788         error messages.
1789
1790         * jeri (check_joey): close file after use.
1791         (parse_packages): likewise.
1792         (main): setup debug option properly.
1793
1794         * melanie (main): remove unused packages variable and simplify the
1795         code to build up con_packages by using repr().
1796
1797 2002-05-23  James Troup  <james@nocrew.org>
1798
1799         * lisa (recheck): when we reject, also return 0 so the package is
1800         skipped.
1801         (sg_compare): fix note sorting.
1802         (recheck): remove the .katie file after rejection.
1803
1804         * katie.py (Katie.accept): accepted auto-build support take 3;
1805         this time adding support for security.  Security needs a) non-pool
1806         files copied rather than symlinked since accepted is readable only
1807         by katie/security and www-data needs to be able to see the files,
1808         b) needs per-suite directories.  SpecialAcceptedAutoBuild becomes
1809         AcceptedAutoBuildSuites and is a ValueList containing the suites.
1810         SecurityAcceptedAutoBuild is a new boolean which controls whether
1811         or not normal or security style is used.  The unstable_accepted
1812         table was renamed to accepted_autobuild and a suite column added.
1813         Also fix a bug noticed by Ryan where an existent orig.tar.gz
1814         didn't have it's last_used/in_accepted flags correctly updated.
1815         * katie (install): likewise.
1816         * rhona (clean_accepted_autobuild): likewise.
1817
1818 2002-05-22  James Troup  <james@nocrew.org>
1819
1820         * lisa (sort_changes): new function; sorts changes properly.
1821         Finally.
1822         (sg_compare): new function; helper for sort_changes().  Sorts by
1823         have note and time of oldest upload.
1824         (indiv_sg_compare): new function; helper for sort_changes().
1825         Sorts by source version, have source and filename.
1826         (main): use sort_changes().
1827         (changes_compare): obsoleted; removed.
1828
1829 2002-05-20  James Troup  <james@nocrew.org>
1830
1831         * rhona (clean_accepted_autobuild): don't die if a file we're
1832         trying to remove doesn't exist.  Makes rhona more friendly to
1833         katie/katie.py crashes/bugs without any undue cost.
1834
1835 2002-05-19  James Troup  <james@nocrew.org>
1836
1837         * lisa (main): if sorting a large number of changes give some
1838         feedback.
1839         (recheck): new function, run the same checks (modulo NEW,
1840         obviously) as katie does, if they fail do the standard
1841         reject/skip/quit dance.
1842         (do_pkg): use it.
1843
1844         * katie (install): don't try to unlink the symlink in the
1845         AcceptedAutoBuild support if the destination is not a symlink (or
1846         doesn't exist).  Avoids unnecessary bombs on previous partial
1847         accepts and will still bomb hard if the file exists and isn't a
1848         symlink.
1849
1850         * utils.py: blah, commands _is_ used when the mail stuff isn't
1851         commented out like it is in my test environment.
1852
1853         * lisa (changes_compare): "has note" overrides everything else.
1854         Use .katie files rather than running parse_changes, faster and
1855         allows "has note" to work.  Correct version compare, it was
1856         reversed.  Ctime check should only kick in if the source packages
1857         are not the same.
1858         (print_new): print out and return any note.  Rename 'ret_code' to
1859         'broken'.
1860         (edit_new): renamed from spawn_editor.  Don't leak file
1861         descriptors.  Clean up error message if editor fails.
1862         (edit_note): new function, allows one to edit notes.
1863         (do_new): add note support, editing and removing.
1864         (init): kill -s/--sort; with notes we always want to use our
1865         sorting method.
1866         (usage): likewise.
1867
1868         * katie.py (Katie.dump_vars): add "lisa note" as an optional
1869         changes field.
1870
1871         * utils.py (build_file_list): rename 'dsc' to 'is_a_dsc' and have
1872         it default to 0.  Adapt tests to assume it's boolean.
1873         * fernanda.py (check_changes): adjust call appropriately.
1874         * halle (check_changes): likewise.
1875         * jennifer (check_changes): likewise.
1876         * jeri (check_changes): likewise.
1877         * shania (flush_orphans): likewise.
1878
1879         * jennifer (check_dsc): pass is_a_dsc by name when calling
1880         build_file_list() for clarity.
1881         * shania (flush_orphans): likewise.
1882         * tea (check_missing_tar_gz_in_dsc): likewise.
1883
1884         * jennifer (check_dsc): pass dsc_whitespace_rules by name when
1885         calling parse_changes() for clarity.
1886         * tea (check_dscs): likewise.
1887
1888         * utils.py (parse_changes): make dsc_whitespace_rules default to
1889         not true.
1890         * halle (check_changes): adjust call appropriately.
1891         * jennifer (check_changes): likewise.
1892         * jeri (check_changes): likewise.
1893         * lisa (changes_compare): likewise.
1894         * utils.py (changes_compare): likewise.
1895         * melanie (main): likewise.
1896         * shania (flush_orphans): likewise.
1897         * fernanda.py (check_changes): likewise.
1898
1899 2002-05-18  James Troup  <james@nocrew.org>
1900
1901         * katie.py (Katie.dump_vars): make the .katie file unreadable,
1902         it's not useful and by and large a duplication of information
1903         available in readable format in other files.
1904
1905 2002-05-16  Ryan Murray  <rmurray@debian.org>
1906
1907         * melanie: Dir::TemplatesDir -> Dir::Templates
1908
1909 2002-05-15  Ryan Murray  <rmurray@debian.org>
1910
1911         * cameron: correct the use of os.path.join
1912
1913 2002-05-15  Anthony Towns  <ajt@debian.org>
1914
1915         * ziyi: Update to match the new format for Architectures/Components
1916         in katie.conf.
1917
1918 2002-05-14  James Troup  <james@nocrew.org>
1919
1920         * amber: new script; 'installer' wrapper script for the security
1921         team.
1922
1923         * katie.py (Katie.announce): remove unused 'dsc' local
1924         variable. (pychecker)
1925
1926         * ziyi: pre-define AptCnf and out globals to None. (pychecker)
1927
1928         * neve: don't import sys, we don't use it. (pychecker)
1929         (check_signature): fix return type mismatch. (pychecker)
1930
1931         * utils.py: don't import commands, we don't use it.  (pychecker)
1932
1933         * katie (install): SpecialAcceptedAutoBuild is a boolean.
1934
1935         * katie.py (Katie.dump_vars): don't store "oldfiles", it's
1936         obsoleted by the change to "othercomponents" handling in jennifer
1937         detailed below.
1938         (Katie.cross_suite_version_check): new function; implements
1939         cross-suite version checking rules specified in the conf file
1940         while also enforcing the standard "must be newer than target
1941         suite" rule.
1942         (Katie.check_binary_against_db): renamed, since it's invoked once
1943         per-binary, "binaries" was inaccurate.  Use
1944         cross_suite_version_check() and don't bother with the "oldfiles"
1945         rubbish as jennifer works out "othercomponents" herself now.
1946         (Katie.check_source_against_db): use cross_suite_version_check().
1947
1948         * katie (check): the version and file overwrite checks
1949         (check_{binary,source,dsc}_against_db) are not per-suite.
1950
1951         * jennifer (check_files): less duplication of
1952         'control.Find("Architecture", "")' by putting it in a local
1953         variable.
1954         (check_files): call check_binary_against_db higher up since it's
1955         not a per-suite check.
1956         (check_files): get "othercomponents" directly rather than having
1957         check_binary_against_db do it for us.
1958
1959         * heidi (main): 'if x:', not 'if x != []:'.
1960         * katie.py (Katie.in_override_p): likewise.
1961         (Katie.check_dsc_against_db): likewise.
1962         * natalie (main): likewise.
1963         * rene (main): likewise.
1964         * ziyi (real_arch): likewise.
1965
1966         * alyson (main): Suite::%s::Architectures, Suite::%s::Components
1967         and OverrideType are now value lists, not lists.
1968         * andrea (main): likewise.
1969         * cindy (main): likewise.
1970         * claire.py (find_dislocated_stable): likewise.
1971         * denise (main): likewise.
1972         * jenna (main): likewise.
1973         * jennifer (check_distributions): likewise.
1974         (check_files): likewise.
1975         (check_urgency): likewise (Urgency::Valid).
1976         * jeri (parse_packages): likewise.
1977         * neve (main): likewise (and Location::%s::Suites).
1978         * rene (main): likewise.
1979
1980 2002-05-13  James Troup  <james@nocrew.org>
1981
1982         * katie.py (Katie.check_source_against_db): correct case of reject
1983         message to be consistent with binary checks.
1984
1985         * jennifer (get_status_output): don't leak 2 file descriptors per
1986         invocation.
1987         (check_signature): add missing '\n' to "duplicate status token"
1988         error message.
1989
1990 2002-05-09  James Troup  <james@nocrew.org>
1991
1992         * utils.py (validate_changes_file_arg): new function; validates an
1993         argument which should be a .changes file.
1994         * ashley (main): use it.
1995         * lisa (main): likewise.
1996
1997         * katie.py (Katie.check_dsc_against_db): since there can be more
1998         than one .orig.tar.gz make sure we don't assume the .orig.tar.gz
1999         entry still exists in files.
2000
2001         * jennifer (check_dsc): handle the .orig.tar.gz disappearing from
2002         files, since check_dsc_against_db() deletes the .orig.tar.gz
2003         entry.
2004
2005         * cameron: cleanups.
2006
2007         * utils.py (changes_compare): change sort order so that source
2008         name and source version trump 'have source'; this should fix
2009         UNACCEPT problems in katie where -1 hppa+source & i386, -2
2010         i386&source & hppa lead to -1 i386 unaccept.  Problem worked out
2011         by Ryan.
2012
2013         * lisa (main): allow the arguments to be .katie files too.
2014
2015 2002-05-07  Ryan Murray  <rmurray@debian.org>
2016
2017         * cron.buildd: add s390 to arch list again
2018
2019 2002-05-05  Ryan Murray  <rmurray@debian.org>
2020
2021         * cron.buildd: new script, update w-b database from unstable_accepted
2022         table
2023         * cameron: new script, take list in unstable_accepted and write out
2024         a file list for apt-ftparchive
2025         * apt.conf.buildd: new apt configuration for Packages/Sources for
2026         unstable_accepted
2027         * vars: add s390 to arch list.
2028
2029 2002-05-03  James Troup  <james@nocrew.org>
2030
2031         * neve (main): don't hard code the calling user as that doesn't
2032         work with modern postgres installs.  Fix psql invocation for
2033         init_pool.sql (database name required).  Dont' hard code the
2034         database name.
2035         (process_sources): add support for fingerprint and install_date.
2036         (process_packages): add support for fingerprint.
2037         (do_sources): pass in the directory, fingerprint support needs it.
2038         (get_status_output): borrowed from jennifer.
2039         (reject): likewise.
2040         (check_signature): likewise.
2041
2042         * katie (install): only try to log urgencies if Urgency_Logger is
2043         defined.
2044         (main): only initialize Urgency_Logger is Dir::UrgencyLog is
2045         defined; only close Urgency_Logger if it's defined.
2046
2047         * catherine (poolize): adapt for Dir rationalization.
2048         * claire.py (find_dislocated_stable): likewise.
2049         * denise (main): likewise.
2050         * halle (check_joey): likewise.
2051         * jenna: likewise.
2052         * jennifer: likewise.
2053         * jeri: likewise.
2054         * katie.py: likewise.
2055         * katie: likewise.
2056         * lisa (do_bxa_notification): likewise.
2057         * logging.py (Logger.__init__): likewise
2058         * rene (main): likewise.
2059         * rhona (clean): likewise.
2060         * shania (init): likewise.
2061         * tea: likewise.
2062         * ziyi: likewise.
2063
2064         * lisa (add_overrides): Dinstall::BXANotify is a boolean, use
2065         FindB, not FindI.
2066
2067         * rhona (clean_accepted_autobuild): SpecialAcceptedAutoBuild is a
2068         boolean, use FindB, not get.
2069
2070         * katie.py (Katie.check_dsc_against_db): ignore duplicate
2071         .orig.tar.gz's which are an exact (size/md5sum) match.
2072
2073         * ashley (main): really allow *.katie files as arguments too;
2074         noticed by aj.
2075
2076         * sql-aptvc.cpp: postgres.h moved to a "server" subdirectory.
2077
2078 2002-05-03  Anthony Towns  <ajt@debian.org>
2079
2080         * ziyi: support for security.
2081
2082 2002-05-02  James Troup  <james@nocrew.org>
2083
2084         * jennifer (accept): call Katie.check_override() unconditional as
2085         no-mail check moved into that function.
2086         (do_byhand): likewise.
2087
2088         * katie.py (Katie.check_override): don't do anything if we're a)
2089         not sending mail or b) the override disparity checks have been
2090         disbled via Dinstall::OverrideDisparityCheck.
2091
2092         * jennifer (check_files): don't hard code Unstable as the suite
2093         used to check for architecture validity; use
2094         Dinstall::DefaultSuite instead, if it exists.
2095         (accept): conditionalize
2096
2097         * katie.py (Katie.update_subst): support global maintainer
2098         override with Dinstall::OverrideMaintainer.
2099
2100         * jennifer (check_distributions): new function, Distribution
2101         validation and mapping.  Uses new SuiteMappings variable from
2102         config file to abstract suite mappings.
2103         (check_changes): call it.
2104
2105         * natalie: renamed; nothing imports or likely will for some time.
2106
2107         * denise (main): remove unused natalie import and init().
2108
2109         * natalie.py (init): removed.
2110         (main): initalize here instead and don't hardcode the database
2111         name.
2112
2113 2002-04-30  James Troup  <james@nocrew.org>
2114
2115         * katie.py (Katie.close_bugs): new function, split out from
2116         announce().
2117         (Katie.announce): only call close_bugs() if Dinstall::CloseBugs is
2118         true.
2119         (Katie.close_bugs): new function, split out
2120         (Katie.close_bugs): return immediately if there are no bugs to
2121         close.
2122
2123         * jennifer (acknowledge_new): adapt for new utils.TemplateSubst().
2124         * katie (do_reject): likewise.
2125         (stable_install): likewise.
2126         * katie.py (Katie.announce): likewise.
2127         (Katie.accept): likewise.
2128         (Katie.check_override): likewise.
2129         (Katie.do_reject): likewise.
2130         * lisa (do_bxa_notification): likewise.
2131         * melanie (main): likewise.
2132
2133         * utils.py (TemplateSubst): change second argument to be a
2134         filename rather than a template since every caller opened a file
2135         on the fly which was ugly and leaked file descriptor.
2136
2137 2002-04-29  James Troup  <james@nocrew.org>
2138
2139         * katie.py (Katie.announce): (modified) patch from Raphael Hertzog
2140         <hertzog@debian.org> to send 'accepted' announce mails to the
2141         PTS. [#128140]
2142
2143 2002-04-24  James Troup  <james@nocrew.org>
2144
2145         * init_pool.sql (unstable_accepted): add two new fields to
2146         unstable_accepted; in_accepted is a boolean indicating whether or
2147         not the file is in accepted and last_used is a timestamp used by
2148         rhona to determine when to remove symlinks for installed packages.
2149
2150         * katie.py (Katie.accept): auto-build support take 2.  Create
2151         symlinks for all files into a seperate directory.  Add files to
2152         unstable_accepted as paths to the new directory; mark them as
2153         being in accepted for cameron.  Properly conditionalize it on a
2154         configuration variable.
2155
2156         * katie (install): likewise.  Update symlinks to point into the
2157         pool; mark the files for later deletion by rhona and mark them as
2158         not being in accepted for cameron.
2159
2160         * rhona (clean_accepted_autobuild): new function.
2161
2162 2002-04-22  James Troup  <james@nocrew.org>
2163
2164         * jennifer (check_files): handle db_access.get_location_id()
2165         returning -1 properly/better.
2166
2167         * rhona (clean_fingerprints): new function.
2168
2169 2002-04-21  James Troup  <james@nocrew.org>
2170
2171         * utils.py (touch_file): unused; remove.
2172         (plural): likewise.
2173
2174         * jennifer (check_files): close file descriptor used to get the
2175         control file.
2176         (check_md5sums): likewise.
2177         (callback): likewise.
2178
2179         * katie.py (Katie.do_reject): handle manual rejects much better;
2180         call the editor first and get confirmation from the user before
2181         proceeding.
2182
2183         * jennifer (check_signature): prefix_multi_line_string() moved to
2184         utils.
2185
2186         * utils.py (prefix_multi_line_string): moved here from jennifer.
2187
2188 2002-04-20  James Troup  <james@nocrew.org>
2189
2190         * lisa (main): handle non-existent files.
2191
2192         * ashley (main): allow *.katie files as arguments too.
2193
2194 2002-04-19  James Troup  <james@nocrew.org>
2195
2196         * katie.py (Katie.accept): add stuff to help auto-building from
2197         accepted; if the .orig.tar.gz is not part of the upload (i.e. it's
2198         in the pool), create a symlink to it in the accepted directory and
2199         add the .dsc and .{u,}deb(s) to a new 'unstable_accepted' table.
2200
2201         * katie (install): undo the "auto-building from accepted" stuff
2202         (i.e. remove the .orig.tar.gz symlink and remove the files from
2203         unstable_accepted table).
2204
2205 2002-04-16  James Troup  <james@nocrew.org>
2206
2207         * jennifer (upload_too_new): fix typo which was causing all
2208         timestamp comparisons to be against the .changes file.  Also move
2209         back to the original directory so we do the comparisons against
2210         accurate timestamps.
2211
2212         * tea (check_missing_tar_gz_in_dsc): new function.
2213
2214         * jennifer (check_dsc): add a check to ensure there is a .tar.gz
2215         file mentioned in the .dsc.
2216
2217         * lisa (main): use X-Katie in the mail headers, not X-Lisa; that
2218         way mails reach debian-{devel-,}changes@l.d.o.
2219
2220 2002-04-02  Ryan Murray  <rmurray@debian.org>
2221
2222         * cron.daily: run shania after rhona
2223         * cron.daily-non-US: likewise.
2224
2225 2002-04-01  James Troup  <james@nocrew.org>
2226
2227         * katie: re-add proposed-updates/stable install support.
2228
2229         * katie.py (Katie.dump_vars): add changes["changes"] as an
2230         optional field; should be mandatory later.
2231
2232 2002-03-31  James Troup  <james@nocrew.org>
2233
2234         * katie (install): support a Suite::<foo>::CopyKatie similar to
2235         CopyChanges.  Done seperately because .katie files don't need to
2236         be mirrored and will probably be copied to another directory as a
2237         result.
2238
2239         * halle (main): add missing debug to options.
2240
2241 2002-03-29  James Troup  <james@nocrew.org>
2242
2243         * madison (main): add a -r/--regex option.
2244
2245 2002-03-26  James Troup  <james@nocrew.org>
2246
2247         * lisa: don't trample on changes["distribution"]; make a copy of
2248         it as changes["suite"] instead and use that.
2249
2250 2002-03-16  Anthony Towns  <ajt@debian.org>
2251
2252         * templates/lisa.bxa_notification: Fix some grammatical errors.
2253         Encourage contact via bxa@ftp-master email address.
2254
2255 2002-03-15  James Troup  <james@nocrew.org>
2256
2257         * jennifer (check_timestamps): remove bogus raise in except.
2258
2259 2002-03-15  Anthony Towns  <ajt@debian.org>
2260
2261         * cron.monthly: rotate mail/archive/bxamail as well as
2262         mail/archive/mail. This is for a complete archive of
2263         correspondence with the BXA.
2264
2265 2002-03-14  Anthony Towns  <ajt@debian.org>
2266
2267         * crypto-in-main changes.
2268
2269         * utils.py (move, copy): add an optional perms= parameter to let you
2270         set the resulting permissions of the moved/copied file
2271         * katie.py (force_move): rejected/morgued files should be unreadable
2272         * jennifer (do_byhand, acknowledge_new): pending new and byhand files
2273         should be unreadable.
2274
2275 2002-03-07  Ryan Murray  <rmurray@debian.org>
2276
2277         * katie (install): check for existance of "files id" key as well as
2278         it being set to a valid value.
2279         * katie (install): check for existense and valid value for location
2280         id as well
2281
2282 2002-03-05  Ryan Murray  <rmurray@debian.org>
2283
2284         * katie.py (do_reject): reread the reason file after editing it.
2285
2286 2002-02-25  James Troup  <james@nocrew.org>
2287
2288         * jennifer (check_changes): don't enforce sanity in .changes file
2289         names since it doesn't seem to be possible; pcmica-cs and similar
2290         freak show packages in particular cause real problems.
2291
2292         * katie.py (Katie.check_dsc_against_db): initialize 'found' for
2293         each dsc_file since the .orig.tar.gz checking code now uses it as
2294         a boolean.  Fixes bizarro rejections which bogusly claimed
2295         .diff.gz md5sum/size was incorrect.
2296
2297 2002-02-24  James Troup  <james@nocrew.org>
2298
2299         * katie (process_it): reset reject_message.
2300
2301 2002-02-22  James Troup  <james@nocrew.org>
2302
2303         * db_access.py(set_files_id): disable use of
2304         currval('files_id_seq') because it was taking 3 seconds on auric
2305         which is insane (most calls take < 0.01) and simply call
2306         get_files_id() for the return value instead.
2307
2308         * katie.py (Katie.do_query): convenience function; unused by
2309         default, useful for profiling.
2310         * db_access.py (do_query): likewise.
2311
2312         * katie (install): fix insert SQL call when binary has no source.
2313
2314         * lisa (determine_new): auto-correct non-US/main to non-US.
2315         (determine_new): add a warning when adding things to stable.
2316         (edit_index): use our_raw_input().
2317         (edit_overrides): likewise.
2318         (do_new): likewise.  Use re.search() not re.match() since the
2319         default answer may not be the first one.
2320         (do_byhand): likewise.
2321         (do_new): Default to 'S'kip and never 'A'dd.
2322
2323         * jennifer (action): pass prompt to our_raw_input().
2324         * melanie (game_over): likewise.
2325         * katie (action): likewise.
2326
2327         * utils.py (our_raw_input): add an optional prompt argument to
2328         make the function more usable as a drop in replacement for
2329         raw_input().
2330
2331         * jennifer (check_files): correct reject() to not double prefix
2332         when using katie.py based functions.
2333         (check_dsc): likewise.
2334
2335         * katie.py (Katie.reject): prepend a new line if appropriate
2336         rathen than appending one to avoid double new lines when caller
2337         adds one of his own.
2338
2339         * lisa (determine_new): warn if the package is also in other
2340         components.
2341
2342 2002-02-20  James Troup  <james@nocrew.org>
2343
2344         * jennifer (check_files): if .changes file lists "source" in
2345         Architecture field, there must be a .dsc.
2346
2347 2002-02-15  James Troup  <james@nocrew.org>
2348
2349         * ashley (main): add some missing fields.
2350
2351         * katie.py (Katie.check_dsc_against_db): fix to take into account
2352         the fact that the .orig.tar.gz might be in byhand, accepted or
2353         new.  Also fix calling of reject().
2354         (Katie.check_binaries_against_db): fix calling of reject().
2355         (Katie.check_source_against_db): likewise.
2356         (Katie.dump_vars): add missing variables used for bug closures.
2357
2358         * lisa (changes_compare_by_time): sort by reverse time.
2359
2360         * katie.py (Katie.accept): log.
2361         (Katie.dump_vars): missing has_key test for optional changes fields.
2362
2363         * jennifer (main): print "Accepted blah blah" to stdout, not stderr.
2364         (process_it): traceback goes to stderr, not stdout.
2365         (acknowledge_new): log.
2366         (do_byhand): likewise.
2367
2368         * katie.py (Katie.update_subst): fix typo (Cnf vs. self.Cnf).
2369
2370         * add_constraints.sql: add grants for the new fingerprint table.
2371
2372 2002-02-13  James Troup  <james@nocrew.org>
2373
2374         * katie (do_reject): basename the .changes filename before trying
2375         to use it to construct the .reason filename.
2376         (process_it): call Katie.update_subst() so do_reject() DTRT with
2377         the mail template.
2378         (do_reject): setup the mail template correctly.
2379
2380 2002-02-12  James Troup  <james@nocrew.org>
2381
2382         * tea (process_dir): renamed 'arg' to 'unused' for clarity.
2383         (check_files): don't abuse global dictionaries.
2384         (Ent): use all variables.
2385         (check_timestamps): don't abuse global dictionaries.
2386
2387         * fernanda.py: renamed to .py so lisa can import it.
2388         (check_dsc): remove unused local variables (pychecker).
2389         (display_changes): split off from check_changes.
2390
2391         * katie: rewritten; most of the functionality moves to jennifer;
2392         what's left is the code to install packages once a day from the
2393         'accepted' directory.
2394
2395         * jennifer: new program, processes packages in 'unchecked'
2396         (i.e. most of the non-install functionality of old katie).
2397
2398         * katie.py: common functions shared between the clique of
2399         jennifer, lisa and katie.
2400
2401         * lisa: new program; handles NEW and BYHAND packages.
2402
2403         * jeri (usage): new function.
2404         (main): use it.
2405         (check_package): remove unused local variable (pychecker).
2406
2407         * init_pool.sql: new table fingerprint.  Add fingerprint colums to
2408         binaries and source.  Add install_date to source.
2409
2410         * halle (usage): new function.
2411         (main): use it.  Remove unused options.
2412         (check_changes): remove unused local variable (pychecker).
2413
2414         * add_constraints.sql: add fingerprint references.
2415
2416         * db_access.py (get_or_set_fingerprint_id): new function.
2417
2418         * ashley (main): new program; dumps the contents of a .katie file
2419         to stdout.
2420
2421         * alyson (main): remove option handling since we don't actually
2422         support any.
2423         * cindy (main): likewise.
2424
2425         * remove unnecessary imports and pre-define globals (pychecker).
2426
2427 2002-02-11  Anthony Towns  <ajt@debian.org>
2428
2429         * added installation-report and upgrade-report pseudo-packages
2430
2431 2002-01-28  Martin Michlmayr  <tbm@cyrius.com>
2432
2433         * katie (update_subst): use Dinstall::TrackingServer.
2434         * melanie (main): likewise.
2435
2436 2002-01-27  James Troup  <james@nocrew.org>
2437
2438         * shania (main): it's IntLevel not IntVal; thanks to tbm@ for
2439         noticing, jgg@ for fix.
2440
2441 2002-01-19  James Troup  <james@nocrew.org>
2442
2443         * utils.py (extract_component_from_section): handle non-US
2444         non-main properly.
2445
2446 2002-01-12  James Troup  <james@nocrew.org>
2447
2448         * madison: add support for -S/--source-and-binary which displays
2449         information for the source package and all it's binary children.
2450
2451 2002-01-13  Anthony Towns  <ajt@debian.org>
2452
2453         * katie.conf: Remove Catherine Limit and bump stable to 2.2r5
2454         * katie.conf: Add Dinstall::SigningKeyIds option, set to the 2001
2455           and 2002 key ids.
2456         * katie.conf-non-US: Likewise.
2457         * ziyi: Suppoer Dinstall::SigningKeyIds to sign a Release file with
2458           multiple keys automatically. This is probably only useful for
2459           transitioning from an expired (or revoked?) key.
2460
2461 2002-01-08  Ryan Murray  <rmurray@debian.org>
2462
2463         * debian/python-dep: new file that prints out python:Depends for
2464           substvars
2465         * debian/control: use python:Depends, build-depend on python
2466           lower Depends: on postgresql to Suggests:
2467         * debian/rules: determine python version, install to the correct
2468           versioned dir
2469
2470 2001-12-18  Anthony Towns  <ajt@debian.org>
2471
2472         * ziyi: unlink Release files before overwriting them (in case they've
2473           been merged)
2474         * ziyi: always include checksums/sizes for the uncompressed versions
2475           of Sources and Packages, even if they're not present on disk
2476
2477 2001-11-26  Ryan Murray  <rmurray@debian.org>
2478
2479         * ziyi (main): add SigningPubKey config option
2480         * katie.conf: use SigningPubKey config option
2481         * katie.conf-non-US: likewise
2482
2483 2001-11-24  James Troup  <james@nocrew.org>
2484
2485         * katie (acknowledge_new): log newness.
2486
2487 2001-11-24  Anthony Towns  <ajt@debian.org>
2488
2489         * ziyi (real_arch): bail out if some moron forgot to reset
2490         untouchable on stable.
2491         (real_arch): source Release files.
2492
2493 2001-11-19  James Troup  <james@nocrew.org>
2494
2495         * claire.py (main): don't use apt_pkg.ReadConfigFileISC and
2496         utils.get_conf().
2497         * shania (main): likewise.
2498
2499         * rhona (main): add default options.
2500
2501         * db_access.py (get_archive_id): case independent.
2502
2503         * katie (action): sort files so that ordering is consistent
2504         between mails; noticed/requested by Joey.
2505
2506 2001-11-17  Ryan Murray  <rmurray@debian.org>
2507
2508         * utils.py: add get_conf function, change startup code to read all
2509           config files to the Cnf that get_conf returns
2510           use the component list from the katie conf rather than the hardcoded
2511           list.
2512         * all scripts: use new get_conf function
2513         * shania: fix try/except around changes files
2514         * jenna: only do debian-installer if it is a section in Cnf
2515
2516 2001-11-16  Ryan Murray  <rmurray@debian.org>
2517
2518         * shania (main): Initialize days to a string of a number.
2519                  (main): Initialize Cnf vars before reading in Cnf
2520
2521 2001-11-14  Ryan Murray  <rmurray@debian.org>
2522
2523         * shania (main): Initialize days to a number.
2524
2525 2001-11-04  James Troup  <james@nocrew.org>
2526
2527         * docs/Makefile: use docbook-utils' docbook2man binary.
2528
2529         * Change all "if foo == []" constructs into "if not foo".
2530
2531         * katie (check_changes): when installing into stable from
2532         proposed-updates, remove all non-stable target distributions.
2533         (check_override): don't check for override disparities on stable
2534         installs.
2535         (stable_install): update install_bytes appropriately.
2536         (reject): stable rejection support; i.e. don't remove files when
2537         rejecting files in the pool, rather remove them from the
2538         proposed-update suite instead, rhona will do the rest.
2539         (manual_reject): support for a stable specific template.
2540         (main): setup up stable rejector in subst.
2541
2542 2001-11-04  Martin Michlmayr  <tbm@cyrius.com>
2543
2544         * debian/control (Build-Depends): docbook2man has been superseded
2545         by docbook-utils.
2546
2547         * neve (main): exit with a more useful error message.
2548         (update_suites): Suite::<suite>::Version, Origin and Description
2549         are not required, so don't fail if they don't exist.
2550
2551         * db_access.py (get_archive_id): return -1 on error rather than
2552         raise an exception.
2553         (get_location_id): likewise.
2554
2555         * madison (main): don't exit on the first not-found package,
2556         rather exit with an appropriate return code after processing all
2557         packages.
2558
2559 2001-11-03  James Troup  <james@nocrew.org>
2560
2561         * claire.py (find_dislocated_stable): add per-architecture
2562         symlinks for dislocated architecture: all debs.
2563
2564 2001-10-19  Anthony Towns  <ajt@debian.org>
2565
2566         * apt.conf*, katie.conf*: add mips, mipsel, s390 to testing.
2567
2568 2001-10-10  Anthony Towns  <ajt@debian.org>
2569
2570         * claire.py (fix_component_section): do _not_ assign to None under
2571         any circumstances
2572
2573 2001-10-07  Martin Michlmayr  <tbm@cyrius.com>
2574
2575         * melanie (main): don't duplicate architectures when removing from
2576         more than one suite.
2577
2578         * heidi (main, process_file, get_list): report suite name not ID.
2579
2580         * naima (nmu_p): be case insensitive.
2581
2582         * naima (action): more list handling clean ups.
2583
2584         * melanie (main): clean up lists handling to use string.join and
2585         IN's.
2586
2587         * madison (main): clean up suite and architecture argument parsing
2588         to use slices less and string.join more.
2589
2590         * utils.py (parse_changes): Use string.find() instead of slices for
2591         string comparisons thereby avoid hardcoding the length of strings.
2592         * ziyi (main): likewise.
2593
2594 2001-10-07  James Troup  <james@nocrew.org>
2595
2596         * Remove mode argument from utils.open_files() calls if it's the
2597         default, i.e. 'r'.
2598
2599 2001-09-27  James Troup  <james@nocrew.org>
2600
2601         * katie (init): new function; options clean up.
2602         (usage): add missing options, remove obsolete ones.
2603         (main): adapt for the two changes above.  If the lock file or
2604         new-ack log file don't exist, create them.  Don't try to open the
2605         new-ack log file except running in new-ack mode.
2606
2607         * alyson (main): initialize all the tables that are based on the
2608         conf file.
2609
2610         * utils.py (touch_file): like touch(1).
2611         (where_am_i): typo.
2612
2613         * catherine (usage): new.
2614         (main): use it.  options cleanup.
2615         * claire.py: likewise.
2616         * fernanda: likewise.
2617         * heidi: likewise.
2618         * jenna: likewise.
2619         * shania: likewise.
2620         * ziyi: likewise.
2621
2622         * andrea: options cleanup.
2623         * charisma: likewise.
2624         * julia: likewise.
2625         * madison: likewise.
2626         * melanie: likewise.
2627         * natalie: likewise.
2628         * rhona: likewise.
2629         * tea: likewise.
2630
2631 2001-09-26  James Troup  <james@nocrew.org>
2632
2633         * utils.py: default to sane config file locations
2634         (/etc/katie/{apt,katie}.conf.  They can be the actual config files
2635         or they can point to the real ones through use of a new Config
2636         section.  Based on an old patch by Adam Heath.
2637         (where_am_i): use the new default config stuff.
2638         (which_conf_file): likewise.
2639         (which_apt_conf_file): likewise.
2640
2641         * charisma (main): output defaults to
2642         `Package~Version\tMaintainer'; input can be of either form.  When
2643         parsing the new format do version comparisons, when parsing the
2644         old format assume anything in the extra file wins.  This fixes the
2645         problem of newer non-US packages being overwhelmed by older
2646         versions still in stable on main.
2647
2648 2001-09-17  James Troup  <james@nocrew.org>
2649
2650         * natalie.py (list): use result_join().
2651
2652         * denise (main): result_join() moved to utils.
2653
2654         * utils.py (result_join): move to utils; add an optional seperator
2655         argument.
2656
2657 2001-09-14  James Troup  <james@nocrew.org>
2658
2659         * heidi (set_suite): new function; does --set like natalie does,
2660         i.e. turns it into a sequence of --add's and --remove's
2661         internally.  This is a major win (~20 minute run time > ~20
2662         seconds) in the common, everday (i.e. testing) case.
2663         (get_id): common code used by set_suite() and process_file().
2664         (process_file): call set_suite() and get_id().
2665         (main): add logging support.
2666
2667         * julia: new script; syncs PostgeSQL with (LDAP-generated) passwd
2668         files.
2669
2670         * utils.py (parse_changes): use slices or simple string comparison
2671         in favour of regexes where possible.
2672
2673         * sql-aptvc.cpp (versioncmp): rewritten to take into account the
2674         fact that the string VARDATA() points to are not null terminated.
2675
2676         * denise (result_join): new function; like string.join() but
2677         handles None's.
2678         (list): use it.
2679         (main): likewise.
2680
2681         * charisma (main): python-pygresql 7.1 returns None not "".
2682
2683 2001-09-14  Ryan Murray  <rmurray@debian.org>
2684
2685         * natalie.py (list): handle python-pygresql 7.1 returning None.
2686
2687 2001-09-10  Martin Michlmayr  <tbm@cyrius.com>
2688
2689         * madison (main): return 1 if no package is found.
2690
2691 2001-09-08  Martin Michlmayr  <tbm@cyrius.com>
2692
2693         * madison (main): better error handling for incorrect
2694         -a/--architecture or -s/--suite arguments.
2695         (usage): new.
2696         (main): use it.
2697
2698 2001-09-05  Ryan Murray  <rmurray@debian.org>
2699
2700         * charisma, madison, katie: remove use of ROUser
2701         * katie.conf,katie.conf-non-US: remove defintion of ROUser
2702
2703 2001-08-26  James Troup  <james@nocrew.org>
2704
2705         * katie (nmu_p.is_an_nmu): use maintaineremail to check for group
2706         maintained packages at cjwatson@'s request.
2707
2708 2001-08-21  James Troup  <james@nocrew.org>
2709
2710         * madison (main): add -a/--architecture support.
2711
2712         * jenna: use logging instead of being overly verbose on stdout.
2713
2714 2001-08-11  Ryan Murray  <rmurray@debian.org>
2715
2716         * melanie: add functional help option
2717
2718 2001-08-07  Anthony Towns  <ajt@debian.org>
2719
2720         * apt.conf, katie.conf: Add ia64 and hppa to testing.
2721
2722 2001-07-28  James Troup  <james@nocrew.org>
2723
2724         * katie (check_dsc): ensure source version is >> than existing
2725         source in target suite.
2726
2727 2001-07-25  James Troup  <james@nocrew.org>
2728
2729         * natalie.py: add logging support.
2730
2731         * utils.py (open_file): make the second argument optional and
2732         default to read-only.
2733
2734         * rene (main): work around broken source packages that duplicate
2735         arch: all packages with arch: !all packages (no longer allowed
2736         into the archive by katie).
2737
2738 2001-07-13  James Troup  <james@nocrew.org>
2739
2740         * katie (action): don't assume distribution is a dictionary.
2741         (update_subst): don't assume architecture is a dictionary and that
2742         maintainer822 is defined.
2743         (check_changes): recognise nk_format exceptions.
2744         (check_changes): reject on 'testing' only uploads.
2745         (check_files): when checking to ensure all packages are newer
2746         versions check against arch-all packages too.
2747         (check_dsc): enforce the existent of a sane set of mandatory
2748         fields.  Ensure the version number in the .dsc (modulo epoch)
2749         matches the version number in the .changes file.
2750
2751         * utils.py (changes_compare): ignore all exceptions when parsing
2752         the changes files.
2753         (build_file_list): don't UNDEF on a changes file with no format
2754         field.
2755
2756 2001-07-07  James Troup  <james@nocrew.org>
2757
2758         * katie (nmu_p.is_an_nmu): check 'changedby822' for emptiness
2759         rather than 'changedbyname' to avoid false negatives on uploads
2760         with an email-address-only Changed-By field.
2761         (check_dsc): don't overwrite reject_message; append to it.
2762         (check_signature): likewise.
2763         (check_changes): likewise.
2764         (announce): condition logging on 'action'.
2765
2766         * logging.py: new logging module.
2767
2768         * katie: Cleaned up code by putting Cnf["Dinstall::Options"]
2769         sub-tree into a separate (global) variable.
2770         (check_dsc): ensure format is 1.0 to retain backwards
2771         compatability with dpkg-source in potato.
2772         (main): only try to obtain the lock when not running in no-action
2773         mode.
2774         Use the new logging module.
2775
2776         * christina: initial version; only partially usable.
2777
2778 2001-06-28  Anthony Towns  <ajt@debian.org>
2779
2780         * apt.conf: Add ExtraOverrides to auric.
2781
2782 2001-06-25  James Troup  <james@nocrew.org>
2783
2784         * katie (nmu_p.is_an_nmu): the wonderful dpkg developers decided
2785         they preferred the name 'Uploaders'.
2786
2787 2001-06-23  James Troup  <james@nocrew.org>
2788
2789         * katie (check_files): fix typo in uncommon rejection message,
2790         s/sourceversion/source version/.
2791
2792         * denise (main): we can't use print because stdout has been
2793         redirected.
2794
2795         * katie (source_exists): new function; moved out of check_files()
2796         and added support for binary-only NMUs of earlier sourceful NMUs.
2797
2798         * rhona (clean): find_next_free has moved.
2799
2800         * utils.py (find_next_free): new function; moved here from rhona.
2801         Change too_many to be an argument with a default value, rather
2802         than a hardcoded variable.
2803
2804         * shania: rewritten to work better; REJECTion reminder mail
2805         handling got lost though.
2806
2807 2001-06-22  James Troup  <james@nocrew.org>
2808
2809         * rhona (main): remove unused override code.
2810
2811         * fernanda (main): remove extraneous \n's from utils.warn calls.
2812         * natalie.py (list): likewise.
2813
2814         * catherine, cindy, denise, heidi, jenna, katie, neve, rhona, tea:
2815         use utils.{warn,fubar} where appropriate.
2816
2817 2001-06-21  James Troup  <james@nocrew.org>
2818
2819         * katie (nmu_p): new class that encapsulates the "is a nmu?"
2820         functionality.
2821         (nmu_p.is_an_nmu): add support for multiple maintainers specified
2822         by the "Maintainers" field in the .dsc file and maintainer groups.
2823         (nmu_p.__init__): read in the list of group maintainer names.
2824         (announce): use nmu_p.
2825
2826 2001-06-20  James Troup  <james@nocrew.org>
2827
2828         * rene (main): hardcode the suite experimental is compared to by
2829         name rather than number.
2830
2831         * katie (check_files): differentiate between doesn't-exist and
2832         permission-denied in "can not read" rejections; requested by edd@.
2833         (check_dsc): use os.path.exists rather than os.access to allow the
2834         above check to kick in.
2835
2836         * heidi (process_file): read all input before doing anything and
2837         use transactions.
2838
2839 2001-06-15  James Troup  <james@nocrew.org>
2840
2841         * fernanda: new script; replaces old 'check' shell script
2842         nastiness.
2843
2844 2001-06-14  James Troup  <james@nocrew.org>
2845
2846         * katie: actually import traceback module to avoid amusing
2847         infinite loop.
2848
2849 2001-06-10  James Troup  <james@nocrew.org>
2850
2851         * utils.py (extract_component_from_section): fix to handle just
2852         'non-free' and 'contrib'.  Also fix to handle non-US in a
2853         completely case insensitive manner as a component.
2854
2855 2001-06-08  James Troup  <james@nocrew.org>
2856
2857         * madison (arch_compare): sort function that sorts 'source' first
2858         then alphabetically.
2859         (main): use it.
2860
2861 2001-06-05  Jeff Licquia  <jlicquia@progeny.com>
2862
2863         * catherine (poolize): explicitly make poolized_size a long so it
2864         doesn't overflow when poolizing e.g. entire archives.
2865
2866 2001-06-01  James Troup  <james@nocrew.org>
2867
2868         * utils.py (send_mail): throw exceptions rather than exiting.
2869
2870         * katie (process_it): catch exceptions and ignore them.
2871
2872 2001-06-01  Michael Beattie  <mjb@debian.org>
2873
2874         * added update-mailingliststxt and update-readmenonus to update
2875         those files, respectively. modified cron.daily{,-non-US} to
2876         use them.
2877
2878 2001-05-31  Anthony Towns  <ajt@debian.org>
2879
2880         * rhona: make StayOfExecution work.
2881
2882 2001-05-31  James Troup  <james@nocrew.org>
2883
2884         * rhona (find_next_free): fixes to not overwrite files but rename
2885         them by appending .<n> instead.
2886         (clean): use find_next_free and use dated sub-directories in the
2887         morgue.
2888
2889         * utils.py (move): don't overwrite files unless forced to.
2890         (copy): likewise.
2891
2892 2001-05-24  James Troup  <james@nocrew.org>
2893
2894         * katie (check_files): determine the source version here instead
2895         of during install().
2896         (check_files): check for existent source with bin-only NMU
2897         support.
2898         (main): sort the list of changes so that the source-must-exist
2899         check Does The Right Thing(tm).
2900
2901         * utils.py (changes_compare): new function; sorts a list of
2902         changes files by 'have-source', source, version.
2903         (cc_fix_changes): helper function.
2904         (parse_changes): use compiled regexes.
2905         (fix_maintainer): likewise.
2906
2907         * rene (main): warn about packages in experimental that are
2908         superseded by newer versions in unstable.
2909
2910 2001-05-21  James Troup  <james@nocrew.org>
2911
2912         * rene (main): add support for checking for ANAIS (Architecture
2913         Not Allowed In Source) packages.
2914
2915 2001-05-17  James Troup  <james@nocrew.org>
2916
2917         * katie (check_changes): initalize `architecture' dictionary in
2918         changes global so that if we can't parse the changes file for
2919         whatever reason we don't undef later on.
2920
2921         * utils.py (parse_changes): fix handling of multi-line fields
2922         where the first line did have data.
2923
2924 2001-05-05  Anthony Towns  <ajt@debian.org>
2925
2926         * ziyi: Add "NotAutomatic: yes" to experimental Release files.
2927         (It should always have been there. Ooopsy.)
2928
2929 2001-05-03  Anthony Towns  <ajt@debian.org>
2930
2931         * jenna: Cleanup packages that move from arch:any to arch:all or
2932         vice-versa.
2933
2934 2001-04-24  Anthony Towns  <ajt@debian.org>
2935
2936         * ziyi: add ``SHA1:'' info to Release files. Also hack them up to
2937         cope with debian-installer and boot-floppies' md5sum.txt.
2938
2939 2001-04-16  James Troup  <james@nocrew.org>
2940
2941         * katie (check_changes): add missing %s format string argument.
2942         (stable_install): temporary work around for morgue location to
2943         move installed changes files into.
2944         (stable_install): helps if you actually read in the template.
2945         (manual_reject): fix for editing of reject messages which was
2946         using the wrong variable name.
2947
2948         * jenna (generate_src_list): typo; s/package/source/; fixes undef crash.
2949
2950 2001-04-13  James Troup  <james@nocrew.org>
2951
2952         * katie (manual_reject): Cc the installer.
2953         (reject): don't.
2954         (check_changes): remove unused maintainer-determination code.
2955         (update_subst): add support for Changed-By when setting the
2956         *MAINTAINER* variables.
2957
2958         * rene (bar): new function to check for packages on architectures
2959         when they shouldn't be.
2960
2961         * natalie.py (main): use fubar() and warn() from utils.
2962
2963         * utils.py (whoami): new mini-function().
2964         * melanie (main): use it.
2965         * katie (manual_reject): likewise.
2966
2967 2001-04-03  James Troup  <james@nocrew.org>
2968
2969         * katie (action): ignore exceptions from os.path.getmtime() so we
2970         don't crash on non-existent changes files (e.g. when they are
2971         moved between the start of the install run in cron.daily and the
2972         time we get round to processing them).
2973
2974         * madison (main): also list source and accept -s/--suite.
2975
2976         * jenna (generate_src_list): missing \n in error message.
2977
2978         * katie (update_subst): add sane defaults for when changes is
2979         skeletal.
2980
2981 2001-03-29  James Troup  <james@nocrew.org>
2982
2983         * melanie (main): use fubar() and warn() from utils.  Remember who
2984         the maintainer for the removed packages are and display that info
2985         to the user.  Readd support for melanie-specific Bcc-ing that got
2986         lost in the TemplateSubst transition.
2987
2988         * utils.py (fubar): new function.
2989         (warn): like wise.
2990
2991         * db_access.py (get_maintainer): as below.
2992
2993         * charisma (get_maintainer): moved the bulk of this function to
2994         db_access so that melanie can use it too.
2995
2996         * claire.py (find_dislocated_stable): restrict the override join
2997         to those entries where the suite is stable; this avoids problems
2998         with packages which have moved to new sections (e.g. science)
2999         between stable and unstable.
3000
3001 2001-03-24  James Troup  <james@nocrew.org>
3002
3003         * catherine (poolize): new function; not really independent of
3004         main() fully, yet.
3005         (main): use it.
3006
3007         * katie (stable_install): __SUITE__ needs to be space prefixed
3008         because buildd's check for 'INSTALLED$'.
3009
3010 2001-03-22  James Troup  <james@nocrew.org>
3011
3012         * utils.py (regex_safe): also need to escape '.'; noticed by ajt@.
3013
3014         * jenna: rewritten; now does deletions on a per-suite level
3015         instead of a per-suite-component-architecture-type level.  This
3016         allows mutli-component packages to be auto-cleaned (and as a
3017         bonus, reduces the code size and duplication).
3018
3019 2001-03-22  Anthony Towns  <ajt@debian.org>
3020
3021         * ziyi (main): fix ziyi to overwrite existing Release.gpg files
3022         instead of just giving a gpg error.
3023
3024 2001-03-21  James Troup  <james@nocrew.org>
3025
3026         * madison (main): use apt_pkg.VersionCompare to sort versions so
3027         that output is correctly sorted for packages like debhlper.
3028         Noticed by ajt@.
3029
3030         * tea (check_source_in_one_dir): actually find problematic source
3031         packages.
3032
3033         * katie (check_dsc): remember the orig.tar.gz's location ID if
3034         it's not in a legacy suite.
3035         (check_diff): we don't use orig_tar_id.
3036         (install): add code to handle sourceful diff-only upload of
3037         packages which change components by copying the .orig.tar.gz into
3038         the new component, if it doesn't already exist there.
3039         (process_it): reset orig_tar_location (as above).
3040
3041         * melanie (main): use template substiution for the bug closing
3042         emails.
3043         (main): don't hardcode bugs.debian.org or packages.debian.org
3044         either; use configuration items.
3045
3046         * katie: likewise.
3047
3048         * natalie.py (init): use None rather than 'localhost' for the
3049         hostname given to pg.connect.
3050
3051         * utils.py (TemplateSubst): new function; lifted from
3052         userdir-ldap.
3053
3054 2001-03-21  Ryan Murray  <rmurray@debian.org>
3055
3056         * katie (announce): fix the case of non-existent
3057         Suite::$SUITE::Announce.
3058
3059 2001-03-20  Ryan Murray  <rmurray@debian.org>
3060
3061         * debian/rules (binary-indep): install melanie into /usr/bin/ not
3062         /usr/.
3063
3064         * alyson (main): use config variable for database name.
3065         * andrea (main): likewise.
3066         * catherine (main): likewise.
3067         * charisma (main): likewise.
3068         * cindy (main): likewise.
3069         * claire.py (main): likewise.
3070         * denise (main): likewise.
3071         * heidi (main): likewise.
3072         * jenna (main): likewise.
3073         * katie (main): likewise.
3074         * madison (main): likewise.
3075         * melanie (main): likewise.
3076         * neve (main): likewise.
3077         * rhona (main): likewise.
3078         * tea (main): likewise.
3079
3080 2001-03-15  James Troup  <james@nocrew.org>
3081
3082         * rhona (check_sources): fixed evil off by one (letter) error
3083         which was causing only .dsc files to be deleted when cleaning
3084         source packages.
3085
3086         * charisma (get_maintainer_from_source): remove really stupid and
3087         gratuitous IN sub-query and replace with normal inner join.
3088         (main): connect as read-only user nobody.
3089
3090         * rhona (clean_maintainers): rewritten to use SELECT and sub-query
3091         with EXISTS.
3092         (check_files): likewise; still disabled by default though.
3093         (clean_binaries): add ' seconds' to the mysterious number in the
3094         output.
3095         (clean): likewise.
3096
3097         * tea (check_files): add missing global declaration on db_files.
3098
3099 2001-03-14  James Troup  <james@nocrew.org>
3100
3101         * rhona: rewritten large chunks. Removed a lot of the silly
3102         selecting into dictionaries and replaced it with 'where exists'
3103         based sub queries.  Added support for StayOfExecution.  Fix the
3104         problem with deleting dsc_files too early and disable cleaning of
3105         unattached files.
3106
3107 2001-03-14  Anthony Towns  <ajt@debian.org>
3108
3109         * katie (announce): also check Changed-By when trying to detect
3110         NMUs.
3111
3112 2001-03-06  Anthony Towns  <ajt@debian.org>
3113
3114         * ziyi (main): Generate Release.gpg files as well, using the key from
3115         Dinstall::SigningKey in katie.conf, if present. That key has to be
3116         passwordless, and hence kept fairly secretly.
3117
3118 2001-03-02  James Troup  <james@nocrew.org>
3119
3120         * utils.py (str_isnum): new function; checks to see if the string
3121         is a number.
3122
3123         * shania (main): fix _hideous_ bug which was causing all files > 2
3124         weeks old to be deleted from incoming, even if they were part of a
3125         valid upload.
3126
3127 2001-02-27  James Troup  <james@nocrew.org>
3128
3129         * melanie (main): accept new argument -C/--carbon-copy which
3130         allows arbitarty carbon-copying of the bug closure messages.
3131         Cleaned up code by putting Cnf["Melanie::Options"] sub-tree into a
3132         separate variable.
3133
3134 2001-02-27  Anthony Towns  <ajt@debian.org>
3135
3136         * ziyi: new program; generates Release files.
3137
3138 2001-02-25  James Troup  <james@nocrew.org>
3139
3140         * katie (reject): add missing '\n' to error message.
3141         (manual_reject): likewise.
3142         (install): catch exceptions from moving the changes file into DONE
3143         and ignore them.
3144
3145         * tea (check_md5sums): new function.
3146
3147 2001-02-25  Michael Beattie  <mjb@debian.org>
3148
3149         * melanie: use $EDITOR if available.
3150
3151 2001-02-15  James Troup  <james@nocrew.org>
3152
3153         * utils.py (parse_changes): don't crash and burn on empty .changes
3154         files.  Symptoms noticed by mjb@.
3155
3156 2001-02-15  Adam Heath  <doogie@debian.org>
3157
3158         * denise (main): use an absolute path for the output filename.
3159
3160         * sql-aptvc.cpp: don't #include <utils/builtins.h> as it causes
3161         compile errors with postgresql-dev >= 7.0.
3162
3163 2001-02-12  James Troup  <james@nocrew.org>
3164
3165         * rene: initial version.
3166
3167         * andrea: initial version.
3168
3169         * catherine (main): remove obsolete assignment of arguments.
3170
3171 2001-02-09  James Troup  <james@nocrew.org>
3172
3173         * catherine: first working version.
3174
3175 2001-02-06  James Troup  <james@nocrew.org>
3176
3177         * katie (check_files): validate the priority field; i.e. ensure it
3178         doesn't contain a '/' (to catch people prepending the priority
3179         with the component rather than the section).
3180         (check_override): don't warn about source packages; the only check
3181         is on section and we have no GUI tools that would use the Section
3182         field for a Sources file.
3183         (announce): use tags rather than severities for NMUs.  Requested
3184         by Josip Rodin <joy@>. [#78035]
3185
3186 2001-02-04  James Troup  <james@nocrew.org>
3187
3188         * tea (check_override): new function; ensures packages in suites
3189         are also in the override file.  Thanks to bod@ for noticing that
3190         such packages existed.
3191
3192         * katie: move file type compiled regular expressions to utils as
3193         catherine uses them too.
3194         (check_changes): always default maintainer822 to the installer
3195         address so that any bail out won't cause undefs later.
3196         (check_files): update file type re's to match above.
3197         (stable_install): likewise.
3198         (reject): handle any except from moving the changes files.  Fixes
3199         crashes on unreadable changes files.
3200
3201         * melanie (main): add an explanation of why things are not removed
3202         from testing.
3203
3204 2001-01-31  James Troup  <james@nocrew.org>
3205
3206         * melanie (main): ignore a) no message, b) removing from stable or
3207         testing when invoked with -n/--no-action.
3208
3209         * katie (check_override): lower section before checking to see if
3210         we're whining about 'non-US' versus 'non-US/main'.
3211
3212         * sql-aptvc.cpp: new file; wrapper around apt's version comparison
3213         function so that we can use inside of PostgreSQL.
3214
3215 2001-01-28  James Troup  <james@nocrew.org>
3216
3217         * katie: updated to pass new flag to parse_changes() and deal with
3218         the exception raised on invalid .dsc's if appropriate.
3219         * shania (main): likewise.
3220         * melanie (main): likewise.
3221
3222         * tea (check_dscs): new function to validate all .dsc files in
3223         unstable.
3224
3225         * utils.py (parse_changes): if passed an additional flag, validate
3226         the .dsc file to ensure it's extractable by dpkg-source.
3227         Requested by Ben Collins <bcollins@>.
3228
3229 2001-01-27  James Troup  <james@nocrew.org>
3230
3231         * madison (main): connect to the DB as nobody.
3232
3233         * katie (check_files): remove support for -r/--no-version-check
3234         since it makes no sense under katie (jenna will automatically
3235         remove the (new) older version) and was evil in any event.
3236         (check_changes): add missing new line to rejection message.
3237         (check_dsc): likewise.
3238         (process_it): reset reject_message here.
3239         (main): not here.  Also remove support for -r.
3240
3241 2001-01-26  James Troup  <james@nocrew.org>
3242
3243         * katie (check_override): don't whine about 'non-US/main' versus
3244         'non-US'.
3245
3246 2001-01-26  Michael Beattie  <mjb@debian.org>
3247
3248         * natalie.py (usage): new function.
3249         (main): use it.
3250
3251 2001-01-25  Antti-Juhani Kaijanaho  <gaia@iki.fi>
3252
3253         * update-mirrorlists: Update README.non-US too (request from Joy).
3254
3255 2001-01-25  James Troup  <james@nocrew.org>
3256
3257         * katie (reject): catch any exception from utils.move() and just
3258         pass, we previously only caught can't-overwrite errors and not
3259         can't-read ones.
3260
3261         * jenna (generate_src_list): use ORDER BY in selects to avoid
3262         unnecessary changes to Packages files.
3263         (generate_bin_list): likewise.
3264
3265         * utils.py (extract_component_from_section): separated out from
3266         build_file_list() as it's now used by claire too.
3267
3268         * claire.py (find_dislocated_stable): rewrite the query to extract
3269         section information and handle component-less locations properly.
3270         Thanks to ajt@ for the improved queries.
3271         (fix_component_section): new function to fix components and
3272         sections.
3273
3274 2001-01-23  James Troup  <james@nocrew.org>
3275
3276         * katie (check_files): set file type for (u?)debs first thing, so
3277         that if we continue, other functions which rely on file type
3278         existing don't bomb out.  If apt_pkg or apt_inst raise an
3279         exception when parsing the control file, don't try any other
3280         checks, just drop out.
3281         (check_changes): new test to ensure there is actually a target
3282         distribution.
3283
3284 2001-01-22  James Troup  <james@nocrew.org>
3285
3286         * katie (usage): s/dry-run/no-action/.  Noticed by Peter Gervai
3287         <grin@>.
3288         (check_changes): when mapping to unstable, remember to actually
3289         add unstable to the suite list and not just remove the invalid
3290         suite.
3291
3292 2001-01-21  James Troup  <james@nocrew.org>
3293
3294         * katie (check_files): catch exceptions from debExtractControl()
3295         and reject packages which raise any.
3296
3297 2001-01-19  James Troup  <james@nocrew.org>
3298
3299         * katie (check_signature): basename() file name in rejection
3300         message.
3301
3302 2001-01-18  James Troup  <james@nocrew.org>
3303
3304         * katie (in_override_p): remember the section and priority from
3305         the override file so we can check them against the package later.
3306         (check_override): new function; checks section and priority (for
3307         binaries) from the package against the override file and mails the
3308         maintainer about any disparities.
3309         (install): call check_override after announcing the upload.
3310
3311 2001-01-16  James Troup  <james@nocrew.org>
3312
3313         * utils.py (build_file_list): catch ValueError's from splitting up
3314         the files field and translate it into a parse error.
3315
3316         * tea: add support for finding unreferenced files.
3317
3318         * katie (in_override_p): add support for suite-aliasing so that
3319         proposed-updates uploads work again.
3320         (check_changes): catch parses errors from utils.build_file_list().
3321         (check_dsc): likewise.
3322         (check_diff): yet more dpkg breakage so we require even newer a
3323         version.
3324
3325         * jenna (generate_bin_list): don't do nasty path munging that's no
3326         longer needed.
3327
3328         * denise (main): support for non-US; and rename testing's override
3329         files so they're based on testing's codename.
3330
3331 2001-01-16  Martin Michlmayr  <tbm@cyrius.com>
3332
3333         * melanie: add to the bug closing message explaining what happens
3334         (or rather doesn't) with bugs against packages that have been
3335         removed.
3336
3337 2001-01-14  James Troup  <james@nocrew.org>
3338
3339         * charisma (main): fix silly off-by-one error; suite priority
3340         checking was done using "less than" rather than "less than or
3341         equal to" which was causing weird hesienbugs with wrong Maintainer
3342         fields.
3343
3344 2001-01-10  James Troup  <james@nocrew.org>
3345
3346         * katie (in_override_p): adapted to use SQL-based overrides.
3347         read_override_file function disappears.
3348
3349         * db_access.py: add new functions get_section_id, get_priority_id
3350         and get_override_type_id.
3351         (get_architecture_id): return -1 if the architecture is not found.
3352
3353         * heidi: switch %d -> %d in all SQL queries.
3354         (get_list): Use string.join where appropriate.
3355
3356         * rhona (in_override_p): don't die if the override file doesn't
3357         exist.
3358         (main): warn if the override file doesn't exist.
3359
3360         * alyson: new script; will eventually sync the config file and the
3361         SQL database.
3362
3363         * natalie.py: new script; manipulates overrides.
3364
3365         * melanie: new script; removes packages from suites.
3366
3367 2001-01-08  James Troup  <james@nocrew.org>
3368
3369         * katie (re_bad_diff): whee; dpkg 1.8.1.1 didn't actually fix
3370         anything it just changed the symptom.  Recognise the new breakage
3371         and reject them too.
3372
3373 2001-01-07  James Troup  <james@nocrew.org>
3374
3375         * katie (check_dsc): when adding the cwd copy of the .orig.tar.gz
3376         to the .changes file, be sure to set up files[filename]["type"]
3377         too.
3378
3379 2001-01-06  James Troup  <james@nocrew.org>
3380
3381         * katie (check_diff): new function; detects bad diff files
3382         produced by dpkg 1.8.1 and rejects thems.
3383         (process_it): call check_diff().
3384         (check_dsc): gar.  Add support for multiple versions of the
3385         .orig.tar.gz file in the archive from -sa uploads.  Check md5sum
3386         and size against all versions and use one which matches if
3387         possible and exclude any that don't from being poolized to avoid
3388         file overwrites.  Thanks to broonie@ for providing the example.
3389         (install): skip any files marked as excluded as above.
3390
3391 2001-01-05  James Troup  <james@nocrew.org>
3392
3393         * heidi (process_file): add missing argument to error message.
3394
3395 2001-01-04  James Troup  <james@nocrew.org>
3396
3397         * heidi (main): fix handling of multiple files by reading all
3398         files not just the first file n times (where n = the number of
3399         files passed as arguments).
3400
3401 2001-01-04  Anthony Towns  <ajt@debian.org>
3402
3403         * katie (check_dsc): proper fix for the code which locates the
3404         .orig.tar.gz; check for '<filename>$' or '^<filename>$'.
3405
3406 2000-12-20  James Troup  <james@nocrew.org>
3407
3408         * rhona: replace IN's with EXISTS's to make DELETE time for
3409         binaries and source sane on auric.  Add a -n/--no-action flag and
3410         make it stop actions if used.  Fixed a bug in binaries deletion
3411         with no StayOfExecution (s/</<=/).  Add working -h/--help and
3412         -V/--version.  Giving timing info on deletion till I'm sure it's
3413         sane.
3414
3415         * katie (check_changes): map testing to unstable.
3416
3417         * madison: new script; shows versions in different architectures.
3418
3419         * katie (check_dsc): ensure size matches as well as md5sum;
3420         suggested by Ben Collins <bcollins@debian.org> in Debian Bug
3421         #69702.
3422
3423 2000-12-19  James Troup  <james@nocrew.org>
3424
3425         * katie (reject): ignore the "can't overwrite file" exception from
3426         utils.move() and leave the files where they are.
3427         (reject): doh! os.access() test was reversed so we only tried to
3428         move files which didn't exist... replaced with os.path.exists()
3429         test the right way round.
3430
3431         * utils.py (move): raise an exception if we can't overwrite the
3432         destination file.
3433         (copy): likewise.
3434
3435 2000-12-18  James Troup  <james@nocrew.org>
3436
3437         * rhona: first working version.
3438
3439         * db_access.py (get_files_id): force both sizes to be integers.
3440
3441         * katie (main): use size_type().
3442
3443         * utils.py (size_type): new function; pretty prints a file size.
3444
3445 2000-12-17  James Troup  <james@nocrew.org>
3446
3447         * charisma (main): do version compares so that older packages do
3448         not override newer ones and process source first as source wins
3449         over binaries in terms of who we think of as the Maintainer.
3450
3451 2000-12-15  James Troup  <james@nocrew.org>
3452
3453         * katie (install): use the files id for the .orig.tar.gz from
3454         check_dsc().
3455         (install): limit select for legacy source to a) source in legacy
3456         or legacy-mixed type locations and b) distinct on files.id.
3457         (install): rather than the bizarre insert new, delete old method
3458         for moving legacy source into the pool, use a simple update of
3459         files.
3460         (process_it): initalize some globals before each process.
3461
3462 2000-12-14  James Troup  <james@nocrew.org>
3463
3464         * katie (in_override_p): index on binary_type too since .udeb
3465         overrides are in a different file.
3466         (read_override_file): likewise.
3467         (check_files): correct filename passed to get_files_id().
3468         (check_dsc): we _have_ to preprend '/' to the filename to avoid
3469         mismatches like jabber.orig.tar.gz versus libjabber.orig.tar.gz.
3470         (check_dsc): remember the files id of the .orig.tar.gz, not the
3471         location id.
3472
3473 2000-12-13  James Troup  <james@nocrew.org>
3474
3475         * utils.py (poolify): force the component to lower case except for
3476         non-US.
3477
3478         * katie (in_override_p): handle .udeb-specific override files.
3479         (check_files): pass the binary type to in_override_p().
3480         (check_dsc): remember the location id of the old .orig.tar.gz in
3481         case it's not in the pool.
3482         (install): use location id from dsc_files; which is where
3483         check_dsc() puts it for old .orig.tar.gz files.
3484         (install): install files after all DB work is complete.
3485         (reject): basename() the changes filename.
3486         (manual_reject): likewise.
3487
3488         * shania: new progam; replaces incomingcleaner.
3489
3490 2000-12-05  James Troup  <james@nocrew.org>
3491
3492         * katie (check_changes): if inside stable and can't find files
3493         from the .changes; assume it's installed in the pool and chdir()
3494         to there.
3495         (check_files): we are not installing for stable installs, so don't
3496         check for overwriting existing files.
3497         (check_dsc): likewise.
3498         (check_dsc): reorder .orig.tar.gz handling so that we search in
3499         the pool first and only then fall back on any .orig.tar.gz in the
3500         cwd; this avoids false positives on the overwrite check when
3501         people needlessly reupoad the .orig.tar.gz in a non-sa upload.
3502         (install): if this is a stable install, bail out to
3503         stable_install() immediately.
3504         (install): dsc_files handling was horribly broken. a) we need to
3505         add files from the .dsc and not the .changes (duh), b) we need to
3506         add the .dsc file itself to dsc_files (to be consistent with neve
3507         if for no other reason).
3508         (stable_install): new function; handles installs from inside
3509         proposed-updates to stable.
3510         (acknowledge_new): basename changes_filename before doing
3511         anything.
3512         (process_it): absolutize the changes filename to avoid the
3513         requirement of being in the same directory as the .changes file.
3514         (process_it): save and restore the cwd as stable installs can
3515         potentially jump into the pool to find files.
3516
3517         * jenna: dislocated_files support using claire.
3518
3519         * heidi (process_file): select package field from binaries
3520         explicitly.
3521
3522         * db_access.py (get_files_id): fix cache key used.
3523
3524         * utils.py (build_file_list): fix 'non-US/non-free' case in
3525         section/component splitting.
3526         (move): use os.path.isdir() rather than stat.
3527         (copy): likewise.
3528
3529         * claire.py: new file; stable in non-stable munger.
3530
3531         * tea: new file; simply ensures all files in the DB exist.
3532
3533 2000-12-01  James Troup  <james@nocrew.org>
3534
3535         * katie (check_dsc): use regex_safe().
3536         (check_changes): typo in changes{} key:
3537         s/distributions/distribution/.
3538         (install): use changes["source"], not files[file]["source"] as the
3539         latter may not exist and the former is used elsewhere.  Commit the
3540         SQL transaction earlier.
3541
3542         * utils.py (regex_safe): new function; escapes characters which
3543         have meaning to SQL's regex comparison operator ('~').
3544
3545 2000-11-30  James Troup  <james@nocrew.org>
3546
3547         * katie (install): pool_location is based on source package name,
3548         not binary package.
3549
3550         * utils.py (move): if dest is a directory, append the filename
3551         before chmod-ing.
3552         (copy): ditto.
3553
3554         * katie (check_files): don't allow overwriting of existing .debs.
3555         (check_dsc): don't allow overwriting of existing source files.
3556
3557 2000-11-27  James Troup  <james@nocrew.org>
3558
3559         * katie (check_signature): don't try to load rsaref; it's
3560         obsolete.
3561         (in_override_p): don't try to lookup override entries for packages
3562         with an invalid suite name.
3563         (announce): don't assume the suite name is valid; use Find() to
3564         lookup the mailing list name for announcements.
3565
3566         * utils.py (where_am_i): typo; hostname is in the first element,
3567         not second.
3568
3569         * db_access.py (get_suite_id): return -1 on an unknown suite.
3570
3571 2000-11-26  James Troup  <james@nocrew.org>
3572
3573         * katie (install): fix CopyChanges handling; typo in in checking
3574         Cnf for CopyChanges flag and was calling non-existent function
3575         copy_file.
3576
3577         * utils.py (copy): new function; clone of move without the
3578         unlink().
3579
3580 2000-11-25  James Troup  <james@nocrew.org>
3581
3582         * utils.py (build_file_list): handle non-US prefixes properly
3583         (i.e. 'non-US' -> 'non-US/main' and 'non-US/libs' -> 'non-US/main'
3584         + 'libs' not 'non-US/libs').
3585         (send_mail): add '-odq' to sendmail invocation to avoid DNS lookup
3586         delays.  This is possibly(/probably) exim speicifc and (like other
3587         sendmail options) needs to be in the config file.
3588
3589 2000-11-24  James Troup  <james@nocrew.org>
3590
3591         * rhona (check_sources): we need file id from dsc_files; not id.
3592         Handle non .dsc source files being re-referenced in dsc_files.
3593
3594         * katie (in_override_p): strip out any 'non-US' prefix.
3595         (check_files): use utils.where_am_i() rather than hardcoding.
3596         (check_files): validate the component.
3597         (install): use utils.where_am_i() rather than hardcoding.
3598         (install): fix mail to go to actual recepient.
3599         (reject): likewise.
3600         (manual_reject): likewise.
3601         (acknowledge_new): likewise.
3602         (announce): likewise.
3603
3604         * db_access.py (get_component_id): ignore case when searching for
3605         the component and don't crash if the component can't be found, but
3606         return -1.
3607         (get_location_id): handle -1 from get_component_id().
3608
3609         * jenna (generate_src_list): don't bring 'suite' into our big
3610         multi-table-joining select as we already know the 'suite_id'.
3611         (generate_bin_list): likewise.
3612
3613         * neve (main): don't quit if not on ftp-master.
3614         (process_packages): remove unused variable 'suite_codename'.
3615
3616         * utils.py (move): actually move the file.
3617         (build_file_list): handle non-US prefixes in the section.
3618
3619         * catherine (main): use which_conf_file().
3620         * charisma (main): likewise.
3621         * heidi (main): likewise.
3622         * jenna (main): likewise.
3623         * katie (main): likewise.
3624         * neve (main): likewise.
3625         * rhona (main): likewise.
3626
3627         * utils.py (where_am_i): new routine; determines the archive as
3628         understood by other 'dak' programs.
3629         (which_conf_file): new routine; determines the conf file to read.
3630
3631 2000-11-17  James Troup  <james@nocrew.org>
3632
3633         * katie (install): fix where .changes files for proposed-updates
3634         go.
3635
3636 2000-11-04  James Troup  <james@nocrew.org>
3637
3638         * jenna (main): handle architecture properly if no
3639         -a/--architecture argument is given, i.e. reset architecture with
3640         the values for the suite for each suite.
3641
3642         * Add apt_pkg.init() to the start of all scripts as it's now
3643         required by python-apt.
3644
3645 2000-10-29  James Troup  <james@nocrew.org>
3646
3647         * jenna (generate_bin_list): take an additional argument 'type'
3648         and use it in the SELECT.
3649         (main): if processing component 'main', process udebs and debs.
3650
3651         * neve (process_packages): set up 'type' in 'binaries' (by
3652         assuming .deb).
3653
3654         * katie (re_isadeb): accept ".udeb" or ".deb" as a file ending.
3655         (check_files): set up files[file]["dbtype"].
3656         (install): use files[file]["dbtype"] to set up the 'type' field in
3657         the 'binaries' table.
3658
3659         * init_pool.sql: add a 'type' field to the 'binaries' table to
3660         distinguisgh between ".udeb" and ".deb" files.
3661
3662         * utils.py (move): scrap basename() usage; use a "dir_p(dest) :
3663         dest ? dirname(dest)" type check instead.
3664
3665         * katie (check_dsc): handle the case of an .orig.tar.gz not found
3666         in the pool without crashing.  Also handle the case of being asked
3667         to look for something other than an .orig.tar.gz in the pool.
3668
3669 2000-10-26  James Troup  <james@nocrew.org>
3670
3671         * katie (install): fix filenames put into files table during
3672         poolification of legacy source.
3673
3674         * utils.py (move): work around a bug in os.path.basename() which
3675         cunningly returns '' if there is a trailing slash on the path
3676         passed to it.
3677
3678         * katie (check_dsc): Remove more cruft.  If we find the
3679         .orig.tar.gz in the pool and it's in a legacy (or legacy-mixed)
3680         location, make a note of that so we can fix things in install().
3681         (install): as above.  Move any old source out of legacy locations
3682         so that 'apt-get source' will work.
3683         (process_it): reset the flag that indicates to install that the
3684         source needs moved.
3685
3686         * cron.daily: more.  Nowhere near complete yet though.
3687
3688         * katie (install): don't run os.makedirs, a) utils.move() does
3689         this now, b) we weren't removing the user's umask and were
3690         creating dirs with SNAFU permissions.
3691         (check_dsc): rewrite the .orig.tar.gz handling to take into
3692         account, err, package pools.  i.e. look anywhere in the pool
3693         rather than faffing around with two simple paths.
3694
3695         * neve (process_sources): add the .dsc to dsc_files too.
3696
3697 2000-10-25  James Troup  <james@nocrew.org>
3698
3699         * neve (process_sources): don't duplicate .orig.tar.gz's.
3700
3701 2000-10-23  James Troup  <james@nocrew.org>
3702
3703         * utils.py (re_extract_src_version): moved here.
3704
3705         * neve: move re_extract_src_version to utils.
3706         (process_packages): reflect change.
3707
3708         * katie (install): reflect change.
3709
3710 2000-10-19  James Troup  <james@nocrew.org>
3711
3712         * jenna (generate_src_list): handle locations with null
3713         components.
3714         (generate_bin_list): likewise.
3715