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