Update debian package to fix systemd disabling (not good for remote systems) and add group yggdrasil for admin socket/conf

This commit is contained in:
Neil Alexander 2018-12-14 14:25:26 +00:00
parent ce98aac504
commit e1c7983752
No known key found for this signature in database
GPG Key ID: A02A2019A2BB0944
2 changed files with 19 additions and 8 deletions

View File

@ -71,29 +71,39 @@ etc/systemd/system/*.service etc/systemd/system
EOF EOF
cat > /tmp/$PKGNAME/debian/postinst << EOF cat > /tmp/$PKGNAME/debian/postinst << EOF
#!/bin/sh #!/bin/sh
if ! getent group yggdrasil 2>&1 > /dev/null; then
addgroup --system --quiet yggdrasil
fi
if [ -f /etc/yggdrasil.conf ]; if [ -f /etc/yggdrasil.conf ];
then then
mkdir -p /var/backups mkdir -p /var/backups
echo "Backing up configuration file to /var/backups/yggdrasil.conf.`date +%Y%m%d`" echo "Backing up configuration file to /var/backups/yggdrasil.conf.`date +%Y%m%d`"
cp /etc/yggdrasil.conf /var/backups/yggdrasil.conf.`date +%Y%m%d` cp /etc/yggdrasil.conf /var/backups/yggdrasil.conf.`date +%Y%m%d`
echo "Normalising /etc/yggdrasil.conf" echo "Normalising and updating /etc/yggdrasil.conf"
/usr/bin/yggdrasil -useconffile /var/backups/yggdrasil.conf.`date +%Y%m%d` -normaliseconf > /etc/yggdrasil.conf /usr/bin/yggdrasil -useconffile /var/backups/yggdrasil.conf.`date +%Y%m%d` -normaliseconf > /etc/yggdrasil.conf
fi chgrp yggdrasil /etc/yggdrasil.conf
if command -v systemctl >/dev/null; then
if command -v systemctl >/dev/null; then
systemctl daemon-reload >/dev/null || true systemctl daemon-reload >/dev/null || true
if [ -f /etc/systemd/system/multi-user.target.wants/yggdrasil.service ]; then systemctl enable yggdrasil || true
echo "Starting Yggdrasil"
systemctl start yggdrasil || true systemctl start yggdrasil || true
fi fi
else
echo "Generating initial configuration file /etc/yggdrasil.conf"
echo "Please familiarise yourself with this file before starting Yggdrasil"
/usr/bin/yggdrasil -genconf > /etc/yggdrasil.conf
chgrp yggdrasil /etc/yggdrasil.conf
fi fi
EOF EOF
cat > /tmp/$PKGNAME/debian/prerm << EOF cat > /tmp/$PKGNAME/debian/prerm << EOF
#!/bin/sh #!/bin/sh
if command -v systemctl >/dev/null; then if command -v systemctl >/dev/null; then
if systemctl is-active --quiet yggdrasil; then if systemctl is-active --quiet yggdrasil; then
echo "Stopping Yggdrasil"
systemctl stop yggdrasil || true systemctl stop yggdrasil || true
fi fi
systemctl disable yggdrasil || true
fi fi
EOF EOF

View File

@ -4,6 +4,7 @@ Wants=network.target
After=network.target After=network.target
[Service] [Service]
Group=yggdrasil
ProtectHome=true ProtectHome=true
ProtectSystem=true ProtectSystem=true
SyslogIdentifier=yggdrasil SyslogIdentifier=yggdrasil
@ -12,7 +13,7 @@ ExecStartPre=/bin/sh -ec "if ! test -s /etc/yggdrasil.conf; \
yggdrasil -genconf > /etc/yggdrasil.conf; \ yggdrasil -genconf > /etc/yggdrasil.conf; \
echo 'WARNING: A new /etc/yggdrasil.conf file has been generated.'; \ echo 'WARNING: A new /etc/yggdrasil.conf file has been generated.'; \
fi" fi"
ExecStart=/bin/sh -c "exec yggdrasil -useconf < /etc/yggdrasil.conf" ExecStart=/usr/bin/yggdrasil -useconffile /etc/yggdrasil.conf
Restart=always Restart=always
[Install] [Install]