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

Martin Jansa martin.jansa at gmail.com
Tue Mar 1 16:18:40 UTC 2016


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?

> 
> 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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://lists.openembedded.org/pipermail/openembedded-devel/attachments/20160301/97e56e89/attachment-0002.sig>


More information about the Openembedded-devel mailing list