From 0429d8215de9128ed7074b98686660dfb65e65d0 Mon Sep 17 00:00:00 2001 From: Anthony Towns Date: Fri, 29 Feb 2008 22:58:42 +0000 Subject: [PATCH] add automatic d-i byhand processing add armel to testing update stable point release README --- config/debian/apt.conf | 4 +- config/debian/dak.conf | 4 +- docs/README.stable-point-release | 22 ++++--- scripts/debian/byhand-di | 101 +++++++++++++++++++++++++++++++ 4 files changed, 118 insertions(+), 13 deletions(-) create mode 100755 scripts/debian/byhand-di diff --git a/config/debian/apt.conf b/config/debian/apt.conf index b85e4f03..f5b152a6 100644 --- a/config/debian/apt.conf +++ b/config/debian/apt.conf @@ -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"; diff --git a/config/debian/dak.conf b/config/debian/dak.conf index 6a989215..a62a5109 100644 --- a/config/debian/dak.conf +++ b/config/debian/dak.conf @@ -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"; diff --git a/docs/README.stable-point-release b/docs/README.stable-point-release index 34059ef9..d2dce464 100644 --- a/docs/README.stable-point-release +++ b/docs/README.stable-point-release @@ -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.r' 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 index 00000000..0a004f38 --- /dev/null +++ b/scripts/debian/byhand-di @@ -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, YYYYMMDDx +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-/; 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 -- 2.39.2