Merge lp:~racb/ubuntu/oneiric/uw-imap/831228 into lp:ubuntu/oneiric/uw-imap

Proposed by Robie Basak
Status: Work in progress
Proposed branch: lp:~racb/ubuntu/oneiric/uw-imap/831228
Merge into: lp:ubuntu/oneiric/uw-imap
Diff against target: 157 lines (+42/-29) (has conflicts)
2 files modified
debian/changelog (+10/-0)
debian/patches/1001_shlibs.patch (+32/-29)
Text conflict in debian/changelog
To merge this branch: bzr merge lp:~racb/ubuntu/oneiric/uw-imap/831228
Reviewer Review Type Date Requested Status
Dave Walker Pending
Review via email: mp+74589@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Dave Walker (davewalker) wrote :

Looks good.

Ideally, we'd like to introduce a new patch incase the edited patch isn't accepted by debian, it makes merging easier next cycle.

You probably don't need to quote http://wiki.debian.org/ToolChain/DSOLinking, as it's understood --as-needed is enough.

I need to build test this first, but generally happy. If you are confident this is a good fix, do you want to use the "submittodebian" tool?

Thanks

16. By Robie Basak

Fix libc-client.so.2007e.0 dependencies to build correctly with
-Wl,--as-needed. (LP: #831228)

Revision history for this message
Robie Basak (racb) wrote :

Upstream doesn't appear to support the creation of shared objects in its build system.

The build system does allow a platform specific "ar" call to create static objects by setting a variable. This assumes that the output filename is goes after the contents of the variable.

The Debian package hacks the build system by using a call to gcc as the "ar" call for a new shared object platform type. This ends in "-o" to fulfil the requirement that the output filename will go after it.

This makes it necessary to modify this hack further to move the "-o output_filename" further back to fix the --as-needed bug, so it makes sense to modify the existing Debian patch rather than create a new one. Given that the existing patch is a hack already, I can't see a cleaner way of fixing this except to change more of the upstream build system which would be too invasive. Hopefully Debian will find this acceptable.

Revision history for this message
Colin Watson (cjwatson) wrote :

FWIW it doesn't matter where '-o output_filename' goes; what matters is
the relative positioning of input objects and the libraries they depend
on.

Unmerged revisions

16. By Robie Basak

Fix libc-client.so.2007e.0 dependencies to build correctly with
-Wl,--as-needed. (LP: #831228)

15. By Robie Basak

Fix libc-client.so.2007e.0 dependencies as caused by Ubuntu's
-Wl,--as-needed default.
See: http://wiki.debian.org/ToolChain/DSOLinking (LP: #831228)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'debian/changelog'
--- debian/changelog 2011-09-13 22:53:14 +0000
+++ debian/changelog 2011-09-16 12:21:25 +0000
@@ -1,3 +1,4 @@
1<<<<<<< TREE
1uw-imap (8:2007e~dfsg-3.1ubuntu4) oneiric; urgency=low2uw-imap (8:2007e~dfsg-3.1ubuntu4) oneiric; urgency=low
23
3 * Resolve unresolved symbols in shared libraries. Closes: #558968.4 * Resolve unresolved symbols in shared libraries. Closes: #558968.
@@ -5,6 +6,15 @@
56
6 -- Matthias Klose <doko@ubuntu.com> Tue, 13 Sep 2011 22:53:14 +00007 -- Matthias Klose <doko@ubuntu.com> Tue, 13 Sep 2011 22:53:14 +0000
78
9=======
10uw-imap (8:2007e~dfsg-3.1ubuntu4) oneiric; urgency=low
11
12 * Fix libc-client.so.2007e.0 dependencies to build correctly with
13 -Wl,--as-needed. (LP: #831228)
14
15 -- Robie Basak <robie.basak@ubuntu.com> Tue, 13 Sep 2011 13:38:07 +0100
16
17>>>>>>> MERGE-SOURCE
8uw-imap (8:2007e~dfsg-3.1ubuntu3) oneiric; urgency=low18uw-imap (8:2007e~dfsg-3.1ubuntu3) oneiric; urgency=low
919
10 * Apply patch from Vladimir Kolesnikov to properly zero out len20 * Apply patch from Vladimir Kolesnikov to properly zero out len
1121
=== modified file 'debian/patches/1001_shlibs.patch'
--- debian/patches/1001_shlibs.patch 2008-08-22 09:57:49 +0000
+++ debian/patches/1001_shlibs.patch 2011-09-16 12:21:25 +0000
@@ -1,6 +1,5 @@
1diff -ruN uw-imap-2006k~dfsg.orig/Makefile uw-imap-2006k~dfsg/Makefile1--- a/Makefile
2--- uw-imap-2006k~dfsg.orig/Makefile 2007-11-08 00:16:50.000000000 +01002+++ b/Makefile
3+++ uw-imap-2006k~dfsg/Makefile 2007-12-10 15:58:39.000000000 +0100
4@@ -78,11 +78,13 @@3@@ -78,11 +78,13 @@
5 # hxd HP-UX 10.x with DCE security (see shp)4 # hxd HP-UX 10.x with DCE security (see shp)
6 # isc Interactive Systems5 # isc Interactive Systems
@@ -35,9 +34,8 @@
35 lmd: an34 lmd: an
36 $(BUILD) BUILDTYPE=lnp IP=$(IP6) \35 $(BUILD) BUILDTYPE=lnp IP=$(IP6) \
37 SPECIALS="SSLINCLUDE=/usr/include/openssl SSLLIB=/usr/lib SSLCERTS=/usr/lib/ssl/certs SSLKEYS=/usr/lib/ssl/private GSSINCLUDE=/usr/include GSSLIB=/usr/lib"36 SPECIALS="SSLINCLUDE=/usr/include/openssl SSLLIB=/usr/lib SSLCERTS=/usr/lib/ssl/certs SSLKEYS=/usr/lib/ssl/private GSSINCLUDE=/usr/include GSSLIB=/usr/lib"
38diff -ruN uw-imap-2006k~dfsg.orig/src/dmail/Makefile uw-imap-2006k~dfsg/src/dmail/Makefile37--- a/src/dmail/Makefile
39--- uw-imap-2006k~dfsg.orig/src/dmail/Makefile 2007-09-11 01:56:35.000000000 +020038+++ b/src/dmail/Makefile
40+++ uw-imap-2006k~dfsg/src/dmail/Makefile 2007-12-10 16:00:26.000000000 +0100
41@@ -26,7 +26,7 @@39@@ -26,7 +26,7 @@
42 40
43 41
@@ -65,9 +63,8 @@
65 clean:63 clean:
66 rm -f *.o dmail64 rm -f *.o dmail
67 65
68diff -ruN uw-imap-2006d.dfsg.orig/src/imapd/Makefile uw-imap-2006d.dfsg/src/imapd/Makefile66--- a/src/imapd/Makefile
69--- uw-imap-2006d.dfsg.orig/src/imapd/Makefile 2006-08-31 02:10:44.000000000 +020067+++ b/src/imapd/Makefile
70+++ uw-imap-2006d.dfsg/src/imapd/Makefile 2006-12-19 22:11:49.000000000 +0100
71@@ -43,12 +43,12 @@68@@ -43,12 +43,12 @@
72 # Get local definitions from c-client directory69 # Get local definitions from c-client directory
73 70
@@ -83,9 +80,8 @@
83 80
84 all: imapd81 all: imapd
85 82
86diff -ruN uw-imap-2006d.dfsg.orig/src/ipopd/Makefile uw-imap-2006d.dfsg/src/ipopd/Makefile83--- a/src/ipopd/Makefile
87--- uw-imap-2006d.dfsg.orig/src/ipopd/Makefile 2006-08-31 02:17:30.000000000 +020084+++ b/src/ipopd/Makefile
88+++ uw-imap-2006d.dfsg/src/ipopd/Makefile 2006-12-19 22:11:49.000000000 +0100
89@@ -26,14 +26,14 @@85@@ -26,14 +26,14 @@
90 86
91 87
@@ -103,9 +99,8 @@
103 99
104 ipopd: ipop2d ipop3d100 ipopd: ipop2d ipop3d
105 101
106diff -ruN uw-imap-2006d.dfsg.orig/src/mailutil/Makefile uw-imap-2006d.dfsg/src/mailutil/Makefile102--- a/src/mailutil/Makefile
107--- uw-imap-2006d.dfsg.orig/src/mailutil/Makefile 2006-08-31 02:21:20.000000000 +0200103+++ b/src/mailutil/Makefile
108+++ uw-imap-2006d.dfsg/src/mailutil/Makefile 2006-12-19 22:11:49.000000000 +0100
109@@ -26,7 +26,7 @@104@@ -26,7 +26,7 @@
110 105
111 106
@@ -131,9 +126,8 @@
131 clean:126 clean:
132 rm -f *.o mailutil127 rm -f *.o mailutil
133 128
134diff -ruN uw-imap-2006d.dfsg.orig/src/mtest/Makefile uw-imap-2006d.dfsg/src/mtest/Makefile129--- a/src/mtest/Makefile
135--- uw-imap-2006d.dfsg.orig/src/mtest/Makefile 2006-08-31 02:25:07.000000000 +0200130+++ b/src/mtest/Makefile
136+++ uw-imap-2006d.dfsg/src/mtest/Makefile 2006-12-19 22:11:49.000000000 +0100
137@@ -26,7 +26,7 @@131@@ -26,7 +26,7 @@
138 132
139 133
@@ -159,10 +153,17 @@
159 clean:153 clean:
160 rm -f *.o mtest || true154 rm -f *.o mtest || true
161 155
162diff -ruN uw-imap-2006d.dfsg.orig/src/osdep/unix/Makefile uw-imap-2006d.dfsg/src/osdep/unix/Makefile156--- a/src/osdep/unix/Makefile
163--- uw-imap-2006d.dfsg.orig/src/osdep/unix/Makefile 2006-12-08 02:24:54.000000000 +0100157+++ b/src/osdep/unix/Makefile
164+++ uw-imap-2006d.dfsg/src/osdep/unix/Makefile 2006-12-19 22:13:10.000000000 +0100158@@ -130,6 +130,7 @@
165@@ -490,7 +490,19 @@159 # Commands possibly overriden by the individual port
160
161 ARRC=ar rc
162+ARRC_POST_FLAGS=
163 CC=cc
164 LN=ln -s
165 RANLIB=ranlib
166@@ -490,7 +491,20 @@
166 ACTIVEFILE=/var/lib/news/active \167 ACTIVEFILE=/var/lib/news/active \
167 RSHPATH=/usr/bin/rsh \168 RSHPATH=/usr/bin/rsh \
168 BASECFLAGS="$(GCCCFLAGS)" \169 BASECFLAGS="$(GCCCFLAGS)" \
@@ -178,12 +179,13 @@
178+ BASECFLAGS="-fPIC $(GCCCFLAGS)" \179+ BASECFLAGS="-fPIC $(GCCCFLAGS)" \
179+ ARCHIVE="libc-client.so" \180+ ARCHIVE="libc-client.so" \
180+ BASELDFLAGS="-L../c-client -lc-client $(PAMLDFLAGS) -lc" \181+ BASELDFLAGS="-L../c-client -lc-client $(PAMLDFLAGS) -lc" \
181+ ARRC="gcc --shared -Wl,-soname,libc-client.so.$(VERSION) $(PAMLDFLAGS) -lc $(EXTRALDFLAGS) $(SSLLDFLAGS) -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -o" \182+ ARRC="gcc --shared -Wl,-soname,libc-client.so.$(VERSION) -o" \
183+ ARRC_POST_FLAGS="$(PAMLDFLAGS) -lc $(EXTRALDFLAGS) $(SSLLDFLAGS) -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err" \
182+ RANLIB=true184+ RANLIB=true
183 185
184 lnx: # Linux non-shadow passwords186 lnx: # Linux non-shadow passwords
185 @echo You are building for traditional Linux *without* shadow187 @echo You are building for traditional Linux *without* shadow
186@@ -861,7 +873,7 @@188@@ -861,7 +875,7 @@
187 # Cleanup189 # Cleanup
188 190
189 clean:191 clean:
@@ -192,17 +194,18 @@
192 194
193 195
194 # Dependencies196 # Dependencies
195@@ -969,6 +981,7 @@197@@ -968,7 +982,8 @@
198 -DLOCKPGM1=\"$(LOCKPGM1)\" -DLOCKPGM2=\"$(LOCKPGM2)\" \
196 -DLOCKPGM3=\"$(LOCKPGM3)\" > OSCFLAGS199 -DLOCKPGM3=\"$(LOCKPGM3)\" > OSCFLAGS
197 echo $(BASELDFLAGS) $(EXTRALDFLAGS) > LDFLAGS200 echo $(BASELDFLAGS) $(EXTRALDFLAGS) > LDFLAGS
198 echo "$(ARRC) $(ARCHIVE) $(BINARIES);$(RANLIB) $(ARCHIVE)" > ARCHIVE201- echo "$(ARRC) $(ARCHIVE) $(BINARIES);$(RANLIB) $(ARCHIVE)" > ARCHIVE
202+ echo "$(ARRC) $(ARCHIVE) $(BINARIES) $(ARRC_POST_FLAGS);$(RANLIB) $(ARCHIVE)" > ARCHIVE
199+ echo $(ARCHIVE) > ARCHIVENAME203+ echo $(ARCHIVE) > ARCHIVENAME
200 echo $(OS) > OSTYPE204 echo $(OS) > OSTYPE
201 ./drivers $(EXTRADRIVERS) $(DEFAULTDRIVERS) dummy205 ./drivers $(EXTRADRIVERS) $(DEFAULTDRIVERS) dummy
202 ./mkauths $(EXTRAAUTHENTICATORS) $(DEFAULTAUTHENTICATORS)206 ./mkauths $(EXTRAAUTHENTICATORS) $(DEFAULTAUTHENTICATORS)
203diff -ruN uw-imap-2006k~dfsg.orig/src/tmail/Makefile uw-imap-2006k~dfsg/src/tmail/Makefile207--- a/src/tmail/Makefile
204--- uw-imap-2006k~dfsg.orig/src/tmail/Makefile 2007-12-10 16:26:58.000000000 +0100208+++ b/src/tmail/Makefile
205+++ uw-imap-2006k~dfsg/src/tmail/Makefile 2007-12-10 16:28:07.000000000 +0100
206@@ -26,7 +26,7 @@209@@ -26,7 +26,7 @@
207 210
208 211

Subscribers

People subscribed via source and target branches

to all changes: