Mir

Merge lp:~afrantzis/mir/automate-package-abi-versioning into lp:mir

Proposed by Alexandros Frantzis
Status: Rejected
Rejected by: Alexandros Frantzis
Proposed branch: lp:~afrantzis/mir/automate-package-abi-versioning
Merge into: lp:mir
Diff against target: 426 lines (+115/-96)
16 files modified
debian/control.in (+20/-20)
debian/create_control_and_install_files.sh (+78/-0)
debian/create_postinst_prerm_scripts.sh (+0/-39)
debian/install_ld_so_conf.sh (+0/-26)
debian/libmirclient-debug-extension.install.in (+1/-1)
debian/libmirclient.install.in (+1/-1)
debian/libmircommon.install.in (+1/-1)
debian/libmirplatform.install.in (+1/-1)
debian/libmirprotobuf.install.in (+1/-1)
debian/libmirserver.install.in (+1/-1)
debian/mir-client-platform-android.install.in (+1/-1)
debian/mir-client-platform-mesa.install.in (+1/-1)
debian/mir-platform-graphics-android.install.in (+1/-1)
debian/mir-platform-graphics-mesa.install.in (+1/-1)
debian/rules (+4/-0)
src/protobuf/CMakeLists.txt (+3/-1)
To merge this branch: bzr merge lp:~afrantzis/mir/automate-package-abi-versioning
Reviewer Review Type Date Requested Status
Alexandros Frantzis (community) Disapprove
Adam Conrad (community) Needs Fixing
Colin Watson (community) Needs Fixing
Chris Halse Rogers Abstain
Robert Carr (community) Approve
Cemil Azizoglu (community) Needs Fixing
Alan Griffiths Abstain
Kevin DuBois (community) Approve
PS Jenkins bot (community) continuous-integration Approve
Review via email: mp+251442@code.launchpad.net

Commit message

debian: Automate creation of packaging files based on the current component ABIs

Description of the change

debian: Automate creation of packaging files based on the current component ABIs

With this MP some packaging files (debian/control and various debian/*.install files) are produced at package build time based on the ABIs detected in the source tree (but see "Future improvements" below).

Because during package pre-creation dpkg-source needs preliminary access to the source package fields (i.e. the top fields) of the control file, debian/control is symlinked to debian/control.in. At the beginning of the build process, the symlink is overwritten with a proper control file produced from control.in.

Using a control file produced at build time is a neat and versatile idea. However, there may be issues (e.g. too fragile?) we are not aware of and it may not be acceptable to our debian packaging overlords. If that's the case then we can fall back to having a script that can be invoked manually to update our packaging, plus corresponding tests to ensure that our packaging and source tree (i.e. ABIs) are in sync.

Future improvements:

* Improve how we handle ABIs in the source tree, so that we can detect them more cleanly at package build time (i.e. not grep through all the sources). Perhaps a single file that both CMake and our packaging scripts could read?

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
Cemil Azizoglu (cemil-azizoglu) wrote :

Thanks for the quick action and this MP. Since CI is not good at detecting packaging issues, could you mention the testing you've done on this MP?

review: Needs Information
Revision history for this message
Alexandros Frantzis (afrantzis) wrote :

> Thanks for the quick action and this MP. Since CI is not good at detecting packaging issues,
> could you mention the testing you've done on this MP?

Since the MP changes the packaging process but not the packaging output, I focused on ensuring the new packages matched packages created from trunk. I checked this by locally creating both sets of packages and comparing.

There is also the confidence we get from the successful CI run. Although CI doesn't detect all packaging issues, it can detect a decent amount of them, especially since we enabled installation of all packages in mediumtests last week.

Revision history for this message
Kevin DuBois (kdub) wrote :

lgtm

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

I like the autogeneration but I worry about it being fragile in ways I do not understand.

Also isn't there a risk of accidentally checking in the generated file that overwrites the link?

review: Abstain
Revision history for this message
Cemil Azizoglu (cemil-azizoglu) wrote :

I don't think it's good to have a symlink for debian/control. If the script fails then everything should fail in a spectacular manner, and not act like it has a way to proceed.

review: Needs Fixing
Revision history for this message
Robert Carr (robertcarr) wrote :

>>I don't think it's good to have a symlink for debian/control. If the script fails then everything
>> should fail in a spectacular manner, and not act like it has a way to proceed.

It sounds like the symlink is required because dpkg-buildpackage wants to parse a few non ABI (hopefully!) fields from debian/control prior to kicking off the full build (and performing the autogeneration).

LGTM

review: Approve
Revision history for this message
Chris Halse Rogers (raof) wrote :

I expect this would be NAKed by the distro team.

The ‘traditional’ way this is done is in the clean: (so, override_dh_clean) target; this ensures that it's run before generating the source package. Currently When debian/control autogeneration is done at all it's done to populate a relatively contained field, such as Uploaders:.

Although it's autogenerated we should still have debian/control in source control.

As a distro packager I would not do this, but the “upstreams contain packaging and automatically land in the distro” world is still strange and it seems like this might be reasonable for us to do.

Maybe this is better off as something in tools/ to manually run when necessary?

review: Abstain
Revision history for this message
Alexandros Frantzis (afrantzis) wrote :

> I expect this would be NAKed by the distro team.
>
> Maybe this is better off as something in tools/ to manually run when necessary?

This matches the fallback I mentioned in the description: "If that's the case then we can fall back to having a script that can be invoked manually to update our packaging, plus corresponding tests to ensure that our packaging and source tree (i.e. ABIs) are in sync."

Let's see what distro says.

Revision history for this message
Colin Watson (cjwatson) wrote :

I agree with Chris's comments above. Autogenerating debian/control like this is dangerous and tends to play hell with tools that expect the list of package names to be accurate at the point when the source package is built; as written this will probably result in an incorrect .dsc file in some cases, causing archive problems. Best practice when this stuff is necessary is to do it in the clean rule so that the source package is accurate, or to have a script to update it manually when necessary.

review: Needs Fixing
Revision history for this message
Adam Conrad (adconrad) wrote :

02:38 < infinity> alf: I would NACK it if you asked for a review from me. :P
02:39 < infinity> alf: debian/control should be correct, leading to .dsc actually listing the binary packages a source produces. Your control and .dsc contain garbage until build time, which is unacceptably wrong.
02:39 < infinity> alf: Generating that at source package creation time is fine, though. You should just do that.

As an added bonus, using the symlink trick here, your debian/control isn't just inaccurate, but actually syntactically broken, as it contains invalid characters in the Package: fields.

review: Needs Fixing
Revision history for this message
Adam Conrad (adconrad) wrote :

Another aside, if you ever intend to get this stuff into Debian, the Debian ftp/build infrastructure is very picky about sources producing the binaries listed in .dsc (I had to fix glibc to stop listing some binaries it didn't produce), so this really should just be done correctly from the get go.

Revision history for this message
Alexandros Frantzis (afrantzis) wrote :

OK, it seems that, as feared, automagic creation of debian/control is indeed fragile and needs special care. Although there are ways to make it work, the process will become more complicated than what I would like. It's much more straightforward to go for a scripted but manual packaging update and tests to check for inconsistencies between source tree ABIs and packaging. Stay tuned for a new MP.

review: Disapprove

Unmerged revisions

2353. By Alexandros Frantzis

debian: Automate creation of packaging files based on the current component ABIs

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== added symlink 'debian/control'
=== target is u'control.in'
=== renamed file 'debian/control' => 'debian/control.in'
--- debian/control 2015-02-27 15:54:19 +0000
+++ debian/control.in 2015-03-02 13:06:12 +0000
@@ -45,7 +45,7 @@
45# just go ahead. ~mir-team will notice and sync up the code again.45# just go ahead. ~mir-team will notice and sync up the code again.
46Vcs-Bzr: https://code.launchpad.net/~mir-team/mir/trunk46Vcs-Bzr: https://code.launchpad.net/~mir-team/mir/trunk
4747
48Package: libmirprotobuf048Package: libmirprotobuf@MIRPROTOBUF_ABI@
49Section: libs49Section: libs
50Architecture: i386 amd64 armhf arm6450Architecture: i386 amd64 armhf arm64
51Multi-Arch: same51Multi-Arch: same
@@ -61,7 +61,7 @@
6161
62#TODO: Packaging infrastructure for better dependency generation,62#TODO: Packaging infrastructure for better dependency generation,
63# ala pkg-xorg's xviddriver:Provides and ABI detection.63# ala pkg-xorg's xviddriver:Provides and ABI detection.
64Package: libmirserver3164Package: libmirserver@MIRSERVER_ABI@
65Section: libs65Section: libs
66Architecture: i386 amd64 armhf arm6466Architecture: i386 amd64 armhf arm64
67Multi-Arch: same67Multi-Arch: same
@@ -74,7 +74,7 @@
74 .74 .
75 Contains the shared library needed by server applications for Mir.75 Contains the shared library needed by server applications for Mir.
7676
77Package: libmirplatform777Package: libmirplatform@MIRPLATFORM_ABI@
78Section: libs78Section: libs
79Architecture: i386 amd64 armhf arm6479Architecture: i386 amd64 armhf arm64
80Multi-Arch: same80Multi-Arch: same
@@ -93,7 +93,7 @@
93Architecture: i386 amd64 armhf arm6493Architecture: i386 amd64 armhf arm64
94Multi-Arch: same94Multi-Arch: same
95Pre-Depends: ${misc:Pre-Depends}95Pre-Depends: ${misc:Pre-Depends}
96Depends: libmircommon3 (= ${binary:Version}), 96Depends: libmircommon@MIRCOMMON_ABI@ (= ${binary:Version}),
97 libprotobuf-dev (>= 2.4.1),97 libprotobuf-dev (>= 2.4.1),
98 libxkbcommon-dev,98 libxkbcommon-dev,
99 ${misc:Depends},99 ${misc:Depends},
@@ -110,7 +110,7 @@
110Architecture: i386 amd64 armhf arm64110Architecture: i386 amd64 armhf arm64
111Multi-Arch: same111Multi-Arch: same
112Pre-Depends: ${misc:Pre-Depends}112Pre-Depends: ${misc:Pre-Depends}
113Depends: libmirplatform7 (= ${binary:Version}),113Depends: libmirplatform@MIRPLATFORM_ABI@ (= ${binary:Version}),
114 libmircommon-dev,114 libmircommon-dev,
115 libboost-program-options-dev,115 libboost-program-options-dev,
116 ${misc:Depends},116 ${misc:Depends},
@@ -127,7 +127,7 @@
127Architecture: i386 amd64 armhf arm64127Architecture: i386 amd64 armhf arm64
128Multi-Arch: same128Multi-Arch: same
129Pre-Depends: ${misc:Pre-Depends}129Pre-Depends: ${misc:Pre-Depends}
130Depends: libmirserver31 (= ${binary:Version}),130Depends: libmirserver@MIRSERVER_ABI@ (= ${binary:Version}),
131 libmirplatform-dev (= ${binary:Version}),131 libmirplatform-dev (= ${binary:Version}),
132 libmircommon-dev (= ${binary:Version}),132 libmircommon-dev (= ${binary:Version}),
133 libglm-dev,133 libglm-dev,
@@ -138,7 +138,7 @@
138 .138 .
139 Contains header files required to build Mir servers.139 Contains header files required to build Mir servers.
140140
141Package: libmirclient8141Package: libmirclient@MIRCLIENT_ABI@
142Section: libs142Section: libs
143Architecture: i386 amd64 armhf arm64143Architecture: i386 amd64 armhf arm64
144Multi-Arch: same144Multi-Arch: same
@@ -156,7 +156,7 @@
156Architecture: i386 amd64 armhf arm64156Architecture: i386 amd64 armhf arm64
157Multi-Arch: same157Multi-Arch: same
158Pre-Depends: ${misc:Pre-Depends}158Pre-Depends: ${misc:Pre-Depends}
159Depends: libmirclient8 (= ${binary:Version}),159Depends: libmirclient@MIRCLIENT_ABI@ (= ${binary:Version}),
160 libmircommon-dev (= ${binary:Version}),160 libmircommon-dev (= ${binary:Version}),
161 libprotobuf-dev (>= 2.4.1),161 libprotobuf-dev (>= 2.4.1),
162 ${misc:Depends},162 ${misc:Depends},
@@ -166,7 +166,7 @@
166 .166 .
167 Contains header files required to develop against Mir.167 Contains header files required to develop against Mir.
168168
169Package: libmirclient-debug-extension1169Package: libmirclient-debug-extension@MIRCLIENT_DEBUG_EXTENSION_ABI@
170Section: libs170Section: libs
171Architecture: i386 amd64 armhf arm64171Architecture: i386 amd64 armhf arm64
172Multi-Arch: same172Multi-Arch: same
@@ -192,8 +192,8 @@
192Architecture: i386 amd64 armhf arm64192Architecture: i386 amd64 armhf arm64
193Multi-Arch: same193Multi-Arch: same
194Pre-Depends: ${misc:Pre-Depends}194Pre-Depends: ${misc:Pre-Depends}
195Depends: libmirclient-debug-extension1 (= ${binary:Version}),195Depends: libmirclient-debug-extension@MIRCLIENT_DEBUG_EXTENSION_ABI@ (= ${binary:Version}),
196 ${misc:Depends},196 ${misc:Depends},
197 ${shlibs:Depends},197 ${shlibs:Depends},
198Description: Display server for Ubuntu - client debug interface headers198Description: Display server for Ubuntu - client debug interface headers
199 Mir is a display server running on linux systems, with a focus on efficiency,199 Mir is a display server running on linux systems, with a focus on efficiency,
@@ -252,7 +252,7 @@
252 .252 .
253 Contains a tool for stress testing the Mir display server253 Contains a tool for stress testing the Mir display server
254254
255Package: libmircommon3255Package: libmircommon@MIRCOMMON_ABI@
256Section: libs256Section: libs
257Architecture: i386 amd64 armhf arm64257Architecture: i386 amd64 armhf arm64
258Multi-Arch: same258Multi-Arch: same
@@ -266,7 +266,7 @@
266 Contains the shared libraries required for the Mir server and client.266 Contains the shared libraries required for the Mir server and client.
267267
268# Longer-term these drivers should move out-of-tree268# Longer-term these drivers should move out-of-tree
269Package: mir-platform-graphics-mesa2269Package: mir-platform-graphics-mesa@MIR_SERVER_GRAPHICS_PLATFORM_ABI@
270Section: libs270Section: libs
271Architecture: i386 amd64 armhf arm64271Architecture: i386 amd64 armhf arm64
272Multi-Arch: same272Multi-Arch: same
@@ -280,7 +280,7 @@
280 Contains the shared libraries required for the Mir server to interact with280 Contains the shared libraries required for the Mir server to interact with
281 the hardware platform using the Mesa drivers.281 the hardware platform using the Mesa drivers.
282282
283Package: mir-platform-graphics-android2283Package: mir-platform-graphics-android@MIR_SERVER_GRAPHICS_PLATFORM_ABI@
284Section: libs284Section: libs
285Architecture: i386 amd64 armhf285Architecture: i386 amd64 armhf
286Multi-Arch: same286Multi-Arch: same
@@ -294,7 +294,7 @@
294 Contains the shared libraries required for the Mir server to interact with294 Contains the shared libraries required for the Mir server to interact with
295 the hardware platform using the Android drivers.295 the hardware platform using the Android drivers.
296296
297Package: mir-client-platform-mesa2297Package: mir-client-platform-mesa@MIR_CLIENT_PLATFORM_ABI@
298Section: libs298Section: libs
299Architecture: i386 amd64 armhf arm64299Architecture: i386 amd64 armhf arm64
300Multi-Arch: same300Multi-Arch: same
@@ -322,7 +322,7 @@
322 Contains header files required to use the platform specific capabilities of322 Contains header files required to use the platform specific capabilities of
323 the Mir Mesa backend.323 the Mir Mesa backend.
324324
325Package: mir-client-platform-android2325Package: mir-client-platform-android@MIR_CLIENT_PLATFORM_ABI@
326Section: libs326Section: libs
327Architecture: i386 amd64 armhf327Architecture: i386 amd64 armhf
328Multi-Arch: same328Multi-Arch: same
@@ -342,8 +342,8 @@
342Multi-Arch: same342Multi-Arch: same
343Pre-Depends: ${misc:Pre-Depends}343Pre-Depends: ${misc:Pre-Depends}
344Depends: ${misc:Depends},344Depends: ${misc:Depends},
345 mir-platform-graphics-mesa2,345 mir-platform-graphics-mesa@MIR_SERVER_GRAPHICS_PLATFORM_ABI@,
346 mir-client-platform-mesa2,346 mir-client-platform-mesa@MIR_CLIENT_PLATFORM_ABI@,
347Description: Display server for Ubuntu - desktop driver metapackage347Description: Display server for Ubuntu - desktop driver metapackage
348 Mir is a display server running on linux systems, with a focus on efficiency,348 Mir is a display server running on linux systems, with a focus on efficiency,
349 robust operation and a well-defined driver model.349 robust operation and a well-defined driver model.
@@ -357,8 +357,8 @@
357Multi-Arch: same357Multi-Arch: same
358Pre-Depends: ${misc:Pre-Depends}358Pre-Depends: ${misc:Pre-Depends}
359Depends: ${misc:Depends},359Depends: ${misc:Depends},
360 mir-platform-graphics-android2,360 mir-platform-graphics-android@MIR_SERVER_GRAPHICS_PLATFORM_ABI@,
361 mir-client-platform-android2,361 mir-client-platform-android@MIR_CLIENT_PLATFORM_ABI@,
362Description: Display server for Ubuntu - android driver metapackage362Description: Display server for Ubuntu - android driver metapackage
363 Mir is a display server running on linux systems, with a focus on efficiency,363 Mir is a display server running on linux systems, with a focus on efficiency,
364 robust operation and a well-defined driver model.364 robust operation and a well-defined driver model.
365365
=== added file 'debian/create_control_and_install_files.sh'
--- debian/create_control_and_install_files.sh 1970-01-01 00:00:00 +0000
+++ debian/create_control_and_install_files.sh 2015-03-02 13:06:12 +0000
@@ -0,0 +1,78 @@
1#!/bin/sh
2
3set -e
4
5abi_vars="\
6 MIRCLIENT_ABI \
7 MIRCLIENT_DEBUG_EXTENSION_ABI \
8 MIR_CLIENT_PLATFORM_ABI \
9 MIRCOMMON_ABI \
10 MIRPLATFORM_ABI \
11 MIRPROTOBUF_ABI \
12 MIRSERVER_ABI \
13 MIR_SERVER_GRAPHICS_PLATFORM_ABI"
14
15install_files="\
16 libmirclient:MIRCLIENT_ABI \
17 libmirclient-debug-extension:MIRCLIENT_DEBUG_EXTENSION_ABI \
18 libmircommon:MIRCOMMON_ABI \
19 libmirplatform:MIRPLATFORM_ABI \
20 libmirprotobuf:MIRPROTOBUF_ABI \
21 libmirserver:MIRSERVER_ABI \
22 mir-client-platform-android:MIR_CLIENT_PLATFORM_ABI \
23 mir-client-platform-mesa:MIR_CLIENT_PLATFORM_ABI \
24 mir-platform-graphics-android:MIR_SERVER_GRAPHICS_PLATFORM_ABI \
25 mir-platform-graphics-mesa:MIR_SERVER_GRAPHICS_PLATFORM_ABI"
26
27
28get_abi_number()
29{
30 local abi_var=$1
31 grep -R "set($abi_var" src/* | grep -o '[[:digit:]]\+'
32}
33
34populate_abi_variables()
35{
36 for abi_var in $abi_vars;
37 do
38 local tmp=$(get_abi_number $abi_var)
39 if [ -z "$tmp" ];
40 then
41 echo "Failed to find ABI number for $abi_var"
42 exit 1
43 fi
44 eval "$abi_var=$tmp"
45 done
46}
47
48create_control_file()
49{
50 local cmd="sed"
51
52 for abi_var in $abi_vars;
53 do
54 cmd="$cmd -e \"s/@$abi_var@/\${$abi_var}/\""
55 done
56
57 cmd="$cmd debian/control.in > debian/control"
58
59 # Remove the debian/control symlink before writing to it
60 rm debian/control
61 eval "$cmd"
62}
63
64create_install_files()
65{
66 for f in $install_files;
67 do
68 local pkg=${f%%:*}
69 local abi_var=${f##*:}
70 local abi=$(eval "echo \$${abi_var}")
71 sed "s/@$abi_var@/$abi/" \
72 debian/${pkg}.install.in > debian/${pkg}${abi}.install
73 done
74}
75
76populate_abi_variables
77create_control_file
78create_install_files
079
=== removed file 'debian/create_postinst_prerm_scripts.sh'
--- debian/create_postinst_prerm_scripts.sh 2015-01-21 07:34:50 +0000
+++ debian/create_postinst_prerm_scripts.sh 1970-01-01 00:00:00 +0000
@@ -1,39 +0,0 @@
1#!/bin/sh
2
3set -e
4
5dpkg_alternatives_priority=500
6deb_host_arch=$1
7deb_host_multiarch=$2
8
9mir_platform_types="${PLATFORM_DRIVER}"
10case $deb_host_arch in
11 arm64)
12 mir_platforms="mesa"
13 ;;
14 *)
15 mir_platforms="android mesa"
16 ;;
17esac
18
19create_script()
20{
21 local script=$1
22 local platform_type=$2
23 local platform=$3
24
25 sed -e "s/@DEB_HOST_MULTIARCH@/$deb_host_multiarch/" \
26 -e "s/@MIR_PLATFORM_TYPE@/$platform_type/" \
27 -e "s/@MIR_PLATFORM@/$platform/" \
28 -e "s/@DPKG_ALTERNATIVES_PRIORITY@/$dpkg_alternatives_priority/" \
29 debian/update-alternatives.${script}.in > debian/libmir$platform_type-$platform.${script}
30}
31
32for platform_type in $mir_platform_types;
33do
34 for platform in $mir_platforms;
35 do
36 create_script postinst $platform_type $platform
37 create_script prerm $platform_type $platform
38 done
39done
400
=== removed file 'debian/install_ld_so_conf.sh'
--- debian/install_ld_so_conf.sh 2015-01-21 07:34:50 +0000
+++ debian/install_ld_so_conf.sh 1970-01-01 00:00:00 +0000
@@ -1,26 +0,0 @@
1#!/bin/sh
2
3set -e
4
5DEB_HOST_ARCH=$1
6DEB_HOST_MULTIARCH=$2
7
8mir_platform_types="${PLATFORM_DRIVER} ${CLIENT_DRIVER}"
9case $DEB_HOST_ARCH in
10 arm64)
11 mir_platforms="mesa"
12 ;;
13 *)
14 mir_platforms="android mesa"
15 ;;
16esac
17
18for platform_type in $mir_platform_types;
19do
20 for platform in $mir_platforms;
21 do
22 platform_dir="/usr/lib/$DEB_HOST_MULTIARCH/mir/$platform_type/$platform"
23 package_dir="debian/libmir$platform_type-$platform/$platform_dir"
24 echo "$platform_dir" > $package_dir/ld.so.conf
25 done
26done
270
=== renamed file 'debian/libmirclient-debug-extension1.install' => 'debian/libmirclient-debug-extension.install.in'
--- debian/libmirclient-debug-extension1.install 2014-08-25 07:23:50 +0000
+++ debian/libmirclient-debug-extension.install.in 2015-03-02 13:06:12 +0000
@@ -1,1 +1,1 @@
1usr/lib/*/libmirclient-debug-extension.so.*1usr/lib/*/libmirclient-debug-extension.so.@MIRCLIENT_DEBUG_EXTENSION_ABI@
22
=== renamed file 'debian/libmirclient8.install' => 'debian/libmirclient.install.in'
--- debian/libmirclient8.install 2015-01-21 07:34:50 +0000
+++ debian/libmirclient.install.in 2015-03-02 13:06:12 +0000
@@ -1,1 +1,1 @@
1usr/lib/*/libmirclient.so.81usr/lib/*/libmirclient.so.@MIRCLIENT_ABI@
22
=== renamed file 'debian/libmircommon3.install' => 'debian/libmircommon.install.in'
--- debian/libmircommon3.install 2015-01-21 07:34:50 +0000
+++ debian/libmircommon.install.in 2015-03-02 13:06:12 +0000
@@ -1,1 +1,1 @@
1usr/lib/*/libmircommon.so.31usr/lib/*/libmircommon.so.@MIRCOMMON_ABI@
22
=== renamed file 'debian/libmirplatform7.install' => 'debian/libmirplatform.install.in'
--- debian/libmirplatform7.install 2015-02-14 00:01:13 +0000
+++ debian/libmirplatform.install.in 2015-03-02 13:06:12 +0000
@@ -1,1 +1,1 @@
1usr/lib/*/libmirplatform.so.71usr/lib/*/libmirplatform.so.@MIRPLATFORM_ABI@
22
=== renamed file 'debian/libmirprotobuf0.install' => 'debian/libmirprotobuf.install.in'
--- debian/libmirprotobuf0.install 2014-10-21 15:42:39 +0000
+++ debian/libmirprotobuf.install.in 2015-03-02 13:06:12 +0000
@@ -1,1 +1,1 @@
1usr/lib/*/libmirprotobuf.so.01usr/lib/*/libmirprotobuf.so.@MIRPROTOBUF_ABI@
22
=== renamed file 'debian/libmirserver31.install' => 'debian/libmirserver.install.in'
--- debian/libmirserver31.install 2015-02-23 16:36:21 +0000
+++ debian/libmirserver.install.in 2015-03-02 13:06:12 +0000
@@ -1,1 +1,1 @@
1usr/lib/*/libmirserver.so.311usr/lib/*/libmirserver.so.@MIRSERVER_ABI@
22
=== renamed file 'debian/mir-client-platform-android2.install' => 'debian/mir-client-platform-android.install.in'
--- debian/mir-client-platform-android2.install 2015-02-20 12:11:25 +0000
+++ debian/mir-client-platform-android.install.in 2015-03-02 13:06:12 +0000
@@ -1,1 +1,1 @@
1usr/lib/*/mir/client-platform/android.so.21usr/lib/*/mir/client-platform/android.so.@MIR_CLIENT_PLATFORM_ABI@
22
=== renamed file 'debian/mir-client-platform-mesa2.install' => 'debian/mir-client-platform-mesa.install.in'
--- debian/mir-client-platform-mesa2.install 2015-02-20 12:11:25 +0000
+++ debian/mir-client-platform-mesa.install.in 2015-03-02 13:06:12 +0000
@@ -1,1 +1,1 @@
1usr/lib/*/mir/client-platform/mesa.so.21usr/lib/*/mir/client-platform/mesa.so.@MIR_CLIENT_PLATFORM_ABI@
22
=== renamed file 'debian/mir-platform-graphics-android2.install' => 'debian/mir-platform-graphics-android.install.in'
--- debian/mir-platform-graphics-android2.install 2015-02-20 12:11:25 +0000
+++ debian/mir-platform-graphics-android.install.in 2015-03-02 13:06:12 +0000
@@ -1,1 +1,1 @@
1usr/lib/*/mir/server-platform/graphics-android.so.21usr/lib/*/mir/server-platform/graphics-android.so.@MIR_SERVER_GRAPHICS_PLATFORM_ABI@
22
=== renamed file 'debian/mir-platform-graphics-mesa2.install' => 'debian/mir-platform-graphics-mesa.install.in'
--- debian/mir-platform-graphics-mesa2.install 2015-02-20 12:11:25 +0000
+++ debian/mir-platform-graphics-mesa.install.in 2015-03-02 13:06:12 +0000
@@ -1,1 +1,1 @@
1usr/lib/*/mir/server-platform/graphics-mesa.so.21usr/lib/*/mir/server-platform/graphics-mesa.so.@MIR_SERVER_GRAPHICS_PLATFORM_ABI@
22
=== modified file 'debian/rules'
--- debian/rules 2015-02-13 06:12:34 +0000
+++ debian/rules 2015-03-02 13:06:12 +0000
@@ -16,6 +16,10 @@
16%:16%:
17 dh $@ --parallel --fail-missing17 dh $@ --parallel --fail-missing
1818
19override_dh_testdir:
20 sh debian/create_control_and_install_files.sh
21 dh_testdir
22
19#overrding dh_auto_test to get rid of --parallel during testing23#overrding dh_auto_test to get rid of --parallel during testing
20override_dh_auto_test:24override_dh_auto_test:
21 GTEST_OUTPUT=xml:./ dh_auto_test --max-parallel=1 -- ARGS="-V"25 GTEST_OUTPUT=xml:./ dh_auto_test --max-parallel=1 -- ARGS="-V"
2226
=== modified file 'src/protobuf/CMakeLists.txt'
--- src/protobuf/CMakeLists.txt 2015-01-21 07:34:50 +0000
+++ src/protobuf/CMakeLists.txt 2015-03-02 13:06:12 +0000
@@ -25,11 +25,13 @@
25 ${PROTOBUF_LIBRARIES}25 ${PROTOBUF_LIBRARIES}
26)26)
2727
28set(MIRPROTOBUF_ABI 0)
29
28set_target_properties(30set_target_properties(
29 mirprotobuf31 mirprotobuf
3032
31 PROPERTIES33 PROPERTIES
32 SOVERSION 034 SOVERSION ${MIRPROTOBUF_ABI}
33)35)
3436
35# Export the include directories37# Export the include directories

Subscribers

People subscribed via source and target branches