|
|
cec2678 |
%global _hardened_build 1
|
|
Peter Lemenkov |
d63babb |
%global srcname ejabberd
|
|
|
145e11b |
|
|
|
8c6bed6 |
# Since we require the version in both BuildRequires and Requires, let's make these variables for
|
|
|
8c6bed6 |
# easier maintenance.
|
|
|
3331f7f |
%global cache_tab_ver 1.0.14
|
|
|
3331f7f |
%global eimp_ver 1.0.6
|
|
|
8c6bed6 |
%global epam_ver 1.0.4
|
|
|
3331f7f |
%global esip_ver 1.0.24
|
|
|
8c6bed6 |
%global ezlib_ver 1.0.4
|
|
|
3331f7f |
%global fast_tls_ver 1.0.23
|
|
|
3331f7f |
%global fast_xml_ver 1.1.31
|
|
|
3331f7f |
%global fast_yaml_ver 1.0.15
|
|
|
3331f7f |
%global iconv_ver 1.0.8
|
|
|
8c6bed6 |
%global luerl_ver 0.3
|
|
|
3331f7f |
%global p1_mysql_ver 1.0.6
|
|
|
d321ebf |
%global p1_oauth2_ver 0.6.3
|
|
|
3331f7f |
%global p1_pgsql_ver 1.1.6
|
|
|
3331f7f |
%global p1_utils_ver 1.0.12
|
|
|
3331f7f |
%global stringprep_ver 1.0.12
|
|
|
3331f7f |
%global stun_ver 1.0.23
|
|
|
3331f7f |
%global xmpp_ver 1.2.1
|
|
|
8c6bed6 |
|
|
|
9fe454b |
|
|
|
73b15bb |
Name: ejabberd
|
|
|
3331f7f |
Version: 18.06
|
|
|
3331f7f |
Release: 1%{?dist}
|
|
|
23f97d5 |
BuildArch: noarch
|
|
|
73b15bb |
|
|
|
e15daba |
License: GPLv2+
|
|
|
40198c6 |
Summary: A distributed, fault-tolerant Jabber/XMPP server
|
|
|
c22efa0 |
URL: https://www.ejabberd.im/
|
|
|
6f00c58 |
VCS: scm:git:https://github.com/processone/ejabberd.git
|
|
|
e9cdddd |
Source0: https://github.com/processone/%{name}/archive/%{version}/%{name}-%{version}.tar.gz
|
|
|
420ea66 |
Source2: ejabberd.logrotate
|
|
|
73b15bb |
|
|
|
1519101 |
# Support for systemd
|
|
|
6f00c58 |
Source4: ejabberd.service
|
|
|
1519101 |
|
|
|
6406473 |
# PAM support
|
|
|
ed0d38d |
Source9: ejabberdctl.pam
|
|
|
84a00d0 |
Source11: ejabberd.pam
|
|
|
ed0d38d |
|
|
|
2309409 |
# polkit support
|
|
|
6f00c58 |
Source12: ejabberdctl.polkit.actions
|
|
|
6f00c58 |
Source13: ejabberdctl.polkit.rules
|
|
|
e9cdddd |
# SELinux module
|
|
|
e9cdddd |
Source14: ejabberd.te
|
|
|
e9cdddd |
Source15: ejabberd.fc
|
|
|
e9cdddd |
Source16: ejabberd.if
|
|
|
2309409 |
|
|
|
145e11b |
|
|
|
b15fc89 |
# Use ejabberd as an example for PAM service name (fedora/epel-specific)
|
|
|
57a13ca |
Patch1: ejabberd-0001-Fix-PAM-service-example-name-to-match-actual-one.patch
|
|
|
145e11b |
# Fedora-specific
|
|
|
c4fced3 |
Patch3: ejabberd-0003-Install-into-BINDIR-instead-of-SBINDIR.patch
|
|
|
145e11b |
# Fedora-specific
|
|
|
c4fced3 |
Patch4: ejabberd-0004-Enable-systemd-notification-if-available.patch
|
|
|
e9cdddd |
|
|
|
e9cdddd |
|
|
|
e9cdddd |
BuildRequires: elixir >= 1.4.4
|
|
|
8c6bed6 |
BuildRequires: erlang-cache_tab >= %{cache_tab_ver}
|
|
|
8c6bed6 |
BuildRequires: erlang-eimp >= %{eimp_ver}
|
|
|
8c6bed6 |
BuildRequires: erlang-epam >= %{epam_ver}
|
|
|
8c6bed6 |
BuildRequires: erlang-esip >= %{esip_ver}
|
|
|
8c6bed6 |
BuildRequires: erlang-ezlib >= %{ezlib_ver}
|
|
|
8c6bed6 |
BuildRequires: erlang-fast_tls >= %{fast_tls_ver}
|
|
|
8c6bed6 |
BuildRequires: erlang-fast_xml >= %{fast_xml_ver}
|
|
|
8c6bed6 |
BuildRequires: erlang-fast_yaml >= %{fast_yaml_ver}
|
|
|
8c6bed6 |
BuildRequires: erlang-iconv >= %{iconv_ver}
|
|
|
40198c6 |
BuildRequires: erlang-jiffy >= 0.14.8
|
|
|
e880009 |
BuildRequires: erlang-jose >= 1.8.4
|
|
|
e9cdddd |
BuildRequires: erlang-lager >= 3.4.2
|
|
|
8c6bed6 |
BuildRequires: erlang-luerl >= %{luerl_ver}
|
|
Randy Barlow |
3c0907b |
BuildRequires: erlang-meck >= 0.8.4
|
|
|
c4fced3 |
BuildRequires: erlang-odbc
|
|
|
8c6bed6 |
BuildRequires: erlang-p1_mysql >= %{p1_mysql_ver}
|
|
|
d321ebf |
BuildRequires: erlang-p1_oauth2 >= %{p1_oauth2_ver}
|
|
|
8c6bed6 |
BuildRequires: erlang-p1_pgsql >= %{p1_pgsql_ver}
|
|
|
8c6bed6 |
BuildRequires: erlang-p1_utils >= %{p1_utils_ver}
|
|
|
145e11b |
BuildRequires: erlang-rebar
|
|
|
4a9295c |
BuildRequires: erlang-riak_client
|
|
|
c4fced3 |
BuildRequires: erlang-sd_notify
|
|
|
8c6bed6 |
BuildRequires: erlang-stringprep >= %{stringprep_ver}
|
|
|
8c6bed6 |
BuildRequires: erlang-stun >= %{stun_ver}
|
|
|
8c6bed6 |
BuildRequires: erlang-xmpp >= %{xmpp_ver}
|
|
|
4a9295c |
BuildRequires: expat-devel >= 1.95
|
|
|
928f515 |
BuildRequires: git
|
|
|
4a9295c |
BuildRequires: libyaml-devel >= 0.1.4
|
|
|
4a9295c |
BuildRequires: openssl-devel >= 1.0.0
|
|
|
4a9295c |
BuildRequires: pam-devel
|
|
|
e9cdddd |
BuildRequires: selinux-policy-devel
|
|
|
6f00c58 |
|
|
|
25bb08c |
BuildRequires: autoconf
|
|
|
25bb08c |
BuildRequires: automake
|
|
|
73b15bb |
|
|
|
d8d4245 |
# For creating user and group
|
|
|
25bb08c |
Requires(pre): shadow-utils
|
|
|
d8d4245 |
|
|
|
2b0b4b0 |
Requires(post): /usr/bin/openssl
|
|
|
10a8041 |
Requires(post): systemd
|
|
|
10a8041 |
Requires(preun): systemd
|
|
|
10a8041 |
Requires(postun): systemd
|
|
|
73b15bb |
|
|
|
2309409 |
Provides: user(%{name})
|
|
|
2309409 |
Provides: group(%{name})
|
|
|
2309409 |
|
|
|
e880009 |
Requires: ejabberd-selinux == %{version}-%{release}
|
|
|
4a9295c |
# From rebar
|
|
|
e880009 |
Requires: elixir >= 1.4.4
|
|
|
8c6bed6 |
Requires: erlang-cache_tab >= %{cache_tab_ver}
|
|
|
8c6bed6 |
Requires: erlang-eimp >= %{eimp_ver}
|
|
|
8c6bed6 |
Requires: erlang-epam >= %{epam_ver}
|
|
|
8c6bed6 |
Requires: erlang-esip >= %{esip_ver}
|
|
|
8c6bed6 |
Requires: erlang-ezlib >= %{ezlib_ver}
|
|
|
8c6bed6 |
Requires: erlang-fast_tls >= %{fast_tls_ver}
|
|
|
8c6bed6 |
Requires: erlang-fast_xml >= %{fast_xml_ver}
|
|
|
8c6bed6 |
Requires: erlang-fast_yaml >= %{fast_yaml_ver}
|
|
|
8c6bed6 |
Requires: erlang-iconv >= %{iconv_ver}
|
|
|
e880009 |
Requires: erlang-jiffy >= 0.14.8
|
|
|
e880009 |
Requires: erlang-jose >= 1.8.4
|
|
|
e880009 |
Requires: erlang-lager >= 3.4.2
|
|
|
8c6bed6 |
Requires: erlang-luerl >= %{luerl_ver}
|
|
|
e880009 |
Requires: erlang-meck >= 0.8.4
|
|
|
3404dc0 |
Requires: erlang-os_mon
|
|
|
8c6bed6 |
Requires: erlang-p1_mysql >= %{p1_mysql_ver}
|
|
|
874622b |
Requires: erlang-p1_oauth2 >= %{p1_oauth2_ver}
|
|
|
8c6bed6 |
Requires: erlang-p1_pgsql >= %{p1_pgsql_ver}
|
|
|
8c6bed6 |
Requires: erlang-p1_utils >= %{p1_utils_ver}
|
|
|
8c6bed6 |
Requires: erlang-stringprep >= %{stringprep_ver}
|
|
|
8c6bed6 |
Requires: erlang-stun >= %{stun_ver}
|
|
|
8c6bed6 |
Requires: erlang-xmpp >= %{xmpp_ver}
|
|
|
a071f0d |
# We install a logrotate.d file
|
|
|
a071f0d |
Requires: logrotate
|
|
|
2309409 |
# for /usr/bin/pkexec
|
|
|
4a9295c |
Requires: polkit
|
|
|
9dca01c |
# for flock in ejabberdctl
|
|
|
25bb08c |
Requires: util-linux
|
|
|
63ecd49 |
|
|
|
be7ef5e |
|
|
|
73b15bb |
%description
|
|
|
73b15bb |
ejabberd is a Free and Open Source distributed fault-tolerant
|
|
|
73b15bb |
Jabber/XMPP server. It is mostly written in Erlang, and runs on many
|
|
|
73b15bb |
platforms (tested on Linux, FreeBSD, NetBSD, Solaris, Mac OS X and
|
|
|
73b15bb |
Windows NT/2000/XP).
|
|
|
73b15bb |
|
|
|
73b15bb |
|
|
|
e9cdddd |
%package selinux
|
|
|
e9cdddd |
BuildArch: noarch
|
|
|
e9cdddd |
|
|
|
e9cdddd |
Summary: SELinux policy for ejabberd
|
|
|
e9cdddd |
|
|
|
e9cdddd |
Requires: selinux-policy
|
|
|
e9cdddd |
Requires: selinux-policy-targeted
|
|
|
e9cdddd |
Requires(post): /usr/sbin/selinuxenabled
|
|
|
e9cdddd |
Requires(post): /usr/sbin/semodule
|
|
|
e9cdddd |
Requires(posttrans): /usr/sbin/restorecon
|
|
|
e9cdddd |
|
|
|
e9cdddd |
|
|
|
e9cdddd |
%description selinux
|
|
|
e9cdddd |
This is the SELinux policy for ejabberd.
|
|
|
57a13ca |
|
|
|
e9cdddd |
|
|
|
e9cdddd |
%prep
|
|
|
e9cdddd |
%autosetup -p1
|
|
|
a1bb46c |
|
|
|
40198c6 |
# Upstream seems to import erlang-xmpp and erlang-fast_xml in a way that isn't compatible with them
|
|
|
40198c6 |
# being system libraries. We need to patch the include statements to fix this.
|
|
|
40198c6 |
# https://github.com/processone/ejabberd/pull/1446/
|
|
|
40198c6 |
find . -name "*.hrl" | xargs sed -i \
|
|
|
40198c6 |
"s/include(\"fxml.hrl/include_lib(\"fast_xml\/include\/fxml.hrl/"
|
|
|
40198c6 |
find . -name "*.erl" | xargs sed -i "s/include(\"jid.hrl/include_lib(\"xmpp\/include\/jid.hrl/"
|
|
|
40198c6 |
find . -name "*.hrl" | xargs sed -i "s/include(\"ns.hrl/include_lib(\"xmpp\/include\/ns.hrl/"
|
|
|
40198c6 |
find . -name "*.erl" | xargs sed -i "s/include(\"xmpp.hrl/include_lib(\"xmpp\/include\/xmpp.hrl/"
|
|
|
40198c6 |
find . -name "*.hrl" | xargs sed -i \
|
|
|
40198c6 |
"s/include(\"xmpp_codec.hrl/include_lib(\"xmpp\/include\/xmpp_codec.hrl/"
|
|
|
40198c6 |
|
|
|
e9cdddd |
# A few dependencies are configured to be found in the deps folder instead of in system libs
|
|
|
e9cdddd |
# https://github.com/processone/ejabberd/issues/1850
|
|
|
e9cdddd |
perl -p -i -e "s|deps/p1_utils/include|$(rpm -ql erlang-p1_utils | grep -E '/include$' )|g" rebar.config
|
|
|
e9cdddd |
perl -p -i -e "s|deps/fast_xml/include|$(rpm -ql erlang-fast_xml | grep -E '/include$' )|g" rebar.config
|
|
|
e9cdddd |
perl -p -i -e "s|deps/xmpp/include|$(rpm -ql erlang-xmpp | grep -E '/include$' )|g" rebar.config
|
|
|
e9cdddd |
|
|
|
e9cdddd |
cp %{S:14} %{S:15} %{S:16} .
|
|
|
e9cdddd |
|
|
|
9dca01c |
|
|
|
73b15bb |
%build
|
|
|
0f06d1e |
autoreconf -ivf
|
|
|
145e11b |
|
|
|
359f17b |
%configure --disable-graphics --enable-odbc --enable-mysql --enable-pgsql --enable-pam --enable-zlib --enable-iconv --enable-debug --enable-lager --libdir=%{_libdir}/erlang/lib/ --with-erlang=%{_libdir}/erlang/ --enable-system-deps --enable-stun
|
|
Peter Lemenkov |
d63babb |
|
|
Peter Lemenkov |
d63babb |
%{erlang_compile}
|
|
|
73b15bb |
|
|
|
e9cdddd |
# Build the SELinux policy
|
|
|
e9cdddd |
make NAME=ejabberd -f /usr/share/selinux/devel/Makefile DISTRO=fedora%{fedora}
|
|
|
e9cdddd |
|
|
|
9dca01c |
|
|
|
73b15bb |
%install
|
|
Peter Lemenkov |
d63babb |
%{erlang_install}
|
|
Peter Lemenkov |
d63babb |
|
|
|
a647711 |
sed -e "s*{{rootdir}}*%{_prefix}*" \
|
|
|
a371d5c |
-e "s*{{installuser}}*%{name}*" \
|
|
|
a647711 |
-e "s*{{bindir}}*%{_bindir}*" \
|
|
|
a647711 |
-e "s*{{libdir}}*%{_erllibdir}*" \
|
|
|
a647711 |
-e "s*{{sysconfdir}}*%{_sysconfdir}*" \
|
|
|
a647711 |
-e "s*{{localstatedir}}*/var*" \
|
|
|
a647711 |
-e "s*{{docdir}}*%{_datadir}/doc/%{name}*" \
|
|
|
50efab6 |
-e "s*{{erl}}*%{_erldir}/bin/erl*" \
|
|
|
501b8d6 |
-e "s*{{epmd}}*%{_erldir}/bin/epmd*" ejabberdctl.template \
|
|
Peter Lemenkov |
d63babb |
> ejabberdctl.example
|
|
Peter Lemenkov |
d63babb |
|
|
Peter Lemenkov |
d63babb |
install -d -m 0750 %{buildroot}%{_sysconfdir}/%{name}
|
|
Peter Lemenkov |
d63babb |
install -D -p -m 0644 ejabberd.yml.example %{buildroot}%{_sysconfdir}/%{name}/ejabberd.yml
|
|
Peter Lemenkov |
d63babb |
install -D -p -m 0644 ejabberdctl.cfg.example %{buildroot}%{_sysconfdir}/%{name}/ejabberdctl.cfg
|
|
Peter Lemenkov |
d63babb |
install -D -p -m 0644 inetrc %{buildroot}%{_sysconfdir}/%{name}/inetrc
|
|
Peter Lemenkov |
d63babb |
|
|
|
4c04c7f |
install -D -p -m 0755 ejabberdctl.example %{buildroot}%{_bindir}/ejabberdctl
|
|
Peter Lemenkov |
d63babb |
|
|
Peter Lemenkov |
d63babb |
install -d -m 0750 %{buildroot}/var/lib/ejabberd
|
|
Peter Lemenkov |
d63babb |
install -d -m 0750 %{buildroot}/var/lock/ejabberdctl
|
|
Peter Lemenkov |
d63babb |
install -d -m 0750 %{buildroot}/var/log/ejabberd
|
|
|
73b15bb |
|
|
|
63ecd49 |
# fix example SSL certificate path to real one, which we created recently (see above)
|
|
|
145e11b |
%{__perl} -pi -e 's!/path/to/ssl.pem!/etc/ejabberd/ejabberd.pem!g' %{buildroot}/etc/ejabberd/ejabberd.yml
|
|
|
73b15bb |
|
|
Peter Lemenkov |
d63babb |
install -D -p -m 0755 tools/captcha.sh %{buildroot}%{_erllibdir}/%{name}-%{version}/priv/bin/captcha.sh
|
|
|
838ab7b |
# fix captcha path
|
|
|
145e11b |
%{__perl} -pi -e 's!/lib/ejabberd/priv/bin/captcha.sh!%{_libdir}/%{name}/priv/bin/captcha.sh!g' %{buildroot}/etc/ejabberd/ejabberd.yml
|
|
|
73b15bb |
|
|
|
ed0d38d |
install -D -p -m 0644 %{S:9} %{buildroot}%{_sysconfdir}/pam.d/ejabberdctl
|
|
|
ddc001a |
install -D -p -m 0644 %{S:11} %{buildroot}%{_sysconfdir}/pam.d/ejabberd
|
|
|
ed0d38d |
|
|
|
10a8041 |
# install systemd entry
|
|
|
10a8041 |
install -D -m 0644 -p %{S:4} %{buildroot}%{_unitdir}/%{name}.service
|
|
|
73b15bb |
|
|
|
c30dbec |
# install config for logrotate
|
|
|
c30dbec |
install -D -p -m 0644 %{S:2} %{buildroot}%{_sysconfdir}/logrotate.d/ejabberd
|
|
|
c30dbec |
|
|
|
145e11b |
# create room for additional files (such as SQL schemas)
|
|
Peter Lemenkov |
d63babb |
install -d -m 0755 %{buildroot}%{_erllibdir}/%{name}-%{version}/priv/sql/
|
|
|
63ecd49 |
# install sql-scripts for creating db schemes for various RDBMS
|
|
Peter Lemenkov |
d63babb |
install -p -m 0644 sql/lite.sql %{buildroot}%{_erllibdir}/%{name}-%{version}/priv/sql/
|
|
Peter Lemenkov |
d63babb |
install -p -m 0644 sql/mssql.sql %{buildroot}%{_erllibdir}/%{name}-%{version}/priv/sql/
|
|
Peter Lemenkov |
d63babb |
install -p -m 0644 sql/mysql.sql %{buildroot}%{_erllibdir}/%{name}-%{version}/priv/sql/
|
|
Peter Lemenkov |
d63babb |
install -p -m 0644 sql/pg.sql %{buildroot}%{_erllibdir}/%{name}-%{version}/priv/sql/
|
|
Peter Lemenkov |
d63babb |
|
|
Peter Lemenkov |
d63babb |
install -d -m 0755 %{buildroot}%{_erllibdir}/%{name}-%{version}/priv/msgs/
|
|
Peter Lemenkov |
d63babb |
install -p -m 0644 priv/msgs/*.msg %{buildroot}%{_erllibdir}/%{name}-%{version}/priv/msgs/
|
|
|
145e11b |
|
|
|
145e11b |
# Install polkit-related files
|
|
|
5357d2d |
install -D -p -m 0644 %{S:12} %{buildroot}%{_datadir}/polkit-1/actions/ejabberdctl.policy
|
|
|
5357d2d |
install -D -p -m 0644 %{S:13} %{buildroot}%{_datadir}/polkit-1/rules.d/51-ejabberdctl.rules
|
|
|
10a8041 |
|
|
|
e9cdddd |
# Install the SELinux policy
|
|
|
e9cdddd |
install -d %{buildroot}%{_datadir}/selinux/targeted
|
|
|
e9cdddd |
install -d %{buildroot}%{_datadir}/selinux/devel/include/apps
|
|
|
e9cdddd |
|
|
|
e9cdddd |
install -p -m 0644 ejabberd.pp %{buildroot}%{_datadir}/selinux/targeted/
|
|
|
e9cdddd |
install -p -m 0644 ejabberd.if %{buildroot}%{_datadir}/selinux/devel/include/apps/
|
|
|
e9cdddd |
|
|
|
10a8041 |
|
|
|
40198c6 |
%check
|
|
|
40198c6 |
%{rebar_eunit}
|
|
|
40198c6 |
|
|
|
40198c6 |
|
|
|
9dca01c |
%pre
|
|
|
d8d4245 |
getent group %{name} >/dev/null || groupadd -r %{name}
|
|
|
d8d4245 |
getent passwd %{name} >/dev/null || \
|
|
|
d8d4245 |
useradd -r -g %{name} -d %{_localstatedir}/lib/%{name} -s /sbin/nologin -M \
|
|
|
d8d4245 |
-c "ejabberd" %{name} 2>/dev/null || :
|
|
|
9dca01c |
|
|
|
57a13ca |
|
|
|
57a13ca |
if [ $1 -gt 1 ]; then
|
|
|
25bb08c |
# we should backup DB in every upgrade
|
|
|
25bb08c |
if ejabberdctl status >/dev/null ; then
|
|
|
25bb08c |
# Use timestamp to make database restoring easier
|
|
|
25bb08c |
TIME=$(date +%%Y-%%m-%%dT%%H:%%M:%%S)
|
|
|
25bb08c |
BACKUPDIR=$(mktemp -d -p /var/tmp/ ejabberd-$TIME.XXXXXX)
|
|
|
25bb08c |
chown ejabberd:ejabberd $BACKUPDIR
|
|
|
25bb08c |
BACKUP=$BACKUPDIR/ejabberd-database
|
|
|
25bb08c |
ejabberdctl backup $BACKUP
|
|
|
25bb08c |
# Change ownership to root:root because ejabberd user might be
|
|
|
25bb08c |
# removed on package removal.
|
|
|
25bb08c |
chown -R root:root $BACKUPDIR
|
|
|
25bb08c |
chmod 700 $BACKUPDIR
|
|
|
25bb08c |
echo
|
|
|
25bb08c |
echo The ejabberd database has been backed up to $BACKUP.
|
|
|
25bb08c |
echo
|
|
|
25bb08c |
fi
|
|
|
25bb08c |
|
|
|
25bb08c |
# fix cookie path (since ver. 2.1.0 cookie stored in /var/lib/ejabberd/spool
|
|
|
25bb08c |
# rather than in /var/lib/ejabberd
|
|
|
25bb08c |
if [ -f /var/lib/ejabberd/spool/.erlang.cookie ]; then
|
|
|
25bb08c |
cp -pu /var/lib/ejabberd/{spool/,}.erlang.cookie
|
|
|
25bb08c |
echo
|
|
|
25bb08c |
echo The ejabberd cookie file was moved again.
|
|
|
25bb08c |
echo Please delete old one from /var/lib/ejabberd/spool/.erlang.cookie
|
|
|
25bb08c |
echo
|
|
|
25bb08c |
fi
|
|
|
9dca01c |
fi
|
|
|
9dca01c |
|
|
|
9dca01c |
|
|
|
9dca01c |
%post
|
|
|
10a8041 |
%systemd_post %{name}.service
|
|
|
9dca01c |
|
|
|
57a13ca |
# Create SSL certificate with default values if it doesn't exist
|
|
|
9dca01c |
(cd /etc/ejabberd
|
|
|
9dca01c |
if [ ! -f ejabberd.pem ]
|
|
|
9dca01c |
then
|
|
|
9dca01c |
echo "Generating SSL certificate /etc/ejabberd/ejabberd.pem..."
|
|
|
9dca01c |
HOSTNAME=$(hostname -s 2>/dev/null || echo "localhost")
|
|
|
9dca01c |
DOMAINNAME=$(hostname -d 2>/dev/null || echo "localdomain")
|
|
|
9dca01c |
openssl req -new -x509 -days 365 -nodes -out ejabberd.pem \
|
|
|
9dca01c |
-keyout ejabberd.pem > /dev/null 2>&1 <<+++
|
|
|
9dca01c |
.
|
|
|
9dca01c |
.
|
|
|
9dca01c |
.
|
|
|
9dca01c |
$DOMAINNAME
|
|
|
9dca01c |
$HOSTNAME
|
|
|
9dca01c |
ejabberd
|
|
|
9dca01c |
root@$HOSTNAME.$DOMAINNAME
|
|
|
9dca01c |
+++
|
|
|
9dca01c |
chown ejabberd:ejabberd ejabberd.pem
|
|
|
9dca01c |
chmod 600 ejabberd.pem
|
|
|
9dca01c |
fi)
|
|
|
9dca01c |
|
|
|
9dca01c |
|
|
|
e9cdddd |
%post selinux
|
|
|
e9cdddd |
if /usr/sbin/selinuxenabled ; then
|
|
|
e9cdddd |
/usr/sbin/semodule -i %{_datadir}/selinux/targeted/ejabberd.pp
|
|
|
e9cdddd |
fi
|
|
|
e9cdddd |
|
|
|
e9cdddd |
|
|
|
e9cdddd |
%posttrans selinux
|
|
|
e9cdddd |
/usr/sbin/restorecon -i -R /var/lib/ejabberd/
|
|
|
e9cdddd |
/usr/sbin/restorecon -i -R /var/log/ejabberd/
|
|
|
e9cdddd |
|
|
|
e9cdddd |
|
|
|
9dca01c |
%preun
|
|
|
10a8041 |
%systemd_preun %{name}.service
|
|
|
9dca01c |
|
|
|
9dca01c |
|
|
|
e9cdddd |
%preun selinux
|
|
|
e9cdddd |
if [ $1 -eq 0 ] && [ "$(/usr/sbin/semodule -l | grep ejabberd)" = "ejabberd" ]; then
|
|
|
e9cdddd |
/usr/sbin/semodule -s targeted -r ejabberd &> /dev/null
|
|
|
e9cdddd |
fi
|
|
|
e9cdddd |
|
|
|
e9cdddd |
|
|
|
9dca01c |
%postun
|
|
|
10a8041 |
%systemd_postun_with_restart %{name}.service
|
|
|
73b15bb |
|
|
|
9dca01c |
|
|
|
73b15bb |
%files
|
|
|
1e387fa |
%license COPYING
|
|
|
25bb08c |
%doc README README.md
|
|
|
73b15bb |
|
|
|
73b15bb |
%attr(750,ejabberd,ejabberd) %dir %{_sysconfdir}/ejabberd
|
|
|
145e11b |
%attr(640,ejabberd,ejabberd) %config(noreplace) %{_sysconfdir}/ejabberd/ejabberd.yml
|
|
|
db40560 |
%attr(640,ejabberd,ejabberd) %config(noreplace) %{_sysconfdir}/ejabberd/ejabberdctl.cfg
|
|
|
73b15bb |
%attr(640,ejabberd,ejabberd) %config(noreplace) %{_sysconfdir}/ejabberd/inetrc
|
|
|
73b15bb |
|
|
|
10a8041 |
%{_unitdir}/%{name}.service
|
|
|
25d31e8 |
|
|
|
1519101 |
%config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
|
|
|
1519101 |
%config(noreplace) %{_sysconfdir}/pam.d/%{name}
|
|
|
ed0d38d |
%config(noreplace) %{_sysconfdir}/pam.d/ejabberdctl
|
|
|
5357d2d |
%{_datadir}/polkit-1/actions/ejabberdctl.policy
|
|
|
2309409 |
%{_datadir}/polkit-1/rules.d/51-ejabberdctl.rules
|
|
|
ed0d38d |
%{_bindir}/ejabberdctl
|
|
|
ed0d38d |
|
|
|
1e387fa |
%dir %{_erllibdir}/%{name}-%{version}
|
|
|
1e387fa |
%dir %{_erllibdir}/%{name}-%{version}/ebin
|
|
|
1e387fa |
%dir %{_erllibdir}/%{name}-%{version}/include
|
|
|
1e387fa |
%dir %{_erllibdir}/%{name}-%{version}/priv
|
|
|
1e387fa |
%dir %{_erllibdir}/%{name}-%{version}/priv/bin
|
|
|
1e387fa |
%dir %{_erllibdir}/%{name}-%{version}/priv/msgs
|
|
|
a071f0d |
%dir %{_erllibdir}/%{name}-%{version}/priv/sql
|
|
|
145e11b |
|
|
|
1e387fa |
%{_erllibdir}/%{name}-%{version}/ebin/*.app
|
|
|
1e387fa |
%{_erllibdir}/%{name}-%{version}/ebin/*.beam
|
|
|
1e387fa |
%{_erllibdir}/%{name}-%{version}/include/*.hrl
|
|
|
1e387fa |
%{_erllibdir}/%{name}-%{version}/priv/bin/captcha.sh
|
|
|
1e387fa |
%{_erllibdir}/%{name}-%{version}/priv/msgs/*.msg
|
|
Peter Lemenkov |
d63babb |
%{_erllibdir}/%{name}-%{version}/priv/sql/*.sql
|
|
|
63ecd49 |
|
|
|
73b15bb |
%attr(750,ejabberd,ejabberd) %dir /var/lib/ejabberd
|
|
|
73b15bb |
%attr(750,ejabberd,ejabberd) %dir /var/log/ejabberd
|
|
|
73b15bb |
|
|
|
9fe454b |
|
|
|
e9cdddd |
%files selinux
|
|
|
e9cdddd |
%{_datadir}/selinux/devel/include/apps/ejabberd.if
|
|
|
e9cdddd |
%{_datadir}/selinux/targeted/ejabberd.pp
|
|
|
e9cdddd |
|
|
|
e9cdddd |
|
|
|
73b15bb |
%changelog
|
|
|
3331f7f |
* Sun Jul 29 2018 Randy Barlow <bowlofeggs@fedoraproject.org> - 18.06-1
|
|
|
3331f7f |
- Update to 18.06 (#1596197).
|
|
|
3331f7f |
- https://blog.process-one.net/ejabberd-18-06/
|
|
|
3331f7f |
|
|
|
090f8ca |
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 18.04-3
|
|
|
090f8ca |
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
|
|
090f8ca |
|
|
|
58c62c3 |
* Sat Jun 09 2018 Randy Barlow <bowlofeggs@fedoraproject.org> - 18.04-2
|
|
|
58c62c3 |
- Correct a typo in the oauth2 requires macro.
|
|
|
58c62c3 |
|
|
|
d321ebf |
* Sat Jun 09 2018 Randy Barlow <bowlofeggs@fedoraproject.org> - 18.04-1
|
|
|
d321ebf |
- Upgrade to 18.04 (#1571775).
|
|
|
d321ebf |
- Use TLS for the URL.
|
|
|
d321ebf |
- https://blog.process-one.net/ejabberd-18-04/
|
|
|
d321ebf |
|
|
|
501b8d6 |
* Mon Jun 04 2018 Randy Barlow <bowlofeggs@fedoraproject.org> - 18.03-3
|
|
|
501b8d6 |
- Use the correct path to epmd in ejabberdctl (#1573006).
|
|
|
501b8d6 |
|
|
|
62f8010 |
* Sat Mar 31 2018 Jeremy Cline <jeremy@jcline.org> - 18.03-2
|
|
|
62f8010 |
- Allow PostgreSQL and MySQL database connections in SELinux policy
|
|
|
62f8010 |
|
|
|
8c6bed6 |
* Mon Mar 26 2018 Randy Barlow <bowlofeggs@fedoraproject.org> - 18.03-1
|
|
|
8c6bed6 |
- Update to 18.03 (#1560117).
|
|
|
8c6bed6 |
- https://blog.process-one.net/ejabberd-18-03/
|
|
|
8c6bed6 |
|
|
|
23f97d5 |
* Sun Mar 25 2018 Randy Barlow <bowlofeggs@fedoraproject.org> - 18.1.0-2
|
|
|
23f97d5 |
- Convert to a noarch package.
|
|
|
23f97d5 |
|
|
|
3404dc0 |
* Tue Feb 13 2018 Randy Barlow <bowlofeggs@fedoraproject.org> - 18.1.0-1
|
|
|
3404dc0 |
- Update to 18.1.0 (#1537324).
|
|
|
3404dc0 |
- Require erlang-os_mon (#1542927).
|
|
|
3404dc0 |
|
|
|
84b358a |
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 18.01-2
|
|
|
84b358a |
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
|
|
84b358a |
|
|
|
e880009 |
* Sat Jan 13 2018 Randy Barlow <bowlofeggs@fedoraproject.org> - 18.01-1
|
|
|
e880009 |
- Update to 18.01 (#1516062).
|
|
|
e880009 |
- https://blog.process-one.net/ejabberd-17-11-happy-birthday-ejabberd/
|
|
|
e880009 |
- https://blog.process-one.net/ejabberd-17-12/
|
|
|
e880009 |
- https://blog.process-one.net/ejabberd-18-01/
|
|
|
e880009 |
- Require the selinux policy to be installed.
|
|
|
e880009 |
- Allow port 5281 in the SELinux policy (#1494854).
|
|
|
e880009 |
|
|
|
bc14ce1 |
* Mon Dec 11 2017 Randy Barlow <bowlofeggs@fedoraproject.org> - 17.09-2
|
|
|
bc14ce1 |
- Fix three issues that prevented ejabberd from starting (#1524199).
|
|
|
bc14ce1 |
|
|
|
359f17b |
* Fri Nov 10 2017 Randy Barlow <bowlofeggs@fedoraproject.org> - 17.09-1
|
|
|
359f17b |
- Update to 17.09 (#1427123).
|
|
|
359f17b |
- https://blog.process-one.net/ejabberd-17-09/
|
|
|
359f17b |
|
|
|
2e3dcb3 |
* Sun Oct 22 2017 Randy Barlow <bowlofeggs@fedoraproject.org> - 17.07-2
|
|
|
2e3dcb3 |
- In 17.07-1 I had accidentally reverted my patch to depend on epam
|
|
|
2e3dcb3 |
instead of p1_pam. This build fixes that again.
|
|
|
2e3dcb3 |
|
|
|
e9cdddd |
* Sun Oct 22 2017 Randy Barlow <bowlofeggs@fedoraproject.org> - 17.07-1
|
|
|
e9cdddd |
- Update to 17.07 (#1427123).
|
|
|
e9cdddd |
- https://blog.process-one.net/ejabberd-17-07/
|
|
|
e9cdddd |
- Add an SELinux policy subpackage.
|
|
|
e9cdddd |
|
|
|
a4482d8 |
* Mon Oct 02 2017 Randy Barlow <bowlofeggs@fedoraproject.org> - 17.01-6
|
|
|
a4482d8 |
- Depend on epam instead of p1_pam (#1494988).
|
|
|
a4482d8 |
|
|
|
ee2a882 |
* Sat Sep 23 2017 Randy Barlow <bowlofeggs@fedoraproject.org> - 17.01-5
|
|
|
35a736c |
- Run ejabberd directly in the unit file so it gets the correct SELinux context (#1424823).
|
|
|
35a736c |
- Don't run ejabberdctl through polkit, as it doesn't play nice with the SELinux policy.
|
|
|
35a736c |
|
|
|
c85b36d |
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 17.01-4
|
|
|
c85b36d |
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
|
|
c85b36d |
|
|
|
2d95d91 |
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 17.01-3
|
|
|
2d95d91 |
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
|
|
2d95d91 |
|
|
|
bc9a0f9 |
* Sun Feb 19 2017 Randy Barlow <bowlofeggs@fedoraproject.org> - 17.01-2
|
|
|
bc9a0f9 |
- Stop shipping the unneeded /usr/lib/tmpfiles.d/ejabberd.conf (#1186674).
|
|
|
bc9a0f9 |
- Stop putting a folder in /var/lock since that's a tmpfs.
|