Merge lp:~phablet-team/messaging-framework/dynamic-soname into lp:messaging-framework

Proposed by Roberto Mier Escandon
Status: Merged
Approved by: Roberto Mier Escandon
Approved revision: 84
Merged at revision: 72
Proposed branch: lp:~phablet-team/messaging-framework/dynamic-soname
Merge into: lp:messaging-framework
Prerequisite: lp:~ken-vandine/messaging-framework/packaging_cleanup
Diff against target: 599 lines (+250/-107)
21 files modified
CMakeLists.txt (+15/-6)
HACKING.md (+77/-0)
README.md (+0/-15)
data/CMakeLists.txt (+4/-4)
data/messaging-framework.pc.in (+10/-0)
data/messaging-fw.pc.in (+0/-10)
debian/bileto_pre_release_hook (+22/-0)
debian/control (+0/-50)
debian/control.in (+49/-0)
debian/libmessaging-framework-dev.install (+3/-0)
debian/libmessaging-framework1.install.in (+2/-0)
debian/libmessaging-framework1.shlibs.in (+1/-0)
debian/libmessaging-fw-dev.install (+0/-3)
debian/libmessaging-fw1.install (+0/-2)
debian/rules (+4/-3)
include/CMakeLists.txt (+1/-1)
src/CMakeLists.txt (+12/-11)
tests/CMakeLists.txt (+1/-1)
tests/unit/messaging/CMakeLists.txt (+1/-1)
tools/CMakeLists.txt (+4/-0)
tools/get_soversion.sh (+44/-0)
To merge this branch: bzr merge lp:~phablet-team/messaging-framework/dynamic-soname
Reviewer Review Type Date Requested Status
system-apps-ci-bot continuous-integration Approve
Gustavo Pichorim Boiko (community) Approve
Review via email: mp+310557@code.launchpad.net

Commit message

