Skip to content

Commit 033e3b8

Browse files
committed
Updated install_ipm script
1 parent dcb7f03 commit 033e3b8

1 file changed

Lines changed: 25 additions & 27 deletions

File tree

install_ipm.sh

Lines changed: 25 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,19 @@
22
set -e
33

44
APPNAME="ipm"
5-
INSTALL_DIR="$HOME/.local/share/$APPNAME"
6-
BIN_PATH="/usr/local/bin/$APPNAME"
5+
6+
# Universal cross-platform user-level bin directory
7+
INSTALL_DIR="$HOME/.local/bin"
78

89
# Detect OS + ARCH
910
OS="$(uname | tr '[:upper:]' '[:lower:]')"
1011
ARCH="$(uname -m)"
1112

1213
# Normalize architecture
13-
if [ "$ARCH" = "x86_64" ]; then
14-
ARCH="amd64"
15-
elif [ "$ARCH" = "aarch64" ]; then
16-
ARCH="arm64"
17-
fi
14+
case "$ARCH" in
15+
x86_64) ARCH="amd64" ;;
16+
aarch64) ARCH="arm64" ;;
17+
esac
1818

1919
EXT=""
2020
if [[ "$OS" == "mingw"* || "$OS" == "cygwin"* || "$OS" == "msys"* ]]; then
@@ -25,40 +25,38 @@ fi
2525
DOWNLOAD_URL="https://github.com/HexmosTech/freeDevTools/releases/latest/download/ipm-$OS-$ARCH$EXT"
2626
TARGET="$INSTALL_DIR/$APPNAME$EXT"
2727

28-
# Check if binary exists and is valid
28+
mkdir -p "$INSTALL_DIR"
29+
30+
# Check if valid binary already exists
2931
if [[ -f "$TARGET" ]]; then
3032
if [[ "$OS" != "windows" ]]; then
3133
if [[ -x "$TARGET" ]] && file "$TARGET" | grep -q 'ELF\|Mach-O'; then
32-
echo "==> $APPNAME already installed and valid at $TARGET, skipping installation."
34+
echo "==> $APPNAME already installed and valid at $TARGET"
35+
echo "Run it using: $APPNAME"
36+
exit 0
3337
else
34-
echo "==> $APPNAME binary is invalid, re-downloading..."
38+
echo "==> Invalid binary found, reinstalling..."
3539
rm -f "$TARGET"
36-
NEED_INSTALL=true
3740
fi
3841
else
39-
echo "==> $APPNAME already exists at $TARGET, skipping installation."
42+
echo "==> $APPNAME already exists at $TARGET"
43+
echo "Run it using: $TARGET"
44+
exit 0
4045
fi
4146
fi
4247

43-
if [[ ! -f "$TARGET" || "$NEED_INSTALL" == true ]]; then
44-
echo "==> Installing $APPNAME ($OS-$ARCH) to $INSTALL_DIR ..."
45-
mkdir -p "$INSTALL_DIR"
46-
47-
echo "==> Downloading from $DOWNLOAD_URL ..."
48-
curl -L "$DOWNLOAD_URL" -o "$TARGET"
48+
echo "==> Installing $APPNAME ($OS-$ARCH) to $INSTALL_DIR ..."
49+
echo "==> Downloading from $DOWNLOAD_URL ..."
50+
curl -L "$DOWNLOAD_URL" -o "$TARGET"
4951

50-
# Only chmod on Unix
51-
if [[ "$OS" != "windows" ]]; then
52-
chmod +x "$TARGET"
53-
echo "==> Creating symlink at $BIN_PATH ..."
54-
sudo ln -sf "$TARGET" "$BIN_PATH"
55-
fi
56-
57-
echo "==> Installation complete!"
52+
if [[ "$OS" != "windows" ]]; then
53+
chmod +x "$TARGET"
5854
fi
5955

56+
echo "==> Installation complete!"
57+
6058
if [[ "$OS" == "windows" ]]; then
61-
echo "Run it using: $INSTALL_DIR\\$APPNAME$EXT"
59+
echo "Run it using: $TARGET"
6260
else
6361
echo "Run it using: $APPNAME"
6462
fi

0 commit comments

Comments
 (0)