]> git.donarmstrong.com Git - wannabuild.git/blobdiff - triggers/common
triggers/common: add armhf and s390x to sid
[wannabuild.git] / triggers / common
index eee3339b791cceb4bde2a2321bc52893bbf5055e..7749fd214a2f6c5e0e0cd7bdd893a355454f1f6e 100644 (file)
@@ -9,10 +9,10 @@ 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"
-ARCHS_squeeze="amd64 armel hppa i386 ia64 mips mipsel powerpc s390 sparc kfreebsd-amd64 kfreebsd-i386"
-ARCHS_unstable="$ARCHS_squeeze alpha hurd-i386"
+ARCHS_squeeze="amd64 armel i386 ia64 mips mipsel powerpc s390 sparc kfreebsd-amd64 kfreebsd-i386"
+ARCHS_wheezy="amd64 armel i386 ia64 mips mipsel powerpc s390 sparc kfreebsd-amd64 kfreebsd-i386"
+ARCHS_sid="$ARCHS_squeeze hurd-i386 armhf s390x"
 
 # Creates a working environment within the corresponding archive
 # directory and jumps there.
@@ -25,62 +25,17 @@ ensure_workdir() {
 get_architectures() {
     SUITE="$1"
 
-    if [ "$SUITE" = "etch" -o "$SUITE" = "oldstable" ]; then echo $ARCHS_etch
-    elif [ "$SUITE" = "lenny" -o "$SUITE" = "stable" ]; then echo $ARCHS_lenny
-    elif [ "$SUITE" = "squeeze" -o "$SUITE" = "testing" ]; then echo $ARCHS_squeeze
-    elif [ "$SUITE" = "unstable" -o "$SUITE" = "sid" ]; then echo $ARCHS_unstable
-    elif [ "$SUITE" = "experimental" ]; then echo $ARCHS_unstable
+    if [ "$SUITE" = "lenny" -o "$SUITE" = "oldstable" ]; then echo $ARCHS_lenny
+    elif [ "$SUITE" = "squeeze" -o "$SUITE" = "stable" ]; then echo $ARCHS_squeeze
+    elif [ "$SUITE" = "wheezy" -o "$SUITE" = "testing" ]; then echo $ARCHS_wheezy
+    elif [ "$SUITE" = "unstable" -o "$SUITE" = "sid" ]; then echo $ARCHS_sid
+    elif [ "$SUITE" = "experimental" ]; then echo $ARCHS_sid
     else
-        echo "Unknown suite encountered, aborting." >2
+        echo "Unknown suite encountered, aborting." >&2
         exit 1
     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
-
-    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 --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
-    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
-    fi
-    echo "do_wb_merge_all $SUITE/$ARCH done"
-}
-
 cleanup() {
     rm -rf "$LOCKFILE"
 }
@@ -107,11 +62,22 @@ 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} || true
-    #for ARCH in ${ARCHS}; do
-    #trigger_wb_update_arch_loop "${SUITE}" "${ARCH}" "${SOURCES}" "${PACKAGES}" "${WB_SUITE}"
-    #done
+    keep-latest source $(eval echo ${SOURCES}) > Sources.${SUITE}
+    for ARCH in ${ARCHS}; do
+        keep-latest ${ARCH} $(eval echo $(echo ${PACKAGES} | sed -e 's/%ARCH%/${ARCH}/g')) > Packages.${SUITE}.${ARCH}
+        : > Packages.${SUITE}.${ARCH}.build-essential
+        for pkg in perl ; do
+            grep-dctrl -S -s Package,Version,Priority,Section,Architecture -X $pkg < Packages.${SUITE}.${ARCH} | sed -e '/^Version/ s,$,+build-essential,' >> Packages.${SUITE}.${ARCH}.build-essential
+        done
+        for pkg in make binutils dpkg-dev; do
+            grep-dctrl -S -s Package,Version,Priority,Section,Architecture -X $pkg < Packages.${SUITE}.${ARCH} | sed -e '/^Version/ s,$,+build-essential,' >> Packages.${SUITE}.${ARCH}.build-essential
+        done
+        grep-dctrl -F Priority required -s Package,Version,Priority,Section,Architecture < Packages.${SUITE}.${ARCH} | sed -e '/^Version/ s,$,+build-essential,' >> Packages.${SUITE}.${ARCH}.build-essential
+        grep-dctrl -F Essential -i yes -s Package,Version,Priority,Section,Architecture < Packages.${SUITE}.${ARCH} | sed -e '/^Version/ s,$,+build-essential,' >> Packages.${SUITE}.${ARCH}.build-essential
+    done
+    [ -f Packages.${SUITE}.i386.non-free ] && PNF="Packages.${SUITE}.%ARCH%.non-free" || PNF=""
+    [ -f Sources.${SUITE}.non-free ] && SNF="Sources.${SUITE}.non-free" || SNF=""
+    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% Packages.${SUITE}.%ARCH%.build-essential -- ${ARCHS} || true
 
     echo "`date`: ${ARCHIVE}/${SUITE} done"
 }
