]> git.pld-linux.org Git - packages/zabbix.git/commitdiff
Version: 3.2.0
authorJacek Konieczny <j.konieczny@eggsoft.pl>
Wed, 28 Sep 2016 13:48:25 +0000 (15:48 +0200)
committerJacek Konieczny <j.konieczny@eggsoft.pl>
Wed, 28 Sep 2016 13:48:25 +0000 (15:48 +0200)
other changes:
- enable all possible features (so anything can be monitored)
- agent-inetd subpackage dropped
- agent-standalone renamed to agentd, to match the actual component name
- improved handling of the database bconds, sqlite3 option added
- apache dependency dropped – this can work with any HTTP server, just
  let the admin configure it
- PHP dependencies updated
- -java subpackage added

NFY

zabbix.spec

index 73328c3c19fe88aadbfcd761e953e5bbeea92d9c..dc74d685b90f6afb0d3ecb888d76d02e14a2f12c 100644 (file)
@@ -1,29 +1,47 @@
 # TODO
-# - initscript for zabbix-agent-standalone and zabbix-server
+# - systemd units for zabbix-agentd, zabbix-server and zabbix-java
+# - initscript for zabbix-agentd, zabbix-server and zabbix-java
 #
 # Conditional build:
-%bcond_with    pgsql   # enable PostgreSQL support (by default use mysql)
-%bcond_with    oracle  # enable Oracle support (by default use mysql)
+%bcond_with    pgsql   # enable PostgreSQL support
+%bcond_with    oracle  # enable Oracle support
+%bcond_with    sqlite3 # enable sqlite3 support
+%bcond_without mysql   # enable MySQL support
+
+%bcond_without java    # disable java support
+
+%if %{with pgsql} || %{with oracle} || %{with sqlite3}
+%undefine with_mysql
+%endif
+
+%if %{?with_pgsql:1}%{?with_oracle:1}%{?with_sqlite3:1}%{?with_mysql:1} != 1
+ERROR: exactly one database must be selected
+%endif
 
 Summary:       zabbix - network monitoring software
 Summary(pl.UTF-8):     zabbix - oprogramowanie do monitorowania sieci
 Name:          zabbix
-Version:       1.8.10
+Version:       3.2.0
 Release:       0.1
 License:       GPL v2+
 Group:         Networking/Utilities
 Source0:       http://dl.sourceforge.net/zabbix/%{name}-%{version}.tar.gz
-# Source0-md5: 7e89f80c1822787c0831f7c0dbefcd7b
-Source1:       %{name}-agent.inetd
-Source2:       %{name}-apache.conf
+# Source0-md5: e2491b482868059f251902d5f636eacb
+Source1:       %{name}-apache.conf
 URL:           http://zabbix.sourceforge.net/
-%{!?with_pgsql:BuildRequires:  mysql-devel}
+BuildRequires: OpenIPMI-devel
 BuildRequires: curl-devel
 BuildRequires: iksemel-devel
+%{?with_java:BuildRequires:    jdk}
+BuildRequires: libxml2-devel
+BuildRequires: libssh2-devel
+%{?with_mysql:BuildRequires:   mysql-devel}
 BuildRequires: net-snmp-devel
 BuildRequires: openldap-devel >= 2.4.6
 BuildRequires: openssl-devel >= 0.9.7d
 %{?with_pgsql:BuildRequires:   postgresql-devel}
+%{?with_sqlite3:BuildRequires: sqlite3-devel}
+BuildRequires: unixODBC-devel
 BuildRequires: rpmbuild(macros) >= 1.268
 Requires(postun):      /usr/sbin/groupdel
 Requires(postun):      /usr/sbin/userdel
@@ -40,9 +58,6 @@ BuildRoot:    %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 %define                _webapps        /etc/webapps
 %define                _webapp         %{name}
 
-# FIXME
-%define filterout_ld -Wl,--as-needed
-
 %description
 zabbix is software that monitors numerous parameters of a network and
 the servers on that network. It is a useful tool for monitoring
@@ -65,48 +80,34 @@ oferuje świetne raportowanie i funkcje wizualizacji. Wspiera zarówno
 odpytywanie jak i pułapkowanie. Dostęp do wszystkich raportów i
 statystyk zabbiksa jest możliwy poprzez interfejs oparty o WWW.
 
-%package agent-inetd
-Summary:       inetd agent for zabbix
-Summary(pl.UTF-8):     Wersja inetd agenta zabbiksa
-Group:         Networking/Utilities
-Requires:      %{name} = %{version}-%{release}
-Requires:      inetdaemon
-Obsoletes:     zabbix-agent-standalone
-
-%description agent-inetd
-This package provides inetd version of zabbix agent.
-
-%description agent-inetd -l pl.UTF-8
-Ten pakiet dostarcza agenta zabbiksa dla inetd.
-
-%package agent-standalone
+%package agentd
 Summary:       Standalone agent for zabbix
 Summary(pl.UTF-8):     Wersja wolnostojąca agenta zabbiksa
 Group:         Networking/Utilities
 Requires:      %{name} = %{version}-%{release}
 Obsoletes:     zabbix-agent-inetd
