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