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