Merge lp:~thomas-voss/platform-api/explicit-gcc-version into lp:platform-api

Proposed by Thomas Voß
Status: Rejected
Rejected by: Steve Langasek
Proposed branch: lp:~thomas-voss/platform-api/explicit-gcc-version
Merge into: lp:platform-api
Diff against target: 60 lines (+21/-1)
3 files modified
debian/changelog (+6/-0)
debian/control (+5/-1)
debian/rules (+10/-0)
To merge this branch: bzr merge lp:~thomas-voss/platform-api/explicit-gcc-version
Reviewer Review Type Date Requested Status
Steve Langasek Disapprove
Colin Watson Needs Fixing
PS Jenkins bot continuous-integration Needs Fixing
Matthias Klose Pending
Ricardo Mendoza Pending
Review via email: mp+224764@code.launchpad.net

Commit message

Explicitly select g++-4.9 to prevent from ABI breaks.

Description of the change

Explicitly select g++-4.9 to prevent from ABI breaks.

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
Colin Watson (cjwatson) wrote :

Why the change in ubuntu-application-api2-touch's package name? If that's intentional, then you haven't also renamed debian/ubuntu-application-api2-touch.install, which is why you have build failures.

I notice you haven't bumped the SONAME here. Does platform-api shield its users from the C++ implementation details?

review: Needs Fixing
235. By Steve Langasek

Revert accidental binary package rename, causing a build failure

Revision history for this message
Steve Langasek (vorlon) wrote :

The symbols files show that these packages only export a C ABI, so there are no C++11 ABI problems here. Of course, the binary package name change is still fatal here and should be reverted.

Superseded by https://code.launchpad.net/~vorlon/platform-api/explicit-gcc-version/+merge/226566

review: Disapprove

Unmerged revisions

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'debian/changelog'
2--- debian/changelog 2014-06-24 20:22:48 +0000
3+++ debian/changelog 2014-06-27 08:38:00 +0000
4@@ -1,3 +1,9 @@
5+platform-api (2.1.0+14.10.20140624.4-0ubuntu2) UNRELEASED; urgency=medium
6+
7+ * Explicitly select g++-4.9 to prevent from ABI breaks.
8+
9+ -- Thomas Voß <thomas.voss@canonical.com> Fri, 27 Jun 2014 10:36:28 +0200
10+
11 platform-api (2.1.0+14.10.20140624.4-0ubuntu1) utopic; urgency=low
12
13 [ Ricardo Mendoza ]
14
15=== modified file 'debian/control'
16--- debian/control 2014-06-13 16:31:35 +0000
17+++ debian/control 2014-06-27 08:38:00 +0000
18@@ -7,6 +7,10 @@
19 debhelper (>= 9),
20 doxygen,
21 graphviz,
22+# We rely on C++11 features, and to prevent from ABI breaks
23+# in libstdc++ causing us issues, we explicitly select a G++
24+# version.
25+ g++-4.9,
26 libgles2-mesa-dev,
27 libhybris-common-dev,
28 pkg-config,
29@@ -77,7 +81,7 @@
30 This package provides the development library and headers (via
31 dependency) for the Ubuntu Application API.
32
33-Package: ubuntu-application-api2-touch
34+Package: ubuntu-application-api-touch
35 Section: libs
36 Pre-Depends: ${misc:Pre-Depends},
37 Multi-Arch: same
38
39=== modified file 'debian/rules'
40--- debian/rules 2014-05-20 14:24:10 +0000
41+++ debian/rules 2014-06-27 08:38:00 +0000
42@@ -2,9 +2,19 @@
43
44 DPKG_GENSYMBOLS_CHECK_LEVEL = 4
45
46+include /usr/share/dpkg/default.mk
47+
48+# Explicitly selecting a G{CC,++}-version here to avoid accidental
49+# ABI breaks introduced by toolchain updates.
50+export CC=$(DEB_HOST_GNU_TYPE)-gcc-4.9
51+export CXX=$(DEB_HOST_GNU_TYPE)-g++-4.9
52+
53 %:
54 dh $@
55
56+override_dh_auto_configure:
57+ dh_auto_configure -- -DCMAKE_C_COMPILER=$(CC) -DCMAKE_CXX_COMPILER=$(CXX)
58+
59 override_dh_install:
60 dh_install --fail-missing
61

Subscribers

People subscribed via source and target branches