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.
44 -a "$PAS_BASE/$SUITE/Packages-arch-specific" \
46 -p Packages.$SUITE.$ARCH \
47 > quinn-$SUITE.$ARCH 2>/dev/null
50 # Call wanna-build's importing function. WB_SUITE might differ from SUITE
51 # for other archives than the main one.
63 echo "do_wb_merge_all $SUITE/$ARCH started"
64 if test "$4" != "overlay" && test "$4" != "secondary"
66 wanna-build -v --merge-all --arch=$ARCH --dist=$WB_SUITE \
67 Packages.$SUITE.$ARCH quinn-$SUITE.$ARCH Sources.$SUITE
69 if [ "$4" = "overlay" ]
71 wanna-build -v --merge-all --arch=$ARCH --dist=$WB_SUITE \
72 Packages.$SUITE.$ARCH-all quinn-$SUITE.$ARCH Sources.$SUITE-all
74 if [ "$4" = "secondary" ]
76 wanna-build -v --merge-all-secondary --arch=$ARCH --dist=$WB_SUITE \
77 Packages.$SUITE.$ARCH quinn-$SUITE.$ARCH Sources.$SUITE Packages.$SUITE.$ARCH-all
79 echo "do_wb_merge_all $SUITE/$ARCH done"
87 if lockfile -! -r 10 -l 6000 "$LOCKFILE"
89 echo "Cannot lock $LOCKFILE, aborting."
101 if [ -z "$WB_SUITE" ]
106 echo "`date`: Processing ${ARCHIVE}/${SUITE} ..."
108 new-keep-latest source $(eval echo ${SOURCES}) > Sources.${SUITE}.full
109 for ARCH in ${ARCHS}; do
110 new-keep-latest ${ARCH} $(eval echo $(echo ${PACKAGES} | sed -e 's/%ARCH%/${ARCH}/g')) > Packages.${SUITE}.${ARCH}.full
112 filter-nonfree .full /org/wanna-build/etc/non-free-include-list Sources.${SUITE}.full $(for ARCH in ${ARCHS}; do echo Packages.${SUITE}.${ARCH}.full; done)
113 for ARCH in ${ARCHS}; do
114 do_quinn ${SUITE} ${ARCH}
115 do_wb_merge_all ${SUITE} ${ARCH} ${WB_SUITE}
118 echo "`date`: ${ARCHIVE}/${SUITE} done"
121 trigger_wb_update_for_overlay() {
131 if [ -z "$WB_SUITE" ]
136 echo "`date`: Processing ${ARCHIVE}/${SUITE} ..."
138 new-keep-latest source $(eval echo ${SOURCES}) > Sources.${SUITE}.full
139 new-keep-latest source $(eval echo Sources.${SUITE} ${SOURCES_BASE}) > Sources.${SUITE}-all
141 for ARCH in ${ARCHS}; do
142 new-keep-latest ${ARCH} $(eval echo $(echo ${PACKAGES} | sed -e 's/%ARCH%/${ARCH}/g')) > Packages.${SUITE}.${ARCH}.full
143 new-keep-latest ${ARCH} Packages.${SUITE}.${ARCH} $(eval echo $(echo ${PACKAGES_BASE} | sed -e 's/%ARCH%/${ARCH}/g')) > Packages.${SUITE}.${ARCH}-all.full
145 filter-nonfree .full /org/wanna-build/etc/non-free-include-list Sources.${SUITE}.full $(for ARCH in ${ARCHS}; do echo Packages.${SUITE}.${ARCH}.full; done)
146 for ARCH in ${ARCHS}; do
147 do_quinn ${SUITE} ${ARCH}
148 do_wb_merge_all ${SUITE} ${ARCH} ${WB_SUITE} overlay
151 echo "`date`: ${ARCHIVE}/${SUITE} done"
154 # This is for the case where you get also get packages from
155 # a secondary unrelated suite, the buildd's chroot also has
156 # those packages files in it.
157 # Examples are *-{volatile,backports,edu} and experimental
158 # This is not for something like stable and proposed-updates
159 trigger_wb_update_with_secondary() {
168 if [ -z "$WB_SUITE" ]
173 echo "`date`: Processing ${ARCHIVE}/${SUITE} ..."
175 new-keep-latest source $(eval echo ${SOURCES}) > Sources.${SUITE}.full
177 for ARCH in ${ARCHS}; do
178 new-keep-latest ${ARCH} $(eval echo $(echo ${PACKAGES} | sed -e 's/%ARCH%/${ARCH}/g')) > Packages.${SUITE}.${ARCH}.full
179 new-keep-latest ${ARCH} Packages.${SUITE}.${ARCH} $(eval echo $(echo ${PACKAGES_BASE} | sed -e 's/%ARCH%/${ARCH}/g')) > Packages.${SUITE}.${ARCH}-all.full
181 filter-nonfree .full /org/wanna-build/etc/non-free-include-list Sources.${SUITE}.full $(for ARCH in ${ARCHS}; do echo Packages.${SUITE}.${ARCH}.full Packages.${SUITE}.${ARCH}-all.full; done)
182 for ARCH in ${ARCHS}; do
183 do_quinn ${SUITE} ${ARCH}
184 do_wb_merge_all ${SUITE} ${ARCH} ${WB_SUITE} secondary
187 echo "`date`: ${ARCHIVE}/${SUITE} done"