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