From 072a95068e1827a52d072adad21751e12bd86d36 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Fri, 18 Jun 2021 16:18:42 +0100 Subject: [PATCH] Introduce oot_preclean Signed-off-by: Ian Jackson --- nailing-cargo | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/nailing-cargo b/nailing-cargo index 6be72f2..6118487 100755 --- a/nailing-cargo +++ b/nailing-cargo @@ -95,6 +95,7 @@ our $online; our $just_linkfarm; our $leave_nailed; our $oot_clean; +our $oot_preclean; our $do_nail=1; our $do_cargo_lock=1; our $do_lock=1; @@ -578,6 +579,8 @@ sub addargs () { $cargo_lock_update ? 'shallow' : ''; + $oot_preclean //= 'no'; + our @add; if (!$cargo_lock_update) { @@ -633,6 +636,11 @@ sub oot_massage_cmdline () { bld="$1"; shift; sd="$1"; shift; src="$1"; shift; cd "$bld"; mkdir -p -- "$sd"; cd "$sd"; END_BOTH + if ($oot_preclean ne 'no') { + $pre.= "find . -maxdepth 1 ! -path ."; + $pre.= " ! -path ./target" if $oot_preclean ne 'full'; + $pre.= " -print0 | xargs -0r echo rm -r --;" + } if ($linkfarm_depth eq 'shallow') { $pre.= <<'END_SHALLOW'; clean () { find -lname "$src/*" -print0 | xargs -0r rm --; }; clean; @@ -1033,6 +1041,10 @@ sub parse_args () { $do_nail = $do_cargo_lock = $do_lock = 0; } elsif (m{^--(clean|keep)-linkfarm$}) { $oot_clean = $1 eq 'clean'; + } elsif (m{^--(no-)?preclean-linkfarm$}) { + $oot_preclean = $1 ? 'no' : 'src'; + } elsif (m{^--preclean-linkfarm=(no|src|full)$}) { + $oot_preclean = $1; } elsif (m{^--(no-)?nail$}) { $do_nail = !$1; } elsif (m{^--(no-)?cargo-lock-manip$}) { -- 2.30.2