]> git.decadent.org.uk Git - dak.git/blobdiff - scripts/debian/byhand-win32-loader
Merge remote-tracking branch 'lamby/improve-parse-changes-tests-796787' into merge
[dak.git] / scripts / debian / byhand-win32-loader
index 2a4abf1b125fc944031cd4f7b0b97ae148f356f4..3afc8d52882aee9032c8fee8ea566824686ebd19 100755 (executable)
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash
 
 set -u
 set -e
@@ -11,7 +11,8 @@ fi
 export SCRIPTVARS=/srv/ftp-master.debian.org/dak/config/debian/vars
 . $SCRIPTVARS
 
-WIN32_LOADER_FILE="$1" # *-win32-loader{.exe,txt}
+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
@@ -32,15 +33,34 @@ case $SUITE in
            ;;
 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="${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
        mkdir -p "$TARGET"
 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}"
+
+# Chmod it correctly
+chmod 0644 "${TARGET}${TARGET_FILENAME}"
 
 exit 0