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