From 2652b45ee36679f2402bfbb04833bb15b6d2a654 Mon Sep 17 00:00:00 2001 From: morcego Date: Mon, 4 Mar 2002 16:18:03 +0000 Subject: [PATCH] General cleanup of the rh specfile. %changelog * Mon Mar 04 2002 Rodrigo Barbosa + junkbuster-2.9.11-2 - General specfile fixup, using the best recomended practices, including: - Adding -q to %%setup - Using macros whereever possible - Not using wildchars on %%files section - Doubling the percentage char on changelog and comments, to avoid rpm expanding them --- junkbuster-rh.spec | 200 ++++++++++++++++++++++++++++++--------------- 1 file changed, 134 insertions(+), 66 deletions(-) diff --git a/junkbuster-rh.spec b/junkbuster-rh.spec index b05d8db7..eb4dacee 100644 --- a/junkbuster-rh.spec +++ b/junkbuster-rh.spec @@ -1,4 +1,4 @@ -# $Id: junkbuster-rh.spec,v 1.28 2002/01/09 18:34:03 hal9 Exp $ +# $Id: junkbuster-rh.spec,v 1.29 2002/03/03 19:21:22 hal9 Exp $ # # Written by and Copyright (C) 2001 the SourceForge # IJBSWA team. http://ijbswa.sourceforge.net @@ -26,6 +26,9 @@ # Temple Place - Suite 330, Boston, MA 02111-1307, USA. # # $Log: junkbuster-rh.spec,v $ +# Revision 1.29 2002/03/03 19:21:22 hal9 +# Init script fails if shell is /bin/false. +# # Revision 1.28 2002/01/09 18:34:03 hal9 # nit. # @@ -79,15 +82,15 @@ # bumped up version number. # # Revision 1.9 2001/06/12 18:15:29 swa -# the % in front of configure (see tag below) confused +# the %% in front of configure (see tag below) confused # the rpm build process on 7.1. # # Revision 1.8 2001/06/12 17:15:56 swa # fixes, because a clean build on rh6.1 was impossible. -# GZIP confuses make, % configure confuses rpm, etc. +# GZIP confuses make, %% configure confuses rpm, etc. # # Revision 1.7 2001/06/11 12:17:26 sarantis -# fix typo in %post +# fix typo in %%post # # Revision 1.6 2001/06/11 11:28:25 sarantis # Further optimizations and adaptations in the spec file. @@ -113,13 +116,17 @@ # # # + +# Defines should happen in the begining of the file +%define ijbconf %{_sysconfdir}/%{name} + Summary: The Internet Junkbuster Vendor: http://ijbswa.sourceforge.net Name: junkbuster Version: 2.9.11 -Release: 1 -Source0: http://www.waldherr.org/junkbuster/ijbswa-%{version}.tar.gz -Copyright: GPL +Release: 2 +Source0: http://www.waldherr.org/%{name}/ijbswa-%{version}.tar.gz +License: GPL BuildRoot: %{_tmppath}/%{name}-%{version}-root Group: Networking/Utilities URL: http://ijbswa.sourceforge.net/ @@ -137,99 +144,160 @@ flexible configuration and can be customized to suit individual needs and tastes. Internet Junkbuster has application for both stand-alone systems and multi-user networks. -%define ijbconf %{_sysconfdir}/junkbuster - %prep -%setup -c -n ijbswa +%setup -q -c -n ijbswa %build %configure make -strip junkbuster + +## Explicitily stripping is not recomended. +## This is handled altomaticaly by RPM, and can couse troubles if +## anyone wants to build an unstriped version - morcego +#strip %{name} %pre -/usr/sbin/useradd -d /etc/junkbuster -r junkbuster -s "" > /dev/null 2>&1 || /bin/true +/usr/sbin/useradd -d /etc/%{name} -r %{name} -s "" > /dev/null 2>&1 || /bin/true %install -[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT -mkdir -p ${RPM_BUILD_ROOT}%{_sbindir} \ - ${RPM_BUILD_ROOT}%{_mandir}/man8 \ - ${RPM_BUILD_ROOT}/var/log/junkbuster \ - ${RPM_BUILD_ROOT}%{ijbconf}/templates \ - ${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d \ - ${RPM_BUILD_ROOT}%{_sysconfdir}/rc.d/init.d - -gzip README AUTHORS ChangeLog junkbuster.1 || /bin/true -install -s -m 744 junkbuster $RPM_BUILD_ROOT%{_sbindir}/junkbuster -cp -f junkbuster.1.gz $RPM_BUILD_ROOT%{_mandir}/man8/junkbuster.8.gz -cp -f *.action $RPM_BUILD_ROOT%{ijbconf}/ -cp -f re_filterfile $RPM_BUILD_ROOT%{ijbconf}/re_filterfile -cp -f trust $RPM_BUILD_ROOT%{ijbconf}/trust -cp -f templates/* $RPM_BUILD_ROOT%{ijbconf}/templates/ -cp -f junkbuster.logrotate $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/junkbuster -install -m 755 junkbuster.init $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/init.d/junkbuster -install -m 711 -d $RPM_BUILD_ROOT/var/log/junkbuster +[ "%{buildroot}" != "/" ] && rm -rf %{buildroot} +mkdir -p %{buildroot}%{_sbindir} \ + %{buildroot}%{_mandir}/man8 \ + %{buildroot}%{_localstatedir}/log/%{name} \ + %{buildroot}%{ijbconf}/templates \ + %{buildroot}%{_sysconfdir}/logrotate.d \ + %{buildroot}%{_sysconfdir}/rc.d/init.d + +## Manual gziping of manpages should not be done, once it can +## break the building on some distributions. Anyway, rpm does it +## automagicaly these days +## Gziping the documentation files is not recomended - morcego +#gzip README AUTHORS ChangeLog %{name}.1 || /bin/true + +install -s -m 744 %{name} %{buildroot}%{_sbindir}/%{name} +cp -f %{name}.1 %{buildroot}%{_mandir}/man8/%{name}.8 +cp -f *.action %{buildroot}%{ijbconf}/ +cp -f re_filterfile %{buildroot}%{ijbconf}/re_filterfile +cp -f trust %{buildroot}%{ijbconf}/trust +cp -f templates/* %{buildroot}%{ijbconf}/templates/ +cp -f %{name}.logrotate %{buildroot}%{_sysconfdir}/logrotate.d/%{name} +install -m 755 %{name}.init %{buildroot}%{_sysconfdir}/rc.d/init.d/%{name} +install -m 711 -d %{buildroot}%{_localstatedir}/log/%{name} # verify all file locations, etc. in the config file # don't start with ^ or commented lines are not replaced +## Changing the sed paramter delimiter to @, so we don't have to +## escape the slashes cat config | \ - sed 's/^confdir.*/confdir \/etc\/junkbuster/g' | \ -# sed 's/^permissionsfile.*/permissionsfile \/etc\/junkbuster\/permissionsfile/g' | \ -# sed 's/^re_filterfile.*/re_filterfile \/etc\/junkbuster\/re_filterfile/g' | \ -# sed 's/^logfile.*/logfile \/var\/log\/junkbuster\/logfile/g' | \ -# sed 's/^jarfile.*/jarfile \/var\/log\/junkbuster\/jarfile/g' | \ -# sed 's/^forward.*/forward \/etc\/junkbuster\/forward/g' | \ -# sed 's/^aclfile.*/aclfile \/etc\/junkbuster\/aclfile/g' > \ - sed 's/^logdir.*/logdir \/var\/log\/junkbuster/g' > \ - $RPM_BUILD_ROOT%{ijbconf}/config + sed 's@^confdir.*@confdir %{_sysconfdir}/%{name}@g' | \ +# sed 's/^permissionsfile.*/permissionsfile \/etc\/%{name}\/permissionsfile/g' | \ +# sed 's/^re_filterfile.*/re_filterfile \/etc\/%{name}\/re_filterfile/g' | \ +# sed 's/^logfile.*/logfile \%{_localstatedir}\/log\/%{name}\/logfile/g' | \ +# sed 's/^jarfile.*/jarfile \%{_localstatedir}\/log\/%{name}\/jarfile/g' | \ +# sed 's/^forward.*/forward \/etc\/%{name}\/forward/g' | \ +# sed 's/^aclfile.*/aclfile \/etc\/%{name}\/aclfile/g' > \ + sed 's@^logdir.*@logdir %{_localstatedir}/log/%{name}@g' > \ + %{buildroot}%{ijbconf}/config perl -pe 's/{-no-cookies}/{-no-cookies}\n\.redhat.com/' ijb.action >\ - $RPM_BUILD_ROOT%{ijbconf}/ijb.action + %{buildroot}%{ijbconf}/ijb.action -#%makeinstall +## Macros are expanded even on commentaries. So, we have to use %% +## -- morcego +#%%makeinstall %post # for upgrade from 2.0.x -[ -f /var/log/junkbuster/junkbuster ] &&\ - mv -f /var/log/junkbuster/junkbuster /var/log/junkbuster/logfile || /bin/true -chown -R junkbuster:junkbuster /var/log/junkbuster 2>/dev/null -chown -R junkbuster:junkbuster /etc/junkbuster 2>/dev/null +[ -f %{_localstatedir}/log/%{name}/%{name} ] &&\ + mv -f %{_localstatedir}/log/%{name}/%{name} %{_localstatedir}/log/%{name}/logfile || /bin/true +chown -R %{name}:%{name} %{_localstatedir}/log/%{name} 2>/dev/null +chown -R %{name}:%{name} /etc/%{name} 2>/dev/null if [ "$1" = "1" ]; then - /sbin/chkconfig --add junkbuster - /sbin/service junkbuster condrestart > /dev/null 2>&1 + /sbin/chkconfig --add %{name} + /sbin/service %{name} condrestart > /dev/null 2>&1 fi # 01/09/02 HB, getting rid of any user=junkbust grep junkbust: /etc/passwd >/dev/null && userdel junkbust || /bin/true %preun if [ "$1" = "0" ]; then - /sbin/service junkbuster stop > /dev/null 2>&1 ||: - /sbin/chkconfig --del junkbuster + /sbin/service %{name} stop > /dev/null 2>&1 ||: + /sbin/chkconfig --del %{name} fi %postun #if [ "$1" -ge "1" ]; then -# /sbin/service junkbuster condrestart > /dev/null 2>&1 +# /sbin/service %{name} condrestart > /dev/null 2>&1 #fi %clean -[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT +[ "%{buildroot}" != "/" ] && rm -rf %{buildroot} %files -%defattr(-,root,root) -%doc README.gz AUTHORS.gz ChangeLog.gz -%doc doc/webserver/developer-manual doc/webserver/user-manual -%doc doc/webserver/user-manual -#%doc junkbuster.weekly junkbuster.monthly AUTHORS -%dir %{ijbconf} -%config %{ijbconf}/* -%attr(0744,junkbuster,junkbuster) %dir /var/log/junkbuster -%config %{_sysconfdir}/logrotate.d/junkbuster -%attr(0744,junkbuster,junkbuster)/usr/sbin/junkbuster -%{_mandir}/man8/* -%config %{_sysconfdir}/rc.d/init.d/junkbuster +%defattr(0644,root,root,0755) +%doc README AUTHORS ChangeLog +# Where are the webserver/{developer,user}-manual files ? +%doc doc/text/developer-manual.txt doc/text/user-manual.txt +#%doc %{name}.weekly %{name}.monthly AUTHORS +%dir %{ijbconf} +%dir %{ijbconf}/templates +%attr(0744,%{name},%{name}) %dir %{_localstatedir}/log/%{name} + +%attr(0744,%{name},%{name})%{_sbindir}/%{name} + +# We should not use wildchars here. This could mask missing files problems +# -- morcego +%config %{ijbconf}/config +%config %{ijbconf}/ijb-advanced.action +%config %{ijbconf}/ijb-basic.action +%config %{ijbconf}/ijb-intermediate.action +%config %{ijbconf}/ijb.action +%config %{ijbconf}/re_filterfile +%config %{ijbconf}/trust + +%config %{ijbconf}/templates/blocked +%config %{ijbconf}/templates/blocked-compact +%config %{ijbconf}/templates/cgi-error-404 +%config %{ijbconf}/templates/cgi-error-bad-param +%config %{ijbconf}/templates/cgi-error-disabled +%config %{ijbconf}/templates/cgi-error-file +%config %{ijbconf}/templates/cgi-error-modified +%config %{ijbconf}/templates/cgi-error-parse +%config %{ijbconf}/templates/connect-failed +%config %{ijbconf}/templates/default +%config %{ijbconf}/templates/edit-actions-add-url-form +%config %{ijbconf}/templates/edit-actions-for-url +%config %{ijbconf}/templates/edit-actions-list +%config %{ijbconf}/templates/edit-actions-list-section +%config %{ijbconf}/templates/edit-actions-list-url +%config %{ijbconf}/templates/edit-actions-remove-url-form +%config %{ijbconf}/templates/edit-actions-url-form +%config %{ijbconf}/templates/no-such-domain +%config %{ijbconf}/templates/show-request +%config %{ijbconf}/templates/show-status +%config %{ijbconf}/templates/show-status-file +%config %{ijbconf}/templates/show-url-info +%config %{ijbconf}/templates/show-version +%config %{ijbconf}/templates/toggle +%config %{ijbconf}/templates/toggle-mini +%config %{ijbconf}/templates/untrusted + +%config %{_sysconfdir}/logrotate.d/%{name} +%config %{_sysconfdir}/rc.d/init.d/%{name} + +%{_mandir}/man8/%{name}.8* %changelog +* Mon Mar 04 2002 Rodrigo Barbosa ++ junkbuster-2.9.11-2 +- General specfile fixup, using the best recomended practices, including: + - Adding -q to %%setup + - Using macros whereever possible + - Not using wildchars on %%files section + - Doubling the percentage char on changelog and comments, to + avoid rpm expanding them + + * Sun Mar 03 2002 Hal Burgiss - /bin/false for shell causes init script to fail. Reverting. @@ -240,7 +308,7 @@ fi RPM_OPT_FLAGS kludge. * Fri Dec 28 2001 Thomas Steudten -- add paranoia check for 'rm -rf $RPM_BUILD_ROOT' +- add paranoia check for 'rm -rf %%{buildroot}' - add gzip to 'BuildRequires' * Sat Dec 1 2001 Hal Burgiss @@ -329,7 +397,7 @@ fi a non-root user (mathias@weidner.sem.lipsia.de). * Sun Jan 31 1999 Stefan Waldherr - /var/log/junkbuster set to nobody. Added /etc/junkbuster/imagelist + %%{_localstatedir}/log/junkbuster set to nobody. Added /etc/junkbuster/imagelist to allow more sophisticated matching of blocked images. Logrotate logfile. Added files for auto-updating the blocklist et al. @@ -337,7 +405,7 @@ fi Configure blank version via config file. No separate blank version anymore. Added Roland's patch to show a logo instead of a blank area. Added a suggestion - from Alex : /var/lock/subsys/junkbuster. + from Alex : %%{_localstatedir}/lock/subsys/junkbuster. More regexps in the blocklist. Prepared the forwardfile for squid. Extended image regexp with help from gabriel . -- 2.39.2