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