Patchwork [meta-oe] libconnman-qt: fix linking and packaging with Qt4/Embedded

login
register
mail settings
Submitter Andreas Oberritter
Date Jan. 28, 2014, 3:34 p.m.
Message ID <1390923283-17138-1-git-send-email-obi@opendreambox.org>
Download mbox | patch
Permalink /patch/65965/
State Accepted, archived
Headers show

Comments

Andreas Oberritter - Jan. 28, 2014, 3:34 p.m.
* Don't overwrite EXTRA_QMAKEVARS_PRE, because qt4e.bbclass uses
  it to pass on QT_LIBINFX.
* Generalize QT_IMPORTS_DIR to make it valid for qte.

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
---
 meta-oe/recipes-qt/libconnman-qt/libconnman-qt.inc | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
Otavio Salvador - Jan. 28, 2014, 9:49 p.m.
On Tue, Jan 28, 2014 at 1:34 PM, Andreas Oberritter
<obi@opendreambox.org> wrote:
> * Don't overwrite EXTRA_QMAKEVARS_PRE, because qt4e.bbclass uses
>   it to pass on QT_LIBINFX.
> * Generalize QT_IMPORTS_DIR to make it valid for qte.
>
> Signed-off-by: Andreas Oberritter <obi@opendreambox.org>

