set -e
package=$1
-image=pld/cleanbuild
-name=cleanbuild-$package
-
-# cleanup
-docker kill $name && docker rm $name || :
+test -n "$package" || exit 1
-#topdir=$(rpm -E %_topdir)
dir=$(pwd)
+image=pld/cleanbuild
+name=cleanbuild-$package
topdir=$dir/rpm
cache=$dir/cache
home=/home/services/builder
+buildsize="4G"
+
+# cleanup first
+docker kill $name || :
+docker rm $name || :
+
install -d $topdir/bin $cache/poldek
# start the container
-v $topdir:$home/rpm \
-v $dir:$home/cleanbuild \
-v $cache/poldek:/var/cache/poldek \
- --tmpfs $home/rpm/BUILD:rw,noexec,nosuid,size=2G \
+ -v $dir/ccache/$package:/home/services/builder/.ccache \
+ --tmpfs $home/rpm/BUILD:rw,exec,nosuid,size=$buildsize \
$image
if [ ! -d $topdir/packages ]; then
buildlog=${git_tag#auto/*/}.log
# remove .la dependencies
-cat > $topdir/bin/cleanup-la <<'EOF'
-#!/bin/sh
-find /usr/lib{,64} -name "*.la" -print0 | xargs -0 grep -El "dependency_libs='.+'"
-exit 0
-EOF
-chmod +x $topdir/bin/cleanup-la
-docker exec $name sh -xc '~/rpm/bin/cleanup-la'
+docker exec $name cleanbuild/cleanup-la
while true; do
docker exec $name cleanbuild/teeboth cleanbuild/$buildlog builder -nn -bb -R $package && rc=$? || rc=$?
# go for another try
$installed_something && continue
- # finished
if [ $rc -eq 0 ]; then
- break
+ # finished ok, cleanup
+ docker kill $name && docker rm $name || :
fi
-done
-# cleanup
-#docker kill $name && docker rm $name || :
+ # propagate error
+ exit $rc
+done