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}

Reply via email to