X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=scripts%2Fdebian%2Fbyhand-di;h=c4a747c25bfac61c48448486bf88dbb3bac63e4f;hb=878f326ae708fa5c918e5e63c274fe012ac038f8;hp=99cb313152555496227c56f751cad15f8e66d9a8;hpb=d87d13020d406771da394989f22ba15e20e80461;p=dak.git diff --git a/scripts/debian/byhand-di b/scripts/debian/byhand-di index 99cb3131..c4a747c2 100755 --- a/scripts/debian/byhand-di +++ b/scripts/debian/byhand-di @@ -1,10 +1,11 @@ -#!/bin/sh +#!/bin/bash set -u set -e +set -o pipefail -if [ $# -lt 4 ]; then - echo "Usage: $0 filename version arch changes_file" +if [ $# -lt 5 ]; then + echo "Usage: $0 filename version arch changes_file suite" exit 1 fi @@ -12,6 +13,7 @@ TARBALL="$1" # Tarball to read, compressed with gzip VERSION="$2" ARCH="$3" CHANGES="$4" # Changes file for the upload +SUITE="$5" error() { echo "$*" @@ -19,19 +21,14 @@ error() { } # Check validity of version number -# Expected are: YYYYMMDD, YYYYMMDD.x, YYYYMMDDx, YYYYMMDD+x and the +b[0-9] on the end -if ! echo "$VERSION" | grep -Eq "^[0-9]{8}(|(\.|\+?[a-z]+)[0-9]+)(\+b[0-9])?$"; then +# Expected are: YYYYMMDD, YYYYMMDD.x, YYYYMMDDx, YYYYMMDD+x, +# YYYYMMDD+debXuZ and the +b[0-9] on the end +if ! echo "$VERSION" | grep -Eq "^[0-9]{8}((\.|\+?[a-z]+|\+deb[0-9]+u|\+kbsd[0-9]+u)[0-9]+)?(\+b[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) + unstable|sid|*-proposed-updates) : # nothing to do ;; *) @@ -54,7 +51,8 @@ if [ -d "$TARGET/$VERSION" ]; then fi # We know the VERSION is sane by here, we just need to make sure we escape the + in +b1 (if any) -VERSIONREGEXP="$(echo $VERSION | sed 's@+@\\\+@')" +# It needs 'g' as well as we may have +$DIST+b[0-9] or +debXuZ+bY +VERSIONREGEXP="$(echo $VERSION | sed 's@+@\\\+@g')" # We know all data to be in ./installer-/; see if there's # anything else in the tarball except that and the 'current' symlink