Patchwork [meta-qt5,PATCHv2] nativesdk-qtbase: do qmake replacement in ${D} instead of ${B}

login
register
mail settings
Submitter Denys Dmytriyenko
Date Feb. 20, 2014, 5:12 p.m.
Message ID <1392916331-30391-1-git-send-email-denis@denix.org>
Download mbox | patch
Permalink /patch/67069/
State Accepted, archived
Headers show

Comments

Denys Dmytriyenko - Feb. 20, 2014, 5:12 p.m.
From: Denys Dmytriyenko <denys@ti.com>

* This way we don't mangle ${B} and can repeat do_install if necessary. And
  previously it would require running do_compile again to restore the proper
  state of ${B}.
* Need to bump PR, since do_compile isn't changing, but needs to re-run to
  re-populate qmake-real binary.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
---
 recipes-qt/qt5/nativesdk-qtbase.inc | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)
Otavio Salvador - Feb. 20, 2014, 5:52 p.m.
Hello Denys,

On Thu, Feb 20, 2014 at 2:12 PM, Denys Dmytriyenko <denis@denix.org> wrote:
> From: Denys Dmytriyenko <denys@ti.com>
>
> * This way we don't mangle ${B} and can repeat do_install if necessary. And
>   previously it would require running do_compile again to restore the proper
>   state of ${B}.
> * Need to bump PR, since do_compile isn't changing, but needs to re-run to
>   re-populate qmake-real binary.
>
> Signed-off-by: Denys Dmytriyenko <denys@ti.com>

Works like a charm. I will wait until tomorrow to see if someone has
any extra feedback and push it.

Thanks for reworking the patch.
Martin Jansa - Feb. 22, 2014, 8:05 a.m.
On Thu, Feb 20, 2014 at 12:12:11PM -0500, Denys Dmytriyenko wrote:
> From: Denys Dmytriyenko <denys@ti.com>
> 
> * This way we don't mangle ${B} and can repeat do_install if necessary. And
>   previously it would require running do_compile again to restore the proper
>   state of ${B}.
> * Need to bump PR, since do_compile isn't changing, but needs to re-run to
>   re-populate qmake-real binary.
> 
> Signed-off-by: Denys Dmytriyenko <denys@ti.com>
> ---
>  recipes-qt/qt5/nativesdk-qtbase.inc | 12 ++++++------
>  1 file changed, 6 insertions(+), 6 deletions(-)
> 
> diff --git a/recipes-qt/qt5/nativesdk-qtbase.inc b/recipes-qt/qt5/nativesdk-qtbase.inc
> index fa44009..3cb9b0e 100644
> --- a/recipes-qt/qt5/nativesdk-qtbase.inc
> +++ b/recipes-qt/qt5/nativesdk-qtbase.inc
> @@ -10,6 +10,8 @@ require nativesdk-qt5.inc
>  # it's already included with newer oe-core, but include it here for dylan
>  FILESEXTRAPATHS =. "${FILE_DIRNAME}/qtbase:"
>  
> +PR = "r1"
> +

It's already merged, but please don't add new PRs, especially to .inc
files.

