Move all doc build stuff to doc/source/GNUmakefile, leaving a 'make dok'
[privoxy.git] / privoxy-rh.spec
index 87c0810..802df53 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: privoxy-rh.spec,v 1.16 2002/03/26 22:29:55 swa Exp $
+# $Id: privoxy-rh.spec,v 1.35 2002/05/28 03:56:59 hal9 Exp $
 #
 # Written by and Copyright (C) 2001 the SourceForge
 # Privoxy team. http://www.privoxy.org/
 %define veryoldname junkbust
 %define oldname junkbuster
 %define privoxyconf %{_sysconfdir}/%{name}
+%define privoxy_uid 73
+%define privoxy_gid 73
 
 Name: privoxy
 # ATTENTION
 # Version and release should be updated acordingly on configure.in and
 # configure. Otherwise, the package can be build with the wrong value
-Version: 2.9.13
-Release: 3
+Version: 2.9.15
+Release: 2
 Summary: Privoxy - privacy enhancing proxy
 License: GPL
-Vendor: http://www.privoxy.org
+Vendor: Privoxy.Org
 Source0: http://www.waldherr.org/%{name}/%{name}-%{version}.tar.gz
 BuildRoot: %{_tmppath}/%{name}-%{version}-root
 Group: Networking/Utilities
@@ -47,7 +49,7 @@ URL: http://www.privoxy.org/
 Obsoletes: junkbuster-raw junkbuster-blank junkbuster
 # Prereq: /usr/sbin/useradd , /sbin/chkconfig , /sbin/service 
 Prereq: shadow-utils, chkconfig, initscripts, sh-utils
-BuildRequires: perl gzip sed docbook-utils libtool autoconf
+BuildRequires: perl gzip sed libtool autoconf 
 Conflicts: junkbuster-raw junkbuster-blank junkbuster
 
 %description 
@@ -58,21 +60,31 @@ obnoxious Internet junk. Privoxy has a very flexible configuration and
 can be customized to suit individual needs and tastes. Privoxy has application
 for both stand-alone systems and multi-user networks.
 
-Privoxy is based on the code of the Internet Junkbuster. Junkbuster
-was originally written by JunkBusters Corporation, and was released as
-free open-source software under the GNU GPL. Stefan Waldherr made many
-improvements, and started the SourceForge project to continue
-development. Several other developers are now contributing.
+Privoxy is based on the Internet Junkbuster.
 
 %prep
 %setup -q -c
 
 %build
+
+# We check to see if versions match
+VERSION_MAJOR=2
+VERSION_MINOR=9
+VERSION_POINT=15
+
+CONFIG_VERSION=`cat configure.in | sed -n -e 's/^VERSION_MAJOR=\([0-9]*\)/\1./p' -e 's/^VERSION_MINOR=\([0-9]*\)/\1./p' -e 's/^VERSION_POINT=\([0-9]*\)/\1/p' | awk '{printf $1}'`
+if [ "%{version}" != "${CONFIG_VERSION}" ]; then
+       echo "The version declared on the specfile does not match the version"
+       echo "declared on configure.in. This should not happen. The build will"
+       echo "be interrupted now, so you can fix it."
+       exit 1
+fi
 autoheader
 autoconf
-%configure
+%configure --disable-dynamic-pcre
 make 
-make redhat-dok
+# Docs are in CVS and tarball now.
+#%%make dok
 
 ## Explicitily stripping is not recomended.
 ## This is handled altomaticaly by RPM, and can couse troubles if
@@ -94,13 +106,24 @@ mkdir -p %{buildroot}%{_sbindir} \
 ## Gziping the documentation files is not recomended - morcego
 #gzip README AUTHORS ChangeLog %{name}.1 || /bin/true
 
+# Using sed to "convert" from DOS format to UNIX
+
 install -s -m 744 %{name} %{buildroot}%{_sbindir}/%{name}
 
 cp -f %{name}.1 %{buildroot}%{_mandir}/man1/%{name}.1
-cp -f *.action %{buildroot}%{privoxyconf}/
-cp -f default.filter %{buildroot}%{privoxyconf}/default.filter
-cp -f trust %{buildroot}%{privoxyconf}/trust
-cp -f templates/*  %{buildroot}%{privoxyconf}/templates/
+for i in `ls *.action`
+do
+       cat $i | sed -e 's/\r$//' > %{buildroot}%{privoxyconf}/$i
+done
+cat default.filter | sed -e 's/\r$//' >  %{buildroot}%{privoxyconf}/default.filter
+cat trust | sed -e 's/\r$//' > %{buildroot}%{privoxyconf}/trust
+(
+cd templates
+for i in `ls`
+do
+cat $i | sed -e 's/\r$//' > buildroot}%{privoxyconf}/templates/$i
+done
+)
 cp -f %{name}.logrotate %{buildroot}%{_sysconfdir}/logrotate.d/%{name}
 install -m 755 %{name}.init %{buildroot}%{_sysconfdir}/rc.d/init.d/%{name}
 install -m 711 -d %{buildroot}%{_localstatedir}/log/%{name}
@@ -117,7 +140,8 @@ cat config | \
 #    sed 's/^jarfile.*/jarfile \%{_localstatedir}\/log\/%{name}\/jarfile/g' | \
 #    sed 's/^forward.*/forward \/etc\/%{name}\/forward/g' | \
 #    sed 's/^aclfile.*/aclfile \/etc\/%{name}\/aclfile/g' > \
-    sed 's@^logdir.*@logdir %{_localstatedir}/log/%{name}@g' > \
+    sed 's@^logdir.*@logdir %{_localstatedir}/log/%{name}@g' | \
+    sed -e 's/\r$//' > \
     %{buildroot}%{privoxyconf}/config
 perl -pe 's/{-no-cookies}/{-no-cookies}\n\.redhat.com/' default.action >\
     %{buildroot}%{privoxyconf}/default.action
@@ -146,22 +170,47 @@ done
 # Doing it by brute force. Much cleaner (no more Mr. Nice Guy) -- morcego
 
 # Change the group name. Remove anything left behind.
-groupmod -n %{name} %{oldname} > /dev/null 2>&1 ||:
-groupmod -n %{name} %{veryoldname} > /dev/null 2>&1 ||:
+groupmod -g %{privoxy_gid} -n %{name} %{oldname} > /dev/null 2>&1 ||:
+groupmod -g %{privoxy_gid} -n %{name} %{veryoldname} > /dev/null 2>&1 ||:
 groupdel %{oldname} > /dev/null 2>&1 ||:
 groupdel %{veryoldname} > /dev/null 2>&1 ||:
 
 # Same for username
-usermod -l %{name} -d %{_sysconfdir}/%{name} -s "" %{oldname} > /dev/null 2>&1 || :
-usermod -l %{name} -d %{_sysconfdir}/%{name} -s "" %{veryoldname} > /dev/null 2>&1 || :
+usermod -u %{privoxy_uid} -g %{privoxy_gid} -l %{name} -d %{_sysconfdir}/%{name} -s "" %{oldname} > /dev/null 2>&1 || :
+usermod -u %{privoxy_uid} -g %{privoxy_gid} -l %{name} -d %{_sysconfdir}/%{name} -s "" %{veryoldname} > /dev/null 2>&1 || :
 userdel %{oldname} > /dev/null 2>&1 ||:
 userdel %{veryoldname} > /dev/null 2>&1 ||:
 
+# Doublecheck to see if the group exist, and that it has the correct gid
+/bin/grep -E '^%{name}:' /etc/group > /dev/null 2>&1
+if [ $? -eq 1 ]; then
+       # Looks like it does not exist. Create it
+       groupadd -g %{privoxy_gid} %{name} > /dev/null 2>&1
+else
+       /bin/grep -E '^%{name}:[^:]*:%{privoxy_gid}:' /etc/group > /dev/null 2>&1
+       if [ $? -eq 1 ]; then
+               # The group exists, but does not have the correct gid
+               groupmod -g %{privoxy_gid} %{name} > /dev/null 2>&1
+       fi
+fi
+
 # Check to see if everything is okey. Create user if it still does not
 # exist
 id %{name} > /dev/null 2>&1
 if [ $? -eq 1 ]; then
