summaryrefslogtreecommitdiffstats
path: root/netdata-9999.ebuild
diff options
context:
space:
mode:
Diffstat (limited to 'netdata-9999.ebuild')
-rw-r--r--netdata-9999.ebuild105
1 files changed, 87 insertions, 18 deletions
diff --git a/netdata-9999.ebuild b/netdata-9999.ebuild
index 768b9ec1..7bcb9080 100644
--- a/netdata-9999.ebuild
+++ b/netdata-9999.ebuild
@@ -1,47 +1,116 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
-EAPI=5
+EAPI=6
-inherit autotools git-2 user
+inherit linux-info systemd user
-DESCRIPTION="Linux real time system monitoring, over the web!"
-HOMEPAGE="https://github.com/firehol/netdata"
-EGIT_REPO_URI="https://github.com/firehol/netdata"
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_REPO_URI="git://github.com/firehol/${PN}.git"
+ inherit git-r3 autotools
+ SRC_URI=""
+ KEYWORDS=""
+else
+ SRC_URI="http://firehol.org/download/${PN}/releases/v${PV}/${P}.tar.xz"
+ KEYWORDS="~amd64 ~x86"
+fi
-LICENSE="GPL-2+"
+
+DESCRIPTION="Linux real time system monitoring, done right!"
+HOMEPAGE="https://github.com/firehol/netdata http://netdata.firehol.org/"
+
+LICENSE="GPL-3+ MIT BSD"
SLOT="0"
-KEYWORDS=""
-IUSE="nfacct +zlib"
+IUSE="+compression nfacct nodejs"
-RDEPEND="zlib? ( sys-libs/zlib )
+# most unconditional dependencies are for plugins.d/charts.d.plugin:
+RDEPEND="
+ >=app-shells/bash-4:0
+ net-misc/curl
+ net-misc/wget
+ virtual/awk
+ compression? ( sys-libs/zlib )
nfacct? (
net-firewall/nfacct
net-libs/libmnl
+ )
+ nodejs? (
+ net-libs/nodejs
)"
+
DEPEND="${RDEPEND}
virtual/pkgconfig"
+# check for Kernel-Samepage-Merging (CONFIG_KSM)
+CONFIG_CHECK="
+ ~KSM
+"
+
+: ${NETDATA_USER:=netdata}
+: ${NETDATA_GROUP:=netdata}
+
pkg_setup() {
- enewgroup netdata
- enewuser netdata -1 -1 / netdata
+ linux-info_pkg_setup
+
+ enewgroup ${PN}
+ enewuser ${PN} -1 -1 / ${PN}
}
src_prepare() {
- eautoreconf
+ default
+ [[ ${PV} == "9999" ]] && eautoreconf
}
src_configure() {
econf \
- --localstatedir="${EROOT}var" \
+ --localstatedir=/var \
+ --with-user=${NETDATA_USER} \
$(use_enable nfacct plugin-nfacct) \
- $(use_with zlib) \
- --with-user=netdata
+ $(use_with compression zlib)
}
src_install() {
default
- fowners netdata /var/log/netdata
- rm -fr "${ED}/var/cache/netdata"
+
+ fowners ${NETDATA_USER}:${NETDATA_GROUP} /var/log/netdata
+ fowners ${NETDATA_USER}:${NETDATA_GROUP} /var/cache/netdata
+
+ chown -Rc ${NETDATA_USER}:${NETDATA_GROUP} "${ED}"/usr/share/${PN} || die
+
+ cat >> "${T}"/${PN}-sysctl <<- EOF
+ kernel.mm.ksm.run = 1
+ kernel.mm.ksm.sleep_millisecs = 1000
+ EOF
+
+ dodoc "${T}"/${PN}-sysctl
+
+ newinitd system/netdata-openrc ${PN}
+ systemd_dounit system/netdata.service
+}
+
+pkg_postinst() {
+ if [[ -e "/sys/kernel/mm/ksm/run" ]]; then
+ elog "INFORMATION:"
+ echo ""
+ elog "I see you have kernel memory de-duper (called Kernel Same-page Merging,"
+ elog "or KSM) available, but it is not currently enabled."
+ echo ""
+ elog "To enable it run:"
+ echo ""
+ elog "echo 1 >/sys/kernel/mm/ksm/run"
+ elog "echo 1000 >/sys/kernel/mm/ksm/sleep_millisecs"
+ echo ""
+ elog "If you enable it, you will save 20-60% of netdata memory."
+ else
+ elog "INFORMATION:"
+ echo ""
+ elog "I see you do not have kernel memory de-duper (called Kernel Same-page"
+ elog "Merging, or KSM) available."
+ echo ""
+ elog "To enable it, you need a kernel built with CONFIG_KSM=y"
+ echo ""
+ elog "If you can have it, you will save 20-60% of netdata memory."
+ fi
+
}