[ejabberd/el6/master] Fix for Erlang/OTP R14A

Peter Lemenkov peter at fedoraproject.org
Wed Aug 4 09:22:25 UTC 2010


commit 0558a97bf5f5ebcd6c182b0254f818ccaf58bc24
Author: Peter Lemenkov <peter at fedoraproject.org>
Date:   Fri Jul 16 11:59:23 2010 +0000

    Fix for Erlang/OTP R14A

 ...-service-example-name-to-match-actual-one.patch |    4 +-
 ...ention-mod_ctlextra-as-an-ejabberd-module.patch |    4 +-
 ...berd-0003-Fixed-delays-in-s2s-connections.patch |    4 +-
 ejabberd-0004-Introducing-mod_admin_extra.patch    |    4 +-
 ...05-Fedora-specific-changes-to-ejabberdctl.patch |    4 +-
 ...pport-to-authenticate-against-SASL-GSSAPI.patch |    4 +-
 ...-Change-directory-to-readable-by-everyone.patch |   10 +-
 ...Install-.so-objects-with-0755-permissions.patch |    6 +-
 ...e-docs-by-default-also-install-.html-and-.patch |    7 +-
 ...nstall-COPYING-file-along-with-other-docs.patch |    8 +-
 ...d-0011-Pass-correct-version-to-autoreconf.patch |   37 ++++
 ...-Use-versioned-directory-for-storing-docs.patch |   35 ++++
 ...OTP-R14-use-public_key-library-instead-of.patch |  177 ++++++++++++++++++++
 ejabberd.spec                                      |   25 ++-
 14 files changed, 297 insertions(+), 32 deletions(-)
---
diff --git a/ejabberd-0001-Fix-PAM-service-example-name-to-match-actual-one.patch b/ejabberd-0001-Fix-PAM-service-example-name-to-match-actual-one.patch
index cddb7bd..f7c44da 100644
--- a/ejabberd-0001-Fix-PAM-service-example-name-to-match-actual-one.patch
+++ b/ejabberd-0001-Fix-PAM-service-example-name-to-match-actual-one.patch
@@ -1,7 +1,7 @@
 From 32b2458e39fa13190f575aafd2f410b2041ca78b Mon Sep 17 00:00:00 2001
 From: Peter Lemenkov <lemenkov at gmail.com>
 Date: Tue, 16 Feb 2010 16:03:38 +0300
-Subject: [PATCH 01/12] Fix PAM service example name to match actual one
+Subject: [PATCH 01/13] Fix PAM service example name to match actual one
 
 Signed-off-by: Peter Lemenkov <lemenkov at gmail.com>
 ---
@@ -22,5 +22,5 @@ index 4087947..b351cfc 100644
  %%
  %% Authentication using LDAP
 -- 
-1.7.0.1
+1.7.1.1
 
diff --git a/ejabberd-0002-Mention-mod_ctlextra-as-an-ejabberd-module.patch b/ejabberd-0002-Mention-mod_ctlextra-as-an-ejabberd-module.patch
index c1e1581..b4b0957 100644
--- a/ejabberd-0002-Mention-mod_ctlextra-as-an-ejabberd-module.patch
+++ b/ejabberd-0002-Mention-mod_ctlextra-as-an-ejabberd-module.patch
@@ -1,7 +1,7 @@
 From ce99acea0e154c8d5f9c6348c8770512325851fb Mon Sep 17 00:00:00 2001
 From: Peter Lemenkov <lemenkov at gmail.com>
 Date: Tue, 16 Feb 2010 16:05:53 +0300
-Subject: [PATCH 02/12] Mention mod_ctlextra as an ejabberd module
+Subject: [PATCH 02/13] Mention mod_ctlextra as an ejabberd module
 
 Signed-off-by: Peter Lemenkov <lemenkov at gmail.com>
 ---
@@ -21,5 +21,5 @@ index 3d65f82..d780de4 100644
  	     mod_echo,
  	     mod_http_bind,
 -- 
-1.7.0.1
+1.7.1.1
 