>  # common with -native and target version
>  SRC_URI += "\
>      file://0001-Add-linux-oe-g-platform.patch \
> @@ -192,14 +194,12 @@ do_install() {
>      # Fix install paths for all
>      find -name "Makefile*" | xargs sed -i "s,(INSTALL_ROOT)${STAGING_DIR_NATIVE}${STAGING_DIR_NATIVE},(INSTALL_ROOT)${STAGING_DIR_NATIVE},g"
>  
> -    # switch back the proper qmake
> -    if [ -e ${B}/bin/qmake-real ]; then
> -        rm ${B}/bin/qmake
> -        mv ${B}/bin/qmake-real ${B}/bin/qmake
> -    fi
> -
>      oe_runmake install INSTALL_ROOT=${D}
>  
> +    # replace the native qmake installed above with nativesdk version
> +    rm -rf ${D}${OE_QMAKE_PATH_HOST_BINS}/qmake
> +    install -m 755 ${B}/bin/qmake-real ${D}${OE_QMAKE_PATH_HOST_BINS}/qmake
> +
>      # for modules which are still using syncqt and call qtPrepareTool(QMAKE_SYNCQT, syncqt)
>      # e.g. qt3d, qtwayland
>      ln -sf syncqt.pl ${D}${OE_QMAKE_PATH_QT_BINS}/syncqt
> -- 
> 1.8.3.2
> 
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel
Denys Dmytriyenko - Feb. 24, 2014, 2:46 p.m.
On Sat, Feb 22, 2014 at 09:05:05AM +0100, Martin Jansa wrote:
> On Thu, Feb 20, 2014 at 12:12:11PM -0500, Denys Dmytriyenko wrote:
> > From: Denys Dmytriyenko <denys@ti.com>
> > 
> > * This way we don't mangle ${B} and can repeat do_install if necessary. And
> >   previously it would require running do_compile again to restore the proper
> >   state of ${B}.
> > * Need to bump PR, since do_compile isn't changing, but needs to re-run to
> >   re-populate qmake-real binary.
> > 
> > Signed-off-by: Denys Dmytriyenko <denys@ti.com>
> > ---
> >  recipes-qt/qt5/nativesdk-qtbase.inc | 12 ++++++------
> >  1 file changed, 6 insertions(+), 6 deletions(-)
> > 
> > diff --git a/recipes-qt/qt5/nativesdk-qtbase.inc b/recipes-qt/qt5/nativesdk-qtbase.inc
> > index fa44009..3cb9b0e 100644
> > --- a/recipes-qt/qt5/nativesdk-qtbase.inc
> > +++ b/recipes-qt/qt5/nativesdk-qtbase.inc
> > @@ -10,6 +10,8 @@ require nativesdk-qt5.inc
> >  # it's already included with newer oe-core, but include it here for dylan
> >  FILESEXTRAPATHS =. "${FILE_DIRNAME}/qtbase:"
> >  
> > +PR = "r1"
> > +
> 
> It's already merged, but please don't add new PRs, especially to .inc
> files.

Please read the commit description above that explains the reason PR is 
required here. Without it, the build will be broken for everyone who already 
built nativesdk-qtbase and would require a clean up or rerun of do_compile


> >  # common with -native and target version
> >  SRC_URI += "\
> >      file://0001-Add-linux-oe-g-platform.patch \
> > @@ -192,14 +194,12 @@ do_install() {
> >      # Fix install paths for all
> >      find -name "Makefile*" | xargs sed -i "s,(INSTALL_ROOT)${STAGING_DIR_NATIVE}${STAGING_DIR_NATIVE},(INSTALL_ROOT)${STAGING_DIR_NATIVE},g"
> >  
> > -    # switch back the proper qmake
> > -    if [ -e ${B}/bin/qmake-real ]; then
> > -        rm ${B}/bin/qmake
> > -        mv ${B}/bin/qmake-real ${B}/bin/qmake
> > -    fi
> > -
> >      oe_runmake install INSTALL_ROOT=${D}
> >  
> > +    # replace the native qmake installed above with nativesdk version
> > +    rm -rf ${D}${OE_QMAKE_PATH_HOST_BINS}/qmake
> > +    install -m 755 ${B}/bin/qmake-real ${D}${OE_QMAKE_PATH_HOST_BINS}/qmake
> > +
> >      # for modules which are still using syncqt and call qtPrepareTool(QMAKE_SYNCQT, syncqt)
> >      # e.g. qt3d, qtwayland
> >      ln -sf syncqt.pl ${D}${OE_QMAKE_PATH_QT_BINS}/syncqt
> > -- 
> > 1.8.3.2
> > 
> > _______________________________________________
> > Openembedded-devel mailing list
> > Openembedded-devel@lists.openembedded.org
> > http://lists.openembedded.org/mailman/listinfo/openembedded-devel
> 
> -- 
> Martin 'JaMa' Jansa     jabber: Martin.Jansa@gmail.com



> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel
Otavio Salvador - Feb. 24, 2014, 3:18 p.m.
Hello Martin,

