Adding myself to the contributors list :-)
[privoxy.git] / junkbuster-rh.spec
index ae93128..eb4dace 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: junkbuster-rh.spec,v 1.4 2001/06/08 20:54:18 swa 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
 # 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.
+#
+# Revision 1.27  2002/01/09 18:32:02  hal9
+# Removed RPM_OPT_FLAGS kludge.
+#
+# Revision 1.26  2002/01/09 18:21:10  hal9
+# A few minor updates.
+#
+# Revision 1.25  2001/12/28 01:45:36  steudten
+# Add paranoia check and BuildReq: gzip
+#
+# Revision 1.24  2001/12/01 21:43:14  hal9
+# Allowed for new ijb.action file.
+#
+# Revision 1.23  2001/11/06 12:09:03  steudten
+# Compress doc files. Install README and AUTHORS at last as document.
+#
+# Revision 1.22  2001/11/05 21:37:34  steudten
+# Fix to include the actual version for name.
+# Let the 'real' packager be included - sorry stefan.
+#
+# Revision 1.21  2001/10/31 19:27:27  swa
+# consistent description. new name for suse since
+# we had troubles with rpms of identical names
+# on the webserver.
+#
+# Revision 1.20  2001/10/24 15:45:49  hal9
+# To keep Thomas happy (aka correcting my  mistakes)
+#
+# Revision 1.19  2001/10/15 03:23:59  hal9
+# Nits.
+#
+# Revision 1.17  2001/10/10 18:59:28  hal9
+# Minor change for init script.
+#
+# Revision 1.16  2001/09/24 20:56:23  hal9
+# Minor changes.
+#
+# Revision 1.13  2001/09/10 17:44:43  swa
+# integrate three pieces of documentation. needs work.
+# will not build cleanly under redhat.
+#
+# Revision 1.12  2001/09/10 16:25:04  swa
+# copy all templates. version updated.
+#
+# Revision 1.11  2001/07/03 11:00:25  sarantis
+# replaced permissionsfile with actionsfile
+#
+# Revision 1.10  2001/07/03 09:34:44  sarantis
+# bumped up version number.
+#
+# Revision 1.9  2001/06/12 18:15:29  swa
+# 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.
+#
+# Revision 1.7  2001/06/11 12:17:26  sarantis
+# fix typo in %%post
+#
+# Revision 1.6  2001/06/11 11:28:25  sarantis
+# Further optimizations and adaptations in the spec file.
+#
+# Revision 1.5  2001/06/09 09:14:11  swa
+# shamelessly adapted RPM stuff from the newest rpm that
+# RedHat provided for the JB.
+#
 # Revision 1.4  2001/06/08 20:54:18  swa
 # type with status file. remove forward et. al from file list.
 #
 #
 #
 #
-%define PACKAGE_NAME junkbuster
-%define PACKAGE_URL http://ijbswa.sourceforge.net
+
+# Defines should happen in the begining of the file
+%define ijbconf %{_sysconfdir}/%{name}
+
 Summary: The Internet Junkbuster
 Vendor: http://ijbswa.sourceforge.net
-Name: %PACKAGE_NAME
-Version: 2.9
-Release: 4
-Source0: http://www.waldherr.org/junkbuster/ijbswa.tar.gz
-Copyright: GPL
-BuildRoot: %{_tmppath}/%{name}-root
+Name: junkbuster
+Version: 2.9.11
+Release: 2
+Source0: http://www.waldherr.org/%{name}/ijbswa-%{version}.tar.gz
+License: GPL
+BuildRoot: %{_tmppath}/%{name}-%{version}-root
 Group: Networking/Utilities
-URL: %PACKAGE_URL
-Packager: Stefan Waldherr <stefan@waldherr.org>
-Distribution: defineme
+URL: http://ijbswa.sourceforge.net/
 Obsoletes: junkbuster-raw junkbuster-blank
 Prereq: /usr/sbin/useradd , /sbin/chkconfig , /sbin/service 
