X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=scripts%2Fdebian%2Fbyhand-win32-loader;h=ea4a1f909708cad2ce9ca1f99f5df71fc96bb6a2;hb=878f326ae708fa5c918e5e63c274fe012ac038f8;hp=e9d7085613a49a0f12509cdd5c3733ee01a54fad;hpb=8ff7594617f38652f8dbac95682dcfc200d6dbf5;p=dak.git diff --git a/scripts/debian/byhand-win32-loader b/scripts/debian/byhand-win32-loader index e9d70856..ea4a1f90 100755 --- a/scripts/debian/byhand-win32-loader +++ b/scripts/debian/byhand-win32-loader @@ -1,37 +1,48 @@ -#!/bin/sh -ue +#!/bin/bash -if [ $# -lt 4 ]; then - echo "Usage: $0 filename version arch changes_file" +set -u +set -e + +if [ $# -lt 5 ]; then + echo "Usage: $0 filename version arch changes_file suite" exit 1 fi -WIN32_LOADER_FILE="$1" # *-win32-loader{.exe,txt} +export SCRIPTVARS=/srv/ftp-master.debian.org/dak/config/debian/vars +. $SCRIPTVARS + +WIN32_LOADER_PATH="$1" # win32-loader_${VERSION}_${ARCH}{.exe,txt} +WIN32_LOADER_FILE="${WIN32_LOADER_PATH##*/}" VERSION="$2" ARCH="$3" CHANGES="$4" # Changes file for the upload +SUITE="$5" -error() { - echo "$*" - exit 1 -} - -# 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 - ;; + unstable|sid|*-proposed-updates) + : # nothing to do + ;; *) - SUITE="${SUITE}-proposed-updates" - ;; + SUITE="${SUITE}-proposed-updates" + ;; +esac + +case "${WIN32_LOADER_FILE}" in + win32-loader_*.exe|win32-loader_*.txt) + : # okay + ;; + *) + echo "Error: invalid filename for byhand-win32-loader" + exit 1 + ;; esac # This must end with / -TARGET="/srv/ftp-master.debian.org/ftp/tools/" +TARGET="${ftpdir}/tools/win32-loader/${SUITE}/" + +# Prepare the target filename by removing the version and arch parts; +# transforms any/path/win32-loader_${VERSION}_${ARCH}.${extension} to win32-loader.${extension} +TARGET_FILENAME="${WIN32_LOADER_FILE%%_*}.${WIN32_LOADER_FILE##*.}" # Check validity of the target directory if [ ! -d "$TARGET" ]; then @@ -39,9 +50,11 @@ if [ ! -d "$TARGET" ]; then fi # Put said file into the tools directory -cp "$WIN32_LOADER_FILE" "$TARGET" +# Use --remove-destination to avoid problems with the fact that the target may +# be a hardlink and in that case we'd update multiple suites together +cp --remove-destination "$WIN32_LOADER_PATH" "${TARGET}${TARGET_FILENAME}" -trap - EXIT -cleanup +# Chmod it correctly +chmod 0644 "${TARGET}${TARGET_FILENAME}" exit 0