-       /usr/sbin/useradd -d %{_sysconfdir}/%{name} -r -s "" %{name} > /dev/null 2>&1 
+       /usr/sbin/useradd -u %{privoxy_uid} -g %{privoxy_gid} -d %{_sysconfdir}/%{name} -r -s "" %{name} > /dev/null 2>&1 
+fi
+
+# Double check that the group has the correct uid
+P_UID=`id -u %{name} 2>/dev/null`
+if [ $P_UID -ne %{privoxy_uid} ]; then
+       /usr/sbin/usermod -u %{privoxy_uid} %{name}
+fi
+
+# The same for the gid
+P_GID=`id -g %{name} 2>/dev/null`
+if [ $P_GID -ne %{privoxy_gid} ]; then
+       /usr/sbin/usermod -g %{privoxy_gid} %{name}
 fi
 
 %post
@@ -191,6 +240,7 @@ fi
 #fi
 # We only remove it we this is not an upgrade
 if [ "$1" = "0" ]; then
+       /bin/grep -E '^%{name}:' /etc/group > /dev/null && /usr/sbin/groupdel %{name} || /bin/true
        id privoxy > /dev/null 2>&1 && /usr/sbin/userdel privoxy || /bin/true
 fi
 
@@ -199,12 +249,14 @@ fi
 
 %files
 %defattr(0644,root,root,0755)
-%doc README AUTHORS ChangeLog
-%doc doc/text/developer-manual.txt doc/text/user-manual.txt
+%doc README AUTHORS ChangeLog LICENSE 
+%doc doc/text/developer-manual.txt doc/text/user-manual.txt doc/text/faq.txt
 %doc doc/webserver/developer-manual
 %doc doc/webserver/user-manual
 %doc doc/webserver/faq
-%doc doc/webserver/ijb_docs.css
+%doc doc/webserver/p_doc.css doc/webserver/p_web.css doc/webserver/privoxy-index.html
+%doc doc/webserver/images
+%doc doc/webserver/man-page
 
 %dir %{privoxyconf}
 %dir %{privoxyconf}/templates
@@ -216,31 +268,39 @@ fi
 # We should not use wildchars here. This could mask missing files problems
 # -- morcego
 # WARNING ! WARNING ! WARNING ! WARNING ! WARNING ! WARNING ! WARNING !
-%config %{privoxyconf}/config
-%config %{privoxyconf}/advanced.action
-%config %{privoxyconf}/basic.action
-%config %{privoxyconf}/intermediate.action
+%config(noreplace) %{privoxyconf}/config
+%config %{privoxyconf}/standard.action
+%config(noreplace) %{privoxyconf}/user.action
 %config %{privoxyconf}/default.action
 %config %{privoxyconf}/default.filter
 %config %{privoxyconf}/trust
 
+# Please keep these alphabetized so its easier to find one that 
+# is not included.
 %config %{privoxyconf}/templates/blocked
-%config %{privoxyconf}/templates/blocked-compact
 %config %{privoxyconf}/templates/cgi-error-404
 %config %{privoxyconf}/templates/cgi-error-bad-param
 %config %{privoxyconf}/templates/cgi-error-disabled
 %config %{privoxyconf}/templates/cgi-error-file
+%config %{privoxyconf}/templates/cgi-error-file-read-only
 %config %{privoxyconf}/templates/cgi-error-modified
 %config %{privoxyconf}/templates/cgi-error-parse
+%config %{privoxyconf}/templates/cgi-style.css
 %config %{privoxyconf}/templates/connect-failed
 %config %{privoxyconf}/templates/default
 %config %{privoxyconf}/templates/edit-actions-add-url-form
 %config %{privoxyconf}/templates/edit-actions-for-url
+%config %{privoxyconf}/templates/edit-actions-for-url-filter
 %config %{privoxyconf}/templates/edit-actions-list
+%config %{privoxyconf}/templates/edit-actions-list-button
 %config %{privoxyconf}/templates/edit-actions-list-section
 %config %{privoxyconf}/templates/edit-actions-list-url
 %config %{privoxyconf}/templates/edit-actions-remove-url-form
 %config %{privoxyconf}/templates/edit-actions-url-form
