X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=triggers%2Fcommon;h=7749fd214a2f6c5e0e0cd7bdd893a355454f1f6e;hb=6beda758e2b8513e0a60bf439827e5cff4179737;hp=78fe9306782769fb2dcefb85e42d9035b4d9b1ed;hpb=29f14b9b1479ba71454ac82fbf169d3eef451f59;p=wannabuild.git diff --git a/triggers/common b/triggers/common index 78fe930..7749fd2 100644 --- a/triggers/common +++ b/triggers/common @@ -7,11 +7,12 @@ 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" -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. @@ -24,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 - 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" } @@ -106,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} - #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" } @@ -132,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} - #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" } @@ -164,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} - #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" +} +