diff options
author | Craig Andrews <candrews@gentoo.org> | 2017-10-04 09:19:52 -0400 |
---|---|---|
committer | Craig Andrews <candrews@gentoo.org> | 2017-10-04 09:20:22 -0400 |
commit | 5c4ecb46864837ce4c6025910db09de686c5c071 (patch) | |
tree | f77d342185f5fd8142d96e113ad0eda00419adb7 /net-analyzer/netdata | |
parent | net-fs/samba: Raise dev util cmocka =>1.1.1 dependency. (diff) | |
download | gentoo-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/netdata')
-rw-r--r-- | net-analyzer/netdata/files/netdata-1.8.0-openrc-fixes.patch | 105 | ||||
-rw-r--r-- | net-analyzer/netdata/netdata-1.8.0-r1.ebuild | 108 | ||||
-rw-r--r-- | net-analyzer/netdata/netdata-9999.ebuild | 6 |
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} |