]> git.pld-linux.org Git - packages/zabbix.git/blobdiff - zabbix.spec
- package dir /usr/share/zabbix
[packages/zabbix.git] / zabbix.spec
index a3a21d62965386fb80ba215730f8eed5a1077274..9d3db270e87c47a4e06eec3d06db70ed1fe1ee5c 100644 (file)
@@ -1,31 +1,46 @@
+# TODO
+# - initscript for zabbix-agent-standalone and zabbix-server
 #
 # Conditional build:
-%bcond_with pgsql      # enable postgresql support (by default use mysql)
+%bcond_with    pgsql   # enable PostgreSQL support (by default use mysql)
+%bcond_with    oracle  # enable Oracle support (by default use mysql)
 
-%define        _beta   beta10
 Summary:       zabbix - network monitoring software
-Summary(pl):   zabbix - oprogramowanie do monitorowania sieci
+Summary(pl.UTF-8):     zabbix - oprogramowanie do monitorowania sieci
 Name:          zabbix
-Version:       1.0
-Release:       0.%{_beta}.0.1
+Version:       1.1.7
+Release:       1
 License:       GPL v2+
 Group:         Networking/Admin
-Source0:       http://dl.sourceforge.net/%{name}/%{name}-%{version}%{_beta}.tar.gz
-# Source0-md5: 6d1fd1c4e8166ceffa730060583d4014
+Source0:       http://dl.sourceforge.net/zabbix/%{name}-%{version}.tar.gz
+# Source0-md5: ac24ab58ef1a985c1e2a5217386d5dba
 Source1:       %{name}-agent.inetd
-Source2:       %{name}-trapper.inetd
+Source2:       %{name}-apache.conf
 URL:           http://zabbix.sourceforge.net/
 %{!?with_pgsql:BuildRequires:  mysql-devel}
-%{?with_pgsql:BuildRequires:   postgresql-devel}
 BuildRequires: net-snmp-devel
-BuildRequires: openssl-devel >= 0.9.7c
+BuildRequires: openldap-devel >= 2.4.6
+BuildRequires: openssl-devel >= 0.9.7d
+%{?with_pgsql:BuildRequires:   postgresql-devel}
+BuildRequires: rpmbuild(macros) >= 1.268
+Requires(postun):      /usr/sbin/groupdel
+Requires(postun):      /usr/sbin/userdel
+Requires(pre): /bin/id
+Requires(pre): /usr/bin/getgid
+Requires(pre): /usr/sbin/groupadd
+Requires(pre): /usr/sbin/useradd
+Provides:      group(zabbix)
+Provides:      user(zabbix)
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
-%define        _sysconfdir     /etc/%{name}
+%define                _sysconfdir     /etc/%{name}
+%define                _appdir         %{_datadir}/%{name}
+%define                _webapps        /etc/webapps
+%define                _webapp         %{name}
 
 %description
 zabbix is software that monitors numerous parameters of a network and
-the servers on that network. zabbix is a useful tool for monitoring
+the servers on that network. It is a useful tool for monitoring
 the health and integrity of servers. zabbix uses a flexible
 notification mechanism that allows users to configure email based
 alerts for virtually any event. All monitored parameters are stored in
@@ -34,196 +49,215 @@ features based on the stored data. zabbix supports both polling and
 trapping. All zabbix reports and statistics, as well as configuration
 parameters, are accessed through a web-based front end.
 
