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