Patchwork dbus: only use x11 if DISTRO_FEATURES has selected it

login
register
mail settings
Submitter Phil Blundell
Date Aug. 12, 2011, 3:59 p.m.
Message ID <1313164784.6733.165.camel@phil-desktop>
Download mbox | patch
Permalink /patch/9783/
State New, archived
Headers show

Comments

Phil Blundell - Aug. 12, 2011, 3:59 p.m.
This makes it possible to include dbus in a non-X11-equipped DISTRO.

Signed-off-by: Phil Blundell <philb@gnu.org>
---
 meta/recipes-core/dbus/dbus.inc |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)
Saul Wold - Aug. 15, 2011, 5:07 p.m.
On 08/12/2011 08:59 AM, Phil Blundell wrote:
> This makes it possible to include dbus in a non-X11-equipped DISTRO.
>
> Signed-off-by: Phil Blundell<philb@gnu.org>
> ---
>   meta/recipes-core/dbus/dbus.inc |    7 ++++---
>   1 files changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/meta/recipes-core/dbus/dbus.inc b/meta/recipes-core/dbus/dbus.inc
> index 6b76cba..a8ecda8 100644
> --- a/meta/recipes-core/dbus/dbus.inc
> +++ b/meta/recipes-core/dbus/dbus.inc
> @@ -5,7 +5,8 @@ SECTION = "base"
>   LICENSE = "AFL-2 | GPLv2+"
>   LIC_FILES_CHKSUM = "file://COPYING;md5=10dded3b58148f3f1fd804b26354af3e \
>                       file://dbus/dbus.h;firstline=6;endline=20;md5=6eea2e0c7750dd8e620dcb1437312fa5"
> -DEPENDS = "expat virtual/libintl virtual/libx11 libsm"
> +X11DEPENDS = "virtual/libx11 libsm"
> +DEPENDS = "expat virtual/libintl ${@base_contains('DISTRO_FEATURES', 'x11', '${X11DEPENDS}', '', d)}"
>   DEPENDS_virtclass-native = "expat-native virtual/libintl-native"
>   DEPENDS_virtclass-nativesdk = "expat-nativesdk virtual/libintl-nativesdk virtual/libx11"
>
> @@ -22,7 +23,7 @@ CONFFILES_${PN} = "${sysconfdir}/dbus-1/system.conf ${sysconfdir}/dbus-1/session
>
>   DEBIANNAME_${PN} = "dbus-1"
>
> -PACKAGES =+ "${PN}-lib ${PN}-x11 ${PN}-systemd"
> +PACKAGES =+ "${PN}-lib ${PN}-systemd ${@base_contains('DISTRO_FEATURES', 'x11', '${PN}-x11', '', d)}"
>
>   FILES_${PN}-x11 = "${bindir}/dbus-launch"
>   RDEPENDS_${PN}-x11 = "${PN}"
> @@ -73,7 +74,7 @@ pkg_postinst_dbus() {
>   	fi
>   }
>
> -EXTRA_OECONF_X = "--with-x"
> +EXTRA_OECONF_X = "${@base_contains('DISTRO_FEATURES', 'x11', '--with-x', '--without-x', d)}"
>   EXTRA_OECONF_X_virtclass-native = "--without-x"
>
>   EXTRA_OECONF = "--disable-tests \

Merged into OE-Core

Thanks
	Sau!
Denys Dmytriyenko - Oct. 25, 2012, 4:08 a.m.
On Fri, Aug 12, 2011 at 04:59:43PM +0100, Phil Blundell wrote:
> This makes it possible to include dbus in a non-X11-equipped DISTRO.

I have a follow up question on this old change...


> Signed-off-by: Phil Blundell <philb@gnu.org>
> ---
>  meta/recipes-core/dbus/dbus.inc |    7 ++++---
>  1 files changed, 4 insertions(+), 3 deletions(-)
> 
> diff --git a/meta/recipes-core/dbus/dbus.inc b/meta/recipes-core/dbus/dbus.inc
> index 6b76cba..a8ecda8 100644
> --- a/meta/recipes-core/dbus/dbus.inc
> +++ b/meta/recipes-core/dbus/dbus.inc
> @@ -5,7 +5,8 @@ SECTION = "base"
>  LICENSE = "AFL-2 | GPLv2+"
>  LIC_FILES_CHKSUM = "file://COPYING;md5=10dded3b58148f3f1fd804b26354af3e \
>                      file://dbus/dbus.h;firstline=6;endline=20;md5=6eea2e0c7750dd8e620dcb1437312fa5"
> -DEPENDS = "expat virtual/libintl virtual/libx11 libsm"
> +X11DEPENDS = "virtual/libx11 libsm"
> +DEPENDS = "expat virtual/libintl ${@base_contains('DISTRO_FEATURES', 'x11', '${X11DEPENDS}', '', d)}"
>  DEPENDS_virtclass-native = "expat-native virtual/libintl-native"
>  DEPENDS_virtclass-nativesdk = "expat-nativesdk virtual/libintl-nativesdk virtual/libx11"