-%description -l pl
-zabbix to oprogramowanie do monitorowania licznych parametrów sieci i
-serwerów sieciowych. zabbix jest przydatny przy monitorowaniu
-dzia³ania serwerów. zabbix korzysta z elastycznego mechanizmu
-powiadamiania, który pozwala u¿ytkownikom konfigurowaæ powiadamianie
-poczt± elektroniczn± dla praktycznie wszelkich zdarzeñ. Monitorowane
-parametry s± przechowywane w bazie danych. zabbix oferuje, w oparciu o
-przechowywane dane, ¶wietne raportowanie i funkcje wizualizacji.
-zabbix 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 frontend-php
-Summary:       PHP frontend for zabbix
-Summary(pl):   Interfejs PHP dla zabbiksa
-Group:         Networking/Admin
-Requires:      apache
-Requires:      php
-
-%description frontend-php
-This package provides web based (PHP) frontend for zabbix.
-
-%description frontend-php -l pl
-Ten pakiet dostarcza napisany w PHP frontend dla zabbiksa.
+%description -l pl.UTF-8
+zabbix to oprogramowanie do monitorowania licznych parametrów sieci i
+serwerów sieciowych. Jest przydatny przy monitorowaniu działania
+serwerów. Jorzysta z elastycznego mechanizmu powiadamiania, który
+pozwala użytkownikom konfigurować powiadamianie pocztą elektroniczną
+dla praktycznie wszelkich zdarzeń. Monitorowane parametry są
+przechowywane w bazie danych. W oparciu o przechowywane dane zabbix
+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):   Wersja inetd agenta zabbiksa
+Summary(pl.UTF-8):     Wersja inetd agenta zabbiksa
 Group:         Networking/Admin
-Requires:      %{name}
+Requires:      %{name} = %{version}-%{release}
 Requires:      inetdaemon
-Obsoletes:     %{name}-agent-standalone
+Obsoletes:     zabbix-agent-standalone
 
 %description agent-inetd
 This package provides inetd version of zabbix agent.
 
-%description agent-inetd -l pl
+%description agent-inetd -l pl.UTF-8
 Ten pakiet dostarcza agenta zabbiksa dla inetd.
 
 %package agent-standalone
 Summary:       Standalone agent for zabbix
-Summary(pl):   Wersja wolnostoj±ca agenta zabbiksa
+Summary(pl.UTF-8):     Wersja wolnostojąca agenta zabbiksa
 Group:         Networking/Admin
-Requires:      %{name}
-Obsoletes:     %{name}-agent-inetd
+Requires:      %{name} = %{version}-%{release}
+Obsoletes:     zabbix-agent-inetd
 
 %description agent-standalone
-This package provides standalone version of zabbix agent.
+This package provides standalone (recommended) version of zabbix agent.
 
-%description agent-standalone -l pl
-Ten pakiet dostarcza wolnostoj±cej wersji agenta zabbiksa.
+%description agent-standalone -l pl.UTF-8
+Ten pakiet dostarcza wolnostojącej (zalecanej) wersji agenta zabbiksa.
 
-%package suckerd
-Summary:       sucker daemon for zabbix
+%package frontend-php
+Summary:       PHP frontend for zabbix
+Summary(pl.UTF-8):     Interfejs PHP dla zabbiksa
 Group:         Networking/Admin
-Requires:      %{name}
-%{!?with_pgsql:Requires:       mysql}
-%{?with_pgsql:Requires:        postgresql}
-
-%description suckerd
-This package provides the sucker daemon for zabbix.
+Requires:      php(gd)
+%{!?with_pgsql:Requires:       php-mysql}
+%{?with_pgsql:Requires:        php-pgsql}
+Requires:      webapps
+Requires:      webserver = apache
+Requires:      webserver(php)
 
-%package trapper-inetd
-Summary:       inetd trapper for zabbix
-Summary(pl):   Wersja inetd programu pu³apkuj±cego zabbiksa
-Group:         Networking/Admin
-Requires:      %{name}
-Requires:      inetdaemon
-Obsoletes:     %{name}-trapper-standalone
+%description frontend-php
+This package provides web based (PHP) frontend for zabbix.
 
-%description trapper-inetd
-This package provides inetd version of zabbix trapper.
+%description frontend-php -l pl.UTF-8
+Ten pakiet dostarcza napisany w PHP frontend dla zabbiksa.
 
