]> git.donarmstrong.com Git - wannabuild.git/blobdiff - triggers/common
triggers/common: include non-free packages into the database
[wannabuild.git] / triggers / common
index d48cbfc5dfe7eb5bf860645e2d7d8e62eace4ea2..0c11a9c74f08861b99464581cefcb42ff36d78fc 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"
@@ -35,42 +36,6 @@ get_architectures() {
     fi
 }
 
-# Runs quinn-diff with the right arguments.
-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 \
-        | filter-q-d "${WHITELIST_FILE}" > quinn-$SUITE.$ARCH 2>/dev/null
-}
-
-# Call wanna-build's importing function.  WB_SUITE might differ from SUITE
-# for other archives than the main one.
-do_wb_merge_all() {
-    SUITE="$1"
-    ARCH="$2"
-    WB_SUITE="$3"
-    OPTIONS="$4"
-
-    if [ -z "$WB_SUITE" ]
-    then
-        WB_SUITE="$SUITE"
-    fi
-
-    if [ "$4" != "overlay" ]
-    then
-        wanna-build -v --merge-all --arch=$ARCH --dist=$WB_SUITE \
-            Packages.$SUITE.$ARCH quinn-$SUITE.$ARCH Sources.$SUITE
-    else
-        wanna-build -v --merge-all --arch=$ARCH --dist=$WB_SUITE \
-            Packages.$SUITE.$ARCH-all quinn-$SUITE.$ARCH Sources.$SUITE-all
-    fi
-}
-
 cleanup() {
     rm -rf "$LOCKFILE"
 }
@@ -98,10 +63,12 @@ trigger_wb_update() {
     echo "`date`: Processing ${ARCHIVE}/${SUITE} ..."
 
     new-keep-latest source $(eval echo ${SOURCES}) > Sources.${SUITE}
-    parallel -l 5 -i trigger_wb_update_arch_loop "${SUITE}" "{}" "${SOURCES}" "${PACKAGES}" "${WB_SUITE}" -- ${ARCHS}
-    #for ARCH in ${ARCHS}; do
-    #trigger_wb_update_arch_loop "${SUITE}" "${ARCH}" "${SOURCES}" "${PACKAGES}" "${WB_SUITE}"
-    #done
+    for ARCH in ${ARCHS}; do
+        new-keep-latest ${ARCH} $(eval echo $(echo ${PACKAGES} | sed -e 's/%ARCH%/${ARCH}/g')) > Packages.${SUITE}.${ARCH}
+    done
+    [ -f Packages.${SUITE}.i386.non-free ] && PNF="Packages.${SUITE}.%ARCH%.non-free"
+    [ -f Sources.${SUITE}.non-free ] && SNF="Sources.${SUITE}.non-free"
+    parallel -l 5 -i wanna-build -v --Pas ${PAS_FILE} --merge-v3 -A "{}" --dist=$WB_SUITE Packages.${SUITE}.%ARCH% $PNF . Sources.${SUITE} $SNF . Packages.${SUITE}.%ARCH% -- ${ARCHS} || true
 
     echo "`date`: ${ARCHIVE}/${SUITE} done"
 }
@@ -125,12 +92,65 @@ trigger_wb_update_for_overlay() {
 
     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}
+        new-keep-latest ${ARCH} Packages.${SUITE}.${ARCH} $(eval echo $(echo ${PACKAGES_BASE} | sed -e 's/%ARCH%/${ARCH}/g')) > Packages.${SUITE}.${ARCH}-all
+    done
+    [ -f Packages.${SUITE}.i386.non-free ] && PNF="Packages.${SUITE}.%ARCH%.non-free"
+    [ -f Sources.${SUITE}.non-free ] && SNF="Sources.${SUITE}.non-free"
+    parallel -l 5 -i wanna-build -v --Pas ${PAS_FILE} --merge-v3 -A "{}" --dist=$WB_SUITE Packages.${SUITE}.%ARCH% $PNF . Sources.${SUITE} $SNF . \
+        Packages.${SUITE}.%ARCH%-all . Sources.${SUITE}-all $SNF -- ${ARCHS} || true
+
+    echo "`date`: ${ARCHIVE}/${SUITE} done"
+}
 
-    parallel -l 5 -i trigger_wb_update_for_overlay_arch_loop "${SUITE}" "{}" "${SOURCES_BASE}" "${PACKAGES_BASE}" "${SOURCES}" "${PACKAGES}" "${WB_SUITE}" "${WHITELIST_FILE}" -- ${ARCHS}
-    #for ARCH in ${ARCHS}; do
-    #trigger_wb_update_for_overlay_arch_loop "${SUITE}" "${ARCH}" "${SOURCES_BASE}" "${PACKAGES_BASE}" "${SOURCES}" "${PACKAGES}" "${WB_SUITE}" "${WHITELIST_FILE}"
-    #done
+# This is for the case where you get also get packages from
+# a secondary unrelated suite, the buildd's chroot also has
+# those packages files in it.
+# Examples are *-{volatile,backports,edu} and experimental
+# This is not for something like stable and proposed-updates
+trigger_wb_update_with_secondary() {
+    SUITE="$1"
+    ARCHS="$2"
+    PACKAGES_BASE="$3"
+    SOURCES="$4"
+    PACKAGES="$5"
+    WB_SUITE="$6"
+    WHITELIST_FILE="$7"
+
+    if [ -z "$WB_SUITE" ]
+    then
+        WB_SUITE="${SUITE}"
+    fi
+
+    echo "`date`: Processing ${ARCHIVE}/${SUITE} ..."
+
+    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}
+        ucat Packages.${SUITE}.${ARCH} $(eval echo $(echo ${PACKAGES_BASE} | sed -e 's/%ARCH%/${ARCH}/g')) > Packages.${SUITE}.${ARCH}-all
+    done
+    [ -f Packages.${SUITE}.i386.non-free ] && PNF="Packages.${SUITE}.%ARCH%.non-free"
+    [ -f Sources.${SUITE}.non-free ] && SNF="Sources.${SUITE}.non-free"
+    parallel -l 5 -i wanna-build -v --Pas ${PAS_FILE} --merge-v3 -A "{}" --dist=$WB_SUITE Packages.${SUITE}.%ARCH% $PNF . Sources.${SUITE} $SNF . \
+        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
+}