]> err.no Git - dak/commitdiff
add automatic d-i byhand processing
authorAnthony Towns <aj@azure.humbug.org.au>
Fri, 29 Feb 2008 22:58:42 +0000 (22:58 +0000)
committerAnthony Towns <aj@azure.humbug.org.au>
Fri, 29 Feb 2008 22:58:42 +0000 (22:58 +0000)
add armel to testing
update stable point release README

config/debian/apt.conf
config/debian/dak.conf
docs/README.stable-point-release
scripts/debian/byhand-di [new file with mode: 0755]

index b85e4f036a01ea75856c7c7acadd4a3f6537d7e5..f5b152a60100a4f0d0d5074c6cd5bfb7f4569d94 100644 (file)
@@ -50,7 +50,7 @@ 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 mips mipsel powerpc s390 sparc source";
+   Architectures "alpha amd64 arm armel hppa i386 ia64 mips mipsel powerpc s390 sparc source";
    BinOverride "override.lenny.$(SECTION)";
    ExtraOverride "override.lenny.extra.$(SECTION)";
    SrcOverride "override.lenny.$(SECTION).src";
@@ -61,7 +61,7 @@ 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 mips mipsel powerpc s390 sparc source";
+   Architectures "alpha amd64 arm armel hppa i386 ia64 mips mipsel powerpc s390 sparc source";
    BinOverride "override.lenny.$(SECTION)";
    ExtraOverride "override.lenny.extra.$(SECTION)";
    SrcOverride "override.lenny.$(SECTION).src";
index 6a989215edf8721a2a8dabb819ec604c1fde850e..a62a510927044be4227130789cb8e0261c4205f3 100644 (file)
@@ -407,6 +407,7 @@ Suite
          alpha;
          amd64;
          arm;
+         armel;
          hppa;
          i386;
          ia64;
@@ -444,6 +445,7 @@ Suite
          alpha;
          amd64;
          arm;
+         armel;
          hppa;
          i386;
          ia64;
