Mir

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

Proposed by Alberto Aguirre
Status: Work in progress
Proposed branch: lp:~albaguirre/mir/bump-server-abi
Merge into: lp:mir
Diff against target: 100 lines (+26/-7)
6 files modified
CMakeLists.txt (+1/-1)
debian/changelog (+19/-0)
debian/control (+2/-2)
debian/libmirserver39.install (+1/-1)
src/server/CMakeLists.txt (+1/-1)
src/server/symbols.map (+2/-2)
To merge this branch: bzr merge lp:~albaguirre/mir/bump-server-abi
Reviewer Review Type Date Requested Status
Alan Griffiths Disapprove
Mir CI Bot continuous-integration Approve
Review via email: mp+288346@code.launchpad.net

Commit message

Bump server ABI to 39

Description of the change

The interface mir::input::InputDeviceHub has been modified.

To post a comment you must log in.
lp:~albaguirre/mir/bump-server-abi updated
3371. By Alberto Aguirre

Remove whitespace fixes in debian/changelog

Revision history for this message
Mir CI Bot (mir-ci-bot) wrote :

PASSED: Continuous integration, rev:3370
https://mir-jenkins.ubuntu.com/job/mir-ci/511/
Executed test runs:
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-mir/362
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-0-fetch/392
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=vivid+overlay/384
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial/384
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=clang,platform=mesa,release=vivid+overlay/371
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=clang,platform=mesa,release=vivid+overlay/371/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=xenial/371
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=xenial/371/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=cross-armhf,compiler=gcc,platform=android,release=vivid+overlay/371
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=cross-armhf,compiler=gcc,platform=android,release=vivid+overlay/371/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=android,release=vivid+overlay/371
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=android,release=vivid+overlay/371/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=mesa,release=xenial/371
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=mesa,release=xenial/371/artifact/output/*zip*/output.zip

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

review: Approve (continuous-integration)
Revision history for this message
Mir CI Bot (mir-ci-bot) wrote :

PASSED: Continuous integration, rev:3371
https://mir-jenkins.ubuntu.com/job/mir-ci/512/
Executed test runs:
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-mir/363
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-0-fetch/393
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=vivid+overlay/385
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial/385
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=clang,platform=mesa,release=vivid+overlay/372
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=clang,platform=mesa,release=vivid+overlay/372/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=xenial/372
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=xenial/372/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=cross-armhf,compiler=gcc,platform=android,release=vivid+overlay/372
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=cross-armhf,compiler=gcc,platform=android,release=vivid+overlay/372/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=android,release=vivid+overlay/372
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=android,release=vivid+overlay/372/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=mesa,release=xenial/372
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=mesa,release=xenial/372/artifact/output/*zip*/output.zip

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

review: Approve (continuous-integration)
Revision history for this message
Alan Griffiths (alan-griffiths) wrote :

> The interface mir::input::InputDeviceHub has been modified.

That is we've added...

    virtual void for_each_input_device(std::function<void(std::shared_ptr<Device>const& device)> const& callback) = 0;

...to the end of the vtab.

That would only be an issue for client code that implement this interface. AFAICT the only client that does this is TestInputDeviceHub in our own acceptance tests.

Further, the *only* use of this function (including in tests) is in SessionMediator::connect() - so I'm not convinced this should be part of the public API.

Maybe the right solution is to remove this function and restore the ABI?

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

> That would only be an issue for client code that implement this interface.
> AFAICT the only client that does this is TestInputDeviceHub in our own
> acceptance tests.

Sorry, I lost track of my own investigation: that's MockInputDeviceHub used in test_session_mediator.cpp - a unit test.

There's no way for clients to override the InputDeviceHub implementation, (or to use MockInputDeviceHub), so this "ABI break" is a false positive.

review: Disapprove
Revision history for this message
Alberto Aguirre (albaguirre) wrote :

OK, let's stash it for later use when server ABI is broken for good.

Unmerged revisions

3371. By Alberto Aguirre

Remove whitespace fixes in debian/changelog

3370. By Alberto Aguirre

