# release number: %define rel %(date '+%Y%m%d%H%M') %define wwwpath /var/www/html %define nagraffiti_user nagraffiti Summary: Nagios grapher Name: nagraffiti Version: 2.6 Release: %{rel} Source0: %{name}-www.tar.bz2 Source1: %{name}-backend.tar.bz2 Source2: %{name}-po.tar.bz2 License: GPL Group: Applications/System Requires: rrdtool-perl, check_mk-livestatus, dejavu-sans-mono-fonts, perl-JSON-XS, nagraffiti-neb2json Provides: perl(Nagraffiti::Nagraph) BuildRoot: %{_tmppath}/%{name}-%{version}-buildroot BuildArch: noarch # mysql password path : %define mysql_passwd_path %{_sysconfdir}/racvision/mysql/passwords %description Nagraffiti is a performance data grapher for Nagios. It use Livestatus and neb2json event broker to collect data. %description -l fr Nagraffiti est un traceur de donnée de performance issues de Nagios. Il utilise Livestatus et module neb2json pour collecter les données. %prep #%setup %{__tar} --overwrite -xjf %{SOURCE0} %{__tar} --overwrite -xjf %{SOURCE1} %{__tar} --overwrite -xjf %{SOURCE2} %build %install [ "$RPM_BUILD_ROOT" != "/" ] && [ -d $RPM_BUILD_ROOT ] && %{__rm} -rf $RPM_BUILD_ROOT; # Racvision index info %{__install} -d $RPM_BUILD_ROOT/%{wwwpath}/racvision/ %{__install} -p -m0644 www/nagraffiti.php $RPM_BUILD_ROOT/%{wwwpath}/racvision/ # www files %{__install} -d $RPM_BUILD_ROOT/%{wwwpath}/%{name}/classes %{__install} -p -m0644 www/classes/*.php $RPM_BUILD_ROOT/%{wwwpath}/%{name}/classes/ %{__install} -d $RPM_BUILD_ROOT/%{wwwpath}/%{name}/css %{__install} -p -m0644 www/css/*.css $RPM_BUILD_ROOT/%{wwwpath}/%{name}/css/ %{__install} -d $RPM_BUILD_ROOT/%{wwwpath}/%{name}/css/jquery %{__install} -p -m0644 www/css/jquery/*.css $RPM_BUILD_ROOT/%{wwwpath}/%{name}/css/jquery/ %{__install} -d $RPM_BUILD_ROOT/%{wwwpath}/%{name}/css/jquery/images %{__install} -p -m0644 www/css/jquery/images/*.png $RPM_BUILD_ROOT/%{wwwpath}/%{name}/css/jquery/images/ %{__install} -d $RPM_BUILD_ROOT/%{wwwpath}/%{name}/img %{__install} -p -m0644 www/img/* $RPM_BUILD_ROOT/%{wwwpath}/%{name}/img/ %{__install} -d $RPM_BUILD_ROOT/%{wwwpath}/%{name}/js %{__install} -p -m0644 www/js/*.js $RPM_BUILD_ROOT/%{wwwpath}/%{name}/js/ %{__install} -d $RPM_BUILD_ROOT/%{wwwpath}/%{name}/js/jquery %{__install} -p -m0644 www/js/jquery/*.js $RPM_BUILD_ROOT/%{wwwpath}/%{name}/js/jquery/ %{__install} -d $RPM_BUILD_ROOT/%{wwwpath}/%{name}/%{name} %{__install} -p -m0644 www/%{name}/*.php $RPM_BUILD_ROOT/%{wwwpath}/%{name}/%{name}/ %{__install} -p -m0644 www/index.php $RPM_BUILD_ROOT/%{wwwpath}/%{name}/ # Templates %{__install} -d $RPM_BUILD_ROOT/%{wwwpath}/%{name}/templates %{__install} -p -m0644 www/templates/*.php $RPM_BUILD_ROOT/%{wwwpath}/%{name}/templates/ # backend %{__install} -d $RPM_BUILD_ROOT/%{perl_vendorlib}/Nagraffiti %{__install} -p -m0755 backend/lib/*.pm $RPM_BUILD_ROOT/%{perl_vendorlib}/Nagraffiti/ %{__install} -d $RPM_BUILD_ROOT/%{perl_vendorlib}/Nagraffiti/Input %{__install} -p -m0755 backend/lib/Input/*.pm $RPM_BUILD_ROOT/%{perl_vendorlib}/Nagraffiti/Input %{__install} -d $RPM_BUILD_ROOT/%{_bindir} %{__install} -d $RPM_BUILD_ROOT/%{_sbindir} #%{__install} -p -m0755 backend/nagraffiti-ndo-daemon.pl $RPM_BUILD_ROOT/%{_sbindir}/ %{__install} -p -m0755 backend/nagraffiti-daemon.pl $RPM_BUILD_ROOT/%{_sbindir}/ %{__install} -p -m0755 backend/cleanRrds.pl $RPM_BUILD_ROOT/%{_bindir}/ # Configs files: %{__install} -d $RPM_BUILD_ROOT/%{_sysconfdir}/%{name} %{__install} -d $RPM_BUILD_ROOT/%{_sysconfdir}/logrotate.d %{__install} -p -m0640 backend/config.ini $RPM_BUILD_ROOT/%{_sysconfdir}/%{name}/ %{__install} -p -m0644 backend/rra.cfg $RPM_BUILD_ROOT/%{_sysconfdir}/%{name}/ %{__install} -p -m0644 backend/log4p.cfg $RPM_BUILD_ROOT/%{_sysconfdir}/%{name}/ %{__install} -p -m0644 backend/%{name}.logrotate %{buildroot}/%{_sysconfdir}/logrotate.d/%{name} # Logs files: %{__install} -d $RPM_BUILD_ROOT/%{_localstatedir}/log/%{name} # Rrd repository: %{__install} -d $RPM_BUILD_ROOT/%{_localstatedir}/lib/%{name} # Pid %{__install} -d $RPM_BUILD_ROOT/%{_localstatedir}/run/%{name} # Init script %{__install} -d $RPM_BUILD_ROOT/%{_initrddir} %{__install} -p -m0755 backend/%{name}.init $RPM_BUILD_ROOT/%{_initrddir}/%{name} # I18n files for lang in fr; do %{__install} -d $RPM_BUILD_ROOT/%{_datadir}/locale/$lang/LC_MESSAGES/ %{__install} -m0644 po/init-$lang.mo $RPM_BUILD_ROOT/%{_datadir}/locale/$lang/LC_MESSAGES/%{name}_init.mo %{__install} -m0644 po/php-$lang.mo $RPM_BUILD_ROOT/%{_datadir}/locale/$lang/LC_MESSAGES/%{name}_php.mo done %{find_lang} %{name}_init %{name}_lang --all-name # TMPFS %{__install} -d %{buildroot}%{_datadir}/nagios-tmpfs/perfdatas #====[ pre installation scripts: %pre # Add user/group: echo Adding %{nagraffiti_user} user ... /usr/sbin/useradd -M -o -r -d %{_localstatedir}/log/%{name} -s /sbin/nologin -c "Application Nagraffiti" -u 407 %{nagraffiti_user} > /dev/null 2>&1 || : # Add apache in nagraffiti group if ! id -Gn apache | grep -q nagraffiti ; then echo "Adding user 'apache' to 'nagraffiti' group." usermod -aG nagraffiti apache fi #====[ post installation scripts: %post # Configure database password : #/usr/bin/mkpasswd -l 10 -s 0 > %{mysql_passwd_path}/%{name} #%{__chmod} 640 %{mysql_passwd_path}/%{name} # Add initscript to system V start : if test -x /sbin/chkconfig; then /sbin/chkconfig --add %{name} /sbin/chkconfig %{name} on fi #====[ pre uninstall scripts %preun %postun %files -f %{name}_lang %doc backend/README %{_sysconfdir}/logrotate.d/nagraffiti %defattr(-,%{nagraffiti_user},%{nagraffiti_user}) %config %{_sysconfdir}/%{name}/rra.cfg %config %{_sysconfdir}/%{name}/log4p.cfg %attr(-,%{nagraffiti_user} ,apache) %config %{_sysconfdir}/%{name}/config.ini %defattr(-,root,root) %{_initrddir}/%{name} #%{_sbindir}/nagraffiti-ndo-daemon.pl %{_sbindir}/nagraffiti-daemon.pl %{_bindir}/cleanRrds.pl %{wwwpath} #%dir %{perl_vendorlib}/Nagraffiti %{perl_vendorlib}/Nagraffiti/ %attr(0770, nagios, %{nagraffiti_user}) %{_datadir}/nagios-tmpfs/perfdatas %attr(-,%{nagraffiti_user} ,%{nagraffiti_user}) %dir %{_localstatedir}/log/%{name} %attr(-,%{nagraffiti_user} ,%{nagraffiti_user}) %dir %{_localstatedir}/lib/%{name} %attr(-,%{nagraffiti_user} ,%{nagraffiti_user}) %dir %{_localstatedir}/run/%{name}