|
|
|
NDG_VERSION=v0.2.0
|
|
|
|
NDG_URL_AARCH64=https://git.qcode.ch/attachments/60c970b8-80fc-4b46-8beb-4167629f8b06
|
|
|
|
NDG_SHA256_AARCH64=bc0e1c6aad09ad27377e89ddb1f27ee4eb6f3c0e77c7ef588be246a25d7c5e6a
|
|
|
|
|
|
|
|
NDG_HOME=/home/uiuser
|
|
|
|
NDG_BINDIR=$NDG_HOME/$NDG_VERSION
|
|
|
|
|
|
|
|
ndg_bin_install() {
|
|
|
|
cd $NDG_HOME
|
|
|
|
test -f $NDG_BINDIR/nd && return 0;
|
|
|
|
local targz="ndg-$NDG_VERSION.tar.gz"
|
|
|
|
curl -sSL -o "$targz" "$NDG_URL_AARCH64"
|
|
|
|
if [ $? -ne 0 ]; then
|
|
|
|
printf "ERROR: unable to download $NDG_URL_AARCH64\n" 1>&2
|
|
|
|
return 1
|
|
|
|
fi
|
|
|
|
printf "$NDG_SHA256_AARCH64 $targz" | sha256sum --check
|
|
|
|
[ $? -ne 0 ] && return 1
|
|
|
|
mkdir -p $NDG_BINDIR
|
|
|
|
tar -C $NDG_BINDIR --no-same-owner -xf "$targz"
|
|
|
|
rm -f "$targz"
|
|
|
|
return $?
|
|
|
|
}
|
|
|
|
|
|
|
|
ndg_svc_install() {
|
|
|
|
local svdir=/etc/sv/nd
|
|
|
|
mkdir -p $svdir
|
|
|
|
|
|
|
|
cat <<EOF > $svdir/run.new
|
|
|
|
#!/bin/sh
|
|
|
|
exec $NDG_BINDIR/nd -gui $NDG_BINDIR/ngui -gui-user uiuser -wpa /var/run/wpa_supplicant/wlan0 2>&1
|
|
|
|
EOF
|
|
|
|
chmod +x $svdir/run.new
|
|
|
|
test -f $svdir/run && diff $svdir/run $svdir/run.new
|
|
|
|
if [ $? -ne 0 ]; then
|
|
|
|
mv $svdir/run.new $svdir/run
|
|
|
|
# don't touch the actual service if on manual control - the down file
|
|
|
|
test -f $svdir/down && return 0
|
|
|
|
sv stop nd || printf "ERROR: sv stop nd failed\n" 1>&2
|
|
|
|
|
|
|
|
# a remnant from https://git.qcode.ch/nakamochi/ndg/issues/17
|
|
|
|
# no longer needed
|
|
|
|
test -f $svdir/finish && rm -f $svdir/finish
|
|
|
|
|
|
|
|
sv start nd || printf "ERROR: sv start nd failed\n" 1>&2
|
|
|
|
fi
|
|
|
|
rm -f $svdir/run.new
|
|
|
|
}
|
|
|
|
|
|
|
|
ndg_apply() {
|
|
|
|
ndg_bin_install || return 1
|
|
|
|
ndg_svc_install || return 1
|
|
|
|
}
|