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