General cleanup of the rh specfile.
authormorcego <morcego@users.sourceforge.net>
Mon, 4 Mar 2002 16:18:03 +0000 (16:18 +0000)
committermorcego <morcego@users.sourceforge.net>
Mon, 4 Mar 2002 16:18:03 +0000 (16:18 +0000)
%changelog
* Mon Mar 04 2002 Rodrigo Barbosa <rodrigob@tisbrasil.com.br>
+ 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

index b05d8db..eb4dace 100644 (file)
@@ -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.
 #
 # 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.
 #
 #
 #
+
+# 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 <rodrigob@tisbrasil.com.br>
++ 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 <hal@foobox.net>
 - /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 <thomas@steudten.ch>
-- 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 <hal@foobox.net>
@@ -329,7 +397,7 @@ fi
         a non-root user (mathias@weidner.sem.lipsia.de).
 
 * Sun Jan 31 1999 Stefan Waldherr <stefan@waldherr.org>
-       /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 <roland@spinnaker.rhein.de>
        patch to show a logo instead of a blank area. Added a suggestion
-       from Alex <alex@cocoa.demon.co.uk>: /var/lock/subsys/junkbuster.
+       from Alex <alex@cocoa.demon.co.uk>: %%{_localstatedir}/lock/subsys/junkbuster.
        More regexps in the blocklist. Prepared the forwardfile for
        squid. Extended image regexp with help from gabriel 
        <somlo@CS.ColoState.EDU>.