# $Id: ejabberd.spec,v 1.6 2008/06/25 20:50:43 gnujpl Exp $ # Authority: gnujpl # Name: Jean-Paul Leclère Name: ejabberd Version: 2.0.1 Release: 4%{?dist} 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}_2.tar.gz Source1: ejabberd.init Source2: ejabberd.logrotate # http://ejabberd.jabber.ru/ejabberdctl-extra Source4: https://svn.process-one.net/ejabberd-modules/mod_ctlextra/trunk/src/mod_ctlextra.erl # The following were extracted from a patch found on http://realloc.spb.ru/share/ejabberdad.html Source5: ejabberd_auth_ad.erl Source6: mod_shared_roster_ad.erl Source7: mod_vcard_ad.erl # #Source8: ejabberdctl Source9: ejabberdctl.pam Source10: ejabberdctl.apps # Fedora-specific stuff - fixing paths Patch1: ejabberd-build.patch # BZ# 439583, 452326, 451554 Patch2: ejabberd-ejabberdctl_fix.diff BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: expat-devel BuildRequires: openssl-devel BuildRequires: pam-devel BuildRequires: erlang BuildRequires: dos2unix %if %{?rhel:0}%{!?rhel:1} BuildRequires: hevea %endif Requires: erlang Requires: usermode #Requires(pre): fedora-usermgmt Requires(post): /sbin/chkconfig Requires(preun): /sbin/chkconfig Requires(preun): /sbin/service Requires(postun): /sbin/service #https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=250253 ExcludeArch: ppc64 %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/groupadd 33 -r ejabberd &>/dev/null || : /usr/sbin/useradd 33 -r -s /sbin/nologin -d /var/lib/ejabberd -M \ -c 'ejabberd' -g ejabberd ejabberd &>/dev/null || : %post /sbin/chkconfig --add ejabberd %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 -n %{name}-%{version} %patch1 -p0 -b .fix_paths %patch2 -p0 -b .fix_user dos2unix src/odbc/mssql.sql cp %{S:4} src cp %{S:5} src cp %{S:6} src cp %{S:7} src %build pushd src %configure --enable-odbc --enable-debug --enable-pam # doesn't builds on SMP currently make popd %if %{?rhel:0}%{!?rhel:1} pushd doc make html pdf popd %endif %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 0755 %{S:8} %{buildroot}%{_sbindir}/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 mkdir -p %{buildroot}%{_initrddir} install -p -m 0755 %{S:1} %{buildroot}%{_initrddir}/ejabberd chmod a+x %{buildroot}%{_initrddir}/ejabberd mkdir -p %{buildroot}%{_sysconfdir}/logrotate.d cp -p %{S:2} %{buildroot}%{_sysconfdir}/logrotate.d/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/mssql.sql src/odbc/pg.sql %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}/pam.d/ejabberdctl %config(noreplace) %{_sysconfdir}/security/console.apps/ejabberdctl %{_bindir}/ejabberdctl %{_sbindir}/ejabberdctl %dir %{_libdir}/%{name} %dir %{_libdir}/%{name}/ebin %dir %{_libdir}/%{name}/priv %dir %{_libdir}/%{name}/priv/bin %dir %{_libdir}/%{name}/priv/lib %dir %{_libdir}/%{name}/priv/msgs %{_libdir}/%{name}/ebin/*.app %{_libdir}/%{name}/ebin/*.beam %{_libdir}/%{name}/priv/lib/*.so %{_libdir}/%{name}/priv/msgs/*.msg %{_libdir}/%{name}/priv/bin/epam %attr(750,ejabberd,ejabberd) %dir /var/lib/ejabberd %attr(750,ejabberd,ejabberd) %dir /var/lib/ejabberd/spool %attr(750,ejabberd,ejabberd) %dir /var/log/ejabberd %attr(4750,root,ejabberd) %{_libdir}/%{name}/priv/bin/epam %files doc %defattr(-,root,root,-) %if %{?rhel:0}%{!?rhel:1} %doc ChangeLog COPYING doc/release_notes_* doc/*.pdf doc/*.html doc/*.png %else %doc ChangeLog COPYING doc/release_notes_* %endif %changelog * Wed Jun 25 2008 Jean-Paul Leclere 2.0.1-4.sme - Don't use fedora-usermgmt - set ejabberd uid to 33 for SME compatibility - enable pam auth (thanks to daniel@firewall-servicers.com) - only spec file changes * Sun Jun 22 2008 Peter Lemenkov 2.0.1-4 - Last minute fix (issue with shortnames/fqdn) * Sun Jun 22 2008 Peter Lemenkov 2.0.1-3 -Fixed BZ# 439583, 452326, 451554 * Thu May 29 2008 Peter Lemenkov 2.0.1-2 - Fixed BZ# 439583 * Sat May 24 2008 Peter Lemenkov 2.0.1-1 - Ver. 2.0.1 - Upstreamed patches dropped - No longer uses versioned libdir (/usr/lib/ejabberd-x.x.x) - Added sql-scripts in docs-directory * Mon May 5 2008 Peter Lemenkov 2.0.0-3 - Fix build against R11B-2 * Sat Feb 23 2008 Peter Lemenkov 2.0.0-2 - Disable docs again for EPEL (we haven't hevea for EPEL) * Sat Feb 23 2008 Peter Lemenkov 2.0.0-1 - Version 2.0.0 * Tue Feb 19 2008 Fedora Release Engineering - 2.0.0-0.4.rc1 - Autorebuild for GCC 4.3 * Wed Jan 23 2008 Peter Lemenkov 2.0.0-0.3.rc1 - Really enabled some previously disabled modules * Wed Jan 23 2008 Peter Lemenkov 2.0.0-0.2.rc1 - Enabled some previously disabled modules * Sat Jan 19 2008 Matej Cepl 2.0.0-0.1.rc1 - Upgrade to the current upsteram version. - Make ejabberd.init LSB compliant (missing Provides: tag) * Thu Dec 27 2007 Matej Cepl 2.0.0-0.beta1.mc.1 - Experimental build from the upstream betaversion. * Tue Dec 11 2007 Matej Cepl 1.1.4-2.fc9 - rebuild against new ssl library. - rebuild against the newest erlang (see Patch - fix %%changelog * Wed Sep 5 2007 Jeffrey C. Ollie - 1.1.4-1 - Drop LDAP patch - Update mod_ctlextra - Update to 1.1.4 * Tue Sep 4 2007 Jeffrey C. Ollie - 1.1.3-11 - Fix ejabberdctl wrapper script - #276071 * Wed Aug 22 2007 Jeffrey C. Ollie - 1.1.3-10 - Re-exclude ppc64 * Wed Aug 22 2007 Jeffrey C. Ollie - 1.1.3-9 - Fix license - Don't exclude ppc64 * Wed Aug 22 2007 Jeffrey C. Ollie - 1.1.3-8 - Bump & rebuild to build against latest erlang package. * Tue Jul 31 2007 Jeffrey C. Ollie - 1.1.3-7 - Bump release and rebuild due to Koji hiccups. * Tue Jul 31 2007 Jeffrey C. Ollie - 1.1.3-6 - Don't try building on PPC64 since hevea isn't available on PPC64. * Tue Jul 31 2007 Jeffrey C. Ollie - 1.1.3-5 - Sigh... * Tue Jul 31 2007 Jeffrey C. Ollie - 1.1.3-4 - Don't forget to add patch. * Thu Jul 26 2007 Jeffrey C. Ollie - 1.1.3-3 - Add ejabberdctl (#199873) - Add patch to fix LDAP authentication. (#248268) - Add a sleep in init script between stop/start when restarting. - LSB compliance cleanups for init script. (#246917) - Don't mention "reload" in the init script usage string. (#227254) * Tue Jul 24 2007 Jeffrey C. Ollie - 1.1.3-2 - Update mod_ctlextra * Fri Feb 2 2007 Jeffrey C. Ollie - 1.1.3-1 - Update to 1.1.3 * Wed Oct 11 2006 Jeffrey C. Ollie - 1.1.2-2 - Fix logrotate script (BZ#210366) * Mon Aug 28 2006 Jeffrey C. Ollie - 1.1.1-10 - Bump release and rebuild. * Mon Jul 3 2006 Jeffrey C. Ollie - 1.1.1-9 - Updated init script - should hopefully fix some problems with status & stop commands. * Mon Jun 26 2006 Jeffrey C. Ollie - 1.1.1-8 - Bump release to that tagging works on FC-5. * Thu Jun 22 2006 Jeffrey C. Ollie - 1.1.1-7 - Oops drop bad patch. * Thu Jun 22 2006 Jeffrey C. Ollie - 1.1.1-6 - Split documentation off to a subpackage. - Own %%{_libdir}/ejabberd-%{version} - Mark %%{_sysconfdir}/logrotate.d/ejabberd as %%config * Thu Jun 8 2006 Jeffrey C. Ollie - 1.1.1-5 - Patch the makefile so that it adds a soname to shared libs. * Fri May 26 2006 Jeffrey C. Ollie - 1.1.1-4 - Modify AD modules not to check for group membership. * Thu May 25 2006 Jeffrey C. Ollie - 1.1.1-3 - Add some extra modules * Wed May 24 2006 Jeffrey C. Ollie - 1.1.1-2 - Munge Makefile.in a bit more... - Change ownership/permissions - not *everything* needs to be owned by ejabberd * Wed May 24 2006 Jeffrey C. Ollie - 1.1.1-1 - First version for Fedora Extras