Patchwork [1/1] qemu: use PACKAGECONFIG to address nss dependencies

login
register
mail settings
Submitter Hongxu Jia
Date Oct. 31, 2013, 10:23 a.m.
Message ID <0ab98fd1823d92b6661b60432b3ec30fd9c9a03d.1383214870.git.hongxu.jia@windriver.com>
Download mbox | patch
Permalink /patch/60889/
State New
Headers show

Comments

Hongxu Jia - Oct. 31, 2013, 10:23 a.m.
Use PACKAGECONFIG to explicitly address nss dependencies rather than
tested by configure.

It avoided potential errors while multiple builds shared a common
state_cache.

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
 meta/recipes-devtools/qemu/qemu.inc | 1 +
 1 file changed, 1 insertion(+)
Martin Jansa - Oct. 31, 2013, 10:41 a.m.
On Thu, Oct 31, 2013 at 06:23:01PM +0800, Hongxu Jia wrote:
> Use PACKAGECONFIG to explicitly address nss dependencies rather than
> tested by configure.
> 
> It avoided potential errors while multiple builds shared a common
> state_cache.

There are more floating dependencies in qemu.inc, see
http://patchwork.openembedded.org/patch/56935/

and even this list isn't complete, there is also:
WARN: packages/armv5te-oe-linux-gnueabi/qemu/qemu/latest lost dependency on  cairo gdk-pixbuf gnutls gtk+ libvte

Can you please improve it to fix them all?

