124 lines
4.0 KiB
Plaintext
Executable File
124 lines
4.0 KiB
Plaintext
Executable File
#
|
||
#Pandora FMS Linux Agent
|
||
#
|
||
%global __os_install_post %{nil}
|
||
%define name pandorafms_agent
|
||
%define version 3.2
|
||
Summary: Pandora FMS Linux agent
|
||
Name: %{name}
|
||
Version: %{version}
|
||
Release: 1
|
||
License: GPL
|
||
Vendor: ArticaST <http://www.artica.es>
|
||
Source0: %{name}-%{version}.tar.gz
|
||
URL: http://pandorafms.org
|
||
Group: System/Monitoring
|
||
Packager: Manuel Arostegui <manuel@todo-linux.com>
|
||
Prefix: /usr/share
|
||
BuildRoot: %{_tmppath}/%{name}-%{version}-buildroot
|
||
BuildArchitectures: noarch
|
||
Requires: coreutils
|
||
AutoReq: 0
|
||
Provides: %{name}-%{version}
|
||
|
||
%description
|
||
Pandora FMS agents are based on native languages in every platform: scripts that can be written in any language. It’s possible to reproduce any agent in any programming language and can be extended without difficulty the existing ones in order to cover aspects not taken into account up to the moment.
|
||
These scripts are formed by modules that each one gathers a "chunk" of information. Thus, every agent gathers several "chunks" of information; this one is organized in a data set and stored in a single file, called data file.
|
||
|
||
%prep
|
||
rm -rf $RPM_BUILD_ROOT
|
||
|
||
%setup -q -n linux
|
||
|
||
%build
|
||
|
||
%install
|
||
rm -rf $RPM_BUILD_ROOT
|
||
mkdir -p $RPM_BUILD_ROOT%{prefix}/pandora_agent/
|
||
mkdir -p $RPM_BUILD_ROOT/usr/bin/
|
||
mkdir -p $RPM_BUILD_ROOT/usr/sbin/
|
||
mkdir -p $RPM_BUILD_ROOT/etc/pandora/
|
||
mkdir -p $RPM_BUILD_ROOT/etc/init.d/
|
||
mkdir -p $RPM_BUILD_ROOT/var/log/pandora/
|
||
mkdir -p $RPM_BUILD_ROOT/var/spool/pandora/data_out
|
||
cp -aRf * $RPM_BUILD_ROOT%{prefix}/pandora_agent/
|
||
cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/tentacle_client $RPM_BUILD_ROOT/usr/bin/
|
||
mv $RPM_BUILD_ROOT%{prefix}/pandora_agent/pandora_agent $RPM_BUILD_ROOT/usr/bin/
|
||
mv $RPM_BUILD_ROOT%{prefix}/pandora_agent/pandora_agent_daemon $RPM_BUILD_ROOT/etc/init.d/pandora_agent_daemon
|
||
|
||
# Checking old config file (if exists)
|
||
if [ -f /etc/pandora/pandora_agent.conf ] ; then
|
||
cp /etc/pandora/pandora_agent.conf /etc/pandora/pandora_agent.conf.backup
|
||
fi
|
||
|
||
cp $RPM_BUILD_ROOT%{prefix}/pandora_agent/pandora_agent.conf $RPM_BUILD_ROOT%{prefix}/pandora_agent/pandora_agent.conf.rpmnew
|
||
if [ -f $RPM_BUILD_ROOT%{prefix}/pandora_agent/pandora_agent.spec ] ; then
|
||
rm $RPM_BUILD_ROOT%{prefix}/pandora_agent/pandora_agent.spec
|
||
fi
|
||
|
||
%clean
|
||
rm -Rf $RPM_BUILD_ROOT
|
||
|
||
%pre
|
||
/usr/sbin/useradd -d %{prefix}/pandora -s /bin/false -M -g 0 pandora
|
||
exit 0
|
||
|
||
|
||
%post
|
||
if [ ! -d /etc/pandora ] ; then
|
||
mkdir -p /etc/pandora
|
||
fi
|
||
|
||
if [ ! -f /usr/share/pandora_agent/pandora_agent.conf ] ; then
|
||
cp /usr/share/pandora_agent/pandora_agent.conf.rpmnew /usr/share/pandora_agent/pandora_agent.conf
|
||
else
|
||
cp /usr/share/pandora_agent/pandora_agent.conf /etc/pandora/pandora_agent.conf.backup
|
||
cp /usr/share/pandora_agent/pandora_agent.conf.rpmnew /usr/share/pandora_agent/pandora_agent.conf
|
||
fi
|
||
|
||
if [ -f /etc/pandora/pandora_agent.conf ] ; then
|
||
mv /etc/pandora/pandora_agent.conf /etc/pandora/pandora_agent.conf_backup
|
||
fi
|
||
|
||
if [ ! -e /etc/pandora/plugins ]; then
|
||
ln -s /usr/share/pandora_agent/plugins /etc/pandora
|
||
fi
|
||
|
||
if [ ! -e /etc/pandora/pandora_agent.conf ]; then
|
||
ln -s /usr/share/pandora_agent/pandora_agent.conf /etc/pandora/pandora_agent.conf
|
||
fi
|
||
|
||
# Create default temp dir for agent. If not exist, agent will not work !
|
||
if [ ! -d /var/spool/pandora/data_out ] ; then
|
||
mkdir -p /var/spool/pandora/data_out
|
||
fi
|
||
|
||
chkconfig pandora_agent_daemon on
|
||
|
||
%preun
|
||
|
||
chkconfig --del pandora_agent_daemon
|
||
/etc/init.d/pandora_agent_daemon stop
|
||
rm /etc/init.d/pandora_agent_daemon
|
||
/usr/sbin/userdel pandora
|
||
rm -Rf /etc/pandora/pandora_agent.conf
|
||
rm -Rf /var/log/pandora/pandora_agent* 2> /dev/null
|
||
exit 0
|
||
|
||
%files
|
||
%defattr(750,pandora,root)
|
||
/usr/bin/pandora_agent
|
||
|
||
%defattr(770,pandora,root)
|
||
/var/log/pandora/
|
||
|
||
%defattr(755,pandora,root)
|
||
/usr/bin/tentacle_client
|
||
/etc/init.d/pandora_agent_daemon
|
||
%docdir %{prefix}/pandora_agents/docs
|
||
%{prefix}/pandora_agent
|
||
#%{_mandir}/man1/pandora.1.gz
|
||
#%{_mandir}/man1/pandora_agents.1.gz
|
||
|
||
|