Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 30 Aug 2007 17:40:06 GMT
From:      Bill Moran <wmoran@collaborativefusion.com>
To:        freebsd-ports-bugs@FreeBSD.org
Subject:   Re: ports/115925: upgrade databases/slony1 to latest
Message-ID:  <200708301740.l7UHe6Do056422@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR ports/115925; it has been noted by GNATS.

From: Bill Moran <wmoran@collaborativefusion.com>
To: bug-followup@FreeBSD.org, vivek@khera.org
Cc:  
Subject: Re: ports/115925: upgrade databases/slony1 to latest
Date: Thu, 30 Aug 2007 13:29:52 -0400

 This is a MIME-formatted message.  If you see this text it means that your
 E-mail software does not support MIME-formatted messages.
 
 --=_wingspan-63555-1188494992-0001-2
 Content-Type: text/plain; charset=us-ascii
 Content-Transfer-Encoding: 7bit
 
 
 The attached diff adds profile support to the the rc script.
 
 I made the diff to replace Vivek's, IOW, it contains all of Vivek's
 changed in addition to the new rc script.
 
 -- 
 Bill Moran
 Collaborative Fusion Inc.
 http://people.collaborativefusion.com/~wmoran/
 
 wmoran@collaborativefusion.com
 Phone: 412-422-3463x4023
 
 --=_wingspan-63555-1188494992-0001-2
 Content-Type: text/x-diff; name="slony11.diff"; charset=iso-8859-1
 Content-Transfer-Encoding: 7bit
 Content-Disposition: attachment;
  filename="slony11.diff"
 
 diff -Pru slony1-orig/Makefile slony1/Makefile
 --- slony1-orig/Makefile	Fri Jul  6 16:21:45 2007
 +++ slony1/Makefile	Thu Aug 30 13:18:07 2007
 @@ -6,7 +6,7 @@
  #
  
  PORTNAME=	slony1
 -PORTVERSION=	1.2.10
 +PORTVERSION=	1.2.11
  CATEGORIES=	databases
  MASTER_SITES=	http://main.slony.info/downloads/1.2/source/
  DISTFILES=	${PORTNAME}-${PORTVERSION}${EXTRACT_SUFX} \
 diff -Pru slony1-orig/distinfo slony1/distinfo
 --- slony1-orig/distinfo	Fri Jul  6 16:21:45 2007
 +++ slony1/distinfo	Thu Aug 30 13:18:07 2007
 @@ -1,6 +1,6 @@
 -MD5 (slony1-1.2.10.tar.bz2) = 80ab5608c070028134072e4ecba5817f
 -SHA256 (slony1-1.2.10.tar.bz2) = b4e63e122053f07bbe6f7f6b39dd113ad5b98bc2d249b73041f6800ce6c87101
 -SIZE (slony1-1.2.10.tar.bz2) = 846038
 -MD5 (slony1-1.2.10-docs.tar.bz2) = 4b2caa5016d855137f892ea96f83645e
 -SHA256 (slony1-1.2.10-docs.tar.bz2) = 300e4c24b13665aceb549e2c004fd77a21437c4efbefadd304dbffc63663d274
 -SIZE (slony1-1.2.10-docs.tar.bz2) = 210210
 +MD5 (slony1-1.2.11.tar.bz2) = bf87c488866766f86bbb19b6e7e2432c
 +SHA256 (slony1-1.2.11.tar.bz2) = fa0c160c78dc969801d55f3e3517180dfabc3d5d50355d3c50fea28a53de6e98
 +SIZE (slony1-1.2.11.tar.bz2) = 856056
 +MD5 (slony1-1.2.11-docs.tar.bz2) = f4140385346d9569ab5bea377e98bca8
 +SHA256 (slony1-1.2.11-docs.tar.bz2) = ca44c63e5a8c0b3a1df104be6d65d3b1c42a99774ed69452b25f9c2cf66ce342
 +SIZE (slony1-1.2.11-docs.tar.bz2) = 204436
 diff -Pru slony1-orig/files/slon.sh.in slony1/files/slon.sh.in
 --- slony1-orig/files/slon.sh.in	Mon Feb 20 15:46:54 2006
 +++ slony1/files/slon.sh.in	Thu Aug 30 13:22:12 2007
 @@ -1,30 +1,108 @@
  #!/bin/sh
  #
 -# $FreeBSD: ports/databases/slony1/files/slon.sh.in,v 1.3 2006/02/20 20:46:54 dougb Exp $
 +# $FreeBSD$
 +# Modified by Brian A. Seklecki <bseklecki@collaborativefusion.com>
 +#                               <lavalamp@spiritual-machines.org>
 +# $Id$ 
  #
  
 -# PROVIDE: %%NAME%%
 +# sed -e 's/%%PREFIX%%/\/usr\/local/g' < slon.in > slon
 +
 +# PROVIDE: slon
  # REQUIRE: postgresql
  # KEYWORD: shutdown
  
 -# Add the following line to /etc/rc.conf to enable `%%NAME%%':
 -#
 -#%%NAME%%_enable="YES"
 -#
 -# and be sure to configure %%PREFIX%%/etc/%%NAME%%.conf
 -
 -. "%%RC_SUBR%%"
 +. "/etc/rc.subr"
  
 -name="%%NAME%%"
 +name="slon"
  rcvar=`set_rcvar`
  
 -pidfile="/var/run/$name.pid"
 -command="%%PREFIX%%/bin/slon"
 -command_args="-f %%PREFIX%%/etc/$name.conf -p $pidfile &"
 -required_files="%%PREFIX%%/etc/$name.conf"
 -
 -# read configuration and set defaults
  load_rc_config "$name"
 -: ${%%NAME%%_enable="NO"}
 +_pidprefix="/var/run/${name}"
 +pidfile="${_pidprefix}.pid" # Used as fall-through in event of no profiles
 +
 +# From global rc.conf(5); if unset, set them here
 +[ -z "$slon_enable" ]       && slon_enable="NO"
 +[ -z "$slon_profiles" ]     && slon_profiles=""
 +
 +configfile_path="/usr/local/etc/${name}.conf"
 +command_args="-f ${configfile_path} -p ${pidfile} &"
 +required_files="${configfile_path}"
 +
 +command="/usr/local/bin/slon"
 +
 +isProfile() {
 +        match=0;
 +        for curMember in $slon_profiles; do
 +                if [ "$curMember" = "$1" ]; then
 +                        #echo "DEBUG: Match"
 +                        match=1
 +                fi
 +        done
 +        return $match;
 +}
 +
 +
 +
 +if [ -n "$2" ]; then
 +	profile="$2" # A profile argument has been given (presumably)
 +	if [ "x${slon_profiles}" != "x" ]; then # This checks that profiles are indeed defined
 +		echo "-- Profile: $profile --"
 +		# Now let's check to make sure that both the profile, the profile's config path variable, config file exists
 +		configfile_default_path="/usr/local/etc/${name}-${profile}.conf"
 +		configfile_override_varname="\$${name}_${profile}_configfile" # Basic string substitution gets variable name
 +		configfile_override_varname_nop="${name}_${profile}_configfile" # Basic string substitution gets variable name
 +		#echo "DEBUG default path: $configfile_default_path"
 +		#echo "DEBUG override variable name: $configfile_override_varname";
 +		#echo "DEBUG override variable name noprefix: $configfile_override_varname_nop";
 +		eval configfile_path=\${$configfile_override_varname_nop:-${configfile_default_path}} # e.g., $configfile_varname="$slon_sex_configfile"
 +		#echo "DEBUG final: $configfile_path";
 +		isProfile $profile
 +		searchForProfile=$?
 +		# testing for true
 +		if [ ! -r "$configfile_path" -o $searchForProfile -lt 1 ]; then
 +			echo "$0: no such profile defined, profile config file defined, or cant read profile config file!";
 +			exit 1;
 +		fi
 +		required_files=${configfile_path}
 +		
 +		pidfile_default="${_pidprefix}-${profile}.pid"
 +		eval pidfile=\${${name}_${profile}_pidfile:-${pidfile_default}}
 +
 +		command_args="-f ${configfile_path} -p ${pidfile} &"
 +		#echo "DEBUG argspre: $command_args"
 +		#echo "DEBUG subst: ${name}_${profile}_flags"
 +		#eval echo "DEBUG subst: \$${name}_${profile}_flags"
 +		#eval echo "DEBUG subst2: command_args=\${${name}_${profile}_flags:-${command_args}}"
 +		eval command_args=\${${name}_${profile}_flags:-${command_args}}
 +		#echo "DEBUG args: $command_args"
 +	else
 +		echo "$0: extra profile argument ignored, no profiles defined"
 +	fi
 +	
 +
 +else
 +	# We get to here if $2 is not defined at command line, but we do have profiles
 +	# so apply $1 command to all profiles!
 +	# This block uses recursion to call ourself with each-profile defined as $2
 +	if [ "x${slon_profiles}" != "x" -a "x$1" != "x" ]; then
 +		if [ "x$1" != "xrestart" ]; then
 +			for profile in ${slon_profiles}; do
 +				echo "===> ${name} profile: ${profile}"
 +				/usr/local/etc/rc.d/${name} $1 ${profile}
 +				retcode="$?"
 +				if [ "0${retcode}" -ne 0 ]; then
 +					failed="${profile} (${retcode}) ${failed:-}"
 +				else
 +					success="${profile} ${success:-}"
 +				fi
 +			done
 +			exit 0
 +		else
 +			restart_precmd=""
 +		fi
 +	fi
 +# else = no profile argument given
 +fi
  
  run_rc_command "$1"
 diff -Pru slony1-orig/pkg-plist slony1/pkg-plist
 --- slony1-orig/pkg-plist	Fri Jul  6 16:21:45 2007
 +++ slony1/pkg-plist	Thu Aug 30 13:18:07 2007
 @@ -105,7 +105,7 @@
  %%PORTDOCS%%%%DOCSDIR%%/adminguide/function.enablesubscription-integer-integer-integer.html
  %%PORTDOCS%%%%DOCSDIR%%/adminguide/function.failednode-integer-integer.html
  %%PORTDOCS%%%%DOCSDIR%%/adminguide/function.failednode2-integer-integer-integer-bigint-bigint.html
 -%%PORTDOCS%%%%DOCSDIR%%/adminguide/function.failoverset-int-integer-integer-integer.html
 +%%PORTDOCS%%%%DOCSDIR%%/adminguide/function.failoverset-int-integer-integer-integer-bigint.html
  %%PORTDOCS%%%%DOCSDIR%%/adminguide/function.forwardconfirm-integer-integer-bigint-timestamp-without-time-zone.html
  %%PORTDOCS%%%%DOCSDIR%%/adminguide/function.generate-sync-event-interval.html
  %%PORTDOCS%%%%DOCSDIR%%/adminguide/function.getlocalnodeid-name.html
 @@ -121,7 +121,7 @@
  %%PORTDOCS%%%%DOCSDIR%%/adminguide/function.logtrigger.html
  %%PORTDOCS%%%%DOCSDIR%%/adminguide/function.mergeset-int-integer-integer.html
  %%PORTDOCS%%%%DOCSDIR%%/adminguide/function.mergeset-integer-integer.html
 -%%PORTDOCS%%%%DOCSDIR%%/adminguide/function.moveset-int-integer-integer-integer.html
 +%%PORTDOCS%%%%DOCSDIR%%/adminguide/function.moveset-int-integer-integer-integer-bigint.html
  %%PORTDOCS%%%%DOCSDIR%%/adminguide/function.moveset-integer-integer.html
  %%PORTDOCS%%%%DOCSDIR%%/adminguide/function.reachablefromnode-integer-integerarray.html
  %%PORTDOCS%%%%DOCSDIR%%/adminguide/function.rebuildlistenentries.html
 @@ -178,7 +178,7 @@
  %%PORTDOCS%%%%DOCSDIR%%/adminguide/function.upgradeschema-text.html
  %%PORTDOCS%%%%DOCSDIR%%/adminguide/hdrcmds.html
  %%PORTDOCS%%%%DOCSDIR%%/adminguide/help.html
 -%%PORTDOCS%%%%DOCSDIR%%/adminguide/i11536.html
 +%%PORTDOCS%%%%DOCSDIR%%/adminguide/i11597.html
  %%PORTDOCS%%%%DOCSDIR%%/adminguide/index.html
  %%PORTDOCS%%%%DOCSDIR%%/adminguide/installation.html
  %%PORTDOCS%%%%DOCSDIR%%/adminguide/listenpaths.html
 @@ -246,6 +246,7 @@
  %%PORTDOCS%%%%DOCSDIR%%/adminguide/stmtwaitevent.html
  %%PORTDOCS%%%%DOCSDIR%%/adminguide/subscribenodes.html
  %%PORTDOCS%%%%DOCSDIR%%/adminguide/supportedplatforms.html
 +%%PORTDOCS%%%%DOCSDIR%%/adminguide/table.sl-config-lock.html
  %%PORTDOCS%%%%DOCSDIR%%/adminguide/table.sl-confirm.html
  %%PORTDOCS%%%%DOCSDIR%%/adminguide/table.sl-event.html
  %%PORTDOCS%%%%DOCSDIR%%/adminguide/table.sl-listen.html
 
 --=_wingspan-63555-1188494992-0001-2--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200708301740.l7UHe6Do056422>