Name: ejabberd
Version: 2.0.1
Release: 2%{?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
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: expat-devel
BuildRequires: openssl-devel
BuildRequires: pam-devel
BuildRequires: erlang
BuildRequires: dos2unix
%if %{undefined rhel}
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/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
%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
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
# doesn't builds on SMP currently
make
popd
%if %{undefined rhel}
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!ROOTDIR=\/usr!ROOTDIR=!g' %{buildroot}%{_sbindir}/ejabberdctl
%{__perl} -pi -e 's!/var/lib/ejabberd/db/\$NODE!/var/lib/ejabberd/spool!g' %{buildroot}%{_sbindir}/ejabberdctl
%{__perl} -pi -e 's!/var/lib/ejabberd/ebin!%{_libdir}/ejabberd/ebin!g' %{buildroot}%{_sbindir}/ejabberdctl
%{__perl} -pi -e 's!/var/lib/ejabberd/priv/msgs!%{_libdir}/ejabberd/priv/msgs!g' %{buildroot}%{_sbindir}/ejabberdctl
%{__perl} -pi -e 's!/var/lib/ejabberd/priv/lib!%{_libdir}/ejabberd/priv/lib!g' %{buildroot}%{_sbindir}/ejabberdctl
%{__perl} -pi -e 's!/var/lib/ejabberd/priv/bin!%{_libdir}/ejabberd/priv/bin!g' %{buildroot}%{_sbindir}/ejabberdctl
%{__perl} -pi -e 's!HOME=\$ROOTDIR/var/lib/ejabberd!HOME=%{_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
%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
%files doc
%defattr(-,root,root,-)
%if %{undefined rhel}
%doc ChangeLog COPYING doc/release_notes_* doc/*.pdf doc/*.html doc/*.png
%else
%doc ChangeLog COPYING doc/release_notes_*
%endif
%changelog
* Thu May 29 2008 Peter Lemenkov <lemenkov@gmail.com> 2.0.1-2
- Fixed BZ# 439583
* Sat May 24 2008 Peter Lemenkov <lemenkov@gmail.com> 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 <lemenkov@gmail.com> 2.0.0-3
- Fix build against R11B-2
* Sat Feb 23 2008 Peter Lemenkov <lemenkov@gmail.com> 2.0.0-2
- Disable docs again for EPEL (we haven't hevea for EPEL)
* Sat Feb 23 2008 Peter Lemenkov <lemenkov@gmail.com> 2.0.0-1
- Version 2.0.0
* Tue Feb 19 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 2.0.0-0.4.rc1
- Autorebuild for GCC 4.3
* Wed Jan 23 2008 Peter Lemenkov <lemenkov@gmail.com> 2.0.0-0.3.rc1
- Really enabled some previously disabled modules
* Wed Jan 23 2008 Peter Lemenkov <lemenkov@gmail.com> 2.0.0-0.2.rc1
- Enabled some previously disabled modules
* Sat Jan 19 2008 Matej Cepl <mcepl@redhat.com> 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 <mcepl@redhat.com> 2.0.0-0.beta1.mc.1
- Experimental build from the upstream betaversion.
* Tue Dec 11 2007 Matej Cepl <mcepl@redhat.com> 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 <jeff@ocjtech.us> - 1.1.4-1
- Drop LDAP patch
- Update mod_ctlextra
- Update to 1.1.4
* Tue Sep 4 2007 Jeffrey C. Ollie <jeff@ocjtech.us> - 1.1.3-11
- Fix ejabberdctl wrapper script - #276071
* Wed Aug 22 2007 Jeffrey C. Ollie <jeff@ocjtech.us> - 1.1.3-10
- Re-exclude ppc64
* Wed Aug 22 2007 Jeffrey C. Ollie <jeff@ocjtech.us> - 1.1.3-9
- Fix license
- Don't exclude ppc64
* Wed Aug 22 2007 Jeffrey C. Ollie <jeff@ocjtech.us> - 1.1.3-8
- Bump & rebuild to build against latest erlang package.
* Tue Jul 31 2007 Jeffrey C. Ollie <jeff@ocjtech.us> - 1.1.3-7
- Bump release and rebuild due to Koji hiccups.
* Tue Jul 31 2007 Jeffrey C. Ollie <jeff@ocjtech.us> - 1.1.3-6
- Don't try building on PPC64 since hevea isn't available on PPC64.
* Tue Jul 31 2007 Jeffrey C. Ollie <jeff@ocjtech.us> - 1.1.3-5
- Sigh...
* Tue Jul 31 2007 Jeffrey C. Ollie <jeff@ocjtech.us> - 1.1.3-4
- Don't forget to add patch.
* Thu Jul 26 2007 Jeffrey C. Ollie <jeff@ocjtech.us> - 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 <jeff@ocjtech.us> - 1.1.3-2
- Update mod_ctlextra
* Fri Feb 2 2007 Jeffrey C. Ollie <jeff@ocjtech.us> - 1.1.3-1
- Update to 1.1.3
* Wed Oct 11 2006 Jeffrey C. Ollie <jeff@ocjtech.us> - 1.1.2-2
- Fix logrotate script (BZ#210366)
* Mon Aug 28 2006 Jeffrey C. Ollie <jeff@ocjtech.us> - 1.1.1-10
- Bump release and rebuild.
* Mon Jul 3 2006 Jeffrey C. Ollie <jeff@ocjtech.us> - 1.1.1-9
- Updated init script - should hopefully fix some problems with status & stop commands.
* Mon Jun 26 2006 Jeffrey C. Ollie <jeff@ocjtech.us> - 1.1.1-8
- Bump release to that tagging works on FC-5.
* Thu Jun 22 2006 Jeffrey C. Ollie <jeff@ocjtech.us> - 1.1.1-7
- Oops drop bad patch.
* Thu Jun 22 2006 Jeffrey C. Ollie <jeff@ocjtech.us> - 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 <jeff@ocjtech.us> - 1.1.1-5
- Patch the makefile so that it adds a soname to shared libs.
* Fri May 26 2006 Jeffrey C. Ollie <jeff@ocjtech.us> - 1.1.1-4
- Modify AD modules not to check for group membership.
* Thu May 25 2006 Jeffrey C. Ollie <jeff@ocjtech.us> - 1.1.1-3
- Add some extra modules
* Wed May 24 2006 Jeffrey C. Ollie <jeff@ocjtech.us> - 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 <jeff@ocjtech.us> - 1.1.1-1
- First version for Fedora Extras