Would there be any objections extending this DISTRO check to nativesdk as 
well?
Ross Burton - Oct. 25, 2012, 9:26 a.m.
On 25 October 2012 05:08, Denys Dmytriyenko <denis@denix.org> wrote:
>> -DEPENDS = "expat virtual/libintl virtual/libx11 libsm"
>> +X11DEPENDS = "virtual/libx11 libsm"
>> +DEPENDS = "expat virtual/libintl ${@base_contains('DISTRO_FEATURES', 'x11', '${X11DEPENDS}', '', d)}"
>>  DEPENDS_virtclass-native = "expat-native virtual/libintl-native"
>>  DEPENDS_virtclass-nativesdk = "expat-nativesdk virtual/libintl-nativesdk virtual/libx11"
>
> Would there be any objections extending this DISTRO check to nativesdk as
> well?

Makes sense for nativesdk I guess. Tested patches welcome!

Ross
Paul Eggleton - Oct. 25, 2012, 9:58 a.m.
On Thursday 25 October 2012 00:08:26 Denys Dmytriyenko wrote:
> On Fri, Aug 12, 2011 at 04:59:43PM +0100, Phil Blundell wrote:
> > This makes it possible to include dbus in a non-X11-equipped DISTRO.
> 
> I have a follow up question on this old change...
> 
> > Signed-off-by: Phil Blundell <philb@gnu.org>
> > ---
> > 
> >  meta/recipes-core/dbus/dbus.inc |    7 ++++---
> >  1 files changed, 4 insertions(+), 3 deletions(-)
> > 
> > diff --git a/meta/recipes-core/dbus/dbus.inc
> > b/meta/recipes-core/dbus/dbus.inc index 6b76cba..a8ecda8 100644
> > --- a/meta/recipes-core/dbus/dbus.inc
> > +++ b/meta/recipes-core/dbus/dbus.inc
> > @@ -5,7 +5,8 @@ SECTION = "base"
> > 
> >  LICENSE = "AFL-2 | GPLv2+"
> >  LIC_FILES_CHKSUM = "file://COPYING;md5=10dded3b58148f3f1fd804b26354af3e \
> >  
> >                      file://dbus/dbus.h;firstline=6;endline=20;md5=6eea2e0
> >                      c7750dd8e620dcb1437312fa5"> 
> > -DEPENDS = "expat virtual/libintl virtual/libx11 libsm"
> > +X11DEPENDS = "virtual/libx11 libsm"
> > +DEPENDS = "expat virtual/libintl ${@base_contains('DISTRO_FEATURES',
> > 'x11', '${X11DEPENDS}', '', d)}"> 
> >  DEPENDS_virtclass-native = "expat-native virtual/libintl-native"
> >  DEPENDS_virtclass-nativesdk = "expat-nativesdk virtual/libintl-nativesdk
> >  virtual/libx11"
>
> Would there be any objections extending this DISTRO check to nativesdk as
> well?

We did have a request not so long ago to be able to have x11 enabled in the 
nativesdk (for development tools that need X) but disabled on the target. I'm 
pretty sure we already have a lot of places where DISTRO_FEATURES will 
influence nativesdk, but I suspect the configuration may need to be separated 
for these two at some point.

Cheers,
Paul
Richard Purdie - Oct. 25, 2012, 11:44 a.m.
On Thu, 2012-10-25 at 10:58 +0100, Paul Eggleton wrote:
> On Thursday 25 October 2012 00:08:26 Denys Dmytriyenko wrote:
> > On Fri, Aug 12, 2011 at 04:59:43PM +0100, Phil Blundell wrote:
> > > This makes it possible to include dbus in a non-X11-equipped DISTRO.
> > 
> > I have a follow up question on this old change...
> > 
> > > Signed-off-by: Phil Blundell <philb@gnu.org>
> > > ---
> > > 
> > >  meta/recipes-core/dbus/dbus.inc |    7 ++++---
> > >  1 files changed, 4 insertions(+), 3 deletions(-)
> > > 
> > > diff --git a/meta/recipes-core/dbus/dbus.inc
> > > b/meta/recipes-core/dbus/dbus.inc index 6b76cba..a8ecda8 100644
> > > --- a/meta/recipes-core/dbus/dbus.inc
> > > +++ b/meta/recipes-core/dbus/dbus.inc
> > > @@ -5,7 +5,8 @@ SECTION = "base"
> > > 
> > >  LICENSE = "AFL-2 | GPLv2+"
> > >  LIC_FILES_CHKSUM = "file://COPYING;md5=10dded3b58148f3f1fd804b26354af3e \
> > >  
> > >                      file://dbus/dbus.h;firstline=6;endline=20;md5=6eea2e0
> > >                      c7750dd8e620dcb1437312fa5"> 
> > > -DEPENDS = "expat virtual/libintl virtual/libx11 libsm"
> > > +X11DEPENDS = "virtual/libx11 libsm"
> > > +DEPENDS = "expat virtual/libintl ${@base_contains('DISTRO_FEATURES',
> > > 'x11', '${X11DEPENDS}', '', d)}"> 
> > >  DEPENDS_virtclass-native = "expat-native virtual/libintl-native"
> > >  DEPENDS_virtclass-nativesdk = "expat-nativesdk virtual/libintl-nativesdk
> > >  virtual/libx11"
> >
> > Would there be any objections extending this DISTRO check to nativesdk as
> > well?
> 
> We did have a request not so long ago to be able to have x11 enabled in the 
> nativesdk (for development tools that need X) but disabled on the target. I'm 
> pretty sure we already have a lot of places where DISTRO_FEATURES will 
> influence nativesdk, but I suspect the configuration may need to be separated 
> for these two at some point.

There is a nasty subtlety in this request which I've noticed with
dbus-native on my local builds.

If I launch a devshell, then within it try and launch a local X app
which uses dbus, it finds the dbus in the native sysroot, not the host
system one. Since X11 is disabled in the native dbus, it then generall
gives me nasty errors and breaks the X app I wanted to run.

So far I've just ignored this but it will do the same thing to
nativesdk, namely break X apps once the dbus-nativesdk is in PATH.

So I'm not sure disabling X11 is a good idea here. Perhaps not
installing the dbus binaries into PATH for nativesdk might be good
enough to avoid undesired affects but we need to think it through very
carefully and the request isn't as simple as it first appears.

Cheers,

Richard

Patch

diff --git a/meta/recipes-core/dbus/dbus.inc b/meta/recipes-core/dbus/dbus.inc
index 6b76cba..a8ecda8 100644
--- a/meta/recipes-core/dbus/dbus.inc
+++ b/meta/recipes-core/dbus/dbus.inc
@@ -5,7 +5,8 @@  SECTION = "base"
 LICENSE = "AFL-2 | GPLv2+"
 LIC_FILES_CHKSUM = "file://COPYING;md5=10dded3b58148f3f1fd804b26354af3e \
                     file://dbus/dbus.h;firstline=6;endline=20;md5=6eea2e0c7750dd8e620dcb1437312fa5"
-DEPENDS = "expat virtual/libintl virtual/libx11 libsm"
+X11DEPENDS = "virtual/libx11 libsm"
+DEPENDS = "expat virtual/libintl ${@base_contains('DISTRO_FEATURES', 'x11', '${X11DEPENDS}', '', d)}"
 DEPENDS_virtclass-native = "expat-native virtual/libintl-native"
 DEPENDS_virtclass-nativesdk = "expat-nativesdk virtual/libintl-nativesdk virtual/libx11"
 
@@ -22,7 +23,7 @@  CONFFILES_${PN} = "${sysconfdir}/dbus-1/system.conf ${sysconfdir}/dbus-1/session
 
 DEBIANNAME_${PN} = "dbus-1"
 
-PACKAGES =+ "${PN}-lib ${PN}-x11 ${PN}-systemd"
+PACKAGES =+ "${PN}-lib ${PN}-systemd ${@base_contains('DISTRO_FEATURES', 'x11', '${PN}-x11', '', d)}"
 
 FILES_${PN}-x11 = "${bindir}/dbus-launch"
 RDEPENDS_${PN}-x11 = "${PN}"
@@ -73,7 +74,7 @@  pkg_postinst_dbus() {
 	fi
 }
 
-EXTRA_OECONF_X = "--with-x"
+EXTRA_OECONF_X = "${@base_contains('DISTRO_FEATURES', 'x11', '--with-x', '--without-x', d)}"
 EXTRA_OECONF_X_virtclass-native = "--without-x"
 
 EXTRA_OECONF = "--disable-tests \