~ubuntu-branches/ubuntu/hardy/nspr/hardy

« back to all changes in this revision

Viewing changes to debian/patches/81_sonames.dpatch

  • Committer: Bazaar Package Importer
  • Author(s): Mike Hommey
  • Date: 2007-04-20 07:05:04 UTC
  • Revision ID: james.westby@ubuntu.com-20070420070504-pgdahq3ho5jefw5e
Tags: 4.6.6-3
debian/rules: replace libnss3-0d (!) with libnspr4-0d in shlib
creation. Closes: #420069. Thanks Alexander Sack.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#! /bin/sh /usr/share/dpatch/dpatch-run
 
2
## 81_sonames.dpatch by Mike Hommey <glandium@debian.org>
 
3
##
 
4
## All lines beginning with `## DP:' are a description of the patch.
 
5
## DP: Add soname support
 
6
 
 
7
@DPATCH@
 
8
 
 
9
--- nspr/mozilla/nsprpub/config/rules.mk
 
10
+++ nspr/mozilla/nsprpub/config/rules.mk
 
11
@@ -129,12 +129,35 @@
 
12
 else
 
13
 ifdef MKSHLIB
 
14
 SHARED_LIBRARY = $(OBJDIR)/lib$(LIBRARY_NAME)$(LIBRARY_VERSION).$(DLL_SUFFIX)
 
15
+SONAME         = $(notdir $(SHARED_LIBRARY))
 
16
+
 
17
+ifdef SO_VERSION
 
18
+ifneq (,$(findstring $(SONAME),$(MKSHLIB)))
 
19
+SO_VERSION_MAJOR       := $(shell echo $(SO_VERSION) | sed 's/^\([^.]*\)\(\.[^.]*\)\?\(\.[^.]*\)\?/\1/')
 
20
+SO_VERSION_MINOR       := $(shell echo $(SO_VERSION) | sed 's/^\([^.]*\)\(\.[^.]*\)\?\(\.[^.]*\)\?/\2/')
 
21
+SO_VERSION_MICRO       := $(shell echo $(SO_VERSION) | sed 's/^\([^.]*\)\(\.[^.]*\)\?\(\.[^.]*\)\?/\3/')
 
22
+
 
23
+SHARED_LIBRARY_LINKS   := $(SONAME)
 
24
+ifdef SO_VERSION_MINOR
 
25
+SHARED_LIBRARY_LINKS   += $(SONAME).$(SO_VERSION_MAJOR)
 
26
 endif
 
27
+ifdef SO_VERSION_MICRO
 
28
+SHARED_LIBRARY_LINKS   += $(SHARED_LIBRARY).$(SO_VERSION_MAJOR)$(SO_VERSION_MINOR)
 
29
 endif
 
30
 
 
31
+SONAME                 := $(SONAME).$(SO_VERSION_MAJOR)
 
32
+SHARED_LIBRARY         := $(SHARED_LIBRARY).$(SO_VERSION)
 
33
+
 
34
+MKSHLINKS              = (cd $(1) && for link in $(SHARED_LIBRARY_LINKS); do rm -f $$link; ln -s $(notdir $(SHARED_LIBRARY)) $$link; done)
 
35
 endif
 
36
 endif
 
37
 
 
38
+endif
 
39
+endif
 
40
+
 
41
+endif
 
42
+endif
 
43
+
 
44
 ifndef TARGETS
 
45
 ifeq (,$(filter-out WINNT OS2,$(OS_ARCH)))
 
46
 TARGETS                = $(LIBRARY) $(SHARED_LIBRARY) $(IMPORT_LIBRARY)
 
47
@@ -166,7 +189,7 @@
 
48
 endif
 
49
 
 
50
 ALL_TRASH              = $(TARGETS) $(OBJS) $(RES) $(filter-out . .., $(OBJDIR)) LOGS TAGS $(GARBAGE) \
 
51
-                         $(NOSUCHFILE) \
 
52
+                         $(SHARED_LIBRARY_LINKS) $(NOSUCHFILE) \
 
53
                          so_locations
 
54
 
 
55
 ifeq ($(OS_ARCH),OpenVMS)
 
56
@@ -232,6 +255,7 @@
 
57
 endif
 
58
 ifdef RELEASE_LIBS
 
59
        $(NSINSTALL) -t -m 0755 $(RELEASE_LIBS) $(DESTDIR)$(libdir)/$(lib_subdir)
 
60
+       $(call MKSHLINKS,$(DESTDIR)$(libdir)/$(lib_subdir))
 
61
 endif
 
62
        +$(LOOP_OVER_DIRS)
 
63
 
 
64
@@ -325,6 +349,8 @@
 
65
        $(IMPLIB) $@ $(MAPFILE)
 
66
 endif
 
67
 
 
68
+$(SHARED_LIBRARY_LINKS): %: $(SHARED_LIBRARY)
 
69
+
 
70
 $(SHARED_LIBRARY): $(OBJS) $(RES) $(MAPFILE)
 
71
        @$(MAKE_OBJDIR)
 
72
        rm -f $@
 
73
@@ -352,6 +378,7 @@
 
74
        fi
 
75
 endif  # OpenVMS
 
76
        $(MKSHLIB) $(OBJS) $(RES) $(EXTRA_LIBS)
 
77
+       $(call MKSHLINKS,.)
 
78
 endif   # OS2 vacpp
 
79
 endif  # WINNT
 
80
 endif  # AIX 4.1
 
81
--- nspr/mozilla/nsprpub/configure.in
 
82
+++ nspr/mozilla/nsprpub/configure.in
 
83
@@ -892,7 +892,7 @@
 
84
         AC_DEFINE(_PR_STAT_HAS_ST_ATIMESPEC)
 
85
         MKSHLIB='$(CC) -o $@ $(DSO_LDOPTS)'
 
86
         DSO_CFLAGS=-fPIC
 
87
-        DSO_LDOPTS='-shared -Wl,-soname,$(@:$(OBJDIR)/%.so=%.so)'
 
88
+        DSO_LDOPTS='-shared -Wl,-soname,$(SONAME)'
 
89
         STRIP="$STRIP -d"
 
90
         case "$target_os" in
 
91
         bsdi4.2* | bsdi4.3* | bsdi5.*)
 
92
@@ -1042,7 +1042,7 @@
 
93
     fi
 
94
     MKSHLIB='$(CC) $(DSO_LDOPTS) -o $@'
 
95
     DSO_CFLAGS=-fPIC
 
96
-    DSO_LDOPTS='-shared -Wl,-soname -Wl,$(notdir $@)'
 
97
+    DSO_LDOPTS='-shared -Wl,-soname -Wl,$(SONAME)'
 
98
     MDCPUCFG_H=_freebsd.cfg
 
99
     PR_MD_CSRCS=freebsd.c
 
100
     ;;
 
101
@@ -1059,7 +1059,7 @@
 
102
     # workaround this problem.
 
103
     AC_DEFINE(_PR_POLL_WITH_SELECT)
 
104
     AC_DEFINE(_USE_BIG_FDS)
 
105
-    DSO_LDOPTS='-b +h $(notdir $@)'
 
106
+    DSO_LDOPTS='-b +h $(SONAME)'
 
107
     PR_MD_CSRCS=hpux.c
 
108
     if test "$OS_TEST" = "ia64"; then
 
109
         DLL_SUFFIX=so
 
110
@@ -1304,7 +1304,7 @@
 
111
     PR_MD_CSRCS=linux.c
 
112
     MKSHLIB='$(CC) $(DSO_LDOPTS) -o $@'
 
113
     DSO_CFLAGS=-fPIC
 
114
-    DSO_LDOPTS='-shared -Wl,-soname -Wl,$(notdir $@)'
 
115
+    DSO_LDOPTS='-shared -Wl,-soname -Wl,$(SONAME)'
 