diff --git a/ejabberd-0003-Fixed-delays-in-s2s-connections.patch b/ejabberd-0003-Fixed-delays-in-s2s-connections.patch
index bcda716..be44484 100644
--- a/ejabberd-0003-Fixed-delays-in-s2s-connections.patch
+++ b/ejabberd-0003-Fixed-delays-in-s2s-connections.patch
@@ -1,7 +1,7 @@
 From 24b6dfa0c8194435f51de87c40001f81f4b514c2 Mon Sep 17 00:00:00 2001
 From: Sergei Golovan <sgolovan at nes.ru>
 Date: Tue, 16 Feb 2010 16:07:37 +0300
-Subject: [PATCH 03/12] Fixed delays in s2s connections.
+Subject: [PATCH 03/13] Fixed delays in s2s connections.
 
 Patch by Sergei Golovan increases timeouts in S2S and removes horrible 5-minute
 delay between remote server connection attempts after a falure (in case of
@@ -50,5 +50,5 @@ index 69cbfdd..4661241 100644
  open_socket(stop, StateData) ->
      ?INFO_MSG("s2s connection: ~s -> ~s (stopped in open socket)",
 -- 
-1.7.0.1
+1.7.1.1
 
diff --git a/ejabberd-0004-Introducing-mod_admin_extra.patch b/ejabberd-0004-Introducing-mod_admin_extra.patch
index 099d2cd..210dca7 100644
--- a/ejabberd-0004-Introducing-mod_admin_extra.patch
+++ b/ejabberd-0004-Introducing-mod_admin_extra.patch
@@ -1,7 +1,7 @@
 From 843ce577199c20241ad2f89a23d13240d0a52c7e Mon Sep 17 00:00:00 2001
 From: Badlop <badlop at process-one.net>
 Date: Tue, 16 Feb 2010 16:12:17 +0300
-Subject: [PATCH 04/12] Introducing mod_admin_extra
+Subject: [PATCH 04/13] Introducing mod_admin_extra
 
 Adds the mod_admin_extra module to ejabberd.
 This module extends the functionality provided by ejabberdctl
@@ -1314,5 +1314,5 @@ index 0000000..9f3ca14
 +is_glob_match(String, Glob) ->
 +    is_regexp_match(String, regexp:sh_to_awk(Glob)).
 -- 
-1.7.0.1
+1.7.1.1
 
diff --git a/ejabberd-0005-Fedora-specific-changes-to-ejabberdctl.patch b/ejabberd-0005-Fedora-specific-changes-to-ejabberdctl.patch
index 7039698..01f5ecb 100644
--- a/ejabberd-0005-Fedora-specific-changes-to-ejabberdctl.patch
+++ b/ejabberd-0005-Fedora-specific-changes-to-ejabberdctl.patch
@@ -1,7 +1,7 @@
 From f4c26373ef2c0c1c58726c6d3c8de0416c23bd9a Mon Sep 17 00:00:00 2001
 From: Peter Lemenkov <lemenkov at gmail.com>
 Date: Tue, 16 Feb 2010 16:30:05 +0300
-Subject: [PATCH 05/12] Fedora-specific changes to ejabberdctl
+Subject: [PATCH 05/13] Fedora-specific changes to ejabberdctl
 
 Signed-off-by: Peter Lemenkov <lemenkov at gmail.com>
 ---
@@ -44,5 +44,5 @@ index 9ede77d..69c74d6 100644
  done
  if [ "$ID" -eq "$EJID" ] ; then
 -- 
-1.7.0.1
+1.7.1.1
 
diff --git a/ejabberd-0006-Support-to-authenticate-against-SASL-GSSAPI.patch b/ejabberd-0006-Support-to-authenticate-against-SASL-GSSAPI.patch
index 3f9480f..0a65e52 100644
--- a/ejabberd-0006-Support-to-authenticate-against-SASL-GSSAPI.patch
+++ b/ejabberd-0006-Support-to-authenticate-against-SASL-GSSAPI.patch
@@ -1,7 +1,7 @@
 From 12008cf7b4072fd50273c94fc47db91280908491 Mon Sep 17 00:00:00 2001
 From: Badlop <badlop at process-one.net>
 Date: Tue, 29 Sep 2009 15:10:15 +0200
-Subject: [PATCH 06/12] Support to authenticate against SASL GSSAPI.
+Subject: [PATCH 06/13] Support to authenticate against SASL GSSAPI.
  http://www.ejabberd.im/cyrsasl_gssapi
 
 ---
@@ -424,5 +424,5 @@ index 0000000..b6943e1
 +      F -> {ok, F}
 +    end.
 -- 
-1.7.0.1
+1.7.1.1
 
diff --git a/ejabberd-0007-Change-directory-to-readable-by-everyone.patch b/ejabberd-0007-Change-directory-to-readable-by-everyone.patch
index dd03295..b52bbf4 100644
--- a/ejabberd-0007-Change-directory-to-readable-by-everyone.patch
+++ b/ejabberd-0007-Change-directory-to-readable-by-everyone.patch
@@ -1,10 +1,12 @@
-From eb4c92ad7f7b084834d4be0b9c2ac9999762c626 Mon Sep 17 00:00:00 2001
+From b85f4f18bc6ed36d380796c969f24ccad4968fa8 Mon Sep 17 00:00:00 2001
 From: Peter Lemenkov <lemenkov at gmail.com>
 Date: Thu, 18 Mar 2010 14:57:21 +0300
-Subject: [PATCH 07/12] Change directory to readable by everyone
+Subject: [PATCH 07/13] Change directory to readable by everyone
 
 This requires to suppress error messages like
-"File operation error: eacces". See rhbz #564686.
+"File operation error: eacces". See rhbz #564686:
+
+https://bugzilla.redhat.com/564686
 
 Signed-off-by: Peter Lemenkov <lemenkov at gmail.com>
 ---
@@ -27,5 +29,5 @@ index 69c74d6..11bcac8 100644
      ' start') start;;
      ' debug') debug;;
 -- 
