* Use start-stop-daemon for starting privoxy to avoid problems on start,
[privoxy.git] / privoxy-rh.spec
index c20ec4d..ed02875 100644 (file)
@@ -1,6 +1,6 @@
-# $Id: privoxy-rh.spec,v 1.30 2002/04/26 15:51:05 morcego Exp $
+# $Id: privoxy-rh.spec,v 1.43 2002/07/05 17:15:56 morcego Exp $
 #
-# Written by and Copyright (C) 2001 the SourceForge
+# Written by and Copyright (C) 2001, 2002 the SourceForge
 # Privoxy team. http://www.privoxy.org/
 #
 # Based on the Internet Junkbuster originally written
@@ -37,14 +37,13 @@ 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.15
+Version: 3.1.1
 Release: 1
 Summary: Privoxy - privacy enhancing proxy
 License: GPL
-Vendor: Privoxy.Org
 Source0: http://www.waldherr.org/%{name}/%{name}-%{version}.tar.gz
 BuildRoot: %{_tmppath}/%{name}-%{version}-root
-Group: Networking/Utilities
+Group: System Environment/Daemons
 URL: http://www.privoxy.org/
 Obsoletes: junkbuster-raw junkbuster-blank junkbuster
 # Prereq: /usr/sbin/useradd , /sbin/chkconfig , /sbin/service 
@@ -68,9 +67,9 @@ Privoxy is based on the Internet Junkbuster.
 %build
 
 # We check to see if versions match
-VERSION_MAJOR=2
-VERSION_MINOR=9
-VERSION_POINT=15
+VERSION_MAJOR=3
+VERSION_MINOR=1
+VERSION_POINT=1
 
 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
@@ -108,11 +107,25 @@ mkdir -p %{buildroot}%{_sbindir} \
 
 install -s -m 744 %{name} %{buildroot}%{_sbindir}/%{name}
 
+# Using sed to "convert" from DOS format to UNIX
+# This is important behaviour, and should not be removed without some
+# other assurance that these files don't get packed in the the
+# wrong format
+for i in `ls *.action`
+do
+       cat $i | sed -e 's/[[:cntrl:]]*$//' > %{buildroot}%{privoxyconf}/$i
+done
+cat default.filter | sed -e 's/[[:cntrl:]]*$//' > %{buildroot}%{privoxyconf}/default.filter
+cat trust | sed -e 's/[[:cntrl:]]*$//' > %{buildroot}%{privoxyconf}/trust
+(
+cd templates
+for i in `ls`
+do
+       cat $i | sed -e 's/[[:cntrl:]]*$//' > %{buildroot}%{privoxyconf}/templates/$i
+done
+)
+
 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/
 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}
@@ -129,23 +142,13 @@ 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/[[:cntrl:]]*$//' > \
     %{buildroot}%{privoxyconf}/config
 perl -pe 's/{-no-cookies}/{-no-cookies}\n\.redhat.com/' default.action >\
     %{buildroot}%{privoxyconf}/default.action
 
 
-# Creating ghost init files
-mkdir -p %{buildroot}/%{_sysconfdir}/rc.d/rc{0,1,2,3,4,5,6}.d
-for i in 0 1 4 6
-do
-ln -sf ../init.d/%{name} %{buildroot}/%{_sysconfdir}/rc.d/rc${i}.d/K09%{name}
-done
-for i in 2 3 5
-do
-ln -sf ../init.d/%{name} %{buildroot}/%{_sysconfdir}/rc.d/rc${i}.d/S84%{name}
-done
-
 ## Macros are expanded even on commentaries. So, we have to use %%
 ## -- morcego
 #%%makeinstall
@@ -157,25 +160,25 @@ done
 # We should do it for the group as well -- morcego
 # Doing it by brute force. Much cleaner (no more Mr. Nice Guy) -- morcego
 
-# Change the group name. Remove anything left behind.
-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 -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 ||:
 
+# Change the group name. Remove anything left behind.
+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 ||:
+
 # Doublecheck to see if the group exist, and that it has the correct gid
