[oe,meta-qt5,v2] qt5-ptest.inc: fix qtxmlpatterns:do_install_ptest out-of-order call

Message ID 1508352164-79210-1-git-send-email-denis@denix.org
State New
Headers show
Series
  • [oe,meta-qt5,v2] qt5-ptest.inc: fix qtxmlpatterns:do_install_ptest out-of-order call
Related show

Commit Message

Denys Dmytriyenko Oct. 18, 2017, 6:42 p.m.
From: Denys Dmytriyenko <denys@ti.com>


ptest.bbclass provides a set of standard do_*_ptest_base tasks. Each of
them calls a corresponding regular do_*_ptest task, that components are
supposed to override for own implementation. When PTEST_ENABLED is not
set, an anonymous python function removes all do_*_ptest_base tasks from
the queue. qt5-ptest.inc adds a special case for do_populate_sysroot and
re-arranges the order or ptest tasks due to that. But, unfortunately,
do_install_ptest was added directly, not do_install_ptest_base, hence when
"ptest" is disabled and all other do_*_ptest_base tasks are removed, this
one do_install_ptest task is left w/o dependencies and gets scheduled for
execution very early on, even before pseudo-native gets built and stages
"fakeroot" functionality. The fix is to add do_install_ptest_base task,
which calls do_install_ptest only when "ptest" is enabled.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>

---
v2 - fix circular dependencies, delete default do_install_ptest_base

 recipes-qt/qt5/qt5-ptest.inc | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

-- 
2.7.4

-- 
_______________________________________________
Openembedded-devel mailing list
Openembedded-devel@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-devel

Comments

Martin Jansa Oct. 20, 2017, 10:54 p.m. | #1
Either this or the objcopy change seems to cause:
http://errors.yoctoproject.org/Errors/Details/157417/

On Wed, Oct 18, 2017 at 8:42 PM, Denys Dmytriyenko <denis@denix.org> wrote:

> From: Denys Dmytriyenko <denys@ti.com>

>

> ptest.bbclass provides a set of standard do_*_ptest_base tasks. Each of

> them calls a corresponding regular do_*_ptest task, that components are

> supposed to override for own implementation. When PTEST_ENABLED is not

> set, an anonymous python function removes all do_*_ptest_base tasks from

> the queue. qt5-ptest.inc adds a special case for do_populate_sysroot and

> re-arranges the order or ptest tasks due to that. But, unfortunately,

> do_install_ptest was added directly, not do_install_ptest_base, hence when

> "ptest" is disabled and all other do_*_ptest_base tasks are removed, this

> one do_install_ptest task is left w/o dependencies and gets scheduled for

> execution very early on, even before pseudo-native gets built and stages

> "fakeroot" functionality. The fix is to add do_install_ptest_base task,

> which calls do_install_ptest only when "ptest" is enabled.

>

> Signed-off-by: Denys Dmytriyenko <denys@ti.com>

> ---

> v2 - fix circular dependencies, delete default do_install_ptest_base

>

>  recipes-qt/qt5/qt5-ptest.inc | 5 +++--

>  1 file changed, 3 insertions(+), 2 deletions(-)

>

> diff --git a/recipes-qt/qt5/qt5-ptest.inc b/recipes-qt/qt5/qt5-ptest.inc

> index 4844878..97bce88 100644

> --- a/recipes-qt/qt5/qt5-ptest.inc

> +++ b/recipes-qt/qt5/qt5-ptest.inc

> @@ -4,8 +4,9 @@ inherit ptest

>

>  addtask do_populate_sysroot after do_install before do_compile_ptest_base

>  deltask do_compile_ptest_base

> -addtask do_compile_ptest_base after do_populate_sysroot before

> do_install_ptest

> -addtask do_install_ptest after do_compile_ptest_base before do_package

> +addtask do_compile_ptest_base after do_populate_sysroot before

> do_install_ptest_base

> +deltask do_install_ptest_base

