3ea25d442923ffc9cf0074700a2f78793f9bd1ab
[privoxy.git] / junkbuster-rh.spec
1 # $Id: junkbuster-rh.spec,v 1.26 2002/01/09 18:21:10 hal9 Exp $
2 #
3 # Written by and Copyright (C) 2001 the SourceForge
4 # IJBSWA team.  http://ijbswa.sourceforge.net
5 #
6 # Based on the Internet Junkbuster originally written
7 # by and Copyright (C) 1997 Anonymous Coders and 
8 # Junkbusters Corporation.  http://www.junkbusters.com
9 #
10 # This program is free software; you can redistribute it 
11 # and/or modify it under the terms of the GNU General
12 # Public License as published by the Free Software
13 # Foundation; either version 2 of the License, or (at
14 # your option) any later version.
15 #
16 # This program is distributed in the hope that it will
17 # be useful, but WITHOUT ANY WARRANTY; without even the
18 # implied warranty of MERCHANTABILITY or FITNESS FOR A
19 # PARTICULAR PURPOSE.  See the GNU General Public
20 # License for more details.
21 #
22 # The GNU General Public License should be included with
23 # this file.  If not, you can view it at
24 # http://www.gnu.org/copyleft/gpl.html
25 # or write to the Free Software Foundation, Inc., 59
26 # Temple Place - Suite 330, Boston, MA  02111-1307, USA.
27 #
28 # $Log: junkbuster-rh.spec,v $
29 # Revision 1.26  2002/01/09 18:21:10  hal9
30 # A few minor updates.
31 #
32 # Revision 1.25  2001/12/28 01:45:36  steudten
33 # Add paranoia check and BuildReq: gzip
34 #
35 # Revision 1.24  2001/12/01 21:43:14  hal9
36 # Allowed for new ijb.action file.
37 #
38 # Revision 1.23  2001/11/06 12:09:03  steudten
39 # Compress doc files. Install README and AUTHORS at last as document.
40 #
41 # Revision 1.22  2001/11/05 21:37:34  steudten
42 # Fix to include the actual version for name.
43 # Let the 'real' packager be included - sorry stefan.
44 #
45 # Revision 1.21  2001/10/31 19:27:27  swa
46 # consistent description. new name for suse since
47 # we had troubles with rpms of identical names
48 # on the webserver.
49 #
50 # Revision 1.20  2001/10/24 15:45:49  hal9
51 # To keep Thomas happy (aka correcting my  mistakes)
52 #
53 # Revision 1.19  2001/10/15 03:23:59  hal9
54 # Nits.
55 #
56 # Revision 1.17  2001/10/10 18:59:28  hal9
57 # Minor change for init script.
58 #
59 # Revision 1.16  2001/09/24 20:56:23  hal9
60 # Minor changes.
61 #
62 # Revision 1.13  2001/09/10 17:44:43  swa
63 # integrate three pieces of documentation. needs work.
64 # will not build cleanly under redhat.
65 #
66 # Revision 1.12  2001/09/10 16:25:04  swa
67 # copy all templates. version updated.
68 #
69 # Revision 1.11  2001/07/03 11:00:25  sarantis
70 # replaced permissionsfile with actionsfile
71 #
72 # Revision 1.10  2001/07/03 09:34:44  sarantis
73 # bumped up version number.
74 #
75 # Revision 1.9  2001/06/12 18:15:29  swa
76 # the % in front of configure (see tag below) confused
77 # the rpm build process on 7.1.
78 #
79 # Revision 1.8  2001/06/12 17:15:56  swa
80 # fixes, because a clean build on rh6.1 was impossible.
81 # GZIP confuses make, % configure confuses rpm, etc.
82 #
83 # Revision 1.7  2001/06/11 12:17:26  sarantis
84 # fix typo in %post
85 #
86 # Revision 1.6  2001/06/11 11:28:25  sarantis
87 # Further optimizations and adaptations in the spec file.
88 #
89 # Revision 1.5  2001/06/09 09:14:11  swa
90 # shamelessly adapted RPM stuff from the newest rpm that
91 # RedHat provided for the JB.
92 #
93 # Revision 1.4  2001/06/08 20:54:18  swa
94 # type with status file. remove forward et. al from file list.
95 #
96 # Revision 1.3  2001/06/07 17:28:10  swa
97 # cosmetics
98 #
99 # Revision 1.2  2001/06/04 18:31:58  swa
100 # files are now prefixed with either `confdir' or `logdir'.
101 # `make redhat-dist' replaces both entries confdir and logdir
102 # with redhat values
103 #
104 # Revision 1.1  2001/06/04 10:44:57  swa
105 # `make redhatr-dist' now works. Except for the paths
106 # in the config file.
107 #
108 #
109 #
110 Summary: The Internet Junkbuster
111 Vendor: http://ijbswa.sourceforge.net
112 Name: junkbuster
113 Version: 2.9.10
114 Release: 2
115 Source0: http://www.waldherr.org/junkbuster/ijbswa-%{version}.tar.gz
116 Copyright: GPL
117 BuildRoot: %{_tmppath}/%{name}-%{version}-root
118 Group: Networking/Utilities
119 URL: http://ijbswa.sourceforge.net/
120 Obsoletes: junkbuster-raw junkbuster-blank
121 Prereq: /usr/sbin/useradd , /sbin/chkconfig , /sbin/service 
122 BuildRequires: perl gzip
123 Conflicts: junkbuster-raw junkbuster-blank
124
125 %description
126 Internet Junkbuster is a web proxy with advanced filtering
127 capabilities for protecting privacy, filtering web page content,
128 managing cookies, controlling access, and removing ads, banners,
129 pop-ups and other obnoxious Internet Junk. Junkbuster has a very
130 flexible configuration and can be customized to suit individual needs
131 and tastes. Internet Junkbuster has application for both stand-alone
132 systems and multi-user networks.
133
134 %define ijbconf %{_sysconfdir}/junkbuster
135
136 %prep
137 %setup -c -n ijbswa
138
139 %build
140 %configure
141 make 
142 # strip junkbuster
143
144 %pre
145 /usr/sbin/useradd -d /etc/junkbuster -r junkbuster -s "/bin/false" > /dev/null 2>&1 || /bin/true
146
147 %install
148 [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT
149 mkdir -p ${RPM_BUILD_ROOT}%{_sbindir} \
150          ${RPM_BUILD_ROOT}%{_mandir}/man8 \
151          ${RPM_BUILD_ROOT}/var/log/junkbuster \
152          ${RPM_BUILD_ROOT}%{ijbconf}/templates \
153          ${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d \
154          ${RPM_BUILD_ROOT}%{_sysconfdir}/rc.d/init.d 
155
156 gzip README AUTHORS ChangeLog junkbuster.1 || /bin/true
157 install -s -m 744 junkbuster $RPM_BUILD_ROOT%{_sbindir}/junkbuster
158 cp -f junkbuster.1.gz $RPM_BUILD_ROOT%{_mandir}/man8/junkbuster.8.gz
159 cp -f *.action $RPM_BUILD_ROOT%{ijbconf}/
160 cp -f re_filterfile $RPM_BUILD_ROOT%{ijbconf}/re_filterfile
161 cp -f trust $RPM_BUILD_ROOT%{ijbconf}/trust
162 cp -f templates/*  $RPM_BUILD_ROOT%{ijbconf}/templates/
163 cp -f junkbuster.logrotate $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/junkbuster
164 install -m 755 junkbuster.init $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/init.d/junkbuster
165 install -m 711 -d $RPM_BUILD_ROOT/var/log/junkbuster
166
167 # verify all file locations, etc. in the config file
168 # don't start with ^ or commented lines are not replaced
169 cat config | \
170     sed 's/^confdir.*/confdir \/etc\/junkbuster/g' | \
171 #    sed 's/^permissionsfile.*/permissionsfile \/etc\/junkbuster\/permissionsfile/g' | \
172 #    sed 's/^re_filterfile.*/re_filterfile \/etc\/junkbuster\/re_filterfile/g' | \
173 #    sed 's/^logfile.*/logfile \/var\/log\/junkbuster\/logfile/g' | \
174 #    sed 's/^jarfile.*/jarfile \/var\/log\/junkbuster\/jarfile/g' | \
175 #    sed 's/^forward.*/forward \/etc\/junkbuster\/forward/g' | \
176 #    sed 's/^aclfile.*/aclfile \/etc\/junkbuster\/aclfile/g' > \
177     sed 's/^logdir.*/logdir \/var\/log\/junkbuster/g' > \
178     $RPM_BUILD_ROOT%{ijbconf}/config
179 perl -pe 's/{-no-cookies}/{-no-cookies}\n\.redhat.com/' ijb.action >\
180     $RPM_BUILD_ROOT%{ijbconf}/ijb.action
181
182 %post
183 # for upgrade from 2.0.x
184 [ -f /var/log/junkbuster/junkbuster ] &&\
185  mv -f /var/log/junkbuster/junkbuster /var/log/junkbuster/logfile || /bin/true
186 chown -R junkbuster:junkbuster /var/log/junkbuster 2>/dev/null
187 chown -R junkbuster:junkbuster /etc/junkbuster 2>/dev/null
188 if [ "$1" = "1" ]; then
189      /sbin/chkconfig --add junkbuster
190         /sbin/service junkbuster condrestart > /dev/null 2>&1
191 fi
192 # 01/09/02 HB, getting rid of any user=junkbust
193 grep junkbust: /etc/passwd >/dev/null && userdel junkbust || /bin/true
194
195 %preun
196 if [ "$1" = "0" ]; then
197         /sbin/service junkbuster stop > /dev/null 2>&1 ||:
198         /sbin/chkconfig --del junkbuster
199 fi
200
201 %postun
202 #if [ "$1" -ge "1" ]; then
203 #       /sbin/service junkbuster condrestart > /dev/null 2>&1
204 #fi
205
206 %clean
207 [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT
208
209 %files
210 %defattr(-,root,root)
211 %doc README.gz AUTHORS.gz ChangeLog.gz
212 %doc doc/webserver/developer-manual doc/webserver/user-manual
213 %doc doc/webserver/user-manual
214 #%doc junkbuster.weekly junkbuster.monthly AUTHORS
215 %dir %{ijbconf}
216 %config %{ijbconf}/*
217 %attr(0744,junkbuster,junkbuster) %dir /var/log/junkbuster
218 %config %{_sysconfdir}/logrotate.d/junkbuster
219 %attr(0744,junkbuster,junkbuster)/usr/sbin/junkbuster
220 %{_mandir}/man8/*
221 %config %{_sysconfdir}/rc.d/init.d/junkbuster
222
223
224 %changelog
225 * Wed Jan 09 2002 Hal Burgiss <hal@foobox.net>
226 - Removed UID 73. Included user-manual and developer-manual in docs.
227   Include other actions files. Default shell is now /bin/false.
228   Userdel user=junkbust. ChangeLog was not zipped. Removed 
229   RPM_OPT_FLAGS kludge.
230
231 * Fri Dec 28 2001 Thomas Steudten <thomas@steudten.ch>
232 - add paranoia check for 'rm -rf $RPM_BUILD_ROOT'
233 - add gzip to 'BuildRequires'
234
235 * Sat Dec  1 2001 Hal Burgiss <hal@foobox.net>
236 - actionsfile is now ijb.action.
237
238 * Tue Nov  6 2001 Thomas Steudten <thomas@steudten.ch>
239 - Compress manpage
240 - Add more documents for installation
241 - Add version string to name and source
242
243 * Wed Oct 24 2001 Hal Burigss <hal@foobox.net>
244 - Back to user 'junkbuster' and fix configure macro.
245
246 * Wed Oct 10 2001 Hal Burigss <hal@foobox.net>
247 - More changes for user 'junkbust'. Init script had 'junkbuster'.
248
249 * Sun Sep 23 2001 Hal Burgiss <hal@foobox.net>
250 - Change of $RPM_OPT_FLAGS handling. Added new HTML doc files.
251 - Changed owner of /etc/junkbuster to shut up PAM/xauth log noise.
252
253 * Thu Sep 13 2001 Hal Burgiss <hal@foobox.net>
254 - Added $RPM_OPT_FLAGS support, renaming of old logfile, and 
255 - made sure no default shell exists for user junkbust.
256
257 * Sun Jun  3 2001 Stefan Waldherr <stefan@waldherr.org>
258 - rework of RPM
259
260 * Mon Sep 25 2000 Stefan Waldherr <stefan@waldherr.org>
261 - CLF Logging patch by davep@cyw.uklinux.net
262 - Hal DeVore <haldevore@earthling.net> fix akamaitech in blocklist
263
264 * Sun Sep 17 2000 Stefan Waldherr <stefan@waldherr.org>
265 - Steve Kemp skx@tardis.ed.ac.uk's javascript popup patch.
266 - Markus Breitenbach breitenb@rbg.informatik.tu-darmstadt.de supplied
267   numerous fixes and enhancements for Steve's patch.
268 - adamlock@netscape.com (Adam Lock) in the windows version:
269   - Taskbar activity spinner always spins even when logging is
270   turned off (which is the default) - people who don't
271   like the spinner can turn it off from a menu option.
272   - Taskbar popup menu has a options submenu - people can now
273   open the settings files for cookies, blockers etc.
274   without opening the JB window.
275   - Logging functionality works again
276   - Buffer overflow is fixed - new code uses a bigger buffer
277   and snprintf so it shouldn't overflow anymore.
278 - Fixed userid swa, group learning problem while installing.
279   root must build RPM.
280 - Added patch by Benjamin Low <ben@snrc.uow.edu.au> that prevents JB to
281   core dump when there is no log file.
282 - Tweaked SuSE startup with the help of mohataj@gmx.net and Doc.B@gmx.de.
283 - Fixed man page to include imagefile and popupfile.
284 - Sanity check for the statistics function added.
285 - "Patrick D'Cruze" <pdcruze@orac.iinet.net.au>: It seems Microsoft
286  are transitioning Hotmail from FreeBSD/Apache to Windows 2000/IIS.
287  With IIS/5, it appears to omit the trailing \r\n from http header
288  only messages.  eg, when I visit http://www.hotmail.com, IIS/5
289  responds with a HTTP 302 redirect header.  However, this header
290  message is missing the trailing \r\n.  IIS/5 then closes the
291  connection.  Junkbuster, unfortunately, discards the header becomes
292  it thinks it is incomplete - and it is.  MS have transmitted an
293  incomplete header!
294 - Added bug reports and patch submission forms in the docs.
295
296 * Mon Mar 20 2000 Stefan Waldherr <stefan@waldherr.org>
297        Andrew <anw@tirana.freewire.co.uk> extended the JB:
298        Display of statistics of the total number of requests and the number
299        of requests filtered by junkbuster, also the percentage of requests
300        filtered. Suppression of the listing of files on the proxy-args page.
301        All stuff optional and configurable.
302
303 * Sun Sep 12 1999 Stefan Waldherr <stefan@waldherr.org>
304        Jan Willamowius (jan@janhh.shnet.org) fixed a bug in the 
305        code which prevented the JB from handling URLs of the form
306        user:password@www.foo.com. Fixed.
307
308 * Mon Aug  2 1999 Stefan Waldherr <stefan@waldherr.org>
309         Blank images are no longer cached, thanks to a hint from Markus 
310         Breitenbach <breitenb@rbg.informatik.tu-darmstadt.de>. The user 
311         agent is NO longer set by the Junkbuster. Sadly, many sites depend 
312         on the correct browser version nowadays. Incorporated many 
313         suggestions from Jan "Yenya" Kasprzak <kas@fi.muni.cz> for the
314         spec file. Fixed logging problem and since runlevel 2 does not 
315         use networking, I replaced /etc/rc.d/rc2.d/S84junkbuster with
316         /etc/rc.d/rc2.d/K09junkbuster thanks to Shaw Walker 
317         <walker@netgate.net>. You should now be able to build this RPM as 
318         a non-root user (mathias@weidner.sem.lipsia.de).
319
320 * Sun Jan 31 1999 Stefan Waldherr <stefan@waldherr.org>
321         /var/log/junkbuster set to nobody. Added /etc/junkbuster/imagelist
322         to allow more sophisticated matching of blocked images. Logrotate
323         logfile. Added files for auto-updating the blocklist et al.
324
325 * Wed Dec 16 1998 Stefan Waldherr <stefan@waldherr.org>
326         Configure blank version via config file. No separate blank
327         version anymore. Added Roland's <roland@spinnaker.rhein.de>
328         patch to show a logo instead of a blank area. Added a suggestion
329         from Alex <alex@cocoa.demon.co.uk>: /var/lock/subsys/junkbuster.
330         More regexps in the blocklist. Prepared the forwardfile for
331         squid. Extended image regexp with help from gabriel 
332         <somlo@CS.ColoState.EDU>.
333
334 * Thu Nov 19 1998 Stefan Waldherr <stefan@waldherr.org>
335         All RPMs now identify themselves in the show-proxy-args page.
336         Released Windoze version. Run junkbuster as nobody instead of
337         root. 
338
339 * Fri Oct 30 1998 Stefan Waldherr <stefan@waldherr.org>
340         Newest version. First release (hence the little version number
341         mixture -- 2.0.2-0 instead of 2.0-7). This version tightens 
342         security over 2.0.1; some multi-user sites will need to change 
343         the listen-address in the configuration file. The blank version of
344         the Internet Junkbuster has a more sophisticated way of replacing
345         images. All RPMs identify themselves in the show-proxy-args page.
346
347 * Thu Sep 23 1998 Stefan Waldherr <stefan@waldherr.org>
348         Modified the blocking feature, so that only GIFs and JPEGs are
349         blocked and replaced but not HTML pages. Thanks to 
350         "Gerd Flender" <plgerd@informatik.uni-siegen.de> for this nice
351         idea. Added numerous stuff to the blocklist. Keep patches in
352         seperate files and no longer in diffs (easier to maintain).
353
354 * Tue Jun 16 1998 Stefan Waldherr <swa@cs.cmu.edu>
355         Moved config files to /etc/junkbuster directory, moved man page,
356         added BuildRoot directive (Thanks to Alexey Nogin <ayn2@cornell.edu>)
357         Made new version junkbuster-raw (which is only a stripped version of 
358         the junkuster rpm, i.e. without my blocklist, etc.)
359
360 * Tue Jun 16 1998 (2.0-1)
361         Uhm, not that much. Just a new junkbuster version that
362         fixes a couple of bugs ... and of course a bigger 
363         blocklist with the unique Now-less-ads-than-ever(SM)
364         feature.
365         Oh, one thing: I changed the default user agent to Linux -- no 
366         need anymore to support Apple.
367
368 * Tue Jun 16 1998 (2.0-0)
369         Now-less-ads-than-ever (SM)
370         compiled with gcc instead of cc
371         compiled with -O3, thus it should be a little faster
372         show-proxy-args now works
373         /etc/junkbuster.init wasn't necessary
374
375 * Tue Jun 16 1998 (1.4)
376         some more config files were put into /etc
377         The junkbuster-blank rpm returns a 1x1 pixel image, that gets 
378         displayed by Netscape instead of the blocked image.
379         Read http://www.waldherr.org/junkbuster/ for
380         further info.
381
382 * Tue Jun 16 1998 (1.3)
383         The program has been moved to /usr/sbin (from /usr/local/bin)
384         Init- and stopscripts (/etc/rc.d/rc*) have been added so
385         that the junkbuster starts automatically during bootup.
386         The /etc/blocklist file is much more sophisticated. Theoretically
387         one should e.g. browse all major US and German newspapers without
388         seeing one annoying ad.
389         junkbuster.init was modified. It now starts junkbuster with an
390         additional "-r @" flag.