Browse Source

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 2 years ago
parent
commit
8b93deb7b0

+ 12 - 12
.gitignore

@@ -115,19 +115,19 @@ web/gui/version.txt
 /node_modules/
 /coverage/
 
-system/netdata-lsb
-system/netdata-openrc
-system/netdata-init-d
-system/netdata.logrotate
-system/netdata.service
-system/netdata.service.*
-system/netdata-updater.service
-!system/netdata.service.in
-!system/netdata.service.*.in
-system/netdata.plist
-system/netdata-freebsd
-system/netdata.crontab
 system/install-service.sh
+system/netdata.logrotate
+system/cron/netdata-updater-daily
+system/freebsd/rc.d/netdata
+system/initd/init.d/netdata
+system/launchd/netdata.plist
+system/lsb/init.d/netdata
+system/openrc/init.d/netdata
+system/systemd/netdata.service
+system/systemd/netdata.service.*
+system/systemd/netdata-updater.service
+!system/systemd/netdata.service.in
+!system/systemd/netdata.service.*.in
 
 daemon/anonymous-statistics.sh
 daemon/get-kubernetes-labels.sh

+ 3 - 3
contrib/debian/rules

@@ -10,9 +10,9 @@ BASE_CONFIG = system/netdata.conf
 SYSTEMD_VERSION = $(shell /bin/sh -c "systemd --version 2>&1 | head -n 1 | cut -f 2 -d ' '")
 
 ifeq ($(shell test $(SYSTEMD_VERSION) -ge 235 && echo "1"), 1)
-SYSTEMD_UNIT = system/netdata.service.v235
+SYSTEMD_UNIT = system/systemd/netdata.service.v235
 else
-SYSTEMD_UNIT = system/netdata.service
+SYSTEMD_UNIT = system/systemd/netdata.service
 endif
 
 ifeq ($(shell test `uname -m` != "x86_64" && echo "1"), 1)
@@ -124,7 +124,7 @@ override_dh_fixperms:
 	chmod 4750 $(TOP)-plugin-freeipmi/usr/libexec/netdata/plugins.d/freeipmi.plugin
 
 override_dh_installlogrotate:
-	cp system/netdata.logrotate debian/netdata.logrotate
+	cp system/logrotate/netdata debian/netdata.logrotate
 	dh_installlogrotate
 
 override_dh_clean:

+ 1 - 1
netdata-installer.sh

@@ -1059,7 +1059,7 @@ fi
 # -----------------------------------------------------------------------------
 progress "Fix generated files permissions"
 
-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 {} \;
+run chmod 755 ./system/*/init.d/netdata ./system/*/rc.d/netdata ./system/install-service.sh
 
 # -----------------------------------------------------------------------------
 progress "Creating standard user and groups for netdata"

+ 3 - 3
netdata.spec.in

@@ -287,7 +287,7 @@ install -m 755 -p packaging/installer/netdata-updater.sh "${RPM_BUILD_ROOT}%{_li
 # ###########################################################
 # logrotate settings
 install -m 755 -d "${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d"
-install -m 644 -p system/netdata.logrotate "${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d/%{name}"
+install -m 644 -p system/logrotate/netdata "${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d/%{name}"
 
 # ###########################################################
 # Install freeipmi
@@ -330,11 +330,11 @@ install -m 755 -d "${RPM_BUILD_ROOT}%{_localstatedir}/lib/%{name}/registry"
 # Install netdata service
 %if %{with systemd}
 install -m 755 -d "${RPM_BUILD_ROOT}%{_unitdir}"
-install -m 644 -p system/netdata.service "${RPM_BUILD_ROOT}%{_unitdir}/netdata.service"
+install -m 644 -p system/systemd/netdata.service "${RPM_BUILD_ROOT}%{_unitdir}/netdata.service"
 %else
 # install SYSV init stuff
 install -d "${RPM_BUILD_ROOT}/etc/rc.d/init.d"
-install -m 755 system/netdata-init-d \
+install -m 755 system/initd/init.d/netdata \
         "${RPM_BUILD_ROOT}/etc/rc.d/init.d/netdata"
 %endif
 

+ 9 - 9
packaging/installer/functions.sh

