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