[--debian=distros]
[--ubuntu=distros]
[--centos=distros]
+ [--concurrency=level]
+ [--update=true|false]
[--upload]
EOF
exit $1
}
D0=`dirname $0`
ID_DEB_BUILD=`cd $D0; pwd`
-
+update=true
do_help=false
upload=false
+concurrency=8
ARCHS="i386 amd64"
while test $# -gt 0; do
case "$1" in
--centos=*)
CENTOS_DIST_A=$optarg
;;
+ --concurrency=*)
+ concurrency=$optarg
+ ;;
--upload)
upload=true
;;
+ --update=*)
+ update=$optarg
+ ;;
-*)
do_help=yes
;;
else
USE_ARCHS=$ARCHS
fi
+ rm -f ~/.pbuilderrc
+ i=0
+ cat ${ID_DEB_BUILD}/pbuilderrc > ~/.pbuilderrc
for dist in ${DEBIAN_DIST} ${UBUNTU_DIST}; do
for arch in ${USE_ARCHS}; do
- echo -n "dist=$dist arch=$arch"
- rm -f ~/.pbuilderrc
- echo "DIST=$dist" > ~/.pbuilderrc
- echo "ARCH=$arch" >> ~/.pbuilderrc
- cat ${ID_DEB_BUILD}/pbuilderrc >> ~/.pbuilderrc
- echo -n " update"
- if ! sudo lxc-attach -n pbuilder -- pbuilder --update --override-config >update-${dist}-${arch}.log 2>&1; then
- echo -n " create"
- if ! sudo lxc-attach -n pbuilder -- pbuilder --create >create-${dist}-${arch}.log 2>&1; then
- echo " failed. Inspect deb-src/create-${dist}-${arch}.log"
- exit 1
- fi
- echo -n " update"
- if ! sudo lxc-attach -n pbuilder -- pbuilder --update --override-config >update-${dist}-${arch}.log 2>&1; then
- echo " failed. Inspect deb-src/update-${dist}-${arch}.log"
+ ${ID_DEB_BUILD}/id-pbuild-root.sh --update=$update --dsc=$DSC --arch=$arch --dist=$dist &
+ i=`expr $i + 1`
+ if test $i -ge $concurrency; then
+ i=0
+ wait
+ if ! test -f ${dist}-${arch}/*.dsc; then
+ echo "FAILED: No .dsc file for ${dist}-${arch}"
exit 1
- fi
+ fi
fi
- echo -n " build"
- if sudo lxc-attach -n pbuilder -- pbuilder --build $DSC >build-${dist}-${arch}.log 2>&1; then
- echo " done"
- else
- echo " failed. Inspect deb-src/build-${dist}-${arch}.log"
+ done
+ done
+ wait
+ for dist in ${DEBIAN_DIST} ${UBUNTU_DIST}; do
+ for arch in ${USE_ARCHS}; do
+ if ! test -f ${dist}-${arch}/*.dsc; then
+ echo "FAILED: No .dsc file for ${dist}-${arch}"
exit 1
fi
done