Browse Source

zabbix-2.2.4-1

git-svn-id: http://trac.vinelinux.org/repos/projects/specs@8748 ec354946-7b23-47d6-9f5a-488ba84defc7
tomop 9 years ago
parent
commit
48221b7b75
1 changed files with 193 additions and 87 deletions
  1. 193 87
      z/zabbix/zabbix-vl.spec

+ 193 - 87
z/zabbix/zabbix-vl.spec

@@ -1,18 +1,6 @@
-%define ver 2.0.8
+%define ver 2.2.4
 %define rel 1
 
-# zabbix accept the only one database.
-# efault is postgresql
-%bcond_with mysql
-
-%if %{with mysql}
-%define use_postgresql 0
-%define use_mysql      1
-%else
-%define use_postgresql 1
-%define use_mysql      0
-%endif
-
 Summary: The Enterprise-class Monitoring Solution for Everyone
 Name: zabbix
 Version: %{ver}
@@ -31,13 +19,8 @@ Patch0: zabbix-2.0.4-vine_path.patch
 Patch1: zabbix-2.0.4-font.patch
 Patch2: zabbix-2.0.4-config.patch
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
-%if %{use_postgresql}
-BuildRequires: postgresql-devel
-%else
-%if %{use_mysql}
-BuildRequires: MySQL-devel
-%endif
-%endif
+BuildRequires: libpq-devel
+BuildRequires: libmysqlclient-devel
 BuildRequires: curl-devel
 BuildRequires: net-snmp-devel
 BuildRequires: OpenIPMI-devel
@@ -54,14 +37,30 @@ Packager: iwaim
 %description
 The Enterprise-class Monitoring Solution for Everyone.
 
-%package server
-Summary: Zabbix Server
+%package server-common
+Summary: common files for Zabbix Server
 Requires: %{name} == %{version}-%{release}
 Requires(post,preun): chkconfig
 Requires(preun,postun): initscripts
 
-%description server
-Zabbix Server
+%description server-common
+This package include common files for Zabbix Server.
+
+%package server-mysql
+Summary: Zabbix Server for MySQL/MariaDB
+Provides: %{name}-server
+Requires: %{name}-server-common == %{version}-%{release}
+
+%description server-mysql
+Zabbix Server for MySQL/MariaDB
+
+%package server-postgresql
+Summary: Zabbix Server for PostgreSQL
+Provides: %{name}-server
+Requires: %{name}-server-common == %{version}-%{release}
+
+%description server-postgresql
+Zabbix Server for PostgreSQL
 
 %package agent
 Summary: Zabbix Agent
@@ -72,72 +71,120 @@ Requires(preun,postun): initscripts
 %description agent
 Zabbix Agent
 
-%package proxy
-Summary: Zabbix Proxy
+%package proxy-common
+Summary: common files for Zabbix Proxy
 Requires: %{name} == %{version}-%{release}
 Requires(post,preun): chkconfig
 Requires(preun,postun): initscripts
 
-%description proxy
-Zabbix Proxy
+%description proxy-common
+This package include common files for Zabbix Proxy
+
+%package proxy-mysql
+Summary: Zabbix Proxy for MySQL/MariaDB
+Provides: %{name}-proxy
+Requires: %{name}-proxy-common == %{version}-%{release}
+
+%description proxy-mysql
+Zabbix Proxy for MySQL/MariaDB
+
+%package proxy-postgresql
+Summary: Zabbix Proxy for PostgreSQL
+Provides: %{name}-proxy
+Requires: %{name}-proxy-common == %{version}-%{release}
+
+%description proxy-postgresql
+Zabbix Proxy for PostgreSQL
 
 %package frontend-php
 Summary: Zabbix web frontend with PHP
 Group: Applications/Internet
 Requires: php5
-%if %{use_postgresql}
-Requires: php5-pgsql
-%else
-%if %{use_mysql}
-Requires: php5-mysql
-%endif
-%endif
 Requires: TrueType-vlgothic
 
 %description frontend-php
 Zabbix web frontend with PHP.
 
+%package frontend-php-mysql
+Summary: Zabbix web frontend with PHP and MySQL/MariaDB
+Group: Applications/Internet
+Provides: %{name}-frontend-php == %{version}-%{release}
+Requires: php5-mysql
+
+%description frontend-php-mysql
+Zabbix web frontend with PHP and MySQL/MariaDB.
+
+%package frontend-php-postgresql
+Summary: Zabbix web frontend with PHP and PostgreSQL
+Group: Applications/Internet
+Provides: %{name}-frontend-php == %{version}-%{release}
+Requires: php5-pgsql
+
+%description frontend-php-postgresql
+Zabbix web frontend with PHP and PostgreSQL.
+
 %prep
-%setup -q
+%setup -q -T -a 0 -c -n zabbix-%{version}
+mv zabbix-%{version} zabbix_mysql
+pushd zabbix_mysql
+%patch0 -p 1
+%patch1 -p 1
+%patch2 -p 1
+popd
+
+%setup -q -D -T -a 0 -n zabbix-%{version}
+mv zabbix-%{version} zabbix_pgsql
+pushd zabbix_pgsql
 %patch0 -p 1
 %patch1 -p 1
 %patch2 -p 1
+popd
 
 %build
-%configure --enable-server --enable-proxy --enable-agent --enable-ipv6 \
+
+Build()
+{
+%configure \
+           --enable-server \
+           --enable-proxy \
+           --enable-ipv6 \
            --sysconfdir=%{_sysconfdir}/zabbix \
-%if %{use_postgresql}
-           --with-postgresql \
-%else
-%if %{use_mysql}
-           --with-mysql \
-%endif
-%endif
            --with-libcurl \
            --with-openipmi \
            --with-net-snmp \
            --with-jabber \
            --with-unixodbc \
-           --with-ssh2
+           --with-ssh2 \
+           $@
 
 %__make
+}
+
+pushd zabbix_mysql
+Build --with-mysql \
+           --enable-agent
+popd
+
+pushd zabbix_pgsql
+Build --with-postgresql
+popd
+
 
 %install
 %__rm -rf $RPM_BUILD_ROOT
+pushd zabbix_mysql
 make DESTDIR=$RPM_BUILD_ROOT install
 
+mv -f %{buildroot}%{_sbindir}/zabbix_server %{buildroot}%{_sbindir}/zabbix_server.mysql
+mv -f %{buildroot}%{_sbindir}/zabbix_proxy %{buildroot}%{_sbindir}/zabbix_proxy.mysql
+
 # make directories
 %__mkdir_p $RPM_BUILD_ROOT%{_localstatedir}/{log,run}/%{name}
 
 # DB
 %__mkdir_p $RPM_BUILD_ROOT%{_datadir}/zabbix
-%if %{use_postgresql}
 %__cp -a database/postgresql $RPM_BUILD_ROOT%{_datadir}/zabbix/
-%else
-%if %{use_mysql}
 %__cp -a database/mysql $RPM_BUILD_ROOT%{_datadir}/zabbix/
-%endif
-%endif
 
 # init.d
 %__mkdir_p $RPM_BUILD_ROOT%{_initddir}
@@ -151,17 +198,6 @@ make DESTDIR=$RPM_BUILD_ROOT install
 %__cp %{SOURCE5}  $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/zabbix_proxy
 %__cp %{SOURCE6}  $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/zabbix_agentd
 
-## sub package
-# proxy
-%__mkdir_p $RPM_BUILD_ROOT%{_datadir}/zabbix-proxy
-%if %{use_postgresql}
-ln -s %{_datadir}/zabbix/postgresql $RPM_BUILD_ROOT%{_datadir}/zabbix-proxy/
-%else
-%if %{use_mysql}
-ln -s %{_datadir}/zabbix/mysql $RPM_BUILD_ROOT%{_datadir}/zabbix-proxy/
-%endif
-%endif
-
 # frontend-php
 %__mkdir_p $RPM_BUILD_ROOT%{_datadir}/zabbix-frontend
 %__cp -a frontends/php $RPM_BUILD_ROOT%{_datadir}/zabbix-frontend/
@@ -170,6 +206,18 @@ ln -s %{_datadir}/zabbix/mysql $RPM_BUILD_ROOT%{_datadir}/zabbix-proxy/
 ln -s /usr/share/fonts/TrueType-vlgothic/VL-Gothic-Regular.ttf \
       $RPM_BUILD_ROOT%{_datadir}/zabbix-frontend/php/fonts/
 
+# proxy
+mkdir -p %{buildroot}%{_datadir}/zabbix-proxy
+ln -sf ../zabbix/mysql %{buildroot}%{_datadir}/zabbix-proxy/
+ln -sf ../zabbix/postgresql %{buildroot}%{_datadir}/zabbix-proxy/
+
+popd
+
+pushd zabbix_pgsql
+install -m755 src/zabbix_server/zabbix_server %{buildroot}%{_sbindir}/zabbix_server.pgsql
+install -m755 src/zabbix_proxy/zabbix_proxy %{buildroot}%{_sbindir}/zabbix_proxy.pgsql
+popd
+
 %clean
 %__rm -rf $RPM_BUILD_ROOT
 
@@ -180,25 +228,63 @@ useradd -r -g zabbix -d %{_sysconfdir}/zabbix -s /sbin/nologin \
 -c "Zabbix Monitoring Solution" zabbix
 exit 0
 
-%post server
+%post server-mysql
+/sbin/update-alternatives --install /usr/sbin/zabbix_server \
+        zabbix_server /usr/sbin/zabbix_server.mysql 10
+
+/sbin/chkconfig --add zabbix_server
+
+%post server-postgresql
+/sbin/update-alternatives --install /usr/sbin/zabbix_server \
+        zabbix_server /usr/sbin/zabbix_server.pgsql 10
+
 /sbin/chkconfig --add zabbix_server
 
-%post proxy
+%post proxy-mysql
+/sbin/update-alternatives --install /usr/sbin/zabbix_proxy \
+        zabbix_proxy /usr/sbin/zabbix_proxy.mysql 10
+
+/sbin/chkconfig --add zabbix_proxy
+
+%post proxy-postgresql
+/sbin/update-alternatives --install /usr/sbin/zabbix_proxy \
+        zabbix_proxy /usr/sbin/zabbix_proxy.pgsql 10
+
 /sbin/chkconfig --add zabbix_proxy
 
 %post agent
 /sbin/chkconfig --add zabbix_agentd
 
-%preun server
+%preun server-mysql
 if [ "$1" -eq 0 ]; then
         /sbin/service zabbix_server stop >/dev/null 2>&1
         /sbin/chkconfig --del zabbix_server
+        /sbin/update-alternatives --remove zabbix_server \
+                /usr/sbin/zabbix_server.mysql
 fi
 
-%preun proxy
+%preun server-postgresql
+if [ "$1" -eq 0 ]; then
+        /sbin/service zabbix_server stop >/dev/null 2>&1
+        /sbin/chkconfig --del zabbix_server
+        /sbin/update-alternatives --remove zabbix_server \
+                /usr/sbin/zabbix_server.pgsql
+fi
+
+%preun proxy-mysql
 if [ "$1" -eq 0 ]; then
         /sbin/service zabbix_proxy stop >/dev/null 2>&1
         /sbin/chkconfig --del zabbix_proxy
+        /sbin/update-alternatives --remove zabbix_proxy \
+                /usr/sbin/zabbix_proxy.mysql
+fi
+
+%preun proxy-postgresql
+if [ "$1" -eq 0 ]; then
+        /sbin/service zabbix_proxy stop >/dev/null 2>&1
+        /sbin/chkconfig --del zabbix_proxy
+        /sbin/update-alternatives --remove zabbix_proxy \
+                /usr/sbin/zabbix_proxy.pgsql
 fi
 
 %preun agent
@@ -207,12 +293,22 @@ if [ "$1" -eq 0 ]; then
         /sbin/chkconfig --del zabbix_agentd
 fi
 
-%postun server
+%postun server-mysql
 if [ "$1" -ge "1" ]; then
         /sbin/service zabbix_server condrestart >/dev/null 2>&1 || :
 fi
 
