X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=scripts%2Fdebian%2Fbyhand-win32-loader;h=bba3499208b835a1769b8644c38b01533c00ffa5;hb=c873935ccbcadc268211a24be02791739b6a0d4f;hp=fff19742edd2696ab059bc2fb6143052fd82e7da;hpb=50db22ea5f288daa39f81138a41a509d9a41cc3e;p=dak.git diff --git a/scripts/debian/byhand-win32-loader b/scripts/debian/byhand-win32-loader index fff19742..bba34992 100755 --- a/scripts/debian/byhand-win32-loader +++ b/scripts/debian/byhand-win32-loader @@ -1,30 +1,25 @@ -#!/bin/sh +#!/bin/bash set -u set -e -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 export SCRIPTVARS=/srv/ftp-master.debian.org/dak/config/debian/vars . $SCRIPTVARS -WIN32_LOADER_FILE="$1" # win32-loader_${VERSION}_${ARCH}{.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 +SUITE="$5" -# 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 - "") - echo "Error: unable to determine suite from Changes file" - exit 1 - ;; - unstable|sid) + unstable|sid|*proposed-updates) : # nothing to do ;; *) @@ -32,6 +27,16 @@ 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}/" @@ -45,7 +50,9 @@ if [ ! -d "$TARGET" ]; then fi # Put said file into the tools directory -cp "$WIN32_LOADER_FILE" "${TARGET}${TARGET_FILENAME}" +# 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}"