Add patch to properly report soname version information
This patch will be included upstream in 0.10.6 and can be dropped then. - Remove Bundles(ev) as this has not been true since 0.9.5
This commit is contained in:
parent
6ba4fc6d51
commit
4a087b2d68
67
0001-build-set-soname-in-shared-library.patch
Normal file
67
0001-build-set-soname-in-shared-library.patch
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
From fa17cdcdc8f737fbcf986f96d657ca37e07fb1be Mon Sep 17 00:00:00 2001
|
||||||
|
From: Ben Noordhuis <info@bnoordhuis.nl>
|
||||||
|
Date: Sun, 12 May 2013 14:48:58 +0200
|
||||||
|
Subject: [PATCH] build: set soname in shared library
|
||||||
|
|
||||||
|
---
|
||||||
|
config-unix.mk | 5 +++++
|
||||||
|
src/version.c | 4 +++-
|
||||||
|
uv.gyp | 9 ++++++++-
|
||||||
|
3 files changed, 16 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/config-unix.mk b/config-unix.mk
|
||||||
|
index ae510a332d127e03bd03f6f424e7b2e0c9973053..ea4a0ad4f715ad0ccd834228724b97aa3feed3ae 100644
|
||||||
|
--- a/config-unix.mk
|
||||||
|
+++ b/config-unix.mk
|
||||||
|
@@ -153,6 +153,11 @@ CPPFLAGS += -Isrc/unix
|
||||||
|
CFLAGS += -DHAVE_DTRACE
|
||||||
|
endif
|
||||||
|
|
||||||
|
+ifneq (darwin,$(PLATFORM))
|
||||||
|
+# Must correspond with UV_VERSION_MAJOR and UV_VERSION_MINOR in src/version.c
|
||||||
|
+LDFLAGS += -Wl,-soname,libuv.so.0.10
|
||||||
|
+endif
|
||||||
|
+
|
||||||
|
libuv.a: $(OBJS)
|
||||||
|
$(AR) rcs $@ $^
|
||||||
|
|
||||||
|
diff --git a/src/version.c b/src/version.c
|
||||||
|
index 3291d47eebb10532638c58b2e5ffa348064f7564..9e9bf003e4ced453e28dfeb383b6474eb69271ff 100644
|
||||||
|
--- a/src/version.c
|
||||||
|
+++ b/src/version.c
|
||||||
|
@@ -24,7 +24,9 @@
|
||||||
|
/*
|
||||||
|
* Versions with an even minor version (e.g. 0.6.1 or 1.0.4) are API and ABI
|
||||||
|
* stable. When the minor version is odd, the API can change between patch
|
||||||
|
- * releases.
|
||||||
|
+ * releases. Make sure you update the -soname directives in config-unix.mk
|
||||||
|
+ * and uv.gyp whenever you bump UV_VERSION_MAJOR or UV_VERSION_MINOR (but
|
||||||
|
+ * not UV_VERSION_PATCH.)
|
||||||
|
*/
|
||||||
|
|
||||||
|
#undef UV_VERSION_MAJOR /* TODO(bnoordhuis) Remove in v0.11. */
|
||||||
|
diff --git a/uv.gyp b/uv.gyp
|
||||||
|
index 7824819a9bd4a889b566cefa45873d24822a689e..407da4bb3483a5eb4ff1f23fa90596013e721655 100644
|
||||||
|
--- a/uv.gyp
|
||||||
|
+++ b/uv.gyp
|
||||||
|
@@ -164,9 +164,16 @@
|
||||||
|
],
|
||||||
|
},
|
||||||
|
'conditions': [
|
||||||
|
- ['"<(library)" == "shared_library"', {
|
||||||
|
+ ['library=="shared_library"', {
|
||||||
|
'cflags': [ '-fPIC' ],
|
||||||
|
}],
|
||||||
|
+ ['library=="shared_library" and OS!="mac"', {
|
||||||
|
+ 'link_settings': {
|
||||||
|
+ # Must correspond with UV_VERSION_MAJOR and UV_VERSION_MINOR
|
||||||
|
+ # in src/version.c
|
||||||
|
+ 'libraries': [ '-Wl,-soname,libuv.so.0.10' ],
|
||||||
|
+ },
|
||||||
|
+ }],
|
||||||
|
],
|
||||||
|
}],
|
||||||
|
[ 'OS=="linux" or OS=="mac"', {
|
||||||
|
--
|
||||||
|
1.8.2.1
|
||||||
|
|
15
libuv.spec
15
libuv.spec
@ -7,7 +7,7 @@
|
|||||||
Name: libuv
|
Name: libuv
|
||||||
Epoch: 1
|
Epoch: 1
|
||||||
Version: 0.10.5
|
Version: 0.10.5
|
||||||
Release: 1%{?dist}
|
Release: 2%{?dist}
|
||||||
Summary: Platform layer for node.js
|
Summary: Platform layer for node.js
|
||||||
|
|
||||||
Group: Development/Tools
|
Group: Development/Tools
|
||||||
@ -16,14 +16,13 @@ URL: http://nodejs.org/
|
|||||||
Source0: http://libuv.org/dist/v%{version}/%{name}-v%{version}.tar.gz
|
Source0: http://libuv.org/dist/v%{version}/%{name}-v%{version}.tar.gz
|
||||||
Source2: libuv.pc.in
|
Source2: libuv.pc.in
|
||||||
|
|
||||||
|
# Upstream patch for generating versioned shared object
|
||||||
|
Patch0001: 0001-build-set-soname-in-shared-library.patch
|
||||||
|
|
||||||
BuildRequires: gyp
|
BuildRequires: gyp
|
||||||
Requires(post): /sbin/ldconfig
|
Requires(post): /sbin/ldconfig
|
||||||
Requires(postun): /sbin/ldconfig
|
Requires(postun): /sbin/ldconfig
|
||||||
|
|
||||||
# Bundling exception request:
|
|
||||||
# https://fedorahosted.org/fpc/ticket/231
|
|
||||||
Provides: bundled(libev) = 4.04
|
|
||||||
|
|
||||||
%description
|
%description
|
||||||
libuv is a new platform layer for Node. Its purpose is to abstract IOCP on
|
libuv is a new platform layer for Node. Its purpose is to abstract IOCP on
|
||||||
Windows and libev on Unix systems. We intend to eventually contain all platform
|
Windows and libev on Unix systems. We intend to eventually contain all platform
|
||||||
@ -42,6 +41,7 @@ Development libraries for libuv
|
|||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q -n %{name}-v%{version}
|
%setup -q -n %{name}-v%{version}
|
||||||
|
%patch0001 -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
export CFLAGS='%{optflags}'
|
export CFLAGS='%{optflags}'
|
||||||
@ -113,6 +113,11 @@ sed -e "s#@prefix@#%{_prefix}#g" \
|
|||||||
%{_includedir}/uv-private
|
%{_includedir}/uv-private
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon May 13 2013 Stephen Gallagher <sgallagh@redhat.com> - 1:0.10.5-2
|
||||||
|
- Add patch to properly report soname version information
|
||||||
|
This patch will be included upstream in 0.10.6 and can be dropped then.
|
||||||
|
- Remove Bundles(ev) as this has not been true since 0.9.5
|
||||||
|
|
||||||
* Wed Apr 24 2013 T.C. Hollingsworth <tchollingsworth@gmail.com> - 1:0.10.5-1
|
* Wed Apr 24 2013 T.C. Hollingsworth <tchollingsworth@gmail.com> - 1:0.10.5-1
|
||||||
- new upstream release 0.10.5
|
- new upstream release 0.10.5
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user