summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAmadeusz Żołnowski <aidecoe@gentoo.org>2016-06-07 22:25:53 +0100
committerAmadeusz Żołnowski <aidecoe@gentoo.org>2016-06-07 23:20:59 +0100
commit20ab4701fdfda1cd492f6b3f649c089514a8d624 (patch)
tree35ca1a742ec711ac3eaf11aa10f11cfb0aca9a8b /net-im/ejabberd/files
parentdev-erlang/stun: Add new package (diff)
downloadgentoo-20ab4701fdfda1cd492f6b3f649c089514a8d624.tar.gz
gentoo-20ab4701fdfda1cd492f6b3f649c089514a8d624.tar.bz2
gentoo-20ab4701fdfda1cd492f6b3f649c089514a8d624.zip
net-im/ejabberd: Bump version
Remove obsolete flags. 'ssl' flag is removed because TLS support is not optional. 'tools' flag is temporarily removed because of problematic dependency. It may be restored in the future, although it just controls whether development tools should be installed. Debundle ejabberd dependencies. Use system rebar instead of bundled one. Access epam binary via wrapper with ejabberd user ownership. Fix epam binary localisation. Correct path to captcha command. Skip installing docs from Makefile, because this only install COPYING. Restrict test because test suite doesn't work out of the box. It needs database set up first. Rebase ejabberctl patch. Refactor ebuild and bump EAPI to 6. Correct funny capitalization in description. Package-Manager: portage-2.3.0_rc1
Diffstat (limited to 'net-im/ejabberd/files')
-rw-r--r--net-im/ejabberd/files/ejabberd-16.04-ejabberdctl.patch49
-rw-r--r--net-im/ejabberd/files/epam-wrapper21
2 files changed, 70 insertions, 0 deletions
diff --git a/net-im/ejabberd/files/ejabberd-16.04-ejabberdctl.patch b/net-im/ejabberd/files/ejabberd-16.04-ejabberdctl.patch
new file mode 100644
index 000000000000..de2acd5aa017
--- /dev/null
+++ b/net-im/ejabberd/files/ejabberd-16.04-ejabberdctl.patch
@@ -0,0 +1,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 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()
+ {
diff --git a/net-im/ejabberd/files/epam-wrapper b/net-im/ejabberd/files/epam-wrapper
new file mode 100644
index 000000000000..a22793c86c03
--- /dev/null
+++ b/net-im/ejabberd/files/epam-wrapper
@@ -0,0 +1,21 @@
+#!/bin/sh
+
+ERL_LIBS=/usr/lib/erlang/lib
+
+for bin in "$ERL_LIBS"/p1_pam-*/priv/bin/epam; do
+ if [ -x "$bin" ]; then
+ if [ -z "$epam" ]; then
+ epam="$bin"
+ else
+ echo "Multiple p1_pam libraries - don't know what to do" >&2
+ exit 1
+ fi
+ fi
+done
+
+if [ -z "$epam" ]; then
+ echo "Couldn't find p1_pam package" >&2
+ exit 1
+fi
+
+exec "$epam"