-/bin/grep -E '^%{name}:' /etc/group > /dev/null 2>&1
+/bin/grep -E '^%{name}:' %{_sysconfdir}/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
+       /bin/grep -E '^%{name}:[^:]*:%{privoxy_gid}:' %{_sysconfdir}/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
@@ -186,31 +189,34 @@ fi
 # exist
 id %{name} > /dev/null 2>&1
 if [ $? -eq 1 ]; then
-       /usr/sbin/useradd -u %{privoxy_uid} -g %{privoxy_gid} -d %{_sysconfdir}/%{name} -r -s "" %{name} > /dev/null 2>&1 
+       %{_sbindir}/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}
+       %{_sbindir}/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}
+       %{_sbindir}/usermod -g %{privoxy_gid} %{name}
 fi
 
 %post
 # for upgrade from 2.0.x
-[ -f %{_localstatedir}/log/%{oldname}/logfile ] &&\
- mv -f %{_localstatedir}/log/%{oldname}/logfile %{_localstatedir}/log/%{name}/logfile || /bin/true
-[ -f %{_localstatedir}/log/%{name}/%{name} ] &&\
- mv -f %{_localstatedir}/log/%{name}/%{name} %{_localstatedir}/log/%{name}/logfile || /bin/true
-chown -R %{name}:%{name} %{_localstatedir}/log/%{name} 2>/dev/null
-chown -R %{name}:%{name} /etc/%{name} 2>/dev/null
+[ -f %{_localstatedir}/log/%{oldname}/logfile ] && {
+  mv -f %{_localstatedir}/log/%{oldname}/logfile %{_localstatedir}/log/%{name}/logfile ||: ;
+  chown -R %{name}:%{name} %{_localstatedir}/log/%{name} 2>/dev/null ||: ;
+}
+[ -f %{_localstatedir}/log/%{name}/%{name} ] && {
+  mv -f %{_localstatedir}/log/%{name}/%{name} %{_localstatedir}/log/%{name}/logfile ||: ;
+  chown -R %{name}:%{name} %{_sysconfdir}/%{name} 2>/dev/null ||: ;
+}
+/sbin/chkconfig --add privoxy
 if [ "$1" = "1" ]; then
-       /sbin/service %{name} condrestart > /dev/null 2>&1
+       /sbin/service %{name} condrestart > /dev/null 2>&1 ||:
 fi
 
 %preun
@@ -219,7 +225,7 @@ fi
 
 if [ "$1" = "0" ]; then
        /sbin/service %{name} stop > /dev/null 2>&1 ||:
-       # No need to use chkconfig. The %%ghost files will handle it
+       /sbin/chkconfig --del privoxy
 fi
 
 %postun
@@ -228,8 +234,8 @@ 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
+       id privoxy > /dev/null 2>&1 && %{_sbindir}/userdel privoxy || /bin/true
+       /bin/grep -E '^%{name}:' %{_sysconfdir}/group > /dev/null && %{_sbindir}/groupdel %{name} || /bin/true
 fi
 
 %clean
@@ -242,11 +248,16 @@ fi
 %doc doc/webserver/developer-manual
 %doc doc/webserver/user-manual
 %doc doc/webserver/faq
-%doc doc/webserver/p_doc.css doc/webserver/p_web.css doc/webserver/index.html
+%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
+
+# ATTENTION FOR defattr change here !
+%defattr(0644,%{name},%{name},0755)
 
 %dir %{privoxyconf}
 %dir %{privoxyconf}/templates
-%attr(0744,%{name},%{name}) %dir %{_localstatedir}/log/%{name}
+%dir %{_localstatedir}/log/%{name}
 
 %attr(0744,%{name},%{name})%{_sbindir}/%{name}
 
@@ -261,51 +272,111 @@ fi
 %config %{privoxyconf}/default.filter
 %config %{privoxyconf}/trust
 
-%config %{privoxyconf}/templates/untrusted
-%config %{privoxyconf}/templates/toggle-mini
-%config %{privoxyconf}/templates/default
-%config %{privoxyconf}/templates/connect-failed
-%config %{privoxyconf}/templates/show-status-file
+# Please keep these alphabetized so its easier to find one that 
+# is not included.
+%config %{privoxyconf}/templates/blocked
+%config %{privoxyconf}/templates/cgi-error-404
 %config %{privoxyconf}/templates/cgi-error-bad-param
