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