X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=triggers%2Fcommon;h=71ce5cc3dd453a782b8292895dd7b6e17240d1d8;hb=6e1ebc1ea9656fbe7b7caa3a79a1035820421e76;hp=d48cbfc5dfe7eb5bf860645e2d7d8e62eace4ea2;hpb=e810b1094fa8c0f9fc4846d4121d079099b851a7;p=wannabuild.git diff --git a/triggers/common b/triggers/common index d48cbfc..71ce5cc 100644 --- a/triggers/common +++ b/triggers/common @@ -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" || 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% -- ${ARCHS} || true echo "`date`: ${ARCHIVE}/${SUITE} done" } @@ -125,12 +92,67 @@ 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" || 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 . 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" || 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 +}