+Obsoletes:     zabbix-agent-standalone
 
-%description agent-standalone
-This package provides standalone (recommended) version of zabbix agent.
+%description agentd
+This package provides the zabbix agent.
 
-%description agent-standalone -l pl.UTF-8
-Ten pakiet dostarcza wolnostojącej (zalecanej) wersji agenta zabbiksa.
+%description agentd -l pl.UTF-8
+Ten pakiet dostarcza agenta zabbiksa.
 
 %package frontend-php
 Summary:       PHP frontend for zabbix
 Summary(pl.UTF-8):     Interfejs PHP dla zabbiksa
 Group:         Applications/WWW
 Requires:      php(gd)
-Requires:      php-bcmath
-Requires:      php-ctype
-Requires:      php-mbstring
-Requires:      php-pcre
-Requires:      php-sockets
-Requires:      php-session
-%{!?with_pgsql:Requires:       php-mysql}
-%{?with_pgsql:Requires:        php-pgsql}
+Requires:      php(bcmath)
+Requires:      php(ctype)
+Requires:      php(mbstring)
+Requires:      php(pcre)
+Requires:      php(sockets)
+Requires:      php(session)
+%{?with_mysql:Requires:        php(mysql)}
+%{?with_pgsql:Requires:        php(pgsql)}
 Requires:      webapps
-Requires:      webserver = apache
 Requires:      webserver(php)
 
 %description frontend-php
@@ -163,39 +164,70 @@ This package provides the zabbix server.
 %description server -l pl.UTF-8
 Ten pakiet zawiera serwer zabbiksa.
 
+%package java
+Summary:       Zabbix Java Gateway
+Group:         Networking/Utilities
+Requires:      %{name} = %{version}-%{release}
+
+%description java
+This package provides the Zabbix Java Gateway.
+
 %prep
 %setup -q
 
 %build
 %configure \
-       %{!?with_pgsql:--with-mysql} \
+       %{?with_mysql:--with-mysql} \
        %{?with_pgsql:--with-pgsql} \
        %{?with_oracle:--with-oracle} \
+       %{?with_sqlite3:--with-sqlite3} \
        --enable-server \
        --enable-agent \
        --enable-proxy \
-       --with-net-snmp \
-       --with-ldap \
+       --enable-ipv6 \
+       %{__enable_disable java} \
        --with-jabber \
-       --with-libcurl
-#      --with-ucd-snmp=DIR \
+       --with-ldap \
+       --with-libcurl \
+       --with-libxml2 \
+       --with-net-snmp \
+       --with-openipmi \
+       --with-openssl \
+       --with-ssh2 \
+       --with-unixodbc
 
 %{__make}
 
 %install
 rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_sysconfdir},/etc/{sysconfig/rc-inetd,webapps/%{_webapp}},%{_appdir}}
+install -d $RPM_BUILD_ROOT{%{_sysconfdir},/etc/webapps/%{_webapp},%{_appdir}}
 
 %{__make} install \
-       DESTDIR=$RPM_BUILD_ROOT
+       DESTDIR=$RPM_BUILD_ROOT \
+       ZJG_DEST=$RPM_BUILD_ROOT%{_datadir}/zabbix_java
 
-install misc/conf/zabbix_{a*,s*}.conf $RPM_BUILD_ROOT%{_sysconfdir}
 cp -r frontends $RPM_BUILD_ROOT%{_appdir}
 #mv -f $RPM_BUILD_ROOT%{_appdir}/frontends/php/include/db.inc.php $RPM_BUILD_ROOT%{_webapps}/%{_webapp}
 #ln -s %{_webapps}/%{_webapp}/db.inc.php $RPM_BUILD_ROOT%{_appdir}/frontends/php/include
-install %{SOURCE1} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/zabbix-agent
-install %{SOURCE2} $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/apache.conf
-install %{SOURCE2} $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/httpd.conf
+install %{SOURCE1} $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/apache.conf
+install %{SOURCE1} $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/httpd.conf
+
+%if %{with java}
+mv $RPM_BUILD_ROOT%{_datadir}/zabbix_java/settings.sh $RPM_BUILD_ROOT%{_sysconfdir}/zabbix_java.conf
+ln -s %{_sysconfdir}/zabbix_java.conf $RPM_BUILD_ROOT%{_datadir}/zabbix_java/settings.sh
+
+cat >$RPM_BUILD_ROOT%{_sbindir}/zabbix_java-start <<'EOF'
+#!/bin/sh
+
+exec %{_datadir}/zabbix_java/startup.sh "$@"
+EOF
+
+cat >$RPM_BUILD_ROOT%{_sbindir}/zabbix_java-stop <<'EOF'
+#!/bin/sh
+
+exec %{_datadir}/zabbix_java/shutdown.sh "$@"
+EOF
+%endif
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -218,21 +250,26 @@ rm -rf $RPM_BUILD_ROOT
 
 %post server
 if [ "$1" = 1 ]; then
