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
1=== modified file 'CMakeLists.txt'
2--- CMakeLists.txt 2016-08-17 16:44:29 +0000
3+++ CMakeLists.txt 2016-11-18 23:50:42 +0000
4@@ -1,5 +1,5 @@
5-project(messaging-framework C CXX)
6-cmake_minimum_required(VERSION 2.8.10)
7+cmake_minimum_required(VERSION 3.0.2)
8+project(messaging-framework VERSION "0.1" LANGUAGES C CXX)
9 set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
10
11 # Select a pedantic set of compiler flags and enable C++11 support.
12@@ -31,10 +31,18 @@
13 set(CMAKE_INCLUDE_CURRENT_DIR ON)
14 set(CMAKE_AUTOMOC ON)
15
16-set(SO_VERSION_MAJOR "1")
17-set(SO_VERSION_MINOR "1")
18-set(SO_VERSION_PATCH "0")
19-set(SO_VERSION "${SO_VERSION_MAJOR}.${SO_VERSION_MINOR}.${SO_VERSION_PATCH}")
20+set(API_VERSION "1")
21+
22+execute_process(
23+ COMMAND /bin/sh ${CMAKE_CURRENT_SOURCE_DIR}/tools/get_soversion.sh
24+ OUTPUT_VARIABLE SO_VERSION
25+ OUTPUT_STRIP_TRAILING_WHITESPACE
26+ RESULT_VARIABLE result)
27+if(NOT result EQUAL 0)
28+ message(FATAL_ERROR "Error running get-soversion.sh script")
29+endif()
30+
31+set(LIB_VERSION "${SO_VERSION}.${PROJECT_VERSION}")
32
33 option(CLICK_MODE "Installs to a contained location" on)
34
35@@ -82,6 +90,7 @@
36 )
37
38 add_subdirectory(data)
39+add_subdirectory(tools)
40 add_subdirectory(doc)
41 add_subdirectory(include)
42 add_subdirectory(src)
43
44=== added file 'HACKING.md'
45--- HACKING.md 1970-01-01 00:00:00 +0000
46+++ HACKING.md 2016-11-18 23:50:42 +0000
47@@ -0,0 +1,77 @@
48+# Messaging Framework
49+
50+### Checking dependencies
51+
52+Check all the dependencies needed for the project to be built:
53+```sh
54+$ dpkg-checkbuilddeps
55+```
56+(this will return the list of dependencies). Install the returned dependencies:
57+```sh
58+$ apt-get install <list_of_dependencies>
59+```
60+
61+### Building the code
62+
63+You can check the needed packages by using:
64+```sh
65+$ dpkg-checkdependencies
66+```
67+
68+and install the list of needed dependencies returned. Once done, execute:
69+```sh
70+$ mkdir build && cd build
71+$ cmake -DCMAKE_INSTALL_PREFIX=/usr ../..
72+$ make -j<n>
73+```
74+where <n> is the number of cores available to use for building.
75+You can use ccache also if expected to build several times (apt-get install ccache)
76+
77+
78+### Running the tests
79+
80+Once built, into build folder, execute:
81+```sh
82+$ ctest -j<n>
83+```
84+where <n> is the number of cores available to use for executing the tests in parallel
85+
86+
87+### Building the package
88+
89+NOTE: Before building the package it is needed run a hook which updates debian folder. You have to execute
90+that hook from project folder:
91+```sh
92+$ ./debian/bileto_pre_release_hook
93+```
94+
95+If all goes well, no response should be returned.
96+
97+You can build the deb package in current arch by executing:
98+```sh
99+$ dh_clean
100+$ dpkg-buildpackage -b
101+```
102+
103+in case you want to skip signage and dependencies to build a test package, you can use some additional params:
104+```sh
105+$ dpkg-buildpackage -nc -us -uc -d -b
106+```
107+
108+besides, if you are in a lxd container and want to build a package for that container architecture:
109+```sh
110+$ dpkg-buildpackage -nc -us -uc -d -b --target-arch <arch> -a <arch> -j<n>
111+```
112+
113+where <arch> is the architecture of the environment and <n> the number of cores to use
114+
115+Depending on the release the soname of the resultant library will be on or another. You can query file:
116+```sh
117+tools/get_soversion.sh
118+```
119+
120+the soversion that will be used for the library. The resultant .deb package will be like:
121+```sh
122+libmessaging-framework<apiversion>-<soversion>_XXX_<arch>.deb
123+```
124+
125
126=== removed file 'README.md'
127--- README.md 2016-03-30 19:19:19 +0000
128+++ README.md 1970-01-01 00:00:00 +0000
129@@ -1,15 +0,0 @@
130-messaging-framework
131-===================
132-
133-Check all the dependencies needed for the project to be built:
134-`dpkg-checkbuilddeps`
135-(this will return the list of dependencies)
136-
137-`apt-get install <list_of_dependencies>`
138-
139-
140-Build the project
141------------------
142-`build.sh [clean]`
143-
144-
145
146=== modified file 'data/CMakeLists.txt'
147--- data/CMakeLists.txt 2016-03-30 19:19:19 +0000
148+++ data/CMakeLists.txt 2016-11-18 23:50:42 +0000
149@@ -15,7 +15,7 @@
150
151
152 ###########################################
153-# Messaging-fw data and configuration files
154+# messaging-framework data and configuration files
155 ###########################################
156
157 # Compose the pkg-config file needed to find the library using that tool
158@@ -24,9 +24,9 @@
159 set(INCLUDEDIR "${CMAKE_INSTALL_PREFIX}/include") # /usr/include
160
161 configure_file(
162- ${CMAKE_CURRENT_SOURCE_DIR}/messaging-fw.pc.in
163- ${CMAKE_CURRENT_BINARY_DIR}/messaging-fw.pc
164+ ${CMAKE_CURRENT_SOURCE_DIR}/messaging-framework.pc.in
165+ ${CMAKE_CURRENT_BINARY_DIR}/messaging-framework${API_VERSION}.pc
166 @ONLY)
167
168-install(FILES ${CMAKE_CURRENT_BINARY_DIR}/messaging-fw.pc
169+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/messaging-framework${API_VERSION}.pc
170 DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
171
172=== added file 'data/messaging-framework.pc.in'
173--- data/messaging-framework.pc.in 1970-01-01 00:00:00 +0000
174+++ data/messaging-framework.pc.in 2016-11-18 23:50:42 +0000
175@@ -0,0 +1,10 @@
176+prefix=@PREFIX@
177+exec_prefix=@PREFIX@
178+libdir=@LIBDIR@
179+includedir=@INCLUDEDIR@
180+
181+Name: messaging-framework
182+Version: @SO_VERSION@
183+Description: Ubuntu Messaging Framework
184+Cflags: -I${includedir}/messaging-framework@API_VERSION@
185+Libs: -L${libdir} -lmessaging-framework@API_VERSION@
186
187=== removed file 'data/messaging-fw.pc.in'
188--- data/messaging-fw.pc.in 2016-03-30 19:19:19 +0000
189+++ data/messaging-fw.pc.in 1970-01-01 00:00:00 +0000
190@@ -1,10 +0,0 @@
191-prefix=@PREFIX@
192-exec_prefix=@PREFIX@
193-libdir=@LIBDIR@
194-includedir=@INCLUDEDIR@
195-
196-Name: Messaging-fw
197-Version: @SO_VERSION@
198-Description: Ubuntu Messaging Framework
199-Cflags: -I${includedir}/messaging-fw
200-Libs: -L${libdir} -lmessaging-fw
201
202=== added file 'debian/bileto_pre_release_hook'
203--- debian/bileto_pre_release_hook 1970-01-01 00:00:00 +0000
204+++ debian/bileto_pre_release_hook 2016-11-18 23:50:42 +0000
205@@ -0,0 +1,22 @@
206+#!/bin/sh
207+
208+set -eu
209+
210+soversion=$(sh ./tools/get_soversion.sh)
211+
212+substitute() {
213+ cat > "$2" <<EOF
214+# This file is autogenerated. DO NOT EDIT!
215+#
216+# Modifications should be made to $1 instead.
217+# This file is regenerated automatically in the clean target.
218+#
219+EOF
220+ sed -e "s/@SO_VERSION@/${soversion}/g" < "$1" >> "$2"
221+}
222+
223+substitute ./debian/control.in ./debian/control
224+substitute ./debian/libmessaging-framework1.install.in ./debian/libmessaging-framework1-${soversion}.install
225+substitute ./debian/libmessaging-framework1.shlibs.in ./debian/libmessaging-framework1-${soversion}.shlibs
226+
227+exit 0
228
229=== added file 'debian/control'
230--- debian/control 1970-01-01 00:00:00 +0000
231+++ debian/control 2016-11-18 23:50:42 +0000
232@@ -0,0 +1,54 @@
233+# This file is autogenerated. DO NOT EDIT!
234+#
235+# Modifications should be made to ./debian/control.in instead.
236+# This file is regenerated automatically in the clean target.
237+#
238+Source: messaging-framework
239+Section: libs
240+Priority: optional
241+Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
242+Build-Depends: astyle,
243+ clang-format-3.5:native,
244+ clang:native,
245+ cmake,
246+ debhelper (>= 9),
247+ dos2unix,
248+ doxygen,
249+ gcovr,
250+ google-mock,
251+ graphviz,
252+ lcov,
253+ libboost-filesystem-dev (>= 1.55) | libboost-filesystem1.58-dev,
254+ libboost-program-options-dev (>= 1.55) | libboost-program-options1.58-dev,
255+ libboost-system-dev (>= 1.55) | libboost-system1.58-dev,
256+ libdbus-cpp-dev,
257+ libgoogle-glog-dev,
258+ libphonenumber-dev,
259+ libprocess-cpp-dev,
260+ libsystemd-dev,
261+ libtelepathy-qt5-dev,
262+ pkg-config,
263+ qtbase5-dev,
264+ qtpim5-dev,
265+ telepathy-mission-control-5
266+Standards-Version: 3.9.7
267+Homepage: https://launchpad.net/messaging-framework
268+Vcs-Bzr: https://code.launchpad.net/~phablet-team/messaging-framework/trunk
269+
270+Package: libmessaging-framework-dev
271+Section: libdevel
272+Architecture: any
273+Multi-Arch: same
274+Depends: libmessaging-framework1-2 (= ${binary:Version}), ${misc:Depends}
275+Description: Ubuntu Messaging Framework header files
276+ All the development headers and libraries for the Messaging Framework
277+
278+Package: libmessaging-framework1-2
279+Section: libs
280+Architecture: any
281+Multi-Arch: same
282+Depends: ${misc:Depends}, ${shlibs:Depends}
283+Description: Ubuntu Messaging Framework to build IM plugins
284+ This layer communicates third party plugins with systems like
285+ telepathy allowing changing the system by other without having
286+ to modify the plugins
287
288=== removed file 'debian/control'
289--- debian/control 2016-11-03 16:27:45 +0000
290+++ debian/control 1970-01-01 00:00:00 +0000
291@@ -1,50 +0,0 @@
292-Source: messaging-framework
293-Section: libs
294-Priority: optional
295-Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
296-Build-Depends: astyle,
297- clang-format-3.5:native,
298- clang:native,
299- cmake,
300- debhelper (>= 9),
301- dos2unix,
302- doxygen,
303- gcovr,
304- google-mock,
305- graphviz,
306- lcov,
307- libboost-dev,
308- libboost-filesystem-dev,
309- libboost-program-options-dev,
310- libboost-system-dev,
311- libdbus-cpp-dev,
312- libgoogle-glog-dev,
313- libphonenumber-dev,
314- libprocess-cpp-dev,
315- libsystemd-dev,
316- libtelepathy-qt5-dev,
317- pkg-config,
318- qtbase5-dev,
319- qtpim5-dev,
320- telepathy-mission-control-5
321-Standards-Version: 3.9.7
322-Homepage: https://launchpad.net/messaging-framework
323-Vcs-Bzr: https://code.launchpad.net/~phablet-team/messaging-framework/trunk
324-
325-Package: libmessaging-fw-dev
326-Section: libdevel
327-Architecture: any
328-Multi-Arch: same
329-Depends: libmessaging-fw1 (= ${binary:Version}), ${misc:Depends}
330-Description: Ubuntu Messaging Framework header files
331- All the development headers and libraries for the Messaging Framework
332-
333-Package: libmessaging-fw1
334-Section: libs
335-Architecture: any
336-Multi-Arch: same
337-Depends: ${misc:Depends}, ${shlibs:Depends}
338-Description: Ubuntu Messaging Framework to build IM plugins
339- This layer communicates third party plugins with systems like
340- telepathy allowing changing the system by other without having
341- to modify the plugins
342
343=== added file 'debian/control.in'
344--- debian/control.in 1970-01-01 00:00:00 +0000
345+++ debian/control.in 2016-11-18 23:50:42 +0000
346@@ -0,0 +1,49 @@
347+Source: messaging-framework
348+Section: libs
349+Priority: optional
350+Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
351+Build-Depends: astyle,
352+ clang-format-3.5:native,
353+ clang:native,
354+ cmake,
355+ debhelper (>= 9),
356+ dos2unix,
357+ doxygen,
358+ gcovr,
359+ google-mock,
360+ graphviz,
361+ lcov,
362+ libboost-filesystem-dev (>= 1.55) | libboost-filesystem1.58-dev,
363+ libboost-program-options-dev (>= 1.55) | libboost-program-options1.58-dev,
364+ libboost-system-dev (>= 1.55) | libboost-system1.58-dev,
365+ libdbus-cpp-dev,
366+ libgoogle-glog-dev,
367+ libphonenumber-dev,
368+ libprocess-cpp-dev,
369+ libsystemd-dev,
370+ libtelepathy-qt5-dev,
371+ pkg-config,
372+ qtbase5-dev,
373+ qtpim5-dev,
374+ telepathy-mission-control-5
375+Standards-Version: 3.9.7
376+Homepage: https://launchpad.net/messaging-framework
377+Vcs-Bzr: https://code.launchpad.net/~phablet-team/messaging-framework/trunk
378+
379+Package: libmessaging-framework-dev
380+Section: libdevel
381+Architecture: any
382+Multi-Arch: same
383+Depends: libmessaging-framework1-@SO_VERSION@ (= ${binary:Version}), ${misc:Depends}
384+Description: Ubuntu Messaging Framework header files
385+ All the development headers and libraries for the Messaging Framework
386+
387+Package: libmessaging-framework1-@SO_VERSION@
388+Section: libs
389+Architecture: any
390+Multi-Arch: same
391+Depends: ${misc:Depends}, ${shlibs:Depends}
392+Description: Ubuntu Messaging Framework to build IM plugins
393+ This layer communicates third party plugins with systems like
394+ telepathy allowing changing the system by other without having
395+ to modify the plugins
396
397=== added file 'debian/libmessaging-framework-dev.install'
398--- debian/libmessaging-framework-dev.install 1970-01-01 00:00:00 +0000
399+++ debian/libmessaging-framework-dev.install 2016-11-18 23:50:42 +0000
400@@ -0,0 +1,3 @@
401+usr/include/messaging-framework*
402+usr/lib/*/libmessaging-framework*.so
403+usr/lib/*/pkgconfig/messaging-framework*.pc
404
405=== added file 'debian/libmessaging-framework1.install.in'
406--- debian/libmessaging-framework1.install.in 1970-01-01 00:00:00 +0000
407+++ debian/libmessaging-framework1.install.in 2016-11-18 23:50:42 +0000
408@@ -0,0 +1,2 @@
409+usr/lib/*/libmessaging-framework*.so.*
410+usr/lib/*/messaging-framework-runner
411
412=== added file 'debian/libmessaging-framework1.shlibs.in'
413--- debian/libmessaging-framework1.shlibs.in 1970-01-01 00:00:00 +0000
414+++ debian/libmessaging-framework1.shlibs.in 2016-11-18 23:50:42 +0000
415@@ -0,0 +1,1 @@
416+libmessaging-framework1 @SO_VERSION@ libmessaging-framework1-@SO_VERSION@ (>= 0.1)
417
418=== removed file 'debian/libmessaging-fw-dev.install'
419--- debian/libmessaging-fw-dev.install 2016-11-03 16:27:45 +0000
420+++ debian/libmessaging-fw-dev.install 1970-01-01 00:00:00 +0000
421@@ -1,3 +0,0 @@
422-usr/include/messaging-fw/*
423-usr/lib/*/libmessaging-fw*.so
424-usr/lib/*/pkgconfig/messaging-fw.pc
425
426=== removed file 'debian/libmessaging-fw1.install'
427--- debian/libmessaging-fw1.install 2016-11-03 16:27:45 +0000
428+++ debian/libmessaging-fw1.install 1970-01-01 00:00:00 +0000
429@@ -1,2 +0,0 @@
430-usr/lib/*/libmessaging-fw*.so.*
431-usr/lib/*/messaging-fw-runner
432
433=== modified file 'debian/rules'
434--- debian/rules 2016-07-04 15:53:42 +0000
435+++ debian/rules 2016-11-18 23:50:42 +0000
436@@ -6,7 +6,8 @@
437 include /usr/share/dpkg/default.mk
438
439 %:
440- dh $@ --fail-missing
441+ dh $@ --parallel --fail-missing
442
443-override_dh_shlibdeps:
444- dh_shlibdeps --dpkg-shlibdeps-params=--ignore-missing-info
445+override_dh_auto_clean:
446+ /bin/sh $(CURDIR)/debian/bileto_pre_release_hook
447+ dh_auto_clean
448
449=== modified file 'include/CMakeLists.txt'
450--- include/CMakeLists.txt 2016-03-30 19:19:19 +0000
451+++ include/CMakeLists.txt 2016-11-18 23:50:42 +0000
452@@ -4,5 +4,5 @@
453
454 install(
455 DIRECTORY messaging
456- DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/messaging-fw
457+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/messaging-framework${API_VERSION}
458 )
459
460=== modified file 'src/CMakeLists.txt'
461--- src/CMakeLists.txt 2016-11-03 16:27:45 +0000
462+++ src/CMakeLists.txt 2016-11-18 23:50:42 +0000
463@@ -57,24 +57,25 @@
464 messaging/runner.cpp
465 )
466
467-# The general messaging-fw shared library.
468+# The general messaging-framework shared library.
469 add_library(
470- messaging-fw SHARED
471+ messaging-framework SHARED
472
473 ${MESSAGING_FW_MOCS}
474 ${MESSAGING_FW_SRCS}
475 )
476
477 set_target_properties(
478- messaging-fw
479+ messaging-framework
480
481 PROPERTIES
482- VERSION ${SO_VERSION_MAJOR}.${SO_VERSION_MINOR}.${SO_VERSION_PATCH}
483- SOVERSION ${SO_VERSION_MAJOR}
484+ OUTPUT_NAME "messaging-framework${API_VERSION}"
485+ VERSION ${LIB_VERSION}
486+ SOVERSION ${SO_VERSION}
487 )
488
489 target_link_libraries(
490- messaging-fw
491+ messaging-framework
492
493 ${Boost_LIBRARIES}
494 ${CMAKE_THREAD_LIBS_INIT}
495@@ -93,15 +94,15 @@
496 dl)
497
498 install(
499- TARGETS messaging-fw
500+ TARGETS messaging-framework
501 LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
502
503-# messaging-fw-runner is the standalone executable for executing
504+# messaging-framework-runner is the standalone executable for executing
505 # a given messaging::Connector.
506-add_executable(messaging-fw-runner messaging/runner_main.cpp)
507+add_executable(messaging-framework-runner messaging/runner_main.cpp)
508 # We keep the Runner::main symbol evolvable by putting it into the main so.
509-target_link_libraries(messaging-fw-runner messaging-fw ${TP_QT5_LDFLAGS})
510+target_link_libraries(messaging-framework-runner messaging-framework ${TP_QT5_LDFLAGS})
511 # We install the runner to the libdir as it is not meant to be run by a user.
512 install(
513- TARGETS messaging-fw-runner
514+ TARGETS messaging-framework-runner
515 RUNTIME DESTINATION ${CMAKE_INSTALL_LIBDIR})
516
517=== modified file 'tests/CMakeLists.txt'
518--- tests/CMakeLists.txt 2016-06-07 18:15:24 +0000
519+++ tests/CMakeLists.txt 2016-11-18 23:50:42 +0000
520@@ -44,6 +44,6 @@
521 file(GLOB_RECURSE TEST_H_FILES *.h)
522 add_custom_target(test_dot_h_files ALL SOURCES ${TEST_H_FILES})
523
524-target_link_libraries(testing-mocks messaging-fw gmock gmock_main)
525+target_link_libraries(testing-mocks messaging-framework gmock gmock_main)
526
527 add_subdirectory(unit)
528
529=== modified file 'tests/unit/messaging/CMakeLists.txt'
530--- tests/unit/messaging/CMakeLists.txt 2016-08-16 16:31:31 +0000
531+++ tests/unit/messaging/CMakeLists.txt 2016-11-18 23:50:42 +0000
532@@ -46,7 +46,7 @@
533
534 testing-framework
535 testing-mocks
536- messaging-fw
537+ messaging-framework
538
539 gmock
540 gmock_main
541
542=== added directory 'tools'
543=== added file 'tools/CMakeLists.txt'
544--- tools/CMakeLists.txt 1970-01-01 00:00:00 +0000
545+++ tools/CMakeLists.txt 2016-11-18 23:50:42 +0000
546@@ -0,0 +1,4 @@
547+# make the .sh files visible on qtcreator
548+file(GLOB_RECURSE SH_FILES *.sh)
549+add_custom_target(dot_sh_files ALL SOURCES ${SH_FILES})
550+
551
552=== added file 'tools/get_soversion.sh'
553--- tools/get_soversion.sh 1970-01-01 00:00:00 +0000
554+++ tools/get_soversion.sh 2016-11-18 23:50:42 +0000
555@@ -0,0 +1,44 @@
556+#!/bin/sh
557+# Copyright (C) 2016 Canonical Ltd
558+#
559+# This program is free software: you can redistribute it and/or modify
560+# it under the terms of the GNU Lesser General Public License version 3 as
561+# published by the Free Software Foundation.
562+#
563+# This program is distributed in the hope that it will be useful,
564+# but WITHOUT ANY WARRANTY; without even the implied warranty of
565+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
566+# GNU Lesser General Public License for more details.
567+#
568+# You should have received a copy of the GNU Lesser General Public License
569+# along with this program. If not, see <http://www.gnu.org/licenses/>.
570+#
571+# Authors: James Henstridge <james.henstridge@canonical.com>
572+
573+set -eu
574+
575+[ -n "${SERIES:-}" ] || SERIES=$(lsb_release -c -s)
576+
577+case "$SERIES" in
578+ trusty)
579+ # TODO: the CI systems are running Trusty, so don't bomb out
580+ # when they try to build the source package.
581+ echo 0
582+ ;;
583+ vivid)
584+ # Old C++11 ABI, Boost 1.55
585+ echo 0
586+ ;;
587+ xenial)
588+ # New C++11 ABI, Boost 1.58
589+ echo 1
590+ ;;
591+ yakkety|zesty)
592+ # New C++11 ABI, Boost 1.61
593+ echo 2
594+ ;;
595+ *)
596+ echo "Unknown distro series $SERIES" >&2
597+ exit 1
598+ ;;
599+esac

Subscribers

People subscribed via source and target branches

to all changes: