public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/ejabberd] f45: This commit successfully builds ejabberd-15.11.
@ 2026-09-23 19:07 Randy Barlow
  0 siblings, 0 replies; only message in thread
From: Randy Barlow @ 2026-09-23 19:07 UTC (permalink / raw)
  To: git-commits

            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

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2026-09-23 19:07 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-23 19:07 [rpms/ejabberd] f45: This commit successfully builds ejabberd-15.11 Randy Barlow

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox