]> git.donarmstrong.com Git - wannabuild.git/blobdiff - triggers/common
triggers/common: inline triggers/trigger_wb_update_*
[wannabuild.git] / triggers / common
index 18408e6ccc56359ead1ba63114b2677c721c1d87..a31c7ce48e101c657a7d9490c48770a21d728d89 100644 (file)
@@ -7,6 +7,7 @@ PATH="/bin:/usr/bin:/org/wanna-build/bin:/org/buildd.debian.org/bin:/org/wanna-b
 ARCHIVE_MAIN="/org/wanna-build/tmp/archive/debian"
 ARCHIVE_BASE="/org/wanna-build/tmp/archive/${ARCHIVE}"
 PAS_BASE="/org/buildd.debian.org/web/quinn-diff"
+PAS_FILE="$PAS_BASE/$SUITE/Packages-arch-specific"
 LOCKFILE="${ARCHIVE_BASE}/lock"
 ARCHS_etch="alpha amd64 arm hppa i386 ia64 mips mipsel powerpc s390 sparc"
 ARCHS_lenny="alpha amd64 arm armel hppa i386 ia64 mips mipsel powerpc s390 sparc"
@@ -39,12 +40,13 @@ get_architectures() {
 do_quinn() {
     SUITE="$1"
     ARCH="$2"
+    WHITELIST_FILE="$3"
     quinn-diff \
         -A $ARCH \
         -a "$PAS_BASE/$SUITE/Packages-arch-specific" \
         -s Sources.$SUITE \
         -p Packages.$SUITE.$ARCH \
-        > quinn-$SUITE.$ARCH 2>/dev/null
+        | filter-q-d "${WHITELIST_FILE}" > quinn-$SUITE.$ARCH 2>/dev/null
 }
 
 # Call wanna-build's importing function.  WB_SUITE might differ from SUITE
@@ -63,18 +65,19 @@ do_wb_merge_all() {
     echo "do_wb_merge_all $SUITE/$ARCH started"
     if test "$4" != "overlay" && test "$4" != "secondary"
     then
-        wanna-build -v --merge-all --arch=$ARCH --dist=$WB_SUITE \
-            Packages.$SUITE.$ARCH quinn-$SUITE.$ARCH Sources.$SUITE
+        #wanna-build -v --merge-all --arch=$ARCH --dist=$WB_SUITE Packages.$SUITE.$ARCH quinn-$SUITE.$ARCH Sources.$SUITE
+        wanna-build -v --Pas ${PAS_FILE} --merge-v3 --arch=$ARCH --dist=$WB_SUITE Packages.$SUITE.$ARCH . Sources.$SUITE
     fi
     if [ "$4" = "overlay" ]
     then
-        wanna-build -v --merge-all --arch=$ARCH --dist=$WB_SUITE \
-            Packages.$SUITE.$ARCH-all quinn-$SUITE.$ARCH Sources.$SUITE-all
+        #wanna-build -v --merge-all --arch=$ARCH --dist=$WB_SUITE Packages.$SUITE.$ARCH-all quinn-$SUITE.$ARCH Sources.$SUITE-all
+        # this currently makes the packages unknown to wanna-build. Perhaps we should keep them in pseudo-installed or so. Hm.
+        wanna-build -v --Pas ${PAS_FILE} --merge-v3 --arch=$ARCH --dist=$WB_SUITE Packages.$SUITE.$ARCH . Sources.$SUITE . Packages.$SUITE.$ARCH-all . Sources.$SUITE-all
     fi
     if [ "$4" = "secondary" ]
     then
-        wanna-build -v --merge-all-secondary --arch=$ARCH --dist=$WB_SUITE \
-            Packages.$SUITE.$ARCH quinn-$SUITE.$ARCH Sources.$SUITE Packages.$SUITE.$ARCH-all
+        #wanna-build -v --merge-all-secondary --arch=$ARCH --dist=$WB_SUITE Packages.$SUITE.$ARCH quinn-$SUITE.$ARCH Sources.$SUITE Packages.$SUITE.$ARCH-all
+        wanna-build -v --Pas ${PAS_FILE} --merge-v3 --arch=$ARCH --dist=$WB_SUITE Packages.$SUITE.$ARCH . Sources.$SUITE . Packages.$SUITE.$ARCH-all . Sources.$SUITE-all
     fi
     echo "do_wb_merge_all $SUITE/$ARCH done"
 }
@@ -105,15 +108,11 @@ trigger_wb_update() {
 
     echo "`date`: Processing ${ARCHIVE}/${SUITE} ..."
 
-    new-keep-latest source $(eval echo ${SOURCES}) > Sources.${SUITE}.full
+    new-keep-latest source $(eval echo ${SOURCES}) > Sources.${SUITE}
     for ARCH in ${ARCHS}; do
-        new-keep-latest ${ARCH} $(eval echo $(echo ${PACKAGES} | sed -e 's/%ARCH%/${ARCH}/g')) > Packages.${SUITE}.${ARCH}.full
-    done
-    filter-nonfree .full /org/wanna-build/etc/non-free-include-list Sources.${SUITE}.full $(for ARCH in ${ARCHS}; do echo Packages.${SUITE}.${ARCH}.full; done)
-    for ARCH in ${ARCHS}; do
-        do_quinn ${SUITE} ${ARCH}
-        do_wb_merge_all ${SUITE} ${ARCH} ${WB_SUITE}
+        new-keep-latest ${ARCH} $(eval echo $(echo ${PACKAGES} | sed -e 's/%ARCH%/${ARCH}/g')) > Packages.${SUITE}.${ARCH}
     done
+    parallel -l 5 -i wanna-build -v --Pas ${PAS_FILE} --merge-v3 --arch="{}" --dist=$WB_SUITE Packages.%SUITE%.%ARCH% . Sources.%SUITE% -- ${ARCHS} || true
 
     echo "`date`: ${ARCHIVE}/${SUITE} done"
 }
@@ -135,18 +134,14 @@ trigger_wb_update_for_overlay() {
 
     echo "`date`: Processing ${ARCHIVE}/${SUITE} ..."
 
-    new-keep-latest source $(eval echo ${SOURCES}) > Sources.${SUITE}.full
+    new-keep-latest source $(eval echo ${SOURCES}) > Sources.${SUITE}
     new-keep-latest source $(eval echo Sources.${SUITE} ${SOURCES_BASE}) > Sources.${SUITE}-all
-
-    for ARCH in ${ARCHS}; do
-        new-keep-latest ${ARCH} $(eval echo $(echo ${PACKAGES} | sed -e 's/%ARCH%/${ARCH}/g')) > Packages.${SUITE}.${ARCH}.full
-        new-keep-latest ${ARCH} Packages.${SUITE}.${ARCH} $(eval echo $(echo ${PACKAGES_BASE} | sed -e 's/%ARCH%/${ARCH}/g')) > Packages.${SUITE}.${ARCH}-all.full
-    done
-    filter-nonfree .full /org/wanna-build/etc/non-free-include-list Sources.${SUITE}.full $(for ARCH in ${ARCHS}; do echo Packages.${SUITE}.${ARCH}.full; done)
     for ARCH in ${ARCHS}; do
-        do_quinn ${SUITE} ${ARCH}
-        do_wb_merge_all ${SUITE} ${ARCH} ${WB_SUITE} overlay
+        new-keep-latest ${ARCH} $(eval echo $(echo ${PACKAGES} | sed -e 's/%ARCH%/${ARCH}/g')) > Packages.${SUITE}.${ARCH}
+        new-keep-latest ${ARCH} Packages.${SUITE}.${ARCH} $(eval echo $(echo ${PACKAGES_BASE} | sed -e 's/%ARCH%/${ARCH}/g')) > Packages.${SUITE}.${ARCH}-all
     done
+    parallel -l 5 -i wanna-build -v --Pas ${PAS_FILE} --merge-v3 --arch="{}" --dist=$WB_SUITE Packages.%SUITE%.%ARCH% . Sources.%SUITE% . \
+        Packages.%SUITE%.%ARCH%-all . Sources.%SUITE%-all -- ${ARCHS} || true
 
     echo "`date`: ${ARCHIVE}/${SUITE} done"
 }
@@ -172,18 +167,30 @@ trigger_wb_update_with_secondary() {
 
     echo "`date`: Processing ${ARCHIVE}/${SUITE} ..."
 
-    new-keep-latest source $(eval echo ${SOURCES}) > Sources.${SUITE}.full
+    new-keep-latest source $(eval echo ${SOURCES}) > Sources.${SUITE}
 
     for ARCH in ${ARCHS}; do
-        new-keep-latest ${ARCH} $(eval echo $(echo ${PACKAGES} | sed -e 's/%ARCH%/${ARCH}/g')) > Packages.${SUITE}.${ARCH}.full
-        new-keep-latest ${ARCH} Packages.${SUITE}.${ARCH} $(eval echo $(echo ${PACKAGES_BASE} | sed -e 's/%ARCH%/${ARCH}/g')) > Packages.${SUITE}.${ARCH}-all.full
-    done
-    filter-nonfree .full /org/wanna-build/etc/non-free-include-list Sources.${SUITE}.full $(for ARCH in ${ARCHS}; do echo Packages.${SUITE}.${ARCH}.full Packages.${SUITE}.${ARCH}-all.full; done)
-    for ARCH in ${ARCHS}; do
-        do_quinn ${SUITE} ${ARCH}
-        do_wb_merge_all ${SUITE} ${ARCH} ${WB_SUITE} secondary
+        new-keep-latest ${ARCH} $(eval echo $(echo ${PACKAGES} | sed -e 's/%ARCH%/${ARCH}/g')) > Packages.${SUITE}.${ARCH}
+        ucat Packages.${SUITE}.${ARCH} $(eval echo $(echo ${PACKAGES_BASE} | sed -e 's/%ARCH%/${ARCH}/g')) > Packages.${SUITE}.${ARCH}-all
     done
+    parallel -l 5 -i wanna-build -v --Pas ${PAS_FILE} --merge-v3 --arch="{}" --dist=$WB_SUITE Packages.%SUITE%.%ARCH% . Sources.%SUITE% . \
+        Packages.%SUITE%.%ARCH%-all -- ${ARCHS} || true
 
     echo "`date`: ${ARCHIVE}/${SUITE} done"
 }
 
+ucat() {
+    for FILE in $*; do
+        case $FILE in
+            *.gz)
+                zcat $FILE
+                ;;
+            *.bz2)
+                bzcat $FILE
+                ;;
+            *)
+                cat $FILE
+                ;;
+        esac
+    done
+}