ptest.bblass: Fix package QA issues when disabled

Submitted by Nathan Rossi on Jan. 8, 2014, 7:05 a.m.

Details

Message ID d7cb4e9a-2926-44a2-b789-a31612162a44@TX2EHSMHS014.ehs.local
State Superseded
Headers show

Commit Message

Nathan Rossi Jan. 8, 2014, 7:05 a.m.
When the ptest distro feature is disabled, a ptest directory is still
created in the install phase, This directory is not cleaned up or
consumed by any package and will throw a QA error, e.g.

ERROR: QA Issue: glib-2.0: Files/directories were installed but not
shipped
  /usr/lib/glib-2.0/ptest
ERROR: QA run found fatal errors. Please consider fixing them.
ERROR: Function failed: do_package_qa

This is caused by the do_install_ptest_base[cleandirs] task flag which
is not setup to be conditional on ptest being enabled. This patch
changes the task flag to emit the cleandirs path only when the ptest
distro feature is enabled.

Signed-off-by: Nathan Rossi <nathan.rossi@xilinx.com>
---
 meta/classes/ptest.bbclass |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Patch hide | download patch | download mbox

diff --git a/meta/classes/ptest.bbclass b/meta/classes/ptest.bbclass
index ec10f80..3450085 100644
--- a/meta/classes/ptest.bbclass
+++ b/meta/classes/ptest.bbclass
@@ -49,7 +49,7 @@  do_install_ptest_base() {
     fi
 }
 
-do_install_ptest_base[cleandirs] = "${D}${PTEST_PATH}"
+do_install_ptest_base[cleandirs] = "${@['', '${D}${PTEST_PATH}'][(d.getVar('PTEST_ENABLED', True) or '') == '1']}"
 
 addtask configure_ptest_base after do_configure before do_compile
 addtask compile_ptest_base   after do_compile   before do_install

Comments

Richard Purdie Jan. 8, 2014, 12:58 p.m.
On Wed, 2014-01-08 at 17:05 +1000, Nathan Rossi wrote:
> When the ptest distro feature is disabled, a ptest directory is still
> created in the install phase, This directory is not cleaned up or
> consumed by any package and will throw a QA error, e.g.
> 
> ERROR: QA Issue: glib-2.0: Files/directories were installed but not
> shipped
>   /usr/lib/glib-2.0/ptest
> ERROR: QA run found fatal errors. Please consider fixing them.
> ERROR: Function failed: do_package_qa
> 
> This is caused by the do_install_ptest_base[cleandirs] task flag which
> is not setup to be conditional on ptest being enabled. This patch
> changes the task flag to emit the cleandirs path only when the ptest
> distro feature is enabled.
> 
> Signed-off-by: Nathan Rossi <nathan.rossi@xilinx.com>
> ---
>  meta/classes/ptest.bbclass |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/meta/classes/ptest.bbclass b/meta/classes/ptest.bbclass
> index ec10f80..3450085 100644
> --- a/meta/classes/ptest.bbclass
> +++ b/meta/classes/ptest.bbclass
> @@ -49,7 +49,7 @@ do_install_ptest_base() {
>      fi
>  }
>  
> -do_install_ptest_base[cleandirs] = "${D}${PTEST_PATH}"
> +do_install_ptest_base[cleandirs] = "${@['', '${D}${PTEST_PATH}'][(d.getVar('PTEST_ENABLED', True) or '') == '1']}"
>  
>  addtask configure_ptest_base after do_configure before do_compile
>  addtask compile_ptest_base   after do_compile   before do_install

How about we use the new add/deltask api to conditionally add these
tasks only when ptest is enabled?

The number of conditionals in there is getting silly...

Cheers,

Richard
Nathan Rossi Jan. 9, 2014, 3:54 a.m.
> -----Original Message-----
> From: Richard Purdie [mailto:richard.purdie@linuxfoundation.org]
> Sent: Wednesday, January 08, 2014 10:58 PM
> To: Nathan Rossi
> Cc: openembedded-core@lists.openembedded.org
> Subject: Re: [OE-core] [PATCH] ptest.bblass: Fix package QA issues when
> disabled
> 
> On Wed, 2014-01-08 at 17:05 +1000, Nathan Rossi wrote:
> > When the ptest distro feature is disabled, a ptest directory is still
> > created in the install phase, This directory is not cleaned up or
> > consumed by any package and will throw a QA error, e.g.
> >
> > ERROR: QA Issue: glib-2.0: Files/directories were installed but not
> > shipped
> >   /usr/lib/glib-2.0/ptest
> > ERROR: QA run found fatal errors. Please consider fixing them.
> > ERROR: Function failed: do_package_qa
> >
> > This is caused by the do_install_ptest_base[cleandirs] task flag which
> > is not setup to be conditional on ptest being enabled. This patch
> > changes the task flag to emit the cleandirs path only when the ptest
> > distro feature is enabled.
> >
> > Signed-off-by: Nathan Rossi <nathan.rossi@xilinx.com>
> > ---
> >  meta/classes/ptest.bbclass |    2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/meta/classes/ptest.bbclass b/meta/classes/ptest.bbclass
> > index ec10f80..3450085 100644
> > --- a/meta/classes/ptest.bbclass
> > +++ b/meta/classes/ptest.bbclass
> > @@ -49,7 +49,7 @@ do_install_ptest_base() {
> >      fi
> >  }
> >
> > -do_install_ptest_base[cleandirs] = "${D}${PTEST_PATH}"
> > +do_install_ptest_base[cleandirs] = "${@['',
> '${D}${PTEST_PATH}'][(d.getVar('PTEST_ENABLED', True) or '') == '1']}"
> >
> >  addtask configure_ptest_base after do_configure before do_compile
> >  addtask compile_ptest_base   after do_compile   before do_install
> 
> How about we use the new add/deltask api to conditionally add these
> tasks only when ptest is enabled?

Just wanted to double check, by add/deltask you are referring to calling the bb.build.*task() functions in an anonymous function correct?

> 
> The number of conditionals in there is getting silly...

When I respin the patch I will refactor the other conditionals such that it removes all ptest_base tasks when disabled instead of the conditional checks in each task.

Regards,
Nathan
Richard Purdie Jan. 9, 2014, 11:40 a.m.
On Thu, 2014-01-09 at 03:54 +0000, Nathan Rossi wrote:
> > -----Original Message-----
> > From: Richard Purdie [mailto:richard.purdie@linuxfoundation.org]
> > Sent: Wednesday, January 08, 2014 10:58 PM
> > To: Nathan Rossi
> > Cc: openembedded-core@lists.openembedded.org
> > Subject: Re: [OE-core] [PATCH] ptest.bblass: Fix package QA issues when
> > disabled
> > 
> > On Wed, 2014-01-08 at 17:05 +1000, Nathan Rossi wrote:
> > > When the ptest distro feature is disabled, a ptest directory is still
> > > created in the install phase, This directory is not cleaned up or
> > > consumed by any package and will throw a QA error, e.g.
> > >
> > > ERROR: QA Issue: glib-2.0: Files/directories were installed but not
> > > shipped
> > >   /usr/lib/glib-2.0/ptest
> > > ERROR: QA run found fatal errors. Please consider fixing them.
> > > ERROR: Function failed: do_package_qa
> > >
> > > This is caused by the do_install_ptest_base[cleandirs] task flag which
> > > is not setup to be conditional on ptest being enabled. This patch
> > > changes the task flag to emit the cleandirs path only when the ptest
> > > distro feature is enabled.
> > >
> > > Signed-off-by: Nathan Rossi <nathan.rossi@xilinx.com>
> > > ---
> > >  meta/classes/ptest.bbclass |    2 +-
> > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > >
> > > diff --git a/meta/classes/ptest.bbclass b/meta/classes/ptest.bbclass
> > > index ec10f80..3450085 100644
> > > --- a/meta/classes/ptest.bbclass
> > > +++ b/meta/classes/ptest.bbclass
> > > @@ -49,7 +49,7 @@ do_install_ptest_base() {
> > >      fi
> > >  }
> > >
> > > -do_install_ptest_base[cleandirs] = "${D}${PTEST_PATH}"
> > > +do_install_ptest_base[cleandirs] = "${@['',
> > '${D}${PTEST_PATH}'][(d.getVar('PTEST_ENABLED', True) or '') == '1']}"
> > >
> > >  addtask configure_ptest_base after do_configure before do_compile
> > >  addtask compile_ptest_base   after do_compile   before do_install
> > 
> > How about we use the new add/deltask api to conditionally add these
> > tasks only when ptest is enabled?
> 
> Just wanted to double check, by add/deltask you are referring to
> calling the bb.build.*task() functions in an anonymous function
> correct?

Yes.

> > The number of conditionals in there is getting silly...
> 
> When I respin the patch I will refactor the other conditionals such
> that it removes all ptest_base tasks when disabled instead of the
> conditional checks in each task.

Sounds good, this should be much neater!

Cheers,

Richard