+%config %{privoxyconf}/templates/mod-local-help
+%config %{privoxyconf}/templates/mod-support-and-service
+%config %{privoxyconf}/templates/mod-title
+%config %{privoxyconf}/templates/mod-unstable-warning
 %config %{privoxyconf}/templates/no-such-domain
 %config %{privoxyconf}/templates/show-request
 %config %{privoxyconf}/templates/show-status
@@ -250,7 +310,7 @@ fi
 %config %{privoxyconf}/templates/toggle
 %config %{privoxyconf}/templates/toggle-mini
 %config %{privoxyconf}/templates/untrusted
-%config %{privoxyconf}/templates/edit-actions-for-url-filter
+
 %config %{_sysconfdir}/logrotate.d/%{name}
 %config %attr(0744,root,root) %{_sysconfdir}/rc.d/init.d/%{name}
 %ghost %attr(-,root,root) %{_sysconfdir}/rc.d/rc0.d/K09%{name}
@@ -264,7 +324,82 @@ fi
 %{_mandir}/man1/%{name}.*
 
 %changelog
-* Tue Mar 25 2002 Hal Burgiss <hal@foobox.net>
+* Thu May 30 2002 Rodrigo Barbosa <rodrigob@tisbrasil.com.br>
++ privoxy-2.9.15-2
+- Using sed to convert files from DOS to UNIX format (BUG: #562174)
+
+* Mon May 27 2002 Hal Burgiss <hal@foobox.net>
++ privoxy-2.9.15-1
+- Index.html is now privoxy-index.html.
+
+* Fri May 24 2002 Hal Burgiss <hal@foobox.net>
++ privoxy-2.9.15-1
+- Add another template and alphabetize these for easier tracking.
+- Add doc/images directory.
+
+* Wed May 15 2002 Hal Burgiss <hal@foobox.net>
++ privoxy-2.9.15-1
+- Add templates/edit-actions-list-button
+
+* Fri May 03 2002 Rodrigo Barbosa <rodrigob@tisbrasil.com.br>
++ privoxy-2.9.15-1
+- Version bump
+- Adding noreplace for %%{privoxyconf}/config
+- Included a method to verify if the versions declared on the specfile and
+  configure.in match. Interrupt the build if they don't.
+
+* Fri Apr 26 2002 Rodrigo Barbosa <rodrigob@tisbrasil.com.br>
++ privoxy-2.9.14-3
+- Changing Vendor to Privoxy.Org
+
+* Tue Apr 23 2002 Hal Burgiss <hal@foobox.net>
++ privoxy-2.9.14-2
+- Adjust for new *actions files.
+
+* Mon Apr 22 2002 Rodrigo Barbosa <rodrigob@tisbrasil.com.br>
++ privoxy-2.9.14-2
+- Removed the redhat hack that prevented the user and group from
+  being dealocated. That was a misundestanding of my part regarding
+  redhat policy.
+
+* Mon Apr 22 2002 Rodrigo Barbosa <rodrigob@tisbrasil.com.br>
++ privoxy-2.9.14-2
+- Using macros to define uid and gid values
+- Bumping release
+
+* Mon Apr 22 2002 Rodrigo Barbosa <rodrigob@tisbrasil.com.br>
++ privoxy-2.9.14-1
+- Changes to fixate the uid and gid values as (both) 73. This is a 
+  value we hope to standarize for all distributions. RedHat already
+  uses it, and Conectiva should start as soon as I find where the heck
+  I left my cluebat :-)
+- Only remove the user and group on uninstall if this is not redhat, once
+  redhat likes to have the values allocated even if the package is not 
+  installed
+
+* Tue Apr 16 2002 Hal Burgiss <hal@foobox.net>
++ privoxy-2.9.13-6
+- Add --disable-dynamic-pcre to configure.
+
+* Wed Apr 10 2002 Rodrigo Barbosa <rodrigob@tisbrasil.com.br>
++ privoxy-2.9.13-5
+- Relisting template files on the %%files section
+
+* Tue Apr 09 2002 Hal Burgiss <hal@foobox.net>
++ privoxy-2.9.13-4
+- Removed 'make dok'. Docs are all maintained in CVS (and tarball) now.
+
+* Mon Apr 08 2002 Hal Burgiss <hal@foobox.net>
++ privoxy-2.9.13-4
+- Add templates/cgi-style.css, faq.txt, p_web.css, LICENSE
+- Remove templates/blocked-compact.
+- Add more docbook stuff to Builderquires.
+
+* Thu Mar 28 2002 Sarantis Paskalis <sarantis@cnl.di.uoa.gr>
++ privoxy-2.9.13-3
+- Include correct documentation file.
+
+* Tue Mar 26 2002 Hal Burgiss <hal@foobox.net>
 + privoxy-2.9.13-3
 - Fix typo in Description.
 
