Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37329628
en ru br
Репозитории ALT
S:6.0.22-alt1
D:1.4.1-alt1.svn.4403
5.1: 1.8.18-alt0.M51.1
4.1: 1.6.4-alt0.1.svn.7369.M41.1
4.0: 1.8-alt0.svn.8618.M40.1
3.0:
+backports:1.1.7-alt0.M30.1
www.altlinux.org/Changes

Группа :: Мониторинг
Пакет: zabbix

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

%define zabbix_user zabbix
%define zabbix_group zabbix
%define zabbix_home /dev/null
%define svnrev 8618

%def_with pgsql

Name: zabbix
Version: 1.8
Release: alt0.svn.%svnrev.M40.1

Serial: 1

Summary: A network monitor
License: GPL
Group: Monitoring

Url: http://www.zabbix.com

# http://heanet.dl.sourceforge.net/sourceforge/%name/%name-%version.tar.gz

Source0: %name-%version.tar
Source1: %name.conf
Source2: %{name}_agentd.init
Source3: %{name}_mysql.init
Source4: %{name}_pgsql.init
Source5: %name.migrate.sh
Source6: zabbix_server
Source7: %{name}_proxy.init

BuildPreReq: /proc
# Automatically added by buildreq on Wed Dec 05 2007
BuildRequires: libMySQL-devel libiksemel-devel libldap-devel libnet-snmp-devel perl-Switch zlib-devel libcurl-devel libsqlite3-devel
# Manually added by vvk
BuildRequires: rsync

%if_with pgsql
BuildRequires: postgresql-devel
%endif

%package common
Summary: %name network monitor (common stuff)
Group: Monitoring

%package server-common
Summary: %name network monitor (server common stuff)
Group: Monitoring
Requires: %name-common = %serial:%version-%release

%package server-mysql
Summary: %name network monitor (server, compiled with MySQL support)
Group: Monitoring
Requires: %name-server-common = %serial:%version-%release fping
Obsoletes: %name-mysql < 1:1.1.7-alt1

%if_with pgsql
%package server-pgsql
Summary: %name network monitor (server, compiled with PostgreSQL support)
Group: Monitoring
Requires: %name-server-common = %serial:%version-%release fping
Obsoletes: %name-pgsql < 1:1.1.7-alt1
%endif

%package agent
Summary: %name agent
Group: Monitoring
Requires: %name-common = %serial:%version-%release

%package proxy
Summary: %name proxy
Group: Monitoring
Requires: %name-common = %serial:%version-%release fping

%package phpfrontend-engine
Summary: zabbix web frontend (php)
Group: Monitoring
Requires: php-engine
Obsoletes: %name-phpfrontend < 1:1.1.7-alt1
BuildArch: noarch

%package phpfrontend-php5
Summary: zabbix web frontend, edition for php5
Group: Monitoring
Requires: php5-gd2 php5-mysql php5-pgsql php5-sockets
BuildArch: noarch

%package phpfrontend-apache
Summary: %name-phpfrontend's apache config files
Group: Monitoring
Requires: %name-phpfrontend-engine = %serial:%version-%release, apache
BuildArch: noarch

%package phpfrontend-apache2
Summary: %name-phpfrontend's apache2 config files
Group: Monitoring
Requires: %name-phpfrontend-engine = %serial:%version-%release, apache2
BuildArch: noarch

%package doc
Summary: %name network monitor documentation (README, ChangeLog, Manual)
Group: Monitoring
BuildArch: noarch

%package contrib
Summary: %name network monitor (additional scripts)
Group: Monitoring
BuildArch: noarch

%package contrib-agent-win32
Summary: %name network monitor (agent for win32)
Group: Monitoring
BuildArch: noarch

%package contrib-agent-win64
Summary: %name network monitor (agent for win64)
Group: Monitoring
BuildArch: noarch

%description
ZABBIX is software for monitoring of your applications, network and servers.
ZABBIX supports both polling and trapping techniques to collect data from
monitored hosts. A flexible notification mechanism allows easy and quickly
configure different types of notifications for pre-defined events.

%description common
Common files and docs for zabbix network monitor

ZABBIX is software for monitoring of your applications, network and servers.
ZABBIX supports both polling and trapping techniques to collect data from
monitored hosts. A flexible notification mechanism allows easy and quickly
configure different types of notifications for pre-defined events.

%description server-common
common stuff for zabbix server

%description server-mysql
zabbix server, compiled with MySQL support