> +addtask do_install_ptest_base after do_compile_ptest_base before

> do_package

>

>  do_compile_ptest() {

>      cd ${S}/tests

> --

> 2.7.4

>

> --

> _______________________________________________

> 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
Denys Dmytriyenko Oct. 22, 2017, 9:56 a.m. | #2
I've seen some breakage, not exactly this one, when trying to build with this 
change - had to clean sstate for some reason, then it worked...


On Sat, Oct 21, 2017 at 12:54:41AM +0200, Martin Jansa wrote:
> Either this or the objcopy change seems to cause:

> http://errors.yoctoproject.org/Errors/Details/157417/

> 

> On Wed, Oct 18, 2017 at 8:42 PM, Denys Dmytriyenko <denis@denix.org> wrote:

> 

> > From: Denys Dmytriyenko <denys@ti.com>

> >

> > ptest.bbclass provides a set of standard do_*_ptest_base tasks. Each of

> > them calls a corresponding regular do_*_ptest task, that components are

> > supposed to override for own implementation. When PTEST_ENABLED is not

> > set, an anonymous python function removes all do_*_ptest_base tasks from

> > the queue. qt5-ptest.inc adds a special case for do_populate_sysroot and

> > re-arranges the order or ptest tasks due to that. But, unfortunately,

> > do_install_ptest was added directly, not do_install_ptest_base, hence when

> > "ptest" is disabled and all other do_*_ptest_base tasks are removed, this

> > one do_install_ptest task is left w/o dependencies and gets scheduled for

> > execution very early on, even before pseudo-native gets built and stages

> > "fakeroot" functionality. The fix is to add do_install_ptest_base task,

> > which calls do_install_ptest only when "ptest" is enabled.

> >

> > Signed-off-by: Denys Dmytriyenko <denys@ti.com>

> > ---

> > v2 - fix circular dependencies, delete default do_install_ptest_base

> >

> >  recipes-qt/qt5/qt5-ptest.inc | 5 +++--

> >  1 file changed, 3 insertions(+), 2 deletions(-)

> >

> > diff --git a/recipes-qt/qt5/qt5-ptest.inc b/recipes-qt/qt5/qt5-ptest.inc

> > index 4844878..97bce88 100644

> > --- a/recipes-qt/qt5/qt5-ptest.inc

> > +++ b/recipes-qt/qt5/qt5-ptest.inc

> > @@ -4,8 +4,9 @@ inherit ptest

> >

> >  addtask do_populate_sysroot after do_install before do_compile_ptest_base

> >  deltask do_compile_ptest_base

> > -addtask do_compile_ptest_base after do_populate_sysroot before

> > do_install_ptest

> > -addtask do_install_ptest after do_compile_ptest_base before do_package

> > +addtask do_compile_ptest_base after do_populate_sysroot before

> > do_install_ptest_base

> > +deltask do_install_ptest_base

> > +addtask do_install_ptest_base after do_compile_ptest_base before

> > do_package

> >

> >  do_compile_ptest() {

> >      cd ${S}/tests

> > --

> > 2.7.4

> >

> > --

> > _______________________________________________

> > 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/recipes-qt/qt5/qt5-ptest.inc b/recipes-qt/qt5/qt5-ptest.inc
index 4844878..97bce88 100644
--- a/recipes-qt/qt5/qt5-ptest.inc
+++ b/recipes-qt/qt5/qt5-ptest.inc
@@ -4,8 +4,9 @@  inherit ptest
 
 addtask do_populate_sysroot after do_install before do_compile_ptest_base
 deltask do_compile_ptest_base
-addtask do_compile_ptest_base after do_populate_sysroot before do_install_ptest
-addtask do_install_ptest after do_compile_ptest_base before do_package
+addtask do_compile_ptest_base after do_populate_sysroot before do_install_ptest_base
+deltask do_install_ptest_base
+addtask do_install_ptest_base after do_compile_ptest_base before do_package
 
 do_compile_ptest() {
     cd ${S}/tests