[Lunar-commits] <moonbase> virtuoso: Adding an init and adjusting BUILD.

Dennis `stumbles` Veatch stumbles at lunar-linux.org
Mon Mar 1 11:58:27 CET 2010


commit 4225e5ec974cce724a76ab5ad73e01cfb126929d
Author: Dennis `stumbles` Veatch <stumbles at lunar-linux.org>
Date:   Mon Mar 1 05:58:27 2010 -0500

    virtuoso: Adding an init and adjusting BUILD.
---
 sql/virtuoso/BUILD            |   19 ++++-
 sql/virtuoso/CONFIGURE        |    2 +-
 sql/virtuoso/DETAILS          |    2 +-
 sql/virtuoso/POST_INSTALL     |    7 ++
 sql/virtuoso/init.d/virtuosod |  164 +++++++++++++++++++++++++++++++++++++++++
 5 files changed, 188 insertions(+), 6 deletions(-)

diff --git a/sql/virtuoso/BUILD b/sql/virtuoso/BUILD
index ce0961d..735b008 100644
--- a/sql/virtuoso/BUILD
+++ b/sql/virtuoso/BUILD
@@ -1,9 +1,20 @@
 (
 
-  OPTS+=" --without-debug --disable-tutorial-vad --disable-sparqldemo-vad  --disable-demo-vad  \
-          --with-pthreads --enable-aio --program-transform-name='s/isql*/vt-isql/' \
-          --build=$BUILD" &&
+  if [ -f /var/lib/virtuoso/db/virtuoso.lck ] ; then
+        /etc/init.d/virtuosod stop
+  fi &&
 
-  default_build
+  if [ "$VIRT_FOR_KDE" == "y" ] ; then
+   OPTS+=" --disable-all-vads --program-transform-name='s/isql*/vt-isql/' \
+           --without-debug --enable-aio --build=$BUILD --with-pthreads" &&
+
+      default_build
+  else
+   OPTS+=" --without-debug --disable-tutorial-vad --disable-sparqldemo-vad  --disable-demo-vad  \
+           --with-pthreads --enable-aio --program-transform-name='s/isql*/vt-isql/' \
+           --build=$BUILD" &&
+
+     default_build
+  fi 
 
 ) > $C_FIFO 2>&1
diff --git a/sql/virtuoso/CONFIGURE b/sql/virtuoso/CONFIGURE
index 08da6d7..68d303f 100644
--- a/sql/virtuoso/CONFIGURE
+++ b/sql/virtuoso/CONFIGURE
@@ -1 +1 @@
-mquery VIRT_FOR_KDE "Compile only those things needed by KDE? (say n if you want it as a server)" y "--disable-all-vads" ""
+mquery VIRT_FOR_KDE "Compile only those things needed by KDE? (say n if you want it as a server)" y
diff --git a/sql/virtuoso/DETAILS b/sql/virtuoso/DETAILS
index dea0799..1644282 100644
--- a/sql/virtuoso/DETAILS
+++ b/sql/virtuoso/DETAILS
@@ -7,7 +7,7 @@ SOURCE_DIRECTORY=$BUILD_DIRECTORY/$MODULE-$TYPE-$VERSION
       SOURCE_VFY=sha1:11d68d3b8d7fef05017eaba6dcc86050db71d211
         WEB_SITE=http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/
          ENTERED=20100116
-         UPDATED=20100211
+         UPDATED=20100301
            SHORT="high-performance object-relational SQL database"
 
 cat << EOF
