[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Autobyhand support for task overrides



(Please CC me on replies as I'm not subscribed.)

I think we (I mostly) have overlooked something with this feature: the 
current script only supports uploads of tasksel to unstable, but does not 
protest when uploads are made for another suite.

Having the unstable/testing overrides updated from a tasksel intended for 
stable (proposed-updates) does not seem desirable. The patch below should 
prevent this.

I've opted to just fail the byhand processing for any other suite than 
unstable/sid. The correct processing is probably:
- for testing: just drop the overrides file and only accept the package
- for stable: possibly an update of the stable overrides is desired, but
  the update could also just be a code fix
- for experimental: overrides should certainly just be dropped (could
  easily be added to proposed patch but I only just thought of this :-)

If I've understood correctly from aj, failing the autobyhand just means 
that the package will end up in the normal byhand queue.

The code used is borrowed from the D-I autobyhand script, so it should be 
low-risk change. After Joey acks this change I'll push it to a dak bzr 
clone for integration.

Cheers,
FJP

P.S. I'm not sure if tag overrides can be updated/uploaded for stable 
(either on purpose or by accident), but this case is currently not 
handled there either. CCed Enrico so he can provide his input.


=== modified file 'scripts/debian/byhand-task'
--- scripts/debian/byhand-task	2008-05-28 16:32:00 +0000
+++ scripts/debian/byhand-task	2008-06-08 20:25:53 +0000
@@ -1,7 +1,35 @@
 #!/bin/sh -ue
 
-# Tarball to read, compressed with gzip
-INPUT="${1:?"Usage: $0 filename"}"
+if [ $# -lt 4 ]; then
+        echo "Usage: $0 filename version arch changes_file"
+        exit 1
+fi
+
+INPUT="$1"      # Tarball to read, compressed with gzip
+VERSION="$2"
+ARCH="$3"
+CHANGES="$4"    # Changes file for the upload
+
+error() {
+        echo "$*"
+        exit 1
+}
+
+# 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
+    "")
+        error "Error: unable to determine suite from Changes file"
+        ;;
+    unstable|sid)
+        : # OK for automated byband processing
+        ;;
+    *)
+        error "Reject: task overrides can only be processed automatically 
for uploads to unstable"
+        ;;
+esac
+
 
 # Regular expression used to validate tag lines
 CHECKRE='^[a-z0-9A-Z.+-]+[[:space:]]+Task[[:space:]]+[a-z0-9:. ,{}+-]+$'

Attachment: signature.asc
Description: This is a digitally signed message part.


Reply to: