42 lines
1.2 KiB
Bash
Executable File
42 lines
1.2 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
# install the heartbeat client, hbc. The server is installed when the arg 'server' is passed
|
|
# to the script. The script will install the heartbeat tools in a python
|
|
# virtual environment in ~/venvs/hbd. The hbd and hbc commands will be
|
|
# installed from the wheel and symlinked to ~/bin/hbd and ~/bin/hbc,
|
|
# respectively. If the virtual environment already exists, it will be
|
|
# reused. The script will also remove any existing symlinks for hbd and hbc
|
|
# in ~/bin before creating new ones.
|
|
|
|
|
|
# hbd/hbc from wheel and create symlinks for hbd and hbc in ~/bin
|
|
|
|
set -e
|
|
what=$1
|
|
|
|
for where in ~/.local/bin ~/bin; do
|
|
if echo ":$PATH:" | grep -q ":$where:" ]; then
|
|
break
|
|
fi
|
|
done
|
|
|
|
if [ "$what" = "server" ]; then
|
|
echo "Installing heartbeat server (hbd)"
|
|
else
|
|
what="client"
|
|
echo "Installing heartbeat client (hbc)"
|
|
fi
|
|
if [ ! -d ~/venvs/hbd ]; then
|
|
mkdir -p ~/venvs
|
|
python3 -m venv ~/venvs/hbd --system-site-packages
|
|
fi
|
|
. ~/venvs/hbd/bin/activate
|
|
pip install --index-url https://git.wrede.ca/api/packages/andreas/pypi/simple/ --extra-index-url https://pypi.org/simple hbd[$what]
|
|
if [ "$what" = "server" ]; then
|
|
rm -f ~$where/hbd
|
|
ln -sf $(which hbd) $where/hbd
|
|
else
|
|
rm -f $where/hbc
|
|
ln -sf $(which hbc) $where/hbc
|
|
fi
|