@@ -470,21 +470,21 @@ install_non_systemd_init() {
   if [ -d /etc/init.d ] && [ ! -f /etc/init.d/netdata ]; then
     if expr "${key}" : "^(gentoo|alpine).*"; then
       echo >&2 "Installing OpenRC init file..."
-      run cp system/netdata-openrc /etc/init.d/netdata &&
+      run cp system/openrc/init.d/netdata /etc/init.d/netdata &&
         run chmod 755 /etc/init.d/netdata &&
         run rc-update add netdata default &&
         return 0
 
     elif expr "${key}" : "^devuan*" || [ "${key}" = "debian-7" ] || [ "${key}" = "ubuntu-12.04" ] || [ "${key}" = "ubuntu-14.04" ]; then
       echo >&2 "Installing LSB init file..."
-      run cp system/netdata-lsb /etc/init.d/netdata &&
+      run cp system/lsb/init.d/netdata /etc/init.d/netdata &&
         run chmod 755 /etc/init.d/netdata &&
         run update-rc.d netdata defaults &&
         run update-rc.d netdata enable &&
         return 0
     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
       echo >&2 "Installing init.d file..."
-      run cp system/netdata-init-d /etc/init.d/netdata &&
+      run cp system/initd/init.d/netdata /etc/init.d/netdata &&
         run chmod 755 /etc/init.d/netdata &&
         run chkconfig netdata on &&
         return 0
@@ -582,7 +582,7 @@ install_netdata_service() {
           echo >&2 "Installing MacOS X plist file..."
           # This is used by netdata-installer.sh
           # shellcheck disable=SC2034
-          run cp system/netdata.plist /Library/LaunchDaemons/com.github.netdata.plist &&
+          run cp system/launchd/netdata.plist /Library/LaunchDaemons/com.github.netdata.plist &&
             run launchctl load /Library/LaunchDaemons/com.github.netdata.plist &&
             NETDATA_START_CMD="launchctl start com.github.netdata" &&
             NETDATA_STOP_CMD="launchctl stop com.github.netdata"
@@ -592,7 +592,7 @@ install_netdata_service() {
       elif [ "${uname}" = "FreeBSD" ]; then
         # This is used by netdata-installer.sh
         # shellcheck disable=SC2034
-        run cp system/netdata-freebsd /etc/rc.d/netdata && NETDATA_START_CMD="service netdata start" &&
+        run cp system/freebsd/rc.d/netdata /etc/rc.d/netdata && NETDATA_START_CMD="service netdata start" &&
           NETDATA_STOP_CMD="service netdata stop" &&
           NETDATA_INSTALLER_START_CMD="service netdata onestart" &&
           myret=$?
@@ -621,7 +621,7 @@ install_netdata_service() {
           fi
 
           echo >&2 "Installing systemd service..."
-          run cp system/netdata.service "${SYSTEMD_DIRECTORY}/netdata.service" &&
+          run cp system/systemd/netdata.service "${SYSTEMD_DIRECTORY}/netdata.service" &&
             run systemctl daemon-reload &&
             ${ENABLE_NETDATA_IF_PREVIOUSLY_ENABLED} &&
             return 0
@@ -848,7 +848,7 @@ install_netdata_logrotate() {
   if [ "${UID}" -eq 0 ]; then
     if [ -d /etc/logrotate.d ]; then
       if [ ! -f /etc/logrotate.d/netdata ]; then
-        run cp system/netdata.logrotate /etc/logrotate.d/netdata
+        run cp system/logrotate/netdata /etc/logrotate.d/netdata
       fi
 
       if [ -f /etc/logrotate.d/netdata ]; then
@@ -1076,8 +1076,8 @@ install_netdata_updater() {
   fi
 
   if issystemd && [ -n "$(get_systemd_service_dir)" ]; then
-    cat "${NETDATA_SOURCE_DIR}/system/netdata-updater.timer" > "$(get_systemd_service_dir)/netdata-updater.timer"
-    cat "${NETDATA_SOURCE_DIR}/system/netdata-updater.service" > "$(get_systemd_service_dir)/netdata-updater.service"
+    cat "${NETDATA_SOURCE_DIR}/system/systemd/netdata-updater.timer" > "$(get_systemd_service_dir)/netdata-updater.timer"
+    cat "${NETDATA_SOURCE_DIR}/system/systemd/netdata-updater.service" > "$(get_systemd_service_dir)/netdata-updater.service"
   fi
 
   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

+ 1 - 5
packaging/makeself/jobs/99-makeself.install.sh

@@ -29,11 +29,7 @@ run cp \
   packaging/makeself/install-or-update.sh \
   packaging/installer/functions.sh \
   configs.signatures \
-  system/netdata-init-d \
-  system/netdata-lsb \
-  system/netdata-openrc \
-  system/netdata.logrotate \
-  system/netdata.service \
+  system/logrotate/netdata \
   "${NETDATA_INSTALL_PATH}/system/"
 
 # -----------------------------------------------------------------------------

+ 75 - 33
system/Makefile.am

@@ -3,16 +3,16 @@
 
 MAINTAINERCLEANFILES = $(srcdir)/Makefile.in
 CLEANFILES = \
-    netdata-openrc \
-    netdata.logrotate \
-    netdata.service \
-    netdata.service.v235 \
-    netdata-init-d \
-    netdata-lsb \
-    netdata-freebsd \
-    netdata.plist \
-    netdata.crontab \
-    netdata-updater.service \
+    cron/netdata-updater-daily \
+    freebsd/rc.d/netdata \
+    initd/init.d/netdata \
+    launchd/netdata.plist \
+    logrotate/netdata \
+    lsb/init.d/netdata \
+    openrc/init.d/netdata \
+    systemd/netdata.service \
+    systemd/netdata.service.v235 \
+    systemd/netdata-updater.service \
     $(NULL)
 
 include $(top_srcdir)/build/subst.inc
@@ -26,44 +26,86 @@ dist_config_DATA = \
     .install-type \
     $(NULL)
 
+libsyscrondir=$(libsysdir)/cron
+libsysfreebsddir=$(libsysdir)/freebsd
+libsysfreebsdrcddir=$(libsysfreebsddir)/rc.d
+libsysinitddir=$(libsysdir)/initd
+libsysinitdinitddir=$(libsysinitddir)/init.d
+libsyslaunchddir=$(libsysdir)/launchd
+libsyslogrotatedir=$(libsysdir)/logrotate
+libsyslsbdir=$(libsysdir)/lsb
+libsyslsbinitddir=$(libsyslsbdir)/init.d
+libsysopenrcdir=$(libsysdir)/openrc
+libsysopenrcinitddir=$(libsysopenrcdir)/init.d
+libsyssystemddir=$(libsysdir)/systemd
+
 # Explicitly install directories to avoid permission issues due to umask
 install-exec-local:
 	$(INSTALL) -d $(DESTDIR)$(configdir)
 	$(INSTALL) -d $(DESTDIR)$(libsysdir)
+	$(INSTALL) -d $(DESTDIR)$(libsyscrondir)
+	$(INSTALL) -d $(DESTDIR)$(libsysfreebsdrcddir)
+	$(INSTALL) -d $(DESTDIR)$(libsysinitdinitddir)
+	$(INSTALL) -d $(DESTDIR)$(libsyslaunchddir)
+	$(INSTALL) -d $(DESTDIR)$(libsyslogrotatedir)
+	$(INSTALL) -d $(DESTDIR)$(libsyslsbinitddir)
+	$(INSTALL) -d $(DESTDIR)$(libsyssystemddir)
+	$(INSTALL) -d $(DESTDIR)$(libsysopenrcinitddir)
 
 libexecnetdatadir=$(libexecdir)/netdata
 nodist_libexecnetdata_SCRIPTS = \
     install-service.sh \
     $(NULL)
 
-nodist_libsys_DATA = \
-    netdata-openrc \
-    netdata.logrotate \
-    netdata.service \
-    netdata.service.v235 \
-    netdata-init-d \
-    netdata-lsb \
-    netdata-freebsd \
-    netdata.plist \
-    netdata.crontab \
-    netdata-updater.service \
+nodist_libsyscron_DATA = \
+    cron/netdata-updater-daily \
+    $(NULL)
+
+nodist_libsysfreebsdrcd_DATA = \
+    freebsd/rc.d/netdata \
+    $(NULL)
+
+nodist_libsysinitdinitd_DATA = \
+    initd/init.d/netdata \
+    $(NULL)
+
+nodist_libsyslaunchd_DATA = \
+    launchd/netdata.plist \
+    $(NULL)
+
+nodist_libsyslogrotate_DATA = \
+    logrotate/netdata \
+    $(NULL)
+
+nodist_libsyslsbinitd_DATA = \
+    lsb/init.d/netdata \
+    $(NULL)
+
+nodist_libsysopenrcinitd_DATA = \
+    openrc/init.d/netdata \
+    $(NULL)
+
+nodist_libsyssystemd_DATA = \
+    systemd/netdata.service \
+    systemd/netdata.service.v235 \
+    systemd/netdata-updater.service \
     $(NULL)
 
-dist_libsys_DATA = \
-    netdata-updater.timer \
+dist_libsyssystemd_DATA = \
+    systemd/netdata-updater.timer \
     $(NULL)
 
 dist_noinst_DATA = \
     install-service.sh.in \
-    netdata-openrc.in \
-    netdata.logrotate.in \
-    netdata.service.in \
-    netdata.service.v235.in \
-    netdata-init-d.in \
-    netdata-lsb.in \
-    netdata-freebsd.in \
-    netdata.plist.in \
     netdata.conf \
-    netdata.crontab.in \
-    netdata-updater.service.in \
+    cron/netdata-updater-daily.in \
+    freebsd/rc.d/netdata.in \
+    initd/init.d/netdata.in \
+    launchd/netdata.plist.in \
+    logrotate/netdata.in \
+    lsb/init.d/netdata.in \
+    openrc/init.d/netdata.in \
+    systemd/netdata.service.in \
+    systemd/netdata.service.v235.in \
+    systemd/netdata-updater.service.in \
     $(NULL)

+ 0 - 0
system/netdata.crontab.in → system/cron/netdata-updater-daily.in


+ 0 - 0
system/netdata-freebsd.in → system/freebsd/rc.d/netdata.in


+ 0 - 0
system/netdata-init-d.in → system/initd/init.d/netdata.in


Some files were not shown because too many files changed in this diff