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

Martin Jansa martin.jansa at gmail.com
Wed Mar 2 09:48:35 UTC 2016


On Wed, Mar 02, 2016 at 02:36:50PM +1100, Jonathan Liu wrote:
> 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?

The issue was caused by meta-luneui layer which is also included in my
bitbake world builds.

Sorry

> 
> 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
> >
> -- 
> _______________________________________________
> 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/20160302/a60ba27e/attachment-0002.sig>


More information about the Openembedded-devel mailing list