[Buildroot] [PATCH v2] package/qt5location: handle plugins being conditionally built

Joshua Henderson joshua.henderson at microchip.com
Mon Jul 24 19:51:32 UTC 2017


Peter,

On 07/22/2017 12:24 PM, Peter Seiderer wrote:
> Hello Joshua,
> 
> On Fri, 21 Jul 2017 13:44:02 -0700, Joshua Henderson <joshua.henderson at microchip.com> wrote:
> 
>> This fixes a build issue where the qt5location plugins are not built, but are
>> attempted to be installed.
>>
>> The qt5location plugins have dependencies that are automatically and incorrectly
>> resolved causing plugins to conditionaly be built based on whether quick is
>> available. This change adds a patch that makes the plugins directory properly
>> depending on the positioning module irrelevent of quick.
>>
>> Fixes:
>>
>>     http://autobuild.buildroot.net/results/bc1/bc13abf3bb2fe1c991aec2334ee658c9641d1fd5/build-end.log
>>
>> Cc: Julien Corjon <corjon.j at ecagroup.com>
>> Cc: Peter Seiderer <ps.report at gmx.net>
>> Cc: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
>> Signed-off-by: Joshua Henderson <joshua.henderson at microchip.com>
>>
>> --
>>
>> Changes for v2:
>> - Instead of skipping missing files, fix the root cause of improper dependency
>>   on quick when building the position plugin.
>> ---
>>  ...001-Fix-plugins-build-dependency-tracking.patch | 40 ++++++++++++++++++++++
>>  1 file changed, 40 insertions(+)
>>  create mode 100644 package/qt5/qt5location/5.9.1/0001-Fix-plugins-build-dependency-tracking.patch
>>
>> diff --git a/package/qt5/qt5location/5.9.1/0001-Fix-plugins-build-dependency-tracking.patch b/package/qt5/qt5location/5.9.1/0001-Fix-plugins-build-dependency-tracking.patch
>> new file mode 100644
>> index 0000000..6be54a7
>> --- /dev/null
>> +++ b/package/qt5/qt5location/5.9.1/0001-Fix-plugins-build-dependency-tracking.patch
>> @@ -0,0 +1,40 @@
>> +From 415558af5b7f8b8681726a171c75a4cc9d46ed81 Mon Sep 17 00:00:00 2001
>> +From: Joshua Henderson <joshua.henderson at microchip.com>
>> +Date: Fri, 21 Jul 2017 13:05:03 -0700
>> +Subject: [PATCH] Fix plugins build dependency tracking
>> +
>> +This fixes an issue introduced by c54ee74acdb9757989004005baf79e99be4c9417
>> +where plugins only depends on positioning if quick is available. The
>> +plugins/position SUBDIR will build without the dependency on quick, so move
>> +the dependency back outside.
>> +
>> +Upstream-Status: https://bugreports.qt.io/browse/QTBUG-62098
>> +Signed-off-by: Joshua Henderson <joshua.henderson at microchip.com>
>> +---
>> + src/src.pro | 3 +--
>> + 1 file changed, 1 insertion(+), 2 deletions(-)
>> +
>> +diff --git a/src/src.pro b/src/src.pro
>> +index d0a1ee4..a0e6adb 100644
>> +--- a/src/src.pro
>> ++++ b/src/src.pro
>> +@@ -7,8 +7,6 @@ SUBDIRS += positioning
>> + positioning.depends = 3rdparty/clip2tri
>> + 
>> + qtHaveModule(quick) {
>> +-    plugins.depends += positioning
>> +-
>> +     SUBDIRS += location
>> +     location.depends += positioning 3rdparty/clip2tri
>> + 
>> +@@ -19,6 +17,7 @@ qtHaveModule(quick) {
>> + }
>> + 
>> + SUBDIRS += plugins
>> ++qtHaveModule(positioning): plugins.depends += positioning
> 
> Tested your patch, did not work, still:
> 
>   cp: cannot stat ‘.../build_aarch64_qt5location_001/host/aarch64-buildroot-linux-gnu/sysroot/usr/lib/qt/plugins/position’: No such file or directory
> 
> Would have expected (but did not (yet) check if it will work):
> 
> + plugins.depends += positioning
> 
> without the 'qtHaveModule(positioning)' dependency as it is the problem that this
> module is not available at the time the file src.pro is parsed to create the Makefile
> file...
> 
> Note: for testing your have to do a complete build (make clean && make) or some other
> step to cleanup the qt installation (on a second run the module positioning is already
> available)

I think you may be onto something with an erroneous unclean build sneaking in there while
testing this.  I did test without the qtHaveModule(positioning) and it does seem to work
correctly.  I did a v3 of this patch and included your upstream patch instead (which
looks to be applied now) to get buildroot working for 5.9.1 as necessary.

Josh


More information about the buildroot mailing list