> 
> Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
> ---
>  meta/recipes-devtools/qemu/qemu.inc | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/meta/recipes-devtools/qemu/qemu.inc b/meta/recipes-devtools/qemu/qemu.inc
> index 1b861d7..87a7275 100644
> --- a/meta/recipes-devtools/qemu/qemu.inc
> +++ b/meta/recipes-devtools/qemu/qemu.inc
> @@ -83,6 +83,7 @@ do_install_append() {
>  PACKAGECONFIG ??= ""
>  PACKAGECONFIG[virtfs] = "--enable-virtfs --enable-attr,--disable-virtfs,libcap attr,"
>  PACKAGECONFIG[aio] = "--enable-linux-aio,--disable-linux-aio,libaio,"
> +PACKAGECONFIG[nss] = "--enable-smartcard-nss,--disable-smartcard-nss,nss,"
>  
>  # Qemu target will not build in world build for ARM or Mips
>  BROKEN_qemuarm = "1"
> -- 
> 1.8.1.2
> 
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
Hongxu Jia - Oct. 31, 2013, 11:50 a.m.
On 10/31/2013 06:41 PM, Martin Jansa wrote:
> On Thu, Oct 31, 2013 at 06:23:01PM +0800, Hongxu Jia wrote:
>> Use PACKAGECONFIG to explicitly address nss dependencies rather than
>> tested by configure.
>>
>> It avoided potential errors while multiple builds shared a common
>> state_cache.
> There are more floating dependencies in qemu.inc, see
> http://patchwork.openembedded.org/patch/56935/
>
> and even this list isn't complete, there is also:
> WARN: packages/armv5te-oe-linux-gnueabi/qemu/qemu/latest lost dependency on  cairo gdk-pixbuf gnutls gtk+ libvte
>
> Can you please improve it to fix them all?
>

OK, I will try to fix them as possible as I can.

Drop this patch, wait for V2.

//Hongxu

>> Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
>> ---
>>   meta/recipes-devtools/qemu/qemu.inc | 1 +
>>   1 file changed, 1 insertion(+)
>>
>> diff --git a/meta/recipes-devtools/qemu/qemu.inc b/meta/recipes-devtools/qemu/qemu.inc
>> index 1b861d7..87a7275 100644
>> --- a/meta/recipes-devtools/qemu/qemu.inc
>> +++ b/meta/recipes-devtools/qemu/qemu.inc
>> @@ -83,6 +83,7 @@ do_install_append() {
>>   PACKAGECONFIG ??= ""
>>   PACKAGECONFIG[virtfs] = "--enable-virtfs --enable-attr,--disable-virtfs,libcap attr,"
>>   PACKAGECONFIG[aio] = "--enable-linux-aio,--disable-linux-aio,libaio,"
>> +PACKAGECONFIG[nss] = "--enable-smartcard-nss,--disable-smartcard-nss,nss,"
>>   
>>   # Qemu target will not build in world build for ARM or Mips
>>   BROKEN_qemuarm = "1"
>> -- 
>> 1.8.1.2
>>
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core@lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/openembedded-core
Richard Purdie - Nov. 1, 2013, 8:50 a.m.
On Thu, 2013-10-31 at 19:50 +0800, Hongxu Jia wrote:
> On 10/31/2013 06:41 PM, Martin Jansa wrote:
> > On Thu, Oct 31, 2013 at 06:23:01PM +0800, Hongxu Jia wrote:
> >> Use PACKAGECONFIG to explicitly address nss dependencies rather than
> >> tested by configure.
> >>
> >> It avoided potential errors while multiple builds shared a common
> >> state_cache.
> > There are more floating dependencies in qemu.inc, see
> > http://patchwork.openembedded.org/patch/56935/
> >
> > and even this list isn't complete, there is also:
> > WARN: packages/armv5te-oe-linux-gnueabi/qemu/qemu/latest lost dependency on  cairo gdk-pixbuf gnutls gtk+ libvte
> >
> > Can you please improve it to fix them all?
> >
> 
> OK, I will try to fix them as possible as I can.
> 
> Drop this patch, wait for V2.

Part of the problem here is that qemu-native has some "floating"
dependencies by design. If the native system has graphics support, qemu
will have too. If it doesn't it won't have. This works out to be quite
useful for people. Some people have headless build machines they don't
want to install X on, equally some have build machines which do have X
and they do want graphical qemu.

How do we support both?

Cheers,

Richard
Martin Jansa - Nov. 1, 2013, 9:39 a.m.
On Fri, Nov 01, 2013 at 08:50:56AM +0000, Richard Purdie wrote:
> On Thu, 2013-10-31 at 19:50 +0800, Hongxu Jia wrote:
> > On 10/31/2013 06:41 PM, Martin Jansa wrote:
> > > On Thu, Oct 31, 2013 at 06:23:01PM +0800, Hongxu Jia wrote:
> > >> Use PACKAGECONFIG to explicitly address nss dependencies rather than
> > >> tested by configure.
> > >>
> > >> It avoided potential errors while multiple builds shared a common
> > >> state_cache.
> > > There are more floating dependencies in qemu.inc, see
> > > http://patchwork.openembedded.org/patch/56935/
> > >
> > > and even this list isn't complete, there is also:
> > > WARN: packages/armv5te-oe-linux-gnueabi/qemu/qemu/latest lost dependency on  cairo gdk-pixbuf gnutls gtk+ libvte
> > >
> > > Can you please improve it to fix them all?
> > >
> > 
> > OK, I will try to fix them as possible as I can.
> > 
> > Drop this patch, wait for V2.
> 
> Part of the problem here is that qemu-native has some "floating"
> dependencies by design. If the native system has graphics support, qemu
> will have too. If it doesn't it won't have. This works out to be quite
> useful for people. Some people have headless build machines they don't
> want to install X on, equally some have build machines which do have X
> and they do want graphical qemu.
> 
> How do we support both?

Aren't reproducible builds more important than automagically enabled
graphics support, what if such automagically enabled qemu-native gets
reused from sstate on headless server without graphics support?

We can extend documentation to say that in order to enable graphics
support for qemu-native you need to set
PACKAGECONFIG_pn-qemu-native += "foo bar"
in local.conf (or to remove some to disable it, but enabling explicitly
is imho better because we don't have graphics native support in
ASSUME_PROVIDED).

Regards,
Richard Purdie - Nov. 1, 2013, 10:52 a.m.
On Fri, 2013-11-01 at 10:39 +0100, Martin Jansa wrote:
> On Fri, Nov 01, 2013 at 08:50:56AM +0000, Richard Purdie wrote:
> > On Thu, 2013-10-31 at 19:50 +0800, Hongxu Jia wrote:
> > > On 10/31/2013 06:41 PM, Martin Jansa wrote:
> > > > On Thu, Oct 31, 2013 at 06:23:01PM +0800, Hongxu Jia wrote:
> > > >> Use PACKAGECONFIG to explicitly address nss dependencies rather than
> > > >> tested by configure.
> > > >>
> > > >> It avoided potential errors while multiple builds shared a common
> > > >> state_cache.
> > > > There are more floating dependencies in qemu.inc, see
> > > > http://patchwork.openembedded.org/patch/56935/
> > > >
> > > > and even this list isn't complete, there is also:
> > > > WARN: packages/armv5te-oe-linux-gnueabi/qemu/qemu/latest lost dependency on  cairo gdk-pixbuf gnutls gtk+ libvte
> > > >
> > > > Can you please improve it to fix them all?
> > > >
> > > 
> > > OK, I will try to fix them as possible as I can.
> > > 
> > > Drop this patch, wait for V2.
> > 
> > Part of the problem here is that qemu-native has some "floating"
> > dependencies by design. If the native system has graphics support, qemu
> > will have too. If it doesn't it won't have. This works out to be quite
> > useful for people. Some people have headless build machines they don't
> > want to install X on, equally some have build machines which do have X
> > and they do want graphical qemu.
> > 
> > How do we support both?
> 
> Aren't reproducible builds more important than automagically enabled
> graphics support, what if such automagically enabled qemu-native gets
> reused from sstate on headless server without graphics support?

I agree there is a problem here. Equally, there is an important use case
which people do use and care about which this patch removes.

> We can extend documentation to say that in order to enable graphics
> support for qemu-native you need to set
> PACKAGECONFIG_pn-qemu-native += "foo bar"
> in local.conf (or to remove some to disable it, but enabling explicitly
> is imho better because we don't have graphics native support in
> ASSUME_PROVIDED).

I think we'll have to do something like this, yes. I'd like to see the
patches adding this documentation to local.conf before we change things
though.

Cheers,

Richard

Patch

diff --git a/meta/recipes-devtools/qemu/qemu.inc b/meta/recipes-devtools/qemu/qemu.inc
index 1b861d7..87a7275 100644
--- a/meta/recipes-devtools/qemu/qemu.inc
+++ b/meta/recipes-devtools/qemu/qemu.inc
@@ -83,6 +83,7 @@  do_install_append() {
 PACKAGECONFIG ??= ""
 PACKAGECONFIG[virtfs] = "--enable-virtfs --enable-attr,--disable-virtfs,libcap attr,"
 PACKAGECONFIG[aio] = "--enable-linux-aio,--disable-linux-aio,libaio,"
+PACKAGECONFIG[nss] = "--enable-smartcard-nss,--disable-smartcard-nss,nss,"
 
 # Qemu target will not build in world build for ARM or Mips
 BROKEN_qemuarm = "1"