Reorganize system directory to better reflect what files are actually used for. (#14544)
* Move systemd-specific system files to their own directory. * Move non-systemd init scripts to individual subdirectories. * Move cron files to their own directory. * Move logrotate config to it’s own directory. * Fix typos in Makefile.am. * Fix Debian package builds. * Fixed issues reported by @andrewm4894.
Austin S. Hemmelgarn committed
Feb 27, 2023 at 12:38 UTC
8b93deb7b0916ea5caabfb24dbc6420e01054cbe
19 files changed
+113
-75
.gitignore
+12
-12
@@ -115,19 +115,19 @@ web/gui/version.txt
115
/node_modules/
116
/coverage/
117
118
-system/netdata-lsb
119
-system/netdata-openrc
120
-system/netdata-init-d
121
-system/netdata.logrotate
122
-system/netdata.service
123
-system/netdata.service.*
124
-system/netdata-updater.service
125
-!system/netdata.service.in
126
-!system/netdata.service.*.in
127
-system/netdata.plist
128
-system/netdata-freebsd
129
-system/netdata.crontab
118
system/install-service.sh
119
+system/netdata.logrotate
120
+system/cron/netdata-updater-daily
121
+system/freebsd/rc.d/netdata
122
+system/initd/init.d/netdata
123
+system/launchd/netdata.plist
124
+system/lsb/init.d/netdata
125
+system/openrc/init.d/netdata
126
+system/systemd/netdata.service
127
+system/systemd/netdata.service.*
128
+system/systemd/netdata-updater.service
129
+!system/systemd/netdata.service.in
130
+!system/systemd/netdata.service.*.in
131
132
daemon/anonymous-statistics.sh
133
daemon/get-kubernetes-labels.sh
contrib/debian/rules
+3
-3
@@ -10,9 +10,9 @@ BASE_CONFIG = system/netdata.conf
10
SYSTEMD_VERSION = $(shell /bin/sh -c "systemd --version 2>&1 | head -n 1 | cut -f 2 -d ' '")
11
12
ifeq ($(shell test $(SYSTEMD_VERSION) -ge 235 && echo "1"), 1)
13
-SYSTEMD_UNIT = system/netdata.service.v235
13
+SYSTEMD_UNIT = system/systemd/netdata.service.v235
14
else
15
-SYSTEMD_UNIT = system/netdata.service
15
+SYSTEMD_UNIT = system/systemd/netdata.service
16
endif
17
18
ifeq ($(shell test `uname -m` != "x86_64" && echo "1"), 1)
@@ -124,7 +124,7 @@ override_dh_fixperms:
124
chmod 4750 $(TOP)-plugin-freeipmi/usr/libexec/netdata/plugins.d/freeipmi.plugin
125
126
override_dh_installlogrotate:
127
- cp system/netdata.logrotate debian/netdata.logrotate
127
+ cp system/logrotate/netdata debian/netdata.logrotate
128
dh_installlogrotate
129
130
override_dh_clean:
netdata-installer.sh
+1
-1
@@ -1059,7 +1059,7 @@ fi
1059
# -----------------------------------------------------------------------------
1060
progress "Fix generated files permissions"
1061
1062
-run find ./system/ -type f -a \! -name \*.in -a \! -name Makefile\* -a \! -name \*.conf -a \! -name \*.service -a \! -name \*.timer -a \! -name \*.logrotate -a \! -name \.install-type -exec chmod 755 {} \;
1062
+run chmod 755 ./system/*/init.d/netdata ./system/*/rc.d/netdata ./system/install-service.sh
1063
1064
# -----------------------------------------------------------------------------
1065
progress "Creating standard user and groups for netdata"
netdata.spec.in
+3
-3
@@ -287,7 +287,7 @@ install -m 755 -p packaging/installer/netdata-updater.sh "${RPM_BUILD_ROOT}%{_li
287
# ###########################################################
288
# logrotate settings
289
install -m 755 -d "${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d"
290
-install -m 644 -p system/netdata.logrotate "${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d/%{name}"
290
+install -m 644 -p system/logrotate/netdata "${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d/%{name}"
291
292
# ###########################################################
293
# Install freeipmi
@@ -330,11 +330,11 @@ install -m 755 -d "${RPM_BUILD_ROOT}%{_localstatedir}/lib/%{name}/registry"
330
# Install netdata service
331
%if %{with systemd}
332
install -m 755 -d "${RPM_BUILD_ROOT}%{_unitdir}"
333
-install -m 644 -p system/netdata.service "${RPM_BUILD_ROOT}%{_unitdir}/netdata.service"
333
+install -m 644 -p system/systemd/netdata.service "${RPM_BUILD_ROOT}%{_unitdir}/netdata.service"
334
%else
335
# install SYSV init stuff
336
install -d "${RPM_BUILD_ROOT}/etc/rc.d/init.d"
337
-install -m 755 system/netdata-init-d \
337
+install -m 755 system/initd/init.d/netdata \
338
"${RPM_BUILD_ROOT}/etc/rc.d/init.d/netdata"
339
%endif
340
packaging/installer/functions.sh
+9
-9
@@ -470,21 +470,21 @@ install_non_systemd_init() {
470
if [ -d /etc/init.d ] && [ ! -f /etc/init.d/netdata ]; then
471
if expr "${key}" : "^(gentoo|alpine).*"; then
472
echo >&2 "Installing OpenRC init file..."
473
- run cp system/netdata-openrc /etc/init.d/netdata &&
473
+ run cp system/openrc/init.d/netdata /etc/init.d/netdata &&
474
run chmod 755 /etc/init.d/netdata &&
475
run rc-update add netdata default &&
476
return 0
477
478
elif expr "${key}" : "^devuan*" || [ "${key}" = "debian-7" ] || [ "${key}" = "ubuntu-12.04" ] || [ "${key}" = "ubuntu-14.04" ]; then
479
echo >&2 "Installing LSB init file..."
480
- run cp system/netdata-lsb /etc/init.d/netdata &&
480
+ run cp system/lsb/init.d/netdata /etc/init.d/netdata &&
481
run chmod 755 /etc/init.d/netdata &&
482
run update-rc.d netdata defaults &&
483
run update-rc.d netdata enable &&
484
return 0
485
elif expr "${key}" : "^(amzn-201[5678]|ol|CentOS release 6|Red Hat Enterprise Linux Server release 6|Scientific Linux CERN SLC release 6|CloudLinux Server release 6).*"; then
486
echo >&2 "Installing init.d file..."
487
- run cp system/netdata-init-d /etc/init.d/netdata &&
487
+ run cp system/initd/init.d/netdata /etc/init.d/netdata &&
488
run chmod 755 /etc/init.d/netdata &&
489
run chkconfig netdata on &&
490
return 0
@@ -582,7 +582,7 @@ install_netdata_service() {
582
echo >&2 "Installing MacOS X plist file..."
583
# This is used by netdata-installer.sh
584
# shellcheck disable=SC2034
585
- run cp system/netdata.plist /Library/LaunchDaemons/com.github.netdata.plist &&
585
+ run cp system/launchd/netdata.plist /Library/LaunchDaemons/com.github.netdata.plist &&
586
run launchctl load /Library/LaunchDaemons/com.github.netdata.plist &&
587
NETDATA_START_CMD="launchctl start com.github.netdata" &&
588
NETDATA_STOP_CMD="launchctl stop com.github.netdata"
@@ -592,7 +592,7 @@ install_netdata_service() {
592
elif [ "${uname}" = "FreeBSD" ]; then
593
# This is used by netdata-installer.sh
594
# shellcheck disable=SC2034
595
- run cp system/netdata-freebsd /etc/rc.d/netdata && NETDATA_START_CMD="service netdata start" &&
595
+ run cp system/freebsd/rc.d/netdata /etc/rc.d/netdata && NETDATA_START_CMD="service netdata start" &&
596
NETDATA_STOP_CMD="service netdata stop" &&
597
NETDATA_INSTALLER_START_CMD="service netdata onestart" &&
598
myret=$?
@@ -621,7 +621,7 @@ install_netdata_service() {
621
fi
622
623
echo >&2 "Installing systemd service..."
624
- run cp system/netdata.service "${SYSTEMD_DIRECTORY}/netdata.service" &&
624
+ run cp system/systemd/netdata.service "${SYSTEMD_DIRECTORY}/netdata.service" &&
625
run systemctl daemon-reload &&
626
${ENABLE_NETDATA_IF_PREVIOUSLY_ENABLED} &&
627
return 0
@@ -848,7 +848,7 @@ install_netdata_logrotate() {
848
if [ "${UID}" -eq 0 ]; then
849
if [ -d /etc/logrotate.d ]; then
850
if [ ! -f /etc/logrotate.d/netdata ]; then
851
- run cp system/netdata.logrotate /etc/logrotate.d/netdata
851
+ run cp system/logrotate/netdata /etc/logrotate.d/netdata
852
fi
853
854
if [ -f /etc/logrotate.d/netdata ]; then
@@ -1076,8 +1076,8 @@ install_netdata_updater() {
1076
fi
1077
1078
if issystemd && [ -n "$(get_systemd_service_dir)" ]; then
1079
- cat "${NETDATA_SOURCE_DIR}/system/netdata-updater.timer" > "$(get_systemd_service_dir)/netdata-updater.timer"
1080
- cat "${NETDATA_SOURCE_DIR}/system/netdata-updater.service" > "$(get_systemd_service_dir)/netdata-updater.service"
1079
+ cat "${NETDATA_SOURCE_DIR}/system/systemd/netdata-updater.timer" > "$(get_systemd_service_dir)/netdata-updater.timer"
1080
+ cat "${NETDATA_SOURCE_DIR}/system/systemd/netdata-updater.service" > "$(get_systemd_service_dir)/netdata-updater.service"
1081
fi
1082
1083
sed -i -e "s|THIS_SHOULD_BE_REPLACED_BY_INSTALLER_SCRIPT|${NETDATA_USER_CONFIG_DIR}/.environment|" "${NETDATA_PREFIX}/usr/libexec/netdata/netdata-updater.sh" || return 1
packaging/makeself/jobs/99-makeself.install.sh
+1
-5
@@ -29,11 +29,7 @@ run cp \
29
packaging/makeself/install-or-update.sh \
30
packaging/installer/functions.sh \
31
configs.signatures \
32
- system/netdata-init-d \
33
- system/netdata-lsb \
34
- system/netdata-openrc \
35
- system/netdata.logrotate \
36
- system/netdata.service \
32
+ system/logrotate/netdata \
33
"${NETDATA_INSTALL_PATH}/system/"
34
35
# -----------------------------------------------------------------------------
system/Makefile.am
+75
-33
@@ -3,16 +3,16 @@
3
4
MAINTAINERCLEANFILES = $(srcdir)/Makefile.in
5
CLEANFILES = \
6
- netdata-openrc \
7
- netdata.logrotate \
8
- netdata.service \
9
- netdata.service.v235 \
10
- netdata-init-d \
11
- netdata-lsb \
12
- netdata-freebsd \
13
- netdata.plist \
14
- netdata.crontab \
15
- netdata-updater.service \
6
+ cron/netdata-updater-daily \
7
+ freebsd/rc.d/netdata \
8
+ initd/init.d/netdata \
9
+ launchd/netdata.plist \
10
+ logrotate/netdata \
11
+ lsb/init.d/netdata \
12
+ openrc/init.d/netdata \
13
+ systemd/netdata.service \
14
+ systemd/netdata.service.v235 \
15
+ systemd/netdata-updater.service \
16
$(NULL)
17
18
include $(top_srcdir)/build/subst.inc
@@ -26,44 +26,86 @@ dist_config_DATA = \
26
.install-type \
27
$(NULL)
28
29
+libsyscrondir=$(libsysdir)/cron
30
+libsysfreebsddir=$(libsysdir)/freebsd
31
+libsysfreebsdrcddir=$(libsysfreebsddir)/rc.d
32
+libsysinitddir=$(libsysdir)/initd
33
+libsysinitdinitddir=$(libsysinitddir)/init.d
34
+libsyslaunchddir=$(libsysdir)/launchd
35
+libsyslogrotatedir=$(libsysdir)/logrotate
36
+libsyslsbdir=$(libsysdir)/lsb
37
+libsyslsbinitddir=$(libsyslsbdir)/init.d
38
+libsysopenrcdir=$(libsysdir)/openrc
39
+libsysopenrcinitddir=$(libsysopenrcdir)/init.d
40
+libsyssystemddir=$(libsysdir)/systemd
41
+
42
# Explicitly install directories to avoid permission issues due to umask
43
install-exec-local:
44
$(INSTALL) -d $(DESTDIR)$(configdir)
45
$(INSTALL) -d $(DESTDIR)$(libsysdir)
46
+ $(INSTALL) -d $(DESTDIR)$(libsyscrondir)
47
+ $(INSTALL) -d $(DESTDIR)$(libsysfreebsdrcddir)
48
+ $(INSTALL) -d $(DESTDIR)$(libsysinitdinitddir)
49
+ $(INSTALL) -d $(DESTDIR)$(libsyslaunchddir)
50
+ $(INSTALL) -d $(DESTDIR)$(libsyslogrotatedir)
51
+ $(INSTALL) -d $(DESTDIR)$(libsyslsbinitddir)
52
+ $(INSTALL) -d $(DESTDIR)$(libsyssystemddir)
53
+ $(INSTALL) -d $(DESTDIR)$(libsysopenrcinitddir)
54
55
libexecnetdatadir=$(libexecdir)/netdata
56
nodist_libexecnetdata_SCRIPTS = \
57
install-service.sh \
58
$(NULL)
59
39
-nodist_libsys_DATA = \
40
- netdata-openrc \
41
- netdata.logrotate \
42
- netdata.service \
43
- netdata.service.v235 \
44
- netdata-init-d \
45
- netdata-lsb \
46
- netdata-freebsd \
47
- netdata.plist \
48
- netdata.crontab \
49
- netdata-updater.service \
60
+nodist_libsyscron_DATA = \
61
+ cron/netdata-updater-daily \
62
+ $(NULL)
63
+
64
+nodist_libsysfreebsdrcd_DATA = \
65
+ freebsd/rc.d/netdata \
66
+ $(NULL)
67
+
68
+nodist_libsysinitdinitd_DATA = \
69
+ initd/init.d/netdata \
70
+ $(NULL)
71
+
72
+nodist_libsyslaunchd_DATA = \
73
+ launchd/netdata.plist \
74
+ $(NULL)
75
+
76
+nodist_libsyslogrotate_DATA = \
77
+ logrotate/netdata \
78
+ $(NULL)
79
+
80
+nodist_libsyslsbinitd_DATA = \
81
+ lsb/init.d/netdata \
82
+ $(NULL)
83
+
84
+nodist_libsysopenrcinitd_DATA = \
85
+ openrc/init.d/netdata \
86
+ $(NULL)
87
+
88
+nodist_libsyssystemd_DATA = \
89
+ systemd/netdata.service \
90
+ systemd/netdata.service.v235 \
91
+ systemd/netdata-updater.service \
92
$(NULL)
93
52
-dist_libsys_DATA = \
53
- netdata-updater.timer \
94
+dist_libsyssystemd_DATA = \
95
+ systemd/netdata-updater.timer \
96
$(NULL)
97
98
dist_noinst_DATA = \
99
install-service.sh.in \
58
- netdata-openrc.in \
59
- netdata.logrotate.in \
60
- netdata.service.in \
61
- netdata.service.v235.in \
62
- netdata-init-d.in \
63
- netdata-lsb.in \
64
- netdata-freebsd.in \
65
- netdata.plist.in \
100
netdata.conf \
67
- netdata.crontab.in \
68
- netdata-updater.service.in \
101
+ cron/netdata-updater-daily.in \
102
+ freebsd/rc.d/netdata.in \
103
+ initd/init.d/netdata.in \
104
+ launchd/netdata.plist.in \
105
+ logrotate/netdata.in \
106
+ lsb/init.d/netdata.in \
107
+ openrc/init.d/netdata.in \
108
+ systemd/netdata.service.in \
109
+ systemd/netdata.service.v235.in \
110
+ systemd/netdata-updater.service.in \
111
$(NULL)
system/cron/netdata-updater-daily.in
renamed
system/freebsd/rc.d/netdata.in
renamed
system/initd/init.d/netdata.in
renamed
system/install-service.sh.in
+9
-9
@@ -102,7 +102,7 @@ valid_types() {
102
}
103
104
install_generic_service() {
105
- svc_type="${1}"
105
+ svc_path="${1}"
106
svc_type_name="${2}"
107
svc_file="${3}"
108
svc_enable_hook="${4}"
@@ -113,7 +113,7 @@ install_generic_service() {
113
ENABLE="enable"
114
fi
115
116
- if ! install -p -m 0755 -o 0 -g 0 "${SVC_SOURCE}/netdata-${svc_type}" "${svc_file}"; then
116
+ if ! install -p -m 0755 -o 0 -g 0 "${SVC_SOURCE}/${svc_path}/netdata" "${svc_file}"; then
117
error "Failed to install service file."
118
exit 4
119
fi
@@ -236,10 +236,10 @@ get_systemd_service_dir() {
236
}
237
238
install_systemd_service() {
239
- SRCFILE="${SVC_SOURCE}/netdata.service"
239
+ SRCFILE="${SVC_SOURCE}/systemd/netdata.service"
240
241
if [ "$(systemctl --version | head -n 1 | cut -f 2 -d ' ')" -le 235 ]; then
242
- SRCFILE="${SVC_SOURCE}/netdata.service.v235"
242
+ SRCFILE="${SVC_SOURCE}/systemd/netdata.service.v235"
243
fi
244
245
if [ "${ENABLE}" = "auto" ]; then
@@ -341,7 +341,7 @@ disable_openrc() {
341
}
342
343
install_openrc_service() {
344
- install_generic_service openrc OpenRC /etc/init.d/netdata enable_openrc disable_openrc
344
+ install_generic_service openrc/init.d OpenRC /etc/init.d/netdata enable_openrc disable_openrc
345
}
346
347
openrc_cmds() {
@@ -399,7 +399,7 @@ disable_lsb() {
399
}
400
401
install_lsb_service() {
402
- install_generic_service lsb LSB /etc/init.d/netdata enable_lsb disable_lsb
402
+ install_generic_service lsb/init.d LSB /etc/init.d/netdata enable_lsb disable_lsb
403
}
404
405
lsb_cmds() {
@@ -454,7 +454,7 @@ disable_initd() {
454
}
455
456
install_initd_service() {
457
- install_generic_service init-d init.d /etc/init.d/netdata enable_initd disable_initd
457
+ install_generic_service initd/init.d init.d /etc/init.d/netdata enable_initd disable_initd
458
}
459
460
initd_cmds() {
@@ -552,7 +552,7 @@ disable_freebsd() {
552
}
553
554
install_freebsd_service() {
555
- install_generic_service freebsd "FreeBSD rc.d" /usr/local/etc/rc.d/netdata enable_freebsd disable_freebsd
555
+ install_generic_service freebsd/rc.d "FreeBSD rc.d" /usr/local/etc/rc.d/netdata enable_freebsd disable_freebsd
556
}
557
558
freebsd_cmds() {
@@ -566,7 +566,7 @@ freebsd_cmds() {
566
567
install_darwin_service() {
568
info "Installing macOS plist file for launchd."
569
- if ! install -C -S -p -m 0644 -o 0 -g 0 system/netdata.plist /Library/LaunchDaemons/com.github.netdata.plist; then
569
+ if ! install -C -S -p -m 0644 -o 0 -g 0 system/launchd/netdata.plist /Library/LaunchDaemons/com.github.netdata.plist; then
570
error "Failed to copy plist file."
571
exit 4
572
fi