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