ZABBIX is software for monitoring of your applications, network and servers.
ZABBIX supports both polling and trapping techniques to collect data from
monitored hosts. A flexible notification mechanism allows easy and quickly
configure different types of notifications for pre-defined events.

%if_with pgsql
%description server-pgsql
zabbix server, compiled with PostgreSQL support
%endif

%description proxy
zabbix network monitor proxy daemon.

ZABBIX is software for monitoring of your applications, network and servers.
ZABBIX supports both polling and trapping techniques to collect data from
monitored hosts. A flexible notification mechanism allows easy and quickly
configure different types of notifications for pre-defined events.

%description agent
zabbix network monitor agent.

ZABBIX is software for monitoring of your applications, network and servers.
ZABBIX supports both polling and trapping techniques to collect data from
monitored hosts. A flexible notification mechanism allows easy and quickly
configure different types of notifications for pre-defined events.

%description phpfrontend-apache
zabbix's apache config files

%description phpfrontend-apache2
zabbix's apache2 config files

%description phpfrontend-engine
a php frontend for zabbix - core

%description phpfrontend-php5
zabbix web frontend, edition for php5

%description doc
%name network monitor (README, ChangeLog)

%description contrib
%name network monitor (additional scripts)

%description contrib-agent-win32
%name network monitor (agent for win32)

%description contrib-agent-win64
%name network monitor (agent for win64)

%prep
%setup

%build
# fix ZABBIX_REVISION
sed -i -e "s,{ZABBIX_REVISION},%svnrev," include/common.h

%autoreconf

# we must call this for produce dbsync.h

pushd create/schema
./gen.pl c >../../include/dbsync.h
popd

%configure --with-mysql \
--with-net-snmp \
--enable-server \
--with-ldap \
--with-libcurl \
--with-jabber
%make dbschema
%make

mv src/%{name}_server/%{name}_server src/%{name}_server/%{name}_mysql
%make clean

%if_with pgsql
%configure --with-pgsql \
--with-net-snmp \
--enable-server \
--with-ldap \
--with-libcurl \
--with-jabber
%make dbschema
%make

mv src/%{name}_server/%{name}_server src/%{name}_server/%{name}_pgsql
%make clean
%endif

%configure --with-sqlite3 \
--enable-proxy \
--with-libcurl \
--with-net-snmp \
--with-ldap \
--enable-agent \
--with-jabber
%make

# create database upgrades

pushd upgrades
mkdir dbpatches-final
%make dist-hook distdir=dbpatches-final
popd

# adjust in several files /home/zabbix

for file in misc/conf/*; do
 sed -i -e "s,/home/zabbix/bin,/usr/sbin,g" \
        -e "s,PidFile=/tmp,PidFile=%_var/run/zabbix,g" \
        -e "s,LogFile=/tmp,LogFile=%_logdir/zabbix,g" \
        -e "s,/home/zabbix/lock,%_var/lock/subsys/zabbix,g" \
-e "s,/tmp/mysql.sock,%_localstatedir/mysql/mysql.sock,g" $file
done

%install
%makeinstall

# create directory structure

install -dm1775 %buildroot%_logdir/%name
install -dm0755 %buildroot%_sbindir
install -dm0750 %buildroot%_sysconfdir/%name
install -dm0755 %buildroot%_var/www/html/addon-modules/%name
install -dm0750 %buildroot%_sysconfdir/%name/zabbix_agentd.conf.d

# binaries

install -m0755 src/%{name}_*/%{name}_{mysql,agentd} %buildroot%_sbindir
%if_with pgsql
install -m0755 src/%{name}_server/%{name}_pgsql %buildroot%_sbindir
%endif

# conf files

install -m0640 misc/conf/%{name}_{server,agentd,proxy}.conf %buildroot%_sysconfdir/%name

# frontends

cp -r frontends %buildroot%_var/www/html/addon-modules/%name/

# apache config

install -pDm0644 %SOURCE1 %buildroot%_sysconfdir/httpd/conf/addon-modules.d/%name.conf

# apache2 config

install -pDm0644 %SOURCE1 %buildroot%_sysconfdir/httpd2/conf/addon.d/A.%name.conf

# start scripts

install -pDm0755 %SOURCE2 %buildroot%_initdir/%{name}_agentd
install -pDm0755 %SOURCE3 %buildroot%_initdir/%{name}_mysql
%if_with pgsql
install -pDm0755 %SOURCE4 %buildroot%_initdir/%{name}_pgsql
%endif
install -pDm0644 %SOURCE6 %buildroot%_sysconfdir/sysconfig/zabbix_server
install -pDm0755 %SOURCE7 %buildroot%_initdir/%{name}_proxy

