X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=ejabberd.spec;h=1483c3d223af7ec2d85e7d5f0441f58e8ef7fdc4;hb=3f2196e793b5d1e36f5c510163cd6cd5b48b89d7;hp=defe8bf608469673a35fd047a204a3cdb512eac1;hpb=6f0d08c17ac4a500d61126696727203bc39b1b73;p=packages%2Fejabberd.git diff --git a/ejabberd.spec b/ejabberd.spec index defe8bf..1483c3d 100644 --- a/ejabberd.spec +++ b/ejabberd.spec @@ -1,107 +1,167 @@ +# +# Conditional build: +%bcond_with pam # PAM authentication support +%bcond_without logdb # enable mod_logdb (server-side message logging) +# + +%define realname ejabberd + +%define pgsql_module_rev 1105 + Summary: Fault-tolerant distributed Jabber/XMPP server -Summary(pl): Odporny na awarie rozproszony serwer Jabbera/XMPP -Name: ejabberd -Version: 0.9 +Summary(pl.UTF-8): Odporny na awarie rozproszony serwer Jabbera/XMPP +Name: %{realname} +Version: 2.1.11 Release: 1 License: GPL Group: Applications/Communications -Source0: http://www.process-one.net/en/projects/ejabberd/download/%{version}/%{name}-%{version}.tar.gz -# Source0-md5: 9c349cddb6d0b144c12d277b17ce5e65 -Source1: %{name}.init -Source2: %{name}.sysconfig -Source3: %{name}.sh -Source4: %{name}ctl.sh -Patch0: %{name}-makefile.patch -Patch1: %{name}-config.patch -Patch3: %{name}-mod_muc.patch -URL: http://ejabberd.jabberstudio.org/ +Source0: http://www.process-one.net/downloads/ejabberd/%{version}/%{realname}-%{version}.tgz +# Source0-md5: a70b040c4e7602f47718c8afe8780d50 +Source1: %{realname}.init +Source2: %{realname}.sysconfig +Source3: %{realname}.sh +Source4: %{realname}ctl.sh +Source5: %{realname}-inetrc +# svn export -r %{pgsql_module_rev} https://svn.process-one.net/ejabberd-modules/pgsql/trunk/src ejabberd-module-pgsql-%{pgsql_module_rev} +Source6: ejabberd-module-pgsql-%{pgsql_module_rev}.tar.bz2 +# Source6-md5: 7a8ba920a508f5180284699610789c14 +Patch0: %{realname}-makefile.patch +Patch1: %{realname}-config.patch +Patch2: %{realname}-mod_muc.patch +# http://www.dp.uz.gov.ua/o.palij/mod_logdb/patch-src-mod_logdb-2.1.0.diff +Patch3: %{realname}-mod_logdb.patch +Patch4: %{realname}-vcard-access-get.patch +URL: http://www.ejabberd.im/ BuildRequires: autoconf -BuildRequires: erlang >= R8B +BuildRequires: automake +BuildRequires: erlang >= R10B_5 BuildRequires: expat-devel >= 1.95 BuildRequires: openssl-devel -PreReq: rc-scripts -Requires(post): jabber-common -Requires(post): textutils +%if %{with pam} +BuildRequires: pam-devel +%endif +BuildRequires: rpmbuild(macros) >= 1.268 +BuildRequires: zlib-devel Requires(post): /usr/bin/perl +Requires(post): jabber-common +Requires(post): sed >= 4.0 +Requires(post): textutils Requires(post,preun): /sbin/chkconfig Requires: erlang +Requires: expat >= 1.95 +Requires: rc-scripts BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %description ejabberd is a Free and Open Source fault-tolerant distributed Jabber server. It is written mostly in Erlang. -%description -l pl -ejabberd to darmowy, z otwartymi ¼ród³ami, odporny na awarie -rozproszony serwer Jabbera. Jest napisany w wiêkszo¶ci w Erlangu. +%description -l pl.UTF-8 +ejabberd to darmowy, z otwartymi źródłami, odporny na awarie +rozproszony serwer Jabbera. Jest napisany w większości w Erlangu. + +%package logdb +Summary: Server-side logging module +Group: Applications/Communications +Requires: %{name} = %{version}-%{release} + +%description logdb +Server-side logging module. %prep -%setup -q -n %name +%setup -q -a 6 %patch0 -p1 %patch1 -p1 -%patch3 -p1 +%patch2 -p1 +%patch4 -p1 +%if %{with logdb} +cd src +%patch3 -p0 +%endif %build cd src +%{__aclocal} %{__autoconf} -%configure -%{__make} +%configure \ + %{?with_pam --enable-pam} \ + --with-openssl=%{_prefix} \ + --enable-odbc +%{__make} -j1 +cd .. +cd ejabberd-module-pgsql-%{pgsql_module_rev} +for f in *.erl ; do + erlc $f +done cd .. %install rm -rf $RPM_BUILD_ROOT -install -d $RPM_BUILD_ROOT{/var/lib/%{name},/etc/{sysconfig,rc.d/init.d},%{_sbindir}} +install -d $RPM_BUILD_ROOT{/var/lib/%{realname},/etc/{sysconfig,rc.d/init.d},%{_sbindir}} + +%{__make} -C src install -j1 \ + DESTDIR=$RPM_BUILD_ROOT -%{__make} -C src install \ - DESTDIR=$RPM_BUILD_ROOT +sed -e's,@libdir@,%{_libdir},g' -e 's,@EJABBERD_DOC_PATH@,%{_docdir}/%{name}-%{version}/doc,g' %{SOURCE1} > $RPM_BUILD_ROOT/etc/rc.d/init.d/%{realname} +install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/%{realname} -sed -e's,@libdir@,%{_libdir},g' %{SOURCE1} > $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name} -install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/%{name} +chmod u+rw $RPM_BUILD_ROOT%{_sbindir}/%{realname}* +sed -e's,@libdir@,%{_libdir},g' %{SOURCE3} > $RPM_BUILD_ROOT%{_sbindir}/%{realname} +sed -e's,@libdir@,%{_libdir},g' %{SOURCE4} > $RPM_BUILD_ROOT%{_sbindir}/%{realname}ctl +install %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/jabber -sed -e's,@libdir@,%{_libdir},g' %{SOURCE3} > $RPM_BUILD_ROOT/%{_sbindir}/%{name} -sed -e's,@libdir@,%{_libdir},g' %{SOURCE4} > $RPM_BUILD_ROOT/%{_sbindir}/%{name}ctl +chmod 755 $RPM_BUILD_ROOT%{_libdir}/ejabberd/priv/lib/*.so + +cd ejabberd-module-pgsql-%{pgsql_module_rev} +for f in *.beam ; do + install $f $RPM_BUILD_ROOT%{_libdir}/ejabberd/ebin +done +cd .. %clean rm -rf $RPM_BUILD_ROOT %post -if [ -f /etc/jabber/secret ] ; then - SECRET=`cat /etc/jabber/secret` +if [ -f %{_sysconfdir}/jabber/secret ] ; then + SECRET=`cat %{_sysconfdir}/jabber/secret` if [ -n "$SECRET" ] ; then echo "Updating component authentication secret in ejabberd config file..." - perl -pi -e "s/>secretsecret$SECRET /etc/jabber/cookie +if [ ! -f %{_sysconfdir}/jabber/cookie ] ; then + echo "Generating erl authentication cookie..." + umask 066 + perl -e 'open R,"/dev/urandom"; read R,$r,16; + printf "%02x",ord(chop $r) while($r);' > %{_sysconfdir}/jabber/cookie fi /sbin/chkconfig --add ejabberd -if [ -r /var/lock/subsys/ejabberd ]; then - /etc/rc.d/init.d/ejabberd restart >&2 -else - echo "Run \"/etc/rc.d/init.d/ejabberd start\" to start ejabberd server." -fi +%service ejabberd restart "ejabberd server" %preun if [ "$1" = "0" ]; then - if [ -r /var/lock/subsys/ejabberd ]; then - /etc/rc.d/init.d/ejabberd stop >&2 - fi + %service ejabberd stop /sbin/chkconfig --del ejabberd fi %files %defattr(644,root,root,755) -%doc ChangeLog doc +%doc doc src/odbc/pg.sql src/odbc/mysql.sql %attr(755,root,root) %{_sbindir}/* -%attr(640,root,jabber) %config(noreplace) %verify(not md5 size mtime) /etc/jabber/* +%attr(640,root,jabber) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/jabber/* %attr(770,root,jabber) /var/log/ejabberd +%if %{with logdb} +%exclude %{_libdir}/ejabberd/ebin/mod_logdb* +%endif %{_libdir}/ejabberd %dir %attr(770,root,jabber) /var/lib/ejabberd -%attr(754,root,root) /etc/rc.d/init.d/%{name} -%attr(640,root,root) %config(noreplace) %verify(not md5 size mtime) /etc/sysconfig/%{name} +%attr(754,root,root) /etc/rc.d/init.d/%{realname} +%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{realname} + +%if %{with logdb} +%files logdb +%defattr(644,root,root,755) +%{_libdir}/ejabberd/ebin/mod_logdb* +%endif