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()
{
|