Bump server ABI

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'CMakeLists.txt'
2--- CMakeLists.txt 2016-03-01 12:45:49 +0000
3+++ CMakeLists.txt 2016-03-07 20:53:47 +0000
4@@ -28,7 +28,7 @@
5 set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
6
7 set(MIR_VERSION_MAJOR 0)
8-set(MIR_VERSION_MINOR 20)
9+set(MIR_VERSION_MINOR 21)
10 set(MIR_VERSION_PATCH 0)
11
12 add_definitions(-DMIR_VERSION_MAJOR=${MIR_VERSION_MAJOR})
13
14=== modified file 'debian/changelog'
15--- debian/changelog 2016-03-01 06:11:43 +0000
16+++ debian/changelog 2016-03-07 20:53:47 +0000
17@@ -1,3 +1,22 @@
18+mir (0.21.0) UNRELEASED; urgency=medium
19+
20+ * New upstream release 0.21 (https://launchpad.net/mir/+milestone/0.21)
21+ - ABI Summary:
22+ . mirclient ABI unchanged at 9
23+ . mirserver ABI bumped to 39
24+ . mircommon ABI unchanged at 5
25+ . mirplatform ABI unchanged at 11
26+ . mirprotobuf ABI unchanged at 3
27+ . mirplatformgraphics ABI unchanged at 8
28+ . mirclientplatform ABI bumped to 5
29+ . mirinputplatform ABI unchanged at 5
30+ - Enhancements:
31+ . Placeholder
32+ - Bug fixes:
33+ . Placeholder
34+
35+ -- Alberto Aguirre <alberto.aguirre@canonical.com> Mon, 07 Mar 2016 14:11:16 -0600
36+
37 mir (0.20.1+16.04.20160225.1-0ubuntu1) xenial; urgency=medium
38
39 [ Kevin DuBois ]
40
41=== modified file 'debian/control'
42--- debian/control 2016-03-04 18:16:57 +0000
43+++ debian/control 2016-03-07 20:53:47 +0000
44@@ -67,7 +67,7 @@
45
46 #TODO: Packaging infrastructure for better dependency generation,
47 # ala pkg-xorg's xviddriver:Provides and ABI detection.
48-Package: libmirserver38
49+Package: libmirserver39
50 Section: libs
51 Architecture: linux-any
52 Multi-Arch: same
53@@ -133,7 +133,7 @@
54 Architecture: linux-any
55 Multi-Arch: same
56 Pre-Depends: ${misc:Pre-Depends}
57-Depends: libmirserver38 (= ${binary:Version}),
58+Depends: libmirserver39 (= ${binary:Version}),
59 libmirplatform-dev (= ${binary:Version}),
60 libmircommon-dev (= ${binary:Version}),
61 libglm-dev,
62
63=== renamed file 'debian/libmirserver38.install' => 'debian/libmirserver39.install'
64--- debian/libmirserver38.install 2016-02-24 03:55:11 +0000
65+++ debian/libmirserver39.install 2016-03-07 20:53:47 +0000
66@@ -1,1 +1,1 @@
67-usr/lib/*/libmirserver.so.38
68+usr/lib/*/libmirserver.so.39
69
70=== modified file 'src/server/CMakeLists.txt'
71--- src/server/CMakeLists.txt 2016-02-24 03:55:11 +0000
72+++ src/server/CMakeLists.txt 2016-03-07 20:53:47 +0000
73@@ -123,7 +123,7 @@
74 ${CMAKE_SOURCE_DIR}/include/server/mir DESTINATION "include/mirserver"
75 )
76
77-set(MIRSERVER_ABI 38) # Be sure to increment MIR_VERSION_MINOR at the same time
78+set(MIRSERVER_ABI 39) # Be sure to increment MIR_VERSION_MINOR at the same time
79 set(symbol_map ${CMAKE_CURRENT_SOURCE_DIR}/symbols.map)
80
81 set_target_properties(
82
83=== modified file 'src/server/symbols.map'
84--- src/server/symbols.map 2016-03-01 14:58:13 +0000
85+++ src/server/symbols.map 2016-03-07 20:53:47 +0000
86@@ -1,4 +1,4 @@
87-MIR_SERVER_0.20 {
88+MIR_SERVER_0.21 {
89 global:
90 extern "C++" {
91 # Symbols not yet picked up by script
92@@ -8,7 +8,7 @@
93 VTT?for?mir::shell::SystemCompositorWindowManager;
94
95 # The following symbols come from running a script over the generated docs. Vis:
96-# ../tools/process_doxygen_xml.py doc/xml/*.xml | grep "^mirserver public" | sed "s/mirserver public: / /" | sort
97+# ../tools/process_doxygen_xml.py doc/xml/*.xml | grep "^mirserver public" | sed "s/mirserver public: / /" | sort
98 mir::check_for_termination_exception*;
99 mir::clear_termination_exception*;
100 mir::compositor::Compositor::Compositor*;

Subscribers

People subscribed via source and target branches