Date: Wednesday, October 25, 2017 @ 07:38:52 Author: bluewind Revision: 308457
properly fix pkgbuild Modified: zabbix/trunk/PKGBUILD ----------+ PKGBUILD | 236 ++++++++++++++++++++++++++++++++----------------------------- 1 file changed, 126 insertions(+), 110 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2017-10-25 07:17:02 UTC (rev 308456) +++ PKGBUILD 2017-10-25 07:38:52 UTC (rev 308457) @@ -1,9 +1,10 @@ -# Maintainer: Sébastien "Seblu" Luttringer <[email protected]> -# Contributor: Thore Bödecker <[email protected]> +# $Id$ +# Maintainer: Bartłomiej Piotrowski <[email protected]> +# Maintainer: Florian Pritz <[email protected]> pkgbase=zabbix pkgname=(zabbix-server zabbix-agent zabbix-proxy zabbix-frontend-php) -pkgver=3.4.2 +pkgver=3.4.3 pkgrel=1 arch=(i686 x86_64) url='http://www.zabbix.com/' @@ -14,7 +15,7 @@ zabbix-server{-mysql,-pgsql}.service zabbix-server.{sysusers,tmpfiles} zabbix-proxy{-sqlite,-mysql,-pgsql}.service zabbix-proxy.{sysusers,tmpfiles}) -sha256sums=('54c21e04da4ef43380af647c6a0ddff67614337386fa318da021117efe5b334f' +sha256sums=('00e87db503d332a1e3905d13f36b6ddad32c2514f03060361168655a8d4fd8cf' '484fa9969eab61eaf20043ae08e2615c0569982dff869c985f2e2065da698c6a' 'ef23133aae2340945e621c9725094a3458d9089d3de15f641afcdabdf7c5a39c' 'c38a871d237b00dd6310dfb02e5a8e1b930e445204e73dde8305bed8baf380ec' @@ -28,138 +29,153 @@ 'd8929b2e78b5b178c7eebc32ae00a05b7c9d798cf25950a8745ea4b23734e226' 'f842ea0a229513e918ff9641391605d436b7d57cb53d932cdd02e4e8b13c95d9') - # remove tests that require root privileges - rm src/test/cli/ceph-authtool/cap*.t - - # remove broken tests - rm src/test/cli/crushtool/build.t - rm -rf qa/btrfs - rm src/btrfs_ioc_test.c - - # this test will try to perform btrfs operations when a btrfs mount - # is active on the build host, which will fail - if mount | grep 'type btrfs' &>/dev/null; then - sed -i '/run-tox-ceph-disk/d' src/test/CMakeLists.txt - fi +prepare() { + cd $pkgbase-$pkgver + sed -i \ + -e '/^LogFile=.*/d' \ + -e 's/# LogType=file/LogType=system/' \ + conf/zabbix_{agentd,proxy,server}.conf + autoreconf -fi } build() { - cd "${srcdir}/${pkgbase}-${pkgver}" + _configure_flags=( + --disable-static + --prefix=/usr + --infodir=/usr/share/info + --mandir=/usr/share/man + --sysconfdir=/etc/zabbix + --enable-agent + --enable-ipv6 + --with-ldap + --with-libcurl + --with-libxml2 + --with-net-snmp + --with-openssl + --with-ssh2 + --with-unixodbc + ) - mkdir -p build - cd build + cd $pkgbase-$pkgver - cmake \ - -DCMAKE_INSTALL_PREFIX=/usr \ - -DCMAKE_INSTALL_SYSCONFDIR=/etc \ - -DCMAKE_INSTALL_SBINDIR=/usr/bin \ - -DCMAKE_INSTALL_LIBDIR=/usr/lib \ - -DCMAKE_INSTALL_LIBEXECDIR=/usr/lib \ - -DWITH_BABELTRACE=ON \ - -DWITH_CEPHFS=ON \ - -DWITH_FUSE=ON \ - -DWITH_LTTNG=ON \ - -DWITH_LZ4=ON \ - -DWITH_MGR=ON \ - -DWITH_NSS=ON \ - -DPYTHON_INCLUDE_DIR=/usr/include/python2.7 \ - -DWITH_RADOSGW=ON \ - -DWITH_RADOSGW_BEAST_FRONTEND=ON \ - -DWITH_RDMA=OFF \ - -DWITH_SSL=ON \ - -DWITH_SYSTEM_BOOST=ON \ - -DWITH_SYSTEMD=ON \ - -DWITH_TESTS=ON \ - -DWITH_XFS=ON \ - -DENABLE_SHARED=ON \ - .. + for db in postgresql mysql; do + ./configure ${_configure_flags[@]} --enable-server --with-$db + make clean + make + mv src/zabbix_server/zabbix_server{,_$db} + done - make all + for db in postgresql mysql sqlite3; do + ./configure ${_configure_flags[@]} --enable-proxy --with-$db + make clean + make + mv src/zabbix_proxy/zabbix_proxy{,_$db} + done } -check() { - cd "${srcdir}/${pkgbase}-${pkgver}/build" +package_zabbix-server() { + pkgdesc='Monitoring software for networks and applications' + depends=(net-snmp curl libxml2 unixodbc libldap libevent) + optdepends=('postgresql-libs: for PostgreSQL support' + 'libmariadbclient: for MariaDB support') + backup=(etc/zabbix/zabbix_server.conf) + install=zabbix-server.install - export CTEST_PARALLEL_LEVEL="$(nproc)" - make check + cd $pkgbase-$pkgver - # sometimes processes are not properly terminated... - for process in ceph-mon ceph-mgr ceph-osd; do - pkill -9 "$process" || true + for db in postgresql mysql; do + install -Dm755 src/zabbix_server/zabbix_server_$db \ + "$pkgdir/usr/bin/zabbix_server_$db" + + install -d "$pkgdir/usr/share/$pkgname/$db" + install -m644 database/$db/*.sql -t "$pkgdir/usr/share/$pkgname/$db" done -} + install -Dm755 src/zabbix_get/zabbix_get "$pkgdir/usr/bin/zabbix_get" -package_ceph-libs() { - depends=('boost-libs' 'curl' 'glibc' 'keyutils' 'leveldb' 'libaio' - 'libutil-linux' 'lttng-ust' 'nss' 'python2' 'xfsprogs') + install -Dm644 man/zabbix_server.man "$pkgdir/usr/share/man/man8/zabbix_server.8" + install -Dm644 man/zabbix_get.man "$pkgdir/usr/share/man/man1/zabbix_get.1" - cd "${srcdir}/${pkgbase}-${pkgver}/build" + install -Dm644 conf/zabbix_server.conf "$pkgdir/etc/zabbix/zabbix_server.conf" + chown 170:170 "$pkgdir/etc/zabbix/zabbix_server.conf" - # main install - make DESTDIR="$pkgdir" install + install -Dm644 "$srcdir/zabbix-server-pgsql.service" \ + "$pkgdir/usr/lib/systemd/system/zabbix-server-pgsql.service" + install -Dm644 "$srcdir/zabbix-server-mysql.service" \ + "$pkgdir/usr/lib/systemd/system/zabbix-server-mysql.service" - # remove stuff that goes into the ceph package - rm -rf "${pkgdir}"/usr/lib/{ceph/mgr,systemd,sysusers.d,tmpfiles.d} - rm -rf "${pkgdir}/usr/share" - rm -rf "${pkgdir}/usr/sbin" - rm -rf "${pkgdir}/usr/bin" - rm -rf "${pkgdir}/etc" - rm -rf "${pkgdir}/var" + install -Dm644 "$srcdir/zabbix-server.sysusers" \ + "$pkgdir/usr/lib/sysusers.d/zabbix-server.conf" + install -Dm644 "$srcdir/zabbix-server.tmpfiles" \ + "$pkgdir/usr/lib/tmpfiles.d/zabbix-server.conf" } -package_ceph() { - depends=('ceph-libs' 'babeltrace' 'boost-libs' 'curl' 'fuse2' 'glibc' - 'gperftools' 'keyutils' 'leveldb' 'libaio' 'libsystemd' 'libutil-linux' - 'lsb-release' 'lttng-ust' 'ncurses' 'nss' 'python2' 'python2-cherrypy' - 'python2-jinja' 'python2-pecan' 'python2-prettytable' 'python2-pyopenssl' - 'python2-setuptools' 'python2-werkzeug' 'snappy' 'xfsprogs') +package_zabbix-agent() { + pkgdesc='Monitoring agent for Zabbix' + depends=(curl pcre) + backup=(etc/zabbix/zabbix_agentd.conf) - cd "${srcdir}/${pkgbase}-${pkgver}/build" + cd $pkgbase-$pkgver + install -Dm755 src/zabbix_agent/zabbix_agentd "$pkgdir/usr/bin/zabbix_agentd" + install -Dm755 src/zabbix_sender/zabbix_sender "$pkgdir/usr/bin/zabbix_sender" - # main install - make DESTDIR="$pkgdir" install + install -Dm644 conf/zabbix_agentd.conf "$pkgdir/etc/zabbix/zabbix_agentd.conf" + chown 172:172 "$pkgdir/etc/zabbix/zabbix_agentd.conf" - # remove stuff that is in the ceph-libs package - find "${pkgdir}/usr/lib" -maxdepth 1 -type f -delete - find "${pkgdir}/usr/lib" -maxdepth 1 -type l -delete - find "${pkgdir}/usr/lib/ceph" -maxdepth 1 -type f -delete - find "${pkgdir}/usr/lib/ceph" -maxdepth 1 -type l -delete - rm -rf "${pkgdir}"/usr/lib/{ceph/{compressor,crypto,erasure-code},python2.7,rados-classes} - rm -rf "${pkgdir}/usr/include" + install -Dm644 conf/zabbix_agentd/userparameter_examples.conf \ + "$pkgdir/usr/share/zabbix-agent/userparameter_examples.conf" + install -Dm644 conf/zabbix_agentd/userparameter_mysql.conf \ + "$pkgdir/usr/share/zabbix-agent/userparameter_mysql.conf" - # install tmpfiles.d and sysusers.d stuff - install -Dm644 "${srcdir}/${pkgbase}-${pkgver}/systemd/ceph.tmpfiles.d" \ - "${pkgdir}/usr/lib/tmpfiles.d/${pkgbase}.conf" - install -Dm644 "${srcdir}/ceph.sysusers" \ - "${pkgdir}/usr/lib/sysusers.d/${pkgbase}.conf" + install -Dm644 man/zabbix_agentd.man \ + "$pkgdir/usr/share/man/man8/zabbix_agentd.8" + install -Dm644 man/zabbix_sender.man \ + "$pkgdir/usr/share/man/man1/zabbix_sender.1" - # remove debian init script - rm -rf "${pkgdir}/etc/init.d" + install -Dm644 "$srcdir/zabbix-agent.service" \ + "$pkgdir/usr/lib/systemd/system/zabbix-agent.service" + install -Dm644 "$srcdir/zabbix-agent.sysusers" \ + "$pkgdir/usr/lib/sysusers.d/zabbix-agent.conf" + install -Dm644 "$srcdir/zabbix-agent.tmpfiles" \ + "$pkgdir/usr/lib/tmpfiles.d/zabbix-agent.conf" +} - # fix sbin dir (cmake opt seems to have no effect) - mv "${pkgdir}"/usr/sbin/* "${pkgdir}/usr/bin/" - rm -rf "${pkgdir}/usr/sbin" +package_zabbix-proxy() { + pkgdesc='Data collecting proxy for Zabbix' + depends=(net-snmp curl libxml2 sqlite unixodbc libldap) + optdepends=('libmariadbclient: for MariaDB support' + 'postgresql-libs: for PostgreSQL support') + backup=(etc/zabbix/zabbix_proxy.conf) - # remove drop.ceph.com ssh stuff - rm -f "${pkgdir}/usr/share/ceph/{{known_hosts,id_rsa}_drop.ceph.com,.pub}" + cd $pkgbase-$pkgver + for db in postgresql mysql sqlite3; do + install -Dm755 src/zabbix_proxy/zabbix_proxy_$db \ + "$pkgdir/usr/bin/zabbix_proxy_$db" - # fix bash completions path - install -d -m 755 "${pkgdir}/usr/share/bash-completion" - mv "$pkgdir"/{etc/bash_completion.d,usr/share/bash-completion/completions} + install -d "$pkgdir/usr/share/$pkgname/$db" + install -m644 database/$db/schema.sql -t "$pkgdir/usr/share/$pkgname/$db" + done + install -Dm644 conf/zabbix_proxy.conf "$pkgdir/etc/zabbix/zabbix_proxy.conf" + chown 171:171 "$pkgdir/etc/zabbix/zabbix_proxy.conf" - # fix EnvironmentFile location in systemd service files - sed -i 's|/etc/sysconfig/|/etc/conf.d/|g' "${pkgdir}"/usr/lib/systemd/system/*.service + install -Dm644 "$srcdir/zabbix-proxy-sqlite.service" \ + "$pkgdir/usr/lib/systemd/system/zabbix-proxy-sqlite.service" + install -Dm644 "$srcdir/zabbix-proxy-pgsql.service" \ + "$pkgdir/usr/lib/systemd/system/zabbix-proxy-pgsql.service" + install -Dm644 "$srcdir/zabbix-proxy-mysql.service" \ + "$pkgdir/usr/lib/systemd/system/zabbix-proxy-mysql.service" - # prepare some paths and set correct permissions - install -D -d -m750 -o 0 -g 340 "${pkgdir}/etc/ceph" - install -D -d -m750 -o 340 -g 340 "${pkgdir}/var/log/ceph" - install -D -d -m750 -o 340 -g 340 "${pkgdir}/var/lib/ceph" - install -D -d -m750 -o 340 -g 340 "${pkgdir}/var/lib/ceph/bootstrap-mds" - install -D -d -m750 -o 340 -g 340 "${pkgdir}/var/lib/ceph/bootstrap-osd" - install -D -d -m750 -o 340 -g 340 "${pkgdir}/var/lib/ceph/bootstrap-rgw" - install -D -d -m750 -o 340 -g 340 "${pkgdir}/var/lib/ceph/mon" - install -D -d -m750 -o 340 -g 340 "${pkgdir}/var/lib/ceph/mgr" - install -D -d -m750 -o 340 -g 340 "${pkgdir}/var/lib/ceph/osd" + install -Dm644 "$srcdir/zabbix-proxy.sysusers" \ + "$pkgdir/usr/lib/sysusers.d/zabbix-proxy.conf" + install -Dm644 "$srcdir/zabbix-proxy.tmpfiles" \ + "$pkgdir/usr/lib/tmpfiles.d/zabbix-proxy.conf" } -# vim:set ts=2 sw=2 et: +package_zabbix-frontend-php() { + pkgdesc='PHP frontend for Zabbix' + depends=(zabbix-server php php-gd) + + cd $pkgbase-$pkgver + install -d "$pkgdir/usr/share/webapps/zabbix" + cp -a frontends/php/* "$pkgdir/usr/share/webapps/zabbix" + chown http:http ${pkgdir}/usr/share/webapps/zabbix/conf/ # write access for http user +}
