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