diff --git a/src/Makefile.in b/src/Makefile.in index 7b2e20e31..484b1a0d5 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -21,11 +21,13 @@ ifeq ($(INSTALLUSER),) G_USER= CHOWN_COMMAND=echo CHOWN_OUTPUT=/dev/null + INIT_USER=root else O_USER=-o $(INSTALLUSER) G_USER=-g $(INSTALLUSER) CHOWN_COMMAND=chown CHOWN_OUTPUT=&1 + INIT_USER=$(INSTALLUSER) endif EFLAGS += -pa . @@ -186,6 +188,11 @@ install: all [ -d $(SBINDIR) ] || install -d -m 755 $(SBINDIR) install -m 550 $(G_USER) ejabberdctl.example $(SBINDIR)/ejabberdctl # + # Init script + sed -e "s*@ctlscriptpath@*$(SBINDIR)*" \ + -e "s*@installuser@*$(INIT_USER)*" ejabberd.init.template \ + > ejabberd.init + # # Binary Erlang files install -d $(BEAMDIR) install -m 644 *.app $(BEAMDIR) diff --git a/src/ejabberd.init.template b/src/ejabberd.init.template index 948e5c4d0..6659557b6 100644 --- a/src/ejabberd.init.template +++ b/src/ejabberd.init.template @@ -2,11 +2,11 @@ set -o errexit set -o nounset -DIR=@@INSTALLDIR@@ -CTL="$DIR"/bin/ejabberdctl -USER=ejabberd +DIR=@ctlscriptpath@ +CTL="$DIR"/ejabberdctl +USER=@installuser@ -test -d "$DIR" || { +test -x "$CTL" || { echo "ERROR: ejabberd not found: $DIR" exit 1 }