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