diff --git a/sql/virtuoso/POST_INSTALL b/sql/virtuoso/POST_INSTALL
new file mode 100644
index 0000000..17d6ca7
--- /dev/null
+++ b/sql/virtuoso/POST_INSTALL
@@ -0,0 +1,7 @@
+ if [ -f /var/lib/virtuoso/db/virtuoso.db ]
+    then
+       printf "${PROBLEM_COLOR}Point a broswer to http://localhost:8890/index.html and change the default passwords for users: \n
+       dba (passwd dba) and dav (passwd dav)." "${DEFAULT_COLOR}"
+         exit 1
+ fi
+
diff --git a/sql/virtuoso/init.d/virtuosod b/sql/virtuoso/init.d/virtuosod
new file mode 100644
index 0000000..ff49c54
--- /dev/null
+++ b/sql/virtuoso/init.d/virtuosod
@@ -0,0 +1,164 @@
+#! /bin/sh
+#
+# virtuoso	OpenLink Virtuoso Open-Source Edition
+#
+#		Written by OpenLink Virtuoso Maintainer 
+#		<vos.admin at openlinksw.com>
+#
+# Version:	@(#)virtuoso  6.1.0  03-Feb-2010	vos.admin at openlinksw.com
+#
+
+### BEGIN INIT INFO
+# Provides:		virtuoso
+# Required-Start: 	$syslog
+# Required-Stop: 	$syslog
+# Default-Start:	2 3 4 5
+# Default-Stop: 	0 1 6
+# Short-Description:	Start Virtuoso database server on startup
+# Description:		Start and stop the primary instance of Virtuoso running
+# 	in /var/lib/virtuoso/db/. The first time this runs, it loads the
+# 	Conductor administrative package.
+# chkconfig: 2345 90 20
+###
+
+
+PATH=/sbin:/bin:/usr/sbin:/usr/bin
+DAEMON=/usr/bin/virtuoso-t
+NAME=virtuoso
+DESC="OpenLink Virtuoso Open-Source Edition"
+DBBASE=/var/lib/virtuoso/db
+
+test -x $DAEMON || exit 0
+
+LOGDIR=/var/log/virtuoso-opensource
+PIDFILE=$DBBASE/$NAME.lck
+DODTIME=1                   # Time to wait for the server to die, in seconds
+                            # If this value is set too low you might not
+                            # let some servers to die gracefully and
+                            # 'restart' will not work
+
+# Include virtuoso-opensource defaults if available
+if [ -f /etc/default/virtuoso-opensource ] ; then
+	. /etc/default/virtuoso-opensource
+fi
+
+set -e
+
+running_pid()
+{
+    # Check if a given process pid's cmdline matches a given name
+    pid=$1
+    name=$2
+    [ -z "$pid" ] && return 1
+    [ ! -d /proc/$pid ] &&  return 1
+    cmd=`cat /proc/$pid/cmdline | tr "\000" "\n"|head -n 1 |cut -d : -f 1`
+    # Is this the expected child?
+    [ "$cmd" != "$name" ] &&  return 1
+    return 0
+}
+
+running()
+{
+# Check if the process is running looking at /proc
+# (works for all users)
+
+    # No pidfile, probably no daemon present
+    [ ! -f "$PIDFILE" ] && return 1
+    # Obtain the pid and check it against the binary name
+    . $PIDFILE
+    pid="$VIRT_PID"
+    running_pid $pid $DAEMON || return 1
+    return 0
+}
+
+force_stop() {
+# Forcefully kill the process
+    [ ! -f "$PIDFILE" ] && return
+    if running ; then
+        kill -15 $pid
+        # Is it really dead?
+        [ -n "$DODTIME" ] && sleep "$DODTIME"s
+        if running ; then
+            kill -9 $pid
+            [ -n "$DODTIME" ] && sleep "$DODTIME"s
+            if running ; then
+                echo "Cannot kill $LABEL (pid=$pid)!"
+                exit 1
+            fi
+        fi
+    fi
+    rm -f $PIDFILE
+    return 0
+}
+
+case "$1" in
+  start)
+	echo -n "Starting $DESC: "
+	cd "$DBBASE" || exit -1
+	$DAEMON -c $NAME +wait
+        if running ; then
+            echo "$NAME."
+        else
+            echo " ERROR."
+        fi
+	;;
+  stop)
+	echo -n "Stopping $DESC: "
+	cd "$DBBASE" || exit -1
+	. ./virtuoso.lck
+	if running ; then
+	    kill $VIRT_PID
+	fi
+	echo "$NAME."
+	;;
+  force-stop)
+	echo -n "Forcefully stopping $DESC: "
+        force_stop
+        if ! running ; then
+            echo "$NAME."
+        else
+            echo " ERROR."
+        fi
+	;;
+  #reload)
+	#
+	#	If the daemon can reload its config files on the fly
+	#	for example by sending it SIGHUP, do it here.
+	#
+	#	If the daemon responds to changes in its config file
+	#	directly anyway, make this a do-nothing entry.
+	#
+	# echo "Reloading $DESC configuration files."
+	# start-stop-daemon --stop --signal 1 --quiet --pidfile \
+	#	/var/run/$NAME.pid --exec $DAEMON
+  #;;
+  force-reload)
+	#
+	#	If the "reload" option is implemented, move the "force-reload"
+	#	option to the "reload" entry above. If not, "force-reload" is
+	#	just the same as "restart" except that it does nothing if the
+	#   daemon isn't already running.
+	# check wether $DAEMON is running. If so, restart
+	start-stop-daemon --stop --test --quiet --pidfile \
+		/var/run/$NAME.pid --exec $DAEMON \
+	&& $0 restart \
+	|| exit 0
+	;;
+  status)
+    echo -n "$LABEL is "
+    if running ;  then
+        echo "running"
+    else
+        echo " not running."
+        exit 1
+    fi
+    ;;
+  *)
+	N=/etc/init.d/$NAME
+	# echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2
+	echo "Usage: $N {start|stop|restart|force-reload|status|force-stop}" >&2
+	exit 1
+	;;
+esac
+
+exit 0


More information about the Lunar-commits mailing list