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