-%package trapper-standalone
-Summary:       Standalone trapper for zabbix
-Summary(pl):   Wersja wolnostoj±ca programu pu³apkuj±cego zabbiksa
+%package get
+Summary:       Program retrieving data from zabbix agent
+Summary(pl.UTF-8):     Program odpytujÄcy agenta zabbiksa
 Group:         Networking/Admin
-Requires:      %{name}
-Obsoletes:     %{name}-trapper-inetd
 
-%description trapper-standalone
-This package provides standalone version of zabbix trapper.
+%description get
+This package provides a program retrieving data from zabbix agent.
+
+%description get -l pl.UTF-8
+Ten pakiet zawiera program odpytujÄcy agenta zabbiksa.
 
 %package sender
-Summary:       zabbix's sender
-Summary(pl):   Program zawiadamiaj±cy zabbiksa
+Summary:       Zabbix sender
+Summary(pl.UTF-8):     Program zawiadamiający zabbiksa
 Group:         Networking/Admin
 
 %description sender
 This package provides the zabbix sender.
 
+%description sender -l pl.UTF-8
+Ten pakiet zawiera program zawiadamiający zabbiksa.
+
+%package server
+Summary:       Zabbix server
+Summary(pl.UTF-8):     Serwer zabbiksa
+Group:         Networking/Admin
+Requires:      %{name} = %{version}-%{release}
+Obsoletes:     %{name}-suckerd
+Obsoletes:     %{name}-trapper-inetd
+Obsoletes:     %{name}-trapper-standalone
+
+%description server
+This package provides the zabbix server.
+
+%description server -l pl.UTF-8
+Ten pakiet zawiera serwer zabbiksa.
+
 %prep
-%setup -q -n %{name}-%{version}%{_beta}
+%setup -q
 
 %build
 %configure \
        %{!?with_pgsql:--with-mysql} \
        %{?with_pgsql:--with-pgsql} \
-       --with-net-snmp
+       %{?with_oracle:--with-oracle} \
+       --enable-server \
+       --enable-agent \
+       --with-net-snmp \
+       --with-ldap \
+#      --with-ucd-snmp=DIR \
 
 %{__make}
 
 %install
 rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_sysconfdir},/etc/sysconfig/rc-inetd,%{_sbindir},/home/services/html/zabbix}
+install -d $RPM_BUILD_ROOT{%{_sysconfdir},/etc/{sysconfig/rc-inetd,webapps/%{_webapp}},%{_appdir}}
 
