summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCraig Andrews <candrews@gentoo.org>2017-10-04 09:19:52 -0400
committerCraig Andrews <candrews@gentoo.org>2017-10-04 09:20:22 -0400
commit5c4ecb46864837ce4c6025910db09de686c5c071 (patch)
treef77d342185f5fd8142d96e113ad0eda00419adb7 /net-analyzer
parentnet-fs/samba: Raise dev util cmocka =>1.1.1 dependency. (diff)
downloadgentoo-5c4ecb46864837ce4c6025910db09de686c5c071.tar.gz
gentoo-5c4ecb46864837ce4c6025910db09de686c5c071.tar.bz2
gentoo-5c4ecb46864837ce4c6025910db09de686c5c071.zip
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
Diffstat (limited to 'net-analyzer')
-rw-r--r--net-analyzer/netdata/files/netdata-1.8.0-openrc-fixes.patch105
-rw-r--r--net-analyzer/netdata/netdata-1.8.0-r1.ebuild108
-rw-r--r--net-analyzer/netdata/netdata-9999.ebuild6
3 files changed, 218 insertions, 1 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 000000000000..517eaec51faf
--- /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 <candrews@integralblue.com>
+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 <candrews@integralblue.com>
+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 <candrews@integralblue.com>
+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-1.8.0-r1.ebuild b/net-analyzer/netdata/netdata-1.8.0-r1.ebuild
new file mode 100644
index 000000000000..d23f3237e7b5
--- /dev/null
+++ b/net-analyzer/netdata/netdata-1.8.0-r1.ebuild
@@ -0,0 +1,108 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} )
+
+inherit autotools fcaps linux-info python-r1 systemd user
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/firehol/${PN}.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/firehol/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+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"
+IUSE="caps +compression cpu_flags_x86_sse2 ipmi mysql nfacct nodejs postgres +python"
+REQUIRED_USE="
+ mysql? ( python )
+ python? ( ${PYTHON_REQUIRED_USE} )"
+# most unconditional dependencies are for plugins.d/charts.d.plugin:
+RDEPEND="
+ >=app-shells/bash-4:0
+ || (
+ net-analyzer/netcat6
+ net-analyzer/netcat
+ )
+ net-analyzer/tcpdump
+ net-analyzer/traceroute
+ net-misc/curl
+ net-misc/wget
+ sys-apps/util-linux
+ virtual/awk
+ caps? ( sys-libs/libcap )
+ compression? ( sys-libs/zlib )
+ ipmi? ( sys-libs/freeipmi )
+ nfacct? (
+ net-firewall/nfacct
+ net-libs/libmnl
+ )
+ nodejs? ( net-libs/nodejs )
+ python? (
+ ${PYTHON_DEPS}
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ mysql? (
+ || (
+ dev-python/mysqlclient[${PYTHON_USEDEP}]
+ dev-python/mysql-python[${PYTHON_USEDEP}]
+ )
+ )
+ postgres? ( dev-python/psycopg:2[${PYTHON_USEDEP}] )
+ )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+: ${NETDATA_USER:=netdata}
+: ${NETDATA_GROUP:=netdata}
+
+FILECAPS=(
+ 'cap_dac_read_search,cap_sys_ptrace+ep' 'usr/libexec/netdata/plugins.d/apps.plugin'
+)
+
+pkg_setup() {
+ linux-info_pkg_setup
+
+ enewgroup ${PN}
+ enewuser ${PN} -1 -1 / ${PN}
+}
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --localstatedir="${EPREFIX}"/var \
+ --with-user=${NETDATA_USER} \
+ $(use_enable nfacct plugin-nfacct) \
+ $(use_enable ipmi plugin-freeipmi) \
+ $(use_enable cpu_flags_x86_sse2 x86-sse) \
+ $(use_with compression zlib)
+}
+
+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/lib/netdata
+
+ fowners -Rc root:${NETDATA_GROUP} /usr/share/${PN}
+
+ newinitd system/netdata-openrc ${PN}
+ systemd_dounit system/netdata.service
+ insinto /etc/netdata
+ doins system/netdata.conf
+}
diff --git a/net-analyzer/netdata/netdata-9999.ebuild b/net-analyzer/netdata/netdata-9999.ebuild
index e2948db1d764..7c343955b897 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}