From: Joerg Jaspert Date: Wed, 28 Oct 2009 13:58:19 +0000 (+0100) Subject: Merge branch 'merge' X-Git-Url: https://git.decadent.org.uk/gitweb/?a=commitdiff_plain;h=05c002afb12f077d753234de45753062fa54ce02;hp=c07d8e9ee4c188368fa64dc1f4db0f98d2c9f863;p=dak.git Merge branch 'merge' * merge: Port check_dsc_files to use get_format_from_string. Make build_file_list to use get_format_from_string and friends. Add get_format_from_string utility method Attach validate_format(...) to each SourceFormat that can reject formats. Split out parse_format to module-level and test it explicitly. Split parsing of "Format:" string and validation of it. Compare None with object identity, not equality "Format: 0.0" is now invalid Add regression tests for parse_format. Move "Format:" field parsing into srcformats.py --- diff --git a/config/debian/cron.dinstall b/config/debian/cron.dinstall index 5a8f1073..1c9fa5af 100755 --- a/config/debian/cron.dinstall +++ b/config/debian/cron.dinstall @@ -355,9 +355,12 @@ function merkel3() { ssh -2 -o BatchMode=yes -o SetupTimeOut=30 -o ConnectTimeout=30 -i ~/.ssh/push_merkel_ddaccess dak@merkel.debian.org sleep 1 } -function runparts() { - log "Using run-parts to run scripts in $base/scripts/distmnt" - run-parts --report $base/scripts/distmnt +function mirrorpush() { + log "Starting the mirrorpush" + date -u > /srv/ftp.debian.org/web/mirrorstart + echo "Using dak v1" >> /srv/ftp.debian.org/web/mirrorstart + echo "Running on host $(hostname -f)" >> /srv/ftp.debian.org/web/mirrorstart + sudo -H -u archvsync /home/archvsync/runmirrors > ~dak/runmirrors.log 2>&1 & } function i18n2() { @@ -638,7 +641,7 @@ GO=( ARGS="" ERR="false" ) -stage $GO +stage $GO & GO=( FUNC="punew" @@ -662,7 +665,7 @@ GO=( ARGS="" ERR="false" ) -stage $GO +stage $GO & lockfile "$LOCK_ACCEPTED" lockfile "$LOCK_NEW" @@ -717,7 +720,7 @@ GO=( ARGS="" ERR="false" ) -stage $GO +stage $GO & GO=( FUNC="overrides" @@ -797,7 +800,7 @@ GO=( ARGS="" ERR="" ) -stage $GO +stage $GO & rm -f "${NOTICE}" rm -f "${LOCK_DAILY}" @@ -810,7 +813,7 @@ GO=( ARGS="" ERR="" ) -stage $GO +stage $GO & GO=( FUNC="expire" @@ -818,7 +821,7 @@ GO=( ARGS="" ERR="" ) -stage $GO +stage $GO & GO=( FUNC="transitionsclean" @@ -826,7 +829,7 @@ GO=( ARGS="" ERR="" ) -stage $GO +stage $GO & GO=( FUNC="reports" @@ -834,7 +837,7 @@ GO=( ARGS="" ERR="" ) -stage $GO +stage $GO & GO=( FUNC="dm" @@ -842,7 +845,7 @@ GO=( ARGS="" ERR="" ) -stage $GO +stage $GO & GO=( FUNC="bts" @@ -850,7 +853,7 @@ GO=( ARGS="" ERR="false" ) -stage $GO +stage $GO & GO=( FUNC="merkel2" @@ -858,11 +861,11 @@ GO=( ARGS="" ERR="false" ) -stage $GO +stage $GO & GO=( - FUNC="runparts" - TIME="run-parts" + FUNC="mirrorpush" + TIME="mirrorpush" ARGS="" ERR="false" ) @@ -882,7 +885,7 @@ GO=( ARGS="" ERR="false" ) -stage $GO +stage $GO & GO=( FUNC="testingsourcelist" @@ -908,7 +911,7 @@ GO=( ARGS="" ERR="false" ) -stage $GO +stage $GO & GO=( FUNC="merkel3" @@ -916,7 +919,7 @@ GO=( ARGS="" ERR="false" ) -stage $GO +stage $GO & GO=( FUNC="compress" diff --git a/dak/override.py b/dak/override.py index 413c3447..e2539677 100755 --- a/dak/override.py +++ b/dak/override.py @@ -240,7 +240,7 @@ def main (): Subst["__BCC__"] = "Bcc: " + ", ".join(bcc) else: Subst["__BCC__"] = "X-Filler: 42" - Subst["__CC__"] = "Cc: " + package + "@" + Cnf["Dinstall::PackagesServer"] + "\nX-DAK: dak override\nX-Katie: alicia" + Subst["__CC__"] = "Cc: " + package + "@" + Cnf["Dinstall::PackagesServer"] + "\nX-DAK: dak override" Subst["__ADMIN_ADDRESS__"] = Cnf["Dinstall::MyAdminAddress"] Subst["__DISTRO__"] = Cnf["Dinstall::MyDistribution"] Subst["__WHOAMI__"] = utils.whoami() diff --git a/dak/process_accepted.py b/dak/process_accepted.py index b18346c8..b203f498 100755 --- a/dak/process_accepted.py +++ b/dak/process_accepted.py @@ -582,7 +582,7 @@ def stable_install(u, session, summary, short_summary, fromsuite_name="proposed- if not Options["No-Mail"] and u.pkg.changes["architecture"].has_key("source"): u.Subst["__SUITE__"] = " into %s" % (tosuite) u.Subst["__SUMMARY__"] = summary - u.Subst["__BCC__"] = "X-DAK: dak process-accepted\nX-Katie: $Revision: 1.18 $" + u.Subst["__BCC__"] = "X-DAK: dak process-accepted" if cnf.has_key("Dinstall::Bcc"): u.Subst["__BCC__"] += "\nBcc: %s" % (cnf["Dinstall::Bcc"]) diff --git a/dak/process_new.py b/dak/process_new.py index 1423d705..9a6c8e33 100755 --- a/dak/process_new.py +++ b/dak/process_new.py @@ -975,7 +975,7 @@ def do_pkg(changes_file, session): u.update_subst() cnf = Config() - bcc = "X-DAK: dak process-new\nX-Katie: lisa $Revision: 1.31 $" + bcc = "X-DAK: dak process-new" if cnf.has_key("Dinstall::Bcc"): u.Subst["__BCC__"] = bcc + "\nBcc: %s" % (cnf["Dinstall::Bcc"]) else: diff --git a/dak/process_unchecked.py b/dak/process_unchecked.py index 34020205..5688e83f 100755 --- a/dak/process_unchecked.py +++ b/dak/process_unchecked.py @@ -455,7 +455,7 @@ def process_it(changes_file): u.pkg.changes["changedby2047"] = cnf["Dinstall::MyEmailAddress"] # debian-{devel-,}-changes@lists.debian.org toggles writes access based on this header - bcc = "X-DAK: dak process-unchecked\nX-Katie: $Revision: 1.65 $" + bcc = "X-DAK: dak process-unchecked" if cnf.has_key("Dinstall::Bcc"): u.Subst["__BCC__"] = bcc + "\nBcc: %s" % (cnf["Dinstall::Bcc"]) else: diff --git a/dak/rm.py b/dak/rm.py index 51400194..be3e1676 100755 --- a/dak/rm.py +++ b/dak/rm.py @@ -550,7 +550,7 @@ def main (): Subst["__BCC__"] = "Bcc: " + ", ".join(bcc) else: Subst["__BCC__"] = "X-Filler: 42" - Subst["__CC__"] = "X-DAK: dak rm\nX-Katie: melanie" + Subst["__CC__"] = "X-DAK: dak rm" if carbon_copy: Subst["__CC__"] += "\nCc: " + ", ".join(carbon_copy) Subst["__SUITE_LIST__"] = suites_list diff --git a/daklib/queue.py b/daklib/queue.py index c30aeb05..1d2a3275 100755 --- a/daklib/queue.py +++ b/daklib/queue.py @@ -1208,7 +1208,10 @@ class Upload(object): return cnf = Config() - tagfile = cnf["Dinstall::LintianTags"] + tagfile = cnf.get("Dinstall::LintianTags") + if tagfile is None: + # We don't have a tagfile, so just don't do anything. + return # Parse the yaml file sourcefile = file(tagfile, 'r') sourcecontent = sourcefile.read() @@ -1915,7 +1918,7 @@ distribution.""" if not manual: self.Subst["__REJECTOR_ADDRESS__"] = cnf["Dinstall::MyEmailAddress"] self.Subst["__MANUAL_REJECT_MESSAGE__"] = "" - self.Subst["__CC__"] = "X-DAK-Rejection: automatic (moo)\nX-Katie-Rejection: automatic (moo)" + self.Subst["__CC__"] = "X-DAK-Rejection: automatic (moo)" os.write(reason_fd, reject_message) reject_mail_message = utils.TemplateSubst(self.Subst, rej_template) else: @@ -2333,7 +2336,7 @@ distribution.""" self.Subst["__REJECTOR_ADDRESS__"] = cnf["Dinstall::MyEmailAddress"] self.Subst["__REJECT_MESSAGE__"] = self.package_info() self.Subst["__CC__"] = "Cc: " + cnf["Dinstall::MyEmailAddress"] - self.Subst["__BCC__"] = "X-DAK: dak process-accepted\nX-Katie: $Revision: 1.18 $" + self.Subst["__BCC__"] = "X-DAK: dak process-accepted" if cnf.has_key("Dinstall::Bcc"): self.Subst["__BCC__"] += "\nBcc: %s" % (cnf["Dinstall::Bcc"]) diff --git a/docs/TODO b/docs/TODO index 5a2b885f..8edd4e4e 100644 --- a/docs/TODO +++ b/docs/TODO @@ -4,16 +4,7 @@ Various ------- -* Lintian based automated rejects - - Have a set of lintian tags each package *must* not have. If it does - -> reject. - - If a tag is overriden by the maintainer, do not reject, but put it - into NEW. If the override is ok note that in a table and dont act on - it for any future uploads of this package anymore. - - possibly have two classes of tags. one for "shouldnt happen by - accident" and one "shouldnt happen". the first gets ignored from us - if overwritten in the package, the second only us can overwrite. - - its a suite option in dak, not active for all at once. +* Implement autosigning, see ftpmaster_autosigning on ftp-master host in text/. * Throw away all DD uploaded .debs. (Depend on "Lintian based automated rejects") @@ -27,8 +18,6 @@ Various - its a suite option, not active for all at once. - should have all buildd machines under dsa control -* Implement autosigning, see ftpmaster_autosigning on ftp-master host in text/. - * Check TODO.old and move still-valid/useful entries over here. * need a testsuite _badly_ @@ -47,10 +36,6 @@ Various - needs updateX.py written and then the rest of the code changed to deal with it. -* Checkout SQL Alchemy and probably use that for our database layer. - -* reject on > or < in a version constraint - * use pythonX.Y-tarfile to check orig.tar.gz timestamps too. * the .dak stuff is fundamentally braindamaged for various reasons, it