Johan Cwiklinski d3805ac
%{!?_initddir: %{expand: %%global _initddir %{_initrddir}}}
Johan Cwiklinski d3805ac
%if 0%{?rhel} == 5
Johan Cwiklinski d3805ac
%global _sharedstatedir %{_localstatedir}/lib
Johan Cwiklinski d3805ac
%endif
Johan Cwiklinski d3805ac
Johan Cwiklinski d3805ac
%global sslcert %{_sysconfdir}/pki/tls/certs/prosody.crt
Johan Cwiklinski d3805ac
%global sslkey %{_sysconfdir}/pki/tls/private/prosody.key
Johan Cwiklinski d3805ac
Johan Cwiklinski d3805ac
%global luaver 5.1
Johan Cwiklinski d3805ac
Johan Cwiklinski d3805ac
Name:           prosody
Johan Cwiklinski d3805ac
Version:        0.8.2
8565854
Release:        8%{?dist}
Johan Cwiklinski d3805ac
Summary:        Flexible communications server for Jabber/XMPP
Johan Cwiklinski d3805ac
Johan Cwiklinski d3805ac
Group:          System Environment/Daemons
Johan Cwiklinski d3805ac
License:        MIT
Johan Cwiklinski d3805ac
URL:            http://prosody.im/
Johan Cwiklinski d3805ac
Source0:        http://prosody.im/downloads/source/%{name}-%{version}.tar.gz
Johan Cwiklinski d3805ac
Source1:        %{name}.init
Johan Cwiklinski d3805ac
Source2:        %{name}.tmpfiles
Johan Cwiklinski d3805ac
Source3:        %{name}.service
Johan Cwiklinski d3805ac
Patch0:         %{name}.config.patch
Johan Cwiklinski d3805ac
Patch1:         %{name}.sslcerts.patch
Johan Cwiklinski d3805ac
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Johan Cwiklinski d3805ac
Johan Cwiklinski d3805ac
BuildRequires:  lua-devel
Johan Cwiklinski d3805ac
BuildRequires:  libidn-devel
Johan Cwiklinski d3805ac
BuildRequires:  openssl-devel
Johan Cwiklinski d3805ac
%if 0%{?fedora} >= 15 || 0%{?rhel} >= 7
Johan Cwiklinski d3805ac
BuildRequires:  systemd-units
Johan Cwiklinski d3805ac
%endif
Johan Cwiklinski d3805ac
Requires:  lua-expat
Johan Cwiklinski d3805ac
Requires:  lua-sec
Johan Cwiklinski d3805ac
Requires:  lua-filesystem
Johan Cwiklinski d3805ac
Requires:  lua-dbi
Johan Cwiklinski d3805ac
%if 0%{?fedora} >= 15 || 0%{?rhel} >= 7
Johan Cwiklinski d3805ac
Requires(post): systemd-units
Johan Cwiklinski d3805ac
Requires(preun): systemd-units
Johan Cwiklinski d3805ac
Requires(postun): systemd-units
Johan Cwiklinski d3805ac
%endif
Johan Cwiklinski d3805ac
%if 0%{?fedora} >= 16 || 0%{?rhel} >= 7
Johan Cwiklinski d3805ac
Requires: lua(abi) = %{luaver}
Johan Cwiklinski d3805ac
%else
Johan Cwiklinski d3805ac
Requires: lua >= %{luaver}
Johan Cwiklinski d3805ac
%endif
Johan Cwiklinski d3805ac
Johan Cwiklinski d3805ac
%description
Johan Cwiklinski d3805ac
Prosody is a flexible communications server for Jabber/XMPP  written in Lua.
Johan Cwiklinski d3805ac
It aims to be easy to use, and light on resources. For developers it aims
Johan Cwiklinski d3805ac
to be easy to extend and give a flexible system on which to rapidly 
Johan Cwiklinski d3805ac
develop added functionality, or prototype new protocols.
Johan Cwiklinski d3805ac
Johan Cwiklinski d3805ac
Johan Cwiklinski d3805ac
%prep
Johan Cwiklinski d3805ac
%setup -q
Johan Cwiklinski d3805ac
%patch0 -p1
Johan Cwiklinski d3805ac
# remove default ssl certificates
Johan Cwiklinski d3805ac
%patch1 -p1
Johan Cwiklinski d3805ac
#do the sed atfer patch1, to avoid a i686 build issue
Johan Cwiklinski d3805ac
sed -e 's|$(PREFIX)/lib|$(PREFIX)/%{_lib}|' -i Makefile
Johan Cwiklinski d3805ac
rm -rf certs/
Johan Cwiklinski d3805ac
# fix wrong end of line encoding
Johan Cwiklinski d3805ac
pushd doc
Johan Cwiklinski d3805ac
sed -i -e 's|\r||g' stanza.txt session.txt roster_format.txt
Johan Cwiklinski d3805ac
popd
Johan Cwiklinski d3805ac
Johan Cwiklinski d3805ac
Johan Cwiklinski d3805ac
%build
Johan Cwiklinski d3805ac
./configure \
Johan Cwiklinski d3805ac
  --with-lua='' \
