[openssl] use symbol versioning also for the textual version
Tomáš Mráz
tmraz at fedoraproject.org
Fri Jul 26 11:16:22 UTC 2013
commit acdf8a62f640efd8f6a356f72efec7397f9372a5
Author: Tomas Mraz <tmraz at fedoraproject.org>
Date: Fri Jul 26 13:16:10 2013 +0200
use symbol versioning also for the textual version
- additional manual page fix
openssl-1.0.1-version.patch | 43 ----------------------------
openssl-1.0.1e-version.patch | 63 ++++++++++++++++++++++++++++++++++++++++++
openssl.spec | 8 ++++-
3 files changed, 69 insertions(+), 45 deletions(-)
---
diff --git a/openssl-1.0.1e-version.patch b/openssl-1.0.1e-version.patch
new file mode 100644
index 0000000..e73f2c9
--- /dev/null
+++ b/openssl-1.0.1e-version.patch
@@ -0,0 +1,63 @@
+diff -up openssl-1.0.1e/crypto/cversion.c.version openssl-1.0.1e/crypto/cversion.c
+--- openssl-1.0.1e/crypto/cversion.c.version 2013-02-11 16:02:47.000000000 +0100
++++ openssl-1.0.1e/crypto/cversion.c 2013-07-26 12:28:12.739161925 +0200
+@@ -62,7 +62,7 @@
+ #include "buildinf.h"
+ #endif
+
+-const char *SSLeay_version(int t)
++const char *_current_SSLeay_version(int t)
+ {
+ if (t == SSLEAY_VERSION)
+ return OPENSSL_VERSION_TEXT;
+@@ -110,8 +110,25 @@ const char *SSLeay_version(int t)
+ return("not available");
+ }
+
+-unsigned long SSLeay(void)
++const char *_original_SSLeay_version(int t)
++ {
++ if (t == SSLEAY_VERSION)
++ return "OpenSSL 1.0.0-fips 29 Mar 2010";
++ else
++ return _current_SSLeay_version(t);
++ }
++
++unsigned long _original_SSLeay(void)
++ {
++ return(0x10000003);
++ }
++
++unsigned long _current_SSLeay(void)
+ {
+ return(SSLEAY_VERSION_NUMBER);
+ }
+
++__asm__(".symver _original_SSLeay,SSLeay@");
++__asm__(".symver _original_SSLeay_version,SSLeay_version@");
++__asm__(".symver _current_SSLeay,SSLeay@@OPENSSL_1.0.1");
++__asm__(".symver _current_SSLeay_version,SSLeay_version@@OPENSSL_1.0.1");
+diff -up openssl-1.0.1e/Makefile.shared.version openssl-1.0.1e/Makefile.shared
+--- openssl-1.0.1e/Makefile.shared.version 2013-07-26 12:23:43.615545603 +0200
++++ openssl-1.0.1e/Makefile.shared 2013-07-26 12:23:43.701547398 +0200
+@@ -151,7 +151,7 @@ DO_GNU_SO=$(CALC_VERSIONS); \
+ SHLIB_SUFFIX=; \
+ ALLSYMSFLAGS='-Wl,--whole-archive'; \
+ NOALLSYMSFLAGS='-Wl,--no-whole-archive'; \
+- SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared -Wl,-Bsymbolic -Wl,-soname=$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX"
++ SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared -Wl,-Bsymbolic -Wl,--default-symver,--version-script=version.map -Wl,-soname=$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX"
+
+ DO_GNU_APP=LDFLAGS="$(CFLAGS)"
+
+diff -up openssl-1.0.1e/version.map.version openssl-1.0.1e/version.map
+--- openssl-1.0.1e/version.map.version 2013-07-26 12:23:43.701547398 +0200
++++ openssl-1.0.1e/version.map 2013-07-26 12:29:10.698371472 +0200
+@@ -0,0 +1,8 @@
++OPENSSL_1.0.1 {
++ global:
++ SSLeay;
++ SSLeay_version;
++ local:
++ _original*;
++ _current*;
++};
diff --git a/openssl.spec b/openssl.spec
index 823c627..083a648 100644
--- a/openssl.spec
+++ b/openssl.spec
@@ -21,7 +21,7 @@
Summary: Utilities from the general purpose cryptography library with TLS implementation
Name: openssl
Version: 1.0.1e
-Release: 12%{?dist}
+Release: 13%{?dist}
Epoch: 1
# We have to remove certain patented algorithms from the openssl source
# tarball with the hobble-openssl script which is included below.
@@ -59,7 +59,7 @@ Patch45: openssl-1.0.1e-env-zlib.patch
Patch47: openssl-1.0.0-beta5-readme-warning.patch
Patch49: openssl-1.0.1a-algo-doc.patch
Patch50: openssl-1.0.1-beta2-dtls1-abi.patch
-Patch51: openssl-1.0.1-version.patch
+Patch51: openssl-1.0.1e-version.patch
Patch56: openssl-1.0.0c-rsa-x931.patch
Patch58: openssl-1.0.1-beta2-fips-md5-allow.patch
Patch60: openssl-1.0.0d-apps-dgst.patch
@@ -441,6 +441,10 @@ rm -rf $RPM_BUILD_ROOT/%{_libdir}/fipscanister.*
%postun libs -p /sbin/ldconfig
%changelog
+* Fri Jul 26 2013 Tomas Mraz <tmraz at redhat.com> 1.0.1e-13
+- additional manual page fix
+- use symbol versioning also for the textual version
+
* Thu Jul 25 2013 Tomas Mraz <tmraz at redhat.com> 1.0.1e-12
- additional manual page fixes
More information about the scm-commits
mailing list