From: Anthony Towns Date: Mon, 18 Jun 2007 17:53:27 +0000 (+0100) Subject: commit updates from live dak tree on ftp-master X-Git-Url: https://git.decadent.org.uk/gitweb/?a=commitdiff_plain;h=f9d94e9465179b9a7f83559c846d25fcd4df131f;p=dak.git commit updates from live dak tree on ftp-master --- diff --git a/ChangeLog b/ChangeLog index 40e0ed0f..8f11c89f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,37 @@ +2007-06-18 Anthony Towns + + * config/debian/apt.conf, config/debian/apt.conf.stable, + config/debian/dak.conf: update for 4.0r0 (etch), and 3.1r6 + (sarge), support for oldstable-proposed-updates, dropping m68k + from etch, creating etch-m68k suite, creating lenny. + + * config/debian/vars: update for lenny + + * config/debian/dak.conf: typo fix for Dinstall::GPGKeyring, + drop upload limitations, add release postgres user + + * dak/process_new.py: support for automatically accepting and rejecting + packages from proposed-updates holding queues via COMMENTS directory + * cron.daily: automatically process COMMENTS-based approvals + and rejections for proposed-updates holding queues + + * dak/process_unchecked.py: add support for oldproposedupdates + holding queue + + * dak/control_suite.py: allow control-suite to work with etch-m68k + + * dak/generate_releases.py: unlink old Release files before updating + them if nlinks > 1 (ie, if two files used to be the same, maybe they + shouldn't be when generate-releases is run) + + * dak/generate_releases.py: add a couple of commented lines to make + it easier to deal with point releases + + * dak/make_overrides.py: generate overrides for !contrib udebs + + * docs/README.stable-point-release: update docs for doing a + point release + 2007-03-05 Anthony Towns * config/debian/dak.conf: update for 3.1r5. diff --git a/config/debian/apt.conf b/config/debian/apt.conf index d27a545a..626b021f 100644 --- a/config/debian/apt.conf +++ b/config/debian/apt.conf @@ -20,18 +20,28 @@ TreeDefault Contents::Header "/srv/ftp.debian.org/dak/config/debian/Contents.top"; }; -tree "dists/proposed-updates" +tree "dists/oldstable-proposed-updates" { - FileList "/srv/ftp.debian.org/database/dists/proposed-updates_$(SECTION)_binary-$(ARCH).list"; - SourceFileList "/srv/ftp.debian.org/database/dists/proposed-updates_$(SECTION)_source.list"; + FileList "/srv/ftp.debian.org/database/dists/oldstable-proposed-updates_$(SECTION)_binary-$(ARCH).list"; + SourceFileList "/srv/ftp.debian.org/database/dists/oldstable-proposed-updates_$(SECTION)_source.list"; Sections "main contrib non-free"; Architectures "alpha arm hppa i386 ia64 m68k mips mipsel powerpc s390 sparc source"; BinOverride "override.sarge.$(SECTION)"; ExtraOverride "override.sarge.extra.$(SECTION)"; SrcOverride "override.sarge.$(SECTION).src"; Contents " "; - Packages::Compress ". gzip"; - Sources::Compress "gzip"; +}; + +tree "dists/proposed-updates" +{ + FileList "/srv/ftp.debian.org/database/dists/proposed-updates_$(SECTION)_binary-$(ARCH).list"; + SourceFileList "/srv/ftp.debian.org/database/dists/proposed-updates_$(SECTION)_source.list"; + Sections "main contrib non-free"; + Architectures "alpha amd64 arm hppa i386 ia64 mips mipsel powerpc s390 sparc source"; + BinOverride "override.etch.$(SECTION)"; + ExtraOverride "override.etch.extra.$(SECTION)"; + SrcOverride "override.etch.$(SECTION).src"; + Contents " "; }; tree "dists/testing" @@ -40,10 +50,10 @@ tree "dists/testing" FileList "/srv/ftp.debian.org/database/dists/testing_$(SECTION)_binary-$(ARCH).list"; SourceFileList "/srv/ftp.debian.org/database/dists/testing_$(SECTION)_source.list"; Sections "main contrib non-free"; - Architectures "alpha amd64 arm hppa i386 ia64 m68k mips mipsel powerpc s390 sparc source"; - BinOverride "override.etch.$(SECTION)"; - ExtraOverride "override.etch.extra.$(SECTION)"; - SrcOverride "override.etch.$(SECTION).src"; + Architectures "alpha amd64 arm hppa i386 ia64 mips mipsel powerpc s390 sparc source"; + BinOverride "override.lenny.$(SECTION)"; + ExtraOverride "override.lenny.extra.$(SECTION)"; + SrcOverride "override.lenny.$(SECTION).src"; }; tree "dists/testing-proposed-updates" @@ -51,10 +61,10 @@ tree "dists/testing-proposed-updates" FileList "/srv/ftp.debian.org/database/dists/testing-proposed-updates_$(SECTION)_binary-$(ARCH).list"; SourceFileList "/srv/ftp.debian.org/database/dists/testing-proposed-updates_$(SECTION)_source.list"; Sections "main contrib non-free"; - Architectures "alpha amd64 arm hppa i386 ia64 m68k mips mipsel powerpc s390 sparc source"; - BinOverride "override.etch.$(SECTION)"; - ExtraOverride "override.etch.extra.$(SECTION)"; - SrcOverride "override.etch.$(SECTION).src"; + Architectures "alpha amd64 arm hppa i386 ia64 mips mipsel powerpc s390 sparc source"; + BinOverride "override.lenny.$(SECTION)"; + ExtraOverride "override.lenny.extra.$(SECTION)"; + SrcOverride "override.lenny.$(SECTION).src"; Contents " "; }; @@ -71,9 +81,9 @@ tree "dists/unstable" // debian-installer -tree "dists/proposed-updates/main" +tree "dists/oldstable-proposed-updates/main" { - FileList "/srv/ftp.debian.org/database/dists/proposed-updates_main_$(SECTION)_binary-$(ARCH).list"; + FileList "/srv/ftp.debian.org/database/dists/oldstable-proposed-updates_main_$(SECTION)_binary-$(ARCH).list"; Sections "debian-installer"; Architectures "alpha arm hppa i386 ia64 m68k mips mipsel powerpc s390 sparc"; BinOverride "override.sarge.main.$(SECTION)"; @@ -81,19 +91,29 @@ tree "dists/proposed-updates/main" BinCacheDB "packages-debian-installer-$(ARCH).db"; Packages::Extensions ".udeb"; Contents " "; - Packages::Compress ". gzip"; - Sources::Compress "gzip"; }; -tree "dists/testing/main" +tree "dists/proposed-updates/main" { - FileList "/srv/ftp.debian.org/database/dists/testing_main_$(SECTION)_binary-$(ARCH).list"; + FileList "/srv/ftp.debian.org/database/dists/proposed-updates_main_$(SECTION)_binary-$(ARCH).list"; Sections "debian-installer"; - Architectures "alpha amd64 arm hppa i386 ia64 m68k mips mipsel powerpc s390 sparc"; + Architectures "alpha amd64 arm hppa i386 ia64 mips mipsel powerpc s390 sparc"; BinOverride "override.etch.main.$(SECTION)"; SrcOverride "override.etch.main.src"; BinCacheDB "packages-debian-installer-$(ARCH).db"; Packages::Extensions ".udeb"; + Contents " "; +}; + +tree "dists/testing/main" +{ + FileList "/srv/ftp.debian.org/database/dists/testing_main_$(SECTION)_binary-$(ARCH).list"; + Sections "debian-installer"; + Architectures "alpha amd64 arm hppa i386 ia64 mips mipsel powerpc s390 sparc"; + BinOverride "override.lenny.main.$(SECTION)"; + SrcOverride "override.lenny.main.src"; + BinCacheDB "packages-debian-installer-$(ARCH).db"; + Packages::Extensions ".udeb"; Contents "$(DIST)/../Contents-udeb"; }; @@ -101,9 +121,9 @@ tree "dists/testing/non-free" { FileList "/srv/ftp.debian.org/database/dists/testing_non-free_$(SECTION)_binary-$(ARCH).list"; Sections "debian-installer"; - Architectures "alpha amd64 arm hppa i386 ia64 m68k mips mipsel powerpc s390 sparc"; - BinOverride "override.etch.main.$(SECTION)"; - SrcOverride "override.etch.main.src"; + Architectures "alpha amd64 arm hppa i386 ia64 mips mipsel powerpc s390 sparc"; + BinOverride "override.lenny.main.$(SECTION)"; + SrcOverride "override.lenny.main.src"; BinCacheDB "packages-debian-installer-$(ARCH).db"; Packages::Extensions ".udeb"; Contents "$(DIST)/../Contents-udeb-nf"; @@ -113,9 +133,9 @@ tree "dists/testing-proposed-updates/main" { FileList "/srv/ftp.debian.org/database/dists/testing-proposed-updates_main_$(SECTION)_binary-$(ARCH).list"; Sections "debian-installer"; - Architectures "alpha amd64 arm hppa i386 ia64 m68k mips mipsel powerpc s390 sparc"; - BinOverride "override.etch.main.$(SECTION)"; - SrcOverride "override.etch.main.src"; + Architectures "alpha amd64 arm hppa i386 ia64 mips mipsel powerpc s390 sparc"; + BinOverride "override.lenny.main.$(SECTION)"; + SrcOverride "override.lenny.main.src"; BinCacheDB "packages-debian-installer-$(ARCH).db"; Packages::Extensions ".udeb"; Contents " "; @@ -181,3 +201,39 @@ tree "dists/experimental" SrcOverride "override.sid.$(SECTION).src"; Contents " "; }; + +tree "dists/etch-m68k" +{ + FakeDI "dists/unstable"; + FileList "/srv/ftp.debian.org/database/dists/etch-m68k_$(SECTION)_binary-$(ARCH).list"; + SourceFileList "/srv/ftp.debian.org/database/dists/etch-m68k_$(SECTION)_source.list"; + Sections "main contrib non-free"; + Architectures "m68k source"; + BinOverride "override.etch.$(SECTION)"; + ExtraOverride "override.etch.extra.$(SECTION)"; + SrcOverride "override.etch.$(SECTION).src"; +}; + +tree "dists/etch-m68k/main" +{ + FileList "/srv/ftp.debian.org/database/dists/etch-m68k_main_$(SECTION)_binary-$(ARCH).list"; + Sections "debian-installer"; + Architectures "m68k"; + BinOverride "override.etch.main.$(SECTION)"; + SrcOverride "override.etch.main.src"; + BinCacheDB "packages-debian-installer-$(ARCH).db"; + Packages::Extensions ".udeb"; + Contents "$(DIST)/../Contents-udeb"; +}; + +tree "dists/etch-m68k/non-free" +{ + FileList "/srv/ftp.debian.org/database/dists/etch-m68k_non-free_$(SECTION)_binary-$(ARCH).list"; + Sections "debian-installer"; + Architectures "m68k"; + BinOverride "override.etch.main.$(SECTION)"; + SrcOverride "override.etch.main.src"; + BinCacheDB "packages-debian-installer-$(ARCH).db"; + Packages::Extensions ".udeb"; + Contents "$(DIST)/../Contents-udeb-nf"; +}; diff --git a/config/debian/apt.conf.buildd b/config/debian/apt.conf.buildd index e064f77e..bacadd71 100644 --- a/config/debian/apt.conf.buildd +++ b/config/debian/apt.conf.buildd @@ -7,8 +7,8 @@ Dir Default { - Packages::Compress "gzip"; - Sources::Compress "gzip"; + Packages::Compress "bzip2 gzip"; + Sources::Compress "bzip2 gzip"; DeLinkLimit 0; FileMode 0664; } diff --git a/config/debian/apt.conf.stable b/config/debian/apt.conf.stable index a8519946..c75b5f04 100644 --- a/config/debian/apt.conf.stable +++ b/config/debian/apt.conf.stable @@ -7,8 +7,8 @@ Dir Default { - Packages::Compress ". gzip"; - Sources::Compress "gzip"; + Packages::Compress "gzip bzip2"; + Sources::Compress "gzip bzip2"; Contents::Compress "gzip"; DeLinkLimit 0; FileMode 0664; @@ -24,10 +24,10 @@ tree "dists/stable" FileList "/srv/ftp.debian.org/database/dists/stable_$(SECTION)_binary-$(ARCH).list"; SourceFileList "/srv/ftp.debian.org/database/dists/stable_$(SECTION)_source.list"; Sections "main contrib non-free"; - Architectures "alpha arm hppa i386 ia64 m68k mips mipsel powerpc s390 sparc source"; - BinOverride "override.sarge.$(SECTION)"; - ExtraOverride "override.sarge.extra.$(SECTION)"; - SrcOverride "override.sarge.$(SECTION).src"; + Architectures "alpha amd64 arm hppa i386 ia64 mips mipsel powerpc s390 sparc source"; + BinOverride "override.etch.$(SECTION)"; + ExtraOverride "override.etch.extra.$(SECTION)"; + SrcOverride "override.etch.$(SECTION).src"; }; // debian-installer @@ -36,10 +36,23 @@ tree "dists/stable/main" { FileList "/srv/ftp.debian.org/database/dists/stable_main_$(SECTION)_binary-$(ARCH).list"; Sections "debian-installer"; - Architectures "alpha arm hppa i386 ia64 m68k mips mipsel powerpc s390 sparc"; - BinOverride "override.sarge.main.$(SECTION)"; - SrcOverride "override.sarge.main.src"; + Architectures "alpha amd64 arm hppa i386 ia64 mips mipsel powerpc s390 sparc"; + BinOverride "override.etch.main.$(SECTION)"; + SrcOverride "override.etch.main.src"; BinCacheDB "packages-debian-installer-$(ARCH).db"; Packages::Extensions ".udeb"; - Contents " "; + Contents "$(DIST)/../Contents-udeb"; }; + +tree "dists/stable/non-free" +{ + FileList "/srv/ftp.debian.org/database/dists/stable_non-free_$(SECTION)_binary-$(ARCH).list"; + Sections "debian-installer"; + Architectures "alpha amd64 arm hppa i386 ia64 mips mipsel powerpc s390 sparc"; + BinOverride "override.etch.main.$(SECTION)"; + SrcOverride "override.etch.main.src"; + BinCacheDB "packages-debian-installer-$(ARCH).db"; + Packages::Extensions ".udeb"; + Contents "$(DIST)/../Contents-udeb-nf"; +}; + diff --git a/config/debian/cron.daily b/config/debian/cron.daily index 163a6704..f72c129d 100755 --- a/config/debian/cron.daily +++ b/config/debian/cron.daily @@ -50,6 +50,14 @@ $scriptsdir/update-mailingliststxt ################################################################################ +TS=$(($TS+1)); echo Archive maintenance timestamp $TS: $(date +%X) +cd $queuedir/p-u-new +date -u -R >> REPORT +dak process-new -a -C COMMENTS >> REPORT +echo >> REPORT + +################################################################################ + TS=$(($TS+1)); echo Archive maintenance timestamp $TS: $(date +%X) lockfile $LOCKAC lockac=1 diff --git a/config/debian/dak.conf b/config/debian/dak.conf index 50390f5b..3076a231 100644 --- a/config/debian/dak.conf +++ b/config/debian/dak.conf @@ -1,6 +1,6 @@ Dinstall { - GPGKeyrings { + GPGKeyring { "/srv/keyring.debian.org/keyrings/debian-keyring.gpg"; "/srv/keyring.debian.org/keyrings/debian-keyring.pgp"; }; @@ -39,8 +39,10 @@ Binary-Upload-Restrictions { Components { - main; - contrib; + //main; + //contrib; + // Yay for consensus through GRs voted on by people not actually involved in the affected architectures + none; }; unstable { @@ -90,7 +92,7 @@ Import-Users-From-Passwd { ValidGID "800"; // Comma separated list of users who are in Postgres but not the passwd file - KnownPostgres "postgres,dak,katie"; + KnownPostgres "postgres,dak,katie,release"; }; Clean-Queues @@ -134,7 +136,7 @@ Import-Archive Reject-Proposed-Updates { StableRejector "Andreas Barth and Martin Zobel-Helas"; - MoreInfoURL "http://release.debian.org/stable/3.1/3.1r5/"; + MoreInfoURL "http://release.debian.org/stable/3.1/3.1r6/"; }; Import-LDAP-Fingerprints @@ -212,16 +214,20 @@ Suite sparc; }; Announce "debian-changes@lists.debian.org"; - Version "3.0r6"; + Version "3.1r6"; Origin "Debian"; - Description "Debian 3.0r6 Released 31 May 2005"; - CodeName "woody"; - OverrideCodeName "woody"; - Priority "1"; + Description "Debian 3.1r6 Released 7 April 2007"; + CodeName "sarge"; + OverrideCodeName "sarge"; + Priority "2"; Untouchable "1"; + UdebComponents + { + main; + }; }; - Stable + Oldstable-Proposed-Updates { Components { @@ -246,17 +252,76 @@ Suite sparc; }; Announce "debian-changes@lists.debian.org"; - Version "3.1r5"; + CopyChanges "dists/proposed-updates/"; + CopyDotDak "/srv/ftp.debian.org/queue/oldstable-proposed-updates/"; + CommentsDir "/srv/ftp.debian.org/queue/o-p-u-new/COMMENTS/"; + Version "3.1-updates"; Origin "Debian"; - Description "Debian 3.1r5 Released 17 February 2007"; - CodeName "sarge"; + Description "Debian 3.1 Proposed Updates - Not Released"; + CodeName "sarge-proposed-updates"; OverrideCodeName "sarge"; - Priority "3"; + OverrideSuite "oldstable"; + Priority "2"; + VersionChecks + { + MustBeNewerThan + { + Oldstable; + }; + MustBeOlderThan + { + Stable; + Testing; + Unstable; + Experimental; + }; + Enhances + { + Oldstable; + }; + }; + UdebComponents + { + main; + }; + }; + + Stable + { + Components + { + main; + contrib; + non-free; + }; + Architectures + { + source; + all; + alpha; + amd64; + arm; + hppa; + i386; + ia64; + mips; + mipsel; + powerpc; + s390; + sparc; + }; + Announce "debian-changes@lists.debian.org"; + Version "4.0r0"; + Origin "Debian"; + Description "Debian 4.0r0 Released 8 April 2007"; + CodeName "etch"; + OverrideCodeName "etch"; + Priority "5"; Untouchable "1"; - ChangeLogBase "dists/stable/"; UdebComponents { main; + non-free; }; }; @@ -273,11 +338,11 @@ Suite source; all; alpha; + amd64; arm; hppa; i386; ia64; - m68k; mips; mipsel; powerpc; @@ -287,11 +352,12 @@ Suite Announce "debian-changes@lists.debian.org"; CopyChanges "dists/proposed-updates/"; CopyDotDak "/srv/ftp.debian.org/queue/proposed-updates/"; - Version "3.1-updates"; + CommentsDir "/srv/ftp.debian.org/queue/p-u-new/COMMENTS/"; + Version "4.0-updates"; Origin "Debian"; - Description "Debian 3.1 Proposed Updates - Not Released"; - CodeName "proposed-updates"; - OverrideCodeName "sarge"; + Description "Debian 4.0 Proposed Updates - Not Released"; + CodeName "etch-proposed-updates"; + OverrideCodeName "etch"; OverrideSuite "stable"; Priority "4"; VersionChecks @@ -335,7 +401,6 @@ Suite hppa; i386; ia64; - m68k; mips; mipsel; powerpc; @@ -345,8 +410,8 @@ Suite Announce "debian-testing-changes@lists.debian.org"; Origin "Debian"; Description "Debian Testing distribution - Not Released"; - CodeName "etch"; - OverrideCodeName "etch"; + CodeName "lenny"; + OverrideCodeName "lenny"; Priority "5"; UdebComponents { @@ -384,7 +449,7 @@ Suite Origin "Debian"; Description "Debian Testing distribution updates - Not Released"; CodeName "testing-proposed-updates"; - OverrideCodeName "etch"; + OverrideCodeName "lenny"; OverrideSuite "testing"; Priority "6"; VersionChecks @@ -412,6 +477,34 @@ Suite }; }; + Etch-m68k + { + Components + { + main; + contrib; + non-free; + }; + Architectures + { + source; + all; + m68k; + }; + Announce "debian-testing-changes@lists.debian.org"; + Origin "Debian"; + Description "Debian Etch for m68k - Not Released"; + CodeName "etch-m68k"; + OverrideCodeName "etch"; + Priority "5"; + UdebComponents + { + main; + non-free; + }; + }; + + Unstable { Components @@ -517,10 +610,14 @@ Suite SuiteMappings { + "propup-version oldstable-security stable testing testing-proposed-updates unstable"; "propup-version stable-security testing testing-proposed-updates unstable"; "propup-version testing-security unstable"; + "map oldstable oldstable-proposed-updates"; + "map oldstable-security oldstable-proposed-updates"; "map stable proposed-updates"; "map stable-security proposed-updates"; + "map-unreleased oldstable unstable"; "map-unreleased stable unstable"; "map-unreleased proposed-updates unstable"; "map testing testing-proposed-updates"; @@ -548,6 +645,7 @@ Dir Accepted "/srv/ftp.debian.org/queue/accepted/"; Byhand "/srv/ftp.debian.org/queue/byhand/"; ProposedUpdates "/srv/ftp.debian.org/queue/p-u-new/"; + OldProposedUpdates "/srv/ftp.debian.org/queue/o-p-u-new/"; Done "/srv/ftp.debian.org/queue/done/"; Holding "/srv/ftp.debian.org/queue/holding/"; New "/srv/ftp.debian.org/queue/new/"; @@ -562,12 +660,6 @@ DB Name "projectb"; Host ""; Port -1; - - NonUSName "projectb"; - NonUSHost "non-US.debian.org"; - NonUSPort -1; - NonUSUser "auric"; - NonUSPassword "moo"; }; Architectures diff --git a/config/debian/vars b/config/debian/vars index c0f3efb4..f92ac93c 100644 --- a/config/debian/vars +++ b/config/debian/vars @@ -22,7 +22,7 @@ incoming=$base/incoming ftpgroup=debadmin -copyoverrides="etch.contrib etch.contrib.src etch.main etch.main.src etch.non-free etch.non-free.src etch.extra.main etch.extra.non-free etch.extra.contrib etch.main.debian-installer woody.contrib woody.contrib.src woody.main woody.main.src woody.non-free woody.non-free.src sarge.contrib sarge.contrib.src sarge.main sarge.main.src sarge.non-free sarge.non-free.src sid.contrib sid.contrib.src sid.main sid.main.debian-installer sid.main.src sid.non-free sid.non-free.src sid.extra.contrib sid.extra.main sid.extra.non-free woody.extra.contrib woody.extra.main woody.extra.non-free sarge.extra.contrib sarge.extra.main sarge.extra.non-free" +copyoverrides="etch.contrib etch.contrib.src etch.main etch.main.src etch.non-free etch.non-free.src etch.extra.main etch.extra.non-free etch.extra.contrib etch.main.debian-installer sarge.contrib sarge.contrib.src sarge.main sarge.main.src sarge.non-free sarge.non-free.src sid.contrib sid.contrib.src sid.main sid.main.debian-installer sid.main.src sid.non-free sid.non-free.src sid.extra.contrib sid.extra.main sid.extra.non-free sarge.extra.contrib sarge.extra.main sarge.extra.non-free lenny.contrib lenny.contrib.src lenny.main lenny.main.src lenny.non-free lenny.non-free.src lenny.extra.main lenny.extra.contrib lenny.extra.non-free" PATH=$masterdir:$PATH umask 022 diff --git a/dak/control_suite.py b/dak/control_suite.py index 3a94ca5d..90b48d73 100755 --- a/dak/control_suite.py +++ b/dak/control_suite.py @@ -272,7 +272,7 @@ def main (): daklib.utils.fubar("No action specified.") # Safety/Sanity check - if action == "set" and suite != "testing": + if action == "set" and suite not in ["testing", "etch-m68k"]: daklib.utils.fubar("Will not reset a suite other than testing.") if action == "list": diff --git a/dak/generate_releases.py b/dak/generate_releases.py index 094c0564..0ae4aecf 100755 --- a/dak/generate_releases.py +++ b/dak/generate_releases.py @@ -142,6 +142,8 @@ def main (): AptCnf = apt_pkg.newConfiguration() apt_pkg.ReadConfigFileISC(AptCnf,daklib.utils.which_apt_conf_file()) + #apt_pkg.ReadConfigFileISC(AptCnf,"/org/ftp.debian.org/dak/config/debian/apt.conf.stable") + #apt_pkg.ReadConfigFileISC(AptCnf,"/org/ftp.debian.org/dak/config/debian/apt.conf.oldstable") if not suites: suites = Cnf.SubTree("Suite").List() @@ -237,6 +239,9 @@ def main (): relpath = Cnf["Dir::Root"]+tree+"/"+rel try: + if os.access(relpath, os.F_OK): + if os.stat(relpath).st_nlink > 1: + os.unlink(relpath) release = open(relpath, "w") #release = open(longsuite.replace("/","_") + "_" + arch + "_" + sec + "_Release", "w") except IOError: diff --git a/dak/make_overrides.py b/dak/make_overrides.py index 24ac0a70..03ded178 100755 --- a/dak/make_overrides.py +++ b/dak/make_overrides.py @@ -110,7 +110,7 @@ def main (): if otype == "deb": suffix = "" elif otype == "udeb": - if component != "main": + if component == "contrib": continue; # Ick2 suffix = ".debian-installer" elif otype == "dsc": diff --git a/dak/process_new.py b/dak/process_new.py index ec5987c4..8d9ecd60 100755 --- a/dak/process_new.py +++ b/dak/process_new.py @@ -796,10 +796,11 @@ def init(): Arguments = [('a',"automatic","Process-New::Options::Automatic"), ('h',"help","Process-New::Options::Help"), + ('C',"comments-dir","Process-New::Options::Comments-Dir", "HasArg"), ('m',"manual-reject","Process-New::Options::Manual-Reject", "HasArg"), ('n',"no-action","Process-New::Options::No-Action")] - for i in ["automatic", "help", "manual-reject", "no-action", "version"]: + for i in ["automatic", "help", "manual-reject", "no-action", "version", "comments-dir"]: if not Cnf.has_key("Process-New::Options::%s" % (i)): Cnf["Process-New::Options::%s" % (i)] = "" @@ -942,6 +943,59 @@ def end(): ################################################################################ +def do_comments(dir, opref, npref, line, fn): + for comm in [ x for x in os.listdir(dir) if x.startswith(opref) ]: + lines = open("%s/%s" % (dir, comm)).readlines() + if len(lines) == 0 or lines[0] != line + "\n": continue + changes_files = [ x for x in os.listdir(".") if x.startswith(comm[7:]+"_") + and x.endswith(".changes") ] + changes_files = sort_changes(changes_files) + for f in changes_files: + f = daklib.utils.validate_changes_file_arg(f, 0) + if not f: continue + print "\n" + f + fn(f, "".join(lines[1:])) + + if opref != npref and not Options["No-Action"]: + newcomm = npref + comm[len(opref):] + os.rename("%s/%s" % (dir, comm), "%s/%s" % (dir, newcomm)) + +################################################################################ + +def comment_accept(changes_file, comments): + Upload.pkg.changes_file = changes_file + Upload.init_vars() + Upload.update_vars() + Upload.update_subst() + files = Upload.pkg.files + + if not recheck(): + return + + (new, byhand) = check_status(files) + if not new and not byhand: + do_accept() + +################################################################################ + +def comment_reject(changes_file, comments): + Upload.pkg.changes_file = changes_file + Upload.init_vars() + Upload.update_vars() + Upload.update_subst() + files = Upload.pkg.files + + if not recheck(): + return + + reject(comments) + print "REJECT\n" + reject_message, + if not Options["No-Action"]: + Upload.do_reject(0, reject_message) + os.unlink(Upload.pkg.changes_file[:-8]+".dak") + +################################################################################ + def main(): changes_files = init() if len(changes_files) > 50: @@ -956,12 +1010,20 @@ def main(): else: Upload.Subst["__BCC__"] = bcc - for changes_file in changes_files: - changes_file = daklib.utils.validate_changes_file_arg(changes_file, 0) - if not changes_file: - continue - print "\n" + changes_file - do_pkg (changes_file) + commentsdir = Cnf.get("Process-New::Options::Comments-Dir","") + if commentsdir: + if changes_files != []: + sys.stderr.write("Can't specify any changes files if working with comments-dir") + sys.exit(1) + do_comments(commentsdir, "ACCEPT.", "ACCEPTED.", "OK", comment_accept) + do_comments(commentsdir, "REJECT.", "REJECTED.", "NOTOK", comment_reject) + else: + for changes_file in changes_files: + changes_file = daklib.utils.validate_changes_file_arg(changes_file, 0) + if not changes_file: + continue + print "\n" + changes_file + do_pkg (changes_file) end() diff --git a/dak/process_unchecked.py b/dak/process_unchecked.py index aac33d23..d7eb6e41 100755 --- a/dak/process_unchecked.py +++ b/dak/process_unchecked.py @@ -255,7 +255,7 @@ def check_changes(): # Check there isn't already a changes file of the same name in one # of the queue directories. base_filename = os.path.basename(filename) - for dir in [ "Accepted", "Byhand", "Done", "New", "ProposedUpdates" ]: + for dir in [ "Accepted", "Byhand", "Done", "New", "ProposedUpdates", "OldProposedUpdates" ]: if os.path.exists(Cnf["Dir::Queue::%s" % (dir) ]+'/'+base_filename): reject("%s: a file with this name already exists in the %s directory." % (base_filename, dir)) @@ -404,7 +404,7 @@ def check_files(): for file in file_keys: # Ensure the file does not already exist in one of the accepted directories - for dir in [ "Accepted", "Byhand", "New", "ProposedUpdates" ]: + for dir in [ "Accepted", "Byhand", "New", "ProposedUpdates", "OldProposedUpdates" ]: if os.path.exists(Cnf["Dir::Queue::%s" % (dir) ]+'/'+file): reject("%s file already exists in the %s directory." % (file, dir)) if not daklib.utils.re_taint_free.match(file): @@ -540,7 +540,7 @@ def check_files(): files[file]["new"] = 1 else: dsc_file_exists = 0 - for myq in ["Accepted", "Embargoed", "Unembargoed", "ProposedUpdates"]: + for myq in ["Accepted", "Embargoed", "Unembargoed", "ProposedUpdates", "OldProposedUpdates"]: if Cnf.has_key("Dir::Queue::%s" % (myq)): if os.path.exists(Cnf["Dir::Queue::"+myq] + '/' + dsc_filename): dsc_file_exists = 1 @@ -1094,6 +1094,8 @@ def action (): queue_info = { "New": { "is": is_new, "process": acknowledge_new }, "Byhand" : { "is": is_byhand, "process": do_byhand }, + "OldStableUpdate" : { "is": is_oldstableupdate, + "process": do_oldstableupdate }, "StableUpdate" : { "is": is_stableupdate, "process": do_stableupdate }, "Unembargo" : { "is": is_unembargo, "process": queue_unembargo }, "Embargo" : { "is": is_embargo, "process": queue_embargo }, @@ -1102,7 +1104,7 @@ def action (): if Cnf.FindB("Dinstall::SecurityQueueHandling"): queues += [ "Unembargo", "Embargo" ] else: - queues += [ "StableUpdate" ] + queues += [ "OldStableUpdate", "StableUpdate" ] (prompt, answer) = ("", "XXX") if Options["No-Action"] or Options["Automatic"]: @@ -1250,7 +1252,7 @@ def is_stableupdate (): (changes["source"], changes["version"], pusuite)) ql = q.getresult() if ql: - # source is already in proposed-updates + # source is already in proposed-updates so no need to hold return 0 return 1 @@ -1268,6 +1270,35 @@ def do_stableupdate (summary): ################################################################################ +def is_oldstableupdate (): + if not changes["distribution"].has_key("oldstable-proposed-updates"): + return 0 + + if not changes["architecture"].has_key("source"): + pusuite = daklib.database.get_suite_id("oldstable-proposed-updates") + q = Upload.projectB.query( + "SELECT S.source FROM source s JOIN src_associations sa ON (s.id = sa.source) WHERE s.source = '%s' AND s.version = '%s' AND sa.suite = %d" % + (changes["source"], changes["version"], pusuite)) + ql = q.getresult() + if ql: + # source is already in oldstable-proposed-updates so no need to hold + return 0 + + return 1 + +def do_oldstableupdate (summary): + print "Moving to OLDSTABLE-PROPOSED-UPDATES holding area." + Logger.log(["Moving to oldstable-proposed-updates", pkg.changes_file]); + + Upload.dump_vars(Cnf["Dir::Queue::OldProposedUpdates"]); + move_to_dir(Cnf["Dir::Queue::OldProposedUpdates"]) + + # Check for override disparities + Upload.Subst["__SUMMARY__"] = summary; + Upload.check_override(); + +################################################################################ + def is_byhand (): for file in files.keys(): if files[file].has_key("byhand"): diff --git a/docs/README.stable-point-release b/docs/README.stable-point-release index d360301e..30a27b4b 100644 --- a/docs/README.stable-point-release +++ b/docs/README.stable-point-release @@ -18,16 +18,16 @@ o Close any applicable stable bugs (hint: http://bugs.debian.org/cgi-bin/pkgreport.cgi?pkg=ftp.debian.org&include=woody) o Update version number in README, README.html and dists/README (ftp-master only) o Update the 'Debian.r' symlink in dists/ -o Clean up dists/ChangeLog (add header, basically) -o Update version fields in dak.conf[-non-US] +o Clean up dists/stable/ChangeLog (add header, basically) +o Update version fields in dak.conf o Update fields in suite table in postgresql (see below) -o Comment out "Untouchable" in dak.conf[-non-US] +o Comment out "Untouchable" in dak.conf o Run 'dak make-suite-file-list -s stable' -o Run apt-ftparchive generate apt.conf.stable[-non-US] +o Run apt-ftparchive generate apt.conf.stable o Run 'dak generate-releases stable' ** FIXME: requires apt.conf.stable stanza for stable in apt.conf ** FIXME: must be run as dak -o Uncomment "Untouchable" in dak.conf[-non-US] +o Uncomment "Untouchable" in dak.conf Yes, this sucks and more of it should be automated.