Merge lp:~thomas-voss/location-service/enable-dual-landings-take-2 into lp:location-service/trunk

Proposed by Thomas Voß
Status: Merged
Approved by: Łukasz Zemczak
Approved revision: 227
Merged at revision: 226
Proposed branch: lp:~thomas-voss/location-service/enable-dual-landings-take-2
Merge into: lp:location-service/trunk
Prerequisite: lp:~thomas-voss/location-service/cherry-pick-fwd
Diff against target: 566 lines (+407/-46)
15 files modified
CMakeLists.txt (+28/-3)
debian/VERSION (+1/-0)
debian/VERSION.vivid (+1/-0)
debian/changelog (+34/-37)
debian/control (+6/-0)
debian/control.in (+123/-0)
debian/gen-debian-files.sh (+111/-0)
debian/get-versions.sh (+68/-0)
debian/libubuntu-location-service-dev.install (+5/-0)
debian/libubuntu-location-service-dev.install.in (+5/-0)
debian/libubuntu-location-service.install.in (+2/-0)
debian/libubuntu-location-service.install.with-gps.in (+3/-0)
debian/libubuntu-location-service2.install (+0/-2)
debian/libubuntu-location-service2.install.with-gps (+0/-3)
debian/rules (+20/-1)
To merge this branch: bzr merge lp:~thomas-voss/location-service/enable-dual-landings-take-2
Reviewer Review Type Date Requested Status
Łukasz Zemczak Approve
PS Jenkins bot continuous-integration Needs Fixing
Ken VanDine Needs Information
Review via email: mp+288746@code.launchpad.net

Commit message

* Enable dual landings according to https://wiki.ubuntu.com/citrain/LandingProcess#Dual-landing_for_stable_and_devel:
  * Both vivid+overlay and xenial packages are built from the same source.
  * To account for differences in major revisions (necessary to handle the g++ 5 ABI break),
    we generate install files on the fly.

Description of the change

* Enable dual landings according to https://wiki.ubuntu.com/citrain/LandingProcess#Dual-landing_for_stable_and_devel:
  * Both vivid+overlay and xenial packages are built from the same source.
  * To account for differences in major revisions (necessary to handle the g++ 5 ABI break),
    we generate install files on the fly.

To post a comment you must log in.
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
223. By Thomas Voß

Add missing files.

224. By Thomas Voß

Remove obsolete install files.
Adjust setup of major.minor.patch triplet in CMakeLists.txt.

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
Ken VanDine (ken-vandine) wrote :

Why both with different major version numbers for vivid and xenial? If the code is the same, I'd rather use the same major version and just make sure the package provides the old version to keep from breaking depends.

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

> Why both with different major version numbers for vivid and xenial? If the
> code is the same, I'd rather use the same major version and just make sure the
> package provides the old version to keep from breaking depends.

We can't keep the same major version due to the ABI break introduced by GCC 5 in Xenial.

225. By Thomas Voß

* Remove explicit option to disable satellite-based positioning
  services.
[ Alberto Mardegan ]
* Set debian source format to "3.0 (native)"
[ Scott Sweeny ]
* Allow providers to register themselves asynchronously (LP: #1415029)
* Account for changes in trust-store w.r.t. assembling the description
  of a trust prompt.
* Fix settings not being applied correctly.

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
Łukasz Zemczak (sil2100) wrote :

Hey! Thanks for submitting this branch, would be nice to dual-land this.

So there's one small thing that's 'Needs Fixing' and two 'Needs Information'.

Needs Fixing:
You would need to include the changelog entry for this landing in the changelog diff here since this file has been touched. Train in such cases won't add the changelog entry based on the commit message in this case. Be sure to leave it as UNRELEASED.

Needs Information:
Small thing: I was wondering, I see we have an explicit -dbg package. Aren't those auto-generated on uploads? Just wondering if in this case we need one explicitly.
The second one is, of course, any chance for ABI compliance checking + some shlibs? ;) I suppose we export some symbols here, would be nice to have the some checks here for dual landing. Not sure how far Michi went with implementing abigail [1] in his ABI checking - I see there are some commits in their staging branch.

[1] https://sourceware.org/libabigail/

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

