From: Anthony Towns Date: Mon, 14 Nov 2005 07:29:17 +0000 (+0000) Subject: add changelog back X-Git-Url: https://git.decadent.org.uk/gitweb/?a=commitdiff_plain;h=9e78deadeefb78533360179077669f763f0f483c;p=dak.git add changelog back --- diff --git a/ChangeLog b/ChangeLog new file mode 100644 index 00000000..6c5f73f0 --- /dev/null +++ b/ChangeLog @@ -0,0 +1,3715 @@ +2005-05-28 James Troup + + * helena (process_changes_files): use MTIME rather than CTIME (the + C's not for 'creation', stupid). + * lisa (sort_changes): likewise. + + * jennifer (check_distributions): use has_key rather than an 'in' + test which doesn't work with python2.1. [Probably by AJ] + +2005-03-19 James Troup + + * rene (main): use Suite::::UdebComponents to determine + what components have udebs rather than assuming only 'main' does. + +2005-03-18 James Troup + + * utils.py (rfc2047_encode): use codecs.lookup() rather than + encodings..Codec().decode() as encodings.utf_8 no longer + has a Codec() module in python2.4. Thanks to Andrew Bennetts + . + +2005-03-06 Joerg Jaspert + + * helena: add -n/--new HTML output option and improved sorting + options. + +2005-03-06 Ryan Murray + + * shania(main): use Cnf::Dir::Reject instead of REJECT + +2005-02-08 James Troup + + * rene (main): add partial NBS support by checking that binary + packages are built by their real parent and not some random + stranger. + (do_partial_nbs): likewise. + +2005-01-18 James Troup + + * katie.py (Katie.build_summaries): avoid leaking file handle when + extracting package description. + (Katie.force_reject): remember and close each file descriptor we + use. + (Katie.do_reject): s/file/temp_fh/ to avoid pychecker warning. + s/reason_file/reason_fd/ because it's a file descriptor. + (Katie.check_dsc_against_db): avoid leaking file handle whenever + invoking apt_pkg.md5sum(). + + * jennifer (check_deb_ar): new function: sanity check the ar + contents of a .deb. + (check_files): use it. + (check_timestamps): check for data.tar.bz2 if data.tar.gz can't be + found. + (check_files): accept 'raw-installer' as an alias for 'byhand'. + +2005-01-14 Anthony Towns + + * kelly: when UNACCEPTing, don't double up the "Rejecting:" + + * propup stuff (thanks to Andreas Barth) + * katie.conf: add stable MustBeOlderThan testing, add -security + propup + * jennifer: set distribution-version in .katie if propup may be needed + * katie.py: add propogation to cross_suite_version_check + +2004-11-27 James Troup + + * nina: new script to split monolithic queue/done into date-based + hierarchy. + + * rene (usage): document -s/--suite. + (add_nbs): use .setdefault(). + (do_anais): likewise. + (do_nbs): don't set a string to "" and then += it. + (do_obsolete_source): new function - looks for obsolete source + packages (i.e source packages whose binary packages are ALL a) + claimed by someone else and b) newer when built from the other + source package). + (main): support -s/--suite. Add 'obsolete source' to both 'daily' + and 'full' check modes. Check for obsolete source packages. + linux-wlan-ng has been fixed - remove hideous bodge. + + * jennifer (check_distributions): support 'reject' suite map type. + + * utils.py (validate_changes_file_arg): s/file/filename/. + s/fatal/require_changes/. If require_changes is -1, ignore errors + and return the .changes filename regardless. + (re_no_epoch): s/\*/+/ as there must be a digit in an epoch. + (re_no_revision): don't escape '-', it's not a special character. + s/\*/+/ as there must be at least one non-dash character after the + dash in a revision. Thanks to Christian Reis for noticing both of + these. + + * ashley (main): pass require_changes=-1 to + utils.validate_changes_file_arg(). + + * pseudo-packages.maintainers (kernel): switch to 'Debian Kernel + Team '. + + * katie.py (Katie.in_override_p): fix .startswith() usage. + + * katie.conf (Dinstall::DefaultSuite): add as 'unstable'. + (Lauren::MoreInfoURL): update to 3.0r3. + (Suite::Stable::Version): likewise. + (Suite::Stable::Description): likewise. + + * cron.daily: disable automatic task override generation. + + * cindy (process): restrict "find all packages" queries by + component. Respect Options["No-Action"]. + (main): add -n/--no-action support. Only run on unstable. Rename + type to otype (pychecker). + +2004-11-27 Daniel Silverstone + + * katie.conf (Billie::BasicTrees): add all architectures. + (Billie::CombinationTrees): remove 'welovehp' and 'embedded', add + 'everything'. + + * cron.daily: Update a 'current' symlink when creating the + post-daily-cron-job database backup to aid mirroring to merkel. + Run billie. + + * billie (BillieTarget.poolish_match): handle .udeb too. + +2004-10-13 Ryan Murray + + * amber (do_upload): Sort changes files in "katie" order so that + source always arrives before binary-only rebuilds + +2004-10-05 James Troup + + * jennifer (check_dsc): correct reject message on invalid + Maintainer field. + +2004-09-20 James Troup + + * alicia: remove unused 'pwd' import. + + * tea (check_override): underline suite name in output properly. + + * rene (main): read a compressed Packages file. + * tea (validate_packages): likewise. + + * katie.py (re_fdnic): add 'r' prefix. + (re_bin_only_nmu_of_mu): likewise. + (re_bin_only_nmu_of_nmu): likewise. + + * madison (main): retrieve component information too and display + it if it's not 'main'. + * melanie (reverse_depends_check): likewise. + + * utils.py (pp_dep): renamed... + (pp_deps): ... to this. + * jeri (check_dep): update calls to utils.pp_deps(). + * melanie (reverse_depends_check): likewise. + + * jennifer (check_changes): move initalization of email variables + from here... + (process_it): ...to here as we no longer always run + check_changes(). Don't bother to initialize + changes["architecture"]. + + * denise (list): renamed to... + (do_list): ...this to avoid name clash with builtin 'list'. + Similarly, s/file/output_file/, s/type/otype/. Use .setdefault() + for dictionaries. + (main): Likewise for name clash avoidance and also + s/override_type/suffix/. Adjust call to do_list(). + +2004-09-01 Ryan Murray + + * tea (check_files): check the pool/ directory instead of dists/ + +2004-08-04 James Troup + + * jenna (cleanup): use .setdefault() for dictionaries. + (write_filelists): likewise. + + (write_filelists): Use utils.split_args() not split() to split + command line arguments. + (stable_dislocation_p): likewise. + + (write_filelists): Add support for mapping side of suite-based + "Arch: all mapping". + (do_da_do_da): ensure that if we're not doing all suites that we + process enough to be able correct map arch: all packages. + + * utils.py (cant_open_exc): correct exception string, + s/read/open/, s/.$//. + + * templates/amber.advisory: update to match reality a little + better. + + * melanie (reverse_depends_check): read Packages.gz rather than + Packages. + + * jennifer (check_files): check for unknown component before + checking for NEWness. + + * katie.py (Katie.in_override_p): use .startswith in favour of a + slice. + + * docs/melanie.1.sgml: document -R/--rdep-check. + +2004-07-12 Daniel Silverstone + + * billie (main): Make the verbatim lists include all the README + elements. + * docs/README.names: Add billie in (correcting oversight) + +2004-07-01 James Troup + + * emilie (main): handle woody's case-sensitive python-ldap, + s/keyfingerprint/keyFingerPrint/. + +2004-06-25 James Troup + + * debian/control (Depends): add dpkg-dev since jennifer uses + dpkg-source. + +2004-06-24 James Troup + + * melanie (main): s/file/temp_file/ and close file handle before + removing the temporary file. + (main): don't warn about needing a --carbon-copy if in no-action + mode. + + * rene (do_nbs): pcmcia-cs has been fixed - remove hideous bodge. + (main): likewise. + + * test/006/test.py (main): check bracketed email-only form. + + * utils.py (fix_maintainer): if the Maintainer string is bracketed + email-only, strip the brackets so we don't end up with + <>. + +2004-06-20 James Troup + + * jennifer (process_it): only run check_changes() if + check_signature() returns something. (Likewise) + + * utils.py (changes_compare): if there's no changes["version"] use + "0" rather than None. (Avoids a crash on unsigned changes file.) + +2004-06-17 Martin Michlmayr + + * jeri (pp_dep): moved from here to ... + * utils.py (pp_dep): here. + + * melanie (main): add reverse dependency checking. + +2004-06-17 James Troup + + * jennifer (check_dsc): s/dsc_whitespace_rules/signing_rules/. + * tea (check_dscs): likewise. + + * utils.py (parse_changes): s/dsc_whitespace_rules/signing_rules/, + change from boolean to a variable with 3 possible values, 0 and 1 + as before, -1 means don't require a signature. Makes + parse_changes() useful for parsing arbitary RFC822-style files, + e.g. 'Release' files. + (check_signature): add support for detached signatures by passing + the files the signature is for as an optional third argument. + s/filename/sig_filename/g. Add a fourth optional argument to + choose the keyring(s) to use. Don't os.path.basename() the + sig_filename before checking it for taint. + (re_taint_free): allow '/'. + +2004-06-11 James Troup + + * tea (check_files): make override.unreadable optional. + (validate_sources): close the Sources file handle. + + * docs/README.first: clarify that 'alyson' and running + add_constraints.sql by hand is something you only want to do if + you're not running 'neve'. + + * docs/README.config (Location::$LOCATION::Suites): document. + + * db_access.py (do_query): also print out the result of the query. + +2004-06-10 James Troup + + * katie.py (Katie.cross_suite_version_check): post-woody versions + of python-apt's apt_pkg.VersionCompare() function apparently + returns variable integers for less than or greater than results - + update our result checking to match. + * jenna (resolve_arch_all_vs_any): likewise. + * charisma (main): likewise. + +2004-06-09 James Troup + + * jennifer (process_it): s/changes_valid/valid_changes_p/. Add + valid_dsc_p and don't run check_source() if check_dsc() failed. + (check_dsc): on fatal failures return 0 so check_source() isn't + run (since it makes fatal assumptions about the presence of + mandatory .dsc fields). + Remove unused and obsolete re_bad_diff and re_is_changes regexps. + +2004-05-07 James Troup + + * katie.conf (Rhona::OverrideFilename): unused and obsolete, remove. + * katie.conf-non-US (Rhona::OverrideFilename): likewise. + + * katie.conf (Dir::Override): remove duplicate definition. + + * neve (get_or_set_files_id): add an always-NULL last_used column + to output. + +2004-04-27 James Troup + + * apt.conf-security (tree "dists/stable/updates"): add + ExtraOverride - noticed by Joey Hess (#246050). + (tree "dists/testing/updates"): likewise. + +2004-04-20 James Troup + + * jennifer (check_files): check for existing .changes or .katie + files of the same name in the Suite::::Copy{Changes,Katie} + directories. + +2004-04-19 James Troup + + * jennifer (check_source): handle failure to remove the temporary + directory (used for source tree extraction) better, specifically: + if we fail with -EACCES, chmod -R u+rwx the temporary directory + and try again and if that works, REJECT the package. + +2004-04-17 James Troup + + * docs/madison.1.sgml: document -b/--binary-type, + -g/--greaterorequal and -G/--greaterthan. + + * madison (usage): -b/--binary-type only takes a single argument. + Document -g/--greaterorequal and -G/--greaterthan. + (main): add support for -g/--greaterorequal and -G/--greaterthan. + +2004-04-12 Daniel Silverstone + + * billie: Cleaned up a load of comments, added /README.non-US to + the verbatim matches list. + +2004-04-07 Daniel Silverstone + + * utils.py (size_type): Make it use real binary megabytes and + kilobytes, instead of the marketing terms used before. + +2004-04-07 James Troup + + * katie.py (Katie.check_dsc_against_db): in the case we're + ignoring an identical-to-existing orig.tar.gz remember the path to + the existent version in pkg.orig_tar_gz. Adjust query to grab + location.path too to be able to do so. + +2004-04-03 James Troup + + * debian/control (Depends): add python2.1-email | python (>= 2.2) + needed for new utils.rfc2047_encode() function. + + * utils.py (re_parse_maintainer): allow whitespace inside the + email address. + (Error): new exception base class. + (ParseMaintError): new exception class. + (force_to_utf8): new function. + (rfc2047_encode): likewise. + (fix_maintainer): rework. use force_to_utf8() to force name and + rfc822 return values to always use UTF-8. use rfc2047_encode() to + return an rfc2047 value. Validate the address to catch missing + email addresses and (some) broken ones. + + * katie.py (nmu_p.is_an_nmu): adapt for new utils.fix_maintainer() + by adopting foo2047 return value. + (Katie.dump_vars): add changedby2047 and maintainer2047 as + mandatory changes fields. Promote changes and maintainer822 to + mandatory fields. + (Katie.update_subst): default maintainer2047 rather than + maintainer822. User foo2047 rather than foo822 when setting + __MAINTAINER_TO__ or __MAINTAINER_FROM__. + + * jennifer (check_changes): set default changes["maintainer2047"] + and changes["changedby2047"] values rather than their 822 + equivalents. Makes changes["changes"] a mandatory field. Adapt + to new utils.fix_maintainer() - reject on exception and adopt + foo2047 return value. + (check_dsc): if a mandatory field is missing don't do any further + checks and as a result reduce paranoia about dsc[var] existence. + Validate the maintainer field by calling new + utils.fix_maintainer(). + + * ashley (main): add changedby2047 and maintainer2047 to mandatory + changes fields. Promote maintainer822 to a mandatory changes + field. add "pool name" to files fields. + + * test/006/test.py: new file - tests for new + utils.fix_maintainer(). + +2004-04-01 James Troup + + * templates/lisa.prod (To): use __MAINTAINER_TO__ not __MAINTAINER__. + + * jennifer (get_changelog_versions): create a symlink mirror of + the source files in the temporary directory. + (check_source): if check_dsc_against_db() couldn't find the + orig.tar.gz bail out. + + * katie.py (Katie.check_dsc_against_db): if the orig.tar.gz is not + part of the upload store the path to it in pkg.orig_tar_gz and if + it can't be found set pkg.orig_tar_gz to -1. + + Explicitly return the second value as None in the (usual) case + where we don't have to reprocess. Remove obsolete diagnostic + logs. + + * lisa (prod_maintainer): don't return anything, no one cares. (pychecker) + + * utils.py (temp_filename): new helper function that wraps around + tempfile.mktemp(). + + * katie.py (Katie.do_reject): use it and don't import tempfile. + * lisa (prod_maintainer): likewise. + (edit_note): likewise. + (edit_new): likewise. + * lauren (reject): likewise. + * melanie (main): likewise. + * neve (do_sources): likewise. + * rene (main): likewise. + * tea (validate_sources): likewise. + +2004-03-31 James Troup + + * tea (validate_sources): remove unused 's' temporary variable. + +2004-03-15 James Troup + + * jennifer (check_dsc): check changes["architecture"] for + source before we do anything else. + +2004-03-21 Daniel Silverstone + + * billie: Added + * katie.conf (Billie): Added sample Billie stanza to katie.conf + +2004-03-12 James Troup + + * docs/README.config (Dir::Queue::BTSVersionTrack): document. + + * katie.conf (Dir::Queue::BTSVersionTrack): define. + + * katie.py (Katie.accept): add support for DebBugs Version + Tracking by writing out .versions (generated in jennifer's + get_changelog_versions()) and .debinfo (mapping of binary -> + source) files. + + * ashley (main): add dsc["bts changelog"]. + + * katie.py (Katie.dump_vars): store dsc["bts changelog"] too. + + * jennifer (check_diff): obsoleted by check_source(), removed. + (check_source): new function: create a temporary directory and + move into it and call get_changelog_versions(). + (get_changelog_versions): new function: extract the source package + and optionally parse debian/changelog to obtain the version + history for the BTS. + (process_it): call check_source() rather than check_diff(). + +2004-03-08 James Troup + + * lisa (edit_index): Fix logic swapo from 'use "if varfoo in + listbar" rather than "if listbar.count(varfoo)"' change on + 2004-02-24. + +2004-03-05 James Troup + + * alicia (main): don't warn about not closing bugs - we don't + manage overrides through the BTS. + +2004-02-27 Martin Michlmayr + + * docs/README.config: lots of updates and corrections. + * docs/README.first: likewise. + + * docs/README.config: drop unused Dir::Queue::Root. + * katie.conf-non-US: likewise. + * katie.conf: likewise. + * katie.conf-security: likewise. + +2004-02-27 James Troup + + * rose (process_tree): use 'if var in [ list ]' rather than long + 'if var == foo or var == bar or var == baz'. Suggested by Martin + Michlmayr. + + * jennifer (check_files): reduce 'if var != None' to 'if var' as + suggested by Martin Michlmayr. + * catherine (poolize): likewise. + * charisma (main): likewise. + * halle (check_changes): likewise. + * heidi (main): likewise. + (process_file): likewise. + * kelly (install): likewise. + (stable_install): likewise. + * utils.py (fix_maintainer): likewise. + + * apt.conf: add support for debian-installer in testing-proposed-updates. + * katie.conf (Suite::Testing-Proposed-Updates::UdebComponents): + add - set to main. + + * mkmaintainers: add "-T15" option to wget of non-US packages file + so that we don't hang cron.daily if non-US is down. + + * templates/lisa.prod (Subject): Prefix with "Comments regarding". + + * templates/jennifer.bug-close: add Source and Source-Version + pseudo-headers that may be used for BTS Version Tracking someday + [ajt@]. + + * rene (do_nbs): special case linux-wlan-ng like we do for pcmcia. + (main): likewise. + + * cron.unchecked: it's /org/ftp.debian.org not ftp-master. + +2004-02-25 James Troup + + * katie.conf (SuiteMappings): don't map testing-security to + proposed-updates. + +2004-02-24 James Troup + + * katie.py (Katie.__init__): remove unused 'values' field. + + * utils.py (extract_component_from_section): use 's.find(c) != -1' + rather than 's.count(c) > 0'. + + * katie.py (Katie.source_exists): use "if varfoo in listbar" + rather than "if listbar.count(varfoo)". + * halle (check_joey): likewise. + * jeri (check_joey): likewise. + * lisa (edit_index): likewise. + * jenna (stable_dislocation_p): likewise. + + * jennifer (main): remove unused global 'nmu'. + +2004-02-03 Daniel Silverstone + + * pseudo-packages.maintainers (ftp.debian.org): Changed the maintainer + to be ftpmaster@ftp-master.debian.org to bring it into line with how + the dak tools close bugs. + +2004-02-02 Daniel Silverstone + + * katie.conf (Alicia): Added an Alicia section with email address + * templates/alicia.bug-close: Added + * docs/alicia.1.sgml: Added the docs for the -d/--done argument + * alicia (main): Added a -d/--done argument + +2004-02-02 Daniel Silverstone + + * templates/lisa.prod: Oops, missed a BITCH->PROD conversion + +2004-01-29 Daniel Silverstone + + * lisa (prod_maintainer): Added function to prod the maintainer without + accepting or rejecting the package + * templates/lisa.prod: Added this template for the prodding mail + + * .cvsignore: Added neve-files which turns up in new installations + +2004-01-30 Daniel Silverstone + + * alicia (usage): Fixed usage message to offer section and priority + as seperately optional arguments. + * alicia (main): Added a % (arg) interpolation needed when only + one of section or priority is provided and it cannot be found. + +2004-01-29 Daniel Silverstone + + * alicia: Added + * docs/alicia.1.sgml: Added + * docs/Makefile: Added alicia to the list of manpages to build + * docs/README.names: Noted what alicia does + * docs/README.first: Noted where alicia is useful + +2004-01-21 James Troup + + * madison (main): add -b/--binary-type. + (usage): likewise. + + * denise (main): generate debian-installer overrides for testing + too. + * apt.conf: add support for debian-installer in testing. + * katie.conf (Suite::Testing::UdebComponents): set to main. + + * katie.conf (Dinstall::SigningKeyIds): 2004 key. + * katie.conf-non-US (Dinstall::SigningKeyIds): likewise. + * katie.conf-security (Dinstall::SigningKeyIds): likewise. + + * utils.py (parse_changes): don't process data not inside the + signed data. Thanks to Andrew Suffield for + pointing this out. + * test/005/test.py (main): new test to test for above. + +2004-01-04 James Troup + + * jenna (write_filelists): correct typo, s/Components/Component/ + for Options. + +2004-01-04 Ryan Murray + + * cron.buildd: move update of overrides and Packages file... + * cron.unchecked: to here. + * katie.conf-non-US: (Dinstall::SingingKeyIds) update for 2003v2 key + * katie.conf-security: likewise + +2003-11-20 James Troup + + * jenna (main): don't use utils.try_with_debug(), it produces way + too much output. + + * halle (check_changes): don't error out if a .changes refers to a + non-existent package, just warn and skip the file. + + * docs/README.stable-point-release: mention halle and .changes + obsoleted by removal through melanie. Update for 3.0r2. + + * katie.conf (Suite::Stable::Version): bump to 3.0r2. + (Suite::Stable::Description): update for 3.0r2. + (Lauren::MoreInfoURL): likewise. + * katie.conf-non-US (Suite::Stable::Version): likewise. + (Suite::Stable::Description): likewise. + (Lauren::MoreInfoURL): likewise. + + * apt.conf.stable (Default): don't define MaxContentsChange. + * apt.conf.stable-non-US (Default): likewise. + + * lauren (reject): hack to work around partial replacement of an + upload, i.e. one or more binaries superseded by another source + package. + +2003-11-17 James Troup + + * pseudo-packages.maintainers: point installation-reports at + debian-boot@l.d.o rather than debian-testing@l.d.o at jello@d.o's + request. + + * utils.py (parse_changes): calculate the number of lines once + with len() rather than max(). + + * jennifer (check_dsc): handle the .orig.tar.gz disappearing from + files, since check_dsc_against_db() deletes the .orig.tar.gz + entry. + +2003-11-13 Ryan Murray + + * apt.conf: specify a src override file for debian-installer + +2003-11-10 James Troup + + * fernanda.py (strip_pgp_signature): new function - strips PGP + signature from a file and returns the modified contents of the + file in a string. + (display_changes): use it. + (read_dsc): likewise. + +2003-11-09 Ryan Murray + + * cron.buildd: export accepted_autobuild table for unstable, and use + it to generate the incoming Packages/Sources rather than having apt + walk the directory. + * apt.conf.buildd: use exported table from cron.buildd to generate + Packages/Sources + +2003-11-07 James Troup + + * kelly: import errno. + + * katie.py (Katie.build_summaries): sort override disparities. + + * kelly (install): set dsc_component based on the .dsc's component + not a random binaries. + +2003-10-29 James Troup + + * katie.py (Katie.build_summaries): don't assume changes["source"] + exists since it might not. + +2003-10-20 James Troup + + * pseudo-packages.maintainers: update security.d.o to use + team@s.d.o at joy@'s request. + +2003-10-17 James Troup + + * jennifer (check_dsc): use .startswith rather than .find() == 0. + +2003-10-17 Martin Michlmayr + + * tea (chk_bd_process_dir): use .endswith rather than slice. + +2003-10-14 James Troup + + * tea (check_build_depends): new function. + (chk_bd_process_dir): likewise. Validates build-depends in .dsc's + in the archive. + (main): update for new function. + (usage): likewise. + + * katie.py (Katie.do_reject): sanitize variable names, + s/reject_filename/reason_filename/, s/fd/reason_fd/. Move shared + os.close() to outside if clause. + + * jennifer (check_dsc): check build-depends and + build-depends-indep by running them past apt_pkg.ParseSrcDepends. + Fold the ARRAY check into the same code block and tidy up it's + rejection message. + (check_changes): ensure that the Files field is non-empty. + Suggested by Santiago Vila + (check_changes): normalize reject messages. + (check_dsc): instead of doing most of the checks inside a for loop + and an if, find the dsc_filename in a short loop over files first + and then do all the checks. Add check for more than one .dsc in a + .changes which we can't handle. Normalize reject messages. + +2003-10-13 James Troup + + * katie.conf (Dinstall::Reject::NoSourceOnly): set to true. + * katie.conf-non-US (Dinstall::Reject::NoSourceOnly): likewise. + + * jennifer (check_files): Set 'has_binaries' and 'has_source' + variables while iterating over 'files'. Don't regenerate it when + checking for source if source is mentioned. + + Reject source only uploads if the config variable + Dinstall::Reject::NoSourceOnly is set. + +2003-10-03 James Troup + + * rene (main): add nasty hardcoded reference to debian-installer + so we detect NBS .udebs. + +2003-09-29 James Troup + + * apt.conf (old-proposed-updates): remove. + * apt.conf-non-US (old-proposed-updates): likewise. + +2003-09-24 James Troup + + * tea (check_files_not_symlinks): new function, ensure files + mentioned in the database aren't symlinks. Includes code to + update any files that are like this to their real filenames + + location; commented out by though. + (usage): update for new function. + (main): likewise. + +2003-09-24 Anthony Towns + + * vars: external-overrides variable added + * cron.daily: Update testing/unstable Task: overrides from joeyh + managed external source. + +2003-09-22 James Troup + + * kelly (install): if we can't move the .changes into queue/done, + fail don't warn and carry on. The old behaviour pre-dates NI and + doesn't make much sense now since jennifer checks both + queue/accepted and queue/done for any .changes files she's + processing. + + * utils.py (move): don't throw exceptions on existing files or + can't overwrite, instead just fubar out. + + * jennifer (check_dsc): also check Build-Depends-Indep for + ARRAY-lossage. Noticed by Matt Zimmerman . + +2003-09-18 James Troup + + * katie.py (Katie.close_bugs): only log the bugs we've closed + once. + + * kelly (main): log as 'kelly', not 'katie'. + +2003-09-16 James Troup + + * katie.py (Katie.check_binary_against_db): likewise noramlize. + + * jennifer (check_changes): normalize reject message for "changes + file already exists" to be %s: . + (check_dsc): add a check for 'Build-Depends: ARRAY()' + produced by broken dpkg-source in 1.10.11. Tone down and + normalize rejection message for incompatible 'Format' version + numbers. + (check_diff): likewise tone down and normalize. + +2003-09-07 James Troup + + * utils.py (parse_changes): if dsc_whitespace_rules is false, + don't bomb out on bogus empty lines. + (build_file_list): check for changes["files"] earlier. use Dict + to create files[name] dictionary. + (send_mail): don't bother validating arguments. + (check_signature): minor improvements to some of the rejection + messages including listing the key id of the key that wasn't found + in the keyring. + (wrap): new function. + + * tea: add new check 'validate-indices' that ensures all files + mentioned in indices (Packages, Sources) files do in fact exist. + + * catherine (poolize): use a local re_isadeb which handles legacy + (i.e. no architecture) style .deb filenames. + + * rosamund: new script. + + * rhona (check_binaries): when checking for binary packages not in + a suite, don't bother selecting files that already have a + last_used date. + (check_sources): likewise. + + * rhona: change all SQL EXISTS sub-query clauses to use the + postgres suggested convention of "SELECT 1 FROM". + * andrea (main): likewise. + * tea (check_override): likewise. + * catherine (main): likewise. + + * katie.conf (Suite): remove OldStable and Old-Proposed-Updates + entries and in other suites MustBeNewerThan's. + (SuiteMappings): likewise + * katie.conf-non-US: likewise. + * katie.conf-security: likewise. + + * apt.conf-security: remove oldstable. + * apt.conf.stable: likewise. + * apt.conf.stable-non-US: likewise. + * cron.buildd-security: likewise. + * cron.daily-security: likewise. + * vars-security (suites): likewise. + * wanna-build/trigger.daily: likewise. + + * claire.py (clean_symlink): move... + * utils.py (clean_symlink): here. + + * claire.py (find_dislocated_stable): update accordingly. + +2003-08-16 Anthony Towns + + * katie.py (source_exists): expand the list of distributions + the source may exist in to include any suite that's mapped to + the destination suite (even transitively (a->b->c)). This should + unbreak binary uploads to *-proposed-updates. + +2003-08-09 Randall Donald + + * lisa (recheck): change changes["distribution"].keys() to + Katie.pkg.changes... + +2003-08-08 Randall Donald + + * katie.py: only tag bugs as fixed-in-experimental for + experimental uploads + +2003-07-26 Anthony Towns + + * katie.py (source_exists): add an extra parameter to limit the + distribution(s) the source must exist in. + * kelly, lisa, jennifer: update to use the new source_exists + +2003-07-15 Anthony Towns + + * ziyi: quick hack to support a FakeDI line in apt.conf to generate + checksums for debian-installer stuff even when it's just a symlink to + another suite + + * apt.conf: add the FakeDI line + +2003-06-09 James Troup + + * kelly (check): make sure the 'file' we're looking for in 'files' + hasn't been deleted by katie.check_dsc_against_db(). + +2003-05-07 James Troup + + * helena (time_pp): fix s/years/year/ typo. + +2003-04-29 James Troup + + * madison (usage): document -c/--component. + + * madison (usage): Fix s/seperated/separated/. + * melanie (usage): likewise. + * jenna (usage): likewise. + +2003-04-24 James Troup + + * cron.daily-non-US: if there's nothing for kelly to install, say + so. + + * jennifer (check_timestamps): print sys.exc_value as well as + sys.exc_type when capturing exceptions. Prefix 'timestamp check + failed' with 'deb contents' to make it clearer what timestamp(s) + are being checked. + +2003-04-15 James Troup + + * cron.daily-non-US: only run kelly if there are some .changes + files in accepted. + + * rene: add -m/--mode argument which can be either daily (default) + or full. In daily mode only 'nviu' and 'nbs' checks are run. + Various changes to make this possible including a poor attempt at + splitting main() up a little. De-hardcode suite numbers from SQL + queries and return quietly from do_nviu() if experimental doesn't + exist (i.e. non-US). Hardcode pcmcia-cs as dubious NBS since it + is. + + * debian/control (Depends): remove python-zlib as it's obsolete. + + * charisma (main): don't slice the \n off strings when we're + strip()-ing it anyway. + * heidi (set_suite): likewise. + (process_file): likewise. + * natalie (process_file): likewise. + +2003-04-08 James Troup + + * katie.py (Katie.check_dsc_against_db): improve the speed of two + slow queries by using one LIKE '%foo%' and then matching against + '%s' or '/%s$' in python. Also only join location when we need it + (i.e. the .orig.tar.gz query). On auric, this knocks ~3s of each + query, so 6s for each sourceful package. + + * cron.daily: invoke rene and send the report to ftpmaster. + * cron.daily-non-US: likewise. + +2003-03-14 James Troup + + * utils.py (send_mail): default filename to blank. + * amber (make_advisory): adapt. + * jennifer (acknowledge_new): likewise. + * katie.py (Katie.close_bugs): likewise. + (Katie.announce): likewise. + (Katie.accept): likewise. + (Katie.check_override): likewise. + (Katie.do_reject): likewise. + * kelly (do_reject): likewise. + (stable_install): likewise. + * lisa (do_bxa_notification): likewise. + * lauren (reject): likewise. + * melanie (main): likewise. + + * rene (add_nbs): check any NBS packages against unstable to see + if they haven't been removed already. + + * templates/katie.rejected: remove paragraph about rejected files + since they're o-rwx due to c-i-m and the uploader can't do + anything about them and shania will take care of them anyway. + + * madison (usage): update usage example to use comma seperation. + * melanie (usage): likewise. + + * utils.py (split_args): new function; splits command line + arguments either by space or comma (whichever is used). Also has + optional-but-default DWIM spurious space detection to avoid + 'command -a i386, m68k' problems. + (parse_args): use it. + * melanie (main): likewise. + + * melanie (main): force the admin to tell someone if we're not + doing a rene-led removal (or closing a bug, which counts as + telling someone). + +2003-03-05 James Troup + + * katie.conf (Section): add embedded, gnome, kde, libdevel, perl + and python sections. + * katie.conf-security (Section): likewise. + + * add_constraints.sql: add uid and uid_id_seq to grants. + + * lisa (determine_new): also warn about adding overrides to + oldstable. + + * madison (main): make the -S/--source-and-binary query obey + -s/--suite restrictions. + +2003-03-03 James Troup + + * madison (main): if the Archive_Maintenance_In_Progress lockfile + exists, warn the user that our output might seem strange. (People + get confused by multiple versions in a suite which happens + post-kelly but pre-jenna.) + +2003-02-21 James Troup + + * kelly (main): we don't need to worry about StableRejector. + + * melanie (main): sort versions with apt_pkg.VersionCompare() + prior to output. + + * lauren: new script to manually reject packages from + proposed-updates. Updated code from pre-NI kelly (nee katie). + +2003-02-20 James Troup + + * kelly (init): remove unused -m/--manual-reject argument. + + * katie.py (Katie.force_reject): renamed from force_move to make + it more explicit what this function does. + (Katie.do_reject): update to match. + + * utils.py (prefix_multi_line_string): add an optional argument + include_blank_lines which defaults to 0. If non-zero, blank lines + will be includes in the output. + + * katie.py (Katie.do_reject): don't add leading space to each line + of the reject message. Include blank lines when showing the + message to the user. + +2003-02-19 Martin Michlmayr + + * utils.py (fix_maintainer): replace pointless re.sub() with + simple string format. + +2003-02-11 James Troup + + * lisa (edit_overrides): only strip-to-one-char and upper-case + non-numeric answers. Fixes editing of items with indices >= 10; + noticed by Randall. + (edit_overrides): correct order of arguments to "not a valid + index" error message. + + * jenna (cleanup): call resolve_arch_all_vs_any() rather than + remove_duplicate_versions(); thanks to aj for the initial + diagnosis. + (remove_duplicate_versions): correct how we return + dominant_versions. + (resolve_arch_all_vs_any): arch_all_versions needs to be a list of + a tuple rather than just a tuple. + +2003-02-10 James Troup + + * emilie: new script - sync fingerprint and uid tables with a + debian.org LDAP DB. + + * init_pool.sql: new table 'uid'; contains user ids. Reference it + in 'fingerprint'. + + * db_access.py (get_or_set_uid_id): new function. + + * jennifer (main): update locking to a) not used FCNTL (deprecated + in python >= 2.2) and b) acknowledge upstream's broken + implementation of lockf (see Debian bug #74777), c) try to acquire + the lock non-blocking. + * kelly (main): likewise. + + * contrib/python_1.5.2-fcntl_lockf.diff: obsolete, removed. + + * madison (main): only append the package to new_packages if it's + not already in there; fixes -S/--source-and-binary for cases where + the source builds a binary package of the same name. + +2003-02-10 Anthony Towns + + * madison (main): use explicit JOIN syntax for + -S/--source-and-binary queries to reduce the query's runtime from + >10 seconds to negligible. + +2003-02-08 James Troup + + * rene (main): in the NVIU output, append items to lists, not + extend them; fixes amusing suggestion that "g n u m e r i c" (sic) + should be removed. + +2003-02-07 James Troup + + * apt.conf (tree "dists/unstable"): Add bzip2-ed Packages and + Sources [aj]. + + * pseudo-packages.maintainers (bugs.debian.org): s/Darren + O. Benham/Adam Heath/. + + * katie.conf (Suite::Stable::Version): bump to 3.0r1a. + (Suite::Stable::Description): update for 3.0r1a. + (Dinstall::SigningKeyIds): update for 2003 key [aj]. + + * utils.py (gpgv_get_status_output): rename from + get_status_output(). + + * neve (check_signature): use gpgv_get_status_output and Dict from + utils(). Add missing newline to error message about duplicate tokens. + + * saffron (per_arch_space_use): also print space used by source. + (output_format): correct string.join() invocation. + + * jennifer (check_signature): ignored duplicate EXPIRED tokens. + +2003-02-04 James Troup + + * cron.buildd: correct generation of Packages/Sources and grep out + non-US/non-free as well as non-free. + +2003-02-03 Ryan Murray + + * cron.buildd: generate quinn-diff output with full Packages/Sources + files to get out-of-date vs. uncompiled right. + * apt.conf.buildd: no longer generate uncompressed files, as they + are generated in cron.buildd instead + * add -i option to quinn-diff to ignore binary-all packages + * apt.conf.buildd: remove and readd udeb to extensions. If the udebs + aren't in the packages file, the arch that uploaded them will build + them anyways... + +2003-01-30 James Troup + + * rene (main): only print suggested melanie command when there's + some NBS to remove. + +2003-01-30 Ryan Murray + + * cron.buildd: fix incorrectly inverted lockfile check + +2003-01-29 Ryan Murray + + * cron.buildd: generate override.sid.all3.src + * apt.conf.buildd: use generated override.sid.all3.src + +2003-01-27 Martin Michlmayr + + * utils.py (get_status_output): moved from jennifer. + (Dict): likewise. + (check_signature): likewise. + + * jennifer (get_status_output): moved to utils.py. + (Dict): likewise. + (check_signature): likewise. + + * utils.py (check_signature): add an argument to specifiy which + function to call when an error was found. + (check_signature): document this function better. + + * jennifer (check_files): pass the reject function as an argument + to utils.check_signature. + (process_it): likewise. + +2003-01-20 James Troup + + * rene (main): lots of changes to improve the output and make it + more useful. + + * katie.py (Katie.check_override): make the override messages + clearer (hopefully). + +2002-12-26 James Troup + + * ziyi (usage): document the ability to pass suite(s) as + argument(s). + (main): read apt.conf after checking for -h/--help. + + * tea (main): take the check to run as an argument. + + * saffron.R: R script to graph daily install runs. + + * saffron: new script; various stats functions. + + * rhona (main): connect to the database after checking for -h/--help. + + * neve (do_da_do_da): if no -a/--action option is given, bail out. + + * melanie (main): sort versions with utils.arch_compare_sw(). + + * madison (usage): alphabetize order of options. + * melanie (usage): likewise. + + * kelly (usage): fix usage short description (we aren't dinstall). + + * julia (usage): fix usage description and alphabetize order of + options. + + * jeri (usage): fix usage short description. + + * jennifer (main): move --help and --version checks from here... + (init): to here so that they work with an empty katie.conf. + * kelly: likewise. + + * alyson (usage): new function. + (main): use it. + * andrea: likewise. + * ashley: likewise. + * cindy: likewise. + * denise: likewise. + * helena: likewise. + * neve: likewise. + * rene: likewise. + * rose: likewise. + * tea: likewise. + + * apt.conf.stable (tree "dists/stable"): add missing ExtraOverride + entry that caused tasks to be omitted from 3.0r1. + +2002-12-10 James Troup + + * jennifer (check_files): sanity check the Depends field to ensure + it's non-empty if present since apt chokes on an empty one. + Thanks to Ryan Murray for the idea. + +2002-12-08 James Troup + + * katie.conf-security (Helena::Directories): new; include accepted + in addition to byhand and new. + + * helena (process_changes_files): use utils.arch_compare_sw(). + Justify things based on the longest [package, version, + architecture]. Reduce '[note]' to '[N]' to save space, and remove + the commas in architecture and version lists for the same reason. + (main): make directories we process configurable through + Helena::Directories in the config file; if that doesn't exist + default to the old hardcoded values (byhand & new). + + * utils.py (arch_compare_sw): moved here from madison. + * madison (main): adjust to compensate. + +2002-12-06 James Troup + + * ziyi (main): fix "suite foo not in apt.conf" msg to use the + right filename. + +2002-12-05 James Troup + + * katie.conf-non-US (Julia::KnownPostgres): add 'udmsearch'. + +2002-11-28 Randall Donald + + * fernanda.py (read_control): fix typo of 'Architecture'. + +2002-11-26 James Troup + + * lisa (check_pkg): call less with '-R' so we see the colour from + Randall's fernanda changes. + + * neve (process_sources): if Directory points to a legacy location + but the .dsc isn't there; assume it's broken and look in the pool. + (update_section): new, borroed from alyson. + (do_da_do_da): use it. + (process_packages): add suite_it to the cache key used for + arch_all_cache since otherwise we only add a package to the first + suite it's in and ignore any subsequent ones. + + * katie.conf-non-US (Location): fixed to reflect reality (all + suites, except old-proposed-updates (which is legacy-mixed)) are + pool. + + * utils.py (try_with_debug): wrapper for print_exc(). + * jenna (main): use it. + * neve (main): likewise. + +2002-11-25 Randall Donald + + * fernanda.py (main): added -R to less command line for raw control + character support to print colours + (check_deb): Instead of running dpkg -I on deb file, call + output_deb_info, the new colourized control reporter. + (check_dsc): add call to colourized dsc info reader, read_dsc, instead + of printing out each .dsc line. + (output_deb_info): new function. Outputs each key/value pair from + read_control except in special cases where we highlight section, + maintainer, architecture, depends and recommends. + (create_depends_string): new function. Takes Depends tree and looks + up it's compontent via projectb db, colourizes and constructs a + depends string in original order. + (read_dsc): new function. reads and parses .dsc info via + utils.parse_changes. Build-Depends and Build-Depends-Indep are + colourized. + (read_control): new function. reads and parses control info via + apt_pkg. Depends and Recommends are split in to list structures, + Section and Architecture are colourized. Maintainer is colourized + if it has a localhost.localdomain address. + (split_depends): new function. Creates a list of lists of + dictionaries of depends (package,version relation). Top list is + colected from comma delimited items. Sub lists are | delimited. + (get_comma_list): new function. splits string input among commas + (get_or_list): new function. splits string input among | delimiters + (get_depends_parts): new function. Creates dictionary of package name + and version relation from dependancy string. + Colours for section and depends are per component. Unfound depends + are in bold. Lookups using version info is not supported yet. + +2002-11-22 James Troup + + * katie.conf-security (Julia::KnownPostgres): add 'www-data' and + 'udmsearch'. + + * amber (make_advisory): string.atol() is deprecated and hasn't + been ported to string methods. Use long() instead. + + * init_pool.sql: explicitly specify the encoding (SQL_ASCII) when + creating the database since we'll fail badly if it's created with + e.g. UNICODE encoding. + + * rose (main): AptCnf is a global. + + * neve (get_location_path): new function determines the location + from the the first (left-most) directory of a Filename/Directory. + (process_sources): don't need 'location' anymore. Use + utils.warn(). Use the Directory: field for each package to find + the .dsc. Use get_location_path() to determine the location for + each .dsc. + (process_packages): do't need 'location' anymore. Use + utils.warn(). Use get_location_path(). + (do_sources): don't need 'location', drop 'prefix' in favour of + being told the full path to the Sources file, like + process_packages(). + (do_da_do_da): main() renamed, so that main can call us in a + try/except. Adapt for the changes in do_sources() and + process_packages() above. Assume Sources and Packages file are in + /dists/. Treat pool locations like we do legacy ones. + + * katie.conf-security (Location): fixed to reflect reality (all + suites are pool, not legacy). + + * utils.py (print_exc): more useful (i.e. much more verbose) + traceback; a recipe from the Python cookbook. + * jenna (main): use it. + * neve (main): likewise. + +2002-11-19 James Troup + + * kelly (install): fix brain-damaged CopyChanges/CopyKatie + handling which was FUBAR for multi-suite uploads. Now we just + make a dictionary of destinations to copy to and iterate over + those. + + * fernanda.py (check_deb): run linda as well as lintian. + +2002-10-21 James Troup + + * melanie (main): change X-Melanie to X-Katie and prefix it with + 'melanie '. + + * lisa (main): prefix X-Katie with 'lisa '. + + * jennifer (clean_holding): fix typo in string method changes; + s/file.find(file/file.find(/. + + * cron.daily: invoke helena and send the report to ftpmaster. + * cron.daily-non-US: likewise. + +2002-10-16 James Troup + + * kelly (check): call reject() with a blank prefix when parsing + the return of check_dsc_against_db() since it does its own + prefix-ing. + + * rose: new script; only handles directory creation initally. + + * katie.conf (Dinstall::NewAckList): obsolete, removed. + * katie.conf-non-US (Dinstall::NewAckList): likewise. + +2002-10-06 James Troup + + * rene (main): remove bogus argument handling. + + * kelly: katie, renamed. + * cron.daily: adapt for katie being renamed to kelly. + * cron.daily-non-US: likewise. + * amber (main): likewise. + + * Changes for python 2.1. + + * kelly: time.strftime no longer requires a second argument of + "time.localtime(time.time())". + * logging.py: likewise. + * rhona: likewise. + * shania (init): likewise. + + * amber: use augmented assignment. + * catherine (poolize): likewise. + * claire.py (fix_component_section): likewise. + * halle (check_changes): likewise. + * helena: likewise. + * jenna: likewise. + * jennifer: likewise. + * jeri: likewise. + * katie.py: likewise. + * kelly: likewise. + * lisa: likewise. + * madison (main): likewise. + * melanie: likewise. + * natalie: likewise. + * neve: likewise. + * rhona: likewise. + * tea: likewise. + * utils.py: likewise. + * ziyi: likewise. + + * amber: use .endswith. + * fernanda.py: likewise. + * halle (main): likewise. + * jennifer: likewise. + * jeri: likewise. + * katie.py: likewise. + * kelly: likewise. + * lisa: likewise. + * neve: likewise. + * shania (main): likewise. + * utils.py: likewise. + + * alyson: use string methods. + * amber: likewise. + * andrea: likewise. + * ashley: likewise. + * catherine: likewise. + * charisma: likewise. + * claire.py: likewise. + * db_access.py: likewise. + * denise: likewise. + * halle: likewise. + * heidi: likewise. + * helena: likewise. + * jenna: likewise. + * jennifer: likewise. + * jeri: likewise. + * julia: likewise. + * katie.py: likewise. + * kelly: likewise. + * lisa: likewise. + * logging.py: likewise. + * madison: likewise. + * melanie: likewise. + * natalie: likewise. + * neve: likewise. + * rene: likewise. + * tea: likewise. + * utils.py: likewise. + * ziyi: likewise. + +2002-09-20 Martin Michlmayr + + * utils.py (parse_changes): use .startswith() rather than + string.find(). + +2002-08-27 Anthony Towns + + * katie.py (in_override_p): when searching for a source override, + and the dsc query misses, search for both udeb and deb overrides + as well. Should fix the UNACCEPT issues with udebs. + +2002-08-24 James Troup + + * melanie (main): remove gratuitous WHERE EXISTS sub-select from + source+binary package finding code which was causing severe + performance degradation with postgres 7.2. + +2002-08-14 James Troup + + * julia (main): use the pwd.getpwall() to get system user info + rather than trying to read a password file. Add a -n/--no-action + option. + + * cron.hourly: julia no longer takes any arguments. + * cron.hourly-non-US: likewise. + +2002-08-07 James Troup + + * katie (install): handle multi-suite uploads when CopyChanges + and/or CopyKatie are in use, ensuring we only copy stuff once. + +2002-08-01 Ryan Murray + + * wanna-build/trigger.daily: initial commit, with locking + * cron.buildd: add locking against daily run + +2002-07-30 James Troup + + * melanie (main): readd creation of suite_ids_list so melanie is + remotely useful again. + + * katie.conf: adopt for woody release; diable + StableDislocationSupport, add oldstable, adjust other suites and + mappings, fix up location. + * katie.conf-non-US: likewise. + * katie.conf-security: likewise. + + * apt.conf.stable: adapt for woody release; add oldstable, adjust + stable. + * apt.conf.stable-non-US: likewise. + + * apt.conf-security: adapt for woody release; adding oldstable, + oldstable, adjust stable and testing. + * cron.daily-security: likewise. + * cron.buildd-security: likewise. + + * apt.conf: adapt for woody release; rename woody-proposed-updates + to testing-proposed-updates and proposed-updates to + old-proposed-updates. + * apt.conf-non-US: likewise. + + * vars-non-US (copyoverrides): add sarge. + * vars (copyoverrides): likewise. + + * vars-security (suites): add oldstable. + +2002-07-22 Ryan Murray + + * apt.conf.security-buildd: use suite codenames instead of + distnames. + +2002-07-16 James Troup + + * denise (main): fix filenames for testing override files. + +2002-07-14 James Troup + + * jennifer (process_it): call check_md5sums later so we can check + files in the .dsc too + (check_md5sums): check files in the .dsc too. Check both md5sum + and size. + + * melanie (main): use parse_args() and join_with_commas_and() from + utils. If there's nothing to do, say so and exit, don't ask for + confirmation etc. + + * amber (join_with_commas_and): moved from here to ... + * utils.py (join_with_commas_and): here. + +2002-07-13 James Troup + + * madison (main): use parse_args() from utils. Support + -c/--component. + + * jenna (parse_args): moved from here to ... + * utils.py (parse_args): here. + + * katie.conf (Architectures): minor corrections to the description + for arm, mips and mipsel. + * katie.conf-non-US (Architectures): likewise. + * katie.conf-security (Architectures): likewise. + + * cron.daily-security: use natalie's new -a/--add functionality to + flesh out the security overrides. + +2002-07-12 James Troup + + * cron.buildd (ARCHS): add arm. + + * katie.conf: 2.2r7 was released. + * katie.conf-non-US: likewise. + + * utils.py (parse_changes): handle a multi-line field with no + starting line. + +2002-06-25 James Troup + + * templates/amber.advisory (To): add missing email address since + __WHOAMI__ is only a name. + + * katie.conf-security (Melane::LogFile): correct to go somewhere + katie has write access to. + (Location::/org/security.debian.org/ftp/dists/::Suites): add + Testing. + + * natalie: add support for -a/-add which adds packages only + (ignoring changes and deletions). + + * katie.py (Katie.announce): Dinstall::CloseBugs is a boolean so + use FindB, not get. + +2002-06-22 James Troup + + * jennifer (check_files): validate the package name and version + field. If 'Package', 'Version' or 'Architecture' are missing, + don't try any further checks. + (check_dsc): likewise. + + * utils.py (re_taint_free): add '~' as a valid character. + +2002-06-20 Anthony Towns + + * katie.conf-non-US: add OverrideSuite for w-p-u to allow uploads + +2002-06-09 James Troup + + * jennifer (check_files): reduce useless code. + + * cron.daily-security: run symlinks -dr on $ftpdir. + + * vars-security (ftpdir): add. + +2002-06-08 James Troup + + * neve (update_override_type): transaction is handled higher up in + main(). + (update_priority): likewise. + (process_sources): remove code that makes testing a duplicate of + stable. + (process_packages): likewise. + + * templates/amber.advisory: add missing mail headers. + + * cron.daily-security: also call apt-ftparchive clean for + apt.conf.buildd-security. + * cron.weekly: likewise. + + * amber (do_upload): write out a list of source packages (and + their version) uploaded for testing. + (make_advisory): add more Subst mappings for the mail headers. + (spawn): check for suspicious characters in the command and abort + if their found. + +2002-06-07 James Troup + + * ziyi (main): remove the 'nonus'/'security' hacks and use + Dinstall::SuiteSuffix (if it exists) instead. Always try to write + the lower level Release files, even if they don't exist. fubar + out if we can't open a lower level Release file for writing. + + * katie.conf-non-US (Dinstall): add SuiteSuffix, used to simplify + ziyi. + * katie.conf-security (Dinstall): likewise. + + * amber (do_upload): renamed from get_file_list(). Determine the + upload host from the original component. + (init): Add a -n/--no-action option. Fix how we get changes_files + (i.e. from the return value of apt_pkg.ParseCommandLine(), not + sys.argv). Add an Options global. + (make_advisory): support -n/--no-action. + (spawn): likewise. + (main): likewise. + (usage): document -n/--no-action. + + * cron.buildd-security: fix path to Packages-arch-specific in + quinn-diff invocation. + + * katie.conf-security (Dinstall::AcceptedAutoBuildSuites): change + to proper suite names (i.e. stable, testing) rather than codenames + (potato, woody). + (Dinstall::DefaultSuite): likewise. + (Suite): likewise. + (Location::/org/security.debian.org/ftp/dists/::Suites): likewise. + * vars-security (suites): likewise. + * apt.conf-security: likewise. + + * katie.conf-security (Component): add "updates/" prefix. + (Suite::*::Components): likewise. + (ComponentMappings): new; map all {ftp-master,non-US} components + -> updates/. + + * katie.conf-security (Natalie): removed; the options have + defaults and ComponentPosition is used by alyson which doesn't + work on security.d.o. + (Amber): replace UploadHost and UploadDir with ComponentMappings + which is a mapping of components -> URI. + (Suite::*::CodeName): strip bogus "/updates" suffix hack. + (SuiteMappings): use "silent-map" in preference to "map". + + * cron.unchecked-security: fix call to cron.buildd-security. + + * cron.daily-security: map local suite (stable) -> override suite + (potato) when fixing overrides. Correct component in natalie call + to take into account "updates/" prefix. Fix cut'n'waste in + override.$dist.all3 generation, the old files weren't being + removed, so they were endlessly growing. + + * neve (main): don't use .Find for the CodeName since we require + it. Location::*::Suites is a ValueList. + (check_signature): ignore duplicate SIGEXPIRED tokens. Don't bomb + out on expired keys, just warn. + (update_override_type): new function; lifted from alyson. + (update_priority): likewise. + (main): use update_{override_type,priority}(). + + * jennifer (check_distributions): remove redunant test for + SuiteMappings; ValueList("does-not-exist") returns [] which is + fine. Add support for a "silent-map" type which doesn't warn + about the mapping to the user. + (check_files): add support for ComponentMappings, similar to + SuiteMappings, but there's no type, just a source and a + destination and the original component is stored in "original + component". + * katie.py (Katie.dump_vars): add "original component" as an + optionsal files[file] dump variable. + + * claire.py (find_dislocated_stable): dehardcode 'potato' in SQL + query. Add support for section-less legacy locations like current + security.debian.org through YetAnotherConfigBoolean + 'LegacyStableHasNoSections'. + * katie.conf-security (Dinstall): LegacyStableHasNoSections is true. + + * utils.py (real_arch): moved here from ziyi. + * ziyi (real_arch): moved to utils.py. + * ziyi (main): likewise. + + * claire.py (find_dislocated_stable): use real_arch() with + filter() to strip out source and all. + * neve (main): likewise. + * rene (main): likewise. + * jeri (parse_packages): likewise. + +2002-06-06 James Troup + + * tea (check_missing_tar_gz_in_dsc): modifed patch from Martin + Michlmayr to be more verbose about what we're + doing. + +2002-05-23 Martin Michlmayr + + * jeri (check_joey): check if the line contains two elements + before accessing the second. Also, strip trailing spaces as well + as the newline. + * halle (check_joey): likewise. + +2002-06-05 James Troup + + * cron.unchecked-security: new file; like cron.unchecked but if + there's nothing to do exit so we don't call cron.buildd-security. + + * apt.conf.buildd-security: new file. + + * vars (archs): alphabetize. + * vars-non-US (archs): likewise. + + * vars-security: add unchecked. + + * madison (main): reduce rather bizarrely verbose and purposeless + code to print arches to a simple string.join. + + * katie.conf (Suites::Unstable): add UdebComponents, a new + valuelist of suites, used by jenna to flesh out the list of + _main-debian-installer-binary-.list files generated. + (Dinstall): add StableDislocationSupport, a new boolean used by + jenna to enable or disable stable dislocation support + (i.e. claire), as true. + + * katie.conf (Dinstall): add StableDislocationSupport, a new + boolean used by jenna to enable or disable stable dislocation + support (i.e. claire), as true. + * katie.conf-non-US: likewise. + * katie.conf-security: likewise. + + * cron.daily-security: generate .all3 overrides for the buildd + support. Freshen a local copy of Packages-arch-specific from + buildd.debian.org. + + * claire.py (find_dislocated_stable): disable the support for + files in legacy-mixed locations since none of the Debian archives + have any anymore. + + * helena: new script; produces a report on NEW and BYHAND + packages. + + * jenna: rewritten from scratch to fix speed problems. Run time + on auric goes down from 31.5 minutes to 3.5 minutes. Of that 3.5 + minutes, 105 seconds are the monster query and 70 odd seconds is + claire. + + * apt.conf.buildd (Default): remove MaxContentsChange as it's + irrelevant. + +2002-06-05 Ryan Murray + + * cron.buildd-security: new file. + +2002-06-05 Matt Kraai + + * denise (list): take a file argument and use it. + (main): don't abuse sys.stdout, just write to the file. + + * claire.py (usage): Fix misspelling. + (clean_symlink): Simplify. + (find_dislocated_stable): Avoid unnecessary work. + +2002-05-29 James Troup + + * cameron: removed; apt-ftparchive can simply walk the directory. + +2002-05-26 Anthony Towns + + * katie.conf{,-non-US}: Map testing to testing-proposed-updates + for the autobuilders. + +2002-05-24 Ryan Murray + + * cron.buildd: update override files before running apt-ftparchive + +2002-05-23 Martin Michlmayr + + * amber (main): remove extra space in prompt. + + * utils.py (validate_changes_file_arg): use original filename in + error messages. + + * jeri (check_joey): close file after use. + (parse_packages): likewise. + (main): setup debug option properly. + + * melanie (main): remove unused packages variable and simplify the + code to build up con_packages by using repr(). + +2002-05-23 James Troup + + * lisa (recheck): when we reject, also return 0 so the package is + skipped. + (sg_compare): fix note sorting. + (recheck): remove the .katie file after rejection. + + * katie.py (Katie.accept): accepted auto-build support take 3; + this time adding support for security. Security needs a) non-pool + files copied rather than symlinked since accepted is readable only + by katie/security and www-data needs to be able to see the files, + b) needs per-suite directories. SpecialAcceptedAutoBuild becomes + AcceptedAutoBuildSuites and is a ValueList containing the suites. + SecurityAcceptedAutoBuild is a new boolean which controls whether + or not normal or security style is used. The unstable_accepted + table was renamed to accepted_autobuild and a suite column added. + Also fix a bug noticed by Ryan where an existent orig.tar.gz + didn't have it's last_used/in_accepted flags correctly updated. + * katie (install): likewise. + * rhona (clean_accepted_autobuild): likewise. + +2002-05-22 James Troup + + * lisa (sort_changes): new function; sorts changes properly. + Finally. + (sg_compare): new function; helper for sort_changes(). Sorts by + have note and time of oldest upload. + (indiv_sg_compare): new function; helper for sort_changes(). + Sorts by source version, have source and filename. + (main): use sort_changes(). + (changes_compare): obsoleted; removed. + +2002-05-20 James Troup + + * rhona (clean_accepted_autobuild): don't die if a file we're + trying to remove doesn't exist. Makes rhona more friendly to + katie/katie.py crashes/bugs without any undue cost. + +2002-05-19 James Troup + + * lisa (main): if sorting a large number of changes give some + feedback. + (recheck): new function, run the same checks (modulo NEW, + obviously) as katie does, if they fail do the standard + reject/skip/quit dance. + (do_pkg): use it. + + * katie (install): don't try to unlink the symlink in the + AcceptedAutoBuild support if the destination is not a symlink (or + doesn't exist). Avoids unnecessary bombs on previous partial + accepts and will still bomb hard if the file exists and isn't a + symlink. + + * utils.py: blah, commands _is_ used when the mail stuff isn't + commented out like it is in my test environment. + + * lisa (changes_compare): "has note" overrides everything else. + Use .katie files rather than running parse_changes, faster and + allows "has note" to work. Correct version compare, it was + reversed. Ctime check should only kick in if the source packages + are not the same. + (print_new): print out and return any note. Rename 'ret_code' to + 'broken'. + (edit_new): renamed from spawn_editor. Don't leak file + descriptors. Clean up error message if editor fails. + (edit_note): new function, allows one to edit notes. + (do_new): add note support, editing and removing. + (init): kill -s/--sort; with notes we always want to use our + sorting method. + (usage): likewise. + + * katie.py (Katie.dump_vars): add "lisa note" as an optional + changes field. + + * utils.py (build_file_list): rename 'dsc' to 'is_a_dsc' and have + it default to 0. Adapt tests to assume it's boolean. + * fernanda.py (check_changes): adjust call appropriately. + * halle (check_changes): likewise. + * jennifer (check_changes): likewise. + * jeri (check_changes): likewise. + * shania (flush_orphans): likewise. + + * jennifer (check_dsc): pass is_a_dsc by name when calling + build_file_list() for clarity. + * shania (flush_orphans): likewise. + * tea (check_missing_tar_gz_in_dsc): likewise. + + * jennifer (check_dsc): pass dsc_whitespace_rules by name when + calling parse_changes() for clarity. + * tea (check_dscs): likewise. + + * utils.py (parse_changes): make dsc_whitespace_rules default to + not true. + * halle (check_changes): adjust call appropriately. + * jennifer (check_changes): likewise. + * jeri (check_changes): likewise. + * lisa (changes_compare): likewise. + * utils.py (changes_compare): likewise. + * melanie (main): likewise. + * shania (flush_orphans): likewise. + * fernanda.py (check_changes): likewise. + +2002-05-18 James Troup + + * katie.py (Katie.dump_vars): make the .katie file unreadable, + it's not useful and by and large a duplication of information + available in readable format in other files. + +2002-05-16 Ryan Murray + + * melanie: Dir::TemplatesDir -> Dir::Templates + +2002-05-15 Ryan Murray + + * cameron: correct the use of os.path.join + +2002-05-15 Anthony Towns + + * ziyi: Update to match the new format for Architectures/Components + in katie.conf. + +2002-05-14 James Troup + + * amber: new script; 'installer' wrapper script for the security + team. + + * katie.py (Katie.announce): remove unused 'dsc' local + variable. (pychecker) + + * ziyi: pre-define AptCnf and out globals to None. (pychecker) + + * neve: don't import sys, we don't use it. (pychecker) + (check_signature): fix return type mismatch. (pychecker) + + * utils.py: don't import commands, we don't use it. (pychecker) + + * katie (install): SpecialAcceptedAutoBuild is a boolean. + + * katie.py (Katie.dump_vars): don't store "oldfiles", it's + obsoleted by the change to "othercomponents" handling in jennifer + detailed below. + (Katie.cross_suite_version_check): new function; implements + cross-suite version checking rules specified in the conf file + while also enforcing the standard "must be newer than target + suite" rule. + (Katie.check_binary_against_db): renamed, since it's invoked once + per-binary, "binaries" was inaccurate. Use + cross_suite_version_check() and don't bother with the "oldfiles" + rubbish as jennifer works out "othercomponents" herself now. + (Katie.check_source_against_db): use cross_suite_version_check(). + + * katie (check): the version and file overwrite checks + (check_{binary,source,dsc}_against_db) are not per-suite. + + * jennifer (check_files): less duplication of + 'control.Find("Architecture", "")' by putting it in a local + variable. + (check_files): call check_binary_against_db higher up since it's + not a per-suite check. + (check_files): get "othercomponents" directly rather than having + check_binary_against_db do it for us. + + * heidi (main): 'if x:', not 'if x != []:'. + * katie.py (Katie.in_override_p): likewise. + (Katie.check_dsc_against_db): likewise. + * natalie (main): likewise. + * rene (main): likewise. + * ziyi (real_arch): likewise. + + * alyson (main): Suite::%s::Architectures, Suite::%s::Components + and OverrideType are now value lists, not lists. + * andrea (main): likewise. + * cindy (main): likewise. + * claire.py (find_dislocated_stable): likewise. + * denise (main): likewise. + * jenna (main): likewise. + * jennifer (check_distributions): likewise. + (check_files): likewise. + (check_urgency): likewise (Urgency::Valid). + * jeri (parse_packages): likewise. + * neve (main): likewise (and Location::%s::Suites). + * rene (main): likewise. + +2002-05-13 James Troup + + * katie.py (Katie.check_source_against_db): correct case of reject + message to be consistent with binary checks. + + * jennifer (get_status_output): don't leak 2 file descriptors per + invocation. + (check_signature): add missing '\n' to "duplicate status token" + error message. + +2002-05-09 James Troup + + * utils.py (validate_changes_file_arg): new function; validates an + argument which should be a .changes file. + * ashley (main): use it. + * lisa (main): likewise. + + * katie.py (Katie.check_dsc_against_db): since there can be more + than one .orig.tar.gz make sure we don't assume the .orig.tar.gz + entry still exists in files. + + * jennifer (check_dsc): handle the .orig.tar.gz disappearing from + files, since check_dsc_against_db() deletes the .orig.tar.gz + entry. + + * cameron: cleanups. + + * utils.py (changes_compare): change sort order so that source + name and source version trump 'have source'; this should fix + UNACCEPT problems in katie where -1 hppa+source & i386, -2 + i386&source & hppa lead to -1 i386 unaccept. Problem worked out + by Ryan. + + * lisa (main): allow the arguments to be .katie files too. + +2002-05-07 Ryan Murray + + * cron.buildd: add s390 to arch list again + +2002-05-05 Ryan Murray + + * cron.buildd: new script, update w-b database from unstable_accepted + table + * cameron: new script, take list in unstable_accepted and write out + a file list for apt-ftparchive + * apt.conf.buildd: new apt configuration for Packages/Sources for + unstable_accepted + * vars: add s390 to arch list. + +2002-05-03 James Troup + + * neve (main): don't hard code the calling user as that doesn't + work with modern postgres installs. Fix psql invocation for + init_pool.sql (database name required). Dont' hard code the + database name. + (process_sources): add support for fingerprint and install_date. + (process_packages): add support for fingerprint. + (do_sources): pass in the directory, fingerprint support needs it. + (get_status_output): borrowed from jennifer. + (reject): likewise. + (check_signature): likewise. + + * katie (install): only try to log urgencies if Urgency_Logger is + defined. + (main): only initialize Urgency_Logger is Dir::UrgencyLog is + defined; only close Urgency_Logger if it's defined. + + * catherine (poolize): adapt for Dir rationalization. + * claire.py (find_dislocated_stable): likewise. + * denise (main): likewise. + * halle (check_joey): likewise. + * jenna: likewise. + * jennifer: likewise. + * jeri: likewise. + * katie.py: likewise. + * katie: likewise. + * lisa (do_bxa_notification): likewise. + * logging.py (Logger.__init__): likewise + * rene (main): likewise. + * rhona (clean): likewise. + * shania (init): likewise. + * tea: likewise. + * ziyi: likewise. + + * lisa (add_overrides): Dinstall::BXANotify is a boolean, use + FindB, not FindI. + + * rhona (clean_accepted_autobuild): SpecialAcceptedAutoBuild is a + boolean, use FindB, not get. + + * katie.py (Katie.check_dsc_against_db): ignore duplicate + .orig.tar.gz's which are an exact (size/md5sum) match. + + * ashley (main): really allow *.katie files as arguments too; + noticed by aj. + + * sql-aptvc.cpp: postgres.h moved to a "server" subdirectory. + +2002-05-03 Anthony Towns + + * ziyi: support for security. + +2002-05-02 James Troup + + * jennifer (accept): call Katie.check_override() unconditional as + no-mail check moved into that function. + (do_byhand): likewise. + + * katie.py (Katie.check_override): don't do anything if we're a) + not sending mail or b) the override disparity checks have been + disbled via Dinstall::OverrideDisparityCheck. + + * jennifer (check_files): don't hard code Unstable as the suite + used to check for architecture validity; use + Dinstall::DefaultSuite instead, if it exists. + (accept): conditionalize + + * katie.py (Katie.update_subst): support global maintainer + override with Dinstall::OverrideMaintainer. + + * jennifer (check_distributions): new function, Distribution + validation and mapping. Uses new SuiteMappings variable from + config file to abstract suite mappings. + (check_changes): call it. + + * natalie: renamed; nothing imports or likely will for some time. + + * denise (main): remove unused natalie import and init(). + + * natalie.py (init): removed. + (main): initalize here instead and don't hardcode the database + name. + +2002-04-30 James Troup + + * katie.py (Katie.close_bugs): new function, split out from + announce(). + (Katie.announce): only call close_bugs() if Dinstall::CloseBugs is + true. + (Katie.close_bugs): new function, split out + (Katie.close_bugs): return immediately if there are no bugs to + close. + + * jennifer (acknowledge_new): adapt for new utils.TemplateSubst(). + * katie (do_reject): likewise. + (stable_install): likewise. + * katie.py (Katie.announce): likewise. + (Katie.accept): likewise. + (Katie.check_override): likewise. + (Katie.do_reject): likewise. + * lisa (do_bxa_notification): likewise. + * melanie (main): likewise. + + * utils.py (TemplateSubst): change second argument to be a + filename rather than a template since every caller opened a file + on the fly which was ugly and leaked file descriptor. + +2002-04-29 James Troup + + * katie.py (Katie.announce): (modified) patch from Raphael Hertzog + to send 'accepted' announce mails to the + PTS. [#128140] + +2002-04-24 James Troup + + * init_pool.sql (unstable_accepted): add two new fields to + unstable_accepted; in_accepted is a boolean indicating whether or + not the file is in accepted and last_used is a timestamp used by + rhona to determine when to remove symlinks for installed packages. + + * katie.py (Katie.accept): auto-build support take 2. Create + symlinks for all files into a seperate directory. Add files to + unstable_accepted as paths to the new directory; mark them as + being in accepted for cameron. Properly conditionalize it on a + configuration variable. + + * katie (install): likewise. Update symlinks to point into the + pool; mark the files for later deletion by rhona and mark them as + not being in accepted for cameron. + + * rhona (clean_accepted_autobuild): new function. + +2002-04-22 James Troup + + * jennifer (check_files): handle db_access.get_location_id() + returning -1 properly/better. + + * rhona (clean_fingerprints): new function. + +2002-04-21 James Troup + + * utils.py (touch_file): unused; remove. + (plural): likewise. + + * jennifer (check_files): close file descriptor used to get the + control file. + (check_md5sums): likewise. + (callback): likewise. + + * katie.py (Katie.do_reject): handle manual rejects much better; + call the editor first and get confirmation from the user before + proceeding. + + * jennifer (check_signature): prefix_multi_line_string() moved to + utils. + + * utils.py (prefix_multi_line_string): moved here from jennifer. + +2002-04-20 James Troup + + * lisa (main): handle non-existent files. + + * ashley (main): allow *.katie files as arguments too. + +2002-04-19 James Troup + + * katie.py (Katie.accept): add stuff to help auto-building from + accepted; if the .orig.tar.gz is not part of the upload (i.e. it's + in the pool), create a symlink to it in the accepted directory and + add the .dsc and .{u,}deb(s) to a new 'unstable_accepted' table. + + * katie (install): undo the "auto-building from accepted" stuff + (i.e. remove the .orig.tar.gz symlink and remove the files from + unstable_accepted table). + +2002-04-16 James Troup + + * jennifer (upload_too_new): fix typo which was causing all + timestamp comparisons to be against the .changes file. Also move + back to the original directory so we do the comparisons against + accurate timestamps. + + * tea (check_missing_tar_gz_in_dsc): new function. + + * jennifer (check_dsc): add a check to ensure there is a .tar.gz + file mentioned in the .dsc. + + * lisa (main): use X-Katie in the mail headers, not X-Lisa; that + way mails reach debian-{devel-,}changes@l.d.o. + +2002-04-02 Ryan Murray + + * cron.daily: run shania after rhona + * cron.daily-non-US: likewise. + +2002-04-01 James Troup + + * katie: re-add proposed-updates/stable install support. + + * katie.py (Katie.dump_vars): add changes["changes"] as an + optional field; should be mandatory later. + +2002-03-31 James Troup + + * katie (install): support a Suite::::CopyKatie similar to + CopyChanges. Done seperately because .katie files don't need to + be mirrored and will probably be copied to another directory as a + result. + + * halle (main): add missing debug to options. + +2002-03-29 James Troup + + * madison (main): add a -r/--regex option. + +2002-03-26 James Troup + + * lisa: don't trample on changes["distribution"]; make a copy of + it as changes["suite"] instead and use that. + +2002-03-16 Anthony Towns + + * templates/lisa.bxa_notification: Fix some grammatical errors. + Encourage contact via bxa@ftp-master email address. + +2002-03-15 James Troup + + * jennifer (check_timestamps): remove bogus raise in except. + +2002-03-15 Anthony Towns + + * cron.monthly: rotate mail/archive/bxamail as well as + mail/archive/mail. This is for a complete archive of + correspondence with the BXA. + +2002-03-14 Anthony Towns + + * crypto-in-main changes. + + * utils.py (move, copy): add an optional perms= parameter to let you + set the resulting permissions of the moved/copied file + * katie.py (force_move): rejected/morgued files should be unreadable + * jennifer (do_byhand, acknowledge_new): pending new and byhand files + should be unreadable. + +2002-03-07 Ryan Murray + + * katie (install): check for existance of "files id" key as well as + it being set to a valid value. + * katie (install): check for existense and valid value for location + id as well + +2002-03-05 Ryan Murray + + * katie.py (do_reject): reread the reason file after editing it. + +2002-02-25 James Troup + + * jennifer (check_changes): don't enforce sanity in .changes file + names since it doesn't seem to be possible; pcmica-cs and similar + freak show packages in particular cause real problems. + + * katie.py (Katie.check_dsc_against_db): initialize 'found' for + each dsc_file since the .orig.tar.gz checking code now uses it as + a boolean. Fixes bizarro rejections which bogusly claimed + .diff.gz md5sum/size was incorrect. + +2002-02-24 James Troup + + * katie (process_it): reset reject_message. + +2002-02-22 James Troup + + * db_access.py(set_files_id): disable use of + currval('files_id_seq') because it was taking 3 seconds on auric + which is insane (most calls take < 0.01) and simply call + get_files_id() for the return value instead. + + * katie.py (Katie.do_query): convenience function; unused by + default, useful for profiling. + * db_access.py (do_query): likewise. + + * katie (install): fix insert SQL call when binary has no source. + + * lisa (determine_new): auto-correct non-US/main to non-US. + (determine_new): add a warning when adding things to stable. + (edit_index): use our_raw_input(). + (edit_overrides): likewise. + (do_new): likewise. Use re.search() not re.match() since the + default answer may not be the first one. + (do_byhand): likewise. + (do_new): Default to 'S'kip and never 'A'dd. + + * jennifer (action): pass prompt to our_raw_input(). + * melanie (game_over): likewise. + * katie (action): likewise. + + * utils.py (our_raw_input): add an optional prompt argument to + make the function more usable as a drop in replacement for + raw_input(). + + * jennifer (check_files): correct reject() to not double prefix + when using katie.py based functions. + (check_dsc): likewise. + + * katie.py (Katie.reject): prepend a new line if appropriate + rathen than appending one to avoid double new lines when caller + adds one of his own. + + * lisa (determine_new): warn if the package is also in other + components. + +2002-02-20 James Troup + + * jennifer (check_files): if .changes file lists "source" in + Architecture field, there must be a .dsc. + +2002-02-15 James Troup + + * ashley (main): add some missing fields. + + * katie.py (Katie.check_dsc_against_db): fix to take into account + the fact that the .orig.tar.gz might be in byhand, accepted or + new. Also fix calling of reject(). + (Katie.check_binaries_against_db): fix calling of reject(). + (Katie.check_source_against_db): likewise. + (Katie.dump_vars): add missing variables used for bug closures. + + * lisa (changes_compare_by_time): sort by reverse time. + + * katie.py (Katie.accept): log. + (Katie.dump_vars): missing has_key test for optional changes fields. + + * jennifer (main): print "Accepted blah blah" to stdout, not stderr. + (process_it): traceback goes to stderr, not stdout. + (acknowledge_new): log. + (do_byhand): likewise. + + * katie.py (Katie.update_subst): fix typo (Cnf vs. self.Cnf). + + * add_constraints.sql: add grants for the new fingerprint table. + +2002-02-13 James Troup + + * katie (do_reject): basename the .changes filename before trying + to use it to construct the .reason filename. + (process_it): call Katie.update_subst() so do_reject() DTRT with + the mail template. + (do_reject): setup the mail template correctly. + +2002-02-12 James Troup + + * tea (process_dir): renamed 'arg' to 'unused' for clarity. + (check_files): don't abuse global dictionaries. + (Ent): use all variables. + (check_timestamps): don't abuse global dictionaries. + + * fernanda.py: renamed to .py so lisa can import it. + (check_dsc): remove unused local variables (pychecker). + (display_changes): split off from check_changes. + + * katie: rewritten; most of the functionality moves to jennifer; + what's left is the code to install packages once a day from the + 'accepted' directory. + + * jennifer: new program, processes packages in 'unchecked' + (i.e. most of the non-install functionality of old katie). + + * katie.py: common functions shared between the clique of + jennifer, lisa and katie. + + * lisa: new program; handles NEW and BYHAND packages. + + * jeri (usage): new function. + (main): use it. + (check_package): remove unused local variable (pychecker). + + * init_pool.sql: new table fingerprint. Add fingerprint colums to + binaries and source. Add install_date to source. + + * halle (usage): new function. + (main): use it. Remove unused options. + (check_changes): remove unused local variable (pychecker). + + * add_constraints.sql: add fingerprint references. + + * db_access.py (get_or_set_fingerprint_id): new function. + + * ashley (main): new program; dumps the contents of a .katie file + to stdout. + + * alyson (main): remove option handling since we don't actually + support any. + * cindy (main): likewise. + + * remove unnecessary imports and pre-define globals (pychecker). + +2002-02-11 Anthony Towns + + * added installation-report and upgrade-report pseudo-packages + +2002-01-28 Martin Michlmayr + + * katie (update_subst): use Dinstall::TrackingServer. + * melanie (main): likewise. + +2002-01-27 James Troup + + * shania (main): it's IntLevel not IntVal; thanks to tbm@ for + noticing, jgg@ for fix. + +2002-01-19 James Troup + + * utils.py (extract_component_from_section): handle non-US + non-main properly. + +2002-01-12 James Troup + + * madison: add support for -S/--source-and-binary which displays + information for the source package and all it's binary children. + +2002-01-13 Anthony Towns + + * katie.conf: Remove Catherine Limit and bump stable to 2.2r5 + * katie.conf: Add Dinstall::SigningKeyIds option, set to the 2001 + and 2002 key ids. + * katie.conf-non-US: Likewise. + * ziyi: Suppoer Dinstall::SigningKeyIds to sign a Release file with + multiple keys automatically. This is probably only useful for + transitioning from an expired (or revoked?) key. + +2002-01-08 Ryan Murray + + * debian/python-dep: new file that prints out python:Depends for + substvars + * debian/control: use python:Depends, build-depend on python + lower Depends: on postgresql to Suggests: + * debian/rules: determine python version, install to the correct + versioned dir + +2001-12-18 Anthony Towns + + * ziyi: unlink Release files before overwriting them (in case they've + been merged) + * ziyi: always include checksums/sizes for the uncompressed versions + of Sources and Packages, even if they're not present on disk + +2001-11-26 Ryan Murray + + * ziyi (main): add SigningPubKey config option + * katie.conf: use SigningPubKey config option + * katie.conf-non-US: likewise + +2001-11-24 James Troup + + * katie (acknowledge_new): log newness. + +2001-11-24 Anthony Towns + + * ziyi (real_arch): bail out if some moron forgot to reset + untouchable on stable. + (real_arch): source Release files. + +2001-11-19 James Troup + + * claire.py (main): don't use apt_pkg.ReadConfigFileISC and + utils.get_conf(). + * shania (main): likewise. + + * rhona (main): add default options. + + * db_access.py (get_archive_id): case independent. + + * katie (action): sort files so that ordering is consistent + between mails; noticed/requested by Joey. + +2001-11-17 Ryan Murray + + * utils.py: add get_conf function, change startup code to read all + config files to the Cnf that get_conf returns + use the component list from the katie conf rather than the hardcoded + list. + * all scripts: use new get_conf function + * shania: fix try/except around changes files + * jenna: only do debian-installer if it is a section in Cnf + +2001-11-16 Ryan Murray + + * shania (main): Initialize days to a string of a number. + (main): Initialize Cnf vars before reading in Cnf + +2001-11-14 Ryan Murray + + * shania (main): Initialize days to a number. + +2001-11-04 James Troup + + * docs/Makefile: use docbook-utils' docbook2man binary. + + * Change all "if foo == []" constructs into "if not foo". + + * katie (check_changes): when installing into stable from + proposed-updates, remove all non-stable target distributions. + (check_override): don't check for override disparities on stable + installs. + (stable_install): update install_bytes appropriately. + (reject): stable rejection support; i.e. don't remove files when + rejecting files in the pool, rather remove them from the + proposed-update suite instead, rhona will do the rest. + (manual_reject): support for a stable specific template. + (main): setup up stable rejector in subst. + +2001-11-04 Martin Michlmayr + + * debian/control (Build-Depends): docbook2man has been superseded + by docbook-utils. + + * neve (main): exit with a more useful error message. + (update_suites): Suite::::Version, Origin and Description + are not required, so don't fail if they don't exist. + + * db_access.py (get_archive_id): return -1 on error rather than + raise an exception. + (get_location_id): likewise. + + * madison (main): don't exit on the first not-found package, + rather exit with an appropriate return code after processing all + packages. + +2001-11-03 James Troup + + * claire.py (find_dislocated_stable): add per-architecture + symlinks for dislocated architecture: all debs. + +2001-10-19 Anthony Towns + + * apt.conf*, katie.conf*: add mips, mipsel, s390 to testing. + +2001-10-10 Anthony Towns + + * claire.py (fix_component_section): do _not_ assign to None under + any circumstances + +2001-10-07 Martin Michlmayr + + * melanie (main): don't duplicate architectures when removing from + more than one suite. + + * heidi (main, process_file, get_list): report suite name not ID. + + * naima (nmu_p): be case insensitive. + + * naima (action): more list handling clean ups. + + * melanie (main): clean up lists handling to use string.join and + IN's. + + * madison (main): clean up suite and architecture argument parsing + to use slices less and string.join more. + + * utils.py (parse_changes): Use string.find() instead of slices for + string comparisons thereby avoid hardcoding the length of strings. + * ziyi (main): likewise. + +2001-10-07 James Troup + + * Remove mode argument from utils.open_files() calls if it's the + default, i.e. 'r'. + +2001-09-27 James Troup + + * katie (init): new function; options clean up. + (usage): add missing options, remove obsolete ones. + (main): adapt for the two changes above. If the lock file or + new-ack log file don't exist, create them. Don't try to open the + new-ack log file except running in new-ack mode. + + * alyson (main): initialize all the tables that are based on the + conf file. + + * utils.py (touch_file): like touch(1). + (where_am_i): typo. + + * catherine (usage): new. + (main): use it. options cleanup. + * claire.py: likewise. + * fernanda: likewise. + * heidi: likewise. + * jenna: likewise. + * shania: likewise. + * ziyi: likewise. + + * andrea: options cleanup. + * charisma: likewise. + * julia: likewise. + * madison: likewise. + * melanie: likewise. + * natalie: likewise. + * rhona: likewise. + * tea: likewise. + +2001-09-26 James Troup + + * utils.py: default to sane config file locations + (/etc/katie/{apt,katie}.conf. They can be the actual config files + or they can point to the real ones through use of a new Config + section. Based on an old patch by Adam Heath. + (where_am_i): use the new default config stuff. + (which_conf_file): likewise. + (which_apt_conf_file): likewise. + + * charisma (main): output defaults to + `Package~Version\tMaintainer'; input can be of either form. When + parsing the new format do version comparisons, when parsing the + old format assume anything in the extra file wins. This fixes the + problem of newer non-US packages being overwhelmed by older + versions still in stable on main. + +2001-09-17 James Troup + + * natalie.py (list): use result_join(). + + * denise (main): result_join() moved to utils. + + * utils.py (result_join): move to utils; add an optional seperator + argument. + +2001-09-14 James Troup + + * heidi (set_suite): new function; does --set like natalie does, + i.e. turns it into a sequence of --add's and --remove's + internally. This is a major win (~20 minute run time > ~20 + seconds) in the common, everday (i.e. testing) case. + (get_id): common code used by set_suite() and process_file(). + (process_file): call set_suite() and get_id(). + (main): add logging support. + + * julia: new script; syncs PostgeSQL with (LDAP-generated) passwd + files. + + * utils.py (parse_changes): use slices or simple string comparison + in favour of regexes where possible. + + * sql-aptvc.cpp (versioncmp): rewritten to take into account the + fact that the string VARDATA() points to are not null terminated. + + * denise (result_join): new function; like string.join() but + handles None's. + (list): use it. + (main): likewise. + + * charisma (main): python-pygresql 7.1 returns None not "". + +2001-09-14 Ryan Murray + + * natalie.py (list): handle python-pygresql 7.1 returning None. + +2001-09-10 Martin Michlmayr + + * madison (main): return 1 if no package is found. + +2001-09-08 Martin Michlmayr + + * madison (main): better error handling for incorrect + -a/--architecture or -s/--suite arguments. + (usage): new. + (main): use it. + +2001-09-05 Ryan Murray + + * charisma, madison, katie: remove use of ROUser + * katie.conf,katie.conf-non-US: remove defintion of ROUser + +2001-08-26 James Troup + + * katie (nmu_p.is_an_nmu): use maintaineremail to check for group + maintained packages at cjwatson@'s request. + +2001-08-21 James Troup + + * madison (main): add -a/--architecture support. + + * jenna: use logging instead of being overly verbose on stdout. + +2001-08-11 Ryan Murray + + * melanie: add functional help option + +2001-08-07 Anthony Towns + + * apt.conf, katie.conf: Add ia64 and hppa to testing. + +2001-07-28 James Troup + + * katie (check_dsc): ensure source version is >> than existing + source in target suite. + +2001-07-25 James Troup + + * natalie.py: add logging support. + + * utils.py (open_file): make the second argument optional and + default to read-only. + + * rene (main): work around broken source packages that duplicate + arch: all packages with arch: !all packages (no longer allowed + into the archive by katie). + +2001-07-13 James Troup + + * katie (action): don't assume distribution is a dictionary. + (update_subst): don't assume architecture is a dictionary and that + maintainer822 is defined. + (check_changes): recognise nk_format exceptions. + (check_changes): reject on 'testing' only uploads. + (check_files): when checking to ensure all packages are newer + versions check against arch-all packages too. + (check_dsc): enforce the existent of a sane set of mandatory + fields. Ensure the version number in the .dsc (modulo epoch) + matches the version number in the .changes file. + + * utils.py (changes_compare): ignore all exceptions when parsing + the changes files. + (build_file_list): don't UNDEF on a changes file with no format + field. + +2001-07-07 James Troup + + * katie (nmu_p.is_an_nmu): check 'changedby822' for emptiness + rather than 'changedbyname' to avoid false negatives on uploads + with an email-address-only Changed-By field. + (check_dsc): don't overwrite reject_message; append to it. + (check_signature): likewise. + (check_changes): likewise. + (announce): condition logging on 'action'. + + * logging.py: new logging module. + + * katie: Cleaned up code by putting Cnf["Dinstall::Options"] + sub-tree into a separate (global) variable. + (check_dsc): ensure format is 1.0 to retain backwards + compatability with dpkg-source in potato. + (main): only try to obtain the lock when not running in no-action + mode. + Use the new logging module. + + * christina: initial version; only partially usable. + +2001-06-28 Anthony Towns + + * apt.conf: Add ExtraOverrides to auric. + +2001-06-25 James Troup + + * katie (nmu_p.is_an_nmu): the wonderful dpkg developers decided + they preferred the name 'Uploaders'. + +2001-06-23 James Troup + + * katie (check_files): fix typo in uncommon rejection message, + s/sourceversion/source version/. + + * denise (main): we can't use print because stdout has been + redirected. + + * katie (source_exists): new function; moved out of check_files() + and added support for binary-only NMUs of earlier sourceful NMUs. + + * rhona (clean): find_next_free has moved. + + * utils.py (find_next_free): new function; moved here from rhona. + Change too_many to be an argument with a default value, rather + than a hardcoded variable. + + * shania: rewritten to work better; REJECTion reminder mail + handling got lost though. + +2001-06-22 James Troup + + * rhona (main): remove unused override code. + + * fernanda (main): remove extraneous \n's from utils.warn calls. + * natalie.py (list): likewise. + + * catherine, cindy, denise, heidi, jenna, katie, neve, rhona, tea: + use utils.{warn,fubar} where appropriate. + +2001-06-21 James Troup + + * katie (nmu_p): new class that encapsulates the "is a nmu?" + functionality. + (nmu_p.is_an_nmu): add support for multiple maintainers specified + by the "Maintainers" field in the .dsc file and maintainer groups. + (nmu_p.__init__): read in the list of group maintainer names. + (announce): use nmu_p. + +2001-06-20 James Troup + + * rene (main): hardcode the suite experimental is compared to by + name rather than number. + + * katie (check_files): differentiate between doesn't-exist and + permission-denied in "can not read" rejections; requested by edd@. + (check_dsc): use os.path.exists rather than os.access to allow the + above check to kick in. + + * heidi (process_file): read all input before doing anything and + use transactions. + +2001-06-15 James Troup + + * fernanda: new script; replaces old 'check' shell script + nastiness. + +2001-06-14 James Troup + + * katie: actually import traceback module to avoid amusing + infinite loop. + +2001-06-10 James Troup + + * utils.py (extract_component_from_section): fix to handle just + 'non-free' and 'contrib'. Also fix to handle non-US in a + completely case insensitive manner as a component. + +2001-06-08 James Troup + + * madison (arch_compare): sort function that sorts 'source' first + then alphabetically. + (main): use it. + +2001-06-05 Jeff Licquia + + * catherine (poolize): explicitly make poolized_size a long so it + doesn't overflow when poolizing e.g. entire archives. + +2001-06-01 James Troup + + * utils.py (send_mail): throw exceptions rather than exiting. + + * katie (process_it): catch exceptions and ignore them. + +2001-06-01 Michael Beattie + + * added update-mailingliststxt and update-readmenonus to update + those files, respectively. modified cron.daily{,-non-US} to + use them. + +2001-05-31 Anthony Towns + + * rhona: make StayOfExecution work. + +2001-05-31 James Troup + + * rhona (find_next_free): fixes to not overwrite files but rename + them by appending . instead. + (clean): use find_next_free and use dated sub-directories in the + morgue. + + * utils.py (move): don't overwrite files unless forced to. + (copy): likewise. + +2001-05-24 James Troup + + * katie (check_files): determine the source version here instead + of during install(). + (check_files): check for existent source with bin-only NMU + support. + (main): sort the list of changes so that the source-must-exist + check Does The Right Thing(tm). + + * utils.py (changes_compare): new function; sorts a list of + changes files by 'have-source', source, version. + (cc_fix_changes): helper function. + (parse_changes): use compiled regexes. + (fix_maintainer): likewise. + + * rene (main): warn about packages in experimental that are + superseded by newer versions in unstable. + +2001-05-21 James Troup + + * rene (main): add support for checking for ANAIS (Architecture + Not Allowed In Source) packages. + +2001-05-17 James Troup + + * katie (check_changes): initalize `architecture' dictionary in + changes global so that if we can't parse the changes file for + whatever reason we don't undef later on. + + * utils.py (parse_changes): fix handling of multi-line fields + where the first line did have data. + +2001-05-05 Anthony Towns + + * ziyi: Add "NotAutomatic: yes" to experimental Release files. + (It should always have been there. Ooopsy.) + +2001-05-03 Anthony Towns + + * jenna: Cleanup packages that move from arch:any to arch:all or + vice-versa. + +2001-04-24 Anthony Towns + + * ziyi: add ``SHA1:'' info to Release files. Also hack them up to + cope with debian-installer and boot-floppies' md5sum.txt. + +2001-04-16 James Troup + + * katie (check_changes): add missing %s format string argument. + (stable_install): temporary work around for morgue location to + move installed changes files into. + (stable_install): helps if you actually read in the template. + (manual_reject): fix for editing of reject messages which was + using the wrong variable name. + + * jenna (generate_src_list): typo; s/package/source/; fixes undef crash. + +2001-04-13 James Troup + + * katie (manual_reject): Cc the installer. + (reject): don't. + (check_changes): remove unused maintainer-determination code. + (update_subst): add support for Changed-By when setting the + *MAINTAINER* variables. + + * rene (bar): new function to check for packages on architectures + when they shouldn't be. + + * natalie.py (main): use fubar() and warn() from utils. + + * utils.py (whoami): new mini-function(). + * melanie (main): use it. + * katie (manual_reject): likewise. + +2001-04-03 James Troup + + * katie (action): ignore exceptions from os.path.getmtime() so we + don't crash on non-existent changes files (e.g. when they are + moved between the start of the install run in cron.daily and the + time we get round to processing them). + + * madison (main): also list source and accept -s/--suite. + + * jenna (generate_src_list): missing \n in error message. + + * katie (update_subst): add sane defaults for when changes is + skeletal. + +2001-03-29 James Troup + + * melanie (main): use fubar() and warn() from utils. Remember who + the maintainer for the removed packages are and display that info + to the user. Readd support for melanie-specific Bcc-ing that got + lost in the TemplateSubst transition. + + * utils.py (fubar): new function. + (warn): like wise. + + * db_access.py (get_maintainer): as below. + + * charisma (get_maintainer): moved the bulk of this function to + db_access so that melanie can use it too. + + * claire.py (find_dislocated_stable): restrict the override join + to those entries where the suite is stable; this avoids problems + with packages which have moved to new sections (e.g. science) + between stable and unstable. + +2001-03-24 James Troup + + * catherine (poolize): new function; not really independent of + main() fully, yet. + (main): use it. + + * katie (stable_install): __SUITE__ needs to be space prefixed + because buildd's check for 'INSTALLED$'. + +2001-03-22 James Troup + + * utils.py (regex_safe): also need to escape '.'; noticed by ajt@. + + * jenna: rewritten; now does deletions on a per-suite level + instead of a per-suite-component-architecture-type level. This + allows mutli-component packages to be auto-cleaned (and as a + bonus, reduces the code size and duplication). + +2001-03-22 Anthony Towns + + * ziyi (main): fix ziyi to overwrite existing Release.gpg files + instead of just giving a gpg error. + +2001-03-21 James Troup + + * madison (main): use apt_pkg.VersionCompare to sort versions so + that output is correctly sorted for packages like debhlper. + Noticed by ajt@. + + * tea (check_source_in_one_dir): actually find problematic source + packages. + + * katie (check_dsc): remember the orig.tar.gz's location ID if + it's not in a legacy suite. + (check_diff): we don't use orig_tar_id. + (install): add code to handle sourceful diff-only upload of + packages which change components by copying the .orig.tar.gz into + the new component, if it doesn't already exist there. + (process_it): reset orig_tar_location (as above). + + * melanie (main): use template substiution for the bug closing + emails. + (main): don't hardcode bugs.debian.org or packages.debian.org + either; use configuration items. + + * katie: likewise. + + * natalie.py (init): use None rather than 'localhost' for the + hostname given to pg.connect. + + * utils.py (TemplateSubst): new function; lifted from + userdir-ldap. + +2001-03-21 Ryan Murray + + * katie (announce): fix the case of non-existent + Suite::$SUITE::Announce. + +2001-03-20 Ryan Murray + + * debian/rules (binary-indep): install melanie into /usr/bin/ not + /usr/. + + * alyson (main): use config variable for database name. + * andrea (main): likewise. + * catherine (main): likewise. + * charisma (main): likewise. + * cindy (main): likewise. + * claire.py (main): likewise. + * denise (main): likewise. + * heidi (main): likewise. + * jenna (main): likewise. + * katie (main): likewise. + * madison (main): likewise. + * melanie (main): likewise. + * neve (main): likewise. + * rhona (main): likewise. + * tea (main): likewise. + +2001-03-15 James Troup + + * rhona (check_sources): fixed evil off by one (letter) error + which was causing only .dsc files to be deleted when cleaning + source packages. + + * charisma (get_maintainer_from_source): remove really stupid and + gratuitous IN sub-query and replace with normal inner join. + (main): connect as read-only user nobody. + + * rhona (clean_maintainers): rewritten to use SELECT and sub-query + with EXISTS. + (check_files): likewise; still disabled by default though. + (clean_binaries): add ' seconds' to the mysterious number in the + output. + (clean): likewise. + + * tea (check_files): add missing global declaration on db_files. + +2001-03-14 James Troup + + * rhona: rewritten large chunks. Removed a lot of the silly + selecting into dictionaries and replaced it with 'where exists' + based sub queries. Added support for StayOfExecution. Fix the + problem with deleting dsc_files too early and disable cleaning of + unattached files. + +2001-03-14 Anthony Towns + + * katie (announce): also check Changed-By when trying to detect + NMUs. + +2001-03-06 Anthony Towns + + * ziyi (main): Generate Release.gpg files as well, using the key from + Dinstall::SigningKey in katie.conf, if present. That key has to be + passwordless, and hence kept fairly secretly. + +2001-03-02 James Troup + + * utils.py (str_isnum): new function; checks to see if the string + is a number. + + * shania (main): fix _hideous_ bug which was causing all files > 2 + weeks old to be deleted from incoming, even if they were part of a + valid upload. + +2001-02-27 James Troup + + * melanie (main): accept new argument -C/--carbon-copy which + allows arbitarty carbon-copying of the bug closure messages. + Cleaned up code by putting Cnf["Melanie::Options"] sub-tree into a + separate variable. + +2001-02-27 Anthony Towns + + * ziyi: new program; generates Release files. + +2001-02-25 James Troup + + * katie (reject): add missing '\n' to error message. + (manual_reject): likewise. + (install): catch exceptions from moving the changes file into DONE + and ignore them. + + * tea (check_md5sums): new function. + +2001-02-25 Michael Beattie + + * melanie: use $EDITOR if available. + +2001-02-15 James Troup + + * utils.py (parse_changes): don't crash and burn on empty .changes + files. Symptoms noticed by mjb@. + +2001-02-15 Adam Heath + + * denise (main): use an absolute path for the output filename. + + * sql-aptvc.cpp: don't #include as it causes + compile errors with postgresql-dev >= 7.0. + +2001-02-12 James Troup + + * rene: initial version. + + * andrea: initial version. + + * catherine (main): remove obsolete assignment of arguments. + +2001-02-09 James Troup + + * catherine: first working version. + +2001-02-06 James Troup + + * katie (check_files): validate the priority field; i.e. ensure it + doesn't contain a '/' (to catch people prepending the priority + with the component rather than the section). + (check_override): don't warn about source packages; the only check + is on section and we have no GUI tools that would use the Section + field for a Sources file. + (announce): use tags rather than severities for NMUs. Requested + by Josip Rodin . [#78035] + +2001-02-04 James Troup + + * tea (check_override): new function; ensures packages in suites + are also in the override file. Thanks to bod@ for noticing that + such packages existed. + + * katie: move file type compiled regular expressions to utils as + catherine uses them too. + (check_changes): always default maintainer822 to the installer + address so that any bail out won't cause undefs later. + (check_files): update file type re's to match above. + (stable_install): likewise. + (reject): handle any except from moving the changes files. Fixes + crashes on unreadable changes files. + + * melanie (main): add an explanation of why things are not removed + from testing. + +2001-01-31 James Troup + + * melanie (main): ignore a) no message, b) removing from stable or + testing when invoked with -n/--no-action. + + * katie (check_override): lower section before checking to see if + we're whining about 'non-US' versus 'non-US/main'. + + * sql-aptvc.cpp: new file; wrapper around apt's version comparison + function so that we can use inside of PostgreSQL. + +2001-01-28 James Troup + + * katie: updated to pass new flag to parse_changes() and deal with + the exception raised on invalid .dsc's if appropriate. + * shania (main): likewise. + * melanie (main): likewise. + + * tea (check_dscs): new function to validate all .dsc files in + unstable. + + * utils.py (parse_changes): if passed an additional flag, validate + the .dsc file to ensure it's extractable by dpkg-source. + Requested by Ben Collins . + +2001-01-27 James Troup + + * madison (main): connect to the DB as nobody. + + * katie (check_files): remove support for -r/--no-version-check + since it makes no sense under katie (jenna will automatically + remove the (new) older version) and was evil in any event. + (check_changes): add missing new line to rejection message. + (check_dsc): likewise. + (process_it): reset reject_message here. + (main): not here. Also remove support for -r. + +2001-01-26 James Troup + + * katie (check_override): don't whine about 'non-US/main' versus + 'non-US'. + +2001-01-26 Michael Beattie + + * natalie.py (usage): new function. + (main): use it. + +2001-01-25 Antti-Juhani Kaijanaho + + * update-mirrorlists: Update README.non-US too (request from Joy). + +2001-01-25 James Troup + + * katie (reject): catch any exception from utils.move() and just + pass, we previously only caught can't-overwrite errors and not + can't-read ones. + + * jenna (generate_src_list): use ORDER BY in selects to avoid + unnecessary changes to Packages files. + (generate_bin_list): likewise. + + * utils.py (extract_component_from_section): separated out from + build_file_list() as it's now used by claire too. + + * claire.py (find_dislocated_stable): rewrite the query to extract + section information and handle component-less locations properly. + Thanks to ajt@ for the improved queries. + (fix_component_section): new function to fix components and + sections. + +2001-01-23 James Troup + + * katie (check_files): set file type for (u?)debs first thing, so + that if we continue, other functions which rely on file type + existing don't bomb out. If apt_pkg or apt_inst raise an + exception when parsing the control file, don't try any other + checks, just drop out. + (check_changes): new test to ensure there is actually a target + distribution. + +2001-01-22 James Troup + + * katie (usage): s/dry-run/no-action/. Noticed by Peter Gervai + . + (check_changes): when mapping to unstable, remember to actually + add unstable to the suite list and not just remove the invalid + suite. + +2001-01-21 James Troup + + * katie (check_files): catch exceptions from debExtractControl() + and reject packages which raise any. + +2001-01-19 James Troup + + * katie (check_signature): basename() file name in rejection + message. + +2001-01-18 James Troup + + * katie (in_override_p): remember the section and priority from + the override file so we can check them against the package later. + (check_override): new function; checks section and priority (for + binaries) from the package against the override file and mails the + maintainer about any disparities. + (install): call check_override after announcing the upload. + +2001-01-16 James Troup + + * utils.py (build_file_list): catch ValueError's from splitting up + the files field and translate it into a parse error. + + * tea: add support for finding unreferenced files. + + * katie (in_override_p): add support for suite-aliasing so that + proposed-updates uploads work again. + (check_changes): catch parses errors from utils.build_file_list(). + (check_dsc): likewise. + (check_diff): yet more dpkg breakage so we require even newer a + version. + + * jenna (generate_bin_list): don't do nasty path munging that's no + longer needed. + + * denise (main): support for non-US; and rename testing's override + files so they're based on testing's codename. + +2001-01-16 Martin Michlmayr + + * melanie: add to the bug closing message explaining what happens + (or rather doesn't) with bugs against packages that have been + removed. + +2001-01-14 James Troup + + * charisma (main): fix silly off-by-one error; suite priority + checking was done using "less than" rather than "less than or + equal to" which was causing weird hesienbugs with wrong Maintainer + fields. + +2001-01-10 James Troup + + * katie (in_override_p): adapted to use SQL-based overrides. + read_override_file function disappears. + + * db_access.py: add new functions get_section_id, get_priority_id + and get_override_type_id. + (get_architecture_id): return -1 if the architecture is not found. + + * heidi: switch %d -> %d in all SQL queries. + (get_list): Use string.join where appropriate. + + * rhona (in_override_p): don't die if the override file doesn't + exist. + (main): warn if the override file doesn't exist. + + * alyson: new script; will eventually sync the config file and the + SQL database. + + * natalie.py: new script; manipulates overrides. + + * melanie: new script; removes packages from suites. + +2001-01-08 James Troup + + * katie (re_bad_diff): whee; dpkg 1.8.1.1 didn't actually fix + anything it just changed the symptom. Recognise the new breakage + and reject them too. + +2001-01-07 James Troup + + * katie (check_dsc): when adding the cwd copy of the .orig.tar.gz + to the .changes file, be sure to set up files[filename]["type"] + too. + +2001-01-06 James Troup + + * katie (check_diff): new function; detects bad diff files + produced by dpkg 1.8.1 and rejects thems. + (process_it): call check_diff(). + (check_dsc): gar. Add support for multiple versions of the + .orig.tar.gz file in the archive from -sa uploads. Check md5sum + and size against all versions and use one which matches if + possible and exclude any that don't from being poolized to avoid + file overwrites. Thanks to broonie@ for providing the example. + (install): skip any files marked as excluded as above. + +2001-01-05 James Troup + + * heidi (process_file): add missing argument to error message. + +2001-01-04 James Troup + + * heidi (main): fix handling of multiple files by reading all + files not just the first file n times (where n = the number of + files passed as arguments). + +2001-01-04 Anthony Towns + + * katie (check_dsc): proper fix for the code which locates the + .orig.tar.gz; check for '$' or '^$'. + +2000-12-20 James Troup + + * rhona: replace IN's with EXISTS's to make DELETE time for + binaries and source sane on auric. Add a -n/--no-action flag and + make it stop actions if used. Fixed a bug in binaries deletion + with no StayOfExecution (s/ in Debian Bug + #69702. + +2000-12-19 James Troup + + * katie (reject): ignore the "can't overwrite file" exception from + utils.move() and leave the files where they are. + (reject): doh! os.access() test was reversed so we only tried to + move files which didn't exist... replaced with os.path.exists() + test the right way round. + + * utils.py (move): raise an exception if we can't overwrite the + destination file. + (copy): likewise. + +2000-12-18 James Troup + + * rhona: first working version. + + * db_access.py (get_files_id): force both sizes to be integers. + + * katie (main): use size_type(). + + * utils.py (size_type): new function; pretty prints a file size. + +2000-12-17 James Troup + + * charisma (main): do version compares so that older packages do + not override newer ones and process source first as source wins + over binaries in terms of who we think of as the Maintainer. + +2000-12-15 James Troup + + * katie (install): use the files id for the .orig.tar.gz from + check_dsc(). + (install): limit select for legacy source to a) source in legacy + or legacy-mixed type locations and b) distinct on files.id. + (install): rather than the bizarre insert new, delete old method + for moving legacy source into the pool, use a simple update of + files. + (process_it): initalize some globals before each process. + +2000-12-14 James Troup + + * katie (in_override_p): index on binary_type too since .udeb + overrides are in a different file. + (read_override_file): likewise. + (check_files): correct filename passed to get_files_id(). + (check_dsc): we _have_ to preprend '/' to the filename to avoid + mismatches like jabber.orig.tar.gz versus libjabber.orig.tar.gz. + (check_dsc): remember the files id of the .orig.tar.gz, not the + location id. + +2000-12-13 James Troup + + * utils.py (poolify): force the component to lower case except for + non-US. + + * katie (in_override_p): handle .udeb-specific override files. + (check_files): pass the binary type to in_override_p(). + (check_dsc): remember the location id of the old .orig.tar.gz in + case it's not in the pool. + (install): use location id from dsc_files; which is where + check_dsc() puts it for old .orig.tar.gz files. + (install): install files after all DB work is complete. + (reject): basename() the changes filename. + (manual_reject): likewise. + + * shania: new progam; replaces incomingcleaner. + +2000-12-05 James Troup + + * katie (check_changes): if inside stable and can't find files + from the .changes; assume it's installed in the pool and chdir() + to there. + (check_files): we are not installing for stable installs, so don't + check for overwriting existing files. + (check_dsc): likewise. + (check_dsc): reorder .orig.tar.gz handling so that we search in + the pool first and only then fall back on any .orig.tar.gz in the + cwd; this avoids false positives on the overwrite check when + people needlessly reupoad the .orig.tar.gz in a non-sa upload. + (install): if this is a stable install, bail out to + stable_install() immediately. + (install): dsc_files handling was horribly broken. a) we need to + add files from the .dsc and not the .changes (duh), b) we need to + add the .dsc file itself to dsc_files (to be consistent with neve + if for no other reason). + (stable_install): new function; handles installs from inside + proposed-updates to stable. + (acknowledge_new): basename changes_filename before doing + anything. + (process_it): absolutize the changes filename to avoid the + requirement of being in the same directory as the .changes file. + (process_it): save and restore the cwd as stable installs can + potentially jump into the pool to find files. + + * jenna: dislocated_files support using claire. + + * heidi (process_file): select package field from binaries + explicitly. + + * db_access.py (get_files_id): fix cache key used. + + * utils.py (build_file_list): fix 'non-US/non-free' case in + section/component splitting. + (move): use os.path.isdir() rather than stat. + (copy): likewise. + + * claire.py: new file; stable in non-stable munger. + + * tea: new file; simply ensures all files in the DB exist. + +2000-12-01 James Troup + + * katie (check_dsc): use regex_safe(). + (check_changes): typo in changes{} key: + s/distributions/distribution/. + (install): use changes["source"], not files[file]["source"] as the + latter may not exist and the former is used elsewhere. Commit the + SQL transaction earlier. + + * utils.py (regex_safe): new function; escapes characters which + have meaning to SQL's regex comparison operator ('~'). + +2000-11-30 James Troup + + * katie (install): pool_location is based on source package name, + not binary package. + + * utils.py (move): if dest is a directory, append the filename + before chmod-ing. + (copy): ditto. + + * katie (check_files): don't allow overwriting of existing .debs. + (check_dsc): don't allow overwriting of existing source files. + +2000-11-27 James Troup + + * katie (check_signature): don't try to load rsaref; it's + obsolete. + (in_override_p): don't try to lookup override entries for packages + with an invalid suite name. + (announce): don't assume the suite name is valid; use Find() to + lookup the mailing list name for announcements. + + * utils.py (where_am_i): typo; hostname is in the first element, + not second. + + * db_access.py (get_suite_id): return -1 on an unknown suite. + +2000-11-26 James Troup + + * katie (install): fix CopyChanges handling; typo in in checking + Cnf for CopyChanges flag and was calling non-existent function + copy_file. + + * utils.py (copy): new function; clone of move without the + unlink(). + +2000-11-25 James Troup + + * utils.py (build_file_list): handle non-US prefixes properly + (i.e. 'non-US' -> 'non-US/main' and 'non-US/libs' -> 'non-US/main' + + 'libs' not 'non-US/libs'). + (send_mail): add '-odq' to sendmail invocation to avoid DNS lookup + delays. This is possibly(/probably) exim speicifc and (like other + sendmail options) needs to be in the config file. + +2000-11-24 James Troup + + * rhona (check_sources): we need file id from dsc_files; not id. + Handle non .dsc source files being re-referenced in dsc_files. + + * katie (in_override_p): strip out any 'non-US' prefix. + (check_files): use utils.where_am_i() rather than hardcoding. + (check_files): validate the component. + (install): use utils.where_am_i() rather than hardcoding. + (install): fix mail to go to actual recepient. + (reject): likewise. + (manual_reject): likewise. + (acknowledge_new): likewise. + (announce): likewise. + + * db_access.py (get_component_id): ignore case when searching for + the component and don't crash if the component can't be found, but + return -1. + (get_location_id): handle -1 from get_component_id(). + + * jenna (generate_src_list): don't bring 'suite' into our big + multi-table-joining select as we already know the 'suite_id'. + (generate_bin_list): likewise. + + * neve (main): don't quit if not on ftp-master. + (process_packages): remove unused variable 'suite_codename'. + + * utils.py (move): actually move the file. + (build_file_list): handle non-US prefixes in the section. + + * catherine (main): use which_conf_file(). + * charisma (main): likewise. + * heidi (main): likewise. + * jenna (main): likewise. + * katie (main): likewise. + * neve (main): likewise. + * rhona (main): likewise. + + * utils.py (where_am_i): new routine; determines the archive as + understood by other 'dak' programs. + (which_conf_file): new routine; determines the conf file to read. + +2000-11-17 James Troup + + * katie (install): fix where .changes files for proposed-updates + go. + +2000-11-04 James Troup + + * jenna (main): handle architecture properly if no + -a/--architecture argument is given, i.e. reset architecture with + the values for the suite for each suite. + + * Add apt_pkg.init() to the start of all scripts as it's now + required by python-apt. + +2000-10-29 James Troup + + * jenna (generate_bin_list): take an additional argument 'type' + and use it in the SELECT. + (main): if processing component 'main', process udebs and debs. + + * neve (process_packages): set up 'type' in 'binaries' (by + assuming .deb). + + * katie (re_isadeb): accept ".udeb" or ".deb" as a file ending. + (check_files): set up files[file]["dbtype"]. + (install): use files[file]["dbtype"] to set up the 'type' field in + the 'binaries' table. + + * init_pool.sql: add a 'type' field to the 'binaries' table to + distinguisgh between ".udeb" and ".deb" files. + + * utils.py (move): scrap basename() usage; use a "dir_p(dest) : + dest ? dirname(dest)" type check instead. + + * katie (check_dsc): handle the case of an .orig.tar.gz not found + in the pool without crashing. Also handle the case of being asked + to look for something other than an .orig.tar.gz in the pool. + +2000-10-26 James Troup + + * katie (install): fix filenames put into files table during + poolification of legacy source. + + * utils.py (move): work around a bug in os.path.basename() which + cunningly returns '' if there is a trailing slash on the path + passed to it. + + * katie (check_dsc): Remove more cruft. If we find the + .orig.tar.gz in the pool and it's in a legacy (or legacy-mixed) + location, make a note of that so we can fix things in install(). + (install): as above. Move any old source out of legacy locations + so that 'apt-get source' will work. + (process_it): reset the flag that indicates to install that the + source needs moved. + + * cron.daily: more. Nowhere near complete yet though. + + * katie (install): don't run os.makedirs, a) utils.move() does + this now, b) we weren't removing the user's umask and were + creating dirs with SNAFU permissions. + (check_dsc): rewrite the .orig.tar.gz handling to take into + account, err, package pools. i.e. look anywhere in the pool + rather than faffing around with two simple paths. + + * neve (process_sources): add the .dsc to dsc_files too. + +2000-10-25 James Troup + + * neve (process_sources): don't duplicate .orig.tar.gz's. + +2000-10-23 James Troup + + * utils.py (re_extract_src_version): moved here. + + * neve: move re_extract_src_version to utils. + (process_packages): reflect change. + + * katie (install): reflect change. + +2000-10-19 James Troup + + * jenna (generate_src_list): handle locations with null + components. + (generate_bin_list): likewise. +