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