3 # This is the equivalent of trigger.often for security.
5 # Calling convention: trigger.security $basedist
6 # (i.e. the dist should not have a -security suffix)
9 if [ -n "$SSH_ORIGINAL_COMMAND" ]
11 set -- $SSH_ORIGINAL_COMMAND
12 # The name of the script will be put into $1 instead of $0,
13 # so shift the arguments to discard our name.
19 SECMASTERBUILDD=http://security-master.debian.org/buildd
20 BASEDIR="/org/wanna-build"
22 LIBTRIGGER="$BASEDIR/libtrigger.sh"
23 LOCKFILE="$TMPDIR/DB_Maintenance_In_Progress"
24 MERGELOG="$BASEDIR/db/merge.log"
28 if [ -z "$BASE_DIST" ]; then
29 echo "E: no base suite specified."
33 if lockfile -! -l 3600 "$LOCKFILE"; then
34 echo "Cannot lock $LOCKFILE"
45 exec 3<&1 >> "$MERGELOG" 2>&1
47 echo "security merge triggered for ${BASE_DIST}: `date`"
51 d="${BASE_DIST}-security"
53 archs=ARCHS_${BASE_DIST}
56 echo "fetching $SECMASTERBUILDD/${BASE_DIST}/Sources.gz..."
57 curl_index "$SECMASTERBUILDD/${BASE_DIST}/Sources.gz" "Sources-$d.accepted.gz" "Sources.$d.accepted"
59 # NB: There is only one Packages file in the directory, with all
60 # already built packages of all architectures in it. It could thus
61 # be reused for every one of them afterwards and quinn-diff will
62 # pick the right information.
63 echo "fetching $SECMASTERBUILDD/${BASE_DIST}/Packages.gz..."
64 curl_index "$SECMASTERBUILDD/${BASE_DIST}/Packages.gz" "Packages-$d.accepted.gz" "Packages.$d.accepted"
67 echo "processing $d/$a..."
68 quinn-diff -i -A $a -a "/srv/buildd.debian.org/web/quinn-diff/${BASE_DIST}/Packages-arch-specific" -s "Sources.$d.accepted" -p "Packages.$d.accepted" > "quinn-$d.$a.accepted" 2>/dev/null
69 wanna-build -d $d -b $a/build-db --merge-partial-quinn < "quinn-$d.$a.accepted"
70 wanna-build -d $d -b $a/build-db -A $a --merge-packages < "Packages.$d.accepted"
71 mv "quinn-$d.$a.accepted" "quinn-$d.$a.accepted-old"
74 mv "Sources.$d.accepted" "Sources.$d.accepted-old"
75 mv "Packages.$d.accepted" "Packages.$d.accepted-old"
77 echo "security merge for ${BASE_DIST} ended: `date`"