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