ports/156669: [patch] databases/virtuoso -- fix rc.d script

Pietro Cerutti gahr at FreeBSD.org
Wed Apr 27 07:30:11 UTC 2011


>Number:         156669
>Category:       ports
>Synopsis:       [patch] databases/virtuoso -- fix rc.d script
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed Apr 27 07:30:11 UTC 2011
>Closed-Date:
>Last-Modified:
>Originator:     Pietro Cerutti
>Release:        
>Organization:
The FreeBSD Project
>Environment:
FreeBSD SN2000.medacta.ch 9.0-CURRENT FreeBSD 9.0-CURRENT #11: Tue Apr 12 18:03:04 CEST 2011     root at SN2000.medacta.ch:/usr/obj/usr/src/sys/IMAC  amd64
>Description:
The provided rc.d script does not work.
>How-To-Repeat:
Try to run virtuoso using the rc.d script..
>Fix:


Patch attached with submission follows:

--- virtuoso.sh.in.orig	2010-07-22 11:48:10.321767067 +0200
+++ virtuoso.sh.in	2010-07-22 12:12:25.879033347 +0200
@@ -18,7 +18,7 @@
 #   start stop restart reload status
 #
 
-command=%%PREFIX%%/bin/virtuoso
+command=%%PREFIX%%/bin/virtuoso-t
 
 . /etc/rc.subr
 
@@ -27,23 +27,50 @@
 # set defaults
 virtuoso_enable=${virtuoso_enable:-"NO"}
 virtuoso_user=virtuoso
-eval virtuoso_config=${virtuoso_config:-"~${virtuoso_user}/db/virtuoso.ini"}
-virtuoso_class=${virtuoso_class:-"default"}
+virtuoso_data=%%PREFIX%%/virtuoso
+virtuoso_config=db/virtuoso.ini
+virtuoso_flags="+configfile ${virtuoso_config}"
 
 name=virtuoso
 rcvar=`set_rcvar`
-command_args="-D ${virtuoso_data} ${virtuoso_flags}"
+command_args="${virtuoso_flags}"
 extra_commands="reload"
 
-start_cmd="virtuoso_command start"
-stop_cmd="virtuoso_command stop"
-restart_cmd="virtuoso_command restart"
-reload_cmd="virtuoso_command reload"
-status_cmd="virtuoso_command status"
+start_cmd="virtuoso_start_command"
+stop_cmd="virtuoso_stop_command"
+restart_cmd="virtuoso_restart_command"
+reload_cmd="virtuoso_restart_command"
+status_cmd="virtuoso_status_command"
 
-virtuoso_command()
+virtuoso_start_command()
 {
-    su -l ${virtuoso_user} -c "exec ${command} ${command_args} ${rc_arg}"
+    su -l ${virtuoso_user} -c "cd ${virtuoso_data} && exec ${command} ${command_args}"
+}
+
+virtuoso_stop_command()
+{
+    pid=`pgrep virtuoso`
+    if [ "x$pid" != "x" ]; then
+        kill $pid
+    else
+        echo "Virtuoso not running."
+    fi
+}
+
+virtuoso_restart_command()
+{
+    virtuoso_stop_command
+    virtuoso_start_command
+}
+
+virtuoso_status_command()
+{
+    pid=`pgrep virtuoso`
+    if [ "x$pid" = "x" ]; then
+        echo "Virtuoso not running."
+    else
+        echo "Virtuoso running as pid $pid"
+    fi
 }
     
 run_rc_command "$1"


>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list