116
     _OPTIMIZE_FLAGS=-O2
 
117
     _DEBUG_FLAGS="-g -fno-inline"  # most people on linux use gcc/gdb, and that
 
118
                                    # combo is not yet good at debugging inlined
 
119
@@ -1561,7 +1561,7 @@
 
120
         else
 
121
             OBJECT_FMT=ELF
 
122
             DLL_SUFFIX=so
 
123
-            DSO_LDOPTS='-shared -Wl,-soname,$(notdir $@)'
 
124
+            DSO_LDOPTS='-shared -Wl,-soname,$(SONAME)'
 
125
         fi
 
126
     fi
 
127
 
 
128
@@ -1607,7 +1607,7 @@
 
129
     AC_DEFINE(HAVE_POINTER_LOCALTIME_R)
 
130
     MDCPUCFG_H=_nto.cfg
 
131
     PR_MD_CSRCS=nto.c
 
132
-    MKSHLIB='$(CC) $(DSO_LDOPTS) -Wl,-soname -Wl,$(notdir $@) -o $@'
 
133
+    MKSHLIB='$(CC) $(DSO_LDOPTS) -Wl,-soname -Wl,$(SONAME) -o $@'
 
134
     DSO_CFLAGS=-fPIC
 
135
     DSO_LDOPTS=-shared
 
136
     OS_LIBS="$OS_LIBS -lsocket"
 
137
@@ -1685,7 +1685,7 @@
 
138
     if echo $OS_RELEASE | grep -c V4.0 >/dev/null; then
 
139
         AC_DEFINE(OSF1V4_MAP_PRIVATE_BUG)
 
140
     fi
 
141
-    DSO_LDOPTS='-shared -all -expect_unresolved "*" -soname $(notdir $@)'
 
142
+    DSO_LDOPTS='-shared -all -expect_unresolved "*" -soname $(SONAME)'
 
143
     MDCPUCFG_H=_osf1.cfg
 
144
     PR_MD_CSRCS=osf1.c
 
145
     ;;
 
146
@@ -1751,7 +1751,7 @@
 
147
         _OPTIMIZE_FLAGS='-O -F Olimit,4000'
 
148
     fi
 
149
 
 
150
-    DSO_LDOPTS='-G -z defs -h $(@:$(OBJDIR)/%.so=%.so)'
 
151
+    DSO_LDOPTS='-G -z defs -h $(SONAME)'
 
152
 
 
153
     if test "$OS_RELEASE" = "5.43"; then
 
154
         AC_DEFINE(IP_MULTICAST)
 
155
@@ -1807,10 +1807,10 @@
 
156
         if `$CC -print-prog-name=ld` -v 2>&1 | grep -c GNU >/dev/null; then
 
157
             GCC_USE_GNU_LD=1
 
158
         fi
 
159
-        DSO_LDOPTS='-shared -Wl,-h,$(notdir $@),-z,combreloc,-z,defs' 
 
160
+        DSO_LDOPTS='-shared -Wl,-h,$(SONAME),-z,combreloc,-z,defs' 
 
161
     else
 
162
         DSO_CFLAGS=-KPIC
 
163
-        DSO_LDOPTS='-G -h $(notdir $@) -z combreloc -z defs'
 
164
+        DSO_LDOPTS='-G -h $(SONAME) -z combreloc -z defs'
 
165
     fi
 
166
     if test -n "$GNU_CC"; then
 
167
         CFLAGS="$CFLAGS -Wall"
 
168
--- nspr/mozilla/nsprpub/lib/ds/Makefile.in
 
169
+++ nspr/mozilla/nsprpub/lib/ds/Makefile.in
 
170
@@ -127,6 +127,7 @@
 
171
 
 
172
 LIBRARY_NAME   = plds
 
173
 LIBRARY_VERSION        = $(MOD_MAJOR_VERSION)
 
174
+SO_VERSION     = 0d
 
175
 
 
176
 RELEASE_HEADERS = $(HEADERS)
 
177
 RELEASE_HEADERS_DEST = $(RELEASE_INCLUDE_DIR)
 
178
@@ -185,12 +186,14 @@
 
179
 export:: $(TARGETS)
 
180
        $(INSTALL) -m 444 $(HEADERS) $(dist_includedir)
 
181
        $(INSTALL) -m 444 $(TARGETS) $(dist_libdir)
 
182
+       $(call MKSHLINKS,$(dist_libdir))
 
183
 ifdef SHARED_LIBRARY
 
184
 ifeq ($(OS_ARCH),HP-UX)
 
185
        $(INSTALL) -m 755 $(SHARED_LIBRARY) $(dist_libdir)
 
186
        $(INSTALL) -m 755 $(SHARED_LIBRARY) $(dist_bindir)
 
187
 else
 
188
        $(INSTALL) -m 444 $(SHARED_LIBRARY) $(dist_bindir)
 
189
+       $(call MKSHLINKS,$(dist_bindir))
 
190
 endif
 
191
 endif
 
192
 ifeq ($(MOZ_BITS),16)
 
193
--- nspr/mozilla/nsprpub/lib/libc/src/Makefile.in
 
194
+++ nspr/mozilla/nsprpub/lib/libc/src/Makefile.in
 
195
@@ -69,6 +69,7 @@
 
196
 
 
197
 LIBRARY_NAME   = plc
 
198
 LIBRARY_VERSION        = $(MOD_MAJOR_VERSION)
 
199
+SO_VERSION     = 0d
 
200
 
 
201
 RELEASE_LIBS = $(TARGETS)
 
202
 
 
203
@@ -187,12 +188,14 @@
 
204
 
 
205
 export:: $(TARGETS)
 
206
        $(INSTALL) -m 444 $(TARGETS) $(dist_libdir)
 
207
+       $(call MKSHLINKS,$(dist_libdir))
 
208
 ifdef SHARED_LIBRARY
 
209
 ifeq ($(OS_ARCH),HP-UX)
 
210
        $(INSTALL) -m 755 $(SHARED_LIBRARY) $(dist_libdir)
 
211
        $(INSTALL) -m 755 $(SHARED_LIBRARY) $(dist_bindir)
 
212
 else
 
213
        $(INSTALL) -m 444 $(SHARED_LIBRARY) $(dist_bindir)
 
214
+       $(call MKSHLINKS,$(dist_bindir))
 
215
 endif
 
216
 endif
 
217
 ifeq ($(MOZ_BITS),16)
 
218
--- nspr/mozilla/nsprpub/pr/src/Makefile.in
 
219
+++ nspr/mozilla/nsprpub/pr/src/Makefile.in
 
220
@@ -332,6 +332,7 @@
 
221
 
 
222
 LIBRARY_NAME = nspr
 
223
 LIBRARY_VERSION = $(MOD_MAJOR_VERSION)
 
224
+SO_VERSION = 0d
 
225
 
 
226
 RELEASE_LIBS = $(TARGETS)
 
227
 
 
228
@@ -402,12 +403,14 @@
 
229
 
 
230
 export:: $(TARGETS)
 
231
        $(INSTALL) -m 444 $(TARGETS) $(dist_libdir)
 
232
+       $(call MKSHLINKS,$(dist_libdir))
 
233
 ifdef SHARED_LIBRARY
 
234
 ifeq ($(OS_ARCH),HP-UX)
 
235
        $(INSTALL) -m 755 $(SHARED_LIBRARY) $(dist_libdir)
 
236
        $(INSTALL) -m 755 $(SHARED_LIBRARY) $(dist_bindir)
 
237
 else
 
238
        $(INSTALL) -m 444 $(SHARED_LIBRARY) $(dist_bindir)
 
239
+       $(call MKSHLINKS,$(dist_bindir))
 
240
 endif
 
241
 endif
 
242
 ifeq ($(MOZ_BITS),16)