=== modified file 'functions/clone-depend-if-changed' --- functions/clone-depend-if-changed 2017-12-01 17:13:06 +0000 +++ functions/clone-depend-if-changed 2017-12-01 16:44:57 +0000 @@ -1,8 +1,4 @@ init-build-dir-vars -while grep -q "^[^ ]\\+ ${vars[build_dir]:A} " /proc/mounts; do - umount ${vars[build_dir]:A} || die "Failed to umount ${(qqq)vars[build_dir]}" -done - depend "$@" %build_dir=source_dir %fstab local -a mount_opts @@ -14,14 +10,13 @@ vars[fstab]+="overlay ${vars[build_dir]:A} overlay ${(j:,:)mount_opts} 0 0 " -mount -a --fstab /dev/stdin <<<$vars[fstab] \ - || die "Failed to mount ${(qqq)vars[build_dir]}" -grep -q "^overlay ${vars[build_dir]:A} overlay" /proc/mounts \ - || die "Not visible as mounted: ${(qqq)vars[build_dir]}" - hash-changes exit-if-unchanged +while grep -q "^[^ ]\\+ ${vars[build_dir]:A} " /proc/mounts; do + umount ${vars[build_dir]:A} || die "Failed to umount ${(qqq)vars[build_dir]}" +done + local remove [[ -e $vars[changes_dir] ]] && remove+=( $vars[changes_dir]/*(DN) ) @@ -32,4 +27,8 @@ mkdir -p $vars[changes_dir] $vars[work_dir] $vars[build_dir] \ || die "Failed to create work directories" +mount -a --fstab /dev/stdin <<<$vars[fstab] \ + || die "Failed to mount ${(qqq)vars[build_dir]}" +grep -q "^overlay ${vars[build_dir]:A} overlay" /proc/mounts \ + || die "Not visible as mounted: ${(qqq)vars[build_dir]}" # vim: fileencoding=utf8 ft=zsh noet sw=4 ts=4 sts=4