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>
This commit is contained in:
Harshavardhana 2009-03-01 05:35:18 -08:00 committed by Anand V. Avati
parent b29a555c0b
commit da71d1359c
6 changed files with 102 additions and 8 deletions

View File

@ -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"

View File

@ -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

View File

@ -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`

View File

@ -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

72
extras/init.d/glusterfsd-SuSE Executable file
View File

@ -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

View File

@ -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