Merge lp:~thomas-voss/platform-api/add-package-config into lp:platform-api

Proposed by Thomas Voß
Status: Merged
Approved by: Ricardo Salveti
Approved revision: 74
Merged at revision: 84
Proposed branch: lp:~thomas-voss/platform-api/add-package-config
Merge into: lp:platform-api
Prerequisite: lp:~thomas-voss/platform-api/fix-cmake-setup
Diff against target: 187 lines (+39/-18)
14 files modified
CMakeLists.txt (+2/-1)
data/CMakeLists.txt (+8/-0)
data/ubuntu-platform-api.pc.in (+9/-0)
debian/libplatform-api-headers.install (+1/-1)
debian/libplatform-api-headers.links (+1/-0)
debian/libplatform-api1-dev.install (+1/-0)
debian/rules (+0/-10)
include/ubuntu/CMakeLists.txt (+11/-0)
include/ubuntu/application/CMakeLists.txt (+1/-1)
include/ubuntu/application/sensors/CMakeLists.txt (+1/-1)
include/ubuntu/application/sensors/event/CMakeLists.txt (+1/-1)
include/ubuntu/application/ui/CMakeLists.txt (+1/-1)
include/ubuntu/application/ui/input/CMakeLists.txt (+1/-1)
include/ubuntu/ui/CMakeLists.txt (+1/-1)
To merge this branch: bzr merge lp:~thomas-voss/platform-api/add-package-config
Reviewer Review Type Date Requested Status
Didier Roche-Tolomelli Approve
PS Jenkins bot continuous-integration Approve
Ricardo Salveti (community) Approve
Thomas Voß (community) Approve
Ricardo Mendoza (community) Approve
Review via email: mp+168642@code.launchpad.net

Commit message

 * Add a pkgconfig file for the platform API
 * Adjust installation of header files to account for version

Description of the change

 * Add a pkgconfig file for the platform API
 * Adjust installation of header files to account for version

To post a comment you must log in.
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Approve (continuous-integration)
Revision history for this message
Didier Roche-Tolomelli (didrocks) wrote :

the -dev package is multi-arched: same
So, the pkgconfig file should be installed in: /usr/lib/(triplet)/pkgconfig rather than /usr/lib/pkgconfig.

Otherwise good, work, the header having major version doesn't make my eyes bleeding :)

review: Needs Fixing
69. By Thomas Voß

 * Adjust pkgconfig installation to account for architecture triplet.

Revision history for this message
Thomas Voß (thomas-voss) wrote :

> the -dev package is multi-arched: same
> So, the pkgconfig file should be installed in: /usr/lib/(triplet)/pkgconfig
> rather than /usr/lib/pkgconfig.
>

Fixed.

> Otherwise good, work, the header having major version doesn't make my eyes
> bleeding :)

Thx :)

Revision history for this message
Didier Roche-Tolomelli (didrocks) wrote :

Perfect! approved for me :)

review: Approve
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Approve (continuous-integration)
70. By Thomas Voß

[ Gerry Boland ]
* Add mir suport.
[ Robert Carr ]
* Add mir suport.
[ Ubuntu daily release ]
* Automatic snapshot from revision 69
[ Ricardo Mendoza ]
* Allow remote App Manager to take care of signalling processes.
[ Ubuntu daily release ]
* Automatic snapshot from revision 67

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Approve (continuous-integration)
Revision history for this message
Ricardo Mendoza (ricmm) wrote :

Builds, runs, work fine on flipped container with Mir and hybris.

review: Approve
Revision history for this message
Ricardo Salveti (rsalveti) wrote :

76 +Architecture: any
85 +Architecture: any

As we don't have hybris for powerpc I'm not sure if moving to any is the right choice.

138 - DESTINATION include/ubuntu/application/sensors/event
139 + DESTINATION include/ubuntu-${UBUNTU_PLATFORM_API_VERSION_MAJOR}/application/sensors/event

150 - DESTINATION include/ubuntu/application/ui
151 + DESTINATION include/ubuntu-${UBUNTU_PLATFORM_API_VERSION_MAJOR}/application/ui

164 - DESTINATION include/ubuntu/application/ui/input
165 + DESTINATION include/ubuntu-${UBUNTU_PLATFORM_API_VERSION_MAJOR}/application/ui/input

175 - DESTINATION include/ubuntu/ui
176 + DESTINATION include/ubuntu-${UBUNTU_PLATFORM_API_VERSION_MAJOR}/ui

Before moving this forward, please have MRs for all the consumers as well (or create a temporarily link while you get the rest fixed).

Otherwise this will create a ton of FTBFS.

review: Needs Fixing
Revision history for this message
Thomas Voß (thomas-voss) wrote :

> 76 +Architecture: any
> 85 +Architecture: any
>
> As we don't have hybris for powerpc I'm not sure if moving to any is the right
> choice.

I will cross-check with didrocks.

>
> 138 - DESTINATION include/ubuntu/application/sensors/event
> 139 + DESTINATION
> include/ubuntu-${UBUNTU_PLATFORM_API_VERSION_MAJOR}/application/sensors/event
>
> 150 - DESTINATION include/ubuntu/application/ui
> 151 + DESTINATION
> include/ubuntu-${UBUNTU_PLATFORM_API_VERSION_MAJOR}/application/ui
>
> 164 - DESTINATION include/ubuntu/application/ui/input
> 165 + DESTINATION
> include/ubuntu-${UBUNTU_PLATFORM_API_VERSION_MAJOR}/application/ui/input
>
> 175 - DESTINATION include/ubuntu/ui
> 176 + DESTINATION include/ubuntu-${UBUNTU_PLATFORM_API_VERSION_MAJOR}/ui
>
> Before moving this forward, please have MRs for all the consumers as well (or
> create a temporarily link while you get the rest fixed).
>

I would rather prefer not releasing this version as there are likely more packaging changes coming down the pipe. I'm happy to provide patches for the consumers, but I would propose to do that in one go after we are happy with the packaging of the platform API.

> Otherwise this will create a ton of FTBFS.

Agreed :)

review: Approve
Revision history for this message
Ricardo Salveti (rsalveti) wrote :

You could change and have a temporarily link to still be compatible with current costumers, otherwise having MRs for everyone at the same time might be just too painful.

71. By Thomas Voß

 * Add unversioned header directory as link to keep consumers working for now.

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
72. By Thomas Voß

[ Ricardo Mendoza ]
* Add guards for NULL sensors.
[ Ubuntu daily release ]
* Automatic snapshot from revision 79
[ Didier Roche ]
* minor cosmetic cleanups as we detect the archs we can't build for in
  daily release now.
[ Ubuntu daily release ]
* Automatic snapshot from revision 77
[ Ricardo Mendoza ]
* GCC 4.8 introduces a change for ARM AAPCS calling conventions, this
  breaks ABI for us because the Android library is built with GCC 4.7.
  Revert to building platform-api with GCC 4.7 until we can update the
  Android build. .
[ Ubuntu daily release ]
* Automatic snapshot from revision 75
[ Robert Carr ]
* Add missing mir stub (ua_ui_session_properties_set_remote_pid).
[ Ubuntu daily release ]
* Automatic snapshot from revision 73
[ Ubuntu daily release ]
* debian/*symbols: auto-update new symbols to released version
[ Didier Roche ]
* Add a symbol files with unmangled C++ symbols to track ABI.
[ Dmitrijs Ledkovs ]
* Add a symbol files with unmangled C++ symbols to track ABI.
[ Ubuntu daily release ]
* Automatic snapshot from revision 71

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Approve (continuous-integration)
Revision history for this message
Ricardo Salveti (rsalveti) wrote :

71 + dh_link include/ubuntu-${UBUNTU_PLATFORM_API_VERSION_MAJOR} include/ubuntu

debian/rules doesn't know about UBUNTU_PLATFORM_API_VERSION_MAJOR.

Also, while you're on it, mind cleaning debian/rules to remove the -DUSE_GLES part?

Follows a suggestion for a fix:
"""
=== added file 'debian/libplatform-api-headers.links'
--- debian/libplatform-api-headers.links 1970-01-01 00:00:00 +0000
+++ debian/libplatform-api-headers.links 2013-07-04 04:43:51 +0000
@@ -0,0 +1,1 @@
+usr/include/ubuntu-1 usr/include/ubuntu

=== modified file 'debian/rules'
--- debian/rules 2013-07-03 07:23:59 +0000
+++ debian/rules 2013-07-04 04:44:23 +0000
@@ -4,19 +4,8 @@

 export CXX=g++-4.7

-gles2_architectures := armhf
-ifeq ($(DEB_HOST_ARCH),$(findstring $(DEB_HOST_ARCH), $(gles2_architectures)))
- use_gles=1
-else
- use_gles=0
-endif
-
 %:
  dh $@

-override_dh_auto_configure:
- dh_auto_configure -- -DUSE_GLES=$(use_gles)
-
 overrid_dh_install:
  dh_install --fail-missing
- dh_link include/ubuntu-${UBUNTU_PLATFORM_API_VERSION_MAJOR} include/ubuntu

"""

You don't need to worry much about the hardcoded major version as this is just a temporary fix while we rebuild/fix the other packages.

review: Needs Fixing
73. By Thomas Voß

 * Remove obsolete USE_GLES mechanisms.
 * Add a links file to create temporary symbolic link for the header directory.

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Approve (continuous-integration)
74. By Thomas Voß

 * Install status and unit headers.

Revision history for this message
Ricardo Salveti (rsalveti) wrote :

Good, built qtubuntu, worked fine.

review: Approve
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Approve (continuous-integration)
Revision history for this message
Didier Roche-Tolomelli (didrocks) wrote :

looks good to me as well, I can see a small simplification in debian/rules still, but will do it later on :)

review: Approve

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 2013-07-01 14:04:18 +0000
3+++ CMakeLists.txt 2013-07-04 06:26:26 +0000
4@@ -1,6 +1,6 @@
5 cmake_minimum_required(VERSION 2.6)
6
7-project(ubuntu_platform_api)
8+project(ubuntu-platform-api)
9
10 set(UBUNTU_PLATFORM_API_VERSION_MAJOR 1)
11 set(UBUNTU_PLATFORM_API_VERSION_MINOR 0)
12@@ -87,6 +87,7 @@
13 include_directories(include)
14 include_directories(android/include)
15
16+add_subdirectory(data/)
17 add_subdirectory(doc/)
18 add_subdirectory(include/)
19 add_subdirectory(src/)
20
21=== added directory 'data'
22=== added file 'data/CMakeLists.txt'
23--- data/CMakeLists.txt 1970-01-01 00:00:00 +0000
24+++ data/CMakeLists.txt 2013-07-04 06:26:26 +0000
25@@ -0,0 +1,8 @@
26+configure_file(
27+ ubuntu-platform-api.pc.in ubuntu-platform-api.pc @ONLY
28+)
29+
30+install(
31+ FILES ${CMAKE_CURRENT_BINARY_DIR}/ubuntu-platform-api.pc
32+ DESTINATION lib/${CMAKE_LIBRARY_ARCHITECTURE}/pkgconfig
33+)
34\ No newline at end of file
35
36=== added file 'data/ubuntu-platform-api.pc.in'
37--- data/ubuntu-platform-api.pc.in 1970-01-01 00:00:00 +0000
38+++ data/ubuntu-platform-api.pc.in 2013-07-04 06:26:26 +0000
39@@ -0,0 +1,9 @@
40+prefix=@CMAKE_INSTALL_PREFIX@
41+exec_prefix=${prefix}
42+libdir=${exec_prefix}/lib
43+includedir=${exec_prefix}/include
44+
45+Name: @CMAKE_PROJECT_NAME@
46+Description: Ubuntu's platform abstraction layer.
47+Version: @UBUNTU_PLATFORM_API_VERSION_MAJOR@.@UBUNTU_PLATFORM_API_VERSION_MINOR@.@UBUNTU_PLATFORM_API_VERSION_PATCH@
48+Cflags: -I${includedir}/ubuntu-@UBUNTU_PLATFORM_API_VERSION_MAJOR@
49
50=== modified file 'debian/libplatform-api-headers.install'
51--- debian/libplatform-api-headers.install 2013-03-20 12:49:06 +0000
52+++ debian/libplatform-api-headers.install 2013-07-04 06:26:26 +0000
53@@ -1,1 +1,1 @@
54-usr/include
55+usr/include/
56
57=== added file 'debian/libplatform-api-headers.links'
58--- debian/libplatform-api-headers.links 1970-01-01 00:00:00 +0000
59+++ debian/libplatform-api-headers.links 2013-07-04 06:26:26 +0000
60@@ -0,0 +1,1 @@
61+usr/include/ubuntu-1 usr/include/ubuntu
62\ No newline at end of file
63
64=== modified file 'debian/libplatform-api1-dev.install'
65--- debian/libplatform-api1-dev.install 2013-03-20 12:49:06 +0000
66+++ debian/libplatform-api1-dev.install 2013-07-04 06:26:26 +0000
67@@ -1,1 +1,2 @@
68 usr/lib/*/libubuntu_application_api.so
69+usr/lib/*/pkgconfig/ubuntu-platform-api.pc
70
71=== modified file 'debian/rules'
72--- debian/rules 2013-06-26 19:21:02 +0000
73+++ debian/rules 2013-07-04 06:26:26 +0000
74@@ -4,18 +4,8 @@
75
76 export CXX=g++-4.7
77
78-gles2_architectures := armhf
79-ifeq ($(DEB_HOST_ARCH),$(findstring $(DEB_HOST_ARCH), $(gles2_architectures)))
80- use_gles=1
81-else
82- use_gles=0
83-endif
84-
85 %:
86 dh $@
87
88-override_dh_auto_configure:
89- dh_auto_configure -- -DUSE_GLES=$(use_gles)
90-
91 overrid_dh_install:
92 dh_install --fail-missing
93
94=== modified file 'include/ubuntu/CMakeLists.txt'
95--- include/ubuntu/CMakeLists.txt 2013-06-11 09:40:30 +0000
96+++ include/ubuntu/CMakeLists.txt 2013-07-04 06:26:26 +0000
97@@ -1,2 +1,13 @@
98+set(
99+ UBUNTU_HEADERS
100+ status.h
101+ unit.h
102+)
103+
104+install(
105+ FILES ${UBUNTU_HEADERS}
106+ DESTINATION include/ubuntu-${UBUNTU_PLATFORM_API_VERSION_MAJOR}
107+)
108+
109 add_subdirectory(application)
110 add_subdirectory(ui)
111\ No newline at end of file
112
113=== modified file 'include/ubuntu/application/CMakeLists.txt'
114--- include/ubuntu/application/CMakeLists.txt 2013-06-11 09:40:30 +0000
115+++ include/ubuntu/application/CMakeLists.txt 2013-07-04 06:26:26 +0000
116@@ -12,7 +12,7 @@
117
118 install(
119 FILES ${UBUNTU_APPLICATION_HEADERS}
120- DESTINATION include/ubuntu/application
121+ DESTINATION include/ubuntu-${UBUNTU_PLATFORM_API_VERSION_MAJOR}/application
122 )
123
124 add_subdirectory(sensors)
125
126=== modified file 'include/ubuntu/application/sensors/CMakeLists.txt'
127--- include/ubuntu/application/sensors/CMakeLists.txt 2013-06-11 09:40:30 +0000
128+++ include/ubuntu/application/sensors/CMakeLists.txt 2013-07-04 06:26:26 +0000
129@@ -8,7 +8,7 @@
130
131 install(
132 FILES ${UBUNTU_APPLICATION_SENSORS_HEADERS}
133- DESTINATION include/ubuntu/application/sensors
134+ DESTINATION include/ubuntu-${UBUNTU_PLATFORM_API_VERSION_MAJOR}/application/sensors
135 )
136
137 add_subdirectory(event)
138\ No newline at end of file
139
140=== modified file 'include/ubuntu/application/sensors/event/CMakeLists.txt'
141--- include/ubuntu/application/sensors/event/CMakeLists.txt 2013-06-11 09:40:30 +0000
142+++ include/ubuntu/application/sensors/event/CMakeLists.txt 2013-07-04 06:26:26 +0000
143@@ -7,5 +7,5 @@
144
145 install(
146 FILES ${UBUNTU_APPLICATION_SENSORS_EVENT_HEADERS}
147- DESTINATION include/ubuntu/application/sensors/event
148+ DESTINATION include/ubuntu-${UBUNTU_PLATFORM_API_VERSION_MAJOR}/application/sensors/event
149 )
150\ No newline at end of file
151
152=== modified file 'include/ubuntu/application/ui/CMakeLists.txt'
153--- include/ubuntu/application/ui/CMakeLists.txt 2013-06-11 09:40:30 +0000
154+++ include/ubuntu/application/ui/CMakeLists.txt 2013-07-04 06:26:26 +0000
155@@ -19,7 +19,7 @@
156
157 install(
158 FILES ${UBUNTU_APPLICATION_UI_HEADERS}
159- DESTINATION include/ubuntu/application/ui
160+ DESTINATION include/ubuntu-${UBUNTU_PLATFORM_API_VERSION_MAJOR}/application/ui
161 )
162
163 add_subdirectory(input)
164\ No newline at end of file
165
166=== modified file 'include/ubuntu/application/ui/input/CMakeLists.txt'
167--- include/ubuntu/application/ui/input/CMakeLists.txt 2013-06-11 09:40:30 +0000
168+++ include/ubuntu/application/ui/input/CMakeLists.txt 2013-07-04 06:26:26 +0000
169@@ -5,5 +5,5 @@
170
171 install(
172 FILES ${UBUNTU_APPLICATION_UI_INPUT_HEADERS}
173- DESTINATION include/ubuntu/application/ui/input
174+ DESTINATION include/ubuntu-${UBUNTU_PLATFORM_API_VERSION_MAJOR}/application/ui/input
175 )
176\ No newline at end of file
177
178=== modified file 'include/ubuntu/ui/CMakeLists.txt'
179--- include/ubuntu/ui/CMakeLists.txt 2013-06-11 09:40:30 +0000
180+++ include/ubuntu/ui/CMakeLists.txt 2013-07-04 06:26:26 +0000
181@@ -1,4 +1,4 @@
182 install(
183 FILES ubuntu_ui_session_service.h
184- DESTINATION include/ubuntu/ui
185+ DESTINATION include/ubuntu-${UBUNTU_PLATFORM_API_VERSION_MAJOR}/ui
186 )
187\ No newline at end of file

Subscribers

People subscribed via source and target branches