summaryrefslogtreecommitdiff
path: root/pcr/ganglia
diff options
context:
space:
mode:
Diffstat (limited to 'pcr/ganglia')
-rw-r--r--pcr/ganglia/PKGBUILD78
-rw-r--r--pcr/ganglia/ganglia.install24
-rw-r--r--pcr/ganglia/gmetad.service.in11
-rw-r--r--pcr/ganglia/gmond.service.in9
4 files changed, 122 insertions, 0 deletions
diff --git a/pcr/ganglia/PKGBUILD b/pcr/ganglia/PKGBUILD
new file mode 100644
index 000000000..efa005071
--- /dev/null
+++ b/pcr/ganglia/PKGBUILD
@@ -0,0 +1,78 @@
+# Maintainer: Márcio Silva <coadde@lavabit.com>
+
+pkgname=ganglia
+pkgver=3.6.0
+pkgrel=4
+pkgdesc='Scalable distributed monitoring system for high-performance computing systems such as clusters and Grids.'
+arch=(
+ i686
+ x86_64
+ mips64el
+)
+url=http://$pkgname.sourceforge.net/
+license=BSD
+depends=(
+ apr
+ confuse
+ #php-embed
+ python2
+ rrdtool
+)
+install=$pkgname.install
+options=(!libtool)
+optdepends="$pkgname-web: Web frontend"
+backup=(
+ etc/ganglia/gmond.conf
+ etc/ganglia/gmetad.conf
+)
+source=(
+ http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz
+ gmetad.service.in
+ gmond.service.in
+)
+sha512sums=(
+ 2a05d37787f1440c0c4aa91cdf0f4f4cb39c840b3b0fdcd6fe58cfb5892a75f81d36f6191c83c17558c37154298268df74fa255d2c940a8b84a7bf3ddb102394
+ a42b7dcb7dd81961cc9fef114f8c4c352375ed931dc2ae77b1139c6fde7cbd6544fcb5fe286ff6066ef37696821dc9f6fcab7c6b14d3ebaa59e895219cd89836
+ c362a383cbbaf5540b5d698f664534bd0da73bcc5ee4336c468844ed17706e05450f35e4f6cf969f1d2495c462883873b30e4575b9ee8ded74ab475afda608bb
+)
+
+prepare() {
+ cd $srcdir/$pkgname-$pkgver
+
+ #sed -i 's|sapi/embed/php_embed.h|php/sapi/embed/php_embed.h|' configure
+
+ sed -i 's|nobody|ganglia|' gmetad/gmetad.conf.in
+
+ # FIXME: Hopefully this will soon no longer be required?
+ msg2 'Copying systemd units into source as workaround for bug'
+ cp $srcdir/gmetad.service.in gmetad/gmetad.service.in
+ cp $srcdir/gmond.service.in gmond/gmond.service.in
+}
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ setarch $CARCH ./configure --prefix=/usr\
+ --enable-gexec\
+ --enable-perl\
+ --enable-setuid=ganglia\
+ --enable-status\
+ --disable-static\
+ --libdir=/usr/lib\
+ --with-gmetad\
+ --with-python=/usr/bin/python2\
+ --sbindir=/usr/bin\
+ --sysconfdir=/etc/ganglia
+# --enable-php\
+# --enable-setgid=ganglia\
+ setarch $CARCH make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ setarch $CARCH make DESTDIR=$pkgdir install
+
+ mkdir $pkgdir/usr/lib/$pkgname/python_modules
+
+ msg2 'Generating default gmond.conf'
+ ./gmond/gmond --default_config > $pkgdir/etc/ganglia/gmond.conf
+}
diff --git a/pcr/ganglia/ganglia.install b/pcr/ganglia/ganglia.install
new file mode 100644
index 000000000..6a196af1f
--- /dev/null
+++ b/pcr/ganglia/ganglia.install
@@ -0,0 +1,24 @@
+post_install() {
+ if [ "`vercmp $2 3.4.0`" -lt 0 ]; then
+ echo 'WARNING: The ganglia package has been split. If you use the' \
+ "web frontend, you'll need to install the ganglia-web package as well."
+ fi
+ id ganglia >& /dev/null
+ if [ $? -ne 0 ]; then
+ echo 'Adding ganglia system group and user...'
+ groupadd -r ganglia && useradd -r -d /var/lib/ganglia -g ganglia -s /bin/false ganglia
+ # Lock the account to prevent logging in
+ passwd -l ganglia &> /dev/null
+ fi
+ install -d -o ganglia -g ganglia /var/lib/ganglia && install -d -o ganglia -g ganglia /var/lib/ganglia/rrds
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ echo 'Removing ganglia system group and user...'
+ userdel ganglia
+ echo 'NOTE: Please remove /var/lib/ganglia manually if it is no longer required.'
+}
diff --git a/pcr/ganglia/gmetad.service.in b/pcr/ganglia/gmetad.service.in
new file mode 100644
index 000000000..a721c2b4c
--- /dev/null
+++ b/pcr/ganglia/gmetad.service.in
@@ -0,0 +1,11 @@
+[Unit]
+Description=Ganglia Meta Daemon
+After=network.target
+
+[Service]
+Type=forking
+PIDFile=/run/gmetad.pid
+ExecStart=/usr/bin/gmetad -p /run/gmetad.pid
+
+[Install]
+WantedBy=multi-user.target
diff --git a/pcr/ganglia/gmond.service.in b/pcr/ganglia/gmond.service.in
new file mode 100644
index 000000000..5cbd31629
--- /dev/null
+++ b/pcr/ganglia/gmond.service.in
@@ -0,0 +1,9 @@
+[Unit]
+Description=Ganglia Monitor Daemon
+After=network.target
+
+[Service]
+ExecStart=/usr/bin/gmond -f -p /run/gmond.pid
+
+[Install]
+WantedBy=multi-user.target