wmbusmeters/install.sh

109 wiersze
2.3 KiB
Bash
Czysty Zwykły widok Historia

2019-02-23 17:30:16 +00:00
#!/bin/bash
if [ "$1" = "" ]
then
2019-02-23 18:49:30 +00:00
echo Usage: install.sh [binary] [root]
echo Example: install.sh build/wmbusmeters /
2019-02-23 17:30:16 +00:00
exit 0
fi
2019-02-23 18:49:30 +00:00
ADDUSER=true
if [ "$1" = "--no-adduser" ]
then
ADDUSER=false
shift
fi
2019-02-23 17:30:16 +00:00
if [ ! $(basename "$1") = "wmbusmeters" ]
then
echo Oups, please only try to install wmbusmeters using this script.
exit 1
fi
if [ ! -x "$1" ]
then
echo This is not an executable.
exit 1
fi
2019-02-23 18:49:30 +00:00
if [ ! -d "$2" ]
then
echo Oups, please supply a valid root directory.
exit 1
2019-02-23 17:30:16 +00:00
fi
2019-02-23 18:49:30 +00:00
ROOT="${2%/}"
rm -f $ROOT/usr/bin/wmbusmeters $ROOT/usr/sbin/wmbusmetersd
mkdir -p $ROOT/usr/bin
mkdir -p $ROOT/usr/sbin
cp "$1" $ROOT/usr/bin/wmbusmeters
ln -s $ROOT/usr/bin/wmbusmeters $ROOT/usr/sbin/wmbusmetersd
2019-02-23 17:30:16 +00:00
2019-02-23 18:49:30 +00:00
echo binaries: installed $ROOT/usr/bin/wmbusmeters and $ROOT/usr/sbin/wmbusmetersd
2019-02-23 17:30:16 +00:00
ID=$(id -u wmbusmeters 2>/dev/null)
2019-02-23 18:49:30 +00:00
if [ "$ADDUSER" = "true" ]
2019-02-23 17:30:16 +00:00
then
2019-02-23 18:49:30 +00:00
if [ "$ID" = "" ]
then
# Create the wmbusmeters user
adduser --no-create-home --shell $ROOT/usr/sbin/nologin --disabled-login --gecos "" wmbusmeters
echo user: added wmbusmeters
else
echo user: wmbusmeters unmodified
fi
2019-02-23 17:30:16 +00:00
fi
2019-02-23 18:49:30 +00:00
if [ ! -f $ROOT/etc/wmbusmeters.conf ]
2019-02-23 17:30:16 +00:00
then
# Create default configuration
2019-02-23 18:49:30 +00:00
mkdir -p $ROOT/etc/
cat <<EOF > $ROOT/etc/wmbusmeters.conf
2019-02-23 17:30:16 +00:00
loglevel=normal
device=auto
logtelegrams=false
meterfiles=/tmp/wmbusmeters
EOF
2019-02-23 18:49:30 +00:00
chmod 644 $ROOT/etc/wmbusmeters.conf
echo conf file: created $ROOT/etc/wmbusmeters.conf
2019-02-23 17:30:16 +00:00
else
2019-02-23 18:49:30 +00:00
echo conf file: $ROOT/etc/wmbusmeters.conf unchanged
2019-02-23 17:30:16 +00:00
fi
2019-02-23 18:49:30 +00:00
if [ ! -d $ROOT/etc/wmbusmeters.d ]
2019-02-23 17:30:16 +00:00
then
# Create the configuration directory
2019-02-23 18:49:30 +00:00
mkdir -p $ROOT/etc/wmbusmeters.d
chmod -R 644 $ROOT/etc/wmbusmeters.d
echo conf dir: created $ROOT/etc/wmbusmeters.d
2019-02-23 17:30:16 +00:00
else
2019-02-23 18:49:30 +00:00
echo conf dir: $ROOT/etc/wmbusmeters.d unchanged
2019-02-23 17:30:16 +00:00
fi
2019-02-23 18:49:30 +00:00
if [ ! -f $ROOT/etc/systemd/system/wmbusmeters.service ]
2019-02-23 17:30:16 +00:00
then
2019-02-23 18:49:30 +00:00
mkdir -p $ROOT/etc/systemd/system/
# Create service file
cat <<EOF > $ROOT/etc/systemd/system/wmbusmeters.service
2019-02-23 17:30:16 +00:00
[Unit]
Description=wmbusmeters service
After=network.target
[Service]
Type=simple
#Restart=always
RestartSec=1
User=wmbusmeters
2019-02-23 22:11:09 +00:00
ExecStart=/usr/bin/wmbusmeters --useconfig
2019-02-23 17:30:16 +00:00
[Install]
WantedBy=multi-user.target
EOF
2019-02-23 18:49:30 +00:00
echo systemd: installed $ROOT/etc/systemd/system/wmbusmeters.service
else
echo systemd: $ROOT/etc/systemd/system/wmbusmeters.service unchanged
2019-02-23 17:30:16 +00:00
fi