commit: 5c4ecb46864837ce4c6025910db09de686c5c071 Author: Craig Andrews <candrews <AT> gentoo <DOT> org> AuthorDate: Wed Oct 4 13:19:52 2017 +0000 Commit: Craig Andrews <candrews <AT> gentoo <DOT> org> CommitDate: Wed Oct 4 13:20:22 2017 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5c4ecb46
net-analyzer/netdata: openrc and systemd fixes Create the var/cache/netdata directory if it doesn't already exist in the systemd script Fix the path to the netdata executable in the openrc script Eliminate bashisms in openrc script Gentoo-bug: 633380 Package-Manager: Portage-2.3.11, Repoman-2.3.3 .../netdata/files/netdata-1.8.0-openrc-fixes.patch | 105 +++++++++++++++++++++ ...netdata-9999.ebuild => netdata-1.8.0-r1.ebuild} | 7 +- net-analyzer/netdata/netdata-9999.ebuild | 6 +- 3 files changed, 116 insertions(+), 2 deletions(-) diff --git a/net-analyzer/netdata/files/netdata-1.8.0-openrc-fixes.patch b/net-analyzer/netdata/files/netdata-1.8.0-openrc-fixes.patch new file mode 100644 index 00000000000..517eaec51fa --- /dev/null +++ b/net-analyzer/netdata/files/netdata-1.8.0-openrc-fixes.patch @@ -0,0 +1,105 @@ +From 3f4db620484e777265a7e5f0cfe10ba840f7eefd Mon Sep 17 00:00:00 2001 +From: Craig Andrews <[email protected]> +Date: Tue, 3 Oct 2017 10:52:02 -0400 +Subject: [PATCH 1/3] Eliminate bashisms in openrc script + +--- + system/netdata-openrc.in | 14 +++++++------- + 1 file changed, 7 insertions(+), 7 deletions(-) + +diff --git a/system/netdata-openrc.in b/system/netdata-openrc.in +index 465e1232c..5c4eafa57 100644 +--- a/system/netdata-openrc.in ++++ b/system/netdata-openrc.in +@@ -38,13 +38,13 @@ depend() { + } + + start_post() { +- if [[ ! -f @sysconfdir_POST@/netdata/netdata.conf ]]; then ++ if [ ! -f @sysconfdir_POST@/netdata/netdata.conf ]; then + ebegin "Downloading default configuration to @sysconfdir_POST@/netdata/netdata.conf" + sleep 2 + curl -s -o @sysconfdir_POST@/netdata/netdata.conf.new "${NETDATA_CONFIG_URL}" + ret=$? +- if [[ $ret -eq 0 && -s @sysconfdir_POST@/netdata/netdata.conf.new ]]; then +- mv @sysconfdir_POST@/netdata/netdata.conf{.new,} ++ if [ $ret -eq 0 && -s @sysconfdir_POST@/netdata/netdata.conf.new ]; then ++ mv @sysconfdir_POST@/netdata/netdata.conf.new @sysconfdir_POST@/netdata/netdata.conf + else + ret=1 + rm @sysconfdir_POST@/netdata/netdata.conf.new 2>/dev/null +@@ -57,20 +57,20 @@ stop_post() { + local result ret=0 count=0 sigkill=0 + + ebegin "Waiting for netdata to save its database" +- while [[ -f "${pidfile}" ]]; do +- if [[ $count -gt ${NETDATA_WAIT_EXIT_TIMEOUT} ]]; then ++ while [ -f "${pidfile}" ]; do ++ if [ $count -gt ${NETDATA_WAIT_EXIT_TIMEOUT} ]; then + sigkill=1 + break + fi + +- count=$[count + 1] ++ count=$((count + 1)) + kill -0 $(cat ${pidfile}) 2>/dev/null + ret=$? + test $ret -eq 0 && sleep 1 + done + eend $sigkill + +- if [[ $sigkill -eq 1 && -f "${pidfile}" ]]; then ++ if [ $sigkill -eq 1 && -f "${pidfile}" ]; then + ebegin "Netdata is taking too long to exit, forcing it to quit" + kill -SIGKILL $(cat ${pidfile}) 2>/dev/null + eend $? + +From b6d80fb3a3ae60077cbbc1e8dd0d01e1eb3ff67d Mon Sep 17 00:00:00 2001 +From: Craig Andrews <[email protected]> +Date: Tue, 3 Oct 2017 14:56:53 -0400 +Subject: [PATCH 2/3] Fix the path to the netdata executable in the openrc + script + +Fixes #2826 +--- + system/netdata-openrc.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/system/netdata-openrc.in b/system/netdata-openrc.in +index 5c4eafa57..512d48278 100644 +--- a/system/netdata-openrc.in ++++ b/system/netdata-openrc.in +@@ -23,7 +23,7 @@ + + extra_started_commands="getconf" + pidfile="/run/netdata.pid" +-command="${NETDATA_INSTALL_PATH}/usr/sbin/netdata" ++command="@sbindir_POST@/netdata" + command_background="yes" + command_args="-P ${pidfile} ${NETDATA_EXTRA_ARGS}" + # start_stop_daemon_args="-u ${NETDATA_OWNER}" + +From b5823e7865851c3cc2381c4fb45716f269a4e85f Mon Sep 17 00:00:00 2001 +From: Craig Andrews <[email protected]> +Date: Tue, 3 Oct 2017 15:56:39 -0400 +Subject: [PATCH 3/3] Create the var/cache/netdata directory if it doesn't + already exist in the systemd script + +--- + system/netdata.service.in | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/system/netdata.service.in b/system/netdata.service.in +index 1d4af988a..58cdff225 100644 +--- a/system/netdata.service.in ++++ b/system/netdata.service.in +@@ -9,6 +9,9 @@ Group=netdata + RuntimeDirectory=netdata + RuntimeDirectoryMode=0775 + ExecStart=@sbindir_POST@/netdata -P /run/netdata/netdata.pid -D ++ExecStartPre=/bin/mkdir -p @localstatedir_POST@/cache/netdata ++ExecStartPre=/bin/chown -R netdata:netdata @localstatedir_POST@/cache/netdata ++PermissionsStartOnly=true + + # saving a big db on slow disks may need some time + TimeoutStopSec=60 diff --git a/net-analyzer/netdata/netdata-9999.ebuild b/net-analyzer/netdata/netdata-1.8.0-r1.ebuild similarity index 93% copy from net-analyzer/netdata/netdata-9999.ebuild copy to net-analyzer/netdata/netdata-1.8.0-r1.ebuild index e2948db1d76..d23f3237e7b 100644 --- a/net-analyzer/netdata/netdata-9999.ebuild +++ b/net-analyzer/netdata/netdata-1.8.0-r1.ebuild @@ -16,6 +16,7 @@ fi DESCRIPTION="Linux real time system monitoring, done right!" HOMEPAGE="https://github.com/firehol/netdata https://my-netdata.io/" +PATCHES=( "${FILESDIR}/${P}-openrc-fixes.patch" ) LICENSE="GPL-3+ MIT BSD" SLOT="0" @@ -90,8 +91,12 @@ src_configure() { src_install() { default + rm -rf "${D}/var/cache/netdata" || die + + # Remove unneeded .keep files + find "${ED}" -name ".keep" -delete || die + fowners -Rc ${NETDATA_USER}:${NETDATA_GROUP} /var/log/netdata - fowners -Rc ${NETDATA_USER}:${NETDATA_GROUP} /var/cache/netdata fowners -Rc ${NETDATA_USER}:${NETDATA_GROUP} /var/lib/netdata fowners -Rc root:${NETDATA_GROUP} /usr/share/${PN} diff --git a/net-analyzer/netdata/netdata-9999.ebuild b/net-analyzer/netdata/netdata-9999.ebuild index e2948db1d76..7c343955b89 100644 --- a/net-analyzer/netdata/netdata-9999.ebuild +++ b/net-analyzer/netdata/netdata-9999.ebuild @@ -90,8 +90,12 @@ src_configure() { src_install() { default + rm -rf "${D}/var/cache/netdata" || die + + # Remove unneeded .keep files + find "${ED}" -name ".keep" -delete || die + fowners -Rc ${NETDATA_USER}:${NETDATA_GROUP} /var/log/netdata - fowners -Rc ${NETDATA_USER}:${NETDATA_GROUP} /var/cache/netdata fowners -Rc ${NETDATA_USER}:${NETDATA_GROUP} /var/lib/netdata fowners -Rc root:${NETDATA_GROUP} /usr/share/${PN}
