ports/103358: Broken www/Privoxy rc.d script

Fabian Keil freebsd-listen at fabiankeil.de
Tue Sep 19 13:40:27 UTC 2006


The following reply was made to PR ports/103358; it has been noted by GNATS.

From: Fabian Keil <freebsd-listen at fabiankeil.de>
To: bug-followup at FreeBSD.org
Cc:  
Subject: Re: ports/103358: Broken www/Privoxy rc.d script
Date: Tue, 19 Sep 2006 15:32:18 +0200

 --Sig_NqcrOROpp+WyJ84ujLj7+zZ
 Content-Type: multipart/mixed; boundary="MP_k=Lthtxw4SEqvyJW8.lu4kG"
 
 --MP_k=Lthtxw4SEqvyJW8.lu4kG
 Content-Type: text/plain; charset=US-ASCII
 Content-Transfer-Encoding: quoted-printable
 Content-Disposition: inline
 
 Richard, no harm done, there were other issues
 with the rc.d script that required fixing.
 
 Committer, please let me hijack this PR
 to update the port to revision 5. Most likely
 the last one before the next release.
 
 Changes:
 
 - Remove three year old (!) patch that disables
   libc_r functions. Thanks to Lars Eggert for
   providing feedback about the reason the patch
   was included.
 
   There should be no reason left to apply this
   patch, and if there were, I'd prefer to fix
   it upstream.
 
 - Change maintainer address
 
 - Replace rc.d script to leverage the rcNG
   framework some more. Added privoxy_config
   variable to give the user the change to
   use a file that doesn't get overwritten
   on updates. Thanks to Simon Wright for the
   suggestion.
 
 - Install standard.action by default.
   It's an official and useful Privoxy file,
   it doesn't cause any problems and there
   is no reason, not to install it.
 
 - Modified pkg-message to give some more
   hints.
 
 - Don't send Privoxy's console message to
   /dev/null. If everything works it's only
   one line, and in case of a problem you really
   want to know the reason. Thanks to
   Richard Bejtlich for reporting.
 
 Fabian
 --=20
 http://www.fabiankeil.de/
 
 --MP_k=Lthtxw4SEqvyJW8.lu4kG
 Content-Type: text/x-patch; name=privoxy-3.0.3_5.diff
 Content-Transfer-Encoding: quoted-printable
 Content-Disposition: attachment; filename=privoxy-3.0.3_5.diff
 
 diff -ruN privoxy.3.0.3_4/Makefile privoxy/Makefile
 --- privoxy.3.0.3_4/Makefile	Wed Sep 13 11:41:17 2006
 +++ privoxy/Makefile	Tue Sep 19 14:05:25 2006
 @@ -7,13 +7,13 @@
 =20
  PORTNAME=3D	privoxy
  PORTVERSION=3D	3.0.3
 -PORTREVISION=3D	4
 +PORTREVISION=3D	5
  CATEGORIES=3D	www
  MASTER_SITES=3D	${MASTER_SITE_SOURCEFORGE}
  MASTER_SITE_SUBDIR=3D	ijbswa
  DISTNAME=3D	privoxy-${PORTVERSION}-stable-src
 =20
 -MAINTAINER=3D	freebsd-listen at fabiankeil.de
 +MAINTAINER=3D	fk at fabiankeil.de
  COMMENT=3D	Privoxy is a web proxy with advanced filtering capabilities
 =20
  WRKSRC=3D		${WRKDIR}/privoxy-${PORTVERSION}-stable
 @@ -21,7 +21,7 @@
  USE_GMAKE=3D	yes
  USE_AUTOTOOLS=3D	autoconf:253
 =20
 -USE_RC_SUBR=3D	privoxy.sh
 +USE_RC_SUBR=3D	privoxy
  SUB_FILES=3D	pkg-message
 =20
  MAKEFILE=3D	GNUmakefile
 @@ -32,7 +32,6 @@
  	${REINPLACE_CMD} \
  		-e 's,^\(confdir\) \.,\1 ${PREFIX}/etc/privoxy,' \
  		-e 's,^\(logdir\) \.,\1 /var/log/privoxy,' \
 -		-e 's,^\(actionsfile standard\),#\1,' \
  		-e 's,^\(actionsfile user\),#\1,' \
  	${WRKSRC}/config
 =20
 @@ -47,7 +46,7 @@
  	@${MKDIR} ${PREFIX}/etc/privoxy/templates
  	@${INSTALL_PROGRAM} ${WRKSRC}/privoxy ${PREFIX}/sbin
  	@${INSTALL_DATA} ${WRKSRC}/templates/[a-z]* ${PREFIX}/etc/privoxy/templat=
 es
 -.for file in config default.action default.filter trust
 +.for file in config default.action standard.action default.filter trust
  	@${INSTALL_DATA} ${WRKSRC}/${file} ${PREFIX}/etc/privoxy
  .endfor
  	@${INSTALL_MAN}  ${WRKSRC}/privoxy.1 ${MANPREFIX}/man/man1
 diff -ruN privoxy.3.0.3_4/files/patch-configure.in privoxy/files/patch-conf=
 igure.in
 --- privoxy.3.0.3_4/files/patch-configure.in	Wed Sep 13 11:41:12 2006
 +++ privoxy/files/patch-configure.in	Thu Jan  1 01:00:00 1970
 @@ -1,141 +0,0 @@
 --- Patch by Lars Eggert <larse at isi.edu> USC Information Sciences Institute
 ---- configure.in.orig	Fri Feb 20 17:15:20 2003
 -+++ configure.in	Fri Feb 20 17:15:51 2003
 -@@ -726,137 +726,6 @@
 - AC_SUBST(PTHREAD_ONLY)
 -
 - dnl =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
 --dnl Support for thread-safe versions of gethostbyaddr, gethostbyname,
 --dnl gmtime and localtime
 --dnl =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
 --
 --dnl Next line needed to find the gethost*_r functions on Solaris
 --AC_CHECK_LIB(nsl, gethostbyname)
 --
 --AC_CHECK_FUNC(gethostbyaddr_r, [
 --  AC_MSG_CHECKING([signature of gethostbyaddr_r])
 --  AC_TRY_COMPILE([
 --#   include <netdb.h>
 --  ], [
 --    struct hostent *h, *hp;
 --    char *a, *b;
 --    int l, bl, t, e;
 --    (void) gethostbyaddr_r(a, l, t, h, b, bl, &hp, &e)
 --  ], [
 --    AC_DEFINE(HAVE_GETHOSTBYADDR_R_8_ARGS)
 --    AC_MSG_RESULT([8 args])
 --  ], [
 --    AC_TRY_COMPILE([
 --#     include <netdb.h>
 --    ], [
 --      struct hostent *h;
 --      char *a, *b;
 --      int l, bl, t, e;
 --      (void) gethostbyaddr_r(a, l, t, h, b, bl, &e)
 --    ], [
 --      AC_DEFINE(HAVE_GETHOSTBYADDR_R_7_ARGS)
 --      AC_MSG_RESULT([7 args])
 --    ], [
 --      AC_TRY_COMPILE([
 --#       include <netdb.h>
 --      ], [
 --        struct hostent_data *d;
 --        struct hostent *h;
 --        char a,
 --        int l, t;
 --        (void) gethostbyaddr_r(a, l, t, h, d)
 --      ], [
 --        AC_DEFINE(HAVE_GETHOSTBYADDR_R_5_ARGS)
 --        AC_MSG_RESULT([5 args])
 --      ], [
 --        AC_MSG_RESULT(unrecognised)
 --      ])
 --    ])
 --  ])
 --], [
 --  AC_MSG_RESULT(no)
 --])
 --
 --AC_CHECK_FUNC(gethostbyname_r, [
 --  AC_MSG_CHECKING([signature of gethostbyname_r])
 --  AC_TRY_COMPILE([
 --#   include <netdb.h>
 --  ], [
 --    struct hostent *h, *r;
 --    char *n, *b;
 --    int bl, e;
 --    (void) gethostbyname_r(n, h, b, bl, &r, &e)
 --  ], [
 --    AC_DEFINE(HAVE_GETHOSTBYNAME_R_6_ARGS)
 --    AC_MSG_RESULT([6 args])
 --  ], [
 --    AC_TRY_COMPILE([
 --#     include <netdb.h>
 --    ], [
 --      struct hostent *h;
 --      char *n, *b;
 --      int bl, e;
 --      (void) gethostbyname_r(n, h, b, bl, &e)
 --    ], [
 --      AC_DEFINE(HAVE_GETHOSTBYNAME_R_5_ARGS)
 --      AC_MSG_RESULT([5 args])
 --    ], [
 --      AC_TRY_COMPILE([
 --#       include <netdb.h>
 --      ], [
 --        struct hostent_data *d;
 --        struct hostent *h;
 --        char *n,
 --        (void) gethostbyname_r(n, h, d)
 --      ], [
 --        AC_DEFINE(HAVE_GETHOSTBYNAME_R_3_ARGS)
 --        AC_MSG_RESULT([3 args])
 --      ], [
 --        AC_MSG_RESULT(unrecognised)
 --      ])
 --    ])
 --  ])
 --], [
 --  AC_MSG_RESULT(no)
 --])
 --
 --AC_CHECK_FUNC(gmtime_r, [
 --  AC_MSG_CHECKING([signature of gmtime_r])
 --  AC_TRY_COMPILE([
 --#   include <time.h>
 --  ], [
 --    struct time *t;
 --    struct tm *tm;
 --    (void) gmtime_r(t, tm)
 --  ], [
 --    AC_MSG_RESULT(ok)
 --    AC_DEFINE(HAVE_GMTIME_R)
 --  ], [
 --    AC_MSG_RESULT(unrecognised)
 --  ])
 --], [
 --  AC_MSG_RESULT(no)
 --])
 --
 --AC_CHECK_FUNC(localtime_r, [
 --  AC_MSG_CHECKING([signature of localtime_r])
 --  AC_TRY_COMPILE([
 --#   include <time.h>
 --  ], [
 --    struct time *t;
 --    struct tm *tm;
 --    (void) localtime_r(t, tm)
 --  ], [
 --    AC_MSG_RESULT(ok)
 --    AC_DEFINE(HAVE_LOCALTIME_R)
 --  ], [
 --    AC_MSG_RESULT(unrecognised)
 --  ])
 --], [
 --  AC_MSG_RESULT(no)
 --])
 --
 --dnl =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
 - dnl Solaris specific
 - dnl FIXME: Not tested on Solaris yet...
 - dnl ISFIXED: Have tested it on Solaris, but there are other ways to
 diff -ruN privoxy.3.0.3_4/files/pkg-message.in privoxy/files/pkg-message.in
 --- privoxy.3.0.3_4/files/pkg-message.in	Wed Sep 13 11:41:12 2006
 +++ privoxy/files/pkg-message.in	Tue Sep 19 14:51:50 2006
 @@ -1,10 +1,25 @@
  ***********************************************************
 -** Before running privoxy you must modify the file       **
 +** Privoxy's default configuration file is:              **
  ** %%PREFIX%%/etc/privoxy/config                         **
 +** It gets overwritten on (re)install, if you make your  **
 +** own modifications, you should rename it first.        **
  **                                                       **
 -** Start privoxy with:                                   **
 -** %%PREFIX%%/sbin/privoxy %%PREFIX%%/etc/privoxy/config **
 +** To start Privoxy on boot, add: privoxy_enable=3D"YES"   **
 +** to /etc/rc.conf. If you changed the location of the   **
 +** configuration file, additionally add:                 **
 +** privoxy_config=3D"%%PREFIX%%/etc/privoxy/your-config"   **
  **                                                       **
 -** For documentation see:                                ** =20
 +** To start Privoxy manually, run:                       **
 +** %%PREFIX%%/etc/rc.d/privoxy forcestart                **
 +** The script understands most of the commands listed    **
 +** in rc(8), it also contains a list of other rc         **
 +** variables you can use.                                **
 +**                                                       **
 +** If you installed Privoxy as package and are using the **
 +** default configuration, you have to make sure the      **
 +** directories /var/log/privoxy and /var/run/privoxy     **
 +** exist and are owned by privoxy:privoxy.               **
 +**                                                       **
 +** For documentation see:                                **
  ** %%PREFIX%%/share/doc/privoxy-manual or 'man privoxy'  **
  ***********************************************************
 diff -ruN privoxy.3.0.3_4/files/privoxy.in privoxy/files/privoxy.in
 --- privoxy.3.0.3_4/files/privoxy.in	Thu Jan  1 01:00:00 1970
 +++ privoxy/files/privoxy.in	Tue Sep 19 14:44:52 2006
 @@ -0,0 +1,42 @@
 +#!/bin/sh
 +#
 +# $FreeBSD:$
 +#
 +#
 +# PROVIDE: privoxy
 +# REQUIRE: NETWORKING
 +# BEFORE: LOGIN
 +#
 +# This rc script understands the following variables
 +# which are read from /etc/rc.conf:
 +#
 +# privoxy_enable  (bool): Set to "NO" by default.
 +#                         Set it to "YES" to enable Privoxy.
 +# privoxy_config   (str): Privoxy's configuration file. Default is:
 +#                         %%PREFIX%%/etc/privoxy/config.
 +# privoxy_flags    (str): List of additional Privoxy options you want
 +#                         to use. None set by default.
 +# privoxy_pidfile  (str): Default is /var/run/privoxy/privoxy.pid.
 +# privoxy_user     (str): Privoxy Daemon user. Default is privoxy.
 +#
 +# Usage:
 +# %%PREFIX%%/etc/rc.d/privoxy [fast|force|one](start|stop|restart|rcvar|st=
 atus|poll)
 +
 +. %%RC_SUBR%%
 +
 +name=3D"privoxy"
 +rcvar=3D${name}_enable
 +load_rc_config ${name}
 +
 +: ${privoxy_enable=3D"NO"}
 +: ${privoxy_config=3D"%%PREFIX%%/etc/privoxy/config"}
 +: ${privoxy_flags=3D""}
 +: ${privoxy_user=3D"privoxy"}
 +: ${privoxy_pidfile=3D"/var/run/privoxy/privoxy.pid"}
 +
 +
 +command=3D"%%PREFIX%%/sbin/privoxy"
 +command_args=3D"${privoxy_flags} --pidfile ${privoxy_pidfile} ${privoxy_co=
 nfig}"
 +
 +run_rc_command "$1"
 +
 diff -ruN privoxy.3.0.3_4/files/privoxy.sh.in privoxy/files/privoxy.sh.in
 --- privoxy.3.0.3_4/files/privoxy.sh.in	Wed Sep 13 11:41:12 2006
 +++ privoxy/files/privoxy.sh.in	Thu Jan  1 01:00:00 1970
 @@ -1,50 +0,0 @@
 -#!/bin/sh
 -#
 -#
 -
 -# PROVIDE: privoxy
 -# REQUIRE: NETWORKING
 -
 -#
 -# DO NOT CHANGE THESE DEFAULT VALUES HERE
 -# SET THEM IN THE /etc/rc.conf FILE
 -#
 -privoxy_enable=3D${privoxy_enable-"NO"}
 -privoxy_flags=3D${privoxy_flags-""}
 -privoxy_pidfile=3D${privoxy_pidfile-"/var/run/privoxy/privoxy.pid"}
 -
 -. %%RC_SUBR%%
 -
 -name=3D"privoxy"
 -rcvar=3D`set_rcvar`
 -command=3D"%%PREFIX%%/sbin/privoxy"
 -stop_cmd=3D"privoxy_stop"
 -start_cmd=3D"privoxy_start"
 -
 -pidfile=3D"${privoxy_pidfile}"
 -configfile=3D%%PREFIX%%/etc/privoxy/config
 -
 -privoxy_start()
 -{
 -	if [ -f ${pidfile} ] ;then
 -		echo "${name} is already running"
 -	else
 -		echo "Starting ${name}."
 -        	su -m privoxy -c "${command} ${privoxy_flags} ${configfile} --pid=
 file ${pidfile}" \
 -		1>/dev/null 2>&1
 -	fi
 -}
 -
 -privoxy_stop()
 -{
 -	if [ ! -f ${pidfile} ] ;then
 -		echo "${name} is not running"
 -	else
 -	        kill -9 `cat ${pidfile}`
 -		rm -f ${pidfile}
 -		echo "${name} stopped"
 -	fi
 -}
 -
 -load_rc_config $name
 -run_rc_command "$1"
 diff -ruN privoxy.3.0.3_4/pkg-plist privoxy/pkg-plist
 --- privoxy.3.0.3_4/pkg-plist	Wed Sep 13 11:41:17 2006
 +++ privoxy/pkg-plist	Tue Sep 19 14:07:35 2006
 @@ -1,6 +1,7 @@
  sbin/privoxy
  etc/privoxy/config
  etc/privoxy/default.action
 +etc/privoxy/standard.action
  etc/privoxy/default.filter
  etc/privoxy/trust
  etc/privoxy/templates/blocked
 
 --MP_k=Lthtxw4SEqvyJW8.lu4kG--
 
 --Sig_NqcrOROpp+WyJ84ujLj7+zZ
 Content-Type: application/pgp-signature; name=signature.asc
 Content-Disposition: attachment; filename=signature.asc
 
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.5 (FreeBSD)
 
 iD8DBQFFD/FpBYqIVf93VJ0RAnTxAJ98OuzQgd5YOWXD5xFHzJzoTwbt2gCgyHDa
 BB/nmh7D72T52dTriQUDB7c=
 =yBHa
 -----END PGP SIGNATURE-----
 
 --Sig_NqcrOROpp+WyJ84ujLj7+zZ--



More information about the freebsd-ports-bugs mailing list