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 PAS_FILE="$PAS_BASE/$SUITE/Packages-arch-specific"
11 LOCKFILE="${ARCHIVE_BASE}/lock"
12 ARCHS_etch="alpha amd64 arm hppa i386 ia64 mips mipsel powerpc s390 sparc"
13 ARCHS_lenny="alpha amd64 arm armel hppa i386 ia64 mips mipsel powerpc s390 sparc"
14 ARCHS_squeeze="amd64 armel hppa i386 ia64 mips mipsel powerpc s390 sparc kfreebsd-amd64 kfreebsd-i386"
15 ARCHS_unstable="$ARCHS_squeeze alpha hurd-i386"
17 # Creates a working environment within the corresponding archive
18 # directory and jumps there.
20 mkdir -p "${ARCHIVE_BASE}/workdir"
21 cd "${ARCHIVE_BASE}/workdir"
24 # Puts the list of architectures for a given suite onto stdout.
28 if [ "$SUITE" = "etch" -o "$SUITE" = "oldstable" ]; then echo $ARCHS_etch
29 elif [ "$SUITE" = "lenny" -o "$SUITE" = "stable" ]; then echo $ARCHS_lenny
30 elif [ "$SUITE" = "squeeze" -o "$SUITE" = "testing" ]; then echo $ARCHS_squeeze
31 elif [ "$SUITE" = "unstable" -o "$SUITE" = "sid" ]; then echo $ARCHS_unstable
32 elif [ "$SUITE" = "experimental" ]; then echo $ARCHS_unstable
34 echo "Unknown suite encountered, aborting." >2
39 # Runs quinn-diff with the right arguments.
46 -a "$PAS_BASE/$SUITE/Packages-arch-specific" \
48 -p Packages.$SUITE.$ARCH \
49 | filter-q-d "${WHITELIST_FILE}" > quinn-$SUITE.$ARCH 2>/dev/null
52 # Call wanna-build's importing function. WB_SUITE might differ from SUITE
53 # for other archives than the main one.
65 echo "do_wb_merge_all $SUITE/$ARCH started"
66 if test "$4" != "overlay" && test "$4" != "secondary"
68 #wanna-build -v --merge-all --arch=$ARCH --dist=$WB_SUITE Packages.$SUITE.$ARCH quinn-$SUITE.$ARCH Sources.$SUITE
69 wanna-build -v --Pas ${PAS_FILE} --merge-v3 --arch=$ARCH --dist=$WB_SUITE Packages.$SUITE.$ARCH . Sources.$SUITE
71 if [ "$4" = "overlay" ]
73 #wanna-build -v --merge-all --arch=$ARCH --dist=$WB_SUITE Packages.$SUITE.$ARCH-all quinn-$SUITE.$ARCH Sources.$SUITE-all
74 # this currently makes the packages unknown to wanna-build. Perhaps we should keep them in pseudo-installed or so. Hm.
75 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
77 if [ "$4" = "secondary" ]
79 #wanna-build -v --merge-all-secondary --arch=$ARCH --dist=$WB_SUITE Packages.$SUITE.$ARCH quinn-$SUITE.$ARCH Sources.$SUITE Packages.$SUITE.$ARCH-all
80 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
82 echo "do_wb_merge_all $SUITE/$ARCH done"
90 if lockfile -! -r 10 -l 6000 "$LOCKFILE"
92 echo "Cannot lock $LOCKFILE, aborting."
104 if [ -z "$WB_SUITE" ]
109 echo "`date`: Processing ${ARCHIVE}/${SUITE} ..."
111 new-keep-latest source $(eval echo ${SOURCES}) > Sources.${SUITE}
112 for ARCH in ${ARCHS}; do
113 new-keep-latest ${ARCH} $(eval echo $(echo ${PACKAGES} | sed -e 's/%ARCH%/${ARCH}/g')) > Packages.${SUITE}.${ARCH}
115 parallel -l 5 -i wanna-build -v --Pas ${PAS_FILE} --merge-v3 --arch="{}" --dist=$WB_SUITE Packages.%SUITE%.%ARCH% . Sources.%SUITE% -- ${ARCHS} || true
117 echo "`date`: ${ARCHIVE}/${SUITE} done"
120 trigger_wb_update_for_overlay() {
130 if [ -z "$WB_SUITE" ]
135 echo "`date`: Processing ${ARCHIVE}/${SUITE} ..."
137 new-keep-latest source $(eval echo ${SOURCES}) > Sources.${SUITE}
138 new-keep-latest source $(eval echo Sources.${SUITE} ${SOURCES_BASE}) > Sources.${SUITE}-all
139 for ARCH in ${ARCHS}; do
140 new-keep-latest ${ARCH} $(eval echo $(echo ${PACKAGES} | sed -e 's/%ARCH%/${ARCH}/g')) > Packages.${SUITE}.${ARCH}
141 new-keep-latest ${ARCH} Packages.${SUITE}.${ARCH} $(eval echo $(echo ${PACKAGES_BASE} | sed -e 's/%ARCH%/${ARCH}/g')) > Packages.${SUITE}.${ARCH}-all
143 parallel -l 5 -i wanna-build -v --Pas ${PAS_FILE} --merge-v3 --arch="{}" --dist=$WB_SUITE Packages.%SUITE%.%ARCH% . Sources.%SUITE% . \
144 Packages.%SUITE%.%ARCH%-all . Sources.%SUITE%-all -- ${ARCHS} || true
146 echo "`date`: ${ARCHIVE}/${SUITE} done"
149 # This is for the case where you get also get packages from
150 # a secondary unrelated suite, the buildd's chroot also has
151 # those packages files in it.
152 # Examples are *-{volatile,backports,edu} and experimental
153 # This is not for something like stable and proposed-updates
154 trigger_wb_update_with_secondary() {
163 if [ -z "$WB_SUITE" ]
168 echo "`date`: Processing ${ARCHIVE}/${SUITE} ..."
170 new-keep-latest source $(eval echo ${SOURCES}) > Sources.${SUITE}
172 for ARCH in ${ARCHS}; do
173 new-keep-latest ${ARCH} $(eval echo $(echo ${PACKAGES} | sed -e 's/%ARCH%/${ARCH}/g')) > Packages.${SUITE}.${ARCH}
174 ucat Packages.${SUITE}.${ARCH} $(eval echo $(echo ${PACKAGES_BASE} | sed -e 's/%ARCH%/${ARCH}/g')) > Packages.${SUITE}.${ARCH}-all
176 parallel -l 5 -i wanna-build -v --Pas ${PAS_FILE} --merge-v3 --arch="{}" --dist=$WB_SUITE Packages.%SUITE%.%ARCH% . Sources.%SUITE% . \
177 Packages.%SUITE%.%ARCH%-all -- ${ARCHS} || true
179 echo "`date`: ${ARCHIVE}/${SUITE} done"