+BuildRequires: perl gzip
 Conflicts: junkbuster-raw junkbuster-blank
 
-#
-# -----------------------------------------------------------------------------
-#
 %description
-The Internet Junkbuster stops your browser from displaying the
-advertisement images that pervade many commercial web pages.  Since
-your browser has to download fewer images, surfing the web should be
-faster.
+Internet Junkbuster is a web proxy with advanced filtering
+capabilities for protecting privacy, filtering web page content,
+managing cookies, controlling access, and removing ads, banners,
+pop-ups and other obnoxious Internet Junk. Junkbuster has a very
+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.
 
-#
-# -----------------------------------------------------------------------------
-#
 %prep
+%setup -q -c -n ijbswa
 
-#
-# -----------------------------------------------------------------------------
-#
-
-# 
-%setup -c -n ijbswa
-
-#
-# -----------------------------------------------------------------------------
-#
 %build
-#export DISTNAME='\"%PACKAGE_NAME-%PACKAGE_VERSION-%PACKAGE_RELEASE\"'
-#export DISTURL='\"%PACKAGE_URL\"'
-#make MORE_CFLAGS="$RPM_OPT_FLAGS"' -D_DISTNAME="$(DISTNAME)" -D_DISTURL="$(DISTURL)"'
-# adds 486 optimization and stuff => bad
-#make MORE_CFLAGS=' -D_DISTNAME="DDD" -D_DISTURL="UUU"'
-./configure
-make
-strip junkbuster
+%configure
+make 
+
+## 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 -u 73 -r junkbust > /dev/null 2>&1 || /bin/true
+/usr/sbin/useradd -d /etc/%{name} -r %{name} -s "" > /dev/null 2>&1 || /bin/true
 
-#
-# -----------------------------------------------------------------------------
-#
 %install
