-# $Id: junkbuster-rh.spec,v 1.11 2001/07/03 11:00:25 sarantis Exp $
+# $Id: junkbuster-rh.spec,v 1.32 2002/03/05 12:34:24 morcego 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.32 2002/03/05 12:34:24 morcego
+# - Changing section internaly on the manpage from 1 to 8
+# - We now require packages, not files, to avoid issues with apt
+#
+# Revision 1.31 2002/03/04 18:06:09 morcego
+# SPECFILE: fixing permissing of the init script (broken by the last change)
+#
+# Revision 1.30 2002/03/04 16:18:03 morcego
+# General cleanup of the rh specfile.
+#
+# %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
+#
+# 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
#
# 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.8
-Release: 1
-Source0: http://www.waldherr.org/junkbuster/ijbswa.tar.gz
-Copyright: GPL
-BuildRoot: %{_tmppath}/%{name}-root
+Version: 2.9.11
+Release: 5
+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/
-Packager: Stefan Waldherr <stefan@waldherr.org>
Obsoletes: junkbuster-raw junkbuster-blank
-Prereq: /usr/sbin/useradd , /sbin/chkconfig , /sbin/service
+# Prereq: /usr/sbin/useradd , /sbin/chkconfig , /sbin/service
+Prereq: shadow-utils, chkconfig, initscripts
+BuildRequires: perl gzip sed docbook-utils
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.
-
-%define ijbconf %{_sysconfdir}/junkbuster
+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 -c -n ijbswa
+%setup -q -c -n ijbswa
%build
-./configure
-make
-strip junkbuster
+%configure
+make
+make redhat-dok
+
+## 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}%{_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
-
-install -s -m 744 junkbuster $RPM_BUILD_ROOT%{_sbindir}/junkbuster
-cp -f junkbuster.1 $RPM_BUILD_ROOT%{_mandir}/man8/junkbuster.8
-cp -f actionsfile $RPM_BUILD_ROOT%{ijbconf}/actionsfile
-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 744 -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}
+
+## We need to change the man section internaly on the manpage
+## -- morcego (sugestion by Hal Burgiss)
+#cp -f %{name}.1 %{buildroot}%{_mandir}/man8/%{name}.8
+sed -e 's@^.TH JUNKBUSTER 1@.TH JUNKBUSTER 8@g' %{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 >\
+ %{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 junkbuster
+ /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
%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
+%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 doc/webserver/developer-manual
+%doc doc/webserver/user-manual
+#%doc %{name}.weekly %{name}.monthly AUTHORS
+
%dir %{ijbconf}
-%config %{ijbconf}/*
-%attr(0744,junkbust,junkbust) %dir /var/log/junkbuster
-%config %{_sysconfdir}/logrotate.d/junkbuster
-%attr(0744,junkbust,junkbust)/usr/sbin/junkbuster
-%{_mandir}/man8/*
-%config %{_sysconfdir}/rc.d/init.d/junkbuster
+%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 %attr(0744,root,root) %{_sysconfdir}/rc.d/init.d/%{name}
+
+%{_mandir}/man8/%{name}.8*
%changelog
+* Tue Mar 05 2002 Rodrigo Barbosa <rodrigob@tisbrasil.com.br>
++ junkbuster-2.9.11-5
+- Added "make redhat-dok" to the build process
+- Added docbook-utils to BuildRequires
+
+* Tue Mar 05 2002 Rodrigo Barbosa <rodrigob@tisbrasil.com.br>
++ junkbuster-2.9.11-4
+- Changing man section in the manpage from 1 to 8
+- We now require packages, not files, to avoid issues with apt
+
+* Mon Mar 04 2002 Rodrigo Barbosa <rodrigob@tisbrasil.com.br>
++ junkbuster-2.9.11-3
+- Fixing permissions of the init script
+
+* 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
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.
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>.