summaryrefslogtreecommitdiff
path: root/fsmgr
diff options
context:
space:
mode:
authorAndrew Cady <d@jerkface.net>2019-06-18 15:06:50 -0400
committerAndrew Cady <d@jerkface.net>2019-06-18 15:06:50 -0400
commit233080a49eb0bc1b366891efd806aa70156750d0 (patch)
tree5c108fe85722b092a21d9bdd3b3830aea0d1bbc6 /fsmgr
parent521a56cb33be5de25114a5e69a8e40a7d1b83be4 (diff)
SKIP_BUILD env var works better
Diffstat (limited to 'fsmgr')
-rwxr-xr-xfsmgr21
1 files changed, 19 insertions, 2 deletions
diff --git a/fsmgr b/fsmgr
index 9ee4011..6d9079e 100755
--- a/fsmgr
+++ b/fsmgr
@@ -1,8 +1,25 @@
1#!/bin/sh 1#!/bin/sh
2die() { printf 'Error: %s\n' "$*" >&2; exit 1; } 2die() { printf 'Error: %s\n' "$*" >&2; exit 1; }
3root=$(stack path --local-install-root) || die "subcommand failed: 'stack path'" 3root=$(stack path --allow-different-user --local-install-root) || die "subcommand failed: 'stack path'"
4bin=$root/bin/fsmgr 4bin=$root/bin/fsmgr
5[ "$SKIP_BUILD" ] || stack build 5if [ "$SKIP_BUILD" ]
6then
7 if ! bin=$(which fsmgr)
8 then
9 prev=
10 for bin in .stack-work/install/*/*/*/bin/fsmgr
11 do
12 if [ "$prev" ] && [ "$prev" -nt "$bin" ]
13 then
14 bin=$prev
15 else
16 prev=$bin
17 fi
18 done
19 fi
20else
21 stack build
22fi
6case "$(id -u)" in 23case "$(id -u)" in
7 0) exec "$bin" "$@" ;; 24 0) exec "$bin" "$@" ;;
8 *) exec sudo -- "$bin" "$@" ;; 25 *) exec sudo -- "$bin" "$@" ;;