-1.7.0.1
+1.7.1.1
 
diff --git a/ejabberd-0008-Install-.so-objects-with-0755-permissions.patch b/ejabberd-0008-Install-.so-objects-with-0755-permissions.patch
index 0b582df..89f41a2 100644
--- a/ejabberd-0008-Install-.so-objects-with-0755-permissions.patch
+++ b/ejabberd-0008-Install-.so-objects-with-0755-permissions.patch
@@ -1,7 +1,7 @@
-From 030c2c17c48fd36b5da4083356db1a1069a29378 Mon Sep 17 00:00:00 2001
+From 7a8468ca59258efa192cea0f7d6e6a33b269a841 Mon Sep 17 00:00:00 2001
 From: Peter Lemenkov <lemenkov at gmail.com>
 Date: Sat, 12 Jun 2010 14:14:52 +0400
-Subject: [PATCH 08/12] Install *.so objects with 0755 permissions
+Subject: [PATCH 08/13] Install *.so objects with 0755 permissions
 
 Signed-off-by: Peter Lemenkov <lemenkov at gmail.com>
 ---
@@ -22,5 +22,5 @@ index dd728ce..9a371a9 100644
  	# Translated strings
  	install -d $(MSGSDIR)
 -- 
-1.7.0.1
+1.7.1.1
 
diff --git a/ejabberd-0009-Install-more-docs-by-default.patch b/ejabberd-0009-Install-more-docs-by-default-also-install-.html-and-.patch
similarity index 83%
rename from ejabberd-0009-Install-more-docs-by-default.patch
rename to ejabberd-0009-Install-more-docs-by-default-also-install-.html-and-.patch
index d3e8e82..b84dcaf 100644
--- a/ejabberd-0009-Install-more-docs-by-default.patch
+++ b/ejabberd-0009-Install-more-docs-by-default-also-install-.html-and-.patch
@@ -1,7 +1,8 @@
-From 0f17d3b131f84e1cdb5a950fae05f8f6f62df57a Mon Sep 17 00:00:00 2001
+From ca7e4a416ea8e30f9501b414552aad145e484553 Mon Sep 17 00:00:00 2001
 From: Peter Lemenkov <lemenkov at gmail.com>
 Date: Sat, 12 Jun 2010 15:08:28 +0400
-Subject: [PATCH 09/12] Install more docs by default
+Subject: [PATCH 09/13] Install more docs by default - also install *.html and *.pdf (if
+ they exists at all).
 
 Signed-off-by: Peter Lemenkov <lemenkov at gmail.com>
 ---
@@ -31,5 +32,5 @@ index 9a371a9..8f7bc66 100644
  uninstall: uninstall-binary
  
 -- 
-1.7.0.1
+1.7.1.1
 
