diff options
author | Nicolás Reynolds <fauno@endefensadelsl.org> | 2013-12-27 23:55:53 +0000 |
---|---|---|
committer | Nicolás Reynolds <fauno@endefensadelsl.org> | 2013-12-27 23:55:53 +0000 |
commit | 65eeff79fff8a1bfdf67ca51d147384f46f4d5c0 (patch) | |
tree | fbfdff322b28d9a3c37e6e31c94caf1d8e48dac1 /community/ejabberd | |
parent | d53c44f055929b18d7d1b25f8367ee5836c435fc (diff) |
Fri Dec 27 23:54:04 UTC 2013
Diffstat (limited to 'community/ejabberd')
-rw-r--r-- | community/ejabberd/PKGBUILD | 76 | ||||
-rw-r--r-- | community/ejabberd/crash-fix.patch | 14 | ||||
-rw-r--r-- | community/ejabberd/ejabberd.install | 10 | ||||
-rw-r--r-- | community/ejabberd/ejabberd.service | 3 |
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 |