X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=scripts%2Fdebian%2Fbyhand-win32-loader;h=2006a195578cfa9bf796d3f65e0d64bb8e04ab07;hb=abcd0f018dc49a218ce70d22e97fc7b654fcf1c8;hp=e9d7085613a49a0f12509cdd5c3733ee01a54fad;hpb=8ff7594617f38652f8dbac95682dcfc200d6dbf5;p=dak.git diff --git a/scripts/debian/byhand-win32-loader b/scripts/debian/byhand-win32-loader index e9d70856..2006a195 100755 --- a/scripts/debian/byhand-win32-loader +++ b/scripts/debian/byhand-win32-loader @@ -1,37 +1,43 @@ -#!/bin/sh -ue +#!/bin/bash + +set -u +set -e if [ $# -lt 4 ]; then echo "Usage: $0 filename version arch changes_file" 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_FILE="$1" # win32-loader_${VERSION}_${ARCH}{.exe,txt} VERSION="$2" ARCH="$3" CHANGES="$4" # Changes file for the upload -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" - ;; + echo "Error: unable to determine suite from Changes file" + exit 1 + ;; unstable|sid) - : # nothing to do - ;; + : # nothing to do + ;; *) - SUITE="${SUITE}-proposed-updates" - ;; + SUITE="${SUITE}-proposed-updates" + ;; 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 +45,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_FILE" "${TARGET}${TARGET_FILENAME}" -trap - EXIT -cleanup +# Chmod it correctly +chmod 0644 "${TARGET}${TARGET_FILENAME}" exit 0