summaryrefslogtreecommitdiff
path: root/community/ejabberd
diff options
context:
space:
mode:
Diffstat (limited to 'community/ejabberd')
-rw-r--r--community/ejabberd/PKGBUILD76
-rw-r--r--community/ejabberd/crash-fix.patch14
-rw-r--r--community/ejabberd/ejabberd.install10
-rw-r--r--community/ejabberd/ejabberd.service3
4 files changed, 84 insertions, 19 deletions
diff --git a/community/ejabberd/PKGBUILD b/community/ejabberd/PKGBUILD
index 189209940..c73e726d7 100644
--- a/community/ejabberd/PKGBUILD
+++ b/community/ejabberd/PKGBUILD
@@ -1,36 +1,88 @@
-# $Id: PKGBUILD 93139 2013-06-25 15:54:26Z spupykin $
+# $Id: PKGBUILD 102533 2013-12-13 10:32:00Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Jeff 'codemac' Mickey <jeff@archlinux.org>
# Contributor: Alexander Rødseth <rodseth@gmail.com>
pkgname=ejabberd
-pkgver=2.1.13
+pkgver=13.12
pkgrel=1
pkgdesc="Jabber server written in Erlang"
arch=('x86_64' 'i686')
url="http://www.ejabberd.im/"
license=("GPL")
-depends=('expat' 'openssl' 'zlib' 'erlang-nox' 'pam' 'iproute2')
-backup=('etc/ejabberd/ejabberd.cfg'
+depends=('expat' 'openssl' 'zlib' 'erlang-nox' 'pam' 'iproute2' 'erlang-unixodbc' 'libyaml')
+makedepends=('git' 'rebar')
+backup=('etc/ejabberd/ejabberd.yml'
'etc/ejabberd/ejabberdctl.cfg'
'etc/logrotate.d/ejabberd')
install=$pkgname.install
-source=("$pkgname-$pkgver.tar.gz::https://github.com/processone/ejabberd/archive/v$pkgver.tar.gz"
+replaces=('ejabberd-mod_mysql' 'ejabberd-mod_mysql-svn'
+ 'ejabberd-mod_pgsql' 'ejabberd-mod_pgsql-svn')
+source=("$pkgname-$pkgver.tar.gz::https://github.com/processone/ejabberd/archive/$pkgver.tar.gz"
+ "p1_cache_tab::git://github.com/processone/cache_tab"
+ "p1_tls::git://github.com/processone/tls"
+ "p1_stringprep::git://github.com/processone/stringprep"
+ "p1_xml::git://github.com/processone/xml"
+ "p1_yaml::git://github.com/processone/p1_yaml"
+ "git://github.com/rds13/xmlrpc"
+ "p1_pam::git://github.com/processone/epam"
+ "p1_zlib::git://github.com/processone/zlib"
+ "git://github.com/basho/lager"
+ "p1_iconv::git://github.com/processone/eiconv"
+ "git://github.com/DeadZen/goldrush.git"
+ "p1_mysql::git://github.com/processone/mysql.git"
+ "p1_pgsql::git://github.com/processone/pgsql.git"
+ "p1_stun::git://github.com/processone/stun"
+ "git://github.com/davisp/jiffy"
+ "git://github.com/cmullaparthi/ibrowse"
+ "git://github.com/esl/lhttpc"
"$pkgname.logrotate"
- "ejabberd.service")
-md5sums=('2a7c3b711b4f7091f811c51b52beb735'
+ "ejabberd.service"
+ "crash-fix.patch")
+md5sums=('6eadb6f190d55c8a679de5496ca0c4a9'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
'f97c8a96160f30e0aecc9526c12e6606'
- 'df32aa17e40a7bc5d9946d3ba6fe5e16')
+ 'a437aff9d7d477fb036d527205617e18'
+ 'ef3dd667dec1627c1597c7f6f3cfcd4a')
+
+prepare() {
+ cd "$srcdir/$pkgname-$pkgver"
+ patch -p1 <$srcdir/crash-fix.patch
+
+ mkdir -p "$srcdir/$pkgname-$pkgver/deps"
+ for i in goldrush lager p1_cache_tab p1_iconv p1_pam \
+ p1_stringprep p1_tls p1_xml p1_yaml p1_zlib xmlrpc \
+ p1_mysql p1_pgsql p1_stun jiffy ibrowse lhttpc; do
+ rm -rf "$srcdir/$pkgname-$pkgver/deps/$i"
+ mv $srcdir/$i "$srcdir/$pkgname-$pkgver/deps"
+ done
+}
build() {
- cd "$srcdir/$pkgname-$pkgver/src"
+ cd "$srcdir/$pkgname-$pkgver"
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
- --enable-pam --enable-odbc
+ --enable-all
make
}
package() {
- cd "$srcdir/$pkgname-$pkgver/src"
+ cd "$srcdir/$pkgname-$pkgver"
make DESTDIR="$pkgdir" install
install -d "$pkgdir/var/lib/$pkgname"
install -D -m0644 "$srcdir/$pkgname.logrotate" "$pkgdir/etc/logrotate.d/$pkgname"
@@ -40,6 +92,8 @@ package() {
chmod a+rx "$pkgdir/usr/bin/ejabberdctl" "$pkgdir/usr/lib/ejabberd/priv/bin/captcha.sh"
rm -rf "$pkgdir/var/lock" "$pkgdir/usr/sbin"
install -Dm0644 $srcdir/ejabberd.service $pkgdir/usr/lib/systemd/system/ejabberd.service
+ # workaround
+ ln -s mod_configure.beam $pkgdir/usr/lib/ejabberd/ebin/configure.beam
}
# vim:set ts=2 sw=2 et:
diff --git a/community/ejabberd/crash-fix.patch b/community/ejabberd/crash-fix.patch
new file mode 100644
index 000000000..7ab803bfe
--- /dev/null
+++ b/community/ejabberd/crash-fix.patch
@@ -0,0 +1,14 @@
+diff -wbBur ejabberd-13.10/src/ejabberd_c2s.erl ejabberd-13.10.q/src/ejabberd_c2s.erl
+--- ejabberd-13.10/src/ejabberd_c2s.erl 2013-09-27 13:19:22.000000000 +0400
++++ ejabberd-13.10.q/src/ejabberd_c2s.erl 2013-11-16 03:37:15.525501597 +0400
+@@ -536,8 +536,8 @@
+ [StateData#state.socket,
+ jlib:jid_to_string(JID), AuthModule]),
+ SID = {now(), self()},
+- Conn = (StateData#state.sockmod):get_conn_type(
+- StateData#state.socket),
++ Conn = get_conn_type(
++ StateData),
+ Info = [{ip, StateData#state.ip}, {conn, Conn},
+ {auth_module, AuthModule}],
+ Res = jlib:make_result_iq_reply(
diff --git a/community/ejabberd/ejabberd.install b/community/ejabberd/ejabberd.install
index 6e586229d..572667084 100644
--- a/community/ejabberd/ejabberd.install
+++ b/community/ejabberd/ejabberd.install
@@ -3,18 +3,14 @@ post_install() {
useradd -r -G jabber -d /var/lib/ejabberd ejabberd
chown -R ejabberd.jabber /var/log/ejabberd
chown -R ejabberd.jabber /var/lib/ejabberd
- chown root:ejabberd /usr/lib/ejabberd/priv/bin/epam
- chown root:ejabberd /etc/ejabberd/ejabberd.cfg /etc/ejabberd/ejabberdctl.cfg /etc/ejabberd
- chmod 4750 /usr/lib/ejabberd/priv/bin/epam
+ chown root:ejabberd /etc/ejabberd/ejabberd.yml /etc/ejabberd/ejabberdctl.cfg /etc/ejabberd
}
post_upgrade() {
chown -R ejabberd.jabber /var/log/ejabberd
chown -R ejabberd.jabber /var/lib/ejabberd
- chown root:ejabberd /etc/ejabberd/ejabberd.cfg /etc/ejabberd/ejabberdctl.cfg /etc/ejabberd
- chown root:ejabberd /usr/lib/ejabberd/priv/bin/epam
- chmod 4750 /usr/lib/ejabberd/priv/bin/epam
- echo ">> ejabberd looks into /var/lib/ejabberd for mnesia db now"
+ chown root:ejabberd /etc/ejabberd/ejabberd.yml /etc/ejabberd/ejabberdctl.cfg /etc/ejabberd
+ echo "!!! it is major update. Config must be converted to yaml format."
}
post_remove() {
diff --git a/community/ejabberd/ejabberd.service b/community/ejabberd/ejabberd.service
index 036cc7c53..7de4e8d00 100644
--- a/community/ejabberd/ejabberd.service
+++ b/community/ejabberd/ejabberd.service
@@ -7,7 +7,8 @@ Type=forking
User=ejabberd
LimitNOFILE=16000
RestartSec=5
-ExecStart=/usr/bin/erl -pa /usr/lib/ejabberd/ebin -sname ejabberd -s ejabberd -ejabberd config \"/etc/ejabberd/ejabberd.cfg\" log_path \"/var/log/ejabberd/ejabberd.log\" -sasl sasl_error_logger \{file,\"/var/log/ejabberd/sasl.log\"\} -mnesia dir \"/var/lib/ejabberd\" -detached -kernel inetrc \"/etc/ejabberd/inetrc\"
+ExecStart=/usr/bin/ejabberdctl start
+ExecStop=/usr/bin/ejabberdctl stop
[Install]
WantedBy=multi-user.target