]> git.decadent.org.uk Git - dak.git/blobdiff - scripts/debian/byhand-tag
byhand-tag: Allow uppercase letters in tags.
[dak.git] / scripts / debian / byhand-tag
index 81a8946676a8a3af626813d7e4ac4c8798b98c90..e05fd2f3b574d58003b579140359873b0c0c77ec 100755 (executable)
@@ -1,4 +1,7 @@
-#!/bin/sh -ue
+#!/bin/sh
+
+set -u
+set -e
 
 export SCRIPTVARS=/srv/ftp-master.debian.org/dak/config/debian/vars
 . $SCRIPTVARS
@@ -7,13 +10,13 @@ export SCRIPTVARS=/srv/ftp-master.debian.org/dak/config/debian/vars
 INPUT="${1:?"Usage: $0 filename"}"
 
 # Regular expression used to validate tag lines
-CHECKRE='^[a-z0-9A-Z.+-]+[[:space:]]+Tag[[:space:]]+[a-z0-9:. ,{}+-]+$'
+CHECKRE='^([a-z0-9A-Z.+-]+[[:space:]]+Tag)?[[:space:]]+[A-Za-z0-9:. ,{}+-]+$'
 
 # This must end with /
 TARGET=/srv/ftp-master.debian.org/scripts/external-overrides/
 
 # Read the main directory from the tarball
-DIR="`tar ztf \"$INPUT\" | tac | tail -n 1`"
+DIR="`tar ztf \"$INPUT\" | tail -n 1 | cut -d/ -f1`"
 
 # Create temporary files where to store the validated data
 umask 002
@@ -30,9 +33,9 @@ cleanup() {
 trap cleanup EXIT
 
 # Extract the data into the temporary files
-tar -O -zxf "$INPUT" "$DIR"tag | grep -E "$CHECKRE" > "$OUTMAIN"
-tar -O -zxf "$INPUT" "$DIR"tag.contrib | grep -E "$CHECKRE" > "$OUTCONTRIB"
-tar -O -zxf "$INPUT" "$DIR"tag.non-free | grep -E "$CHECKRE" > "$OUTNONFREE"
+tar -O -zxf "$INPUT" "$DIR"/tag | grep -E "$CHECKRE" > "$OUTMAIN"
+tar -O -zxf "$INPUT" "$DIR"/tag.contrib | grep -E "$CHECKRE" > "$OUTCONTRIB"
+tar -O -zxf "$INPUT" "$DIR"/tag.non-free | grep -E "$CHECKRE" > "$OUTNONFREE"
 
 # Move the data to the final location
 mv "$OUTMAIN"           "$TARGET"tag
@@ -41,7 +44,11 @@ mv "$OUTNONFREE"        "$TARGET"tag.non-free
 
 chmod 644 "$TARGET"tag "$TARGET"tag.contrib "$TARGET"tag.non-free
 
-(cd $TARGET && $scriptsdir/mk-extra-overrides.sh)
+(cd "$TARGET" \
+  && dak external-overrides import unstable main Tag <tag \
+  && dak external-overrides import unstable contrib Tag <tag.contrib \
+  && dak external-overrides import unstable non-free Tag <tag.non-free)
+dak external-overrides copy unstable testing
 
 trap - EXIT