From 98e025574135e6eab94939c11c6842d38984bb3d Mon Sep 17 00:00:00 2001 From: Elan Ruusamäe Date: Sun, 29 Aug 2021 16:08:47 +0300 Subject: Add support to re-use container with --keep-container diff --git a/bin/cleanbuild-docker.sh b/bin/cleanbuild-docker.sh index 8aa1482..f559e17 100755 --- a/bin/cleanbuild-docker.sh +++ b/bin/cleanbuild-docker.sh @@ -53,20 +53,32 @@ tmpfs() { echo "--tmpfs $home/rpm/BUILD:rw,exec,nosuid,size=$TMPFS" } +have_container() { + local name="$1" id + + id=$(docker ps -a -f "label=cleanbuild=$name" --format '{{.ID}}') + + test -n "$id" +} + create_container() { - notice "Clean up old container: $name" - docker kill $name >/dev/null 2>&1 || : - docker rm $name >/dev/null 2>&1 || : + if ! $KEEP_CONTAINER; then + notice "Clean up old container: $name" + docker kill $name >/dev/null 2>&1 || : + docker rm $name >/dev/null 2>&1 || : + fi install -d $topdir/logs # start the container - TMPFS_SIZE=$TMPFS \ - PACKAGE_NAME=$PACKAGE_NAME \ - docker-compose run --rm -d \ - --name=$name \ - --label=cleanbuild=$PACKAGE_NAME \ - cleanbuild + if ! have_container "$PACKAGE_NAME"; then + TMPFS_SIZE=$TMPFS \ + PACKAGE_NAME=$PACKAGE_NAME \ + docker-compose run --rm -d \ + --name=$name \ + --label=cleanbuild=$PACKAGE_NAME \ + cleanbuild + fi notice "Setup the homedir" docker exec --user=root -w / $name usermod -d $home builder @@ -89,6 +101,7 @@ package_prepare() { fi notice "Fetch package sources" + docker exec --user=root -w / $name setfacl -x u:builder /etc/resolv.conf docker exec $name builder -g $PACKAGE_NAME if ! $NETWORKING; then -- cgit v0.10.2