@@ -639,7 +641,7 @@ SuiteMappings
 
 AutomaticByHandPackages {
   "debian-installer-images" {
-    Source "xxx-debian-installer";
+    Source "debian-installer";
     Section "raw-installer";
     Extension "tar.gz";
     Script "/srv/ftp.debian.org/dak/scripts/debian/byhand-di";
index 34059ef918f920915d5218985758a674ee955939..d2dce4648ceb899a7723512b15cddaf65f26e01b 100644 (file)
@@ -13,8 +13,13 @@ o Install, reject and remove packages as directed by the SRM using
   NB: removing packages are not logged to the stable ChangeLog; you
       need to do that byhand.
 
-o Do anything in proposed-updates/TODO
-o Close any applicable stable bugs
+o If you installed a debian-installer upload; migrate the relevant
+  installer-*/$release directory from proposed-updates to stable.
+  (Including potentially removing older versions)
+
+o Decruft stable in coordination with SRMs
+
+o Do anything in proposed-updates/TODO o Close any applicable stable bugs
   (hint: http://bugs.debian.org/cgi-bin/pkgreport.cgi?pkg=ftp.debian.org&include=etch)
 o Update version number in README, README.html and dists/README (ftp-master only)
 o Update the 'Debian<n>.<n>r<n>' symlink in dists/
@@ -22,16 +27,13 @@ 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
-o Run 'dak make-suite-file-list -s stable'
+o Run 'dak make-suite-file-list --force -s stable'
 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
+o Run 'dak generate-releases --force-touch --apt-conf apt.conf.stable stable'
 
-Yes, this sucks and more of it should be automated.
+[Yes, this sucks and more of it should be automated. c.f. ~ajt/pointupdate]
 
 #######################################################
 
-update suite set version = '4.0r1' where suite_name = 'stable';
-update suite set description = 'Debian 4.0r1 Released 15th August 2007' where suite_name = 'stable';
+update suite set version = '4.0r3' where suite_name = 'stable';
+update suite set description = 'Debian 4.0r3 Released 16th February 2008' where suite_name = 'stable';
diff --git a/scripts/debian/byhand-di b/scripts/debian/byhand-di
new file mode 100755 (executable)
index 0000000..0a004f3
--- /dev/null
@@ -0,0 +1,101 @@
+#!/bin/sh -ue
+
+if [ $# -lt 4 ]; then
+       echo "Usage: $0 filename version arch changes_file"
+       exit 1
+fi
+
+TARBALL="$1"   # Tarball to read, compressed with gzip
+VERSION="$2"
+ARCH="$3"
+CHANGES="$4"   # Changes file for the upload
+
+error() {
+       echo "$*"
+       exit 1
+}
+
+# Check validity of version number
+# Expected are: YYYYMMDD, YYYYMMDD.x, YYYYMMDD<suite>x
+if ! echo "$VERSION" | grep -Eq "^[0-9]{8}(|(\.|[a-z]+)[0-9]+)$"; then
+       error "Invalid version: '$VERSION'"
+fi
+
+# Get the target suite from the Changes file
+# NOTE: it may be better to pass this to the script as a parameter!
+SUITE="$(grep "^Distribution:" "$CHANGES" | awk '{print $2}')"
+case $SUITE in
+    "")
+       error "Error: unable to determine suite from Changes file"
+       ;;
+    unstable|sid)
+       : # nothing to do
+       ;;
+    *)
+       SUITE="${SUITE}-proposed-updates"
+       ;;
+esac
+
+# This must end with /
+TARGET="/srv/ftp.debian.org/ftp/dists/$SUITE/main/installer-$ARCH/"
+
+# Check validity of the target directory
+# This could fail, for example for new architectures; doing
+# a regular BYHAND is safer in that case
+if [ ! -d "$TARGET" ]; then
+       mkdir -p "$TARGET"
+fi
+# Check that there isn't already a directory for this version
+if [ -d "$TARGET/$VERSION" ]; then
+       error "Directory already exists: $TARGET/$VERSION"
+fi
+
+# We know all data to be in ./installer-<arch>/<version>; see if there's
+# anything else in the tarball except that and the 'current' symlink
+if tar tzf "$TARBALL" | \
+   grep -Eqv "^\./(installer-$ARCH/($VERSION/.*|current|)|)$"; then
+       error "Tarball contains unexpected contents"
+fi
+
+# Create a temporary directory where to store the images
+umask 002
+TMPDIR="$(mktemp -td byhand-di.XXXXXX)"
+
+# If we fail somewhere, cleanup the temporary directory
+cleanup() {
+        rm -rf "$TMPDIR"
+}
+trap cleanup EXIT
+
+# Extract the data into the temporary directory
+tar xzf "$TARBALL" --directory="$TMPDIR" "./installer-$ARCH/"
+
+# Check the 'current' symlink
+if [ ! -L $TMPDIR/installer-$ARCH/current ]; then
+       error "Missing 'current' symlink"
+elif [ X"$(readlink "$TMPDIR/installer-$ARCH/current")" != X"$VERSION" ]; then
+       error "Incorrect 'current' symlink"
+fi
+
+# We should have an MD5SUMS file; use that for a final check
+if [ -r "$TMPDIR/installer-$ARCH/$VERSION/images/MD5SUMS" ]; then
+       (
+               cd "$TMPDIR/installer-$ARCH/$VERSION/images"
+               md5sum -c --status MD5SUMS || error "Error while checking MD5SUMS"
+       )
+else
+       error "Missing MD5SUMS file"
+fi
+
+# Move the data to the final location
+mv "$TMPDIR/installer-$ARCH/$VERSION" "$TARGET"
+mv "$TMPDIR/installer-$ARCH/current"  "$TARGET"
+
+# Fixup permissions
+find "$TARGET/$VERSION" -type d -exec chmod 755 {} +
+find "$TARGET/$VERSION" -type f -exec chmod 644 {} +
+
+trap - EXIT
+cleanup
+
+exit 0