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
=== modified file 'debian/control'
--- debian/control 2016-01-29 08:18:22 +0000
+++ debian/control 2016-02-02 16:43:31 +0000
@@ -67,7 +67,7 @@
6767
68#TODO: Packaging infrastructure for better dependency generation,68#TODO: Packaging infrastructure for better dependency generation,
69# ala pkg-xorg's xviddriver:Provides and ABI detection.69# ala pkg-xorg's xviddriver:Provides and ABI detection.
70Package: libmirserver3770Package: libmirserver38
71Section: libs71Section: libs
72Architecture: linux-any72Architecture: linux-any
73Multi-Arch: same73Multi-Arch: same
@@ -133,7 +133,7 @@
133Architecture: linux-any133Architecture: linux-any
134Multi-Arch: same134Multi-Arch: same
135Pre-Depends: ${misc:Pre-Depends}135Pre-Depends: ${misc:Pre-Depends}
136Depends: libmirserver37 (= ${binary:Version}),136Depends: libmirserver38 (= ${binary:Version}),
137 libmirplatform-dev (= ${binary:Version}),137 libmirplatform-dev (= ${binary:Version}),
138 libmircommon-dev (= ${binary:Version}),138 libmircommon-dev (= ${binary:Version}),
139 libglm-dev,139 libglm-dev,
@@ -289,7 +289,7 @@
289 Contains the shared libraries required for the Mir server and client.289 Contains the shared libraries required for the Mir server and client.
290290
291# Longer-term these drivers should move out-of-tree291# Longer-term these drivers should move out-of-tree
292Package: mir-platform-graphics-mesa-x7292Package: mir-platform-graphics-mesa-x8
293Section: libs293Section: libs
294Architecture: linux-any294Architecture: linux-any
295Multi-Arch: same295Multi-Arch: same
@@ -303,7 +303,7 @@
303 Contains the shared libraries required for the Mir server to interact with303 Contains the shared libraries required for the Mir server to interact with
304 the X11 platform using the Mesa drivers.304 the X11 platform using the Mesa drivers.
305305
306Package: mir-platform-graphics-mesa-kms7306Package: mir-platform-graphics-mesa-kms8
307Section: libs307Section: libs
308Architecture: linux-any308Architecture: linux-any
309Multi-Arch: same309Multi-Arch: same
@@ -317,7 +317,7 @@
317 Contains the shared libraries required for the Mir server to interact with317 Contains the shared libraries required for the Mir server to interact with
318 the hardware platform using the Mesa drivers.318 the hardware platform using the Mesa drivers.
319319
320Package: mir-platform-graphics-android7320Package: mir-platform-graphics-android8
321Section: libs321Section: libs
322Architecture: i386 amd64 armhf322Architecture: i386 amd64 armhf
323Multi-Arch: same323Multi-Arch: same
@@ -393,8 +393,8 @@
393Multi-Arch: same393Multi-Arch: same
394Pre-Depends: ${misc:Pre-Depends}394Pre-Depends: ${misc:Pre-Depends}
395Depends: ${misc:Depends},395Depends: ${misc:Depends},
396 mir-platform-graphics-mesa-kms7,396 mir-platform-graphics-mesa-kms8,
397 mir-platform-graphics-mesa-x7,397 mir-platform-graphics-mesa-x8,
398 mir-client-platform-mesa4,398 mir-client-platform-mesa4,
399 mir-platform-input-evdev5,399 mir-platform-input-evdev5,
400Description: Display server for Ubuntu - desktop driver metapackage400Description: Display server for Ubuntu - desktop driver metapackage
@@ -410,7 +410,7 @@
410Multi-Arch: same410Multi-Arch: same
411Pre-Depends: ${misc:Pre-Depends}411Pre-Depends: ${misc:Pre-Depends}
412Depends: ${misc:Depends},412Depends: ${misc:Depends},
413 mir-platform-graphics-android7,413 mir-platform-graphics-android8,
414 mir-client-platform-android4,414 mir-client-platform-android4,
415 mir-platform-input-evdev5,415 mir-platform-input-evdev5,
416Description: Display server for Ubuntu - android driver metapackage416Description: Display server for Ubuntu - android driver metapackage
417417
=== renamed file 'debian/libmirserver37.install' => 'debian/libmirserver38.install'
--- debian/libmirserver37.install 2016-01-29 08:18:22 +0000
+++ debian/libmirserver38.install 2016-02-02 16:43:31 +0000
@@ -1,1 +1,1 @@
1usr/lib/*/libmirserver.so.371usr/lib/*/libmirserver.so.38
22
=== renamed file 'debian/mir-platform-graphics-android7.install' => 'debian/mir-platform-graphics-android8.install'
--- debian/mir-platform-graphics-android7.install 2016-01-29 08:18:22 +0000
+++ debian/mir-platform-graphics-android8.install 2016-02-02 16:43:31 +0000
@@ -1,1 +1,1 @@
1usr/lib/*/mir/server-platform/graphics-android.so.71usr/lib/*/mir/server-platform/graphics-android.so.8
22
=== renamed file 'debian/mir-platform-graphics-mesa-kms7.install' => 'debian/mir-platform-graphics-mesa-kms8.install'
--- debian/mir-platform-graphics-mesa-kms7.install 2016-01-29 08:18:22 +0000
+++ debian/mir-platform-graphics-mesa-kms8.install 2016-02-02 16:43:31 +0000
@@ -1,1 +1,1 @@
1usr/lib/*/mir/server-platform/graphics-mesa-kms.so.71usr/lib/*/mir/server-platform/graphics-mesa-kms.so.8
22
=== renamed file 'debian/mir-platform-graphics-mesa-x7.install' => 'debian/mir-platform-graphics-mesa-x8.install'
--- debian/mir-platform-graphics-mesa-x7.install 2016-01-29 08:18:22 +0000
+++ debian/mir-platform-graphics-mesa-x8.install 2016-02-02 16:43:31 +0000
@@ -1,1 +1,1 @@
1usr/lib/*/mir/server-platform/server-mesa-x11.so.71usr/lib/*/mir/server-platform/server-mesa-x11.so.8
22
=== modified file 'src/platforms/CMakeLists.txt'
--- src/platforms/CMakeLists.txt 2016-01-29 08:18:22 +0000
+++ src/platforms/CMakeLists.txt 2016-02-02 16:43:31 +0000
@@ -8,8 +8,8 @@
8set(MIR_SERVER_INPUT_PLATFORM_ABI ${MIR_SERVER_INPUT_PLATFORM_ABI} PARENT_SCOPE)8set(MIR_SERVER_INPUT_PLATFORM_ABI ${MIR_SERVER_INPUT_PLATFORM_ABI} PARENT_SCOPE)
9set(MIR_SERVER_INPUT_PLATFORM_VERSION "MIR_INPUT_PLATFORM_${MIR_SERVER_INPUT_PLATFORM_STANZA_VERSION}")9set(MIR_SERVER_INPUT_PLATFORM_VERSION "MIR_INPUT_PLATFORM_${MIR_SERVER_INPUT_PLATFORM_STANZA_VERSION}")
10set(MIR_SERVER_INPUT_PLATFORM_VERSION ${MIR_SERVER_INPUT_PLATFORM_VERSION} PARENT_SCOPE)10set(MIR_SERVER_INPUT_PLATFORM_VERSION ${MIR_SERVER_INPUT_PLATFORM_VERSION} PARENT_SCOPE)
11set(MIR_SERVER_GRAPHICS_PLATFORM_ABI 7)11set(MIR_SERVER_GRAPHICS_PLATFORM_ABI 8)
12set(MIR_SERVER_GRAPHICS_PLATFORM_STANZA_VERSION 0.18)12set(MIR_SERVER_GRAPHICS_PLATFORM_STANZA_VERSION 0.20)
13set(MIR_SERVER_GRAPHICS_PLATFORM_ABI ${MIR_SERVER_GRAPHICS_PLATFORM_ABI} PARENT_SCOPE)13set(MIR_SERVER_GRAPHICS_PLATFORM_ABI ${MIR_SERVER_GRAPHICS_PLATFORM_ABI} PARENT_SCOPE)
14set(MIR_SERVER_GRAPHICS_PLATFORM_VERSION "MIR_GRAPHICS_PLATFORM_${MIR_SERVER_GRAPHICS_PLATFORM_STANZA_VERSION}")14set(MIR_SERVER_GRAPHICS_PLATFORM_VERSION "MIR_GRAPHICS_PLATFORM_${MIR_SERVER_GRAPHICS_PLATFORM_STANZA_VERSION}")
15set(MIR_SERVER_GRAPHICS_PLATFORM_VERSION ${MIR_SERVER_GRAPHICS_PLATFORM_VERSION} PARENT_SCOPE)15set(MIR_SERVER_GRAPHICS_PLATFORM_VERSION ${MIR_SERVER_GRAPHICS_PLATFORM_VERSION} PARENT_SCOPE)
1616
=== modified file 'src/server/CMakeLists.txt'
--- src/server/CMakeLists.txt 2016-01-29 08:18:22 +0000
+++ src/server/CMakeLists.txt 2016-02-02 16:43:31 +0000
@@ -123,7 +123,7 @@
123 ${CMAKE_SOURCE_DIR}/include/server/mir DESTINATION "include/mirserver"123 ${CMAKE_SOURCE_DIR}/include/server/mir DESTINATION "include/mirserver"
124)124)
125125
126set(MIRSERVER_ABI 37) # Be sure to increment MIR_VERSION_MINOR at the same time126set(MIRSERVER_ABI 38) # Be sure to increment MIR_VERSION_MINOR at the same time
127set(symbol_map ${CMAKE_CURRENT_SOURCE_DIR}/symbols.map)127set(symbol_map ${CMAKE_CURRENT_SOURCE_DIR}/symbols.map)
128128
129set_target_properties(129set_target_properties(
130130
=== modified file 'src/server/symbols.map'
--- src/server/symbols.map 2016-01-29 08:18:22 +0000
+++ src/server/symbols.map 2016-02-02 16:43:31 +0000
@@ -1,4 +1,4 @@
1MIR_SERVER_0.19 {1MIR_SERVER_0.20 {
2 global:2 global:
3 extern "C++" {3 extern "C++" {
4# Symbols not yet picked up by script4# Symbols not yet picked up by script

Subscribers

People subscribed via source and target branches