diff --git a/ejabberd-0010-Install-COPYING-file-along-with-other-docs.patch b/ejabberd-0010-Install-COPYING-file-along-with-other-docs.patch
index 8b2b8e3..8d87386 100644
--- a/ejabberd-0010-Install-COPYING-file-along-with-other-docs.patch
+++ b/ejabberd-0010-Install-COPYING-file-along-with-other-docs.patch
@@ -1,7 +1,9 @@
-From 94e29a76a6cd8aea45c7f9aa0f9d9ffc328d9689 Mon Sep 17 00:00:00 2001
+From af3365cdd09b7b15e429e6d23b014e09caba6f1a Mon Sep 17 00:00:00 2001
 From: Peter Lemenkov <lemenkov at gmail.com>
 Date: Sat, 12 Jun 2010 16:24:12 +0400
-Subject: [PATCH 10/12] Install COPYING file along  with other docs
+Subject: [PATCH 10/13] Install COPYING file along with other docs
+
+It's a generally good idea to provide file with licensing terms.
 
 Signed-off-by: Peter Lemenkov <lemenkov at gmail.com>
 ---
@@ -21,5 +23,5 @@ index 8f7bc66..151328d 100644
  uninstall: uninstall-binary
  
 -- 
-1.7.0.1
+1.7.1.1
 
