Mir

Merge lp:~mir-team/mir/fix-1388686 into lp:mir

Proposed by Kevin DuBois
Status: Rejected
Rejected by: Daniel van Vugt
Proposed branch: lp:~mir-team/mir/fix-1388686
Merge into: lp:mir
Diff against target: 59 lines (+16/-4)
3 files modified
debian/control (+15/-0)
debian/libmirprotobuf-dev.install (+1/-0)
debian/rules (+0/-4)
To merge this branch: bzr merge lp:~mir-team/mir/fix-1388686
Reviewer Review Type Date Requested Status
Chris Halse Rogers Disapprove
Daniel van Vugt Needs Fixing
PS Jenkins bot (community) continuous-integration Needs Fixing
Review via email: mp+241459@code.launchpad.net

Commit message

finish fixing the ftbfs for USC and for unity8 (and mir clients as well) that happened from splitting out libmirprotobuf. The first half of this fix was in lp:~vanvugt/mir/fix-1388686, which added libmirprotobuf to the mirserver.pc and mirclient.pc files. This fix adds a libmirprotobuf-dev package, which installs the libmirprotobuf.so symlink needed by the compiler now that we tell it "-lmirprotobuf" in the .pc files

fixes: lp: #1388686

Description of the change

finish fixing the ftbfs for USC and for unity8 (and mir clients as well) that happened from splitting out libmirprotobuf. The first half of this fix was in lp:~vanvugt/mir/fix-1388686, which added libmirprotobuf to the mirserver.pc and mirclient.pc files. This fix adds a libmirprotobuf-dev package, which installs the libmirprotobuf.so symlink needed by the compiler now that we tell it "-lmirprotobuf" in the .pc files

fixes: lp: #1388686

note: If testing, use sbuild to build the packages. If you "make install", cmake will install the libmirprotobuf.so symlink, and you won't see the problem.

To post a comment you must log in.
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
Chris Halse Rogers (raof) wrote :

Urgh, this should be unnecessary. Client code does *not* need the libmirprotobuf.so link. Let me investigate...

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

The new package libmirprotobuf-dev should not exist, by design. No external projects should access it directly.

I think you might have made a mistake in the bug report and been using the wrong (out of date system-installed) *.pc files.

review: Disapprove
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Although some of your reasoning is correct too. Something about our packaging needs fixing, but that new package should still not exist.

review: Needs Fixing
Revision history for this message
Chris Halse Rogers (raof) wrote :

The addititon of -lprotobuf to mirserver.pc and mirclient.pc in r2021 is what is causing the requirement for libmirprotobuf.so.

It's not clear to me why that change was made; unity-system-compositor builds just fine (testing qtmir now) with that change reverted.

Revision history for this message
Chris Halse Rogers (raof) wrote :

https://code.launchpad.net/~raof/mir/dont-ask-downstreams-to-link-against-private-libraries/+merge/241475 fixes this properly. Tested by building unity-system-compositor and qtmir against it.

review: Disapprove
Revision history for this message
Kevin DuBois (kdub) wrote :

Happily withdrawn for the better fix. I thought that we were intending to have the users link to libprotobuf (but didn't quite see why)

Revision history for this message
Alan Griffiths (alan-griffiths) wrote :

On 12/11/14 13:05, Kevin DuBois wrote:
> Happily withdrawn for the better fix. I thought that we were intending to have the users link to libprotobuf (but didn't quite see why)

the platform-api client used to use the deprecated "PrivateProtobuf"
facility for cut & paste. (But that code got deleted a while ago.)

--
Alan Griffiths +44 (0)798 9938 758
Octopull Ltd http://www.octopull.co.uk/

Unmerged revisions

2048. By Kevin DuBois

roll back out the cross compile changes needed

2047. By Kevin DuBois

add a libmirprotobuf-dev.install so the downstreams linking to libmirclient and libmirserver can link via the .pc file we provide

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'debian/control'
2--- debian/control 2014-11-06 11:39:02 +0000
3+++ debian/control 2014-11-11 20:54:50 +0000
4@@ -121,12 +121,26 @@
5 .
6 Contains header files required for hardware/driver support development.
7
8+Package: libmirprotobuf-dev
9+Section: libdevel
10+Architecture: i386 amd64 armhf arm64
11+Multi-Arch: same
12+Pre-Depends: ${misc:Pre-Depends}
13+Depends: libmirprotobuf0 (= ${binary:Version}),
14+ ${misc:Depends},
15+Description: Display server for Ubuntu - development headers
16+ Mir is a display server running on linux systems, with a focus on efficiency,
17+ robust operation and a well-defined driver model.
18+ .
19+ Contains common library needed by server and client
20+
21 Package: libmirserver-dev
22 Section: libdevel
23 Architecture: i386 amd64 armhf arm64
24 Multi-Arch: same
25 Pre-Depends: ${misc:Pre-Depends}
26 Depends: libmirserver27 (= ${binary:Version}),
27+ libmirprotobuf-dev (= ${binary:Version}),
28 libmirplatform-dev (= ${binary:Version}),
29 libmircommon-dev (= ${binary:Version}),
30 libglm-dev,
31@@ -157,6 +171,7 @@
32 Multi-Arch: same
33 Pre-Depends: ${misc:Pre-Depends}
34 Depends: libmirclient8 (= ${binary:Version}),
35+ libmirprotobuf-dev (= ${binary:Version}),
36 libmircommon-dev (= ${binary:Version}),
37 libprotobuf-dev (>= 2.4.1),
38 ${misc:Depends},
39
40=== added file 'debian/libmirprotobuf-dev.install'
41--- debian/libmirprotobuf-dev.install 1970-01-01 00:00:00 +0000
42+++ debian/libmirprotobuf-dev.install 2014-11-11 20:54:50 +0000
43@@ -0,0 +1,1 @@
44+usr/lib/*/libmirprotobuf.so
45
46=== modified file 'debian/rules'
47--- debian/rules 2014-10-22 18:55:40 +0000
48+++ debian/rules 2014-11-11 20:54:50 +0000
49@@ -51,10 +51,6 @@
50 dh_makeshlibs -V
51
52 override_dh_install:
53-# Nothing outside Mir should link to libmirprotobuf directly.
54-# Delete the symlink so that --fail-missing doesn't think we've missed it
55-# accidentally.
56- rm debian/tmp/usr/lib/*/libmirprotobuf.so
57 dh_install --fail-missing \
58 -Xusr/lib/$(DEB_HOST_MULTIARCH)/libmir$(PLATFORM_DRIVER).so \
59 -Xusr/lib/$(DEB_HOST_MULTIARCH)/libmir$(CLIENT_DRIVER).so

Subscribers

People subscribed via source and target branches