1
#! /bin/sh /usr/share/dpatch/dpatch-run
2
## 81_sonames.dpatch by Mike Hommey <glandium@debian.org>
4
## All lines beginning with `## DP:' are a description of the patch.
5
## DP: Add soname support
9
Index: nspr/mozilla/nsprpub/config/rules.mk
10
===================================================================
11
--- nspr.orig/mozilla/nsprpub/config/rules.mk 2011-08-12 11:50:08.000000000 +0200
12
+++ nspr/mozilla/nsprpub/config/rules.mk 2011-08-12 11:51:14.512673956 +0200
16
SHARED_LIBRARY = $(OBJDIR)/lib$(LIBRARY_NAME)$(LIBRARY_VERSION).$(DLL_SUFFIX)
17
+SONAME = $(notdir $(SHARED_LIBRARY))
20
+ifneq (,$(findstring $(SONAME),$(MKSHLIB)))
21
+SO_VERSION_MAJOR := $(shell echo $(SO_VERSION) | sed 's/^\([^.]*\)\(\.[^.]*\)\?\(\.[^.]*\)\?/\1/')
22
+SO_VERSION_MINOR := $(shell echo $(SO_VERSION) | sed 's/^\([^.]*\)\(\.[^.]*\)\?\(\.[^.]*\)\?/\2/')
23
+SO_VERSION_MICRO := $(shell echo $(SO_VERSION) | sed 's/^\([^.]*\)\(\.[^.]*\)\?\(\.[^.]*\)\?/\3/')
25
+SHARED_LIBRARY_LINKS := $(SONAME)
26
+ifdef SO_VERSION_MINOR
27
+SHARED_LIBRARY_LINKS += $(SONAME).$(SO_VERSION_MAJOR)
29
+ifdef SO_VERSION_MICRO
30
+SHARED_LIBRARY_LINKS += $(SHARED_LIBRARY).$(SO_VERSION_MAJOR)$(SO_VERSION_MINOR)
33
+SONAME := $(SONAME).$(SO_VERSION_MAJOR)
34
+SHARED_LIBRARY := $(SHARED_LIBRARY).$(SO_VERSION)
36
+MKSHLINKS = (cd $(1) && for link in $(SHARED_LIBRARY_LINKS); do rm -f $$link; ln -s $(notdir $(SHARED_LIBRARY)) $$link; done)
46
ALL_TRASH = $(TARGETS) $(OBJS) $(RES) $(filter-out . .., $(OBJDIR)) LOGS TAGS $(GARBAGE) \
48
+ $(SHARED_LIBRARY_LINKS) $(NOSUCHFILE) \
51
ifndef RELEASE_LIBS_DEST
55
$(NSINSTALL) -t -m 0755 $(RELEASE_LIBS) $(DESTDIR)$(libdir)/$(lib_subdir)
56
+ $(call MKSHLINKS,$(DESTDIR)$(libdir)/$(lib_subdir))
64
+$(SHARED_LIBRARY_LINKS): %: $(SHARED_LIBRARY)
66
$(SHARED_LIBRARY): $(OBJS) $(RES) $(MAPFILE)
70
endif # MOZ_PROFILE_GENERATE
72
$(MKSHLIB) $(OBJS) $(RES) $(LDFLAGS) $(EXTRA_LIBS)
77
Index: nspr/mozilla/nsprpub/configure.in
78
===================================================================
79
--- nspr.orig/mozilla/nsprpub/configure.in 2011-08-12 11:50:34.000000000 +0200
80
+++ nspr/mozilla/nsprpub/configure.in 2011-08-12 11:51:36.656635307 +0200
83
MKSHLIB='$(CC) $(DSO_LDOPTS) $(WRAP_MALLOC_LIB) -o $@'
85
- DSO_LDOPTS='-shared -Wl,-soname -Wl,$(notdir $@)'
86
+ DSO_LDOPTS='-shared -Wl,-soname -Wl,$(SONAME)'
88
_DEBUG_FLAGS="-g -fno-inline" # most people on linux use gcc/gdb, and that
89
# combo is not yet good at debugging inlined
91
AC_DEFINE(_PR_STAT_HAS_ST_ATIMESPEC)
92
MKSHLIB='$(CC) -o $@ $(DSO_LDOPTS)'
94
- DSO_LDOPTS='-shared -Wl,-soname,$(@:$(OBJDIR)/%.so=%.so)'
95
+ DSO_LDOPTS='-shared -Wl,-soname,$(SONAME)'
98
bsdi4.2* | bsdi4.3* | bsdi5.*)
101
MKSHLIB='$(CC) $(DSO_LDOPTS) -o $@'
103
- DSO_LDOPTS='-shared -Wl,-soname -Wl,$(notdir $@)'
104
+ DSO_LDOPTS='-shared -Wl,-soname -Wl,$(SONAME)'
105
MDCPUCFG_H=_freebsd.cfg
106
PR_MD_CSRCS=freebsd.c
108
@@ -1493,7 +1493,7 @@
109
# workaround this problem.
110
AC_DEFINE(_PR_POLL_WITH_SELECT)
111
AC_DEFINE(_USE_BIG_FDS)
112
- DSO_LDOPTS='-b +h $(notdir $@)'
113
+ DSO_LDOPTS='-b +h $(SONAME)'
115
if test "$OS_TEST" = "ia64"; then
117
@@ -1750,7 +1750,7 @@
119
MKSHLIB='$(CC) $(DSO_LDOPTS) $(WRAP_MALLOC_LIB) -o $@'
121
- DSO_LDOPTS='-shared -Wl,-soname -Wl,$(notdir $@)'
122
+ DSO_LDOPTS='-shared -Wl,-soname -Wl,$(SONAME)'
124
_DEBUG_FLAGS="-g -fno-inline" # most people on linux use gcc/gdb, and that
125
# combo is not yet good at debugging inlined
126
@@ -2087,7 +2087,7 @@
130
- DSO_LDOPTS='-shared -Wl,-soname,$(notdir $@)'
131
+ DSO_LDOPTS='-shared -Wl,-soname,$(SONAME)'
135
@@ -2133,7 +2133,7 @@
136
AC_DEFINE(HAVE_POINTER_LOCALTIME_R)
139
- MKSHLIB='$(CC) $(DSO_LDOPTS) -Wl,-soname -Wl,$(notdir $@) -o $@'
140
+ MKSHLIB='$(CC) $(DSO_LDOPTS) -Wl,-soname -Wl,$(SONAME) -o $@'
143
OS_LIBS="$OS_LIBS -lsocket"
144
@@ -2196,7 +2196,7 @@
145
if echo $OS_RELEASE | grep -c V4.0 >/dev/null; then
146
AC_DEFINE(OSF1V4_MAP_PRIVATE_BUG)
148
- DSO_LDOPTS='-shared -all -expect_unresolved "*" -soname $(notdir $@)'
149
+ DSO_LDOPTS='-shared -all -expect_unresolved "*" -soname $(SONAME)'
153
@@ -2263,7 +2263,7 @@
154
_OPTIMIZE_FLAGS='-O -F Olimit,4000'
157
- DSO_LDOPTS='-G -z defs -h $(@:$(OBJDIR)/%.so=%.so)'
158
+ DSO_LDOPTS='-G -z defs -h $(SONAME)'
160
if test "$OS_RELEASE" = "5.43"; then
161
AC_DEFINE(IP_MULTICAST)
162
@@ -2328,13 +2328,13 @@
163
if `$CC -print-prog-name=ld` -v 2>&1 | grep -c GNU >/dev/null; then
166
- DSO_LDOPTS='-shared -Wl,-h,$(notdir $@),-z,combreloc,-z,defs,-z,ignore'
167
+ DSO_LDOPTS='-shared -Wl,-h,$(SONAME),-z,combreloc,-z,defs,-z,ignore'
168
if test -n "$USE_B_DIRECT"; then
169
DSO_LDOPTS="$DSO_LDOPTS,-Bdirect"
173
- DSO_LDOPTS='-G -h $(notdir $@) -z combreloc -z defs -z ignore'
174
+ DSO_LDOPTS='-G -h $(SONAME) -z combreloc -z defs -z ignore'
175
if test -n "$USE_B_DIRECT"; then
176
DSO_LDOPTS="$DSO_LDOPTS -Bdirect"
178
Index: nspr/mozilla/nsprpub/lib/ds/Makefile.in
179
===================================================================
180
--- nspr.orig/mozilla/nsprpub/lib/ds/Makefile.in 2011-08-12 11:49:04.000000000 +0200
181
+++ nspr/mozilla/nsprpub/lib/ds/Makefile.in 2011-08-12 11:51:14.512673956 +0200
185
LIBRARY_VERSION = $(MOD_MAJOR_VERSION)
188
RELEASE_HEADERS = $(HEADERS)
189
RELEASE_HEADERS_DEST = $(RELEASE_INCLUDE_DIR)
190
@@ -176,11 +177,13 @@
192
$(INSTALL) -m 444 $(HEADERS) $(dist_includedir)
193
$(INSTALL) -m 444 $(TARGETS) $(dist_libdir)
194
+ $(call MKSHLINKS,$(dist_libdir))
196
ifeq ($(OS_ARCH),HP-UX)
197
$(INSTALL) -m 755 $(SHARED_LIBRARY) $(dist_libdir)
198
$(INSTALL) -m 755 $(SHARED_LIBRARY) $(dist_bindir)
200
$(INSTALL) -m 444 $(SHARED_LIBRARY) $(dist_bindir)
201
+ $(call MKSHLINKS,$(dist_bindir))
204
Index: nspr/mozilla/nsprpub/lib/libc/src/Makefile.in
205
===================================================================
206
--- nspr.orig/mozilla/nsprpub/lib/libc/src/Makefile.in 2011-08-12 11:49:04.000000000 +0200
207
+++ nspr/mozilla/nsprpub/lib/libc/src/Makefile.in 2011-08-12 11:51:14.516673947 +0200
211
LIBRARY_VERSION = $(MOD_MAJOR_VERSION)
214
RELEASE_LIBS = $(TARGETS)
216
@@ -177,11 +178,13 @@
219
$(INSTALL) -m 444 $(TARGETS) $(dist_libdir)
220
+ $(call MKSHLINKS,$(dist_libdir))
222
ifeq ($(OS_ARCH),HP-UX)
223
$(INSTALL) -m 755 $(SHARED_LIBRARY) $(dist_libdir)
224
$(INSTALL) -m 755 $(SHARED_LIBRARY) $(dist_bindir)
226
$(INSTALL) -m 444 $(SHARED_LIBRARY) $(dist_bindir)
227
+ $(call MKSHLINKS,$(dist_bindir))
230
Index: nspr/mozilla/nsprpub/pr/src/Makefile.in
231
===================================================================
232
--- nspr.orig/mozilla/nsprpub/pr/src/Makefile.in 2011-08-12 11:49:04.000000000 +0200
233
+++ nspr/mozilla/nsprpub/pr/src/Makefile.in 2011-08-12 11:51:14.516673947 +0200
237
LIBRARY_VERSION = $(MOD_MAJOR_VERSION)
240
RELEASE_LIBS = $(TARGETS)
242
@@ -394,12 +395,14 @@
245
$(INSTALL) -m 444 $(TARGETS) $(dist_libdir)
246
+ $(call MKSHLINKS,$(dist_libdir))
248
ifeq ($(OS_ARCH),HP-UX)
249
$(INSTALL) -m 755 $(SHARED_LIBRARY) $(dist_libdir)
250
$(INSTALL) -m 755 $(SHARED_LIBRARY) $(dist_bindir)
252
$(INSTALL) -m 444 $(SHARED_LIBRARY) $(dist_bindir)
253
+ $(call MKSHLINKS,$(dist_bindir))