1 # vim:set et ts=4 sw=4 ft=bash ai:
6 PATH="/bin:/usr/bin:/org/wanna-build/bin:/org/buildd.debian.org/bin:/org/wanna-build/triggers"
7 ARCHIVE_MAIN="/org/wanna-build/tmp/archive/debian"
8 ARCHIVE_BASE="/org/wanna-build/tmp/archive/${ARCHIVE}"
9 PAS_BASE="/org/buildd.debian.org/web/quinn-diff"
10 LOCKFILE="${ARCHIVE_BASE}/lock"
11 ARCHS_etch="alpha amd64 arm hppa i386 ia64 mips mipsel powerpc s390 sparc"
12 ARCHS_lenny="alpha amd64 arm armel hppa i386 ia64 mips mipsel powerpc s390 sparc"
13 ARCHS_squeeze="amd64 armel hppa i386 ia64 mips mipsel powerpc s390 sparc kfreebsd-amd64 kfreebsd-i386"
14 ARCHS_unstable="$ARCHS_squeeze alpha hurd-i386"
16 # Creates a working environment within the corresponding archive
17 # directory and jumps there.
19 mkdir -p "${ARCHIVE_BASE}/workdir"
20 cd "${ARCHIVE_BASE}/workdir"
23 # Puts the list of architectures for a given suite onto stdout.
27 if [ "$SUITE" = "etch" -o "$SUITE" = "oldstable" ]; then echo $ARCHS_etch
28 elif [ "$SUITE" = "lenny" -o "$SUITE" = "stable" ]; then echo $ARCHS_lenny
29 elif [ "$SUITE" = "squeeze" -o "$SUITE" = "testing" ]; then echo $ARCHS_squeeze
30 elif [ "$SUITE" = "unstable" -o "$SUITE" = "sid" ]; then echo $ARCHS_unstable
31 elif [ "$SUITE" = "experimental" ]; then echo $ARCHS_unstable
33 echo "Unknown suite encountered, aborting." >2
38 # Runs quinn-diff with the right arguments.
45 -a "$PAS_BASE/$SUITE/Packages-arch-specific" \
47 -p Packages.$SUITE.$ARCH \
48 | filter-q-d "${WHITELIST_FILE}" > quinn-$SUITE.$ARCH 2>/dev/null
51 # Call wanna-build's importing function. WB_SUITE might differ from SUITE
52 # for other archives than the main one.
64 echo "do_wb_merge_all $SUITE/$ARCH started"
65 if test "$4" != "overlay" && test "$4" != "secondary"
67 wanna-build -v --merge-all --arch=$ARCH --dist=$WB_SUITE \
68 Packages.$SUITE.$ARCH quinn-$SUITE.$ARCH Sources.$SUITE
70 if [ "$4" = "overlay" ]
72 wanna-build -v --merge-all --arch=$ARCH --dist=$WB_SUITE \
73 Packages.$SUITE.$ARCH-all quinn-$SUITE.$ARCH Sources.$SUITE-all
75 if [ "$4" = "secondary" ]
77 wanna-build -v --merge-all-secondary --arch=$ARCH --dist=$WB_SUITE \
78 Packages.$SUITE.$ARCH quinn-$SUITE.$ARCH Sources.$SUITE Packages.$SUITE.$ARCH-all
80 echo "do_wb_merge_all $SUITE/$ARCH done"
88 if lockfile -! -r 10 -l 6000 "$LOCKFILE"
90 echo "Cannot lock $LOCKFILE, aborting."
102 if [ -z "$WB_SUITE" ]
107 echo "`date`: Processing ${ARCHIVE}/${SUITE} ..."
109 new-keep-latest source $(eval echo ${SOURCES}) > Sources.${SUITE}
110 parallel -l 5 -i trigger_wb_update_arch_loop "${SUITE}" "{}" "${SOURCES}" "${PACKAGES}" "${WB_SUITE}" -- ${ARCHS} || true
111 #for ARCH in ${ARCHS}; do
112 #trigger_wb_update_arch_loop "${SUITE}" "${ARCH}" "${SOURCES}" "${PACKAGES}" "${WB_SUITE}"
115 echo "`date`: ${ARCHIVE}/${SUITE} done"
118 trigger_wb_update_for_overlay() {
128 if [ -z "$WB_SUITE" ]
133 echo "`date`: Processing ${ARCHIVE}/${SUITE} ..."
135 new-keep-latest source $(eval echo ${SOURCES}) > Sources.${SUITE}
136 new-keep-latest source $(eval echo Sources.${SUITE} ${SOURCES_BASE}) > Sources.${SUITE}-all
138 parallel -l 5 -i trigger_wb_update_for_overlay_arch_loop "${SUITE}" "{}" "${SOURCES_BASE}" "${PACKAGES_BASE}" "${SOURCES}" "${PACKAGES}" "${WB_SUITE}" "${WHITELIST_FILE}" -- ${ARCHS} || true
139 #for ARCH in ${ARCHS}; do
140 #trigger_wb_update_for_overlay_arch_loop "${SUITE}" "${ARCH}" "${SOURCES_BASE}" "${PACKAGES_BASE}" "${SOURCES}" "${PACKAGES}" "${WB_SUITE}" "${WHITELIST_FILE}"
143 echo "`date`: ${ARCHIVE}/${SUITE} done"
146 # This is for the case where you get also get packages from
147 # a secondary unrelated suite, the buildd's chroot also has
148 # those packages files in it.
149 # Examples are *-{volatile,backports,edu} and experimental
150 # This is not for something like stable and proposed-updates
151 trigger_wb_update_with_secondary() {
160 if [ -z "$WB_SUITE" ]
165 echo "`date`: Processing ${ARCHIVE}/${SUITE} ..."
167 new-keep-latest source $(eval echo ${SOURCES}) > Sources.${SUITE}
169 parallel -l 5 -i trigger_wb_update_arch_loop_with_secondary "${SUITE}" "{}" "${PACKAGES_BASE}" "${SOURCES}" "${PACKAGES}" "${WB_SUITE}" "${WHITELIST_FILE}" -- ${ARCHS} || true
170 #for ARCH in ${ARCHS}; do
171 #trigger_wb_update_arch_loop_with_secondary "${SUITE}" "${ARCH}" "${PACKAGES_BASE}" "${SOURCES}" "${PACKAGES}" "${WB_SUITE}" "${WHITELIST_FILE}"
174 echo "`date`: ${ARCHIVE}/${SUITE} done"