diff options
author | Harshavardhana <harsha@zresearch.com> | 2009-03-01 05:35:18 -0800 |
---|---|---|
committer | Anand V. Avati <avati@amp.gluster.com> | 2009-03-03 11:44:21 +0530 |
commit | da71d1359c1335997595935dbaa07c5747231861 (patch) | |
tree | 944744ee0a455b3684c20cac18849e5ff19af0f7 | |
parent | b29a555c0be1c0db47c290d61f8c4dfe1e6fecbf (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.ac | 19 | ||||
-rw-r--r-- | extras/init.d/Makefile.am | 11 | ||||
-rwxr-xr-x | extras/init.d/glusterfsd-Debian (renamed from extras/init.d/glusterfs-server) | 2 | ||||
-rwxr-xr-x | extras/init.d/glusterfsd-Redhat (renamed from extras/init.d/glusterfsd) | 2 | ||||
-rwxr-xr-x | extras/init.d/glusterfsd-SuSE | 72 | ||||
-rw-r--r-- | glusterfs.spec.in | 4 |
6 files changed, 102 insertions, 8 deletions
diff --git a/configure.ac b/configure.ac index c5e0da84a8e..d6fadbe541b 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 73e9745cda1..66849af870b 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 975283982b2..dcd3e0c50f1 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 992513157df..2577e9e7647 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 00000000000..ede27b2b3c8 --- /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 24f9e99bbad..ba1a0a66808 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 |