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