diff --git a/ejabberd-0011-Pass-correct-version-to-autoreconf.patch b/ejabberd-0011-Pass-correct-version-to-autoreconf.patch
new file mode 100644
index 0000000..78932f0
--- /dev/null
+++ b/ejabberd-0011-Pass-correct-version-to-autoreconf.patch
@@ -0,0 +1,37 @@
+From e878ee567436d70e841d0c3c58ffd580fd3c8fa4 Mon Sep 17 00:00:00 2001
+From: Peter Lemenkov <lemenkov at gmail.com>
+Date: Sat, 12 Jun 2010 15:53:59 +0400
+Subject: [PATCH 11/13] Pass correct version to autoreconf
+
+It seems that AC_INIT macro is wrongly initialized. See this link
+for explanation of a particular AC_INIT variables:
+
+http://www.gnu.org/software/autoconf/manual/html_node/Initializing-configure.html
+
+Briefly, AC_INIT macro should be populated with the following data:
+
+AC_INIT (package, version, [bug-report], [tarname], [url])
+
+Note that the 'version' field should contain actual version string, e.g. 2.1.4.
+
+Signed-off-by: Peter Lemenkov <lemenkov at gmail.com>
+---
+ src/configure.ac |    2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/src/configure.ac b/src/configure.ac
+index 101baac..b46d90b 100644
+--- a/src/configure.ac
++++ b/src/configure.ac
+@@ -2,7 +2,7 @@
+ # Process this file with autoconf to produce a configure script.
+ 
+ AC_PREREQ(2.53)
+-AC_INIT(ejabberd.erl, version, [ejabberd at process-one.net], [ejabberd])
++AC_INIT(ejabberd, 2.1.4, [ejabberd at process-one.net], [ejabberd])
+ 
+ # Checks for programs.
+ AC_PROG_CC
+-- 
+1.7.1.1
+
diff --git a/ejabberd-0012-Use-versioned-directory-for-storing-docs.patch b/ejabberd-0012-Use-versioned-directory-for-storing-docs.patch
new file mode 100644
index 0000000..746b133
--- /dev/null
+++ b/ejabberd-0012-Use-versioned-directory-for-storing-docs.patch
@@ -0,0 +1,35 @@
+From 26699cf99164646db4d4460029656d327ea4d63c Mon Sep 17 00:00:00 2001
+From: Peter Lemenkov <lemenkov at gmail.com>
+Date: Sat, 12 Jun 2010 16:12:11 +0400
+Subject: [PATCH 12/13] Use versioned directory for storing docs
+
+It's also a good idea to store doc-files under the versioned directory.
+This may greatly simplify parallel installation of different versions of
+ejabbed.
+
+Note that this may be done in the other way - by changing proper field
+in the AC_INIT macro, see the explanation of the field 'tarname':
+
+http://www.gnu.org/software/autoconf/manual/html_node/Initializing-configure.html
+
+Signed-off-by: Peter Lemenkov <lemenkov at gmail.com>
+---
+ src/Makefile.in |    2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/src/Makefile.in b/src/Makefile.in
+index 151328d..c9e8689 100644
+--- a/src/Makefile.in
++++ b/src/Makefile.in
+@@ -88,7 +88,7 @@ SBINDIR = $(DESTDIR)@sbindir@
+ EJABBERDDIR = $(DESTDIR)@libdir@/ejabberd
+ 
+ # /share/doc/ejabberd
+-PACKAGE_TARNAME = @PACKAGE_TARNAME@
++PACKAGE_TARNAME = @PACKAGE_TARNAME at -@PACKAGE_VERSION@
+ datarootdir = @datarootdir@
+ DOCDIR = $(DESTDIR)@docdir@
+ 
+-- 
+1.7.1.1
+
diff --git a/ejabberd-0013-When-using-OTP-R14-use-public_key-library-instead-of.patch b/ejabberd-0013-When-using-OTP-R14-use-public_key-library-instead-of.patch
new file mode 100644
index 0000000..992c923
--- /dev/null
+++ b/ejabberd-0013-When-using-OTP-R14-use-public_key-library-instead-of.patch
@@ -0,0 +1,177 @@
+From 8923ed682ced3eb5ef234f6d8746ceef3aa734f5 Mon Sep 17 00:00:00 2001
+From: Badlop <badlop at process-one.net>
+Date: Fri, 9 Jul 2010 20:02:29 +0200
+Subject: [PATCH 13/13] When using OTP R14, use public_key library instead of old ssl (EJAB-953)
+
+---
+ src/Makefile.in                 |    2 +-
+ src/aclocal.m4                  |   17 +++++++++--------
+ src/ejabberd_s2s_in.erl         |    6 ++++++
+ src/tls/Makefile.in             |    1 +
+ src/tls/tls.erl                 |   10 +++++++++-
+ src/web/Makefile.in             |    2 +-
+ src/web/mod_http_fileserver.erl |    4 ++++
+ 7 files changed, 31 insertions(+), 11 deletions(-)
+
+diff --git a/src/Makefile.in b/src/Makefile.in
+index c9e8689..a2aa1e9 100644
+--- a/src/Makefile.in
++++ b/src/Makefile.in
+@@ -30,7 +30,7 @@ else
+   INIT_USER=$(INSTALLUSER)
+ endif
+ 
+-EFLAGS += @ERLANG_SSL39@ -pa .
++EFLAGS += @ERLANG_SSLVER@ -pa .
+ 
+ # make debug=true to compile Erlang module with debug informations.
+ ifdef debug
+diff --git a/src/aclocal.m4 b/src/aclocal.m4
+index 79b0e3e..09b166b 100644
+--- a/src/aclocal.m4
++++ b/src/aclocal.m4
+@@ -121,7 +121,6 @@ AC_DEFUN(AM_WITH_ERLANG,
+ -author('alexey at sevcom.net').
+ 
+ -export([[start/0]]).
+--include_lib("ssl/include/ssl_pkix.hrl").
+ 
+ start() ->
+     EIDirS = code:lib_dir("erl_interface") ++ "\n",
+@@ -130,11 +129,13 @@ start() ->
+     file:write_file("conftest.out", list_to_binary(EIDirS ++ EILibS ++ ssldef() ++ RootDirS)),
+     halt().
+ 
+--[ifdef]('id-pkix').
+-ssldef() -> "-DSSL39\n".
+--else.
+-ssldef() -> "\n".
+--endif.
++ssldef() -> 
++   OTP = (catch erlang:system_info(otp_release)),
++   if
++	OTP >= "R14" -> "-DSSL40\n";
++	OTP >= "R12" -> "-DSSL39\n";
++        true -> ""
++   end.
+ 
+ %% return physical architecture based on OS/Processor
+ archname() ->
+@@ -184,7 +185,7 @@ _EOF
+    # Second line
+    ERLANG_EI_LIB=`cat conftest.out | head -n 2 | tail -n 1`
+    # Third line
+-   ERLANG_SSL39=`cat conftest.out | head -n 3 | tail -n 1`
++   ERLANG_SSLVER=`cat conftest.out | head -n 3 | tail -n 1`
+    # End line
+    ERLANG_DIR=`cat conftest.out | tail -n 1`
+ 
+@@ -193,7 +194,7 @@ _EOF
+ 
+    AC_SUBST(ERLANG_CFLAGS)
+    AC_SUBST(ERLANG_LIBS)
+-   AC_SUBST(ERLANG_SSL39)
++   AC_SUBST(ERLANG_SSLVER)
+    AC_SUBST(ERLC)
+    AC_SUBST(ERL)
+ ])
+diff --git a/src/ejabberd_s2s_in.erl b/src/ejabberd_s2s_in.erl
+index cc217ef..db65715 100644
+--- a/src/ejabberd_s2s_in.erl
++++ b/src/ejabberd_s2s_in.erl
+@@ -48,6 +48,11 @@
+ 
+ -include("ejabberd.hrl").
+ -include("jlib.hrl").
++-ifdef(SSL40).
++-include_lib("public_key/include/public_key.hrl"). 
++-define(PKIXEXPLICIT, 'OTP-PUB-KEY').
++-define(PKIXIMPLICIT, 'OTP-PUB-KEY').
++-else.
+ -ifdef(SSL39).
+ -include_lib("ssl/include/ssl_pkix.hrl").
+ -define(PKIXEXPLICIT, 'OTP-PKIX').
+@@ -58,6 +63,7 @@
+ -define(PKIXEXPLICIT, 'PKIX1Explicit88').
+ -define(PKIXIMPLICIT, 'PKIX1Implicit88').
+ -endif.
++-endif.
+ -include("XmppAddr.hrl").
+ 
+ -define(DICT, dict).
+diff --git a/src/tls/Makefile.in b/src/tls/Makefile.in
+index 477a202..050539e 100644
+--- a/src/tls/Makefile.in
++++ b/src/tls/Makefile.in
+@@ -21,6 +21,7 @@ ifeq ($(shell uname),SunOs)
+     DYNAMIC_LIB_CFLAGS = -KPIC -G -z text
+ endif
+ 
++EFLAGS += @ERLANG_SSLVER@
+ EFLAGS += -I ..
+ EFLAGS += -pz ..
+ 
+diff --git a/src/tls/tls.erl b/src/tls/tls.erl
+index 9aee54c..9c921b3 100644
+--- a/src/tls/tls.erl
++++ b/src/tls/tls.erl
+@@ -61,6 +61,13 @@
+ -define(GET_VERIFY_RESULT,    8).
+ -define(VERIFY_NONE, 16#10000).
+ 
++-ifdef(SSL40).
++-define(CERT_DECODE, {public_key, pkix_decode_cert, plain}).
++-else.
++-define(CERT_DECODE, {ssl_pkix, decode_cert, [pkix]}).
++-endif.
++
++
+ -record(tlssock, {tcpsock, tlsport}).
+ 
+ start() ->
+@@ -232,7 +239,8 @@ close(#tlssock{tcpsock = TCPSocket, tlsport = Port}) ->
+ get_peer_certificate(#tlssock{tlsport = Port}) ->
+     case port_control(Port, ?GET_PEER_CERTIFICATE, []) of
+ 	<<0, BCert/binary>> ->
+-	    case catch ssl_pkix:decode_cert(BCert, [pkix]) of
++	    {CertMod, CertFun, CertSecondArg} = ?CERT_DECODE,
++	    case catch apply(CertMod, CertFun, [BCert, CertSecondArg]) of
+ 		{ok, Cert} ->
+ 		    {ok, Cert};
+ 		_ ->
+diff --git a/src/web/Makefile.in b/src/web/Makefile.in
+index 519314e..77f8014 100644
+--- a/src/web/Makefile.in
++++ b/src/web/Makefile.in
+@@ -9,7 +9,7 @@ LIBS = @LIBS@
+ ERLANG_CFLAGS = @ERLANG_CFLAGS@
+ ERLANG_LIBS = @ERLANG_LIBS@
+ 
+-EFLAGS += @ERLANG_SSL39@
++EFLAGS += @ERLANG_SSLVER@
+ EFLAGS += -I ..
+ EFLAGS += -pz ..
+ 
+diff --git a/src/web/mod_http_fileserver.erl b/src/web/mod_http_fileserver.erl
+index 8399640..670542f 100644
+--- a/src/web/mod_http_fileserver.erl
++++ b/src/web/mod_http_fileserver.erl
+@@ -66,11 +66,15 @@
+ 		  headers
+ 		 }).
+ 
++-ifdef(SSL40).
++-define(STRING2LOWER, string).
++-else.
+ -ifdef(SSL39).
+ -define(STRING2LOWER, string).
+ -else.
+ -define(STRING2LOWER, httpd_util).
+ -endif.
++-endif.
+ 
+ -record(state, {host, docroot, accesslog, accesslogfd, directory_indices,
+                 custom_headers, default_content_type, content_types = []}).
+-- 
+1.7.1.1
+
diff --git a/ejabberd.spec b/ejabberd.spec
index fed8b7f..069eb7c 100644
--- a/ejabberd.spec
+++ b/ejabberd.spec
@@ -11,7 +11,7 @@
 
 Name:           ejabberd
 Version:        2.1.4
-Release:        2%{?dist}
+Release:        3%{?dist}
 Summary:        A distributed, fault-tolerant Jabber/XMPP server
 
 Group:          Applications/Internet
@@ -52,12 +52,18 @@ Patch5: ejabberd-0005-Fedora-specific-changes-to-ejabberdctl.patch
 Patch6: ejabberd-0006-Support-to-authenticate-against-SASL-GSSAPI.patch
 # Fix issue with "File operation error: eacces"
 Patch7: ejabberd-0007-Change-directory-to-readable-by-everyone.patch
-# Fix so-lib permissions while installing (will be proposed for inclusion into upstream)
+# Fix so-lib permissions while installing (fedora/epel-specific)
 Patch8:	ejabberd-0008-Install-.so-objects-with-0755-permissions.patch
 # Applied upstream
-Patch9:	ejabberd-0009-Install-more-docs-by-default.patch
+Patch9:	ejabberd-0009-Install-more-docs-by-default-also-install-.html-and-.patch
 # Applied upstream
 Patch10: ejabberd-0010-Install-COPYING-file-along-with-other-docs.patch
+# Applied upstream
+Patch11: ejabberd-0011-Pass-correct-version-to-autoreconf.patch
+# Will be proposed for incusion into upstream
+Patch12: ejabberd-0012-Use-versioned-directory-for-storing-docs.patch
+# Backported from upstream
+Patch13: ejabberd-0013-When-using-OTP-R14-use-public_key-library-instead-of.patch
 
 
 BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@@ -68,7 +74,7 @@ BuildRequires:  pam-devel
 BuildRequires:  erlang
 BuildRequires:	dos2unix
 BuildRequires:	fedora-usermgmt-devel
-
+BuildRequires:	autoconf
 %if 0%{?with_hevea}
 BuildRequires:  hevea
 %endif
@@ -126,6 +132,9 @@ Documentation for ejabberd.
 %patch8 -p1 -b .fix_perms
 %patch9 -p1 -b .install_docs
 %patch10 -p1 -b .install_copying
+%patch11 -p1 -b .pass_ver
+%patch12 -p1 -b .versioned_docdir
+%patch13 -p1 -b .R14A
 
 cp %{S:4} src
 cp %{S:5} src
@@ -135,6 +144,7 @@ cp %{S:7} src
 
 %build
 pushd src
+autoreconf -ivf
 %configure --enable-odbc --enable-pam
 # doesn't builds on SMP currently
 make
@@ -187,9 +197,6 @@ install -p -m 0644 src/odbc/mssql2005.sql %{buildroot}%{_datadir}/%{name}
 install -p -m 0644 src/odbc/mysql.sql %{buildroot}%{_datadir}/%{name}
 install -p -m 0644 src/odbc/pg.sql %{buildroot}%{_datadir}/%{name}
 
-# rename doc-files directory properly
-mv %{buildroot}%{_docdir}/%{name}{,-%{version}}
-
 # Clean up false security measure
 chmod 755 %{buildroot}%{_sbindir}/ejabberdctl
 
@@ -357,6 +364,10 @@ rm -rf %{buildroot}
 %doc %{_docdir}/%{name}-%{version}/*.txt
 
 %changelog
+* Fri Jul 16 2010 Peter Lemenkov <lemenkov at gmail.com> 2.1.4-3
+- Fix for Erlang/OTP R14A
+- Added BR: autoconf
+
 * Fri Jun 18 2010 Peter Lemenkov <lemenkov at gmail.com> 2.1.4-2
 - No hevea for EL-6
 - No hevea for s390 and s390x


More information about the scm-commits mailing list