-install bin/zabbix_* $RPM_BUILD_ROOT%{_sbindir}
-install misc/conf/* $RPM_BUILD_ROOT%{_sysconfdir}
-cp -r frontends/php/* $RPM_BUILD_ROOT/home/services/html/zabbix
+%{__make} install \
+       DESTDIR=$RPM_BUILD_ROOT
 
-install %SOURCE1 $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/zabbix-agent
-install %SOURCE2 $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/zabbix-trapper
+install misc/conf/zabbix_{a*,s*} $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
 
 %clean
 rm -rf $RPM_BUILD_ROOT
 
+%triggerin frontend-php -- apache1 < 1.3.37-3, apache1-base
+%webapp_register apache %{_webapp}
+
+%triggerun frontend-php -- apache1 < 1.3.37-3, apache1-base
+%webapp_unregister apache %{_webapp}
+
+%triggerin frontend-php -- apache < 2.2.0, apache-base
+%webapp_register httpd %{_webapp}
+
+%triggerun frontend-php -- apache < 2.2.0, apache-base
+%webapp_unregister httpd %{_webapp}
+
 %pre
-if [ -z "`/usr/bin/getgid zabbix`" ]; then
-       /usr/sbin/groupadd zabbix
-fi
-if [ -z "`/bin/id -u zabbix 2>/dev/null`" ]; then
-       /usr/sbin/useradd -d / -g zabbix -c "Zabbix User" -s /bin/false zabbix
+%groupadd -g 111 zabbix
+%useradd -d / -u 111 -g zabbix -c "Zabbix User" -s /bin/false zabbix
+
+%post
+if [ "$1" = 1 ]; then
+       %banner -e %{name} <<-EOF
+       You should create database for Zabbix.
+       Running these should be fine in most cases:
+%if %{with pgsql}
+       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
+%else
+       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
+%endif
+       %{?TODO:You also need zabbix-agent. install zabbix-agent-standalone %or zabbix-agent-inetd.}
+EOF
 fi
 
 %postun
 if [ "$1" = "0" ]; then
-       /usr/sbin/userdel zabbix
-       /usr/sbin/groupdel zabbix
+       %userremove zabbix
+       %groupremove zabbix
 fi
 
 %post agent-inetd
-if [ -f /var/lock/subsys/rc-inetd ]; then
-       /etc/rc.d/init.d/rc-inetd reload
-else
-       echo "Type \"/etc/rc.d/init.d/rc-inetd start\" to start inet server" 1>&2
-fi
+%service -q rc-inetd reload
 
 %postun agent-inetd
-if [ -f /var/lock/subsys/rc-inetd ]; then
-       /etc/rc.d/init.d/rc-inetd reload
-fi
-
-%post trapper-inetd
-if [ -f /var/lock/subsys/rc-inetd ]; then
-       /etc/rc.d/init.d/rc-inetd reload
-else
-       echo "Type \"/etc/rc.d/init.d/rc-inetd start\" to start inet server" 1>&2
-fi
-
-%postun trapper-inetd
-if [ -f /var/lock/subsys/rc-inetd ]; then
-       /etc/rc.d/init.d/rc-inetd reload
+if [ "$1" = 0 ]; then
+       %service -q rc-inetd reload
 fi
 
 %files
 %defattr(644,root,root,755)
-%doc doc/manual.pdf AUTHORS ChangeLog FAQ TODO create bin/ZabbixW32.exe
+%doc AUTHORS FAQ NEWS README ChangeLog create upgrades bin/ZabbixW{32,64}.exe
 %attr(750,root,zabbix) %dir %{_sysconfdir}
-
-%files frontend-php
-%defattr(644,root,root,755)
-/home/services/html/zabbix
+%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 mtime md5 size) /etc/sysconfig/rc-inetd/zabbix-agent
-%attr(755,root,root) %{_sbindir}/zabbix_agent
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rc-inetd/zabbix-agent
+%attr(755,root,root) %{_bindir}/zabbix_agent
 
 %files agent-standalone
 %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
+%attr(755,root,root) %{_bindir}/zabbix_agentd
 
-%files suckerd
+%files frontend-php
 %defattr(644,root,root,755)
-%attr(640,root,zabbix) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/zabbix_suckerd.conf
-%attr(755,root,root) %{_sbindir}/zabbix_suckerd
+%attr(750,root,http) %dir %{_webapps}/%{_webapp}
+%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/*
+%{_appdir}/frontends/php
 
-%files trapper-inetd
+%files get
 %defattr(644,root,root,755)
-%attr(640,root,zabbix) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/zabbix_trapper.conf
-%attr(640,root,root) %config(noreplace) %verify(not mtime md5 size) /etc/sysconfig/rc-inetd/zabbix-trapper
-%attr(755,root,root) %{_sbindir}/zabbix_trapper
+%attr(755,root,root) %{_bindir}/zabbix_get
 
-%files trapper-standalone
+%files sender
 %defattr(644,root,root,755)
-%attr(640,root,zabbix) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/zabbix_trapperd.conf
-%attr(755,root,root) %{_sbindir}/zabbix_trapperd
+%attr(755,root,root) %{_bindir}/zabbix_sender
 
-%files sender
+%files server
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_sbindir}/zabbix_sender
+%attr(640,root,zabbix) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/zabbix_server.conf
+%attr(755,root,root) %{_bindir}/zabbix_server
This page took 0.043917 seconds and 4 git commands to generate.