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