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