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