55 lines
1.2 KiB
Bash
Executable File
55 lines
1.2 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
function do_uninstall {
|
|
set -x
|
|
systemctl stop h804tun
|
|
rm -rf /opt/h804tun
|
|
systemctl disable h804tun
|
|
rm /etc/systemd/system/h804tun.service
|
|
systemctl daemon-reload
|
|
}
|
|
|
|
function do_build {
|
|
echo "Building..."
|
|
rm -rf build/
|
|
mkdir -p build/
|
|
pushd build/
|
|
cmake -DWITH_SYSTEMD=ON ..
|
|
cmake --build .
|
|
if [ -f /opt/h804tun/h804tun.conf ]; then
|
|
head -n 2 /opt/h804tun/h804tun.conf > h804tun.conf
|
|
else
|
|
echo "INTERFACE_NAME" > h804tun.conf
|
|
echo "STATIC_IP" >> h804tun.conf
|
|
fi
|
|
echo "" >> h804tun.conf
|
|
echo "# Interfaces: " >> h804tun.conf
|
|
ip link | sed 's/^/# /' >> h804tun.conf
|
|
if [ -z "$EDITOR" ]; then
|
|
EDITOR=ed
|
|
fi
|
|
$EDITOR h804tun.conf
|
|
popd
|
|
}
|
|
|
|
function do_install {
|
|
set -x
|
|
systemctl stop h804tun
|
|
mkdir -p /opt/h804tun
|
|
cp build/h804tun /opt/h804tun/h804tun
|
|
cp build/h804tun.conf /opt/h804tun/h804tun.conf
|
|
cp h804tun.service /etc/systemd/system
|
|
systemctl daemon-reload
|
|
}
|
|
|
|
if [ $# == 0 ] || [ $1 == "install" ]; then
|
|
do_build
|
|
sudo $0 do_install
|
|
elif [ $1 == "uninstall" ]; then
|
|
sudo $0 do_uninstall
|
|
elif [ $1 == "do_install" ]; then
|
|
do_install
|
|
elif [ $1 == "do_uninstall" ]; then
|
|
do_uninstall
|
|
fi
|