@@ -133,13 +99,18 @@ trigger_wb_update_for_overlay() {
 
     echo "`date`: Processing ${ARCHIVE}/${SUITE} ..."
 
-    new-keep-latest source $(eval echo ${SOURCES}) > Sources.${SUITE}
-    new-keep-latest source $(eval echo Sources.${SUITE} ${SOURCES_BASE}) > Sources.${SUITE}-all
-
-    parallel -l 5 -i trigger_wb_update_for_overlay_arch_loop "${SUITE}" "{}" "${SOURCES_BASE}" "${PACKAGES_BASE}" "${SOURCES}" "${PACKAGES}" "${WB_SUITE}" "${WHITELIST_FILE}" -- ${ARCHS} || true
-    #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
+    keep-latest source $(eval echo ${SOURCES}) > Sources.${SUITE}
+    keep-latest source $(eval echo Sources.${SUITE} ${SOURCES_BASE}) > Sources.${SUITE}-all
+    for ARCH in ${ARCHS}; do
+        keep-latest ${ARCH} $(eval echo $(echo ${PACKAGES} | sed -e 's/%ARCH%/${ARCH}/g')) > Packages.${SUITE}.${ARCH}
+        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" || PNF=""
+    [ -f Sources.${SUITE}.non-free ] && SNF="Sources.${SUITE}.non-free" || SNF=""
+    echo 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} 
+    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"
 }
@@ -165,13 +136,42 @@ trigger_wb_update_with_secondary() {
 
     echo "`date`: Processing ${ARCHIVE}/${SUITE} ..."
 
-    new-keep-latest source $(eval echo ${SOURCES}) > Sources.${SUITE}
+    keep-latest source $(eval echo ${SOURCES}) > Sources.${SUITE}
 
-    parallel -l 5 -i trigger_wb_update_arch_loop_with_secondary "${SUITE}" "{}" "${PACKAGES_BASE}" "${SOURCES}" "${PACKAGES}" "${WB_SUITE}" "${WHITELIST_FILE}" -- ${ARCHS} || true
-    #for ARCH in ${ARCHS}; do
-    #trigger_wb_update_arch_loop_with_secondary "${SUITE}" "${ARCH}" "${PACKAGES_BASE}" "${SOURCES}" "${PACKAGES}" "${WB_SUITE}" "${WHITELIST_FILE}"
-    #done
+    for ARCH in ${ARCHS}; do
+        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" || PNF=""
+    [ -f Sources.${SUITE}.non-free ] && SNF="Sources.${SUITE}.non-free" || SNF=""
+    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
+      if [ -f ${FILE} ]; then
+        case $FILE in
+            *.gz)
+                zcat $FILE
+                ;;
+            *.bz2)
+                bzcat $FILE
+                ;;
+            *)
+                cat $FILE
+                ;;
+        esac
+      fi
+    done
+}
+
+filter_out_nonfree() {
+    INPUT="$1"
+    OUTPUT="$2"
+
+    gunzip -c "$INPUT" | grep-dctrl -v -r -F Section 'non-free/.*' | gzip -c > "$OUTPUT"
+}
+