mirror of
https://github.com/ntop/n2n.git
synced 2024-10-18 15:42:49 +05:30
Use systemd helpers to honor system wide preferences on service enable/start
Also fix services being started after upgrade even if they were disabled but config existed
This commit is contained in:
parent
61887c740d
commit
b034730f19
@ -27,17 +27,21 @@ systemctl daemon-reload
|
|||||||
systemctl reset-failed
|
systemctl reset-failed
|
||||||
|
|
||||||
# Enable edge
|
# Enable edge
|
||||||
if [ -f /etc/n2n/edge.conf ]; then
|
if systemctl -q is-active edge; then
|
||||||
echo "Enabling n2n edge..."
|
# only restart edge if it's already running
|
||||||
systemctl enable edge
|
echo "Restarting n2n edge..."
|
||||||
systemctl restart edge
|
deb-systemd-invoke restart edge
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Restart specific services if already running
|
||||||
|
deb-systemd-invoke enable 'edge@*.service' 'edge-ntopng@*.service'
|
||||||
|
deb-systemd-invoke restart 'edge@*.service' 'edge-ntopng@*.service'
|
||||||
|
|
||||||
# Enable supernode
|
# Enable supernode
|
||||||
if [ -f /etc/n2n/supernode.conf ]; then
|
if systemctl -q is-active supernode; then
|
||||||
echo "Enabling n2n supernode..."
|
# only restart supernode if it's already running
|
||||||
systemctl enable supernode
|
echo "Restarting n2n supernode..."
|
||||||
systemctl restart supernode
|
deb-systemd-invoke restart supernode
|
||||||
fi
|
fi
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
|
@ -7,12 +7,14 @@ if [ -f /.dockerenv ]; then exit 0; fi
|
|||||||
. /usr/share/debconf/confmodule
|
. /usr/share/debconf/confmodule
|
||||||
|
|
||||||
case "$1" in
|
case "$1" in
|
||||||
|
upgrade)
|
||||||
|
;;
|
||||||
|
|
||||||
*)
|
*)
|
||||||
systemctl stop edge
|
deb-systemd-invoke stop edge.service 'edge@*.service' 'edge-ntopng@*.service'
|
||||||
systemctl disable edge
|
deb-systemd-invoke disable edge.service 'edge@*.service' 'edge-ntopng@*.service'
|
||||||
systemctl stop supernode
|
deb-systemd-invoke stop supernode.service
|
||||||
systemctl disable supernode
|
deb-systemd-invoke disable supernode.service
|
||||||
systemctl daemon-reload
|
systemctl daemon-reload
|
||||||
systemctl reset-failed
|
systemctl reset-failed
|
||||||
;;
|
;;
|
||||||
|
@ -68,29 +68,19 @@ rm -fr $RPM_BUILD_ROOT
|
|||||||
%pre
|
%pre
|
||||||
|
|
||||||
%post
|
%post
|
||||||
|
|
||||||
if [ ! -f /.dockerenv ]; then
|
if [ ! -f /.dockerenv ]; then
|
||||||
/bin/systemctl daemon-reload
|
/bin/systemctl daemon-reload
|
||||||
if [ -f /etc/n2n/edge.conf ]; then
|
# NOTE: do not enable any services during first installation
|
||||||
/bin/systemctl enable edge.service
|
|
||||||
/bin/systemctl restart edge.service
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -f /etc/n2n/supernode.conf ]; then
|
|
||||||
/bin/systemctl enable supernode.service
|
|
||||||
/bin/systemctl restart supernode.service
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
%preun
|
%preun
|
||||||
if [ ! -f /.dockerenv ]; then
|
if [ ! -f /.dockerenv ]; then
|
||||||
if [ -f /etc/n2n/edge.conf ]; then
|
# possibly remove the installed services
|
||||||
/bin/systemctl disable edge.service
|
%systemd_preun supernode.service edge.service 'edge-ntopng@*.service' 'edge@*.service'
|
||||||
/bin/systemctl stop edge.service
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -f /etc/n2n/supernode.conf ]; then
|
%postun
|
||||||
/bin/systemctl disable supernode.service
|
if [ ! -f /.dockerenv ]; then
|
||||||
/bin/systemctl stop supernode.service
|
# possibly restart the running services
|
||||||
fi
|
%systemd_postun_with_restart supernode.service edge.service 'edge-ntopng@*.service' 'edge@*.service'
|
||||||
fi
|
fi
|
||||||
|
Loading…
Reference in New Issue
Block a user