]> git.donarmstrong.com Git - wannabuild.git/blobdiff - triggers/trigger.backports
Rewrite triggers
[wannabuild.git] / triggers / trigger.backports
diff --git a/triggers/trigger.backports b/triggers/trigger.backports
new file mode 100755 (executable)
index 0000000..a9d35bb
--- /dev/null
@@ -0,0 +1,49 @@
+#!/bin/bash
+# vim:set et ts=4 sw=4 ft=bash ai:
+
+ARCHIVE="backports"
+
+. /org/wanna-build/triggers/common
+
+exec >> /org/wanna-build/db/merge.$ARCHIVE.log 2>&1
+
+if [ -f /org/wanna-build/NO-TRIGGERS ]
+then
+    echo Trigger for $ARCHIVE skipped due to NO-TRIGGERS, aborting. >&2
+    exit 0
+fi
+
+echo "`date`: Running trigger for $ARCHIVE ..."
+
+main() {
+    set -eE
+    trap cleanup ERR TERM HUP INT QUIT
+
+    ensure_lock
+    ensure_workdir
+
+    # Fetch the most recent Packages and Sources files.
+    sync.sh debian
+    sync.sh $ARCHIVE nolock
+
+    # Autodetect suites by inspecting the directories in dists/.
+    SUITES="$(find ${ARCHIVE_BASE}/archive/ -maxdepth 1 -mindepth 1 -type d | \
+        xargs -n 1 basename | \
+        sort | uniq)"
+
+    for suite in $SUITES
+    do
+        base_suite=${suite%%-backports}
+        SOURCES="${ARCHIVE_BASE}/archive/${suite}/{main,contrib}/source/Sources.gz"
+        PACKAGES="${ARCHIVE_BASE}/archive/${suite}/{main,contrib}/binary-%ARCH%/Packages.gz"
+        SOURCES_BASE="${ARCHIVE_MAIN}/archive/${base_suite}/{main,contrib}/source/Sources.gz"
+        PACKAGES_BASE="${ARCHIVE_MAIN}/archive/${base_suite}/{main,contrib}/binary-%ARCH%/Packages.gz"
+        trigger_wb_update_for_overlay "$base_suite" "`get_architectures $base_suite`" "$SOURCES_BASE" "$PACKAGES_BASE" "$SOURCES" "$PACKAGES" "$suite"
+    done
+
+    cleanup
+}
+
+main &
+exit 0
+