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