summaryrefslogtreecommitdiff
path: root/fsmgr
diff options
context:
space:
mode:
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" "$@" ;;