Johan Cwiklinski d3805ac
  --with-lua-include=%{_includedir} \
Johan Cwiklinski d3805ac
  --prefix=%{_prefix}
Johan Cwiklinski d3805ac
make %{?_smp_mflags} CFLAGS="$RPM_OPT_FLAGS -fPIC"
Johan Cwiklinski d3805ac
Johan Cwiklinski d3805ac
Johan Cwiklinski d3805ac
%install
Johan Cwiklinski d3805ac
rm -rf $RPM_BUILD_ROOT
Johan Cwiklinski d3805ac
make install DESTDIR=$RPM_BUILD_ROOT
Johan Cwiklinski d3805ac
#fix perms
Johan Cwiklinski d3805ac
chmod -x $RPM_BUILD_ROOT%{_libdir}/%{name}/%{name}.version
Johan Cwiklinski d3805ac
#avoid rpmlint unstripped-binary-or-object warnings
Johan Cwiklinski d3805ac
chmod 0755 $RPM_BUILD_ROOT%{_libdir}/%{name}/util/*.so
Johan Cwiklinski d3805ac
Johan Cwiklinski d3805ac
#directories for datadir and pids
Johan Cwiklinski d3805ac
mkdir -p $RPM_BUILD_ROOT%{_sharedstatedir}/%{name}
Johan Cwiklinski d3805ac
chmod 0755 $RPM_BUILD_ROOT%{_sharedstatedir}/%{name}
Johan Cwiklinski d3805ac
mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/run/%{name}
Johan Cwiklinski d3805ac
Johan Cwiklinski d3805ac
%if 0%{?fedora} >= 15 || 0%{?rhel} >= 7
Johan Cwiklinski d3805ac
#systemd stuff
Johan Cwiklinski d3805ac
mkdir -p $RPM_BUILD_ROOT%{_unitdir}
Johan Cwiklinski d3805ac
install -p -m 644 %{SOURCE3} $RPM_BUILD_ROOT%{_unitdir}/%{name}.service
Johan Cwiklinski d3805ac
Johan Cwiklinski d3805ac
#tmpfiles.d stuff
Johan Cwiklinski d3805ac
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/tmpfiles.d
Johan Cwiklinski d3805ac
install -p -m 644 %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/tmpfiles.d/%{name}.conf
Johan Cwiklinski d3805ac
%else
Johan Cwiklinski d3805ac
#install initd script
Johan Cwiklinski d3805ac
mkdir -p $RPM_BUILD_ROOT%{_initddir}
Johan Cwiklinski d3805ac
install -m755 %{SOURCE1} $RPM_BUILD_ROOT%{_initddir}/%{name}
Johan Cwiklinski d3805ac
%endif
Johan Cwiklinski d3805ac
Johan Cwiklinski d3805ac
Johan Cwiklinski d3805ac
%clean
Johan Cwiklinski d3805ac
rm -rf $RPM_BUILD_ROOT
Johan Cwiklinski d3805ac
Johan Cwiklinski d3805ac
Johan Cwiklinski d3805ac
%pre
Johan Cwiklinski d3805ac
%{_sbindir}/useradd -d %{_sharedstatedir}/%{name} -r -s /sbin/nologin %{name} 2> /dev/null || :
Johan Cwiklinski d3805ac
Johan Cwiklinski d3805ac
Johan Cwiklinski d3805ac
%preun
Johan Cwiklinski 0bbaa5f
%if 0%{?fedora} >= 15 || 0%{?rhel} >= 7
Johan Cwiklinski 0bbaa5f
%systemd_preun %{name}.service
Johan Cwiklinski 0bbaa5f
%else
Johan Cwiklinski d3805ac
if [ $1 = 0 ]; then
Johan Cwiklinski d3805ac
    # Package removal, not upgrade
Johan Cwiklinski d3805ac
    service %{name} stop > /dev/null 2>&1 || :
Johan Cwiklinski d3805ac
    chkconfig --del %{name} || :
Johan Cwiklinski d3805ac
fi
Johan Cwiklinski 0bbaa5f
%endif
Johan Cwiklinski d3805ac
Johan Cwiklinski d3805ac
%post
Johan Cwiklinski 0bbaa5f
%if 0%{?fedora} >= 15 || 0%{?rhel} >= 7
Johan Cwiklinski 0bbaa5f
%systemd_post %{name}.service
Johan Cwiklinski 0bbaa5f
%else
Johan Cwiklinski d3805ac
if [ $1 -eq 1 ] ; then
Johan Cwiklinski d3805ac
    # Initial installation
Johan Cwiklinski d3805ac
    chkconfig --add %{name} || :
Johan Cwiklinski d3805ac
fi
Johan Cwiklinski 0bbaa5f
%endif
Johan Cwiklinski d3805ac
umask 077
Johan Cwiklinski d3805ac
if [ ! -f %{sslkey} ] ; then
Johan Cwiklinski d3805ac
%{_bindir}/openssl genrsa 1024 > %{sslkey} 2> /dev/null
Johan Cwiklinski d3805ac
fi
Johan Cwiklinski d3805ac
Johan Cwiklinski d3805ac
FQDN=`hostname`
Johan Cwiklinski d3805ac
if [ "x${FQDN}" = "x" ]; then
Johan Cwiklinski d3805ac
   FQDN=localhost.localdomain
Johan Cwiklinski d3805ac
fi
Johan Cwiklinski d3805ac
Johan Cwiklinski d3805ac
if [ ! -f %{sslcert} ] ; then
Johan Cwiklinski d3805ac
cat << EOF | %{_bindir}/openssl req -new -key %{sslkey} \
Johan Cwiklinski d3805ac
         -x509 -days 365 -set_serial $RANDOM \
Johan Cwiklinski d3805ac
         -out %{sslcert} 2>/dev/null
Johan Cwiklinski d3805ac
--
Johan Cwiklinski d3805ac
SomeState
Johan Cwiklinski d3805ac
SomeCity
Johan Cwiklinski d3805ac
SomeOrganization
Johan Cwiklinski d3805ac
SomeOrganizationalUnit
Johan Cwiklinski d3805ac
${FQDN}
Johan Cwiklinski d3805ac
root@${FQDN}
Johan Cwiklinski d3805ac
EOF
Johan Cwiklinski d3805ac
fi
Johan Cwiklinski d3805ac
Johan Cwiklinski d3805ac
Johan Cwiklinski d3805ac
%if 0%{?fedora} >= 15 || 0%{?rhel} >= 7
Johan Cwiklinski d3805ac
%postun
Johan Cwiklinski 0bbaa5f
%systemd_postun_with_restart %{name}.service
Johan Cwiklinski d3805ac
%endif
Johan Cwiklinski d3805ac
Johan Cwiklinski d3805ac
Johan Cwiklinski d3805ac
%files
Johan Cwiklinski d3805ac
%defattr(-,root,root,-)
Johan Cwiklinski d3805ac
%doc AUTHORS COPYING HACKERS README TODO doc/*
Johan Cwiklinski d3805ac
%{_bindir}/%{name}
Johan Cwiklinski d3805ac
%{_bindir}/%{name}ctl
Johan Cwiklinski d3805ac
%dir %{_libdir}/%{name}
Johan Cwiklinski d3805ac
%{_libdir}/%{name}/*
Johan Cwiklinski d3805ac
%dir %{_sysconfdir}/%{name}
Johan Cwiklinski d3805ac
%config(noreplace) %{_sysconfdir}/%{name}/*
Johan Cwiklinski d3805ac
%if 0%{?fedora} >= 15 || 0%{?rhel} >= 7
Johan Cwiklinski d3805ac
%config(noreplace) %{_sysconfdir}/tmpfiles.d/%{name}.conf
Johan Cwiklinski d3805ac
%{_unitdir}/%{name}.service
Johan Cwiklinski d3805ac
%else
Johan Cwiklinski d3805ac
%{_initddir}/%{name}
Johan Cwiklinski d3805ac
%endif
Johan Cwiklinski d3805ac
%{_mandir}/man1/*.1.gz
Johan Cwiklinski d3805ac
%dir %attr(-, %{name}, %{name}) %{_sharedstatedir}/%{name}
Johan Cwiklinski d3805ac
%dir %attr(-, %{name}, %{name}) %{_localstatedir}/run/%{name}
Johan Cwiklinski d3805ac
Johan Cwiklinski d3805ac
Johan Cwiklinski d3805ac
%changelog
8565854
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.8.2-8
8565854
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
8565854
Johan Cwiklinski 0bbaa5f
* Thu Sep 27 2012 Johan Cwiklinski <johan At x-tnd DOt be> 0.8.2-7
Johan Cwiklinski 0bbaa5f
- Use systemd-rpm macros, bz #850282
Johan Cwiklinski 0bbaa5f
7fb8d29
* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.8.2-6
7fb8d29
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
7fb8d29
Johan Cwiklinski d3805ac
* Mon May 07 2012 Johan Cwiklinski <johan AT x-tnd DOT be> 0.8.2-5
Johan Cwiklinski d3805ac
- Missing rhel %%ifs
Johan Cwiklinski d3805ac
- Change the way SSL certificate is generated
Johan Cwiklinski d3805ac
Johan Cwiklinski d3805ac
* Sun May 06 2012 Johan Cwiklinski <johan AT x-tnd DOT be> 0.8.2-4
Johan Cwiklinski d3805ac
- ghost %%{_localstatedir}/run/%%{name}
Johan Cwiklinski d3805ac
Johan Cwiklinski d3805ac
* Sun May 06 2012 Johan Cwiklinski <johan AT x-tnd DOT be> 0.8.2-3
Johan Cwiklinski d3805ac
- Add missing requires
Johan Cwiklinski d3805ac
- Add rhel %%ifs
Johan Cwiklinski d3805ac
Johan Cwiklinski d3805ac
* Mon Mar 05 2012 Johan Cwiklinski <johan AT x-tnd DOT be> 0.8.2-2
Johan Cwiklinski d3805ac
- Switch to systemd for Fedora >= 15, keep sysv for EPEL builds
Johan Cwiklinski d3805ac
- Remove some macros that should not be used
Johan Cwiklinski d3805ac
Johan Cwiklinski d3805ac
* Thu Jun 23 2011 Johan Cwiklinski <johan AT x-tnd DOT be> 0.8.2-1.trashy
Johan Cwiklinski d3805ac
- 0.8.2
Johan Cwiklinski d3805ac
Johan Cwiklinski d3805ac
* Tue Jun 7 2011 Johan Cwiklinski <johan AT x-tnd DOT be> 0.8.1-1.trashy
Johan Cwiklinski d3805ac
- 0.8.1
Johan Cwiklinski d3805ac
Johan Cwiklinski d3805ac
* Sun May 8 2011 Johan Cwiklinski <johan AT x-tnd DOT be> 0.8.0-3.trashy
Johan Cwiklinski d3805ac
- tmpfiles.d configuration for F-15
Johan Cwiklinski d3805ac
Johan Cwiklinski d3805ac
* Sat Apr 16 2011 Johan Cwiklinski <johan AT x-tnd DOT be> 0.8.0-2.trashy
Johan Cwiklinski d3805ac
- Now requires lua-dbi
Johan Cwiklinski d3805ac
Johan Cwiklinski d3805ac
* Fri Apr 8 2011 Johan Cwiklinski <johan AT x-tnd DOT be> 0.8.0-1.trashy
Johan Cwiklinski d3805ac
- 0.8.0
Johan Cwiklinski d3805ac
Johan Cwiklinski d3805ac
* Sun Jan 23 2011 Johan Cwiklinski <johan AT x-tnd DOT be> 0.7.0-4.trashy
Johan Cwiklinski d3805ac
- Redefine _initddir and _sharedstatedir marcos for EL-5
Johan Cwiklinski d3805ac
Johan Cwiklinski d3805ac
* Sat Dec 11 2010 Johan Cwiklinski <johan AT x-tnd DOT be> 0.7.0-3
Johan Cwiklinski d3805ac
- Apply ssl patch before sed on libdir; to avoid a patch context issue 
Johan Cwiklinski d3805ac
  building on i686 
Johan Cwiklinski d3805ac
Johan Cwiklinski d3805ac
* Sat Sep 11 2010 Johan Cwiklinski <johan AT x-tnd DOT be> 0.7.0-2
Johan Cwiklinski d3805ac
- No longer ships default ssl certificates, generates one at install
Johan Cwiklinski d3805ac
Johan Cwiklinski d3805ac
* Wed Jul 14 2010 Johan Cwiklinski <johan AT x-tnd DOT be> 0.7.0-1
Johan Cwiklinski d3805ac
- Update to 0.7.0
Johan Cwiklinski d3805ac
Johan Cwiklinski d3805ac
* Wed Apr 28 2010 Johan Cwiklinski <johan AT x-tnd DOT be> 0.6.2-1
Johan Cwiklinski d3805ac
- Update to 0.6.2
Johan Cwiklinski d3805ac
Johan Cwiklinski d3805ac
* Thu Dec 31 2009 Johan Cwiklinski <johan AT x-tnd DOT be> 0.6.1-1
Johan Cwiklinski d3805ac
- Initial packaging