Have dynamic soversion for the fw depending on the distro, to avoid ABI break problems with gcc or libboost different versions. (see https://wiki.ubuntu.com/Bileto?action=show&redirect=citrain%2FLandingProcess#Handling_Symbols)
Using messaging-framework word instead of messaging-fw in all the project

Description of the change

Have dynamic soversion for the fw depending on the distro, to avoid ABI break problems with gcc or libboost different versions. (see https://wiki.ubuntu.com/Bileto?action=show&redirect=citrain%2FLandingProcess#Handling_Symbols)
Using messaging-framework word instead of messaging-fw in all the project

To post a comment you must log in.
Revision history for this message
system-apps-ci-bot (system-apps-ci-bot) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
system-apps-ci-bot (system-apps-ci-bot) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
system-apps-ci-bot (system-apps-ci-bot) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
system-apps-ci-bot (system-apps-ci-bot) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
Gustavo Pichorim Boiko (boiko) wrote :

We probably need to get the CI jobs to run a step to generate debian/control before building the package, but other than that the code looks good!

review: Approve
Revision history for this message
system-apps-ci-bot (system-apps-ci-bot) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
James Henstridge (jamesh) wrote :

Gary Wang mentioned this merge proposal to me, since you borrowed some of the multi-landing bits I wrote for storage-framework.

Just a small note:

For the libstorage-framework-provider library, we exposed boost types in our public API. This is why our ABI breaks with each new Boost version (since they don't maintain ABI stability).

If that's not the case for your library, you probably only need one soname for gcc 4.9 (vivid), and another for gcc >= 5.

If you're unsure, one option would be to build the library with debug symbols on xenial and zesty, and then compare the results using the abidiff tool (found in the abigail-tools package).

Revision history for this message
system-apps-ci-bot (system-apps-ci-bot) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
system-apps-ci-bot (system-apps-ci-bot) wrote :

FAILED: Continuous integration, rev:83
https://jenkins.canonical.com/system-apps/job/lp-messaging-framework-ci/99/
Executed test runs:
    FAILURE: https://jenkins.canonical.com/system-apps/job/build/2007/console
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-0-fetch/2010
    FAILURE: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=amd64,release=vivid+overlay/1840/console
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=amd64,release=xenial+overlay/1840
        deb: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=amd64,release=xenial+overlay/1840/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=amd64,release=zesty/1840
        deb: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=amd64,release=zesty/1840/artifact/output/*zip*/output.zip
    FAILURE: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=armhf,release=vivid+overlay/1840/console
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=armhf,release=xenial+overlay/1840
        deb: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=armhf,release=xenial+overlay/1840/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=armhf,release=zesty/1840
        deb: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=armhf,release=zesty/1840/artifact/output/*zip*/output.zip
    FAILURE: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=i386,release=vivid+overlay/1840/console
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=i386,release=xenial+overlay/1840
        deb: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=i386,release=xenial+overlay/1840/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=i386,release=zesty/1840
        deb: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=i386,release=zesty/1840/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://jenkins.canonical.com/system-apps/job/lp-messaging-framework-ci/99/rebuild

review: Needs Fixing (continuous-integration)
Revision history for this message
system-apps-ci-bot (system-apps-ci-bot) wrote :

FAILED: Autolanding.
More details in the following jenkins job:
https://jenkins.canonical.com/system-apps/job/lp-messaging-framework-autoland/43/
Executed test runs:
    FAILURE: https://jenkins.canonical.com/system-apps/job/build/2010/console
    None: https://jenkins.canonical.com/system-apps/job/lp-generic-land-mp/60/console
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-0-fetch/2013
    FAILURE: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=amd64,release=vivid+overlay/1843/console
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=amd64,release=xenial+overlay/1843
        deb: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=amd64,release=xenial+overlay/1843/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=amd64,release=zesty/1843
        deb: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=amd64,release=zesty/1843/artifact/output/*zip*/output.zip
    FAILURE: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=armhf,release=vivid+overlay/1843/console
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=armhf,release=xenial+overlay/1843
        deb: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=armhf,release=xenial+overlay/1843/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=armhf,release=zesty/1843
        deb: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=armhf,release=zesty/1843/artifact/output/*zip*/output.zip
    FAILURE: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=i386,release=vivid+overlay/1843/console
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=i386,release=xenial+overlay/1843
        deb: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=i386,release=xenial+overlay/1843/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=i386,release=zesty/1843
        deb: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=i386,release=zesty/1843/artifact/output/*zip*/output.zip

review: Needs Fixing (continuous-integration)
84. By Roberto Mier Escandon

corrected minimum version for libboost be 1.55

Revision history for this message
system-apps-ci-bot (system-apps-ci-bot) wrote :

PASSED: Continuous integration, rev:84
https://jenkins.canonical.com/system-apps/job/lp-messaging-framework-ci/100/
Executed test runs:
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build/2011
    SUCCESS: https://jenkins.canonical.com/system-apps/job/test-0-autopkgtest/label=phone-armhf,release=vivid+overlay,testname=default/487
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-0-fetch/2014
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=amd64,release=vivid+overlay/1844
        deb: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=amd64,release=vivid+overlay/1844/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=amd64,release=xenial+overlay/1844
        deb: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=amd64,release=xenial+overlay/1844/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=amd64,release=zesty/1844
        deb: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=amd64,release=zesty/1844/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=armhf,release=vivid+overlay/1844
        deb: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=armhf,release=vivid+overlay/1844/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=armhf,release=xenial+overlay/1844
        deb: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=armhf,release=xenial+overlay/1844/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=armhf,release=zesty/1844
        deb: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=armhf,release=zesty/1844/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=i386,release=vivid+overlay/1844
        deb: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=i386,release=vivid+overlay/1844/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=i386,release=xenial+overlay/1844
        deb: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=i386,release=xenial+overlay/1844/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=i386,release=zesty/1844
        deb: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=i386,release=zesty/1844/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://jenkins.canonical.com/system-apps/job/lp-messaging-framework-ci/100/rebuild

review: Approve (continuous-integration)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'CMakeLists.txt'
--- CMakeLists.txt 2016-08-17 16:44:29 +0000
+++ CMakeLists.txt 2016-11-18 23:50:42 +0000
@@ -1,5 +1,5 @@
1project(messaging-framework C CXX)1cmake_minimum_required(VERSION 3.0.2)
2cmake_minimum_required(VERSION 2.8.10)2project(messaging-framework VERSION "0.1" LANGUAGES C CXX)
3set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)3set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
44
5# Select a pedantic set of compiler flags and enable C++11 support.5# Select a pedantic set of compiler flags and enable C++11 support.
@@ -31,10 +31,18 @@
31set(CMAKE_INCLUDE_CURRENT_DIR ON)31set(CMAKE_INCLUDE_CURRENT_DIR ON)
32set(CMAKE_AUTOMOC ON)32set(CMAKE_AUTOMOC ON)
3333
34set(SO_VERSION_MAJOR "1")34set(API_VERSION "1")
35set(SO_VERSION_MINOR "1")35
36set(SO_VERSION_PATCH "0")36execute_process(
37set(SO_VERSION "${SO_VERSION_MAJOR}.${SO_VERSION_MINOR}.${SO_VERSION_PATCH}")37 COMMAND /bin/sh ${CMAKE_CURRENT_SOURCE_DIR}/tools/get_soversion.sh
38 OUTPUT_VARIABLE SO_VERSION
39 OUTPUT_STRIP_TRAILING_WHITESPACE
40 RESULT_VARIABLE result)
41if(NOT result EQUAL 0)
42 message(FATAL_ERROR "Error running get-soversion.sh script")
43endif()
44
45set(LIB_VERSION "${SO_VERSION}.${PROJECT_VERSION}")
3846
39option(CLICK_MODE "Installs to a contained location" on)47option(CLICK_MODE "Installs to a contained location" on)
4048
@@ -82,6 +90,7 @@
82)90)
8391
84add_subdirectory(data)92add_subdirectory(data)
93add_subdirectory(tools)
85add_subdirectory(doc)94add_subdirectory(doc)
86add_subdirectory(include)95add_subdirectory(include)
87add_subdirectory(src)96add_subdirectory(src)
8897
=== added file 'HACKING.md'
--- HACKING.md 1970-01-01 00:00:00 +0000
+++ HACKING.md 2016-11-18 23:50:42 +0000
@@ -0,0 +1,77 @@
1# Messaging Framework
2
3### Checking dependencies
4
5Check all the dependencies needed for the project to be built:
6```sh
7$ dpkg-checkbuilddeps
8```
9(this will return the list of dependencies). Install the returned dependencies:
10```sh
11$ apt-get install <list_of_dependencies>
12```
13
14### Building the code
15
16You can check the needed packages by using:
17```sh
18$ dpkg-checkdependencies
19```
20
21and install the list of needed dependencies returned. Once done, execute:
22```sh
23$ mkdir build && cd build
24$ cmake -DCMAKE_INSTALL_PREFIX=/usr ../..
25$ make -j<n>
26```
27where <n> is the number of cores available to use for building.
28You can use ccache also if expected to build several times (apt-get install ccache)
29
30
31### Running the tests
32
33Once built, into build folder, execute:
34```sh
35$ ctest -j<n>
36```
37where <n> is the number of cores available to use for executing the tests in parallel
38
39
40### Building the package
41
42NOTE: Before building the package it is needed run a hook which updates debian folder. You have to execute
43that hook from project folder:
44```sh
45$ ./debian/bileto_pre_release_hook
46```
47
48If all goes well, no response should be returned.
49
50You can build the deb package in current arch by executing:
51```sh
52$ dh_clean
53$ dpkg-buildpackage -b
54```
55
56in case you want to skip signage and dependencies to build a test package, you can use some additional params:
57```sh
58$ dpkg-buildpackage -nc -us -uc -d -b
59```
60
61besides, if you are in a lxd container and want to build a package for that container architecture:
62```sh
63$ dpkg-buildpackage -nc -us -uc -d -b --target-arch <arch> -a <arch> -j<n>
64```
65
66where <arch> is the architecture of the environment and <n> the number of cores to use
67
68Depending on the release the soname of the resultant library will be on or another. You can query file:
69```sh
70tools/get_soversion.sh
71```
72
73the soversion that will be used for the library. The resultant .deb package will be like:
74```sh
75libmessaging-framework<apiversion>-<soversion>_XXX_<arch>.deb
76```
77
078
=== removed file 'README.md'
--- README.md 2016-03-30 19:19:19 +0000
+++ README.md 1970-01-01 00:00:00 +0000
@@ -1,15 +0,0 @@
1messaging-framework
2===================
3
4Check all the dependencies needed for the project to be built:
5`dpkg-checkbuilddeps`
6(this will return the list of dependencies)
7
8`apt-get install <list_of_dependencies>`
9
10
11Build the project
12-----------------
13`build.sh [clean]`
14
15
160
=== modified file 'data/CMakeLists.txt'
--- data/CMakeLists.txt 2016-03-30 19:19:19 +0000
+++ data/CMakeLists.txt 2016-11-18 23:50:42 +0000
@@ -15,7 +15,7 @@
1515
1616
17###########################################17###########################################
18# Messaging-fw data and configuration files18# messaging-framework data and configuration files
19###########################################19###########################################
2020
21# Compose the pkg-config file needed to find the library using that tool21# Compose the pkg-config file needed to find the library using that tool
@@ -24,9 +24,9 @@
24set(INCLUDEDIR "${CMAKE_INSTALL_PREFIX}/include") # /usr/include24set(INCLUDEDIR "${CMAKE_INSTALL_PREFIX}/include") # /usr/include
2525
26configure_file(26configure_file(
27 ${CMAKE_CURRENT_SOURCE_DIR}/messaging-fw.pc.in27 ${CMAKE_CURRENT_SOURCE_DIR}/messaging-framework.pc.in
28 ${CMAKE_CURRENT_BINARY_DIR}/messaging-fw.pc28 ${CMAKE_CURRENT_BINARY_DIR}/messaging-framework${API_VERSION}.pc
29 @ONLY)29 @ONLY)
3030
31install(FILES ${CMAKE_CURRENT_BINARY_DIR}/messaging-fw.pc31install(FILES ${CMAKE_CURRENT_BINARY_DIR}/messaging-framework${API_VERSION}.pc
32 DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)32 DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
3333
=== added file 'data/messaging-framework.pc.in'
--- data/messaging-framework.pc.in 1970-01-01 00:00:00 +0000
+++ data/messaging-framework.pc.in 2016-11-18 23:50:42 +0000
@@ -0,0 +1,10 @@
1prefix=@PREFIX@
2exec_prefix=@PREFIX@
3libdir=@LIBDIR@
4includedir=@INCLUDEDIR@
5
6Name: messaging-framework
7Version: @SO_VERSION@
8Description: Ubuntu Messaging Framework
9Cflags: -I${includedir}/messaging-framework@API_VERSION@
10Libs: -L${libdir} -lmessaging-framework@API_VERSION@
011
=== removed file 'data/messaging-fw.pc.in'
--- data/messaging-fw.pc.in 2016-03-30 19:19:19 +0000
+++ data/messaging-fw.pc.in 1970-01-01 00:00:00 +0000
@@ -1,10 +0,0 @@
1prefix=@PREFIX@
2exec_prefix=@PREFIX@
3libdir=@LIBDIR@
4includedir=@INCLUDEDIR@
5
6Name: Messaging-fw
7Version: @SO_VERSION@
8Description: Ubuntu Messaging Framework
9Cflags: -I${includedir}/messaging-fw
10Libs: -L${libdir} -lmessaging-fw
110
=== added file 'debian/bileto_pre_release_hook'
--- debian/bileto_pre_release_hook 1970-01-01 00:00:00 +0000
+++ debian/bileto_pre_release_hook 2016-11-18 23:50:42 +0000
@@ -0,0 +1,22 @@
1#!/bin/sh
2
3set -eu
4
5soversion=$(sh ./tools/get_soversion.sh)
6
7substitute() {
8 cat > "$2" <<EOF
9# This file is autogenerated. DO NOT EDIT!
10#
11# Modifications should be made to $1 instead.
12# This file is regenerated automatically in the clean target.
13#
14EOF
15 sed -e "s/@SO_VERSION@/${soversion}/g" < "$1" >> "$2"
16}
17
18substitute ./debian/control.in ./debian/control
19substitute ./debian/libmessaging-framework1.install.in ./debian/libmessaging-framework1-${soversion}.install
20substitute ./debian/libmessaging-framework1.shlibs.in ./debian/libmessaging-framework1-${soversion}.shlibs
21
22exit 0
023
=== added file 'debian/control'
--- debian/control 1970-01-01 00:00:00 +0000
+++ debian/control 2016-11-18 23:50:42 +0000
@@ -0,0 +1,54 @@
1# This file is autogenerated. DO NOT EDIT!
2#
3# Modifications should be made to ./debian/control.in instead.
4# This file is regenerated automatically in the clean target.
5#
6Source: messaging-framework
7Section: libs
8Priority: optional
9Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
10Build-Depends: astyle,
11 clang-format-3.5:native,
12 clang:native,
13 cmake,
14 debhelper (>= 9),
15 dos2unix,
16 doxygen,
17 gcovr,
18 google-mock,
19 graphviz,
20 lcov,
21 libboost-filesystem-dev (>= 1.55) | libboost-filesystem1.58-dev,
22 libboost-program-options-dev (>= 1.55) | libboost-program-options1.58-dev,
23 libboost-system-dev (>= 1.55) | libboost-system1.58-dev,
24 libdbus-cpp-dev,
25 libgoogle-glog-dev,
26 libphonenumber-dev,
27 libprocess-cpp-dev,
28 libsystemd-dev,
29 libtelepathy-qt5-dev,
30 pkg-config,
31 qtbase5-dev,
32 qtpim5-dev,
33 telepathy-mission-control-5
34Standards-Version: 3.9.7
35Homepage: https://launchpad.net/messaging-framework
36Vcs-Bzr: https://code.launchpad.net/~phablet-team/messaging-framework/trunk
37
38Package: libmessaging-framework-dev
39Section: libdevel
40Architecture: any
41Multi-Arch: same
42Depends: libmessaging-framework1-2 (= ${binary:Version}), ${misc:Depends}
43Description: Ubuntu Messaging Framework header files
44 All the development headers and libraries for the Messaging Framework
45
46Package: libmessaging-framework1-2
47Section: libs
48Architecture: any
49Multi-Arch: same
50Depends: ${misc:Depends}, ${shlibs:Depends}
51Description: Ubuntu Messaging Framework to build IM plugins
52 This layer communicates third party plugins with systems like
53 telepathy allowing changing the system by other without having
54 to modify the plugins
055
=== removed file 'debian/control'
--- debian/control 2016-11-03 16:27:45 +0000
+++ debian/control 1970-01-01 00:00:00 +0000
@@ -1,50 +0,0 @@
1Source: messaging-framework
2Section: libs
3Priority: optional
4Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
5Build-Depends: astyle,
6 clang-format-3.5:native,
7 clang:native,
8 cmake,
9 debhelper (>= 9),
10 dos2unix,
11 doxygen,
12 gcovr,
13 google-mock,
14 graphviz,
15 lcov,
16 libboost-dev,
17 libboost-filesystem-dev,
18 libboost-program-options-dev,
19 libboost-system-dev,
20 libdbus-cpp-dev,
21 libgoogle-glog-dev,
22 libphonenumber-dev,
23 libprocess-cpp-dev,
24 libsystemd-dev,
25 libtelepathy-qt5-dev,
26 pkg-config,
27 qtbase5-dev,
28 qtpim5-dev,
29 telepathy-mission-control-5
30Standards-Version: 3.9.7
31Homepage: https://launchpad.net/messaging-framework
32Vcs-Bzr: https://code.launchpad.net/~phablet-team/messaging-framework/trunk
33
34Package: libmessaging-fw-dev
35Section: libdevel
36Architecture: any
37Multi-Arch: same
38Depends: libmessaging-fw1 (= ${binary:Version}), ${misc:Depends}
39Description: Ubuntu Messaging Framework header files
40 All the development headers and libraries for the Messaging Framework
41
42Package: libmessaging-fw1
43Section: libs
44Architecture: any
45Multi-Arch: same
46Depends: ${misc:Depends}, ${shlibs:Depends}
47Description: Ubuntu Messaging Framework to build IM plugins
48 This layer communicates third party plugins with systems like
49 telepathy allowing changing the system by other without having
50 to modify the plugins
510
=== added file 'debian/control.in'
--- debian/control.in 1970-01-01 00:00:00 +0000
+++ debian/control.in 2016-11-18 23:50:42 +0000
@@ -0,0 +1,49 @@
1Source: messaging-framework
2Section: libs
3Priority: optional
4Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
5Build-Depends: astyle,
6 clang-format-3.5:native,
7 clang:native,
8 cmake,
9 debhelper (>= 9),
10 dos2unix,
11 doxygen,
12 gcovr,
13 google-mock,
14 graphviz,
15 lcov,
16 libboost-filesystem-dev (>= 1.55) | libboost-filesystem1.58-dev,
17 libboost-program-options-dev (>= 1.55) | libboost-program-options1.58-dev,
18 libboost-system-dev (>= 1.55) | libboost-system1.58-dev,
19 libdbus-cpp-dev,
20 libgoogle-glog-dev,
21 libphonenumber-dev,
22 libprocess-cpp-dev,
23 libsystemd-dev,
24 libtelepathy-qt5-dev,
25 pkg-config,
26 qtbase5-dev,
27 qtpim5-dev,
28 telepathy-mission-control-5
29Standards-Version: 3.9.7
30Homepage: https://launchpad.net/messaging-framework
31Vcs-Bzr: https://code.launchpad.net/~phablet-team/messaging-framework/trunk
32
33Package: libmessaging-framework-dev
34Section: libdevel
35Architecture: any
36Multi-Arch: same
37Depends: libmessaging-framework1-@SO_VERSION@ (= ${binary:Version}), ${misc:Depends}
38Description: Ubuntu Messaging Framework header files
39 All the development headers and libraries for the Messaging Framework
40
41Package: libmessaging-framework1-@SO_VERSION@
42Section: libs
43Architecture: any
44Multi-Arch: same
45Depends: ${misc:Depends}, ${shlibs:Depends}
46Description: Ubuntu Messaging Framework to build IM plugins
47 This layer communicates third party plugins with systems like
48 telepathy allowing changing the system by other without having
49 to modify the plugins
050
=== added file 'debian/libmessaging-framework-dev.install'
--- debian/libmessaging-framework-dev.install 1970-01-01 00:00:00 +0000
+++ debian/libmessaging-framework-dev.install 2016-11-18 23:50:42 +0000
@@ -0,0 +1,3 @@
1usr/include/messaging-framework*
2usr/lib/*/libmessaging-framework*.so
3usr/lib/*/pkgconfig/messaging-framework*.pc
04
=== added file 'debian/libmessaging-framework1.install.in'
--- debian/libmessaging-framework1.install.in 1970-01-01 00:00:00 +0000
+++ debian/libmessaging-framework1.install.in 2016-11-18 23:50:42 +0000
@@ -0,0 +1,2 @@
1usr/lib/*/libmessaging-framework*.so.*
2usr/lib/*/messaging-framework-runner
03
=== added file 'debian/libmessaging-framework1.shlibs.in'
--- debian/libmessaging-framework1.shlibs.in 1970-01-01 00:00:00 +0000
+++ debian/libmessaging-framework1.shlibs.in 2016-11-18 23:50:42 +0000
@@ -0,0 +1,1 @@
1libmessaging-framework1 @SO_VERSION@ libmessaging-framework1-@SO_VERSION@ (>= 0.1)
02
=== removed file 'debian/libmessaging-fw-dev.install'
--- debian/libmessaging-fw-dev.install 2016-11-03 16:27:45 +0000
+++ debian/libmessaging-fw-dev.install 1970-01-01 00:00:00 +0000
@@ -1,3 +0,0 @@
1usr/include/messaging-fw/*
2usr/lib/*/libmessaging-fw*.so
3usr/lib/*/pkgconfig/messaging-fw.pc
40
=== removed file 'debian/libmessaging-fw1.install'
--- debian/libmessaging-fw1.install 2016-11-03 16:27:45 +0000
+++ debian/libmessaging-fw1.install 1970-01-01 00:00:00 +0000
@@ -1,2 +0,0 @@
1usr/lib/*/libmessaging-fw*.so.*
2usr/lib/*/messaging-fw-runner
30
=== modified file 'debian/rules'
--- debian/rules 2016-07-04 15:53:42 +0000
+++ debian/rules 2016-11-18 23:50:42 +0000
@@ -6,7 +6,8 @@
6include /usr/share/dpkg/default.mk6include /usr/share/dpkg/default.mk
77
8%:8%:
9 dh $@ --fail-missing9 dh $@ --parallel --fail-missing
1010
11override_dh_shlibdeps:11override_dh_auto_clean:
12 dh_shlibdeps --dpkg-shlibdeps-params=--ignore-missing-info12 /bin/sh $(CURDIR)/debian/bileto_pre_release_hook
13 dh_auto_clean
1314
=== modified file 'include/CMakeLists.txt'
--- include/CMakeLists.txt 2016-03-30 19:19:19 +0000
+++ include/CMakeLists.txt 2016-11-18 23:50:42 +0000
@@ -4,5 +4,5 @@
44
5install(5install(
6 DIRECTORY messaging6 DIRECTORY messaging
7 DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/messaging-fw7 DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/messaging-framework${API_VERSION}
8)8)
99
=== modified file 'src/CMakeLists.txt'
--- src/CMakeLists.txt 2016-11-03 16:27:45 +0000
+++ src/CMakeLists.txt 2016-11-18 23:50:42 +0000
@@ -57,24 +57,25 @@
57 messaging/runner.cpp57 messaging/runner.cpp
58)58)
5959
60# The general messaging-fw shared library.60# The general messaging-framework shared library.
61add_library(61add_library(
62 messaging-fw SHARED62 messaging-framework SHARED
6363
64 ${MESSAGING_FW_MOCS}64 ${MESSAGING_FW_MOCS}
65 ${MESSAGING_FW_SRCS}65 ${MESSAGING_FW_SRCS}
66)66)
6767
68set_target_properties(68set_target_properties(
69 messaging-fw69 messaging-framework
7070
71 PROPERTIES71 PROPERTIES
72 VERSION ${SO_VERSION_MAJOR}.${SO_VERSION_MINOR}.${SO_VERSION_PATCH}72 OUTPUT_NAME "messaging-framework${API_VERSION}"
73 SOVERSION ${SO_VERSION_MAJOR}73 VERSION ${LIB_VERSION}
74 SOVERSION ${SO_VERSION}
74)75)
7576
76target_link_libraries(77target_link_libraries(
77 messaging-fw78 messaging-framework
7879
79 ${Boost_LIBRARIES}80 ${Boost_LIBRARIES}
80 ${CMAKE_THREAD_LIBS_INIT}81 ${CMAKE_THREAD_LIBS_INIT}
@@ -93,15 +94,15 @@
93 dl)94 dl)
9495
95install(96install(
96 TARGETS messaging-fw97 TARGETS messaging-framework
97 LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})98 LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
9899
99# messaging-fw-runner is the standalone executable for executing100# messaging-framework-runner is the standalone executable for executing
100# a given messaging::Connector.101# a given messaging::Connector.
101add_executable(messaging-fw-runner messaging/runner_main.cpp)102add_executable(messaging-framework-runner messaging/runner_main.cpp)
102# We keep the Runner::main symbol evolvable by putting it into the main so.103# We keep the Runner::main symbol evolvable by putting it into the main so.
103target_link_libraries(messaging-fw-runner messaging-fw ${TP_QT5_LDFLAGS})104target_link_libraries(messaging-framework-runner messaging-framework ${TP_QT5_LDFLAGS})
104# We install the runner to the libdir as it is not meant to be run by a user.105# We install the runner to the libdir as it is not meant to be run by a user.
105install(106install(
106 TARGETS messaging-fw-runner107 TARGETS messaging-framework-runner
107 RUNTIME DESTINATION ${CMAKE_INSTALL_LIBDIR})108 RUNTIME DESTINATION ${CMAKE_INSTALL_LIBDIR})
108109
=== modified file 'tests/CMakeLists.txt'
--- tests/CMakeLists.txt 2016-06-07 18:15:24 +0000
+++ tests/CMakeLists.txt 2016-11-18 23:50:42 +0000
@@ -44,6 +44,6 @@
44file(GLOB_RECURSE TEST_H_FILES *.h)44file(GLOB_RECURSE TEST_H_FILES *.h)
45add_custom_target(test_dot_h_files ALL SOURCES ${TEST_H_FILES})45add_custom_target(test_dot_h_files ALL SOURCES ${TEST_H_FILES})
4646
47target_link_libraries(testing-mocks messaging-fw gmock gmock_main)47target_link_libraries(testing-mocks messaging-framework gmock gmock_main)
4848
49add_subdirectory(unit)49add_subdirectory(unit)
5050
=== modified file 'tests/unit/messaging/CMakeLists.txt'
--- tests/unit/messaging/CMakeLists.txt 2016-08-16 16:31:31 +0000
+++ tests/unit/messaging/CMakeLists.txt 2016-11-18 23:50:42 +0000
@@ -46,7 +46,7 @@
4646
47 testing-framework47 testing-framework
48 testing-mocks48 testing-mocks
49 messaging-fw 49 messaging-framework
5050
51 gmock 51 gmock
52 gmock_main 52 gmock_main
5353
=== added directory 'tools'
=== added file 'tools/CMakeLists.txt'
--- tools/CMakeLists.txt 1970-01-01 00:00:00 +0000
+++ tools/CMakeLists.txt 2016-11-18 23:50:42 +0000
@@ -0,0 +1,4 @@
1# make the .sh files visible on qtcreator
2file(GLOB_RECURSE SH_FILES *.sh)
3add_custom_target(dot_sh_files ALL SOURCES ${SH_FILES})
4
05
=== added file 'tools/get_soversion.sh'
--- tools/get_soversion.sh 1970-01-01 00:00:00 +0000
+++ tools/get_soversion.sh 2016-11-18 23:50:42 +0000
@@ -0,0 +1,44 @@
1#!/bin/sh
2# Copyright (C) 2016 Canonical Ltd
3#
4# This program is free software: you can redistribute it and/or modify
5# it under the terms of the GNU Lesser General Public License version 3 as
6# published by the Free Software Foundation.
7#
8# This program is distributed in the hope that it will be useful,
9# but WITHOUT ANY WARRANTY; without even the implied warranty of
10# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11# GNU Lesser General Public License for more details.
12#
13# You should have received a copy of the GNU Lesser General Public License
14# along with this program. If not, see <http://www.gnu.org/licenses/>.
15#
16# Authors: James Henstridge <james.henstridge@canonical.com>
17
18set -eu
19
20[ -n "${SERIES:-}" ] || SERIES=$(lsb_release -c -s)
21
22case "$SERIES" in
23 trusty)
24 # TODO: the CI systems are running Trusty, so don't bomb out
25 # when they try to build the source package.
26 echo 0
27 ;;
28 vivid)
29 # Old C++11 ABI, Boost 1.55
30 echo 0
31 ;;
32 xenial)
33 # New C++11 ABI, Boost 1.58
34 echo 1
35 ;;
36 yakkety|zesty)
37 # New C++11 ABI, Boost 1.61
38 echo 2
39 ;;
40 *)
41 echo "Unknown distro series $SERIES" >&2
42 exit 1
43 ;;
44esac

Subscribers

People subscribed via source and target branches

to all changes: