]> git.pld-linux.org Git - projects/cleanbuild.git/commitdiff
Add support to re-use container with --keep-container
authorElan Ruusamäe <glen@delfi.ee>
Sun, 29 Aug 2021 13:08:47 +0000 (16:08 +0300)
committerElan Ruusamäe <glen@delfi.ee>
Sun, 29 Aug 2021 13:08:47 +0000 (16:08 +0300)
bin/cleanbuild-docker.sh

index 8aa1482a5001de17822c99c5b137a1cde7473ca3..f559e17f1587f5975ff4cfc7f947274ee6b3c42a 100755 (executable)
@@ -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
This page took 1.031553 seconds and 4 git commands to generate.