-       %banner -e %{name} <<-EOF
+       %banner -e %{name}-server <<-EOF
        You should create database for Zabbix.
-       Running these should be fine in most cases:
 %if %{with pgsql}
+       Running these should be fine in most cases:
        psql -c 'create database zabbix'
-       zcat %{_docdir}/%{name}-%{version}/create/postgresql/schema.sql.gz | psql zabbix
-       zcat %{_docdir}/%{name}-%{version}/create/data/data.sql.gz | psql zabbix
-       zcat %{_docdir}/%{name}-%{version}/create/data/images_pgsql.sql.gz | psql zabbix
+       zcat %{_docdir}/%{name}-server-%{version}/postgresql/schema.sql.gz | psql zabbix
+       zcat %{_docdir}/%{name}-server-%{version}/postgresql/data.sql.gz | psql zabbix
+       zcat %{_docdir}/%{name}-server-%{version}/postgresql/images.sql.gz | psql zabbix
 %else
+%if %{with mysql}
+       Running these should be fine in most cases:
        mysqladmin create zabbix
-       zcat %{_docdir}/%{name}-%{version}/create/mysql/schema.sql.gz | mysql zabbix
-       zcat %{_docdir}/%{name}-%{version}/create/data/data.sql.gz | mysql zabbix
-       zcat %{_docdir}/%{name}-%{version}/create/data/images.sql.gz | mysql zabbix
+       zcat %{_docdir}/%{name}-server-%{version}/mysql/schema.sql.gz | mysql zabbix
+       zcat %{_docdir}/%{name}-server-%{version}/mysql/images.sql.gz | mysql zabbix
+       zcat %{_docdir}/%{name}-server-%{version}/mysql/data.sql.gz | mysql zabbix
+%else
+       Database template is available in %{_docdir}/%{name}-%{version}
+%endif
 %endif
-       %{?TODO:You also need zabbix-agent. install zabbix-agent-standalone %or zabbix-agent-inetd.}
+       %{?TODO:You also need zabbix-agent. install zabbix-agentd.}
 EOF
 fi
 
@@ -242,28 +279,14 @@ if [ "$1" = "0" ]; then
        %groupremove zabbix
 fi
 
-%post agent-inetd
-%service -q rc-inetd reload
-
-%postun agent-inetd
-if [ "$1" = 0 ]; then
-       %service -q rc-inetd reload
-fi
-
 %files
 %defattr(644,root,root,755)
-%doc AUTHORS NEWS README ChangeLog
+%doc AUTHORS ChangeLog README
 %attr(750,root,zabbix) %dir %{_sysconfdir}
 %dir %{_appdir}
 %dir %{_appdir}/frontends
 
-%files agent-inetd
-%defattr(644,root,root,755)
-%attr(640,root,zabbix) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/zabbix_agent.conf
-%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rc-inetd/zabbix-agent
-%attr(755,root,root) %{_sbindir}/zabbix_agent
-
-%files agent-standalone
+%files agentd
 %defattr(644,root,root,755)
 %attr(640,root,zabbix) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/zabbix_agentd.conf
 %attr(755,root,root) %{_sbindir}/zabbix_agentd
@@ -282,6 +305,7 @@ fi
 
 %files proxy
 %defattr(644,root,root,755)
+%attr(640,root,zabbix) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/zabbix_proxy.conf
 %attr(755,root,root) %{_sbindir}/zabbix_proxy
 %{_mandir}/man8/zabbix_proxy*
 
@@ -292,7 +316,33 @@ fi
 
 %files server
 %defattr(644,root,root,755)
-%doc create upgrades
+%doc upgrades/dbpatches
+%if %{with mysql}
+%doc database/mysql
+%endif
+%if %{with postgresql}
+%doc database/postgresql
+%endif
+%if %{with oracle}
+%doc database/oracle
+%endif
+%if %{with sqlite3}
+%doc database/sqlite3
+%endif
 %attr(640,root,zabbix) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/zabbix_server.conf
 %attr(755,root,root) %{_sbindir}/zabbix_server
 %{_mandir}/man8/zabbix_server*
+
+%if %{with java}
+%files java
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_sbindir}/zabbix_java-start
+%attr(755,root,root) %{_sbindir}/zabbix_java-stop
+%attr(640,root,zabbix) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/zabbix_java.conf
+%dir %{_datadir}/zabbix_java
+%{_datadir}/zabbix_java/bin
+%{_datadir}/zabbix_java/lib
+%{_datadir}/zabbix_java/settings.sh
+%attr(755,root,root) %{_datadir}/zabbix_java/shutdown.sh
+%attr(755,root,root) %{_datadir}/zabbix_java/startup.sh
+%endif
This page took 0.083074 seconds and 4 git commands to generate.