Avoid to manually cleanup of subvolumes when a build was successful.
Really useful with random copy directory.

Signed-off-by: Sébastien Luttringer <[email protected]>
---
 makechrootpkg.in | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/makechrootpkg.in b/makechrootpkg.in
index 0e2d5c0..3f160bc 100644
--- a/makechrootpkg.in
+++ b/makechrootpkg.in
@@ -23,6 +23,7 @@ chrootdir=
 passeddir=
 declare -a install_pkgs
 declare -i ret=0
+no_purge=false
 
 default_copy=$USER
 [[ -n $SUDO_USER ]] && default_copy=$SUDO_USER
@@ -58,10 +59,11 @@ usage() {
        echo '           Useful for maintaining multiple copies.'
        echo "           Default: $default_copy or random for btrfs"
        echo '-n         Run namcap on the package'
+       echo "-p         Don't purge the chroot copy after succesful build 
(btrfs only)"
        exit 1
 }
 
-while getopts 'hcudr:I:l:n' arg; do
+while getopts 'hcudr:I:l:np' arg; do
        case "$arg" in
                h) usage ;;
                c) clean_first=true ;;
@@ -71,6 +73,7 @@ while getopts 'hcudr:I:l:n' arg; do
                I) install_pkgs+=("$OPTARG") ;;
                l) copy="$OPTARG" ;;
                n) run_namcap=true; makepkg_args="$makepkg_args -i" ;;
+               p) no_purge=true ;;
                *) makepkg_args="$makepkg_args -$arg $OPTARG" ;;
        esac
 done
@@ -321,4 +324,8 @@ done
 
 if (( ret != 0 )); then
        die "Build failed, check $copydir/build"
+elif [[ "$chroottype" == btrfs ]] && ! $no_purge; then
+       btrfs subvolume delete "$copydir" >/dev/null ||
+               error "Unable to delete subvolume $copydir"
+       rm "$copydir.lock"
 fi
-- 
Sébastien "Seblu" Luttringer

Reply via email to