> Hey! Thanks for submitting this branch, would be nice to dual-land this.
>
> So there's one small thing that's 'Needs Fixing' and two 'Needs Information'.
>
> Needs Fixing:
> You would need to include the changelog entry for this landing in the
> changelog diff here since this file has been touched. Train in such cases
> won't add the changelog entry based on the commit message in this case. Be
> sure to leave it as UNRELEASED.
>

Should be fixed.

> Needs Information:
> Small thing: I was wondering, I see we have an explicit -dbg package. Aren't
> those auto-generated on uploads? Just wondering if in this case we need one
> explicitly.

It's an artifact originating in the times when the train did not offer dbgsym packages for silos.
However, I would rather prefer to keep the packaging changes introduced in this branch limited and follow up with an MP that removes the package.

> The second one is, of course, any chance for ABI compliance checking + some
> shlibs? ;) I suppose we export some symbols here, would be nice to have the
> some checks here for dual landing. Not sure how far Michi went with
> implementing abigail [1] in his ABI checking - I see there are some commits in
> their staging branch.
>

I would love to have abigail integrated and I'm happy to file and assign a critical bug for tracking the issue. That being said, I would think we shouldn't block on the lack of symbol checking. It was missing before this branch and the changes do not make the situation worse ;-)

> [1] https://sourceware.org/libabigail/

226. By Thomas Voß

* Enable dual landings according to https://wiki.ubuntu.com/citrain/LandingProcess#Dual-landing_for_stable_and_devel:
  * Both vivid+overlay and xenial packages are built from the same source.
  * To account for differences in major revisions (necessary to handle the g++ 5 ABI break), we generate install files on the fly.

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
Łukasz Zemczak (sil2100) wrote :

Almost there! Cosmetic changes are left. The new debian/changelog entry should have lines wrapped at 80 characters. If there's a long link then it's okayish to have it >80 (since we can't cut it in-between), but otherwise lines should be wrapped. Be sure to, when you're wrapping lines, to align them correctly with the previous lines.

Lintian also mentiones some warnings during source package build, but I guess those are all old issues.

review: Needs Fixing
227. By Thomas Voß

Address review comments and tidy up line length.

Revision history for this message
Łukasz Zemczak (sil2100) wrote :

Ok, looks goodish enough.

But please be sure to fill in a critical bug about ABI compliance!

review: Approve
228. By Thomas Voß

Pull in missing revisions to changelog.

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-04-04 19:18:28 +0000
3+++ CMakeLists.txt 2016-04-04 19:18:28 +0000
4@@ -2,9 +2,34 @@
5
6 project(ubuntu-location-service)
7
8-set(UBUNTU_LOCATION_SERVICE_VERSION_MAJOR 2)
9-set(UBUNTU_LOCATION_SERVICE_VERSION_MINOR 0)
10-set(UBUNTU_LOCATION_SERVICE_VERSION_PATCH 0)
11+# We haven't received version information via the packaging setup.
12+# For that, we try to determine sensible values on our own, ensuring
13+# plain old invocations to cmake still work as expected.
14+if (NOT DEFINED UBUNTU_LOCATION_SERVICE_VERSION_MAJOR)
15+ find_program(LSB_RELEASE lsb_release)
16+ execute_process(
17+ COMMAND ${LSB_RELEASE} -c -s
18+ OUTPUT_VARIABLE DISTRO_CODENAME
19+ OUTPUT_STRIP_TRAILING_WHITESPACE)
20+
21+ # We explicitly ignore errors and only check if we are building for vivid.
22+ # For all other cases:
23+ # - releases other than vivid
24+ # - other distros
25+ # - errors
26+ # we define the version to be 2.0.0
27+ if (${DISTRO_CODENAME} STREQUAL "vivid")
28+ set(UBUNTU_LOCATION_SERVICE_VERSION_MAJOR 2)
29+ set(UBUNTU_LOCATION_SERVICE_VERSION_MINOR 0)
30+ set(UBUNTU_LOCATION_SERVICE_VERSION_PATCH 0)
31+ else ()
32+ set(UBUNTU_LOCATION_SERVICE_VERSION_MAJOR 3)
33+ set(UBUNTU_LOCATION_SERVICE_VERSION_MINOR 0)
34+ set(UBUNTU_LOCATION_SERVICE_VERSION_PATCH 0)
35+ endif()
36+endif()
37+
38+message(STATUS "${CMAKE_PROJECT_NAME} ${UBUNTU_LOCATION_SERVICE_VERSION_MAJOR}.${UBUNTU_LOCATION_SERVICE_VERSION_MINOR}.${UBUNTU_LOCATION_SERVICE_VERSION_PATCH}")
39
40 set(UBUNTU_LOCATION_SERVICE_TRUST_STORE_SERVICE_NAME "UbuntuLocationService")
41
42
43=== added file 'debian/VERSION'
44--- debian/VERSION 1970-01-01 00:00:00 +0000
45+++ debian/VERSION 2016-04-04 19:18:28 +0000
46@@ -0,0 +1,1 @@
47+3.0.0
48\ No newline at end of file
49
50=== added file 'debian/VERSION.vivid'
51--- debian/VERSION.vivid 1970-01-01 00:00:00 +0000
52+++ debian/VERSION.vivid 2016-04-04 19:18:28 +0000
53@@ -0,0 +1,1 @@
54+2.0.0
55
56=== modified file 'debian/changelog'
57--- debian/changelog 2016-04-04 19:18:28 +0000
58+++ debian/changelog 2016-04-04 19:18:28 +0000
59@@ -1,40 +1,37 @@
60-location-service (2.1+15.10.20150727-0ubuntu1) wily; urgency=medium
61-
62- [ CI Train Bot ]
63- * New rebuild forced.
64-
65- [ Charles Kerr ]
66- * drop build-dependency on g++-4.9 (LP: #1452329)
67-
68- -- CI Train Bot <ci-train-bot@canonical.com> Mon, 27 Jul 2015 18:07:37 +0000
69-
70-location-service (2.1+15.10.20150706-0ubuntu1) wily; urgency=medium
71-
72- [ Alberto Aguirre ]
73- * No change rebuild against platform-api 3
74-
75- [ CI Train Bot ]
76- * New rebuild forced.
77-
78- -- CI Train Bot <ci-train-bot@canonical.com> Mon, 06 Jul 2015 18:22:22 +0000
79-
80-location-service (2.1+15.10.20150601.2-0ubuntu1) wily; urgency=medium
81-
82- [ CI Train Bot ]
83- * New rebuild forced.
84-
85- [ Manuel de la Pena ]
86- * Ensure that the trust store is started when is needed.
87-
88- -- CI Train Bot <ci-train-bot@canonical.com> Mon, 01 Jun 2015 15:13:06 +0000
89-
90-location-service (2.1+15.10.20150528.3-0ubuntu1) wily; urgency=medium
91-
92- [ Thomas Voß ]
93- * Make sure we always hand a lock owning its mutex to
94- on_access_point_added. (LP: #1426307)
95-
96- -- CI Train Bot <ci-train-bot@canonical.com> Thu, 28 May 2015 11:40:58 +0000
97+location-service (3.0.0-0ubuntu5) UNRELEASED; urgency=medium
98+
99+ * Enable dual landings according to https://wiki.ubuntu.com/citrain/LandingProcess#Dual-landing_for_stable_and_devel:
100+ * Both vivid+overlay and xenial packages are built from the same
101+ source.
102+ * To account for differences in major revisions (necessary to handle
103+ the g++ 5 ABI break), we generate install files on the fly.
104+
105+ -- Thomas Voß <thomas.voss@canonical.com> Wed, 16 Mar 2016 20:15:57 +0100
106+
107+location-service (3.0.0-0ubuntu4) wily-proposed; urgency=medium
108+
109+ * No change rebuild.
110+
111+ -- Ken VanDine <ken.vandine@canonical.com> Mon, 03 Aug 2015 13:33:13 -0400
112+
113+location-service (3.0.0-0ubuntu3) wily; urgency=medium
114+
115+ * No change rebuild.
116+
117+ -- Matthias Klose <doko@ubuntu.com> Fri, 31 Jul 2015 00:23:18 +0200
118+
119+location-service (3.0.0-0ubuntu2) wily; urgency=medium
120+
121+ * libubuntu-location-service3: Replaces libubuntu-location-service2,
122+ config file /etc/gps.conf in both packages.
123+
124+ -- Matthias Klose <doko@ubuntu.com> Thu, 30 Jul 2015 09:57:50 +0200
125+
126+location-service (3.0.0) wily; urgency=medium
127+
128+ * Bump major revision and fix LP:#1478750 to account for toolchain update.
129+
130+ -- Thomas Voß <thomas.voss@canonical.com> Thu, 30 Jul 2015 08:33:13 +0200
131
132 location-service (2.1+15.04.20160302.1-0ubuntu1) vivid; urgency=medium
133
134
135=== modified file 'debian/control'
136--- debian/control 2015-07-15 19:04:43 +0000
137+++ debian/control 2016-04-04 19:18:28 +0000
138@@ -1,3 +1,8 @@
139+# This file is autogenerated. DO NOT EDIT!
140+#
141+# Modifications should be made to control.in instead.
142+# This file is regenerated automatically in the clean target.
143+#
144 Source: location-service
145 Section: utils
146 Priority: optional
147@@ -27,6 +32,7 @@
148 libubuntu-platform-hardware-api-headers [!arm64 !ppc64el !powerpc],
149 libubuntu-platform-hardware-api-dev [!arm64 !ppc64el !powerpc],
150 libproperties-cpp-dev,
151+ lsb-release,
152 trust-store-bin,
153 Standards-Version: 3.9.4
154 Homepage: http://launchpad.net/location-service
155
156=== added file 'debian/control.in'
157--- debian/control.in 1970-01-01 00:00:00 +0000
158+++ debian/control.in 2016-04-04 19:18:28 +0000
159@@ -0,0 +1,123 @@
160+Source: location-service
161+Section: utils
162+Priority: optional
163+Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
164+XSBC-Original-Maintainer: Thomas Voß <thomas.voss@canonical.com>
165+Build-Depends: cmake,
166+ curl,
167+ libdbus-cpp-dev (>= 4.1.0),
168+ debhelper (>= 9),
169+ doxygen,
170+ geoclue-ubuntu-geoip,
171+ google-mock (>= 1.6.0+svn437),
172+ graphviz,
173+ libapparmor-dev,
174+ libboost-filesystem-dev,
175+ libboost-program-options-dev,
176+ libboost-system-dev,
177+ libdbus-1-dev,
178+ libdbus-cpp-dev,
179+ libgoogle-glog-dev,
180+ libgtest-dev,
181+ libiw-dev,
182+ libjson-c-dev,
183+ libnet-cpp-dev,
184+ libprocess-cpp-dev,
185+ libtrust-store-dev,
186+ libubuntu-platform-hardware-api-headers [!arm64 !ppc64el !powerpc],
187+ libubuntu-platform-hardware-api-dev [!arm64 !ppc64el !powerpc],
188+ libproperties-cpp-dev,
189+ lsb-release,
190+ trust-store-bin,
191+Standards-Version: 3.9.4
192+Homepage: http://launchpad.net/location-service
193+# If you aren't a member of ~phablet-team but need to upload packaging changes,
194+# just go ahead. ~phablet-team will notice and sync up the code again.
195+Vcs-Bzr: https://code.launchpad.net/~phablet-team/location-service/trunk
196+Vcs-Browser: http://bazaar.launchpad.net/~phablet-team/location-service/trunk/files
197+
198+Package: libubuntu-location-service@UBUNTU_LOCATION_SERVICE_SOVERSION@
199+Section: libs
200+Architecture: any
201+Multi-Arch: same
202+Pre-Depends: ${misc:Pre-Depends}
203+Depends: ${misc:Depends},
204+ ${shlibs:Depends},
205+Description: location service aggregating position/velocity/heading
206+ updates and exporting them over dbus.
207+ .
208+ Contains the shared library needed by client applications.
209+
210+Package: libubuntu-location-service-dev
211+Section: libdevel
212+Architecture: any
213+Multi-Arch: foreign
214+Recommends: ubuntu-location-service-doc,
215+Depends: libubuntu-location-service@UBUNTU_LOCATION_SERVICE_SOVERSION@ (= ${binary:Version}),
216+ libdbus-1-dev,
217+ libdbus-cpp-dev,
218+ libboost-dev,
219+ ${misc:Depends},
220+Suggests: ubuntu-location-service-doc,
221+Description: location service aggregating position/velocity/heading
222+ updates and exporting them over dbus.
223+ .
224+ Contains header files required to develop clients talking to the ubuntu
225+ location service.
226+
227+Package: libubuntu-location-service-dbg
228+Section: debug
229+Architecture: any
230+Multi-Arch: foreign
231+Depends: libubuntu-location-service@UBUNTU_LOCATION_SERVICE_SOVERSION@ (= ${binary:Version}),
232+ ${misc:Depends},
233+Description: location service aggregating position/velocity/heading
234+ updates and exporting them over dbus.
235+ .
236+ Contains debug symbols.
237+
238+Package: ubuntu-location-service-tests
239+Architecture: any
240+Depends: ${misc:Depends},
241+ ${shlibs:Depends},
242+Description: location service aggregating position/velocity/heading
243+ updates and exporting them over dbus.
244+ .
245+ Contains all test executables
246+
247+Package: ubuntu-location-service-bin
248+Architecture: any
249+Depends: libubuntu-location-service@UBUNTU_LOCATION_SERVICE_SOVERSION@ (= ${binary:Version}),
250+ ${misc:Depends},
251+ ${shlibs:Depends},
252+ trust-store-bin,
253+Breaks: ubuntu-location-service-examples (<< 0.0.2),
254+Replaces: ubuntu-location-service-examples (<< 0.0.2),
255+Description: location service aggregating position/velocity/heading
256+ updates and exporting them over dbus.
257+ .
258+ Contains the service executable and man pages.
259+
260+Package: ubuntu-location-service-examples
261+Architecture: any
262+Multi-Arch: same
263+Depends: libubuntu-location-service@UBUNTU_LOCATION_SERVICE_SOVERSION@ (= ${binary:Version}),
264+ ${misc:Depends},
265+ ${shlibs:Depends},
266+ ubuntu-location-service-doc,
267+Description: location service aggregating position/velocity/heading
268+ updates and exporting them over dbus.
269+ .
270+ Contains example service and client.
271+
272+Package: ubuntu-location-service-doc
273+Section: doc
274+Architecture: all
275+Multi-Arch: foreign
276+Depends: ${misc:Depends},
277+ ${shlibs:Depends},
278+Recommends: ubuntu-location-service-examples,
279+Description: location service aggregating position/velocity/heading
280+ updates and exporting them over dbus.
281+ .
282+ Contains documentation for service and client.
283
284=== added file 'debian/gen-debian-files.sh'
285--- debian/gen-debian-files.sh 1970-01-01 00:00:00 +0000
286+++ debian/gen-debian-files.sh 2016-04-04 19:18:28 +0000
287@@ -0,0 +1,111 @@
288+#!/bin/sh
289+
290+# Copyright (C) 2015 Canonical Ltd
291+#
292+# This program is free software: you can redistribute it and/or modify
293+# it under the terms of the GNU Lesser General Public License version 3 as
294+# published by the Free Software Foundation.
295+#
296+# This program is distributed in the hope that it will be useful,
297+# but WITHOUT ANY WARRANTY; without even the implied warranty of
298+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
299+# GNU Lesser General Public License for more details.
300+#
301+# You should have received a copy of the GNU Lesser General Public License
302+# along with this program. If not, see <http://www.gnu.org/licenses/>.
303+#
304+# Authored by: Michi Henning <michi.henning@canonical.com>
305+# Thomas Voß <thomas.voss@canonical.com>
306+
307+#
308+# Script to generate debian files for dual landing in Vivid (gcc 4.9 ABI)
309+# and Wily and later (gcc 5 ABI).
310+#
311+# This script is called from debian/rules and generates:
312+#
313+# - control
314+# - libubuntu-location-service${soversion}.install.${target_arch}
315+#
316+# For all but control, this is a straight substition and/or renaming exercise for each file.
317+# For control, if building on Wily or later, we also fix the "Replaces:" and "Conflicts:"
318+# entries, so we don't end up with two packages claiming ownership of the same places
319+# in the file system.
320+#
321+# Because the debian files for the different distributions are generated on the fly,
322+# this allows us to keep a single source tree for both distributions. See ../HACKING
323+# for more explanations.
324+#
325+
326+set -e # Fail if any command fails.
327+
328+progname=$(basename $0)
329+
330+[ $# -ne 1 ] && {
331+ echo "usage: $progname path-to-debian-dir" >&2
332+ exit 1
333+}
334+dir=$1
335+version_dir=$(mktemp -d)
336+
337+# Dump version numbers into files and initialize vars from those files.
338+
339+sh ${dir}/get-versions.sh ${dir} ${version_dir}
340+
341+full_version=$(cat "${version_dir}"/libubuntu-location-service.full-version)
342+major_minor=$(cat "${version_dir}"/libubuntu-location-service.major-minor-version)
343+soversion=$(cat "${version_dir}"/libubuntu-location-service.soversion)
344+vivid_soversion=$(cat "${version_dir}"/libubuntu-location-service.vivid-soversion)
345+
346+warning=$(mktemp -t gen-debian-files-msg.XXX)
347+
348+trap "rm -fr $warning $version_dir" 0 INT TERM QUIT
349+
350+warning_msg()
351+{
352+ cat >$warning <<EOF
353+# This file is autogenerated. DO NOT EDIT!
354+#
355+# Modifications should be made to $(basename "$1") instead.
356+# This file is regenerated automatically in the clean target.
357+#
358+EOF
359+}
360+
361+# Generate debian/control from debian/control.in, substituting the soversion for both libs.
362+# For wily onwards, we also add an entry for the vivid versions to "Conflicts:" and "Replaces:".
363+
364+infile="${dir}"/control.in
365+outfile="${dir}"/control
366+warning_msg $infile
367+cat $warning $infile \
368+ | sed -e "s/@UBUNTU_LOCATION_SERVICE_SOVERSION@/${soversion}/" > "$outfile"
369+
370+[ "$distro" != "vivid" ] && {
371+ sed -i -e "/Replaces: libubuntu-location-service2,/a\
372+\ libubuntu-location-service${vivid_soversion}," \
373+ "$outfile"
374+}
375+
376+# Generate the install files, naming them according to the soversion.
377+
378+# Install file for binary package
379+infile="${dir}"/libubuntu-location-service.install.in
380+outfile="${dir}"/libubuntu-location-service${soversion}.install
381+warning_msg "$infile"
382+cat $warning "$infile" >"$outfile"
383+
384+infile="${dir}"/libubuntu-location-service.install.with-gps.in
385+outfile="${dir}"/libubuntu-location-service${soversion}.install.with-gps
386+warning_msg "$infile"
387+cat $warning "$infile" >"$outfile"
388+
389+infile="${dir}"/libubuntu-location-service-dev.install.in
390+outfile="${dir}"/libubuntu-location-service-dev.install
391+warning_msg "$infile"
392+cat $warning $infile | sed -e "s/@UBUNTU_LOCATION_SERVICE_SOVERSION@/${soversion}/" > "$outfile"
393+
394+ln -s "${dir}"/libubuntu-location-service${soversion}.install.with-gps "${dir}"/libubuntu-location-service${soversion}.install.amd64
395+ln -s "${dir}"/libubuntu-location-service${soversion}.install.with-gps "${dir}"/libubuntu-location-service${soversion}.install.armhf
396+ln -s "${dir}"/libubuntu-location-service${soversion}.install.with-gps "${dir}"/libubuntu-location-service${soversion}.install.i386
397+
398+exit 0
399
400=== added file 'debian/get-versions.sh'
401--- debian/get-versions.sh 1970-01-01 00:00:00 +0000
402+++ debian/get-versions.sh 2016-04-04 19:18:28 +0000
403@@ -0,0 +1,68 @@
404+#!/bin/sh
405+
406+# Copyright (C) 2015 Canonical Ltd
407+#
408+# This program is free software: you can redistribute it and/or modify
409+# it under the terms of the GNU Lesser General Public License version 3 as
410+# published by the Free Software Foundation.
411+#
412+# This program is distributed in the hope that it will be useful,
413+# but WITHOUT ANY WARRANTY; without even the implied warranty of
414+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
415+# GNU Lesser General Public License for more details.
416+#
417+# You should have received a copy of the GNU Lesser General Public License
418+# along with this program. If not, see <http://www.gnu.org/licenses/>.
419+#
420+# Authored by: Michi Henning <michi.henning@canonical.com>
421+
422+#
423+# Script to read the version numbers from VERSION and QT-VERSION
424+# and write the version components and the soversion numbers
425+# into separate files, so we can pick them up from both
426+# gen-debian-files.sh and CMakeLists.txt.
427+#
428+
429+set -e # Fail if any command fails.
430+
431+progname=$(basename $0)
432+
433+[ $# -lt 1 -o $# -gt 2 ] && {
434+ echo "usage: $progname path-to-debian-dir [output-dir]" >&2
435+ exit 1
436+}
437+dir=$1
438+output_dir=`pwd`
439+[ $# -eq 2 ] && output_dir=$2
440+
441+# Write the various version numbers into a bunch of files. This allows
442+# us to easily pick them up from both gen-debian-files.sh and CMakeLists.txt.
443+
444+distro=$(lsb_release -c -s)
445+
446+full_version=$(cat "${dir}"/VERSION)
447+
448+major=$(echo $full_version | cut -d'.' -f1)
449+minor=$(echo $full_version | cut -d'.' -f2)
450+micro=$(echo $full_version | cut -d'.' -f3)
451+major_minor="${major}.${minor}"
452+
453+vivid_full_version=$(cat "${dir}"/VERSION.vivid)
454+vivid_major=$(echo $vivid_full_version | cut -d'.' -f1)
455+vivid_soversion=$vivid_major
456+
457+if [ "$distro" = "vivid" ]
458+then
459+ soversion=${vivid_soversion}
460+else
461+ soversion="${major}"
462+fi
463+[ -n $soversion ]
464+
465+echo ${full_version} >${output_dir}/libubuntu-location-service.full-version
466+echo ${major} >${output_dir}/libubuntu-location-service.major-version
467+echo ${minor} >${output_dir}/libubuntu-location-service.minor-version
468+echo ${micro} >${output_dir}/libubuntu-location-service.micro-version
469+echo ${major_minor} >${output_dir}/libubuntu-location-service.major-minor-version
470+echo ${soversion} >${output_dir}/libubuntu-location-service.soversion
471+echo ${vivid_soversion} >${output_dir}/libubuntu-location-service.vivid-soversion
472
473=== modified file 'debian/libubuntu-location-service-dev.install'
474--- debian/libubuntu-location-service-dev.install 2014-07-18 14:42:10 +0000
475+++ debian/libubuntu-location-service-dev.install 2016-04-04 19:18:28 +0000
476@@ -1,3 +1,8 @@
477+# This file is autogenerated. DO NOT EDIT!
478+#
479+# Modifications should be made to libubuntu-location-service-dev.install.in instead.
480+# This file is regenerated automatically in the clean target.
481+#
482 usr/include/ubuntu-location-service-2
483 usr/lib/*/libubuntu-location-service.so
484 usr/lib/*/libubuntu-location-service-connectivity.so
485
486=== added file 'debian/libubuntu-location-service-dev.install.in'
487--- debian/libubuntu-location-service-dev.install.in 1970-01-01 00:00:00 +0000
488+++ debian/libubuntu-location-service-dev.install.in 2016-04-04 19:18:28 +0000
489@@ -0,0 +1,5 @@
490+usr/include/ubuntu-location-service-@UBUNTU_LOCATION_SERVICE_SOVERSION@
491+usr/lib/*/libubuntu-location-service.so
492+usr/lib/*/libubuntu-location-service-connectivity.so
493+usr/lib/*/pkgconfig/ubuntu-location-service.pc
494+usr/lib/*/pkgconfig/ubuntu-location-service-connectivity.pc
495
496=== added file 'debian/libubuntu-location-service.install.in'
497--- debian/libubuntu-location-service.install.in 1970-01-01 00:00:00 +0000
498+++ debian/libubuntu-location-service.install.in 2016-04-04 19:18:28 +0000
499@@ -0,0 +1,2 @@
500+usr/lib/*/libubuntu-location-service.so.*
501+usr/lib/*/libubuntu-location-service-connectivity.so.*
502
503=== added file 'debian/libubuntu-location-service.install.with-gps.in'
504--- debian/libubuntu-location-service.install.with-gps.in 1970-01-01 00:00:00 +0000
505+++ debian/libubuntu-location-service.install.with-gps.in 2016-04-04 19:18:28 +0000
506@@ -0,0 +1,3 @@
507+usr/lib/*/libubuntu-location-service.so.*
508+usr/lib/*/libubuntu-location-service-connectivity.so.*
509+/etc/gps.conf
510
511=== removed file 'debian/libubuntu-location-service2.install'
512--- debian/libubuntu-location-service2.install 2014-07-30 13:55:44 +0000
513+++ debian/libubuntu-location-service2.install 1970-01-01 00:00:00 +0000
514@@ -1,2 +0,0 @@
515-usr/lib/*/libubuntu-location-service.so.*
516-usr/lib/*/libubuntu-location-service-connectivity.so.*
517
518=== removed symlink 'debian/libubuntu-location-service2.install.amd64'
519=== target was u'libubuntu-location-service2.install.with-gps'
520=== removed symlink 'debian/libubuntu-location-service2.install.armhf'
521=== target was u'libubuntu-location-service2.install.with-gps'
522=== removed symlink 'debian/libubuntu-location-service2.install.i386'
523=== target was u'libubuntu-location-service2.install.with-gps'
524=== removed file 'debian/libubuntu-location-service2.install.with-gps'
525--- debian/libubuntu-location-service2.install.with-gps 2014-07-30 13:55:44 +0000
526+++ debian/libubuntu-location-service2.install.with-gps 1970-01-01 00:00:00 +0000
527@@ -1,3 +0,0 @@
528-usr/lib/*/libubuntu-location-service.so.*
529-usr/lib/*/libubuntu-location-service-connectivity.so.*
530-/etc/gps.conf
531
532=== modified file 'debian/rules'
533--- debian/rules 2015-07-15 19:04:43 +0000
534+++ debian/rules 2016-04-04 19:18:28 +0000
535@@ -15,6 +15,18 @@
536
537 include /usr/share/dpkg/default.mk
538
539+distro=$(shell lsb_release -c -s)
540+
541+ifeq ($(distro),vivid)
542+ full_version=$(shell cat $(CURDIR)/debian/VERSION.vivid)
543+else
544+ full_version=$(shell cat $(CURDIR)/debian/VERSION)
545+endif
546+
547+major=$(shell echo $(full_version) | cut -d'.' -f1)
548+minor=$(shell echo $(full_version) | cut -d'.' -f2)
549+patch=$(shell echo $(full_version) | cut -d'.' -f3)
550+
551 ifneq (,$(filter $(DEB_HOST_ARCH),ppc64el powerpc arm64))
552 LOCATION_SERVICE_ENABLE_GPS_PROVIDER = OFF
553 else
554@@ -31,4 +43,11 @@
555 dh_strip --dbg-package=libubuntu-location-service-dbg
556
557 override_dh_auto_configure:
558- dh_auto_configure -- -DCMAKE_INSTALL_LIBEXECDIR=/usr/lib/$(DEB_HOST_MULTIARCH)/ubuntu-location-service -DCMAKE_C_COMPILER=$(CC) -DCMAKE_CXX_COMPILER=$(CXX) -DLOCATION_SERVICE_ENABLE_GPS_PROVIDER=$(LOCATION_SERVICE_ENABLE_GPS_PROVIDER)
559+ dh_auto_configure -- -DCMAKE_INSTALL_LIBEXECDIR=/usr/lib/$(DEB_HOST_MULTIARCH)/ubuntu-location-service -DCMAKE_C_COMPILER=$(CC) -DCMAKE_CXX_COMPILER=$(CXX) -DLOCATION_SERVICE_ENABLE_GPS_PROVIDER=$(LOCATION_SERVICE_ENABLE_GPS_PROVIDER) -DUBUNTU_LOCATION_SERVICE_VERSION_MAJOR=$(major) -DUBUNTU_LOCATION_SERVICE_VERSION_MINOR=$(minor) -DUBUNTU_LOCATION_SERVICE_VERSION_PATCH=$(patch)
560+
561+override_dh_auto_clean:
562+ rm -f $(CURDIR)/debian/libubuntu-location-service$(major).install.amd64
563+ rm -f $(CURDIR)/debian/libubuntu-location-service$(major).install.armhf
564+ rm -f $(CURDIR)/debian/libubuntu-location-service$(major).install.i386
565+ /bin/sh $(CURDIR)/debian/gen-debian-files.sh $(CURDIR)/debian
566+ dh_auto_clean

Subscribers

People subscribed via source and target branches