[oe] [meta-qt5][PATCH] qtbase: fix up pkgconfig replacements

Jonathan Liu net147 at gmail.com
Wed Mar 2 03:36:50 UTC 2016


On 2 March 2016 at 03:18, Martin Jansa <martin.jansa at gmail.com> wrote:
> On Fri, Feb 26, 2016 at 07:19:28PM +1100, Jonathan Liu wrote:
>> The replacements were being done in qt_module.prf which is not included
>> when building 3rd party libraries. To resolve this, move the
>> replacements from qt_module.prf to qt.prf which is included when
>> building any qmake project. The pkgconfig include replacement is removed
>> as it doesn't seem to be needed anymore and causes issues when the
>> includedir path in pkgconfig has part of its path replaced with
>> ${includedir} resulting in a circular reference that causes the OE
>> package_do_pkgconfig task to fail.
>>
>> Signed-off-by: Jonathan Liu <net147 at gmail.com>
>> ---
>>  ...le-Fix-pkgconfig-and-libtool-replacements.patch | 56 +++++++++++-----------
>>  1 file changed, 27 insertions(+), 29 deletions(-)
>
> This seems to break qtwebengine's pkg-config
>
> NOTE: recipe qtwebengine-5.5.99+5.6.0-rc+gitAUTOINC+64dc919d31_7e655fbb76-r0: task do_populate_sysroot: Started
> ERROR: qtwebengine-5.5.99+5.6.0-rc+gitAUTOINC+64dc919d31_7e655fbb76-r0 do_populate_sysroot: QA Issue: Qt5WebEngineCore.pc failed sanity test (tmpdir) in path /home/jenkins/oe/world/shr-core/tmp-glibc/work/core2-64-oe-linux/qtwebengine/5.5.99+5.6.0-rc+gitAUTOINC+64dc919d31_7e655fbb76-r0/sysroot-destdir/usr/lib/pkgconfig [pkgconfig]
> ERROR: qtwebengine-5.5.99+5.6.0-rc+gitAUTOINC+64dc919d31_7e655fbb76-r0 do_populate_sysroot: QA staging was broken by the package built above
> ERROR: qtwebengine-5.5.99+5.6.0-rc+gitAUTOINC+64dc919d31_7e655fbb76-r0 do_populate_sysroot: Function failed: do_qa_staging
> ERROR: Logfile of failure stored in: /home/jenkins/oe/world/shr-core/tmp-glibc/work/core2-64-oe-linux/qtwebengine/5.5.99+5.6.0-rc+gitAUTOINC+64dc919d31_7e655fbb76-r0/temp/log.do_populate_sysroot.22802
> NOTE: recipe qtwebengine-5.5.99+5.6.0-rc+gitAUTOINC+64dc919d31_7e655fbb76-r0: task do_populate_sysroot: Failed
> ERROR: Task 22201 (/home/jenkins/oe/world/shr-core/meta-qt5/recipes-qt/qt5/qtwebengine_git.bb, do_populate_sysroot) failed with exit code '1'
>
> Any idea why this replacement wouldn't be used for qtwebengine?
>

It works for me in meta-qt5 master-next branch. Revision 64dc919d31
doesn't seem to exist in the git://code.qt.io/qt/qtwebengine.git
repository.

I tested with qtwebengine
PV="5.5.99+5.6.0-rc+gitAUTOINC+3f02c25de4_779a2388fc" and it is
working.
Can you check whether it is working in master-next for you?

Regards,
Jonathan

