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 alpha hppa hurd-i386"
# Creates a working environment within the corresponding archive
# directory and jumps there.
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
- # 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 --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"
-}
-
cleanup() {
rm -rf "$LOCKFILE"
}
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}
+ 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"
}
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"
}
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"
+}
+