X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=scripts%2Fdebian%2Fbyhand-task;fp=scripts%2Fdebian%2Fbyhand-task;h=b7f4f7a88566ecbe106dd41baae65a01090097d5;hb=8cbeb10a6ba37c3ac530eb7b9302e89d8c575a44;hp=0000000000000000000000000000000000000000;hpb=423e0b11dc6a9ee85e978f97bacddeb2eebdfbee;p=dak.git diff --git a/scripts/debian/byhand-task b/scripts/debian/byhand-task new file mode 100755 index 00000000..b7f4f7a8 --- /dev/null +++ b/scripts/debian/byhand-task @@ -0,0 +1,37 @@ +#!/bin/sh -ue + +# Tarball to read, compressed with gzip +INPUT="${1:?"Usage: $0 filename"}" + +# Regular expression used to validate tag lines +CHECKRE='^[a-z0-9A-Z.+-]+[[:space:]]+Task[[:space:]]+[a-z0-9:. ,{}+-]+$' + +# This must end with / +TARGET=/srv/ftp.debian.org/scripts/external-overrides/ + +# Read the main directory from the tarball +DIR="`tar ztf \"$INPUT\" | tac | tail -n 1`" + +# Create temporary files where to store the validated data +umask 002 +OUTMAIN="`mktemp \"$TARGET\"task.new.XXXXXX`" + +# If we fail somewhere, cleanup the temporary files +cleanup() { + rm -f "$OUTMAIN" +} +trap cleanup EXIT + +# Extract the data into the temporary files +tar -O -zxf "$INPUT" "$DIR"task | grep -E "$CHECKRE" > "$OUTMAIN" + +# Move the data to the final location +mv "$OUTMAIN" "$TARGET"task + +chmod 644 "$TARGET"task + +(cd $TARGET && ./mk-extra-overrides.sh) + +trap - EXIT + +exit 0