More updates for multipe actions files, etc.
[privoxy.git] / privoxy-suse.spec
1 # $Id: privoxy-suse.spec,v 1.15 2002/04/16 18:49:07 oes Exp $
2 #
3 # Written by and Copyright (C) 2001 the SourceForge
4 # Privoxy team. http://www.privoxy.org/
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
29 # do not set to %{name}
30 %define privoxyconf %{_sysconfdir}/privoxy
31
32 Summary:      Privoxy - privacy enhancing proxy
33 Vendor:       http://www.privoxy.org
34 Name:         privoxy-suse
35 Distribution: defineme
36 Version: 2.9.14
37 Release: 2
38 # Needs makefile change: Source: http://prdownloads.sourceforge.net/ijbswa/privoxy-%{version}-%{status}-src.tar.gz
39 Source: http://prdownloads.sourceforge.net/ijbswa/privoxy-%{version}.tar.gz
40 # not sure if this works
41 BuildRoot: %{_tmppath}/%{name}-%{version}-root
42 Packager:     Stefan Waldherr <stefan@waldherr.org>
43 License:    GPL
44 Group:        Networking/Utilities
45 URL:          http://www.privoxy.org/
46 Autoreqprov:  on
47 BuildRequires: perl gzip libtool autoconf
48 Conflicts: junkbuster-raw junkbuster-blank junkbuster-suse junkbuster privoxy
49
50 #
51 # -----------------------------------------------------------------------------
52 #
53 %description
54 Privoxy is a web proxy with advanced filtering capabilities for
55 protecting privacy, filtering web page content, managing cookies,
56 controlling access, and removing ads, banners, pop-ups and other
57 obnoxious Internet junk. Privoxy has a very flexible configuration and
58 can be customized to suit individual needs and tastes. Privoxy has 
59 application for both stand-alone systems and multi-user networks.
60
61 Privoxy is based on the  Internet Junkbuster.
62
63 Authors:
64 --------
65     http://www.privoxy.org/
66
67 SuSE series: n
68
69 #
70 # -----------------------------------------------------------------------------
71 #
72 %prep
73 %setup -c
74
75 #
76 # -----------------------------------------------------------------------------
77 #
78 %build
79 autoheader
80 autoconf
81 ./configure --disable-dynamic-pcre
82 make
83
84
85 ## Explicitily stripping is not recomended.
86 ## This is handled altomaticaly by RPM, and can couse troubles if
87 ## anyone wants to build an unstriped version - morcego
88 #strip privoxy
89
90 #
91 # -----------------------------------------------------------------------------
92 #
93 %install
94 [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT
95 mkdir -p ${RPM_BUILD_ROOT}%{_sbindir} \
96          ${RPM_BUILD_ROOT}%{_mandir}/man8 \
97          ${RPM_BUILD_ROOT}/var/log/privoxy \
98          ${RPM_BUILD_ROOT}%{privoxyconf}/templates \
99          ${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d \
100          ${RPM_BUILD_ROOT}%{_sysconfdir}/init.d
101 gzip README AUTHORS ChangeLog privoxy.1 LICENSE || /bin/true
102 install -s -m 744 privoxy $RPM_BUILD_ROOT%{_sbindir}/privoxy
103 cp -f privoxy.1.gz $RPM_BUILD_ROOT%{_mandir}/man8/privoxy.8.gz
104 cp -f *.action $RPM_BUILD_ROOT%{privoxyconf}/
105 cp -f default.filter $RPM_BUILD_ROOT%{privoxyconf}/default.filter
106 cp -f trust $RPM_BUILD_ROOT%{privoxyconf}/trust
107 cp -f templates/*  $RPM_BUILD_ROOT%{privoxyconf}/templates/
108 cp -f privoxy.logrotate $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/privoxy
109 install -m 755 privoxy.init.suse $RPM_BUILD_ROOT%{_sysconfdir}/init.d/privoxy
110 install -m 711 -d $RPM_BUILD_ROOT/var/log/privoxy
111 ln -sf /etc/init.d/privoxy $RPM_BUILD_ROOT/usr/sbin/rcprivoxy
112
113 # verify all file locations, etc. in the config file
114 # don't start with ^ or commented lines are not replaced
115 cat config | \
116     sed 's/^confdir.*/confdir \/etc\/privoxy/g' | \
117 #    sed 's/^permissionsfile.*/permissionsfile \/etc\/privoxy\/permissionsfile/g' | \
118 #    sed 's/^filterfile.*/default.filter \/etc\/privoxy\/default.filter/g' | \
119 #    sed 's/^logfile.*/logfile \/var\/log\/privoxy\/logfile/g' | \
120 #    sed 's/^jarfile.*/jarfile \/var\/log\/privoxy\/jarfile/g' | \
121 #    sed 's/^forward.*/forward \/etc\/privoxy\/forward/g' | \
122 #    sed 's/^aclfile.*/aclfile \/etc\/privoxy\/aclfile/g' > \
123     sed 's/^logdir.*/logdir \/var\/log\/privoxy/g' > \
124     $RPM_BUILD_ROOT%{privoxyconf}/config
125
126 #
127 # -----------------------------------------------------------------------------
128 #
129 %pre
130 # We check to see if the user privoxy exists.
131 # If it does, we do nothing
132 # If we don't, we check to see if the user junkbust exist and, in case it
133 # does, we change it do privoxy. If it also does not exist, we create the
134 # privoxy user -- morcego
135 id privoxy > /dev/null 2>&1 
136 if [ $? -eq 1 ]; then
137         id junkbust > /dev/null 2>&1 
138         if [ $? -eq 0 ]; then
139                 /usr/sbin/usermod -l privoxy -d %{_sysconfdir}/privoxy -s "" junkbust  > /dev/null 2>&1
140         else
141 # -r does not work on suse.
142                 /usr/sbin/groupadd privoxy
143                 /usr/sbin/useradd -d %{_sysconfdir}/privoxy -g privoxy -s "" privoxy > /dev/null 2>&1 
144         fi
145 fi
146
147 #
148 # -----------------------------------------------------------------------------
149 #
150 %post
151 [ -f /var/log/privoxy/privoxy ] &&\
152  mv -f /var/log/privoxy/privoxy /var/log/privoxy/logfile || /bin/true
153 chown -R privoxy:privoxy /var/log/privoxy 2>/dev/null
154 chown -R privoxy:privoxy /etc/privoxy 2>/dev/null
155 # not available on suse
156 #if [ "$1" = "1" ]; then
157 #     /sbin/chkconfig --add privoxy
158 #       /sbin/service privoxy condrestart > /dev/null 2>&1
159 #fi
160 # 01/09/02 HB, getting rid of any user=junkbust
161 # Changed by morcego to use the id command.
162 id junkbust > /dev/null 2>&1 && /usr/sbin/userdel junkbust || /bin/true
163 sbin/insserv etc/init.d/privoxy
164
165 #
166 # -----------------------------------------------------------------------------
167 #
168 %preun
169 # need to stop the service on suse. swa.
170 #if [ "$1" = "0" ]; then
171 #       /sbin/service privoxy stop > /dev/null 2>&1 ||:
172 #fi
173
174 #
175 # -----------------------------------------------------------------------------
176 #
177 %postun
178 sbin/insserv etc/init.d/
179 # dont forget to remove user and group privoxy
180 id privoxy > /dev/null 2>&1 && /usr/sbin/userdel privoxy || /bin/true
181
182 #
183 # -----------------------------------------------------------------------------
184 #
185 %clean
186 [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT
187
188 #
189 # -----------------------------------------------------------------------------
190 #
191 %files
192 %defattr(-,root,root)
193 %doc README.gz AUTHORS.gz ChangeLog.gz LICENSE.gz
194 %doc doc/webserver/developer-manual
195 %doc doc/webserver/user-manual
196 %doc doc/webserver/faq
197 %doc doc/webserver/p_doc.css
198 %doc doc/webserver/p_web.css
199 %doc doc/webserver/index.html
200 #%doc privoxy.weekly privoxy.monthly AUTHORS
201 %dir %{privoxyconf}
202 %config %{privoxyconf}/*
203 %attr(0744,privoxy,privoxy) %dir /var/log/privoxy
204 %config %{_sysconfdir}/logrotate.d/privoxy
205 %attr(0755,root,root)/usr/sbin/privoxy
206 %{_mandir}/man8/*
207 %config %{_sysconfdir}/init.d/privoxy
208 /usr/sbin/rcprivoxy
209
210 #
211 # -----------------------------------------------------------------------------
212 #
213 %changelog
214 * Mon Apr 22 2002 Rodrigo Barbosa <rodrigob@tisbrasil.com.br>
215 + privoxy-suse-2.9.14-2
216 - Bumping release to reflect the new value on configure.in
217 - Taking the oportunity to change the header Copyright to License. The
218   Copyright headers is deprecated, and after all, GPL is a license, not a
219   Copyright
220
221 * Mon Apr 08 2002 Hal Burgiss <hal@foobox.net>
222 + privoxy-2.9.13-4
223 - Add LICENSE.gz, p_web.css, and index.html. Add autoconf
224 - to Buildrequires.
225
226 * Wed Mar 27 2002 Hal Burgiss <hal@foobox.net>
227 + privoxy-2.9.13-3
228 - Doc css has changed names.
229
230 * Tue Mar 25 2002 Hal Burgiss <hal@foobox.net>
231 + privoxy-2.9.13-3
232 - Minor fix to description.
233
234 * Sun Mar 24 2002 Hal Burgiss <hal@foobox.net>
235 - added faq to docs.
236
237 * Thu Mar 21 2002 Hal Burgiss <hal@foobox.net>
238 - added ijb_docs.css to docs.
239
240 * Mon Mar 11 2002 Hal Burgiss <hal@foobox.net>
241 - Remove --enable-no-gifs from configure.
242
243 * Sun Mar 03 2002 Hal Burgiss <hal@foobox.net>
244 - /bin/false for shell causes init script to fail. Reverting.
245
246 * Wed Jan 09 2002 Hal Burgiss <hal@foobox.net>
247 - Removed UID 73. Included user-manual and developer-manual in docs.
248   Include other actions files. Default shell is now /bin/false.
249   Userdel user=junkbust. ChangeLog was not zipped. Removed
250   RPM_OPT_FLAGS kludge.
251
252 * Fri Dec 28 2001 Thomas Steudten <thomas@steudten.ch>
253 - add paranoia check for 'rm -rf $RPM_BUILD_ROOT'
254 - add gzip to 'BuildRequires'
255
256 * Sat Dec  1 2001 Hal Burgiss <hal@foobox.net>
257 - actionsfile is now ijb.action.
258
259 * Tue Nov  6 2001 Thomas Steudten <thomas@steudten.ch>
260 - Compress manpage
261 - Add more documents for installation
262 - Add version string to name and source
263
264 * Wed Oct 24 2001 Hal Burigss <hal@foobox.net>
265 - Back to user 'junkbuster' and fix configure macro.
266
267 * Wed Oct 10 2001 Hal Burigss <hal@foobox.net>
268 - More changes for user 'junkbust'. Init script had 'junkbuster'.
269
270 * Sun Sep 23 2001 Hal Burgiss <hal@foobox.net>
271 - Change of $RPM_OPT_FLAGS handling. Added new HTML doc files.
272 - Changed owner of /etc/junkbuster to shut up PAM/xauth log noise.
273
274 * Thu Sep 13 2001 Hal Burgiss <hal@foobox.net>
275 - Added $RPM_OPT_FLAGS support, renaming of old logfile, and
276 - made sure no default shell exists for user junkbust.
277
278 * Sun Jun  3 2001 Stefan Waldherr <stefan@waldherr.org>
279 - rework of RPM
280 * Wed Feb 14 2001 - uli@suse.de
281 - fixed init script
282 * Wed Dec 06 2000 - bjacke@suse.de
283 - renamed package to junkbuster
284 - fixed copyright tag
285 * Thu Nov 30 2000 - uli@suse.de
286 - moved init script to /etc/init.d
287 * Wed Feb 16 2000 - kukuk@suse.de
288 - Move /usr/man -> /usr/share/man
289 - Mark /etc/ijb as "config(noreplace)"
290 * Mon Sep 20 1999 - uli@suse.de
291 - fixed init script
292 * Mon Sep 13 1999 - bs@suse.de
293 - ran old prepare_spec on spec file to switch to new prepare_spec.
294 * Thu Apr 01 1999 - daniel@suse.de
295 - do not start ijb as root (security)
296 * Tue Mar 30 1999 - daniel@suse.de
297 - donĀ“t use saclfile.ini
298 * Tue Mar 30 1999 - daniel@suse.de
299 - small fix to whitelist-configuration,
300   version is and was 2.0.2 WITHOUT Stefan Waldherr's patches
301   (http://www.waldherr.org/junkbuster/)
302 * Mon Mar 01 1999 - daniel@suse.de
303 - new package: version 2.0
304
305 # $Log: privoxy-suse.spec,v $
306 # Revision 1.15  2002/04/16 18:49:07  oes
307 # Build with static built-in pcre
308 #
309 # Revision 1.14  2002/04/11 17:57:40  oes
310 # Fixed(?) Conflicts: Provides: Obsoletes:
311 #
312 # Revision 1.13  2002/04/11 10:09:20  oes
313 # Version 2.9.14
314 #
315 # Revision 1.12  2002/04/09 13:29:43  swa
316 # build suse and gen-dist with html docs. do not generate docs while building rpm
317 #
318 # Revision 1.11  2002/04/09 03:12:37  hal9
319 # Add LICENSE, p_web.css and index.html. Add autoconf to buildrequires.
320 #
321 # Revision 1.10  2002/04/08 20:24:13  swa
322 # fixed JB spelling
323 #
324 # Revision 1.9  2002/03/30 09:01:52  swa
325 # new release
326 #
327 # Revision 1.8  2002/03/27 23:46:41  hal9
328 # ijb_docs.css to p_doc.css
329 #
330 # Revision 1.7  2002/03/27 00:49:39  hal9
331 # Minor fix to description.
332 #
333 # Revision 1.6  2002/03/26 22:29:55  swa
334 # we have a new homepage!
335 #
336 # Revision 1.5  2002/03/25 03:10:50  hal9
337 # Added faq to docs.
338 #
339 # Revision 1.4  2002/03/24 12:56:21  swa
340 # name change related issues.
341 #
342 # Revision 1.3  2002/03/24 12:44:31  swa
343 # new version string
344 #
345 # Revision 1.2  2002/03/24 11:40:14  swa
346 # name change
347 #
348 # Revision 1.1  2002/03/24 11:23:44  swa
349 # name change
350 #
351 # Revision 1.21  2002/03/21 16:04:33  hal9
352 # added ijb_docs.css to %%doc
353 #
354 # Revision 1.20  2002/03/12 13:42:14  sarantis
355 # remove hardcoded "ijbswa" from build phase
356 #
357 # Revision 1.19  2002/03/11 22:59:05  hal9
358 # Remove --enable-no-gifs
359 #
360 # Revision 1.18  2002/03/11 12:30:31  swa
361 # be consistent with rh spec file
362 #
363 # Revision 1.17  2002/03/08 19:30:23  swa
364 # remove user junkbuster after de-installation.
365 # synced suse with rh-specfile. installation
366 # and de-installation seem to work.
367 #
368 # Revision 1.16  2002/03/08 18:40:44  swa
369 # build requires tools. useradd and del works
370 # now.
371 #
372 # Revision 1.15  2002/03/07 19:23:50  swa
373 # i hate to scroll. suse: wrong configdir.
374 #
375 # Revision 1.14  2002/03/07 19:10:21  swa
376 # builds cleanly. thanks to kukuk@suse.de
377 # not yet tested.
378 #
379 # Revision 1.13  2002/03/07 18:25:56  swa
380 # synced redhat and suse build process
381 #
382 # Revision 1.12  2002/03/02 15:50:04  swa
383 # 2.9.11 version. more input for docs.
384 #
385 # Revision 1.11  2001/12/02 10:29:26  swa
386 # New version made these changes necessary.
387 #
388 # Revision 1.10  2001/10/31 19:27:27  swa
389 # consistent description. new name for suse since
390 # we had troubles with rpms of identical names
391 # on the webserver.
392 #
393 # Revision 1.9  2001/10/26 18:17:23  swa
394 # new version string
395 #
396 # Revision 1.8  2001/09/13 16:22:42  swa
397 # man page is legacy. suse rpm now contains html
398 # documentation.
399 #
400 # Revision 1.7  2001/09/10 17:44:22  swa
401 # integrate three pieces of documentation.
402 #
403 # Revision 1.6  2001/09/10 16:29:23  swa
404 # binary contained debug info.
405 # buildroot definition fucks up the build process under suse.
406 # program needs to write in varlogjunkbuster
407 # install all templates
408 # create varlogjunkbuster
409 #
410 # Revision 1.5  2001/06/09 09:13:29  swa
411 # description shorter
412 #
413 # Revision 1.4  2001/06/08 20:53:36  swa
414 # use buildroot, export init to separate file (better manageability)
415 #
416 # Revision 1.3  2001/06/07 17:28:10  swa
417 # cosmetics
418 #
419 # Revision 1.2  2001/06/07 17:18:44  swa
420 # header fixed
421 #
422 #