%define name ejabberd %define version 2.1.6 %define taglevel 3 Name: %{name} Version: %{version} Release: %{taglevel}%{?pldistro:.%{pldistro}}%{?date:.%{date}} Summary: A distributed, fault-tolerant Jabber/XMPP server Group: Applications/Internet License: GPLv2+ URL: http://www.ejabberd.im/ Source0: http://www.process-one.net/downloads/%{name}/%{version}/%{name}-%{version}.tar.gz Source1: ejabberd.init Source2: ejabberd.logrotate Source3: ejabberd.sysconfig # PAM support Source9: ejabberdctl.pam Source10: ejabberdctl.apps Source11: ejabberd.pam BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: expat-devel BuildRequires: openssl-devel BuildRequires: pam-devel BuildRequires: erlang #BuildRequires: hevea Requires: erlang Requires: usermode Requires(pre): fedora-usermgmt Requires(post): /sbin/chkconfig Requires(post): /usr/bin/openssl Requires(preun): /sbin/chkconfig Requires(preun): /sbin/service Requires(postun): /sbin/service %description ejabberd is a Free and Open Source distributed fault-tolerant Jabber/XMPP server. It is mostly written in Erlang, and runs on many platforms (tested on Linux, FreeBSD, NetBSD, Solaris, Mac OS X and Windows NT/2000/XP). %package doc Summary: Documentation for ejabberd Group: Documentation %description doc Documentation for ejabberd. %pre /usr/sbin/fedora-groupadd 27 -r ejabberd &>/dev/null || : /usr/sbin/fedora-useradd 27 -r -s /sbin/nologin -d /var/lib/ejabberd -M \ -c 'ejabberd' -g ejabberd ejabberd &>/dev/null || : %post /sbin/chkconfig --add ejabberd (cd /etc/ejabberd if [ ! -f ejabberd.pem ] then echo "Generating SSL certificate /etc/ejabberd/ejabberd.pem..." HOSTNAME=$(hostname -s 2>/dev/null || echo "localhost") DOMAINNAME=$(hostname -d 2>/dev/null || echo "localdomain") openssl req -new -x509 -days 365 -nodes -out ejabberd.pem \ -keyout ejabberd.pem > /dev/null 2>&1 <<+++ . . . $DOMAINNAME $HOSTNAME ejabberd root@$HOSTNAME.$DOMAINNAME +++ chown ejabberd:ejabberd ejabberd.pem chmod 600 ejabberd.pem fi) %preun if [ $1 = 0 ]; then /sbin/service ejabberd stop >/dev/null 2>&1 || : /sbin/chkconfig --del ejabberd || : fi %postun if [ "$1" -ge "1" ]; then /sbin/service ejabberd condrestart >/dev/null 2>&1 || : fi %prep %setup -q %build pushd src %configure --enable-odbc --enable-debug --enable-pam # doesn't builds on SMP currently make popd %install rm -rf %{buildroot} pushd src make install DESTDIR=%{buildroot} popd chmod a+x %{buildroot}%{_libdir}/%{name}/priv/lib/*.so %{__perl} -pi -e 's!./ssl.pem!/etc/ejabberd/ejabberd.pem!g' %{buildroot}/etc/ejabberd/ejabberd.cfg mkdir -p %{buildroot}/var/log/ejabberd mkdir -p %{buildroot}/var/lib/ejabberd/spool mkdir -p %{buildroot}%{_bindir} ln -s consolehelper %{buildroot}%{_bindir}/ejabberdctl install -D -p -m 0644 %{S:9} %{buildroot}%{_sysconfdir}/pam.d/ejabberdctl install -D -p -m 0644 %{S:10} %{buildroot}%{_sysconfdir}/security/console.apps/ejabberdctl install -D -p -m 0644 %{S:11} %{buildroot}%{_sysconfdir}/pam.d/ejabberd # install init-script install -D -p -m 0755 %{S:1} %{buildroot}%{_initrddir}/ejabberd # install config for logrotate install -D -p -m 0644 %{S:2} %{buildroot}%{_sysconfdir}/logrotate.d/ejabberd # install sysconfig file install -D -p -m 0644 %{S:3} %{buildroot}%{_sysconfdir}/sysconfig/ejabberd %{__perl} -pi -e 's!\@libdir\@!%{_libdir}!g' %{buildroot}%{_initrddir}/ejabberd %{buildroot}%{_sysconfdir}/logrotate.d/ejabberd %{buildroot}%{_sbindir}/ejabberdctl %{__perl} -pi -e 's!\@version\@!%{version}!g' %{buildroot}%{_initrddir}/ejabberd %{buildroot}%{_sysconfdir}/logrotate.d/ejabberd %{buildroot}%{_sbindir}/ejabberdctl # BZ# 439583 %{__perl} -pi -e 's!MAINDIR=!MAINDIR=%{_libdir}/ejabberd!g' %{buildroot}%{_sbindir}/ejabberdctl %clean rm -rf %{buildroot} %files %defattr(-,root,root,-) %doc COPYING src/odbc/mysql.sql src/odbc/pg.sql tools/captcha.sh %attr(750,ejabberd,ejabberd) %dir %{_sysconfdir}/ejabberd %attr(640,ejabberd,ejabberd) %config(noreplace) %{_sysconfdir}/ejabberd/ejabberd.cfg %attr(640,ejabberd,ejabberd) %config(noreplace) %{_sysconfdir}/ejabberd/ejabberdctl.cfg %attr(640,ejabberd,ejabberd) %config(noreplace) %{_sysconfdir}/ejabberd/inetrc %{_initrddir}/ejabberd %config(noreplace) %{_sysconfdir}/logrotate.d/ejabberd %config(noreplace) %{_sysconfdir}/sysconfig/ejabberd %config(noreplace) %{_sysconfdir}/pam.d/ejabberd %config(noreplace) %{_sysconfdir}/pam.d/ejabberdctl %config(noreplace) %{_sysconfdir}/security/console.apps/ejabberdctl %{_bindir}/ejabberdctl %{_sbindir}/ejabberdctl %dir %{_libdir}/%{name} %dir %{_libdir}/%{name}/include %dir %{_libdir}/%{name}/ebin %dir %{_libdir}/%{name}/priv %dir %{_libdir}/%{name}/priv/bin %attr(4750,root,ejabberd) %{_libdir}/%{name}/priv/bin/epam %dir %{_libdir}/%{name}/priv/lib %dir %{_libdir}/%{name}/priv/msgs %{_libdir}/%{name}/include/* %{_libdir}/%{name}/ebin/*.app %{_libdir}/%{name}/ebin/*.beam %{_libdir}/%{name}/priv/lib/*.so %{_libdir}/%{name}/priv/msgs/*.msg %{_libdir}/%{name}/priv/bin/captcha.sh %attr(750,ejabberd,ejabberd) %dir /var/lib/ejabberd %attr(750,ejabberd,ejabberd) %dir /var/lib/ejabberd/spool %attr(750,ejabberd,ejabberd) %dir /var/lock/ejabberdctl %attr(750,ejabberd,ejabberd) %dir /var/log/ejabberd %files doc %defattr(-,root,root,-) /usr/share/doc %changelog * Mon Jan 30 2012 Thierry Parmentelat - ejabberd-2.1.6-3 - search third-party in dual location * Tue Dec 21 2010 S.Çağlar Onur - ejabberd-2.1.6-2 * Tue Dec 21 2010 S.Çağlar Onur - ejabberd-2.1.6-1 - Bump to 2.1.6 * Wed Dec 01 2010 Thierry Parmentelat - ejabberd-2.1.3-2 - preun and postun scriptlets more robust * Mon Mar 16 2010 Baris Metin - first package from Fedora SRPM, for planetlab