On Sat, Feb 22, 2014 at 5:05 AM, Martin Jansa <martin.jansa@gmail.com> wrote:
> On Thu, Feb 20, 2014 at 12:12:11PM -0500, Denys Dmytriyenko wrote:
>> From: Denys Dmytriyenko <denys@ti.com>
>>
>> * This way we don't mangle ${B} and can repeat do_install if necessary. And
>>   previously it would require running do_compile again to restore the proper
>>   state of ${B}.
>> * Need to bump PR, since do_compile isn't changing, but needs to re-run to
>>   re-populate qmake-real binary.
>>
>> Signed-off-by: Denys Dmytriyenko <denys@ti.com>
>> ---
>>  recipes-qt/qt5/nativesdk-qtbase.inc | 12 ++++++------
>>  1 file changed, 6 insertions(+), 6 deletions(-)
>>
>> diff --git a/recipes-qt/qt5/nativesdk-qtbase.inc b/recipes-qt/qt5/nativesdk-qtbase.inc
>> index fa44009..3cb9b0e 100644
>> --- a/recipes-qt/qt5/nativesdk-qtbase.inc
>> +++ b/recipes-qt/qt5/nativesdk-qtbase.inc
>> @@ -10,6 +10,8 @@ require nativesdk-qt5.inc
>>  # it's already included with newer oe-core, but include it here for dylan
>>  FILESEXTRAPATHS =. "${FILE_DIRNAME}/qtbase:"
>>
>> +PR = "r1"
>> +
>
> It's already merged, but please don't add new PRs, especially to .inc
> files.

As explained by Denys this is really need, in this case.  I agree it
could have been put in the bb recipe though.

Denys, could you move this to the bb recipe? This avoids the PR to be
kept when we update to newer version.
Martin Jansa - Feb. 24, 2014, 3:44 p.m.
On Mon, Feb 24, 2014 at 12:18:48PM -0300, Otavio Salvador wrote:
> Hello Martin,
> 
> On Sat, Feb 22, 2014 at 5:05 AM, Martin Jansa <martin.jansa@gmail.com> wrote:
> > On Thu, Feb 20, 2014 at 12:12:11PM -0500, Denys Dmytriyenko wrote:
> >> From: Denys Dmytriyenko <denys@ti.com>
> >>
> >> * This way we don't mangle ${B} and can repeat do_install if necessary. And
> >>   previously it would require running do_compile again to restore the proper
> >>   state of ${B}.
> >> * Need to bump PR, since do_compile isn't changing, but needs to re-run to
> >>   re-populate qmake-real binary.
> >>
> >> Signed-off-by: Denys Dmytriyenko <denys@ti.com>
> >> ---
> >>  recipes-qt/qt5/nativesdk-qtbase.inc | 12 ++++++------
> >>  1 file changed, 6 insertions(+), 6 deletions(-)
> >>
> >> diff --git a/recipes-qt/qt5/nativesdk-qtbase.inc b/recipes-qt/qt5/nativesdk-qtbase.inc
> >> index fa44009..3cb9b0e 100644
> >> --- a/recipes-qt/qt5/nativesdk-qtbase.inc
> >> +++ b/recipes-qt/qt5/nativesdk-qtbase.inc
> >> @@ -10,6 +10,8 @@ require nativesdk-qt5.inc
> >>  # it's already included with newer oe-core, but include it here for dylan
> >>  FILESEXTRAPATHS =. "${FILE_DIRNAME}/qtbase:"
> >>
> >> +PR = "r1"
> >> +
> >
> > It's already merged, but please don't add new PRs, especially to .inc
> > files.
> 
> As explained by Denys this is really need, in this case.  I agree it
> could have been put in the bb recipe though.

Sorry I've overlooked it in message.

with rm_work you wouldn't see this issue, but for cost of reexecuting
do_compile :)

> Denys, could you move this to the bb recipe? This avoids the PR to be
> kept when we update to newer version.