Reviewed-by: Otavio Salvador <otavio@ossystems.com.br>
Martin Jansa - Feb. 1, 2014, 7:50 a.m.
On Tue, Jan 28, 2014 at 04:34:43PM +0100, Andreas Oberritter wrote:
> * Don't overwrite EXTRA_QMAKEVARS_PRE, because qt4e.bbclass uses
>   it to pass on QT_LIBINFX.
> * Generalize QT_IMPORTS_DIR to make it valid for qte.
> 
> Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
> ---
>  meta-oe/recipes-qt/libconnman-qt/libconnman-qt.inc | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/meta-oe/recipes-qt/libconnman-qt/libconnman-qt.inc b/meta-oe/recipes-qt/libconnman-qt/libconnman-qt.inc
> index e4f68db..77e70e8 100644
> --- a/meta-oe/recipes-qt/libconnman-qt/libconnman-qt.inc
> +++ b/meta-oe/recipes-qt/libconnman-qt/libconnman-qt.inc
> @@ -12,7 +12,7 @@ S = "${WORKDIR}/git"
>  
>  inherit pkgconfig
>  
> -EXTRA_QMAKEVARS_PRE = "CONFIG+=notests"
> +EXTRA_QMAKEVARS_PRE += "CONFIG+=notests"
>  
>  do_configure_prepend() {
>      # Hack *.pro variables
> @@ -48,6 +48,6 @@ FILES_${PN}-plugin-dbg = " \
>      ${PLUGINS_TARGET}/.debug/* \
>  "
>  
> -QT_IMPORTS_DIR = "${libdir}/qt4/imports"
> +QT_IMPORTS_DIR = "${libdir}/${QT_DIR_NAME}/imports"
>  # the plugin target needs to be the same as 'target.path' and 'qmldir.path' in ${S}/plugin/plugin.pro
>  PLUGINS_TARGET = "${QT_IMPORTS_DIR}/MeeGo/Connman"

Can qte version install files in sysroot with different names? Currently
they conflict with qt version:

NOTE: recipe libconnman-qt-1.0.46+gitAUTOINC+ddbeaf72b4-r0: task do_populate_sysroot: Started
NOTE: recipe libconnman-qt-1.0.46+gitAUTOINC+ddbeaf72b4-r0: task do_package: Started
WARNING: The recipe libconnman-qt is trying to install files into a shared area when those files already exist. Those files and their manifest location are:
   /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/sysroots/qemuarm/usr/lib/libconnman-qt4.so.1.0.46
   Matched in manifest-qemuarm-libconnman-qte.populate_sysroot
   /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/sysroots/qemuarm/usr/lib/libconnman-qt4.so
   Matched in manifest-qemuarm-libconnman-qte.populate_sysroot
   /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/sysroots/qemuarm/usr/lib/libconnman-qt4.so.1
   Matched in manifest-qemuarm-libconnman-qte.populate_sysroot
   /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/sysroots/qemuarm/usr/lib/libconnman-qt4.so.1.0
   Matched in manifest-qemuarm-libconnman-qte.populate_sysroot
   /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/sysroots/qemuarm/usr/lib/libconnman-qt4.prl
   Matched in manifest-qemuarm-libconnman-qte.populate_sysroot
   /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/sysroots/qemuarm/usr/lib/connman-qt4.pc
   Matched in manifest-qemuarm-libconnman-qte.populate_sysroot
   /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/sysroots/qemuarm/usr/lib/pkgconfig/connman-qt4.pc
   Matched in manifest-qemuarm-libconnman-qte.populate_sysroot
   /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/sysroots/qemuarm/usr/include/connman-qt/networkmanager.h
   Matched in manifest-qemuarm-libconnman-qte.populate_sysroot
   /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/sysroots/qemuarm/usr/include/connman-qt/networktechnology.h
   Matched in manifest-qemuarm-libconnman-qte.populate_sysroot
   /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/sysroots/qemuarm/usr/include/connman-qt/networkservice.h
   Matched in manifest-qemuarm-libconnman-qte.populate_sysroot
   /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/sysroots/qemuarm/usr/include/connman-qt/commondbustypes.h
   Matched in manifest-qemuarm-libconnman-qte.populate_sysroot
   /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/sysroots/qemuarm/usr/include/connman-qt/connmannetworkproxyfactory.h
   Matched in manifest-qemuarm-libconnman-qte.populate_sysroot
   /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/sysroots/qemuarm/usr/include/connman-qt/clockmodel.h
   Matched in manifest-qemuarm-libconnman-qte.populate_sysroot
   /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/sysroots/qemuarm/usr/include/connman-qt/useragent.h
   Matched in manifest-qemuarm-libconnman-qte.populate_sysroot
   /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/sysroots/qemuarm/usr/include/connman-qt/sessionagent.h
   Matched in manifest-qemuarm-libconnman-qte.populate_sysroot
   /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/sysroots/qemuarm/usr/include/connman-qt/networksession.h
   Matched in manifest-qemuarm-libconnman-qte.populate_sysroot
   /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/sysroots/qemuarm/usr/include/connman-qt/counter.h
   Matched in manifest-qemuarm-libconnman-qte.populate_sysroot
Please verify which package should provide the above files.

> -- 
> 1.8.3.2
> 
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel
Andreas Oberritter - Feb. 1, 2014, 12:33 p.m.
On 01.02.2014 08:50, Martin Jansa wrote:
> On Tue, Jan 28, 2014 at 04:34:43PM +0100, Andreas Oberritter wrote:
>> * Don't overwrite EXTRA_QMAKEVARS_PRE, because qt4e.bbclass uses
>>   it to pass on QT_LIBINFX.
>> * Generalize QT_IMPORTS_DIR to make it valid for qte.
>>
>> Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
>> ---
>>  meta-oe/recipes-qt/libconnman-qt/libconnman-qt.inc | 4 ++--
>>  1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/meta-oe/recipes-qt/libconnman-qt/libconnman-qt.inc b/meta-oe/recipes-qt/libconnman-qt/libconnman-qt.inc
>> index e4f68db..77e70e8 100644
>> --- a/meta-oe/recipes-qt/libconnman-qt/libconnman-qt.inc
>> +++ b/meta-oe/recipes-qt/libconnman-qt/libconnman-qt.inc
>> @@ -12,7 +12,7 @@ S = "${WORKDIR}/git"
>>  
>>  inherit pkgconfig
>>  
>> -EXTRA_QMAKEVARS_PRE = "CONFIG+=notests"
>> +EXTRA_QMAKEVARS_PRE += "CONFIG+=notests"
>>  
>>  do_configure_prepend() {
>>      # Hack *.pro variables
>> @@ -48,6 +48,6 @@ FILES_${PN}-plugin-dbg = " \
>>      ${PLUGINS_TARGET}/.debug/* \
>>  "
>>  
>> -QT_IMPORTS_DIR = "${libdir}/qt4/imports"
>> +QT_IMPORTS_DIR = "${libdir}/${QT_DIR_NAME}/imports"
>>  # the plugin target needs to be the same as 'target.path' and 'qmldir.path' in ${S}/plugin/plugin.pro
>>  PLUGINS_TARGET = "${QT_IMPORTS_DIR}/MeeGo/Connman"
> 
> Can qte version install files in sysroot with different names? Currently
> they conflict with qt version:

Not by default. This would require patches for libconnman-qt and also
for applications using it, because the pkgconfig name would diverge from
upstream. Not a problem for my use case, though.

I'll try to work something out.

Regards,
Andreas

> NOTE: recipe libconnman-qt-1.0.46+gitAUTOINC+ddbeaf72b4-r0: task do_populate_sysroot: Started
> NOTE: recipe libconnman-qt-1.0.46+gitAUTOINC+ddbeaf72b4-r0: task do_package: Started
> WARNING: The recipe libconnman-qt is trying to install files into a shared area when those files already exist. Those files and their manifest location are:
>    /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/sysroots/qemuarm/usr/lib/libconnman-qt4.so.1.0.46
>    Matched in manifest-qemuarm-libconnman-qte.populate_sysroot
>    /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/sysroots/qemuarm/usr/lib/libconnman-qt4.so
>    Matched in manifest-qemuarm-libconnman-qte.populate_sysroot
>    /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/sysroots/qemuarm/usr/lib/libconnman-qt4.so.1
>    Matched in manifest-qemuarm-libconnman-qte.populate_sysroot
>    /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/sysroots/qemuarm/usr/lib/libconnman-qt4.so.1.0
>    Matched in manifest-qemuarm-libconnman-qte.populate_sysroot
>    /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/sysroots/qemuarm/usr/lib/libconnman-qt4.prl
>    Matched in manifest-qemuarm-libconnman-qte.populate_sysroot
>    /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/sysroots/qemuarm/usr/lib/connman-qt4.pc
>    Matched in manifest-qemuarm-libconnman-qte.populate_sysroot
>    /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/sysroots/qemuarm/usr/lib/pkgconfig/connman-qt4.pc
>    Matched in manifest-qemuarm-libconnman-qte.populate_sysroot
>    /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/sysroots/qemuarm/usr/include/connman-qt/networkmanager.h
>    Matched in manifest-qemuarm-libconnman-qte.populate_sysroot
>    /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/sysroots/qemuarm/usr/include/connman-qt/networktechnology.h
>    Matched in manifest-qemuarm-libconnman-qte.populate_sysroot
>    /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/sysroots/qemuarm/usr/include/connman-qt/networkservice.h
>    Matched in manifest-qemuarm-libconnman-qte.populate_sysroot
>    /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/sysroots/qemuarm/usr/include/connman-qt/commondbustypes.h
>    Matched in manifest-qemuarm-libconnman-qte.populate_sysroot
>    /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/sysroots/qemuarm/usr/include/connman-qt/connmannetworkproxyfactory.h
>    Matched in manifest-qemuarm-libconnman-qte.populate_sysroot
>    /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/sysroots/qemuarm/usr/include/connman-qt/clockmodel.h
>    Matched in manifest-qemuarm-libconnman-qte.populate_sysroot
>    /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/sysroots/qemuarm/usr/include/connman-qt/useragent.h
>    Matched in manifest-qemuarm-libconnman-qte.populate_sysroot
>    /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/sysroots/qemuarm/usr/include/connman-qt/sessionagent.h
>    Matched in manifest-qemuarm-libconnman-qte.populate_sysroot
>    /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/sysroots/qemuarm/usr/include/connman-qt/networksession.h
>    Matched in manifest-qemuarm-libconnman-qte.populate_sysroot
>    /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/sysroots/qemuarm/usr/include/connman-qt/counter.h
>    Matched in manifest-qemuarm-libconnman-qte.populate_sysroot
> Please verify which package should provide the above files.
> 
>> -- 
>> 1.8.3.2
>>
>> _______________________________________________
>> Openembedded-devel mailing list
>> Openembedded-devel@lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/openembedded-devel
> 
> 
> 
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel
>

Patch

diff --git a/meta-oe/recipes-qt/libconnman-qt/libconnman-qt.inc b/meta-oe/recipes-qt/libconnman-qt/libconnman-qt.inc
index e4f68db..77e70e8 100644
--- a/meta-oe/recipes-qt/libconnman-qt/libconnman-qt.inc
+++ b/meta-oe/recipes-qt/libconnman-qt/libconnman-qt.inc
@@ -12,7 +12,7 @@  S = "${WORKDIR}/git"
 
 inherit pkgconfig
 
-EXTRA_QMAKEVARS_PRE = "CONFIG+=notests"
+EXTRA_QMAKEVARS_PRE += "CONFIG+=notests"
 
 do_configure_prepend() {
     # Hack *.pro variables
@@ -48,6 +48,6 @@  FILES_${PN}-plugin-dbg = " \
     ${PLUGINS_TARGET}/.debug/* \
 "
 
-QT_IMPORTS_DIR = "${libdir}/qt4/imports"
+QT_IMPORTS_DIR = "${libdir}/${QT_DIR_NAME}/imports"
 # the plugin target needs to be the same as 'target.path' and 'qmldir.path' in ${S}/plugin/plugin.pro
 PLUGINS_TARGET = "${QT_IMPORTS_DIR}/MeeGo/Connman"