-rm -rf $RPM_BUILD_ROOT
-mkdir -p $RPM_BUILD_ROOT/var/log/junkbuster \
-       $RPM_BUILD_ROOT%{_sbindir} \
-       $RPM_BUILD_ROOT%{_mandir}/man8 \
-       $RPM_BUILD_ROOT/etc/{junkbuster,junkbuster/templates,logrotate.d,cron.weekly,cron.monthly,rc.d/init.d}
-install -s -m 744 junkbuster $RPM_BUILD_ROOT/usr/sbin/junkbuster
-cp -f junkbuster.1 $RPM_BUILD_ROOT%{_mandir}/man8/junkbuster.8
-cp -f permissionsfile $RPM_BUILD_ROOT/etc/junkbuster/permissionsfile
-cp -f re_filterfile $RPM_BUILD_ROOT/etc/junkbuster/re_filterfile
-# cp -f blocklist $RPM_BUILD_ROOT/etc/junkbuster/blocklist
-# cp -f imagelist $RPM_BUILD_ROOT/etc/junkbuster/imagelist
-# cp -f cookiefile $RPM_BUILD_ROOT/etc/junkbuster/cookiefile
-#cp -f aclfile $RPM_BUILD_ROOT/etc/junkbuster/aclfile
+[ "%{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/etc/junkbuster/config
-#cp -f forward $RPM_BUILD_ROOT/etc/junkbuster/forward
-cp -f trust $RPM_BUILD_ROOT/etc/junkbuster/trust
-# cp -f popup $RPM_BUILD_ROOT/etc/junkbuster/popup
-cp -f templates/default $RPM_BUILD_ROOT/etc/junkbuster/templates/
-cp -f templates/show-status  $RPM_BUILD_ROOT/etc/junkbuster/templates/
-cp -f templates/show-status-file  $RPM_BUILD_ROOT/etc/junkbuster/templates/
-cp -f junkbuster.logrotate $RPM_BUILD_ROOT/etc/logrotate.d/junkbuster
-install -m 755 junkbuster.init $RPM_BUILD_ROOT/etc/rc.d/init.d/junkbuster
-install -m 744 -d $RPM_BUILD_ROOT/var/log/junkbuster
-
-#
-# -----------------------------------------------------------------------------
-#
+    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 >\
+    %{buildroot}%{ijbconf}/ijb.action
+
+## Macros are expanded even on commentaries. So, we have to use %%
+## -- morcego
+#%%makeinstall
+
+%post
+# for upgrade from 2.0.x
+[ -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 %{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
-fi
+#if [ "$1" -ge "1" ]; then
+#      /sbin/service %{name} condrestart > /dev/null 2>&1
+#fi
 
-#
-# -----------------------------------------------------------------------------
-#
-%post
-/sbin/chkconfig --add junkbuster
-
-#
-# -----------------------------------------------------------------------------
-#
 %clean
-rm -rf $RPM_BUILD_ROOT
+[ "%{buildroot}" != "/" ] && rm -rf %{buildroot}
 
-#
-# -----------------------------------------------------------------------------
-#
 %files
-%defattr(-,root,root)
-# %doc ijbfaq.html ijbman.html README README.TOO gpl.html 
-%doc junkbuster.weekly junkbuster.monthly
-%dir /etc/junkbuster
-%config /etc/junkbuster/config
-%config /etc/junkbuster/permissionsfile
-%config /etc/junkbuster/re_filterfile
-%config /etc/junkbuster/trust
-%dir /etc/junkbuster/templates
-%config /etc/junkbuster/templates/default
-%config /etc/junkbuster/templates/show-status
-%config /etc/junkbuster/templates/show-status-file
-%attr(0744,junkbust,junkbust) %dir /var/log/junkbuster
-%config /etc/logrotate.d/junkbuster
-%attr(0744,junkbust,junkbust)/usr/sbin/junkbuster
-%{_mandir}/*/*
-%config /etc/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.
+
+* Wed Jan 09 2002 Hal Burgiss <hal@foobox.net>
+- Removed UID 73. Included user-manual and developer-manual in docs.
+  Include other actions files. Default shell is now /bin/false.
+  Userdel user=junkbust. ChangeLog was not zipped. Removed 
+  RPM_OPT_FLAGS kludge.
+
+* Fri Dec 28 2001 Thomas Steudten <thomas@steudten.ch>
+- add paranoia check for 'rm -rf %%{buildroot}'
+- add gzip to 'BuildRequires'
+
+* Sat Dec  1 2001 Hal Burgiss <hal@foobox.net>
+- actionsfile is now ijb.action.
+
+* Tue Nov  6 2001 Thomas Steudten <thomas@steudten.ch>
+- Compress manpage
+- Add more documents for installation
+- Add version string to name and source
+
+* Wed Oct 24 2001 Hal Burigss <hal@foobox.net>
+- Back to user 'junkbuster' and fix configure macro.
+
+* Wed Oct 10 2001 Hal Burigss <hal@foobox.net>
+- More changes for user 'junkbust'. Init script had 'junkbuster'.
+
+* Sun Sep 23 2001 Hal Burgiss <hal@foobox.net>
+- Change of $RPM_OPT_FLAGS handling. Added new HTML doc files.
+- Changed owner of /etc/junkbuster to shut up PAM/xauth log noise.
+
+* Thu Sep 13 2001 Hal Burgiss <hal@foobox.net>
+- Added $RPM_OPT_FLAGS support, renaming of old logfile, and 
+- made sure no default shell exists for user junkbust.
 
 * Sun Jun  3 2001 Stefan Waldherr <stefan@waldherr.org>
 - rework of RPM
@@ -261,7 +397,7 @@ rm -rf $RPM_BUILD_ROOT
         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.
 
@@ -269,7 +405,7 @@ rm -rf $RPM_BUILD_ROOT
        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>.