I can try to remember this and remove it when doing next upgrade to
5.2.2.
Otavio Salvador - Feb. 24, 2014, 3:47 p.m.
On Mon, Feb 24, 2014 at 12:44 PM, Martin Jansa <martin.jansa@gmail.com> wrote:
> On Mon, Feb 24, 2014 at 12:18:48PM -0300, Otavio Salvador wrote:
>> Hello Martin,
>>
>> On Sat, Feb 22, 2014 at 5:05 AM, Martin Jansa <martin.jansa@gmail.com> wrote:
>> > On Thu, Feb 20, 2014 at 12:12:11PM -0500, Denys Dmytriyenko wrote:
>> >> From: Denys Dmytriyenko <denys@ti.com>
>> >>
>> >> * This way we don't mangle ${B} and can repeat do_install if necessary. And
>> >>   previously it would require running do_compile again to restore the proper
>> >>   state of ${B}.
>> >> * Need to bump PR, since do_compile isn't changing, but needs to re-run to
>> >>   re-populate qmake-real binary.
>> >>
>> >> Signed-off-by: Denys Dmytriyenko <denys@ti.com>
>> >> ---
>> >>  recipes-qt/qt5/nativesdk-qtbase.inc | 12 ++++++------
>> >>  1 file changed, 6 insertions(+), 6 deletions(-)
>> >>
>> >> diff --git a/recipes-qt/qt5/nativesdk-qtbase.inc b/recipes-qt/qt5/nativesdk-qtbase.inc
>> >> index fa44009..3cb9b0e 100644
>> >> --- a/recipes-qt/qt5/nativesdk-qtbase.inc
>> >> +++ b/recipes-qt/qt5/nativesdk-qtbase.inc
>> >> @@ -10,6 +10,8 @@ require nativesdk-qt5.inc
>> >>  # it's already included with newer oe-core, but include it here for dylan
>> >>  FILESEXTRAPATHS =. "${FILE_DIRNAME}/qtbase:"
>> >>
>> >> +PR = "r1"
>> >> +
>> >
>> > It's already merged, but please don't add new PRs, especially to .inc
>> > files.
>>
>> As explained by Denys this is really need, in this case.  I agree it
>> could have been put in the bb recipe though.
>
> Sorry I've overlooked it in message.
>
> with rm_work you wouldn't see this issue, but for cost of reexecuting
> do_compile :)
>
>> Denys, could you move this to the bb recipe? This avoids the PR to be
>> kept when we update to newer version.
>
> I can try to remember this and remove it when doing next upgrade to
> 5.2.2.

Yes but I keep rm_work off in my builders to get this kind of failure ;-)

Patch

diff --git a/recipes-qt/qt5/nativesdk-qtbase.inc b/recipes-qt/qt5/nativesdk-qtbase.inc
index fa44009..3cb9b0e 100644
--- a/recipes-qt/qt5/nativesdk-qtbase.inc
+++ b/recipes-qt/qt5/nativesdk-qtbase.inc
@@ -10,6 +10,8 @@  require nativesdk-qt5.inc
 # it's already included with newer oe-core, but include it here for dylan
 FILESEXTRAPATHS =. "${FILE_DIRNAME}/qtbase:"
 
+PR = "r1"
+
 # common with -native and target version
 SRC_URI += "\
     file://0001-Add-linux-oe-g-platform.patch \
@@ -192,14 +194,12 @@  do_install() {
     # Fix install paths for all
     find -name "Makefile*" | xargs sed -i "s,(INSTALL_ROOT)${STAGING_DIR_NATIVE}${STAGING_DIR_NATIVE},(INSTALL_ROOT)${STAGING_DIR_NATIVE},g"
 
-    # switch back the proper qmake
-    if [ -e ${B}/bin/qmake-real ]; then
-        rm ${B}/bin/qmake
-        mv ${B}/bin/qmake-real ${B}/bin/qmake
-    fi
-
     oe_runmake install INSTALL_ROOT=${D}
 
+    # replace the native qmake installed above with nativesdk version
+    rm -rf ${D}${OE_QMAKE_PATH_HOST_BINS}/qmake
+    install -m 755 ${B}/bin/qmake-real ${D}${OE_QMAKE_PATH_HOST_BINS}/qmake
+
     # for modules which are still using syncqt and call qtPrepareTool(QMAKE_SYNCQT, syncqt)
     # e.g. qt3d, qtwayland
     ln -sf syncqt.pl ${D}${OE_QMAKE_PATH_QT_BINS}/syncqt