commit 98e025574135e6eab94939c11c6842d38984bb3d
Author: Elan Ruusamäe <[email protected]>
Date:   Sun Aug 29 16:08:47 2021 +0300

    Add support to re-use container with --keep-container

 bin/cleanbuild-docker.sh | 31 ++++++++++++++++++++++---------
 1 file changed, 22 insertions(+), 9 deletions(-)
---
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
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/projects/cleanbuild.git/commitdiff/eb07c8d6582cadef8a50e97c53963501c981f4e9

_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to