<div dir="ltr"><div>Package: postgres-xc<br></div><div>Version: 1.1-2</div><div>Severity: normal</div><div>Tags: patch</div><div><br></div><div>--- Please enter the report below this line. ---</div><div><br></div><div>Hello,</div>
<div><br></div><div>Original init script included into the package does not support gtm proxy.</div><div><br></div><div>Please find below my suggested patch for init script to handle that additional component of postgres-xc:</div>
<div><br></div><div><br></div><div><div>--- /etc/init.d/postgres-xc   2013-08-20 07:29:54.000000000 -0400</div><div>+++ ./postgres-xc    2014-01-24 11:37:20.185485456 -0500</div><div>@@ -33,6 +33,10 @@</div><div> {</div>
<div>Â Â Â status=0</div><div>Â Â Â case "$1" in</div><div>+ Â Â Â Â gtm_proxy)</div><div>+ Â Â Â Â Â Â pidfile=gtm_proxy.pid</div><div>+ Â Â Â Â Â Â sleep 2</div><div>+ Â Â Â Â Â Â ;;</div><div>Â Â Â Â Â gtm)</div><div>
       pidfile=gtm.pid</div><div>       sleep 2</div><div>@@ -40,7 +44,7 @@</div><div>     postgres)</div><div>       pidfile=postmaster.pid</div><div>       confport=$(grep -si '^port *=' $PGXC_DATA/$2/postgresql.conf |</div>
<div>- Â Â Â Â Â Â Â cut -f2 -d= | sed -e 's/#.*$//' -e 's/ //g')</div><div>+ Â Â Â Â Â Â Â Â cut -f2 -d= | sed -e 's/#.*$//' -e 's/ //g')</div><div>Â Â Â Â Â Â Â port=${confport:=5432}</div>
<div>Â </div><div>Â Â Â Â Â Â Â # wait for server to come up, but no more than 10 seconds</div><div>@@ -63,6 +67,7 @@</div><div>Â Â Â Â Â Â Â [ "`ps h -o comm -p $PID`" != $1 ] && status=1</div><div>Â Â Â Â Â fi</div>
<div>Â Â Â else</div><div>+# Â Â Â echo $PGXC_DATA/$2/$pidfile is not readable</div><div>Â Â Â Â Â status=1</div><div>Â Â Â fi</div><div>Â Â Â return 0</div><div>@@ -77,15 +82,24 @@</div><div>Â Â Â Â Â $FAST_STOP &&</div>
<div>Â Â Â Â Â Â Â STOP_MODE="-mf"</div><div>Â Â Â }</div><div>- Â Â for TYPE in datanode coordinator gtm; do</div><div>+ Â Â SEQUENCE="gtm gtm_proxy coordinator datanode"</div><div>+ Â Â [ "$ACTION" = "stop" ] && SEQUENCE="datanode coordinator gtm_proxy gtm"</div>
<div>+ Â Â for TYPE in $SEQUENCE; do</div><div>Â Â Â Â Â case $TYPE in</div><div>Â Â Â Â Â Â Â gtm)</div><div>Â Â Â Â Â Â Â PG_CTL=gtm_ctl</div><div>Â Â Â Â Â Â Â PG_START=gtm</div><div>+ Â Â Â Â Â Â EXTRA_OPTS=''</div>
<div>+ Â Â Â Â Â Â ;;</div><div>+ Â Â Â Â Â Â gtm_proxy)</div><div>+ Â Â Â Â Â Â PG_CTL=gtm_ctl</div><div>+ Â Â Â Â Â Â PG_START=gtm_proxy</div><div>+ Â Â Â Â Â Â EXTRA_OPTS=''</div><div>Â Â Â Â Â Â Â ;;</div><div>Â Â Â Â Â Â Â coordinator|datanode)</div>
<div>Â Â Â Â Â Â Â PG_CTL=pg_ctl</div><div>Â Â Â Â Â Â Â PG_START=postgres</div><div>+ Â Â Â Â Â Â EXTRA_OPTS=''</div><div>Â Â Â Â Â Â Â ;;</div><div>Â Â Â Â Â esac</div><div>Â Â Â Â Â log_daemon_msg "$2 Postgres-XC ${TYPE}"</div>
<div>@@ -94,24 +108,37 @@</div><div>         if [ "$ACTION" = "reload" ] && [ "$TYPE" = "gtm" ]; then </div><div>           ACTION="restart"</div>
<div>         fi</div><div>+         if [ "$ACTION" = "reload" ] && [ "$TYPE" = "gtm_proxy" ]; then </div><div>+           ACTION="restart"</div>
<div>+ Â Â Â Â Â Â Â Â fi</div><div>Â Â Â Â Â Â Â Â Â [ "$ACTION" = "stop" ] &&</div><div>Â Â Â Â Â Â Â Â Â check_if_running $PG_START $NODE stop</div><div>Â Â Â Â Â Â Â Â Â if [ $status -eq 1 ]; then</div>
<div>Â Â Â Â Â Â Â Â Â Â Â log_progress_msg "$NODE is not running"</div><div>Â Â Â Â Â Â Â Â Â else</div><div>- Â Â Â Â Â Â Â Â Â Â ERRMSG=$(start-stop-daemon -c postgres-xc \</div><div>- Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â -Sx /usr/bin/$PG_CTL Â -- $ACTION $STOP_MODE \</div>
<div>- Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â -D $PGXC_DATA/$NODE -Z $TYPE \</div><div>- Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â -l $PGXC_LOG/datanode.log</div><div>- Â Â Â Â Â Â Â Â Â Â Â STATUS=$?</div><div>- Â Â Â Â Â Â Â Â Â Â Â if $FAST_STOP && [ $STATUS -gt 0 ] &&Â </div>
<div>- Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â [ "$ACTION" = "stop" ]; then</div><div>- Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â STATUS=0</div><div>- Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â start-stop-daemon -c postgres-xc \</div>
<div>- Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â -Sx /usr/bin/$PG_CTL Â -- stop -mi \</div><div>- Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â -D $PGXC_DATA/$NODE -Z $TYPE \</div><div>- Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â -l $PGXC_LOG/datanode.log || STATUS=$?</div>
<div>- Â Â Â Â Â Â Â Â Â Â Â fi)Â </div><div>+ Â Â Â Â Â Â Â Â if [ "$TYPE" = "gtm_proxy" ] ; then EXTRA_OPTS="-o -D $PGXC_DATA/$NODE"; fi</div><div>+ Â Â Â Â Â Â Â Â Â Â ERRMSG=$(if [ "$TYPE" = "gtm_proxy" ] ; then {</div>
<div>+ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â start-stop-daemon -c postgres-xc \</div><div>+ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â -Sx /usr/bin/$PG_CTL Â -- $ACTION $STOP_MODE \</div><div>+ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â -D $PGXC_DATA/$NODE -Z $TYPE \</div>
<div>+ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â -l $PGXC_LOG/datanode.log -o "-D $PGXC_DATA/$NODE"</div><div>+ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â }</div><div>+ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â else {</div><div>+ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â start-stop-daemon -c postgres-xc \</div>
<div>+                 -Sx /usr/bin/$PG_CTL  -- $ACTION $STOP_MODE \</div><div>+                 -D $PGXC_DATA/$NODE -Z $TYPE \</div><div>+                 -l $PGXC_LOG/datanode.log </div>
<div>+ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â }</div><div>+ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â fi</div><div>+ Â Â Â Â Â Â Â Â STATUS=$?</div><div>+ Â Â Â Â Â Â Â Â Â Â Â Â if $FAST_STOP && [ $STATUS -gt 0 ] &&Â </div><div>
+ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â [ "$ACTION" = "stop" ]; then</div><div>+ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â STATUS=0</div><div>+ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â start-stop-daemon -c postgres-xc \</div>
<div>+ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â -Sx /usr/bin/$PG_CTL Â -- stop -mi \</div><div>+ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â -D $PGXC_DATA/$NODE -Z $TYPE \</div><div>+ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â -l $PGXC_LOG/datanode.log || STATUS=$?</div>
<div>+ Â Â Â Â Â Â Â Â Â Â Â Â fi)Â </div><div>Â Â Â Â Â Â Â Â Â Â Â REPORT=$NODE</div><div>Â Â Â Â Â Â Â Â Â Â Â [ "$ACTION" = "status" ] && REPORT=$ERRMSG</div><div>Â Â Â Â Â Â Â Â Â Â Â log_progress_msg "$REPORT"</div>
<div>@@ -153,4 +180,3 @@</div><div>Â esac</div><div>Â </div><div>Â exit 0</div><div>-</div></div><div><br></div><div><br></div><div>Thanks</div><div>Tim</div><div><br></div><div>--- System information. ---</div><div>Architecture: amd64</div>
<div>Kernel:    Linux 3.11-2-amd64</div><div><br></div><div>Debian Release: jessie%2Fsid</div><div> 800 unstable     <a href="http://http.us.debian.org">http.us.debian.org</a> </div><div> 800 unstable     <a href="http://deb-multimedia.org">deb-multimedia.org</a> </div>
<div> 500 stable      <a href="http://dl.google.com">dl.google.com</a> </div><div>  1 experimental   <a href="http://http.us.debian.org">http.us.debian.org</a> </div><div><br></div><div>--- Package information. ---</div>
<div>Depends            (Version) | Installed</div><div>======================================- -================</div><div>libc6             (>= 2.16) | </div><div>libcomerr2          (>= 1.01) | </div>
<div>libgssapi-krb5-2    (>= 1.10 dfsg~) | </div><div>libkrb5-3        (>= 1.6.dfsg.2) | </div><div>libldap-2.4-2        (>= 2.4.7) | </div><div>libpam0g         (>= 0.99.7.1) | </div>
<div>
libpq5            (>= 9.1~) | </div><div>libssl1.0.0         (>= 1.0.0) | </div><div>libxml2           (>= 2.7.4) | </div><div>zlib1g           (>= 1:1.1.4) | </div><div>
postgres-xc-client           | </div>
<div>adduser                 | </div><div>ssl-cert          (>= 1.0.11) | </div><div>logrotate                | </div><div><br></div><div><br></div><div>Package's Recommends field is empty.</div>
<div><br></div><div>Package's Suggests field is empty.</div><div><br></div></div>