]> git.decadent.org.uk Git - dak.git/blobdiff - scripts/debian/generate-d-i
generate-d-i: Use "set -u"
[dak.git] / scripts / debian / generate-d-i
index fee0ba5bbe6c21097a8e243ff293fa3d97b1dbb3..d5deea458a72d9122c6cdf937dc24ed0a728be82 100755 (executable)
@@ -1,38 +1,69 @@
-#!/bin/sh
+#!/bin/bash
 
 # Original written from Jeroen van Wolffelaar <jeroen@debian.org>
 
 set -e
-export SCRIPTVARS=/srv/ftp.debian.org/dak/config/debian/vars
+set -u
+
+export SCRIPTVARS=/srv/ftp-master.debian.org/dak/config/debian/vars
 . $SCRIPTVARS
 
 export PAGER=cat
 
 exec > $webdir/d-i 2>&1
 
+testing_id=$(psql -t -c "SELECT id FROM suite WHERE suite_name='testing'")
+testing_pu_id=$(psql -t -c "SELECT id FROM suite WHERE suite_name='testing-proposed-updates'")
+unstable_id=$(psql -t -c "SELECT id FROM suite WHERE suite_name='unstable'")
 
 echo "udeb's in testing that don't (anymore) correspond to any testing source:"
-psql projectb -c "select b.package, b.version, (SELECT arch_string from
-architecture where b.architecture=architecture.id) as arch, s.source from
-bin_associations ba LEFT JOIN binaries b on (ba.bin=b.id) LEFT JOIN source s
-on (b.source=s.id) WHERE ba.suite=4 AND s.id NOT IN (SELECT source from
-src_associations WHERE suite=4) AND b.type = 'udeb' ORDER BY s.source,
-b.package, b.architecture;"
+psql -c "
+  SELECT
+    b.package,
+    b.version,
+    (SELECT arch_string from architecture where b.architecture = architecture.id) as arch,
+    s.source
+  FROM bin_associations ba
+  LEFT JOIN binaries b on (ba.bin = b.id)
+  LEFT JOIN source s on (b.source = s.id)
+  WHERE ba.suite = ${testing_id}
+    AND s.id NOT IN (SELECT source from src_associations WHERE suite = ${testing_id})
+    AND b.type = 'udeb'
+  ORDER BY s.source, b.package, b.architecture;
+  "
 
 echo "udeb's in unstable that should be in testing too:"
-psql projectb -c "select b.package, b.version, (SELECT arch_string from
-architecture where b.architecture=architecture.id) as arch, s.source from
-bin_associations ba LEFT JOIN binaries b on (ba.bin=b.id) LEFT JOIN source s
-on (b.source=s.id) WHERE ba.suite=5 AND NOT EXISTS (SELECT 1 FROM
-bin_associations ba2 WHERE ba2.suite=4 AND ba2.bin=ba.bin) AND s.id IN (SELECT
-source from src_associations WHERE suite=4) AND b.type = 'udeb' AND
-b.architecture NOT IN (4,8,12) ORDER BY s.source, b.package, b.architecture;"
+psql -c "
+  SELECT
+    b.package,
+    b.version,
+    (SELECT arch_string from architecture where b.architecture = architecture.id) as arch,
+    s.source
+  FROM bin_associations ba
+  LEFT JOIN binaries b on (ba.bin=b.id)
+  LEFT JOIN source s on (b.source=s.id)
+  WHERE ba.suite = ${unstable_id}
+    AND NOT EXISTS (SELECT 1 FROM bin_associations ba2 WHERE ba2.suite = ${testing_id} AND ba2.bin = ba.bin)
+    AND s.id IN (SELECT source from src_associations WHERE suite = ${testing_id})
+    AND b.type = 'udeb'
+    AND b.architecture IN (SELECT architecture FROM suite_architectures WHERE suite = ${testing_id})
+  ORDER BY s.source, b.package, b.architecture;
+  "
 
 echo "udeb's in t-p-u that should be in testing too:"
-psql projectb -c "select b.package, b.version, (SELECT arch_string from
-architecture where b.architecture=architecture.id) as arch, s.source from
-bin_associations ba LEFT JOIN binaries b on (ba.bin=b.id) LEFT JOIN source s
-on (b.source=s.id) WHERE ba.suite=3 AND NOT EXISTS (SELECT 1 FROM
-bin_associations ba2 WHERE ba2.suite=4 AND ba2.bin=ba.bin) AND s.id IN (SELECT
-source from src_associations WHERE suite=4) AND b.type = 'udeb' AND
-b.architecture NOT IN (4,8,12) ORDER BY s.source, b.package, b.architecture;"
+psql -c "
+  SELECT
+    b.package,
+    b.version,
+    (SELECT arch_string from architecture where b.architecture=architecture.id) as arch,
+    s.source
+  FROM bin_associations ba
+  LEFT JOIN binaries b ON ba.bin = b.id
+  LEFT JOIN source s ON b.source = s.id
+  WHERE ba.suite = ${testing_pu_id}
+    AND NOT EXISTS (SELECT 1 FROM bin_associations ba2 WHERE ba2.suite = ${testing_id} AND ba2.bin = ba.bin)
+    AND s.id IN (SELECT source from src_associations WHERE suite = ${testing_id})
+    AND b.type = 'udeb'
+    AND b.architecture IN (SELECT architecture FROM suite_architectures WHERE suite = ${testing_id})
+  ORDER BY s.source, b.package, b.architecture;
+  "