%define release %mkrel 4 %define _localstatedir %{_var}/lib %{?!_logdir:%global _logdir /var/log} %{?!mkrel:%define mkrel(c:) %{-c:0.%{-c*}.}%{!?_with_unstable:%(perl -e '$_="%{1}";m/(.\*\\D\+)?(\\d+)$/;$rel=${2}-1;re;print "$1$rel";').%{?subrel:%subrel}%{!?subrel:1}.%{?distversion:%distversion}%{?!distversion:%(echo $[%{mdkversion}/10])}}%{?_with_unstable:%{1}}%{?distsuffix:%distsuffix}%{?!distsuffix:mdk}} %{?!mdkversion: %define notmdk 1} Name: hobbit Version: 4.1.2p1 Release: %release Group: Networking/Other URL: http://%{name}mon.sourceforge.net/ License: GPL Source: %{name}-%{version}.tar.bz2 Patch: hobbit-4.1.2-ignore-cdrom.patch.bz2 Patch1: hobbit-4.1.2-fix-apache-alias.patch.bz2 Summary: Hobbit network monitor BuildRoot: %{_tmppath}/%{name}-%{version}-root Requires: fping Requires: %{name}-client = %{version} %{!?notmdk:Requires(pre): rpm-helper} BuildRequires: fping BuildRequires: openssl-devel BuildRequires: pcre-devel BuildRequires: rrdtool-devel BuildRequires: openldap-devel %description Hobbit is a system for monitoring your network servers and applications. It is heavily inspired by the Big Brother tool, but is a complete re-implementation with a lot of added functionality and performance improvements. %package client Summary: Hobbit client reporting data to the Hobbit server Group: Networking/Other %{!?notmdk:Requires(pre): rpm-helper} %description client This package contains a client for the Hobbit monitor. Clients report data about the local system to the monitor, allowing it to check on the status of the system load, filesystem utilisation, processes that must be running etc. %prep %setup -q %patch -p1 %patch1 -p1 # test should really check for RC -ne 127 (file not found), 1 is also acceptable perl -pi -e 's/-eq 0/-ne 127/g' build/fping.sh %build export ENABLESSL=y \ ENABLELDAP=y \ ENABLELDAPSSL=y \ BBUSER=%{name} \ BBTOPDIR=%{_libdir}/%{name} \ BBVAR=%{_localstatedir}/%{name} \ BBHOSTURL=/%{name} \ CGIDIR=%{_libdir}/%{name}/cgi-bin \ BBCGIURL=/%{name}-cgi \ SECURECGIDIR=%{_libdir}/%{name}/cgi-secure \ SECUREBBCGIURL=/%{name}-seccgi \ HTTPDGID=apache \ BBLOGDIR=%{_logdir}/%{name} \ BBHOSTNAME=localhost \ BBHOSTIP=127.0.0.1 \ MANROOT=%{_mandir} \ BARS=all \ USENEWHIST=y \ PIXELCOUNT=960 \ INSTALLBINDIR=%{_libdir}/%{name}/server/bin \ INSTALLETCDIR=%{_sysconfdir}/%{name} \ INSTALLWEBDIR=%{_sysconfdir}/%{name}/web \ INSTALLEXTDIR=%{_libdir}/%{name}/server/ext \ INSTALLTMPDIR=%{_localstatedir}/%{name}/tmp \ INSTALLWWWDIR=%{_localstatedir}/%{name}/www ./configure #%configure --server PKGBUILD=1 make %install rm -Rf %{buildroot} INSTALLROOT=%{buildroot}/ PKGBUILD=1 make install mkdir -p %{buildroot}/%{_initrddir} install -m755 rpm/%{name}-init.d %{buildroot}/%{_initrddir}/%{name} install -m755 rpm/%{name}-client.init %{buildroot}/%{_initrddir}/%{name}-client mkdir -p %{buildroot}/%{_sysconfdir}/logrotate.d install -m644 rpm/%{name}.logrotate %{buildroot}/%{_sysconfdir}/logrotate.d/%{name} mkdir -p %{buildroot}/%{_sysconfdir}/sysconfig install rpm/%{name}-client.default %{buildroot}/%{_sysconfdir}/sysconfig/%{name}-client mkdir -p %{buildroot}/%{_bindir} ln -s %{_libdir}/%{name}/server/bin/bb{,cmd} %{buildroot}/%{_bindir} mkdir -p %{buildroot}/%{_sysconfdir}/httpd/conf.d mv %{buildroot}/%{_sysconfdir}/%{name}/%{name}-apache.conf %{buildroot}/%{_sysconfdir}/httpd/conf.d/ rmdir %{buildroot}/%{_libdir}/%{name}/client/tmp mkdir -p %{buildroot}/%{_localstatedir}/%{name}-client ln -s %{_localstatedir}/%{name}-client %{buildroot}/%{_libdir}/%{name}/client/tmp ln -s %{_localstatedir}/%{name}/tmp %{buildroot}/%{_libdir}/%{name}/tmp rmdir %{buildroot}/%{_libdir}/%{name}/client/logs ln -s %{_logdir}/%{name} %{buildroot}/%{_libdir}/%{name}/client/logs perl -pi -e 's!^BBDISP=.*!include /var/run/%{name}client-runtime.cfg!;s/^BBDISPLAYS=.*$//g' %{buildroot}/%{_libdir}/%{name}/client%{_sysconfdir}/%{name}client.cfg install -d %{buildroot}/%{_datadir}/%{name}/www mv %{buildroot}%{_localstatedir}/%{name}/www/{gifs,help} %{buildroot}/%{_datadir}/%{name}/www ln -s %{_datadir}/%{name}/www/{gifs,help} %{buildroot}%{_localstatedir}/%{name}/www/ mv %{buildroot}/%{_libdir}/%{name}/client/etc/*.cfg %{buildroot}/%{_sysconfdir}/%{name}/ rmdir %{buildroot}/%{_libdir}/%{name}/client/etc ln -sf %{_sysconfdir}/%{name} %{buildroot}/%{_libdir}/%{name}/client/etc perl -pi -e 's,/default/,/sysconfig/,g' %{buildroot}/%{_initrddir}/hobbit* chmod u+w %{buildroot}/%{_libdir}/%{name}/client/bin/* %clean rm -rf %{buildroot}/ %pre client if ! getent passwd %{name} 1>/dev/null 2>&1 then %_pre_useradd %{name} %{_libdir}/%{name} /bin/bash fi %post %_post_service %{name} /sbin/chkconfig --list %{name}-client |grep -q on && /sbin/chkconfig %{name}-client off ||: %post client if [ ! -e /etc/init.d/%{name} ] then %_post_service %{name}-client fi %preun %_preun_service %{name} %preun client %_preun_service %{name}-client %files %defattr(-,root,root) %doc README README.CLIENT Changes* COPYING CREDITS %attr(644,root,root) %doc %{_mandir}/man*/* %attr(644,root,root) %config(noreplace) %{_sysconfdir}/%{name}/*.cfg %exclude %{_sysconfdir}/%{name}/*client*.cfg %exclude %{_sysconfdir}/%{name}/*client*.cfg %attr(644,root,root) %config(noreplace) %{_sysconfdir}/%{name}/bb-* %attr(644,root,root) %config(noreplace) %{_sysconfdir}/%{name}/*.csv %attr(644,root,root) %config(noreplace) %{_sysconfdir}/httpd/conf.d/%{name}-apache.conf %config(noreplace) %{_sysconfdir}/logrotate.d/%{name} %config(noreplace) %{_sysconfdir}/%{name}/web %{_initrddir}/%{name} %dir %{_libdir}/%{name} %{_libdir}/%{name}/server %{_libdir}/%{name}/cgi-bin %{_libdir}/%{name}/cgi-secure %{_libdir}/%{name}/tmp %{_bindir}/* %attr(775,%{name},%{name}) %dir %{_localstatedir}/%{name}/www %attr(775,%{name},apache) %dir %{_localstatedir}/%{name}/www/rep %attr(775,%{name},apache) %dir %{_localstatedir}/%{name}/www/snap %attr(644,root,root) %config(noreplace) %{_localstatedir}/%{name}/www/menu/* %{_localstatedir}/%{name}/www/gifs %{_localstatedir}/%{name}/www/help %{_datadir}/%{name} %defattr(-,%{name},%{name}) %dir %{_localstatedir}/%{name} %dir %{_localstatedir}/%{name}/histlogs %dir %{_localstatedir}/%{name}/tmp %dir %{_localstatedir}/%{name}/hist %dir %{_localstatedir}/%{name}/rrd %dir %{_localstatedir}/%{name}/acks %dir %{_localstatedir}/%{name}/www/notes %files client %defattr(-, root, root) %doc README README.CLIENT Changes* COPYING CREDITS %{_libdir}/%{name}/client %dir %{_sysconfdir}/%{name} %config(noreplace) %{_sysconfdir}/%{name}/*client*.cfg %attr(755,root,root) %{_initrddir}/%{name}-client %attr(644,root,root) %config(noreplace) %{_sysconfdir}/sysconfig/%{name}-client %attr(755,%{name},%{name}) %dir %{_logdir}/%{name} %attr(755,%{name},%{name}) %dir %{_libdir}/%{name}/client/ext %attr(755,%{name},%{name}) %dir %{_localstatedir}/%{name}-client %changelog * Tue Dec 27 2005 Buchan Milne <bgmilne@mandriva.org> 4.1.2p1-4mdk - fix build on 10.1 and older (conditional %%mkrel and %%_logdir) * Tue Dec 20 2005 Buchan Milne <bgmilne@mandriva.org> 4.1.2p1-3mdk - fix alias in apache config * Tue Dec 13 2005 Buchan Milne <bgmilne@mandriva.org> 4.1.2p1-2mdk - ignore full mounoted cdroms by default * Tue Nov 15 2005 Buchan Milne <bgmilne@mandriva.org> 4.1.2p1-1mdk - first mandriva package (based on spec file in source)