-%config %{privoxyconf}/templates/show-version
+%config %{privoxyconf}/templates/cgi-error-disabled
 %config %{privoxyconf}/templates/cgi-error-file
-%config %{privoxyconf}/templates/cgi-error-404
+%config %{privoxyconf}/templates/cgi-error-file-read-only
+%config %{privoxyconf}/templates/cgi-error-modified
 %config %{privoxyconf}/templates/cgi-error-parse
-%config %{privoxyconf}/templates/edit-actions-url-form
-%config %{privoxyconf}/templates/no-such-domain
-%config %{privoxyconf}/templates/edit-actions-add-url-form
 %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/cgi-error-disabled
-%config %{privoxyconf}/templates/edit-actions-remove-url-form
-%config %{privoxyconf}/templates/show-request
-%config %{privoxyconf}/templates/cgi-error-modified
-%config %{privoxyconf}/templates/mod-unstable-warning
 %config %{privoxyconf}/templates/edit-actions-list
-%config %{privoxyconf}/templates/toggle
+%config %{privoxyconf}/templates/edit-actions-list-button
 %config %{privoxyconf}/templates/edit-actions-list-section
-%config %{privoxyconf}/templates/mod-title
 %config %{privoxyconf}/templates/edit-actions-list-url
-%config %{privoxyconf}/templates/show-status
-%config %{privoxyconf}/templates/blocked
-%config %{privoxyconf}/templates/mod-support-and-service
+%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
+%config %{privoxyconf}/templates/show-status-file
 %config %{privoxyconf}/templates/show-url-info
-%config %{privoxyconf}/templates/edit-actions-for-url
+%config %{privoxyconf}/templates/show-version
+%config %{privoxyconf}/templates/toggle
+%config %{privoxyconf}/templates/toggle-mini
+%config %{privoxyconf}/templates/untrusted
 
-%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}
-%ghost %attr(-,root,root) %{_sysconfdir}/rc.d/rc1.d/K09%{name}
-%ghost %attr(-,root,root) %{_sysconfdir}/rc.d/rc2.d/S84%{name}
-%ghost %attr(-,root,root) %{_sysconfdir}/rc.d/rc3.d/S84%{name}
-%ghost %attr(-,root,root) %{_sysconfdir}/rc.d/rc4.d/K09%{name}
-%ghost %attr(-,root,root) %{_sysconfdir}/rc.d/rc5.d/S84%{name}
-%ghost %attr(-,root,root) %{_sysconfdir}/rc.d/rc6.d/K09%{name}
+# Attention, new defattr change here !
+%defattr(0644,root,root,0755)
+
+%config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
+%config(noreplace) %attr(0755,root,root) %{_sysconfdir}/rc.d/init.d/%{name}
 
 %{_mandir}/man1/%{name}.*
 
+
 %changelog
