diff --git a/pandora_agents/unix/ChangeLog b/pandora_agents/unix/ChangeLog index 8d4ae2df96..ca99cc8664 100644 --- a/pandora_agents/unix/ChangeLog +++ b/pandora_agents/unix/ChangeLog @@ -1,3 +1,9 @@ +2011-08-22 Sancho Lerena <slerena@artica.es> + + * pandora_agent.spec, + pandora_agent.redhat.spec (added) Updated specs to be used + with OpenSUSE build service. New version for CentOS/RHEL + 2011-08-19 Sancho Lerena <slerena@artica.es> * DEBIAN/control diff --git a/pandora_agents/unix/pandora_agent.redhat.spec b/pandora_agents/unix/pandora_agent.redhat.spec new file mode 100755 index 0000000000..310972b503 --- /dev/null +++ b/pandora_agents/unix/pandora_agent.redhat.spec @@ -0,0 +1,134 @@ +# +#Pandora FMS Linux Agent +# +%define name pandorafms_agent_unix +%define version 4.0RC1 +%define release 1 + +Summary: Pandora FMS Linux agent, PERL version +Name: %{name} +Version: %{version} +Release: %{release} +License: GPL +Vendor: ArticaST <http://www.artica.es> +Source0: %{name}-%{version}.tar.gz +URL: http://pandorafms.org +Group: System/Monitoring +Packager: Sancho Lerena <slerena@artica.es> +Prefix: /usr/share +BuildRoot: %{_tmppath}/%{name}-%{version}-buildroot +BuildArch: noarch +PreReq: /usr/bin/sed /usr/bin/grep /usr/sbin/useradd +Requires: coreutils unzip +AutoReq: 0 +Provides: %{name}-%{version} + +%description +Pandora FMS agent for unix. Pandora FMS is an OpenSource full-featured monitoring software. + +%prep +rm -rf $RPM_BUILD_ROOT + +%setup -q -n unix + +%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/usr/share/man/man1/ +cp -aRf * $RPM_BUILD_ROOT%{prefix}/pandora_agent/ +cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/tentacle_client $RPM_BUILD_ROOT/usr/bin/ +cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/pandora_agent $RPM_BUILD_ROOT/usr/bin/ +cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/pandora_agent_exec $RPM_BUILD_ROOT/usr/bin/ +cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/pandora_agent_daemon $RPM_BUILD_ROOT/etc/init.d/pandora_agent_daemon +cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/pandora_agent_daemon $RPM_BUILD_ROOT/etc/init.d/pandora_agent_daemon +cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/man/man1/pandora_agent.1.gz $RPM_BUILD_ROOT/usr/share/man/man1/ +cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/man/man1/tentacle_client.1.gz $RPM_BUILD_ROOT/usr/share/man/man1/ + +# Checking old config file (if exists) +if [ -f /etc/pandora/pandora_agent.conf ] ; then + mv /etc/pandora/pandora_agent.conf /etc/pandora/pandora_agent.conf.backup +fi + +cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/Linux/pandora_agent.conf $RPM_BUILD_ROOT/usr/share/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 +fi + +if [ ! -f /etc/pandora/pandora_agent.conf ] ; then + ln -s /usr/share/pandora_agent/pandora_agent.conf /etc/pandora/pandora_agent.conf +else + ln -s /usr/share/pandora_agent/pandora_agent.conf.rpmnew /etc/pandora/pandora_agent.conf.rpmnew +fi + +if [ ! -e /etc/pandora/plugins ]; then + ln -s /usr/share/pandora_agent/plugins /etc/pandora +fi + +if [ ! -e /etc/pandora/collections ]; then + ln -s /usr/share/pandora_agent/collections /etc/pandora +fi + +mkdir -p /var/spool/pandora/data_out +chkconfig pandora_agent_daemon on + +%preun + +# Upgrading +if [ "$1" = "1" ]; then + exit 0 +fi + +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 +rm -Rf /usr/share/pandora_agent +rm -Rf /usr/share/man/man1/pandora_agent.1.gz +rm -Rf /usr/share/man/man1/tentacle_client.1.gz +exit 0 + +%files +%defattr(750,pandora,root) +/usr/bin/pandora_agent +/usr/bin/pandora_agent_exec + +%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 + +%defattr(644,pandora,root) +/usr/share/man/man1/pandora_agent.1.gz +/usr/share/man/man1/tentacle_client.1.gz + diff --git a/pandora_agents/unix/pandora_agent.spec b/pandora_agents/unix/pandora_agent.spec index ec750906f1..af0ef8a795 100755 --- a/pandora_agents/unix/pandora_agent.spec +++ b/pandora_agents/unix/pandora_agent.spec @@ -17,15 +17,15 @@ Group: System/Monitoring Packager: Sancho Lerena <slerena@artica.es> Prefix: /usr/share BuildRoot: %{_tmppath}/%{name}-%{version}-buildroot -BuildArchitectures: noarch +BuildArch: noarch +PreReq: %fillup_prereq %insserv_prereq /usr/bin/sed /usr/bin/grep /usr/sbin/useradd +BuildRequires: sysvinit cron rsyslog sysconfig Requires: coreutils unzip 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. -This is the PERL 5.8 version of Pandora FMS agent. This includes all the advanced features included in 3.0 version, and will be the default agent in future versions. +Pandora FMS agent for unix. Pandora FMS is an OpenSource full-featured monitoring software. %prep rm -rf $RPM_BUILD_ROOT @@ -67,9 +67,10 @@ fi rm -Rf $RPM_BUILD_ROOT %pre -/usr/sbin/useradd -d %{prefix}/pandora -s /bin/false -M -g 0 pandora -exit 0 - +if [ "`id pandora | grep uid | wc -l`" = 0 ] +then + /usr/sbin/useradd -d %{prefix}/pandora -s /bin/false -M -g 0 pandora +fi %post if [ ! -d /etc/pandora ] ; then