>>
>> diff --git a/recipes-qt/qt5/qtbase/0004-qt_module-Fix-pkgconfig-and-libtool-replacements.patch b/recipes-qt/qt5/qtbase/0004-qt_module-Fix-pkgconfig-and-libtool-replacements.patch
>> index 7520107..4807df0 100644
>> --- a/recipes-qt/qt5/qtbase/0004-qt_module-Fix-pkgconfig-and-libtool-replacements.patch
>> +++ b/recipes-qt/qt5/qtbase/0004-qt_module-Fix-pkgconfig-and-libtool-replacements.patch
>> @@ -61,11 +61,36 @@ Content-Transfer-Encoding: 8bit
>>  Change-Id: Ie1c94b15f2a4e736b65b4d0924d99eb2a7d92a6c
>>  Signed-off-by: Martin Jansa <Martin.Jansa at gmail.com>
>>  Signed-off-by: Andreas Müller <schnitzeltony at googlemail.com>
>> +Signed-off-by: Jonathan Liu <net147 at gmail.com>
>>  ---
>> + mkspecs/features/qt.prf        | 13 +++++++++++++
>>   mkspecs/features/qt_common.prf |  2 +-
>> - mkspecs/features/qt_module.prf | 16 ++++++++++++++++
>> - 2 files changed, 17 insertions(+), 1 deletion(-)
>> + 2 files changed, 14 insertions(+), 1 deletion(-)
>>
>> +diff --git a/mkspecs/features/qt.prf b/mkspecs/features/qt.prf
>> +index f62b6bb..91be8b3 100644
>> +--- a/mkspecs/features/qt.prf
>> ++++ b/mkspecs/features/qt.prf
>> +@@ -321,6 +321,19 @@ contains(TEMPLATE, .*app) {
>> +     QTPLUGIN = $$manualplugs $$autoplugs
>> + }
>> +
>> ++contains(TEMPLATE, .*lib) {
>> ++    pkgconfig_prefix_replace.match = "prefix=$$[QT_SYSROOT]"
>> ++    pkgconfig_prefix_replace.replace = "prefix="
>> ++    pkgconfig_prefix_replace.CONFIG = path
>> ++    QMAKE_PKGCONFIG_INSTALL_REPLACE += pkgconfig_prefix_replace
>> ++
>> ++    # drop -L/usr/lib in .prl files
>> ++    prl_replace.match = "-L\$${libdir}"
>> ++    prl_replace.replace = ""
>> ++    prl_replace.CONFIG = path
>> ++    QMAKE_PRL_INSTALL_REPLACE += prl_replace
>> ++}
>> ++
>> + QT_PLUGIN_VERIFY = DEPLOYMENT_PLUGIN
>> + contains(QT_CONFIG, static) {
>> +     QT_PLUGIN_VERIFY += QTPLUGIN
>>  diff --git a/mkspecs/features/qt_common.prf b/mkspecs/features/qt_common.prf
>>  index 38602f6..f9c401f 100644
>>  --- a/mkspecs/features/qt_common.prf
>> @@ -79,33 +104,6 @@ index 38602f6..f9c401f 100644
>>       }
>>       lib_replace.CONFIG = path
>>       QMAKE_PRL_INSTALL_REPLACE += lib_replace
>> -diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf
>> -index aefd3ae..775cda2 100644
>> ---- a/mkspecs/features/qt_module.prf
>> -+++ b/mkspecs/features/qt_module.prf
>> -@@ -276,6 +276,22 @@ load(qt_targets)
>> -         ltlib_replace.replace = $$QMAKE_LIBTOOL_LIBDIR
>> -     ltlib_replace.CONFIG = path
>> -     QMAKE_LIBTOOL_INSTALL_REPLACE += ltlib_replace
>> -+
>> -+    pkgconfig_include_replace.match = $$rplbase/include
>> -+    pkgconfig_include_replace.replace = "\$$\\{includedir}"
>> -+    pkgconfig_include_replace.CONFIG = path
>> -+    QMAKE_PKGCONFIG_INSTALL_REPLACE += pkgconfig_include_replace
>> -+
>> -+    pkgconfig_prefix_replace.match = "prefix=$$[QT_SYSROOT]"
>> -+    pkgconfig_prefix_replace.replace = "prefix="
>> -+    pkgconfig_prefix_replace.CONFIG = path
>> -+    QMAKE_PKGCONFIG_INSTALL_REPLACE += pkgconfig_prefix_replace
>> -+
>> -+    # drop -L/usr/lib in .prl files
>> -+    prl_replace.match = "-L\$${libdir}"
>> -+    prl_replace.replace = ""
>> -+    prl_replace.CONFIG = path
>> -+    QMAKE_PRL_INSTALL_REPLACE += prl_replace
>> - }
>> -
>> - contains(QT_PRODUCT, OpenSource.*):DEFINES *= QT_OPENSOURCE
>>  --
>>  2.7.1
>>
>> --
>> 2.7.1
>>
>> --
>> _______________________________________________
>> Openembedded-devel mailing list
>> Openembedded-devel at lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/openembedded-devel
>
> --
> Martin 'JaMa' Jansa     jabber: Martin.Jansa at gmail.com
>
> --
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel
>



More information about the Openembedded-devel mailing list