public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
From: Randy Barlow <randy@electronsweatshop.com>
To: git-commits@fedoraproject.org
Subject: [rpms/ejabberd] f45: This commit successfully builds ejabberd-15.11.
Date: Wed, 23 Sep 2026 19:07:22 GMT [thread overview]
Message-ID: <179019044209.1.7817445004455932807.rpms-ejabberd-6f00c58c22ea@fedoraproject.org> (raw)
A new commit has been pushed.
Repo : rpms/ejabberd
Branch : f45
Commit : 6f00c58c22ea629ca90264d21e66c55690f43e8d
Author : Randy Barlow <randy@electronsweatshop.com>
Date : 2016-02-13T21:57:19-05:00
Stats : +248/-99 in 5 file(s)
URL : https://src.fedoraproject.org/rpms/ejabberd/c/6f00c58c22ea629ca90264d21e66c55690f43e8d?branch=f45
Log:
This commit successfully builds ejabberd-15.11.
This commit will successfully build ejabberd-15.11. It depends on
a build of erlang-p1_sip that just got built in Rawhide, so it will
not build in Koji until tomorrow.
There is a lot of commented code, most notably a lot of former
patches that no longer apply. We will need to review these patches
against the upstream changes between 14.07 and 15.11 to determine
whether they are still needed, and we will need to recreate them if
so.
I intend to perform a lot of cleanup in this spec file in the
coming weeks and months, but I wanted to commit as is since this is
the first state I've gotten it to where it builds successfully.
---
diff --git a/.gitignore b/.gitignore
index 157f4d1..f1819c8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -10,3 +10,4 @@ ejabberd-2.1.5.tar.gz
/ejabberd-v2.1.13.tar.gz
/ejabberd-14.07.tar.gz
/ejabberd-src-deps.tar
+/15.11.tar.gz
diff --git a/0013-Do-not-manage-deps-during-build.patch b/0013-Do-not-manage-deps-during-build.patch
new file mode 100644
index 0000000..e81a784
--- /dev/null
+++ b/0013-Do-not-manage-deps-during-build.patch
@@ -0,0 +1,47 @@
+From 6a5900c74692f7a56bdf55862b07f0c2bb8154c2 Mon Sep 17 00:00:00 2001
+From: Randy Barlow <randy@electronsweatshop.com>
+Date: Sat, 13 Feb 2016 10:57:00 -0500
+Subject: [PATCH] Do not manage deps during build.
+
+---
+ Makefile.in | 16 +++-------------
+ 1 file changed, 3 insertions(+), 13 deletions(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index 8dd6bf5..55140b1 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -77,19 +77,9 @@ else
+ INIT_USER=$(INSTALLUSER)
+ endif
+
+-all: deps src
++all: src
+
+-deps: deps/.got
+-
+-deps/.got:
+- rm -rf deps/.got
+- rm -rf deps/.built
+- $(REBAR) get-deps && :> deps/.got
+-
+-deps/.built: deps/.got
+- $(REBAR) compile && :> deps/.built
+-
+-src: deps/.built
++src:
+ $(REBAR) skip_deps=true compile
+
+ update:
+@@ -137,7 +127,7 @@ $(call TO_DEST,deps/p1_pam/priv/bin/epam): $(LIBDIR)/%: deps/% $(call TO_DEST,de
+
+ copy-files: $(call TO_DEST,$(DEPS_FILES) $(MAIN_FILES))
+
+-install: all copy-files
++install: copy-files
+ #
+ # Configuration files
+ $(INSTALL) -d -m 750 $(G_USER) $(ETCDIR)
+--
+2.7.1
+
diff --git a/0014-Remove-the-xmlrpc-dependency-as-it-s-only-used-for-t.patch b/0014-Remove-the-xmlrpc-dependency-as-it-s-only-used-for-t.patch
new file mode 100644
index 0000000..53542c4
--- /dev/null
+++ b/0014-Remove-the-xmlrpc-dependency-as-it-s-only-used-for-t.patch
@@ -0,0 +1,60 @@
+From 2aaad0d30d7ee580d5678c48a928c9422844699e Mon Sep 17 00:00:00 2001
+From: Randy Barlow <randy@electronsweatshop.com>
+Date: Sat, 13 Feb 2016 21:01:58 -0500
+Subject: [PATCH] Remove the xmlrpc dependency as it's only used for tests.
+
+---
+ mix.exs | 3 +--
+ mix.lock | 3 +--
+ rebar.config.script | 3 +--
+ 3 files changed, 3 insertions(+), 6 deletions(-)
+
+diff --git a/mix.exs b/mix.exs
+index fcc2973..4169c13 100644
+--- a/mix.exs
++++ b/mix.exs
+@@ -20,7 +20,7 @@ defmodule Ejabberd.Mixfile do
+ included_applications: [:p1_logger, :p1_yaml, :p1_tls, :p1_xml,
+ :p1_stringprep, :p1_zlib, :p1_cache_tab,
+ :mnesia, :p1_utils, :p1_iconv, :esip, :p1_stun,
+- :p1_mysql, :p1_pgsql, :eredis, :oauth2, :xmlrpc]]
++ :p1_mysql, :p1_pgsql, :eredis, :oauth2]]
+ end
+
+ defp erlc_options do
+@@ -45,7 +45,6 @@ defmodule Ejabberd.Mixfile do
+ {:p1_pgsql, git: "https://github.com/processone/pgsql"},
+ {:eredis, git: "https://github.com/wooga/eredis"},
+ {:oauth2, git: "https://github.com/prefiks/oauth2.git"},
+- {:xmlrpc, git: "https://github.com/rds13/xmlrpc.git"},
+ {:exrm, "~> 0.19.2"}]
+ end
+
+diff --git a/mix.lock b/mix.lock
+index 001e006..7ef1884 100644
+--- a/mix.lock
++++ b/mix.lock
+@@ -20,5 +20,4 @@
+ "p1_yaml": {:git, "https://github.com/processone/p1_yaml", "79f756ba73a235c4d3836ec07b5f7f2b55f49638", []},
+ "p1_zlib": {:git, "https://github.com/processone/zlib", "e3d4222b7aae616d7ef2e7e2fa0bbf451516c602", []},
+ "providers": {:hex, :providers, "1.4.1"},
+- "relx": {:hex, :relx, "3.5.0"},
+- "xmlrpc": {:git, "https://github.com/rds13/xmlrpc.git", "42e6e96a0fe7106830274feed915125feb1056f3", []}}
++ "relx": {:hex, :relx, "3.5.0"}}
+diff --git a/rebar.config.script b/rebar.config.script
+index 833595d..1aa21a2 100644
+--- a/rebar.config.script
++++ b/rebar.config.script
+@@ -63,8 +63,7 @@ Deps = [{p1_cache_tab, ".*", {git, "https://github.com/processone/cache_tab", "f
+ {p1_yaml, ".*", {git, "https://github.com/processone/p1_yaml", "79f756ba73a235c4d3836ec07b5f7f2b55f49638"}},
+ {p1_utils, ".*", {git, "https://github.com/processone/p1_utils", "d7800881e6702723ce58b7646b60c9e4cd25d563"}},
+ {jiffy, ".*", {git, "https://github.com/davisp/jiffy", "cfc61a2e952dc3182e0f9b1473467563699992e2"}},
+- {oauth2, ".*", {git, "https://github.com/prefiks/oauth2.git", "e6da9912e5d8f658e7e868f41a102d085bdbef59"}},
+- {xmlrpc, ".*", {git, "https://github.com/rds13/xmlrpc.git", "42e6e96a0fe7106830274feed915125feb1056f3"}}],
++ {oauth2, ".*", {git, "https://github.com/prefiks/oauth2.git", "e6da9912e5d8f658e7e868f41a102d085bdbef59"}}],
+
+ CFLags = proplists:get_value(cflags, Cfg, ""),
+ CPPFLags = proplists:get_value(cppflags, Cfg, ""),
+--
+2.7.1
+
diff --git a/ejabberd.spec b/ejabberd.spec
index 3fcb07f..75518c0 100644
--- a/ejabberd.spec
+++ b/ejabberd.spec
@@ -1,4 +1,5 @@
%global _hardened_build 1
+%global debug_package %{nil}
# FIXME non-standard directory for storing *.so objects
%{?filter_setup:
@@ -9,81 +10,99 @@
%{expand: %(DRV_VER=`rpm -q erlang-erts --provides | grep --color=no erl_drv_version` ; if [ "$DRV_VER" != "" ]; then echo %%global __erlang_drv_version $DRV_VER ; fi)}
-# Currently, hevea available only in Fedora
-%if 0%{?fedora}
-%global _with_hevea 1
-%endif
-
-
Name: ejabberd
-Version: 14.07
-Release: 8%{?dist}
-Summary: A distributed, fault-tolerant Jabber/XMPP server
+Version: 15.11
+Release: 1%{?dist}
-Group: Applications/Internet
+Summary: A distributed, fault-tolerant Jabber/XMPP server
License: GPLv2+
URL: http://www.ejabberd.im/
-%if 0%{?el7}%{?fedora}
-VCS: scm:git:https://github.com/processone/ejabberd.git
-%endif
-Source0: https://github.com/processone/%{name}/archive/%{version}/%{name}-%{version}.tar.gz
+VCS: scm:git:https://github.com/processone/ejabberd.git
+Source0: https://github.com/processone/%{name}/archive/%{version}.tar.gz
+#Source1: ejabberd-15.11-deps.tar.bz2
Source2: ejabberd.logrotate
# Support for systemd
-Source4: ejabberd.service
-Source5: ejabberd.tmpfiles.conf
+Source4: ejabberd.service
+Source5: ejabberd.tmpfiles.conf
# PAM support
Source9: ejabberdctl.pam
Source11: ejabberd.pam
# polkit support
-Source12: ejabberdctl.polkit.actions
-Source13: ejabberdctl.polkit.rules
+Source12: ejabberdctl.polkit.actions
+Source13: ejabberdctl.polkit.rules
-Source14: ejabberd-src-deps.tar
# Use ejabberd as an example for PAM service name (fedora/epel-specific)
Patch1: ejabberd-0001-Fix-PAM-service-example-name-to-match-actual-one.patch
# Introducing mod_admin_extra
-Patch2: ejabberd-0002-Introducing-mod_admin_extra.patch
+# rbarlow: it seems that mod_admin_extra already exists upstream in 15.11
+#Patch2: ejabberd-0002-Introducing-mod_admin_extra.patch
# BZ# 439583, 452326, 451554, 465196, 502361 (fedora/epel-specific)
-Patch3: ejabberd-0003-Fedora-specific-changes-to-ejabberdctl.patch
+# rbarlow: i'm not sure what this patch is for, but it does not apply cleanly
+#Patch3: ejabberd-0003-Fedora-specific-changes-to-ejabberdctl.patch
# Fedora-specific
-Patch4: ejabberd-0004-Install-.so-objects-with-0755-permissions.patch
+# rbarlow: this patch fails to apply
+#Patch4: ejabberd-0004-Install-.so-objects-with-0755-permissions.patch
# Fedora-specific
-Patch5: ejabberd-0005-Clean-up-false-security-measure.patch
+# rbarlow: This patch fails to apply cleanly
+# Patch5: ejabberd-0005-Clean-up-false-security-measure.patch
# polkit support
Patch6: ejabberd-0006-Enable-polkit-support.patch
# Fedora-specific
Patch7: ejabberd-0007-Install-into-BINDIR-instead-of-SBINDIR.patch
# Fedora-specific
-Patch8: ejabberd-0008-Disable-Erlang-version-check.patch
+# rbarlow: this patch failed to apply
+# Patch8: ejabberd-0008-Disable-Erlang-version-check.patch
# Fedora-specific
-Patch9: ejabberd-0009-Fix-permissions-for-captcha-script.patch
+# rbarlow: This patch failed to apply
+# Patch9: ejabberd-0009-Fix-permissions-for-captcha-script.patch
# Fedora-specific
Patch10:ejabberd-0010-Enable-systemd-notification-if-available.patch
-Patch11: ejabberd-0011-aarch64.patch
+#Patch11: ejabberd-0011-aarch64.patch
+# Patch12: 0012-Use-rds13_xmlrpc-instead-of-xmlrpc.patch
+Patch13: 0013-Do-not-manage-deps-during-build.patch
+Patch14: 0014-Remove-the-xmlrpc-dependency-as-it-s-only-used-for-t.patch
-BuildRequires: expat-devel
-BuildRequires: openssl-devel >= 0.9.8
+BuildRequires: expat-devel >= 1.95
+BuildRequires: openssl-devel >= 1.0.0
BuildRequires: pam-devel
-BuildRequires: libyaml-devel
-BuildRequires: erlang
+BuildRequires: libyaml-devel >= 0.1.4
+BuildRequires: erlang >= 17.1
BuildRequires: erlang-rebar
+BuildRequires: erlang-rpm-macros
BuildRequires: git
# FIXME
-#BuildRequires: erlang-jiffy
-#BuildRequires: erlang-lager
-#BuildRequires: erlang-ibrowse
-#BuildRequires: erlang-xmlrpc
-%if 0%{?_with_hevea}
+BuildRequires: elixir
+BuildRequires: erlang-jiffy
+BuildRequires: erlang-lager
+BuildRequires: erlang-meck
+BuildRequires: erlang-oauth2
+BuildRequires: erlang-p1_iconv
+BuildRequires: erlang-p1_mysql
+BuildRequires: erlang-p1_pam
+BuildRequires: erlang-p1_pgsql
+BuildRequires: erlang-p1_zlib
+BuildRequires: erlang-riak_client
+# Fixmore
+BuildRequires: erlang-cache_tab
+BuildRequires: erlang-p1_tls
+BuildRequires: erlang-p1_stringprep
+BuildRequires: erlang-p1_xml
+BuildRequires: erlang-p1_sip >= 1.0.0-2
+BuildRequires: erlang-p1_stun
+BuildRequires: erlang-p1_yaml
+BuildRequires: erlang-p1_utils
+#BuildRequires: erlang-rds13_xmlrpc
+
BuildRequires: hevea
BuildRequires: texlive-comment
-%endif
BuildRequires: autoconf
BuildRequires: automake
+BuildRequires: gcc-c++
# For creating user and group
Requires(pre): shadow-utils
@@ -103,6 +122,28 @@ Requires: erlang
Requires: polkit
# for flock in ejabberdctl
Requires: util-linux
+# From rebar
+Requires: elixir
+Requires: erlang-jiffy
+Requires: erlang-lager
+Requires: erlang-meck
+Requires: erlang-oauth2
+Requires: erlang-p1_iconv
+Requires: erlang-p1_mysql
+Requires: erlang-p1_pam
+Requires: erlang-p1_pgsql
+Requires: erlang-p1_zlib
+Requires: erlang-riak_client
+# Fix these
+Requires: erlang-cache_tab
+Requires: erlang-p1_tls
+Requires: erlang-p1_stringprep
+Requires: erlang-p1_xml
+Requires: erlang-p1_sip >= 1.0.0-2
+Requires: erlang-p1_stun
+Requires: erlang-p1_yaml
+Requires: erlang-p1_utils
+#Requires: erlang-rds13_xmlrpc
%{?__erlang_drv_version:Requires: %{__erlang_drv_version}}
%{?__erlang_nif_version:Requires: %{__erlang_nif_version}}
@@ -113,55 +154,63 @@ 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
-BuildArch: noarch
-Obsoletes: %{name}-doc < 2.1.4
-# docdir owner
-Requires: %{name} = %{version}-%{release}
-Group: Documentation
+#%package doc
+#Summary: Documentation for ejabberd
+#BuildArch: noarch
+#Obsoletes: %{name}-doc < 2.1.4
+## docdir owner
+#Requires: %{name} = %{version}-%{release}
+#Group: Documentation
-%description doc
-Documentation for ejabberd.
+#%description doc
+#Documentation for ejabberd.
%prep
%setup -q
%patch1 -p1 -b .pam_name
-%patch2 -p1 -b .mod_admin_extra
-%patch3 -p1 -b .fedora_specific
-%patch4 -p1 -b .so_lib_755
-%patch5 -p1 -b .false_security
+# %patch2 -p1 -b .mod_admin_extra
+# %patch3 -p1 -b .fedora_specific
+# %patch4 -p1 -b .so_lib_755
+# %patch5 -p1 -b .false_security
%patch6 -p1 -b .use_polkit
%patch7 -p1 -b .use_bindir
-%patch8 -p1 -b .no_ver_check
-%patch9 -p1 -b .captcha_perms
+# %patch8 -p1 -b .no_ver_check
+# %patch9 -p1 -b .captcha_perms
#%patch10 -p1 -b .systemd_notify
-tar xvf %{S:14}
-%patch11 -p1
+#tar xvf %{S:1}
+#%patch11 -p1
+#%patch12 -p1
+%patch13 -p1
+%patch14 -p1
+#touch deps/.got
+#touch deps/.built
%build
autoreconf -ivf
+#./autogen.sh
# Disabled: --enable-hipe --enable-roster-gateway-workaround --enable-transient_supervisors --enable-full-xml --enable-mssql --enable-tools --enable-riak --enable-http
-%configure --enable-nif --enable-odbc --enable-mysql --enable-pgsql --enable-pam --enable-zlib --enable-json --enable-iconv --enable-debug --enable-lager
-make
-%if 0%{?_with_hevea}
-pushd doc
-%ifarch %{power64}
-ulimit -a
-ulimit -Hs 65536
-ulimit -Ss 65536
-%endif
+#LDFLAGS="$LDFLAGS -L%{_libdir}/erlang/lib/"
+#echo $LDFLAGS
+%configure --enable-nif --enable-odbc --enable-mysql --enable-pgsql --enable-pam --enable-zlib --enable-iconv --enable-debug --enable-lager --libdir=%{_libdir}/erlang/lib/
+%rebar_compile
+#make src
+#pushd doc
+#%ifarch %{power64}
+#ulimit -a
+#ulimit -Hs 65536
+#ulimit -Ss 65536
+#%endif
# remove pre-built docs
-rm -f dev.html features.html
-# See this link - http://thread.gmane.org/gmane.linux.redhat.fedora.devel/198954/focus=198957
-make release
-make html pdf
-popd
-%endif
+#rm -f dev.html features.html
+## See this link - http://thread.gmane.org/gmane.linux.redhat.fedora.devel/198954/focus=198957
+#make release
+#make html pdf
+#popd
+# make edoc
%install
@@ -186,9 +235,8 @@ install -D -p -m 0644 %{S:2} %{buildroot}%{_sysconfdir}/logrotate.d/ejabberd
# create room for additional files (such as SQL schemas)
install -d %{buildroot}%{_datadir}/%{name}
# install sql-scripts for creating db schemes for various RDBMS
-install -p -m 0644 sql/mssql2000.sql %{buildroot}%{_datadir}/%{name}
-install -p -m 0644 sql/mssql2005.sql %{buildroot}%{_datadir}/%{name}
-install -p -m 0644 sql/mssql2012.sql %{buildroot}%{_datadir}/%{name}
+install -p -m 0644 sql/lite.sql %{buildroot}%{_datadir}/%{name}
+install -p -m 0644 sql/mssql.sql %{buildroot}%{_datadir}/%{name}
install -p -m 0644 sql/mysql.sql %{buildroot}%{_datadir}/%{name}
install -p -m 0644 sql/pg.sql %{buildroot}%{_datadir}/%{name}
@@ -285,27 +333,23 @@ fi)
%{_datadir}/polkit-1/rules.d/51-ejabberdctl.rules
%{_bindir}/ejabberdctl
-%dir %{_libdir}/%{name}
-%dir %{_libdir}/%{name}/ebin
-%dir %{_libdir}/%{name}/include
-%dir %{_libdir}/%{name}/priv
-%dir %{_libdir}/%{name}/priv/bin
-%dir %{_libdir}/%{name}/priv/lib
-%dir %{_libdir}/%{name}/priv/msgs
+%dir %{_erllibdir}/%{name}
+%dir %{_erllibdir}/%{name}/ebin
+%dir %{_erllibdir}/%{name}/include
+%dir %{_erllibdir}/%{name}/priv
+%dir %{_erllibdir}/%{name}/priv/bin
+%dir %{_erllibdir}/%{name}/priv/msgs
-%{_libdir}/%{name}/ebin/*.app
-%{_libdir}/%{name}/ebin/*.beam
-%{_libdir}/%{name}/include/*.hrl
-%{_libdir}/%{name}/priv/bin/captcha.sh
-%attr(4750,root,ejabberd) %{_libdir}/%{name}/priv/bin/epam
-%{_libdir}/%{name}/priv/lib/*.so
+%{_erllibdir}/%{name}/ebin/*.app
+%{_erllibdir}/%{name}/ebin/*.beam
+%{_erllibdir}/%{name}/include/*.hrl
+%{_erllibdir}/%{name}/priv/bin/captcha.sh
-%{_libdir}/%{name}/priv/msgs/*.msg
+%{_erllibdir}/%{name}/priv/msgs/*.msg
%dir %{_datadir}/%{name}
-%{_datadir}/%{name}/mssql2000.sql
-%{_datadir}/%{name}/mssql2005.sql
-%{_datadir}/%{name}/mssql2012.sql
+%{_datadir}/%{name}/lite.sql
+%{_datadir}/%{name}/mssql.sql
%{_datadir}/%{name}/mysql.sql
%{_datadir}/%{name}/pg.sql
@@ -313,18 +357,16 @@ fi)
%attr(750,ejabberd,ejabberd) %dir /var/lock/ejabberdctl
%attr(750,ejabberd,ejabberd) %dir /var/log/ejabberd
-%files doc
-%doc doc/*.html
-%doc doc/*.png
-%if 0%{?_with_hevea}
-%doc doc/*.pdf
-%endif
-%doc doc/*.txt
+#%files doc
+#%doc doc/*.html
+#%doc doc/*.png
+#%doc doc/*.pdf
+#%doc doc/*.txt
%changelog
-* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 14.07-8
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
+* Fri Feb 12 2016 Randy Barlow <rbarlow@redhat.com> - 15.11-1
+- Raise the version to 15.11.
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 14.07-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
diff --git a/sources b/sources
index b1728e6..de74c26 100644
--- a/sources
+++ b/sources
@@ -1,2 +1 @@
-a26b8acfc8fd15d94874befa06da15be ejabberd-14.07.tar.gz
-0362024d73b2c8ee38246be5a168869b ejabberd-src-deps.tar
+6e24541cc1526d1eee59c238c77c19c1 15.11.tar.gz
reply other threads:[~2026-09-23 19:07 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=179019044209.1.7817445004455932807.rpms-ejabberd-6f00c58c22ea@fedoraproject.org \
--to=randy@electronsweatshop.com \
--cc=git-commits@fedoraproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox