summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarshavardhana <harsha@zresearch.com>2009-03-01 05:35:18 -0800
committerAnand V. Avati <avati@amp.gluster.com>2009-03-03 11:44:21 +0530
commitda71d1359c1335997595935dbaa07c5747231861 (patch)
tree944744ee0a455b3684c20cac18849e5ff19af0f7
parentb29a555c0be1c0db47c290d61f8c4dfe1e6fecbf (diff)
Added proper handling for the init scripts for (Debian, Ubuntu, SuSE, Redhat), SuSE init script also added.
* Init scripts added for Debian, Redhat, SuSE distribution, each are installed by checking each distribution specific. Tested on 1. Debian, Ubuntu. 2. Redhat, CentOS. 3. OpenSUSE. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
-rw-r--r--configure.ac19
-rw-r--r--extras/init.d/Makefile.am11
-rwxr-xr-xextras/init.d/glusterfsd-Debian (renamed from extras/init.d/glusterfs-server)2
-rwxr-xr-xextras/init.d/glusterfsd-Redhat (renamed from extras/init.d/glusterfsd)2
-rwxr-xr-xextras/init.d/glusterfsd-SuSE72
-rw-r--r--glusterfs.spec.in4
6 files changed, 102 insertions, 8 deletions
diff --git a/configure.ac b/configure.ac
index c5e0da84a..d6fadbe54 100644
--- a/configure.ac
+++ b/configure.ac
@@ -490,6 +490,25 @@ if test "x${have_fdatasync}" = "xyes"; then
AC_DEFINE(HAVE_FDATASYNC, 1, [define if fdatasync exists])
fi
+# Check the distribution where you are compiling glusterfs on
+
+GF_DISTRIBUTION=
+AC_CHECK_FILE([/etc/debian_version])
+AC_CHECK_FILE([/etc/SuSE-release])
+AC_CHECK_FILE([/etc/redhat-release])
+
+if test "x$ac_cv_file__etc_debian_version" = "xyes"; then
+ GF_DISTRIBUTION=Debian
+fi
+if test "x$ac_cv_file__etc_SuSE_release" = "xyes"; then
+ GF_DISTRIBUTION=SuSE
+fi
+if test "x$ac_cv_file__etc_redhat_release" = "xyes"; then
+ GF_DISTRIBUTION=Redhat
+fi
+
+AC_SUBST(GF_DISTRIBUTION)
+
GF_HOST_OS=""
GF_LDFLAGS="-rdynamic"
diff --git a/extras/init.d/Makefile.am b/extras/init.d/Makefile.am
index 73e9745cd..66849af87 100644
--- a/extras/init.d/Makefile.am
+++ b/extras/init.d/Makefile.am
@@ -1,12 +1,15 @@
-EXTRA_DIST = glusterfsd glusterfs-server glusterfs-server.plist
+EXTRA_DIST = glusterfsd-Debian glusterfsd-Redhat glusterfsd-SuSE glusterfs-server.plist
CLEANFILES =
-initdir = $(sysconfdir)/init.d
-init_DATA = glusterfsd
+initdir = /etc/init.d
-install-data-local:
+$(GF_DISTRIBUTION):
+ $(mkdir_p) $(DESTDIR)$(initdir)
+ cp glusterfsd-$(GF_DISTRIBUTION) $(DESTDIR)$(initdir)/glusterfsd
+
+install-data-local: $(GF_DISTRIBUTION)
if GF_DARWIN_HOST_OS
cp glusterfs-server.plist /Library/LaunchDaemons/com.zresearch.glusterfs.plist
endif
diff --git a/extras/init.d/glusterfs-server b/extras/init.d/glusterfsd-Debian
index 975283982..dcd3e0c50 100755
--- a/extras/init.d/glusterfs-server
+++ b/extras/init.d/glusterfsd-Debian
@@ -17,7 +17,7 @@ NAME=glusterfsd
SCRIPTNAME=/etc/init.d/$NAME
DAEMON=/usr/sbin/$NAME
PIDFILE=/var/run/$NAME.pid
-CONFIGFILE=/etc/glusterfs/server.vol
+CONFIGFILE=/etc/glusterfs/glusterfsd.vol
GLUSTERFS_OPTS="-f $CONFIGFILE"
PID=`test -f $PIDFILE && cat $PIDFILE`
diff --git a/extras/init.d/glusterfsd b/extras/init.d/glusterfsd-Redhat
index 992513157..2577e9e76 100755
--- a/extras/init.d/glusterfsd
+++ b/extras/init.d/glusterfsd-Redhat
@@ -14,7 +14,7 @@ RETVAL=0
# Start the service $BASE
start()
{
- echo -n $"Starting $BASE:"
+ echo $"Starting $BASE:"
daemon $GSERVER
RETVAL=$?
[ $RETVAL -ne 0 ] && exit $RETVAL
diff --git a/extras/init.d/glusterfsd-SuSE b/extras/init.d/glusterfsd-SuSE
new file mode 100755
index 000000000..ede27b2b3
--- /dev/null
+++ b/extras/init.d/glusterfsd-SuSE
@@ -0,0 +1,72 @@
+#!/bin/bash
+#
+### BEGIN INIT INFO
+# Provides: glusterfsd
+# Required-Start: $local_fs $network
+# Required-Stop:
+# Default-Start: 3 5
+# Default-Stop:
+# Short-Description: GlusterFS server daemon
+# Description: All necessary services for GlusterFS clients
+### END INIT INFO
+
+# Get function from functions library
+
+. /etc/rc.status
+
+BASE=glusterfsd
+GSERVER="/usr/sbin/$BASE -f /etc/glusterfs/glusterfsd.vol"
+RETVAL=0
+
+# Start the service $BASE
+start()
+{
+ echo -n $"Starting $BASE:"
+ startproc $GSERVER
+ return $?
+}
+
+# Stop the service $BASE
+stop()
+{
+ echo $"Stopping $BASE:"
+ killproc $BASE
+ return $?
+}
+
+
+### service arguments ###
+case $1 in
+ start)
+ start || {
+ rc_status -v
+ rc_exit
+ }
+ rc_status -v
+ ;;
+ stop)
+ stop || {
+ rc_status -v
+ rc_exit
+ }
+ rc_status -v
+ ;;
+ status)
+ echo -n " glusterfsd"
+ if ! checkproc $BASE ;then
+ echo " not running"
+ rc_failed 3
+ fi
+ rc_status -v
+ ;;
+ restart)
+ $0 stop
+ $0 start
+ rc_status
+ ;;
+ *)
+ echo $"Usage: $0 {start|stop|status|restart}."
+ exit 1
+esac
+
+exit 0
diff --git a/glusterfs.spec.in b/glusterfs.spec.in
index 24f9e99bb..ba1a0a668 100644
--- a/glusterfs.spec.in
+++ b/glusterfs.spec.in
@@ -61,7 +61,7 @@ Requires: apache >= 1.3
%endif
%endif
BuildRequires: libtool
-BuildRequires: byacc bison flex
+BuildRequires: bison flex
BuildRequires: gcc
BuildRequires: make
URL: ftp://ftp.zresearch.com/pub/gluster/glusterfs/1.4-qa/@PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz
@@ -154,7 +154,7 @@ This package provides the development libraries.
%_prefix/sbin/glusterfsd
%_mandir/man8/glusterfs.8.gz
%_infodir/user-guide.info.gz
-%_sysconfdir/init.d/glusterfsd
+%config %_sysconfdir/init.d/glusterfsd
%exclude %_infodir/dir
%if %with_client