]> git.decadent.org.uk Git - dak.git/commitdiff
Add autobyhand support for task overrides (from tasksel)
authorFrans Pop <fjp@debian.org>
Wed, 28 May 2008 16:32:00 +0000 (18:32 +0200)
committerFrans Pop <fjp@debian.org>
Wed, 28 May 2008 16:32:00 +0000 (18:32 +0200)
ChangeLog
config/debian/dak.conf
scripts/debian/byhand-task [new file with mode: 0755]

index 05da1a9ec87adcb072ab30127f44f04e6ac6c78f..24b4f45bb0b164e8edaedcb5429d3f1238c66679 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2008-05-28  Frans Pop  <fjp@debian.org>
+
+       * add autobyhand support for task overrides (from tasksel)
+
 2008-05-27  Joerg Jaspert  <joerg@debian.org>
 
        * config/debian/pseudo-packages.maintainers: Change ftp.debian.org
index 4181fb01dae391cd09dd7d5f73b0725f2fcf1f79..2d17db4601cd29ba03830bbba6e953adeb440360 100644 (file)
@@ -692,6 +692,13 @@ AutomaticByHandPackages {
     Extension "tar.gz";
     Script "/srv/ftp.debian.org/dak/scripts/debian/byhand-tag";
   };
+
+  "task-overrides" {
+    Source "tasksel";
+    Section "byhand";
+    Extension "tar.gz";
+    Script "/srv/ftp.debian.org/dak/scripts/debian/byhand-task";
+  };
 };
 
 Dir
diff --git a/scripts/debian/byhand-task b/scripts/debian/byhand-task
new file mode 100755 (executable)
index 0000000..b7f4f7a
--- /dev/null
@@ -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