aboutsummaryrefslogtreecommitdiffstats
path: root/testing/ejabberd/ejabberd-16.01-ejabberdctl.patch
blob: 85580179ee3803c07c931e14c8ca4c2483c8f73d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
Set SHELL since the generic jabber user used on Gentoo for jabber servers
doesn't have a valid shell set by default and fix EXEC_CMD otherwise it fails
with "This account is currently not available" again due to jabber not having
a valid shell.

Also, workaround the assumption that jabber's $HOME is a directory when instead
it defaults to /dev/null on Gentoo.

--- a/ejabberdctl.template	2016-01-12 11:07:58.000000000 +0000
+++ b/ejabberdctl.template.new	2016-02-15 21:36:27.508297627 +0000
@@ -16,6 +16,7 @@
 EPMD={{bindir}}/epmd
 INSTALLUSER={{installuser}}
 ERL_LIBS={{libdir}}
+SHELL=/bin/sh
 
 # check the proper system user is used if defined
 if [ "$INSTALLUSER" != "" ] ; then
@@ -23,11 +24,11 @@
     for GID in `id -G`; do
         if [ $GID -eq 0 ] ; then
             INSTALLUSER_HOME=$(getent passwd "$INSTALLUSER" | cut -d: -f6)
-            if [ -n "$INSTALLUSER_HOME" ] && [ ! -d "$INSTALLUSER_HOME" ] ; then
+            if [ -n "$INSTALLUSER_HOME" ] && [ ! -e "$INSTALLUSER_HOME" ] ; then
                 mkdir -p "$INSTALLUSER_HOME"
                 chown "$INSTALLUSER" "$INSTALLUSER_HOME"
             fi
-            EXEC_CMD="su $INSTALLUSER -c"
+            EXEC_CMD="su $INSTALLUSER -p -c"
         fi
     done
     if [ `id -g` -eq `id -g $INSTALLUSER` ] ; then
@@ -100,6 +101,7 @@
 DATETIME=`date "+%Y%m%d-%H%M%S"`
 ERL_CRASH_DUMP=$LOGS_DIR/erl_crash_$DATETIME.dump
 ERL_INETRC=$ETC_DIR/inetrc
+HOME=$SPOOL_DIR
 
 # define mnesia options
 MNESIA_OPTS="-mnesia dir \"\\\"$SPOOL_DIR\\\"\" $MNESIA_OPTIONS"
@@ -159,6 +161,8 @@
 export CONTRIB_MODULES_PATH
 export CONTRIB_MODULES_CONF_DIR
 export ERL_LIBS
+export HOME
+export SHELL
 
 shell_escape()
 {