# migrator

install -m0755 %SOURCE5 migrate.sh

# database upgrades

mkdir -p upgrades-{mysql,postgresql}
mv upgrades/dbpatches-final/dbpatches/1.6/mysql upgrades-mysql/1.6
mv upgrades/dbpatches-final/dbpatches/1.8/mysql upgrades-mysql/1.8
mv upgrades/dbpatches-final/dbpatches/1.6/postgresql upgrades-postgresql/1.6
mv upgrades/dbpatches-final/dbpatches/1.8/postgresql upgrades-postgresql/1.8

# UPGRADING

cp sources/UPGRADING.ALT .

%pre common
/usr/sbin/groupadd -r -f %zabbix_group ||:
/usr/sbin/useradd -g %zabbix_group -G proc -c 'Zabbix' \
-d %zabbix_home -s /dev/null -r %zabbix_user >/dev/null 2>&1 ||:

%post server-mysql
%post_service zabbix_mysql

%preun server-mysql
%preun_service zabbix_mysql

%if_with pgsql
%post server-pgsql
%post_service zabbix_pgsql

%preun server-pgsql
%preun_service zabbix_pgsql
%endif

%post proxy
%post_service zabbix_proxy

%preun proxy
%preun_service zabbix_proxy

%post agent
%post_service zabbix_agentd
if [ $1 -eq 1 ]; then
sed -i -e "s,Hostname=localhost,Hostname=$HOSTNAME,g" \
%_sysconfdir/%name/%{name}_agentd.conf
fi

%preun agent
%preun_service zabbix_agentd

%post phpfrontend-apache
%_initdir/httpd reload >/dev/null 2>&1 ||:

%postun phpfrontend-apache
%_initdir/httpd reload >/dev/null 2>&1 ||:

%post phpfrontend-apache2
%_initdir/httpd2 reload >/dev/null 2>&1 ||:

%postun phpfrontend-apache2
%_initdir/httpd2 reload >/dev/null 2>&1 ||:

%files common
%dir %attr(1775,root,%zabbix_group) %_logdir/%name
%dir %_sysconfdir/%name

%files server-common
%_bindir/%{name}_get
%config(noreplace) %_sysconfdir/sysconfig/zabbix_server
%config(noreplace) %attr(0640,root,%zabbix_group) %_sysconfdir/%name/%{name}_server.conf
%_man1dir/%{name}_get.*

%files server-mysql
%_sbindir/%{name}_mysql
%_initdir/%{name}_mysql
%doc create/schema/mysql.sql create/data/data.sql create/data/images_mysql.sql
%doc upgrades-mysql
%doc UPGRADING.ALT

%if_with pgsql
%files server-pgsql
%_sbindir/%{name}_pgsql
%_initdir/%{name}_pgsql
%doc create/schema/postgresql.sql create/data/data.sql create/data/images_pgsql.sql
%doc upgrades-postgresql
%doc UPGRADING.ALT
%endif

%files proxy
%_sbindir/%{name}_proxy
%_initdir/%{name}_proxy
%config(noreplace) %attr(0640,root,%zabbix_group) %_sysconfdir/%name/%{name}_proxy.conf
%_man8dir/%{name}_proxy.*

%files agent
%config(noreplace) %attr(0640,root,%zabbix_group) %_sysconfdir/%name/%{name}_agentd.conf
%dir %attr(0750,root,%zabbix_group) %_sysconfdir/%name/zabbix_agentd.conf.d
%_initdir/%{name}_agentd
%_sbindir/%{name}_agentd
%_bindir/%{name}_sender
%_man8dir/%{name}_agentd.*
%_man1dir/%{name}_sender.*

%files phpfrontend-engine
%_var/www/html/addon-modules/%name/*
%dir %_var/www/html/addon-modules/%name
%exclude %_var/www/html/addon-modules/%name/frontends/php/conf/COPYING

%files phpfrontend-php5

%files phpfrontend-apache
%config(noreplace) %_sysconfdir/httpd/conf/addon-modules.d/%name.conf

%files phpfrontend-apache2
%config(noreplace) %_sysconfdir/httpd2/conf/addon.d/A.%name.conf

%files doc
%doc AUTHORS NEWS README UPGRADING.ALT INSTALL docs

%files contrib
%doc misc/snmptrap/* migrate.sh

%files contrib-agent-win32
%doc bin/win32/*

%files contrib-agent-win64
%doc bin/win64/*

%changelog

Полный changelog можно просмотреть здесь

 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin