@@ -0,0 +1,80 @@
|
||||
#!/bin/sh
|
||||
# postinst script for meshtasticd
|
||||
#
|
||||
# see: dh_installdeb(1)
|
||||
|
||||
set -e
|
||||
|
||||
# summary of how this script can be called:
|
||||
# * <postinst> `configure' <most-recently-configured-version>
|
||||
# * <old-postinst> `abort-upgrade' <new version>
|
||||
# * <conflictor's-postinst> `abort-remove' `in-favour' <package>
|
||||
# <new-version>
|
||||
# * <postinst> `abort-remove'
|
||||
# * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
|
||||
# <failed-install-package> <version> `removing'
|
||||
# <conflicting-package> <version>
|
||||
# for details, see http://www.debian.org/doc/debian-policy/ or
|
||||
# the debian-policy package
|
||||
|
||||
|
||||
case "$1" in
|
||||
configure|reconfigure)
|
||||
# create spi, gpio groups (for udev rules)
|
||||
# these groups already exist on Raspberry Pi OS
|
||||
getent group spi >/dev/null 2>/dev/null || addgroup --system spi
|
||||
getent group gpio >/dev/null 2>/dev/null || addgroup --system gpio
|
||||
# create a meshtasticd group and user
|
||||
getent passwd meshtasticd >/dev/null 2>/dev/null || adduser --system --home /var/lib/meshtasticd --no-create-home meshtasticd
|
||||
getent group meshtasticd >/dev/null 2>/dev/null || addgroup --system meshtasticd
|
||||
adduser meshtasticd meshtasticd >/dev/null 2>/dev/null
|
||||
adduser meshtasticd spi >/dev/null 2>/dev/null
|
||||
adduser meshtasticd gpio >/dev/null 2>/dev/null
|
||||
# add meshtasticd user to appropriate groups (if they exist)
|
||||
getent group plugdev >/dev/null 2>/dev/null && adduser meshtasticd plugdev >/dev/null 2>/dev/null
|
||||
getent group dialout >/dev/null 2>/dev/null && adduser meshtasticd dialout >/dev/null 2>/dev/null
|
||||
getent group i2c >/dev/null 2>/dev/null && adduser meshtasticd i2c >/dev/null 2>/dev/null
|
||||
getent group video >/dev/null 2>/dev/null && adduser meshtasticd video >/dev/null 2>/dev/null
|
||||
getent group audio >/dev/null 2>/dev/null && adduser meshtasticd audio >/dev/null 2>/dev/null
|
||||
getent group input >/dev/null 2>/dev/null && adduser meshtasticd input >/dev/null 2>/dev/null
|
||||
|
||||
|
||||
# migrate /root/.portduino to /var/lib/meshtasticd/.portduino
|
||||
# should only run once, upon upgrade from < 2.6.9
|
||||
if [ -n "$2" ] && dpkg --compare-versions "$2" lt 2.6.9; then
|
||||
if [ -d /root/.portduino ] && [ ! -e /var/lib/meshtasticd/.portduino ]; then
|
||||
cp -r /root/.portduino /var/lib/meshtasticd/.portduino
|
||||
echo "Migrated meshtasticd VFS from /root/.portduino to /var/lib/meshtasticd/.portduino"
|
||||
echo "meshtasticd now runs as the 'meshtasticd' user, not 'root'."
|
||||
echo "See https://github.com/meshtastic/firmware/pull/6718 for details"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -d /var/lib/meshtasticd ]; then
|
||||
chown -R meshtasticd:meshtasticd /var/lib/meshtasticd
|
||||
fi
|
||||
|
||||
if [ -d /etc/meshtasticd ]; then
|
||||
chown -R meshtasticd:meshtasticd /etc/meshtasticd
|
||||
fi
|
||||
|
||||
if [ -d /usr/share/meshtasticd ]; then
|
||||
chown -R meshtasticd:meshtasticd /usr/share/meshtasticd
|
||||
fi
|
||||
;;
|
||||
|
||||
abort-upgrade|abort-remove|abort-deconfigure)
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "postinst called with unknown argument \`$1'" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
# dh_installdeb will replace this with shell code automatically
|
||||
# generated by other debhelper scripts.
|
||||
|
||||
#DEBHELPER#
|
||||
|
||||
exit 0
|
||||
Reference in New Issue
Block a user