So, I have a new version pasted below.
Now, I set $PATH for the script containing the three possible default paths. If
we then find, that the macOS default getopt is used, we start the lookup as
proposed before.
There is still some not so nice thing. This will only speed up things for users
using the default paths of brew and macports. All other users will make the
command -v tests. If we could persist the found path at least for the session,
it would be great. But I can not find a way to do this except writing a file
with the path somewhere, which feels wrong.
Any further suggestions?
diff --git a/src/platform/darwin.sh b/src/platform/darwin.sh
index 342ecce..787f5b0 100644
--- a/src/platform/darwin.sh
+++ b/src/platform/darwin.sh
@@ -43,6 +43,22 @@ qrcode() {
fi
}
-GETOPT="$(brew --prefix gnu-getopt 2>/dev/null || { which port &>/dev/null &&
echo /opt/local; } || echo /usr/local)/bin/getopt"
+export PATH="/usr/local/opt/gnu-getopt/bin:/opt/local/bin:/usr/local/bin:$PATH"
+if [ "$(command -v getopt)" = "/usr/bin/getopt" ]; then
+ GETOPT_PREFIX=""
+ if command -v brew >/dev/null; then
+ GETOPT_PREFIX="$(brew --prefix)/opt/gnu-getopt"
+ if ![ -x "$GETOPT_PREFIX/bin/getopt" ]; then
+ GETOPT_PREFIX=""
+ fi
+ elif [[ $GETOPT_PREFIX ]] && command -v port >/dev/null; then
+ GETOPT_PREFIX="/opt/local"
+ if ![ -x "GETOPT_PREFIX/bin/getopt" ]; then
+ GETOPT_PREFIX=""
+ fi
+ fi
+ GETOPT="${GETOPT_PREFIX:-/usr/local}/bin/getopt"
+fi
+
_______________________________________________
Password-Store mailing list
[email protected]
https://lists.zx2c4.com/mailman/listinfo/password-store