+* Thu Sep 05 2002 Hal Burgiss <hal@foobox.net>
+- Import changes from 3.0.0 to main trunk.
+
+* Fri Jul 12 2002 Karsten Hopp <karsten@redhat.de>
+- don't use ghost files for rcX.d/*, using chkconfig is the 
+  correct way to do this job (#68619)
+
+* Fri Jul 05 2002 Rodrigo Barbosa <rodrigob@tisbrasil.com.br>
++ privoxy-2.9.15-8
+- Changing delete order for groups and users (users should be first) 
+
+* Wed Jul 03 2002 Rodrigo Barbosa <rodrigob@tisbrasil.com.br>
++ privoxy-2.9.15-7
+- Changing sed expression that removed CR from the end of the lines. This
+  new one removes any control caracter, and should work with older versions
+  of sed
+
+* Tue Jul 02 2002 Rodrigo Barbosa <rodrigob@tisbrasil.com.br>
++ privoxy-2.9.15-6
+- Fixing defattr values. File and directory modes where swapped
+
+* Tue Jul 02 2002 Rodrigo Barbosa <rodrigob@tisbrasil.com.br>
++ privoxy-2.9.15-5
+- Fix typo in templates creation.
+
+* Wed Jun 26 2002 Rodrigo Barbosa <rodrigob@tisbrasil.com.br>
++ privoxy-2.9.15-4
+- Fixing issues created by specfile sync between branches
+  - Correcting the release number (WARNING)
+  - Reintroducing text file conversion (dos -> unix)
+  - Reconverting hardcoded directories to macros
+  - Refixing ownership of privoxy files (now using multiple defattr
+    definitions)
+
+* Thu Jun 20 2002 Karsten Hopp <karsten@redhat.de>
+- fix several .spec file issues to shut up rpmlint
+  - non-standard-dir-perm /var/log/privoxy 0744
+  - invalid-vendor Privoxy.Org (This is ok for binaries compiled by privoxy
+    members, but not for packages from Red Hat)
+  - non-standard-group Networking/Utilities
+  - logrotate and init scripts should be noreplace
+
+* Mon May 27 2002 Hal Burgiss <hal@foobox.net>
++ privoxy-2.9.15-1
+- Index.html is now privoxy-index.html for doc usage.
+
+* Sat May 25 2002 Hal Burgiss <hal@foobox.net>
++ privoxy-2.9.15-1
+- Add html man page so index.html does not 404.
+
+* 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
@@ -644,6 +715,78 @@ fi
        additional "-r @" flag.
 
 # $Log: privoxy-rh.spec,v $
+# Revision 1.33.2.19  2002/08/25 23:36:03  hal9
+# Bump version for 3.0.0.
+#
+# Revision 1.33.2.18  2002/08/10 11:28:50  oes
+# Bumped version
+#
+# Revision 1.33.2.17  2002/08/07 01:08:49  hal9
+# Bumped version to 2.9.18.
+#
+# Revision 1.33.2.16  2002/08/05 08:42:13  kick_
+# same permissions, same runlevels as all the other initscripts
+#
+# Revision 1.33.2.15  2002/07/30 21:51:19  hal9
+# Bump version to 2.9.17.
+#
+# Revision 1.33.2.14  2002/07/27 21:58:16  kick_
+# bump version
+#
+# Revision 1.33.2.13  2002/07/27 21:39:41  kick_
+# condrestart raised an error during an fresh install when privoxy wasn't already running
+#
+# Revision 1.33.2.12  2002/07/27 15:47:10  hal9
+# Reset version and release for 2.9.16.
+#
+# Revision 1.33.2.11  2002/07/25 09:47:57  kick_
+# this caused some errors during a fresh installation. It's unnecessary to call an extra program (/bin/true) to set the error code to 0
+#
+# Revision 1.33.2.10  2002/07/12 09:14:26  kick_
+# don't use ghost files for rcX.d/*, chkconfig is available to do this job. Enable translation of error messge
+#
+# Revision 1.43  2002/07/05 17:15:56  morcego
+# - Changing delete order for groups and users (users should be first)
+#
+# Revision 1.42  2002/07/03 20:46:38  morcego
+# - Changing sed expression that removed CR from the end of the lines. This
+#   new one removes any control caracter, and should work with older versions
+#   of sed
+#
+# Revision 1.41  2002/07/02 18:16:28  morcego
+# - Fixing defattr values. File and directory modes where swapped
+#
+# Revision 1.40  2002/07/02 17:37:24  morcego
+# Fix typo in templates creation.
+#
+# Revision 1.39  2002/06/26 17:32:04  morcego
+# Fixing issues created by sync between the branches
+#
+# Revision 1.38  2002/06/24 21:44:44  hal9
+# Sync with Karsten's update in 3.0 branch. See changelog.
+#
+# Revision 1.33.2.3  2002/06/24 12:13:34  kick_
+# shut up rpmlint. btw: The vendor tag should be set in you .rpmmacros file, not in the spec file!
+#
+# Revision 1.33.2.2  2002/05/28 02:39:38  hal9
+# Replace index.html with privoxy-index.html for docs.
+#
+# Revision 1.33.2.1  2002/05/26 17:20:23  hal9
+# Add images to doc dirs.
+#
+# 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
 #