@@ -544,6 +679,79 @@ fi
        additional "-r @" flag.
 
 # $Log: privoxy-rh.spec,v $
+# Revision 1.35  2002/05/28 03:56:59  hal9
+# Index.html re-vamped as privoxy-index.html for docs.
+#
+# Revision 1.34  2002/05/25 22:09:58  hal9
+# Add html man page to keep index.html from breaking (untested).
+#
+# Revision 1.33  2002/05/25 02:08:23  hal9
+# Add doc/images directory.
+# Redhat: alphabetized list of templates (and I think added one in the process)
+#
+# Revision 1.32  2002/05/16 01:37:29  hal9
+# Add new template file so CGI stuff works :)
+#
+# Revision 1.31  2002/05/03 17:14:35  morcego
+# *.spec: Version bump to 2.9.15
+# -rh.spec: noreplace for %%{privoxyconf}/config
+#           Will interrupt the build if versions from configure.in and
+#              specfile do not match
+#
+# Revision 1.30  2002/04/26 15:51:05  morcego
+# Changing Vendor value to Privoxy.Org
+#
+# Revision 1.29  2002/04/24 03:13:51  hal9
+# New actions files changes.
+#
+# Revision 1.28  2002/04/22 18:51:33  morcego
+# user and group now get removed on rh too.
+#
+# Revision 1.27  2002/04/22 16:32:31  morcego
+# configure.in, *.spec: Bumping release to 2 (2.9.14-2)
+# -rh.spec: uid and gid are now macros
+# -suse.spec: Changing the header Copyright to License (Copyright is
+#             deprecable)
+#
+# Revision 1.26  2002/04/22 16:24:36  morcego
+# - Changes to fixate the uid and gid values as (both) 73. This is a
+#   value we hope to standarize for all distributions. RedHat already
+#   uses it, and Conectiva should start as soon as I find where the heck
+#   I left my cluebat :-)
+# - Only remove the user and group on uninstall if this is not redhat, once
+#   redhat likes to have the values allocated even if the package is not
+#   installed
+#
+# Revision 1.25  2002/04/17 01:59:12  hal9
+# Add --disable-dynamic-pcre.
+#
+# Revision 1.24  2002/04/11 10:09:20  oes
+# Version 2.9.14
+#
+# Revision 1.23  2002/04/10 18:14:45  morcego
+# - (privoxy-rh.spec only) Relisting template files on the %%files section
+# - (configure.in, privoxy-rh.spec) Bumped package release to 5
+#
+# Revision 1.22  2002/04/09 22:06:12  hal9
+# Remove 'make dok'.
+#
+# Revision 1.21  2002/04/09 02:52:26  hal9
+# - Add templates/cgi-style.css, faq.txt, p_web.css, LICENSE
+# - Remove templates/blocked-compact.
+# - Add more docbook stuff to Buildrequires.
+#
+# Revision 1.20  2002/04/08 20:27:45  swa
+# fixed JB spelling
+#
+# Revision 1.19  2002/03/27 22:44:59  sarantis
+# Include correct documentation file.
+#
+# Revision 1.18  2002/03/27 22:10:14  sarantis
+# bumped Hal's last commit 1 day to the future to make rpm build again.
+#
+# Revision 1.17  2002/03/27 00:48:23  hal9
+# Fix up descrition.
+#
 # Revision 1.16  2002/03/26 22:29:55  swa
 # we have a new homepage!
 #