Mir

Merge lp:~albaguirre/mir/bump-server-platforms-abi into lp:mir

Proposed by Alberto Aguirre
Status: Merged
Approved by: Alberto Aguirre
Approved revision: no longer in the source branch.
Merged at revision: 3290
Proposed branch: lp:~albaguirre/mir/bump-server-platforms-abi
Merge into: lp:mir
Diff against target: 134 lines (+16/-16)
8 files modified
debian/control (+8/-8)
debian/libmirserver38.install (+1/-1)
debian/mir-platform-graphics-android8.install (+1/-1)
debian/mir-platform-graphics-mesa-kms8.install (+1/-1)
debian/mir-platform-graphics-mesa-x8.install (+1/-1)
src/platforms/CMakeLists.txt (+2/-2)
src/server/CMakeLists.txt (+1/-1)
src/server/symbols.map (+1/-1)
To merge this branch: bzr merge lp:~albaguirre/mir/bump-server-platforms-abi
Reviewer Review Type Date Requested Status
Alan Griffiths Approve
Daniel van Vugt Needs Fixing
Andreas Pokorny (community) Approve
PS Jenkins bot (community) continuous-integration Approve
Kevin DuBois (community) Approve
Mir CI Bot continuous-integration Approve
Review via email: mp+284760@code.launchpad.net

Commit message

Bump server/platforms ABI

Description of the change

A new virtual method was added to mir::graphics::Display interface

To post a comment you must log in.
Revision history for this message
Mir CI Bot (mir-ci-bot) wrote :

PASSED: Continuous integration, rev:3287
https://mir-jenkins.ubuntu.com/job/mir-ci/209/
Executed test runs:
    None: https://mir-jenkins.ubuntu.com/job/generic-update-mp/209/console

Click here to trigger a rebuild:
https://mir-jenkins.ubuntu.com/job/mir-ci/209/rebuild

review: Approve (continuous-integration)
Revision history for this message
Kevin DuBois (kdub) wrote :

lgtm, also needed for refix-1517205

review: Approve
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

PASSED: Continuous integration, rev:3287
http://jenkins.qa.ubuntu.com/job/mir-ci/6187/
Executed test runs:
    SUCCESS: http://jenkins.qa.ubuntu.com/job/mir-android-vivid-i386-build/5775
    SUCCESS: http://jenkins.qa.ubuntu.com/job/mir-clang-vivid-amd64-build/4682
    SUCCESS: http://jenkins.qa.ubuntu.com/job/mir-mediumtests-vivid-touch/5731
    SUCCESS: http://jenkins.qa.ubuntu.com/job/mir-mediumtests-xenial-touch/370
    SUCCESS: http://jenkins.qa.ubuntu.com/job/mir-xenial-amd64-ci/511
        deb: http://jenkins.qa.ubuntu.com/job/mir-xenial-amd64-ci/511/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/mir-xenial-i386-ci/511
        deb: http://jenkins.qa.ubuntu.com/job/mir-xenial-i386-ci/511/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/mir-mediumtests-builder-vivid-armhf/5728
        deb: http://jenkins.qa.ubuntu.com/job/mir-mediumtests-builder-vivid-armhf/5728/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/mir-mediumtests-runner-touch/8140
    SUCCESS: http://s-jenkins.ubuntu-ci:8080/job/touch-flash-device/27243
    SUCCESS: http://jenkins.qa.ubuntu.com/job/mir-mediumtests-builder-xenial-armhf/366
        deb: http://jenkins.qa.ubuntu.com/job/mir-mediumtests-builder-xenial-armhf/366/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/mir-mediumtests-runner-xenial-touch/222
    SUCCESS: http://s-jenkins.ubuntu-ci:8080/job/touch-flash-device/27253

Click here to trigger a rebuild:
http://s-jenkins.ubuntu-ci:8080/job/mir-ci/6187/rebuild

review: Approve (continuous-integration)
Revision history for this message
Andreas Pokorny (andreas-pokorny) wrote :

ok

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

Yeah, it was a virtual method. That's an ABI break for the server graphics platform. Although not an ABI break to libmirserver (?).

review: Needs Fixing
Revision history for this message
Andreas Pokorny (andreas-pokorny) wrote :

> Yeah, it was a virtual method. That's an ABI break for the server graphics
> platform. Although not an ABI break to libmirserver (?).

Yes indeed it breaks both, we directly forward the interface defined for the server graphice platform abi to the users of mir server. So every bump there is in nearly every case a bump in mirserver.

A reasonable layer between platform and mir server is something we should work on soonish. Display/Group/Buffer/Configurations implementations have a lot of locks and for_each_methods that can easily interfere with whatever the compositor threads or input threads may want to do. And dead-lock as we have seen recently

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

> A reasonable layer between platform and mir server is something we should work
> on soonish.

Yes, that (after the client API) is the next interface we need to "nail down".

The various "platforms" are what really can need access to privileged resources and a stable ABI to develop them against will assist fitting into snappy policies.

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

OK

review: Approve

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 2016-01-29 08:18:22 +0000
3+++ debian/control 2016-02-02 16:43:31 +0000
4@@ -67,7 +67,7 @@
5
6 #TODO: Packaging infrastructure for better dependency generation,
7 # ala pkg-xorg's xviddriver:Provides and ABI detection.
8-Package: libmirserver37
9+Package: libmirserver38
10 Section: libs
11 Architecture: linux-any
12 Multi-Arch: same
13@@ -133,7 +133,7 @@
14 Architecture: linux-any
15 Multi-Arch: same
16 Pre-Depends: ${misc:Pre-Depends}
17-Depends: libmirserver37 (= ${binary:Version}),
18+Depends: libmirserver38 (= ${binary:Version}),
19 libmirplatform-dev (= ${binary:Version}),
20 libmircommon-dev (= ${binary:Version}),
21 libglm-dev,
22@@ -289,7 +289,7 @@
23 Contains the shared libraries required for the Mir server and client.
24
25 # Longer-term these drivers should move out-of-tree
26-Package: mir-platform-graphics-mesa-x7
27+Package: mir-platform-graphics-mesa-x8
28 Section: libs
29 Architecture: linux-any
30 Multi-Arch: same
31@@ -303,7 +303,7 @@
32 Contains the shared libraries required for the Mir server to interact with
33 the X11 platform using the Mesa drivers.
34
35-Package: mir-platform-graphics-mesa-kms7
36+Package: mir-platform-graphics-mesa-kms8
37 Section: libs
38 Architecture: linux-any
39 Multi-Arch: same
40@@ -317,7 +317,7 @@
41 Contains the shared libraries required for the Mir server to interact with
42 the hardware platform using the Mesa drivers.
43
44-Package: mir-platform-graphics-android7
45+Package: mir-platform-graphics-android8
46 Section: libs
47 Architecture: i386 amd64 armhf
48 Multi-Arch: same
49@@ -393,8 +393,8 @@
50 Multi-Arch: same
51 Pre-Depends: ${misc:Pre-Depends}
52 Depends: ${misc:Depends},
53- mir-platform-graphics-mesa-kms7,
54- mir-platform-graphics-mesa-x7,
55+ mir-platform-graphics-mesa-kms8,
56+ mir-platform-graphics-mesa-x8,
57 mir-client-platform-mesa4,
58 mir-platform-input-evdev5,
59 Description: Display server for Ubuntu - desktop driver metapackage
60@@ -410,7 +410,7 @@
61 Multi-Arch: same
62 Pre-Depends: ${misc:Pre-Depends}
63 Depends: ${misc:Depends},
64- mir-platform-graphics-android7,
65+ mir-platform-graphics-android8,
66 mir-client-platform-android4,
67 mir-platform-input-evdev5,
68 Description: Display server for Ubuntu - android driver metapackage
69
70=== renamed file 'debian/libmirserver37.install' => 'debian/libmirserver38.install'
71--- debian/libmirserver37.install 2016-01-29 08:18:22 +0000
72+++ debian/libmirserver38.install 2016-02-02 16:43:31 +0000
73@@ -1,1 +1,1 @@
74-usr/lib/*/libmirserver.so.37
75+usr/lib/*/libmirserver.so.38
76
77=== renamed file 'debian/mir-platform-graphics-android7.install' => 'debian/mir-platform-graphics-android8.install'
78--- debian/mir-platform-graphics-android7.install 2016-01-29 08:18:22 +0000
79+++ debian/mir-platform-graphics-android8.install 2016-02-02 16:43:31 +0000
80@@ -1,1 +1,1 @@
81-usr/lib/*/mir/server-platform/graphics-android.so.7
82+usr/lib/*/mir/server-platform/graphics-android.so.8
83
84=== renamed file 'debian/mir-platform-graphics-mesa-kms7.install' => 'debian/mir-platform-graphics-mesa-kms8.install'
85--- debian/mir-platform-graphics-mesa-kms7.install 2016-01-29 08:18:22 +0000
86+++ debian/mir-platform-graphics-mesa-kms8.install 2016-02-02 16:43:31 +0000
87@@ -1,1 +1,1 @@
88-usr/lib/*/mir/server-platform/graphics-mesa-kms.so.7
89+usr/lib/*/mir/server-platform/graphics-mesa-kms.so.8
90
91=== renamed file 'debian/mir-platform-graphics-mesa-x7.install' => 'debian/mir-platform-graphics-mesa-x8.install'
92--- debian/mir-platform-graphics-mesa-x7.install 2016-01-29 08:18:22 +0000
93+++ debian/mir-platform-graphics-mesa-x8.install 2016-02-02 16:43:31 +0000
94@@ -1,1 +1,1 @@
95-usr/lib/*/mir/server-platform/server-mesa-x11.so.7
96+usr/lib/*/mir/server-platform/server-mesa-x11.so.8
97
98=== modified file 'src/platforms/CMakeLists.txt'
99--- src/platforms/CMakeLists.txt 2016-01-29 08:18:22 +0000
100+++ src/platforms/CMakeLists.txt 2016-02-02 16:43:31 +0000
101@@ -8,8 +8,8 @@
102 set(MIR_SERVER_INPUT_PLATFORM_ABI ${MIR_SERVER_INPUT_PLATFORM_ABI} PARENT_SCOPE)
103 set(MIR_SERVER_INPUT_PLATFORM_VERSION "MIR_INPUT_PLATFORM_${MIR_SERVER_INPUT_PLATFORM_STANZA_VERSION}")
104 set(MIR_SERVER_INPUT_PLATFORM_VERSION ${MIR_SERVER_INPUT_PLATFORM_VERSION} PARENT_SCOPE)
105-set(MIR_SERVER_GRAPHICS_PLATFORM_ABI 7)
106-set(MIR_SERVER_GRAPHICS_PLATFORM_STANZA_VERSION 0.18)
107+set(MIR_SERVER_GRAPHICS_PLATFORM_ABI 8)
108+set(MIR_SERVER_GRAPHICS_PLATFORM_STANZA_VERSION 0.20)
109 set(MIR_SERVER_GRAPHICS_PLATFORM_ABI ${MIR_SERVER_GRAPHICS_PLATFORM_ABI} PARENT_SCOPE)
110 set(MIR_SERVER_GRAPHICS_PLATFORM_VERSION "MIR_GRAPHICS_PLATFORM_${MIR_SERVER_GRAPHICS_PLATFORM_STANZA_VERSION}")
111 set(MIR_SERVER_GRAPHICS_PLATFORM_VERSION ${MIR_SERVER_GRAPHICS_PLATFORM_VERSION} PARENT_SCOPE)
112
113=== modified file 'src/server/CMakeLists.txt'
114--- src/server/CMakeLists.txt 2016-01-29 08:18:22 +0000
115+++ src/server/CMakeLists.txt 2016-02-02 16:43:31 +0000
116@@ -123,7 +123,7 @@
117 ${CMAKE_SOURCE_DIR}/include/server/mir DESTINATION "include/mirserver"
118 )
119
120-set(MIRSERVER_ABI 37) # Be sure to increment MIR_VERSION_MINOR at the same time
121+set(MIRSERVER_ABI 38) # Be sure to increment MIR_VERSION_MINOR at the same time
122 set(symbol_map ${CMAKE_CURRENT_SOURCE_DIR}/symbols.map)
123
124 set_target_properties(
125
126=== modified file 'src/server/symbols.map'
127--- src/server/symbols.map 2016-01-29 08:18:22 +0000
128+++ src/server/symbols.map 2016-02-02 16:43:31 +0000
129@@ -1,4 +1,4 @@
130-MIR_SERVER_0.19 {
131+MIR_SERVER_0.20 {
132 global:
133 extern "C++" {
134 # Symbols not yet picked up by script

Subscribers

People subscribed via source and target branches