Fix our Debian/Ubuntu packages to actually package the SystemD Unit files we expect. (#8468)
* update netdata.conf for debian build * Fix Debian Ubuntu SystemD Unit packaging * avoid duplicate netdata.conf files violates single source of truth principle, use schema from #8468 instead * Fixed *DirectoryMode octets and bad ExecStart * Fix dpkg-statoverride warnings * Move the copy of debian/netdata.conf into the correct target (override_dh_install) Co-authored-by: and0x000 <justanpc@gmail.com>
James Mills committed
Mar 30, 2020 at 14:05 UTC
d5d1865469b63385d70645f710728482aed0f23d
6 files changed
+63
-73
contrib/debian/netdata.conf
deleted
-16
@@ -1,16 +0,0 @@
1
-# NetData Configuration
2
-
3
-# The current full configuration can be retrieved from the running
4
-# server at the URL
5
-#
6
-# http://localhost:19999/netdata.conf
7
-#
8
-# for example:
9
-#
10
-# wget -O /etc/netdata/netdata.conf http://localhost:19999/netdata.conf
11
-#
12
-
13
-[global]
14
- run as user = netdata
15
- web files owner = root
16
- web files group = netdata
contrib/debian/netdata.postinst.in
+36
-38
@@ -3,61 +3,59 @@
3
set -e
4
5
dpkg-maintscript-helper dir_to_symlink \
6
- /var/lib/netdata/www/.well-known /usr/share/netdata/www/.well-known 1.18.1~ netdata -- "$@"
6
+ /var/lib/netdata/www/.well-known /usr/share/netdata/www/.well-known 1.18.1~ netdata -- "$@"
7
dpkg-maintscript-helper dir_to_symlink \
8
- /var/lib/netdata/www/css /usr/share/netdata/www/css 1.18.1~ netdata -- "$@"
8
+ /var/lib/netdata/www/css /usr/share/netdata/www/css 1.18.1~ netdata -- "$@"
9
dpkg-maintscript-helper dir_to_symlink \
10
- /var/lib/netdata/www/fonts /usr/share/netdata/www/fonts 1.18.1~ netdata -- "$@"
10
+ /var/lib/netdata/www/fonts /usr/share/netdata/www/fonts 1.18.1~ netdata -- "$@"
11
dpkg-maintscript-helper dir_to_symlink \
12
- /var/lib/netdata/www/images /usr/share/netdata/www/images 1.18.1~ netdata -- "$@"
12
+ /var/lib/netdata/www/images /usr/share/netdata/www/images 1.18.1~ netdata -- "$@"
13
dpkg-maintscript-helper dir_to_symlink \
14
- /var/lib/netdata/www/lib /usr/share/netdata/www/lib 1.18.1~ netdata -- "$@"
14
+ /var/lib/netdata/www/lib /usr/share/netdata/www/lib 1.18.1~ netdata -- "$@"
15
dpkg-maintscript-helper dir_to_symlink \
16
- /var/lib/netdata/www/static /usr/share/netdata/www/static 1.18.1~ netdata -- "$@"
16
+ /var/lib/netdata/www/static /usr/share/netdata/www/static 1.18.1~ netdata -- "$@"
17
18
case "$1" in
19
configure)
20
- if [ -z "$2" ]; then
21
- if ! getent group netdata >/dev/null; then
22
- addgroup --quiet --system netdata
23
- fi
20
+ if [ -z "$2" ]; then
21
+ if ! getent group netdata > /dev/null; then
22
+ addgroup --quiet --system netdata
23
+ fi
24
25
- if ! getent passwd netdata >/dev/null; then
26
- adduser --quiet --system --ingroup netdata --home /var/lib/netdata --no-create-home netdata
27
- fi
25
+ if ! getent passwd netdata > /dev/null; then
26
+ adduser --quiet --system --ingroup netdata --home /var/lib/netdata --no-create-home netdata
27
+ fi
28
29
- if ! dpkg-statoverride --list /var/lib/netdata >/dev/null 2>&1; then
30
- dpkg-statoverride --update --add netdata netdata 0755 /var/lib/netdata
31
- fi
29
+ if ! dpkg-statoverride --list /var/lib/netdata > /dev/null 2>&1; then
30
+ dpkg-statoverride --update --add netdata netdata 0755 /var/lib/netdata
31
+ fi
32
33
- if ! dpkg-statoverride --list /var/lib/netdata/www >/dev/null 2>&1; then
34
- dpkg-statoverride --update --add root netdata 0755 /var/lib/netdata/www
35
- fi
33
+ if ! dpkg-statoverride --list /var/lib/netdata/www > /dev/null 2>&1; then
34
+ dpkg-statoverride --update --add root netdata 0755 /var/lib/netdata/www
35
+ fi
36
37
- if ! dpkg-statoverride --list /var/cache/netdata >/dev/null 2>&1; then
38
- dpkg-statoverride --update --add netdata netdata 0755 /var/cache/netdata
39
- fi
37
+ if ! dpkg-statoverride --list /var/cache/netdata > /dev/null 2>&1; then
38
+ dpkg-statoverride --update --add netdata netdata 0755 /var/cache/netdata
39
+ fi
40
41
- if ! dpkg-statoverride --list /var/run/netdata >/dev/null 2>&1; then
42
- dpkg-statoverride --update --add netdata netdata 0755 /var/run/netdata
43
- fi
41
+ if ! dpkg-statoverride --list /var/run/netdata > /dev/null 2>&1; then
42
+ dpkg-statoverride --update --add netdata netdata 0755 /var/run/netdata
43
+ fi
44
45
- if ! dpkg-statoverride --list /var/log/netdata >/dev/null 2>&1; then
46
- dpkg-statoverride --update --add netdata adm 02750 /var/log/netdata
47
- fi
45
+ if ! dpkg-statoverride --list /var/log/netdata > /dev/null 2>&1; then
46
+ dpkg-statoverride --update --add netdata adm 02750 /var/log/netdata
47
+ fi
48
49
- fi
49
+ fi
50
51
- dpkg-statoverride --update --add --force root netdata 0775 /var/lib/netdata/registry
52
- chown -R root:netdata /usr/share/netdata
53
- chown -R root:netdata /usr/libexec/netdata/plugins.d
54
- chown -R root:netdata /var/lib/netdata/www
55
- setcap cap_dac_read_search,cap_sys_ptrace+ep /usr/libexec/netdata/plugins.d/apps.plugin
51
+ dpkg-statoverride --force --update --add root netdata 0775 /var/lib/netdata/registry > /dev/null 2>&1
52
57
-#PERMS#
58
- ;;
59
-esac
53
+ chown -R root:netdata /usr/share/netdata
54
+ chown -R root:netdata /usr/libexec/netdata/plugins.d
55
+ chown -R root:netdata /var/lib/netdata/www
56
+ setcap cap_dac_read_search,cap_sys_ptrace+ep /usr/libexec/netdata/plugins.d/apps.plugin
57
61
-#DEBHELPER#
58
+ ;;
59
+esac
60
61
exit 0
contrib/debian/netdata.service
deleted
-14
@@ -1,14 +0,0 @@
1
-[Unit]
2
-Description=netdata real-time system monitoring
3
-After=network.target
4
-
5
-[Service]
6
-Type=simple
7
-EnvironmentFile=-/etc/default/netdata
8
-ExecStart=/usr/sbin/netdata -D $EXTRA_OPTS
9
-TimeoutStopSec=30
10
-Restart=always
11
-RestartSec=5
12
-
13
-[Install]
14
-WantedBy=multi-user.target
contrib/debian/rules
+19
@@ -6,6 +6,16 @@ DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
6
TOP = $(CURDIR)/debian/netdata
7
TEMPTOP = $(CURDIR)/debian/tmp
8
9
+BASE_CONFIG = system/netdata.conf
10
+
11
+SYSTEMD_VERSION = $(shell /bin/sh -c "systemd --version 2>&1 | head -n 1 | cut -f 2 -d ' '")
12
+
13
+ifeq ($(shell test $(SYSTEMD_VERSION) -ge 235 && echo "1"), 1)
14
+SYSTEMD_UNIT = system/netdata.service.v235
15
+else
16
+SYSTEMD_UNIT = system/netdata.service
17
+endif
18
+
19
%:
20
# For jessie and beyond
21
#
@@ -17,6 +27,13 @@ TEMPTOP = $(CURDIR)/debian/tmp
27
#
28
#dh $@ --with autoreconf
29
30
+override_dh_installinit:
31
+ echo "SystemD Version: $(SYSTEMD_VERSION)"
32
+ echo "Using SystemD Unit: $(SYSTEMD_UNIT)"
33
+ cp -v $(SYSTEMD_UNIT) debian/netdata.service
34
+
35
+ dh_installinit
36
+
37
override_dh_auto_configure:
38
packaging/bundle-mosquitto.sh .
39
packaging/bundle-lws.sh .
@@ -28,6 +45,8 @@ debian/%.postinst: debian/%.postinst.in
45
sed 's/@DEB_HOST_MULTIARCH@/$(DEB_HOST_MULTIARCH)/g' $< > $@
46
47
override_dh_install: debian/netdata.postinst
48
+ cp -v $(BASE_CONFIG) debian/netdata.conf
49
+
50
dh_install
51
52
# Set the CUPS plugin install rule
system/Makefile.am
+3
@@ -7,6 +7,7 @@ CLEANFILES = \
7
netdata-openrc \
8
netdata.logrotate \
9
netdata.service \
10
+ netdata.service.v235 \
11
netdata-init-d \
12
netdata-lsb \
13
netdata-freebsd \
@@ -28,6 +29,7 @@ nodist_noinst_DATA = \
29
netdata-openrc \
30
netdata.logrotate \
31
netdata.service \
32
+ netdata.service.v235 \
33
netdata-init-d \
34
netdata-lsb \
35
netdata-freebsd \
@@ -39,6 +41,7 @@ dist_noinst_DATA = \
41
netdata-openrc.in \
42
netdata.logrotate.in \
43
netdata.service.in \
44
+ netdata.service.v235.in \
45
netdata-init-d.in \
46
netdata-lsb.in \
47
netdata-freebsd.in \
system/netdata.service.v235.in
+5
-5
@@ -14,11 +14,11 @@ CacheDirectory=netdata
14
StateDirectory=netdata
15
LogsDirectory=netdata
16
RuntimeDirectoryMode=0775
17
-StateDirectoryMode=0750
18
-CacheDirectoryMode=0750
19
-LogsDirectoryMode=0750
20
-PIDFile=netdata/netdata.pid
21
-ExecStart=@sbindir_POST@/netdata -P $PIDFILE -D
17
+StateDirectoryMode=0755
18
+CacheDirectoryMode=0755
19
+LogsDirectoryMode=2750
20
+EnvironmentFile=-/etc/default/netdata
21
+ExecStart=/usr/sbin/netdata -D $EXTRA_OPTS
22
23
# saving a big db on slow disks may need some time
24
TimeoutStopSec=60