-%postun proxy
+%postun server-postgresql
+if [ "$1" -ge "1" ]; then
+        /sbin/service zabbix_server condrestart >/dev/null 2>&1 || :
+fi
+
+%postun proxy-mysql
+if [ "$1" -ge "1" ]; then
+        /sbin/service zabbix_proxy condrestart >/dev/null 2>&1 || :
+fi
+
+%postun proxy-postgresql
 if [ "$1" -ge "1" ]; then
         /sbin/service zabbix_proxy condrestart >/dev/null 2>&1 || :
 fi
@@ -224,27 +320,29 @@ fi
 
 %files
 %defattr(-,root,root,-)
-%doc AUTHORS COPYING ChangeLog NEWS README
+%doc zabbix_mysql/AUTHORS zabbix_mysql/COPYING zabbix_mysql/ChangeLog zabbix_mysql/NEWS zabbix_mysql/README
 %attr(0755,zabbix,zabbix) %dir %{_localstatedir}/log/%{name}
 %attr(0755,zabbix,zabbix) %dir %{_localstatedir}/run/%{name}
 %dir %{_datadir}/zabbix
-%if %{use_postgresql}
-%{_datadir}/zabbix/postgresql
-%else
-%if %{use_mysql}
 %{_datadir}/zabbix/mysql
-%endif
-%endif
+%{_datadir}/zabbix/postgresql
 
-%files server
+%files server-common
 %defattr(-,root,root,-)
 %dir %{_sysconfdir}/zabbix
 %config(noreplace) %{_sysconfdir}/zabbix/zabbix_server.conf
 %config(noreplace) %{_sysconfdir}/logrotate.d/zabbix_server
-%{_sbindir}/zabbix_server
 %{_initddir}/zabbix_server*
 %{_mandir}/man8/zabbix_server.8*
 
+%files server-mysql
+%defattr(-,root,root,-)
+%{_sbindir}/zabbix_server.mysql
+
+%files server-postgresql
+%defattr(-,root,root,-)
+%{_sbindir}/zabbix_server.pgsql
+
 %files agent
 %defattr(-,root,root,-)
 %dir %{_sysconfdir}/zabbix
@@ -260,30 +358,38 @@ fi
 %{_mandir}/man1/zabbix_sender.1*
 %{_mandir}/man8/zabbix_agentd.8*
 
-%files proxy
+%files proxy-common
 %defattr(-,root,root,-)
 %dir %{_sysconfdir}/zabbix
 %config(noreplace) %{_sysconfdir}/zabbix/zabbix_proxy.conf
 %config(noreplace) %{_sysconfdir}/logrotate.d/zabbix_proxy
-%{_sbindir}/zabbix_proxy
 %{_initddir}/zabbix_proxy
 %{_mandir}/man8/zabbix_proxy.8*
-%dir %{_datadir}/zabbix-proxy
-%if %{use_postgresql}
-%{_datadir}/zabbix-proxy/postgresql
-%else
-%if %{use_mysql}
-%{_datadir}/zabbix-proxy/mysql
-%endif
-%endif
+%{_datadir}/zabbix-proxy
+
+%files proxy-mysql
+%defattr(-,root,root,-)
+%{_sbindir}/zabbix_proxy.mysql
+
+%files proxy-postgresql
+%defattr(-,root,root,-)
+%{_sbindir}/zabbix_proxy.pgsql
 
 %files frontend-php
 %defattr(-,root,root,-)
-%doc AUTHORS COPYING ChangeLog NEWS README
+%doc zabbix_mysql/AUTHORS zabbix_mysql/COPYING zabbix_mysql/ChangeLog zabbix_mysql/NEWS zabbix_mysql/README
 %dir %{_datadir}/zabbix-frontend
 %{_datadir}/zabbix-frontend/php
 
+%files frontend-php-mysql
+
+%files frontend-php-postgresql
+
 %changelog
+* Sun Jul  6 2014 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 2.2.4-1
+- new upstream release.
+- built with both of mysql and postgresql.
+
 * Mon Oct 07 2013 Daisuke SUZUKI <daisuke@linux.or.jp> 2.0.8-1
 - update to 2.0.8