aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLeonardo Arena <rnalrd@alpinelinux.org>2016-02-11 09:18:34 +0000
committerLeonardo Arena <rnalrd@alpinelinux.org>2016-02-11 09:18:44 +0000
commitaec4a358dd97c2a81e5f7a1a0d62d3d6c9121dab (patch)
tree66b99879c967f3e649aa1bd2df2757f8af41d695
parentb42964bae0b3db7008d22f5e4a722a1ff589b9b5 (diff)
downloadaports-aec4a358dd97c2a81e5f7a1a0d62d3d6c9121dab.tar.bz2
aports-aec4a358dd97c2a81e5f7a1a0d62d3d6c9121dab.tar.xz
testing/zabbix: beta testing/release candidate port
-rw-r--r--testing/zabbix/APKBUILD219
-rw-r--r--testing/zabbix/automake.patch11
-rw-r--r--testing/zabbix/musl-fix-includes.patch13
-rw-r--r--testing/zabbix/zabbix-agent.pre-install6
-rw-r--r--testing/zabbix/zabbix-agentd.initd33
-rw-r--r--testing/zabbix/zabbix-getloadavg.patch31
-rw-r--r--testing/zabbix/zabbix-proxy.initd21
-rw-r--r--testing/zabbix/zabbix-server.confd2
-rw-r--r--testing/zabbix/zabbix-server.initd11
-rw-r--r--testing/zabbix/zabbix.pre-install5
-rw-r--r--testing/zabbix/zabbix_server.conf.patch11
11 files changed, 363 insertions, 0 deletions
diff --git a/testing/zabbix/APKBUILD b/testing/zabbix/APKBUILD
new file mode 100644
index 0000000000..3a7c7a36f3
--- /dev/null
+++ b/testing/zabbix/APKBUILD
@@ -0,0 +1,219 @@
+# Contributor: Ɓukasz Jendrysik <scadu@yandex.com>
+# Contributor: Jeff Bilyk <jbilyk at gmail>
+# Contributor: Leonardo Arena <rnalrd@alpinelinux.org>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=zabbix
+_realver=3.0.0rc2
+pkgver=${_realver/rc/_rc}
+pkgrel=0
+pkgdesc="Enterprise-class open source distributed monitoring"
+url="http://www.zabbix.com"
+arch="all"
+license="GPL"
+depends="fping"
+makedepends="postgresql-dev curl-dev net-snmp-dev
+ sqlite-dev mariadb-dev curl-dev openipmi-dev unixodbc-dev
+ libxml2-dev autoconf automake libssh2"
+install="$pkgname.pre-install"
+pkgusers="zabbix"
+pkggroups="zabbix"
+subpackages="$pkgname-doc $pkgname-agent $pkgname-pgsql $pkgname-mysql
+ $pkgname-webif $pkgname-sqlite $pkgname-utils $pkgname-setup"
+source="http://downloads.sourceforge.net/$pkgname/$pkgname-$_realver.tar.gz
+ zabbix-getloadavg.patch
+ automake.patch
+ musl-fix-includes.patch
+ zabbix-server.initd
+ zabbix-server.confd
+ zabbix-agentd.initd
+ zabbix-proxy.initd
+ zabbix_server.conf.patch
+ "
+
+_builddir="$srcdir"/$pkgname-$_realver
+
+prepare() {
+ cd "$_builddir"
+ # update_config_sub || return 1
+ for i in $source; do
+ case $i in
+ *eglibc*.patch)
+ if [ "$CLIBC" == "eglibc" ]; then
+ msg "Applying $i"
+ patch -p1 -i "$srcdir"/$i || return 1
+ fi
+ ;;
+ *.patch)
+ msg "Applying $i"
+ patch -p1 -i "$srcdir"/$i || return 1
+ ;;
+ esac
+ done
+ aclocal -I m4 && autoconf && autoheader \
+ && automake --add-missing || return 1
+ # update_config_sub
+ # Fix config file locations
+ for file in server agentd proxy; do
+ sed -i "$_builddir"/conf/zabbix_${file}.conf \
+ -e 's|SNMPTrapperFile=/tmp|SNMPTrapperFile=/var/log/zabbix|' \
+ -e 's|PidFile=/tmp|PidFile=/var/run/zabbix|' \
+ -e 's|LogFile=/tmp|LogFile=/var/log/zabbix|' || return 1
+ done
+}
+
+build() {
+ # set default configure flags
+ _configure="--prefix=/usr \
+ --sysconfdir=/etc/zabbix \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --enable-server \
+ --enable-agent \
+ --enable-proxy \
+ --enable-ipv6 \
+ --with-net-snmp \
+ --with-libcurl \
+ --with-libxml2 \
+ --with-openipmi \
+ --with-unixodbc \
+ --with-ssh2
+ "
+ # we run build for each db type
+ # make sure prepare is same for each db
+ for db in postgresql mysql sqlite3; do
+ cd "$srcdir"
+ msg "Building for $db"
+ cp -r "$pkgname-$_realver" "$pkgname-$_realver-$db"
+ cd "$_builddir-$db"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --with-$db \
+ $_configure \
+ || return 1
+ make || return 1
+ done
+}
+
+
+package() {
+ # doing manual install
+ for i in agentd proxy server; do
+ install -D -m755 "$_builddir"/man/zabbix_$i.man \
+ "$pkgdir"/usr/share/man/man8/zabbix_$i.8
+ done
+ for i in get sender; do
+ install -D -m755 "$_builddir"/man/zabbix_$i.man \
+ "$pkgdir"/usr/share/man/man1/zabbix_$i.1
+ done
+ install -d -m0750 -o zabbix -g zabbix \
+ "$pkgdir"/var/run/zabbix "$pkgdir"/var/log/zabbix
+ install -D -m0644 "$_builddir"/conf/zabbix_server.conf \
+ "$pkgdir"/etc/zabbix/zabbix_server.conf
+ install -D -m0644 "$_builddir"/conf/zabbix_trapper.conf \
+ "$pkgdir"/etc/zabbix/zabbix_trapper.conf
+ for i in server proxy; do
+ install -D -m0755 "$srcdir"/zabbix-$i.initd \
+ "$pkgdir"/etc/init.d/zabbix-$i || return 1
+ done
+ install -D -m0644 "$srcdir"/zabbix-server.confd \
+ "$pkgdir"/etc/conf.d/zabbix-server || return 1
+}
+
+setup() {
+ arch="noarch"
+ pkgdesc="Zabbix images and sql files"
+ depends=
+ mkdir -p "$subpkgdir"/usr/share/zabbix/ || return 1
+ mv "$_builddir"/database "$subpkgdir"/usr/share/zabbix/
+}
+
+_do_db() {
+ pkgdesc="Zabbix server with $1 database support"
+ depends="$pkgname $2"
+ local i=
+ mkdir -p "$subpkgdir"/usr/sbin
+ mv "$_builddir-$1"/src/zabbix_server/zabbix_server \
+ "$subpkgdir"/usr/sbin/ || return 1
+ mv "$_builddir-$1"/src/zabbix_proxy/zabbix_proxy \
+ "$subpkgdir"/usr/sbin/ || return 1
+ install -D -m0644 "$_builddir"/conf/zabbix_proxy.conf \
+ "$pkgdir"/etc/zabbix/zabbix_proxy.conf || return 1
+ cd "$_builddir"
+ for i in upgrades/dbpatches/*/$1; do
+ [ -e $i ] || continue
+ mkdir -p "$subpkgdir"/usr/share/zabbix/${i%/*}
+ mv "$i" "$subpkgdir"/usr/share/zabbix/$i
+ done
+ return 0
+}
+
+pgsql() { _do_db postgresql "!$pkgname-mysql !$pkgname-sqlite";}
+mysql() { _do_db mysql "!$pkgname-pgsql !$pkgname-sqlite";}
+sqlite(){ _do_db sqlite3 "!$pkgname-pgsql !$pkgname-mysql";}
+
+utils() {
+ pkgdesc="Zabbix client utilities"
+ depends=
+ mkdir -p "$subpkgdir"/usr/bin
+ mv "$_builddir-postgresql"/src/zabbix_get/zabbix_get \
+ "$subpkgdir"/usr/bin
+ mv "$_builddir-postgresql"/src/zabbix_sender/zabbix_sender \
+ "$subpkgdir"/usr/bin
+}
+
+webif() {
+ arch="noarch"
+ pkgdesc="Zabbix web-interface"
+ depends="php php-pgsql php-gd php-curl php-bcmath php-sockets php-iconv
+ php-xmlreader php-ctype php-gettext"
+ _wwwdir="$subpkgdir"/usr/share/webapps/zabbix
+ mkdir -p $_wwwdir
+ mv "$_builddir"/frontends/php/* "$_wwwdir"
+}
+
+agent() {
+ pkgdesc="Zabbix Network Monitoring Agent"
+ depends=
+ install="$subpkgname.pre-install"
+ install -d -m0750 -o zabbix -g zabbix \
+ "$subpkgdir"/var/run/zabbix "$subpkgdir"/var/log/zabbix
+ install -D -m0644 "$_builddir"/conf/zabbix_agentd.conf \
+ "$subpkgdir"/etc/zabbix/zabbix_agentd.conf
+ install -D -m0755 "$srcdir"/zabbix-agentd.initd \
+ "$subpkgdir"/etc/init.d/zabbix-agentd
+ mkdir -p "$subpkgdir"/usr/sbin
+ mv "$_builddir-postgresql"/src/zabbix_agent/zabbix_agent \
+ "$subpkgdir"/usr/sbin/
+ mv "$_builddir-postgresql"/src/zabbix_agent/zabbix_agentd \
+ "$subpkgdir"/usr/sbin/
+
+}
+
+md5sums="7c4cc115d3ef2bc5dfc453e9d1b3be63 zabbix-3.0.0rc2.tar.gz
+3a71e310bd2b38498a7c6830169f7480 zabbix-getloadavg.patch
+bf62c539870874e11de39c60cb974786 automake.patch
+40c81bdec85815f4ba637eb6528cc5e8 musl-fix-includes.patch
+f44105322022734dc42032db0396fe9e zabbix-server.initd
+bd91d0243cf8f72b86b9bf0b91963663 zabbix-server.confd
+d9711779f969958c8aa348991170578b zabbix-agentd.initd
+0ce2ab963a0bc5a0a6e17a708b7c7064 zabbix-proxy.initd
+3d031903ea14e1de0804ff1230fd968e zabbix_server.conf.patch"
+sha256sums="43f23a61cb73868338fa20762ace4f135cc9d63e3a585f58dd4f2d0d947e2de9 zabbix-3.0.0rc2.tar.gz
+d2c0651c5fa67a1857707552e79ecece7ca95c149042460c40456634bf7611dc zabbix-getloadavg.patch
+b347ca77660e69bea353c50e2fce0c7c4cc837f782c9f84f74ba92c1a62b4c1b automake.patch
+38b4e1a5d5c16c7d9b31347acf710d84b693f6e1df365d1072548e897e034884 musl-fix-includes.patch
+d4c6dcf9b78f78a2ef2b4a4f2763fb90f81d0298bc90bd164db8604f161182ec zabbix-server.initd
+ddf75041fb0afc5b211dd79a934341cc9db4325447ad33a42cbf09bdfb5cad42 zabbix-server.confd
+62223dce45fb915cc66eb24c839cf63e81c80159da9360e7669e7384082e3a08 zabbix-agentd.initd
+ec3a8c564be20221ea7560fbec345191cd251d58bd15e9c41abec40c2cf5b4f2 zabbix-proxy.initd
+f87b221d32b3088db78c013f11d035339d7058817092dfdcc39898b4b3ee8448 zabbix_server.conf.patch"
+sha512sums="134ebe2ad95bc43a629620065d6ff4137c1e958851da7139d91873de63e366c306c5c1d503bf44c3ff74fd9c0d57a6becad236257b1914fd67a8e6c49230183b zabbix-3.0.0rc2.tar.gz
+b65c6ba7701d98ae7f6fe2124c1d2b8b8fea3c3cc7ee080bf99f5afff0aaa6a025c2a1f5136b4700b53d1b7609e6185642650d7edd013c554b2af37fddae771c zabbix-getloadavg.patch
+9bff8966cb8b3f1767bfb1b3f3529bca5c9957f2c8179a40ded3b4e43615ba9fb408aef43092fd119b7df80b042555d05c9780fac3760176b95524aa48252fee automake.patch
+9b87ec1ea4a9cbb501c16012d498cdae82a696f4cd495e1e8cb201d9e31c6e135da5bb264c6273f2de87297bd3e4bd16f66703610686f5d610e3316ee24aac91 musl-fix-includes.patch
+3a25bf9f428f55545dd735aea2855e0e4927e006ca01a2f918ec161ffe9b2ec66e46598bf34208e24535e1d04e33087f42eb8226b17eb4118abd6507bbb10ff5 zabbix-server.initd
+a91821c6086a1fc0197750cc68073419defcb7d775b11b14a993409a8f61c7a1a0a0af95de27eed9f3b8357f8362640cb1b26b91b56f4f1d714ca6f222d02b80 zabbix-server.confd
+7cc2672b717f1b47b12342fe225e9dc3838c61a0bf81d359d0a71efb0adc9b354fb8bc8b5bb64c9defa5700bcaf651b35778194a50b6b03b0a723dce76460092 zabbix-agentd.initd
+e19490e724c6e4ecdadf7ee3898567b82f18ea2a894ef709bfc181c3076d50435b45429207dd4d537aacbec0242d83393240e48b434d9681ebb0d67a45643ed1 zabbix-proxy.initd
+e0c9f937d39e15fa34e70e8ae9e6578b221b51c13dc0515e807675d153a85ab6370ed20ce2d06aa4457baaf3963edce525cd00e85fb105b36b58741798d13836 zabbix_server.conf.patch"
diff --git a/testing/zabbix/automake.patch b/testing/zabbix/automake.patch
new file mode 100644
index 0000000000..d92e10b077
--- /dev/null
+++ b/testing/zabbix/automake.patch
@@ -0,0 +1,11 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -27,7 +27,7 @@
+
+ AC_PROG_MAKE_SET
+
+-AM_CONFIG_HEADER(include/config.h)
++AC_CONFIG_HEADER(include/config.h)
+
+ AC_CANONICAL_HOST
+
diff --git a/testing/zabbix/musl-fix-includes.patch b/testing/zabbix/musl-fix-includes.patch
new file mode 100644
index 0000000000..c36759dcde
--- /dev/null
+++ b/testing/zabbix/musl-fix-includes.patch
@@ -0,0 +1,13 @@
+--- zabbix-2.2.1.orig/include/sysinc.h
++++ zabbix-2.2.1/include/sysinc.h
+@@ -126,10 +126,6 @@
+ # include <sys/times.h>
+ #endif
+
+-#ifdef HAVE_LINUX_KERNEL_H
+-# include <linux/kernel.h>
+-#endif
+-
+ #ifdef HAVE_ARPA_NAMESER_H
+ #ifdef MAC_OS_X
+ # define BIND_8_COMPAT 1
diff --git a/testing/zabbix/zabbix-agent.pre-install b/testing/zabbix/zabbix-agent.pre-install
new file mode 100644
index 0000000000..57d46c251a
--- /dev/null
+++ b/testing/zabbix/zabbix-agent.pre-install
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+addgroup zabbix 2>/dev/null
+adduser -S -H -h /dev/null -s /sbin/nologin -D -G zabbix zabbix 2>/dev/null
+addgroup -g 30 zabbix 2>/dev/null
+exit 0
diff --git a/testing/zabbix/zabbix-agentd.initd b/testing/zabbix/zabbix-agentd.initd
new file mode 100644
index 0000000000..5b49535a59
--- /dev/null
+++ b/testing/zabbix/zabbix-agentd.initd
@@ -0,0 +1,33 @@
+#!/sbin/openrc-run
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-analyzer/zabbix/files/1.6.6/init.d/zabbix-agentd,v 1.1 2009/10/05 15:55:23 patrick Exp $
+
+# ensure the same file is specified as PidFile in /etc/zabbix/zabbix_agentd.conf
+pidfile=/var/run/zabbix/zabbix_agentd.pid
+user=zabbix
+group=zabbix
+
+start_pre() {
+ checkpath --owner ${user}:${group} --directory ${pidfile%/*}
+}
+
+
+depend() {
+ need net
+ provide zabbix-agent
+ use zabbix-server
+}
+
+start() {
+ ebegin "Starting Zabbix agent"
+ start-stop-daemon --pidfile ${pidfile} --start --user ${user}:${group} --exec /usr/sbin/zabbix_agentd
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping Zabbix agent"
+ start-stop-daemon --stop --user ${user} --pidfile ${pidfile}
+ eend $?
+}
+
diff --git a/testing/zabbix/zabbix-getloadavg.patch b/testing/zabbix/zabbix-getloadavg.patch
new file mode 100644
index 0000000000..c6a458e1b4
--- /dev/null
+++ b/testing/zabbix/zabbix-getloadavg.patch
@@ -0,0 +1,31 @@
+--- a/src/libs/zbxsysinfo/linux/cpu.c
++++ b/src/libs/zbxsysinfo/linux/cpu.c
+@@ -21,6 +21,28 @@
+ #include "sysinfo.h"
+ #include "stats.h"
+
++#ifndef HAVE_GETLOADAVG
++/*! \brief Alternative method of getting load avg on Linux only */
++int getloadavg(double *list, int nelem)
++{
++ FILE *LOADAVG;
++ double avg[3] = { 0.0, 0.0, 0.0 };
++ int i, res = -1;
++
++ if ((LOADAVG = fopen("/proc/loadavg", "r"))) {
++ fscanf(LOADAVG, "%lf %lf %lf", &avg[0], &avg[1], &avg[2]);
++ res = 0;
++ fclose(LOADAVG);
++ }
++
++ for (i = 0; (i < nelem) && (i < 3); i++) {
++ list[i] = avg[i];
++ }
++
++ return res;
++}
++#endif
++
+ int SYSTEM_CPU_NUM(AGENT_REQUEST *request, AGENT_RESULT *result)
+ {
+ char *type;
diff --git a/testing/zabbix/zabbix-proxy.initd b/testing/zabbix/zabbix-proxy.initd
new file mode 100644
index 0000000000..619596415e
--- /dev/null
+++ b/testing/zabbix/zabbix-proxy.initd
@@ -0,0 +1,21 @@
+#!/sbin/openrc-run
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-analyzer/zabbix/files/1.6.6/init.d/zabbix-proxy,v 1.1 2009/10/06 16:24:35 patrick Exp $
+
+depend() {
+ need net
+ #use mysql postgresql
+}
+
+start() {
+ ebegin "Starting Zabbix proxy"
+ start-stop-daemon --start --user zabbix:zabbix --exec /usr/sbin/zabbix_proxy
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping Zabbix proxy"
+ start-stop-daemon --stop --user zabbix --pidfile /var/run/zabbix/zabbix_proxy.pid
+ eend $?
+}
diff --git a/testing/zabbix/zabbix-server.confd b/testing/zabbix/zabbix-server.confd
new file mode 100644
index 0000000000..3cc9996400
--- /dev/null
+++ b/testing/zabbix/zabbix-server.confd
@@ -0,0 +1,2 @@
+pidfile="/var/run/zabbix/zabbix_server.pid"
+command="/usr/sbin/zabbix_server"
diff --git a/testing/zabbix/zabbix-server.initd b/testing/zabbix/zabbix-server.initd
new file mode 100644
index 0000000000..c2697cba4d
--- /dev/null
+++ b/testing/zabbix/zabbix-server.initd
@@ -0,0 +1,11 @@
+#!/sbin/openrc-run
+
+depend() {
+ need net
+ use mysql postgresql
+ after firewall
+}
+
+start_pre() {
+ checkpath -d -m 0775 -o zabbix:zabbix /var/run/zabbix
+}
diff --git a/testing/zabbix/zabbix.pre-install b/testing/zabbix/zabbix.pre-install
new file mode 100644
index 0000000000..19d6469ccc
--- /dev/null
+++ b/testing/zabbix/zabbix.pre-install
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+addgroup -S zabbix 2>/dev/null
+adduser -S -H -h /dev/null -s /sbin/nologin -D -G zabbix zabbix 2>/dev/null
+exit 0
diff --git a/testing/zabbix/zabbix_server.conf.patch b/testing/zabbix/zabbix_server.conf.patch
new file mode 100644
index 0000000000..44c22f114f
--- /dev/null
+++ b/testing/zabbix/zabbix_server.conf.patch
@@ -0,0 +1,11 @@
+--- a/conf/zabbix_server.conf
++++ b/conf/zabbix_server.conf
+@@ -56,7 +56,7 @@
+ #
+ # Mandatory: no
+ # Default:
+-# PidFile=/tmp/zabbix_server.pid
++PidFile=/tmp/zabbix_server.pid
+
+ ### Option: DBHost
+ # Database host name.