All of lore.kernel.org
 help / color / mirror / Atom feed
* X11 as DISTRO_FEATURE
@ 2011-08-11 12:17 Phil Blundell
  2011-08-11 13:27 ` Anders Darander
  2011-08-11 14:19 ` Andreas Oberritter
  0 siblings, 2 replies; 4+ messages in thread
From: Phil Blundell @ 2011-08-11 12:17 UTC (permalink / raw)
  To: Patches and discussions about the oe-core layer

Right now, there are a bunch of recipes (e.g. dbus, cairo) which always
build against X11 even though the underlying software can work without
it.  This makes it somewhat painful to build a display system using
clutter (for example) without X.

It's also moderately fiddly to stop X11 from leaking in by mistake; you
can't just BBMASK the whole of "xorg-*" because things like pixman are
still needed by cairo even when not using X11.

So, to combat this, I would like to make X11 be a DISTRO_FEATURE and
arrange for:

a) libx11 to skip itself; and

b) recipes for which x11 is optional to not depend on X stuff 

if that feature isn't selected.

Any objections, better suggestions, ...?

p.





^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: X11 as DISTRO_FEATURE
  2011-08-11 12:17 X11 as DISTRO_FEATURE Phil Blundell
@ 2011-08-11 13:27 ` Anders Darander
  2011-08-11 14:16   ` Phil Blundell
  2011-08-11 14:19 ` Andreas Oberritter
  1 sibling, 1 reply; 4+ messages in thread
From: Anders Darander @ 2011-08-11 13:27 UTC (permalink / raw)
  To: openembedded-core

* Phil Blundell <philb@gnu.org> [110811 14:17]:
> Right now, there are a bunch of recipes (e.g. dbus, cairo) which always
> build against X11 even though the underlying software can work without
> it.  This makes it somewhat painful to build a display system using
> clutter (for example) without X.

> It's also moderately fiddly to stop X11 from leaking in by mistake; you
> can't just BBMASK the whole of "xorg-*" because things like pixman are
> still needed by cairo even when not using X11.

> So, to combat this, I would like to make X11 be a DISTRO_FEATURE and
> arrange for:

> a) libx11 to skip itself; and
> b) recipes for which x11 is optional to not depend on X stuff 
> if that feature isn't selected.

> Any objections, better suggestions, ...?

The opposite of objections, at least from me... This is something that
I've wanted to do for a long time (but I never seem to get the time for
it).

Once again, I'm fighting against not only building X-related stuff, but
also preventing it from leaking into my image...

I think making it a distro feature is the best option, and once we get
this into oe-core, I think we could extend this to some more parts.

Cheers,
Anders

-- 
Anders Darander
ChargeStorm AB



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: X11 as DISTRO_FEATURE
  2011-08-11 13:27 ` Anders Darander
@ 2011-08-11 14:16   ` Phil Blundell
  0 siblings, 0 replies; 4+ messages in thread
From: Phil Blundell @ 2011-08-11 14:16 UTC (permalink / raw)
  To: Patches and discussions about the oe-core layer

On Thu, 2011-08-11 at 15:27 +0200, Anders Darander wrote:
> The opposite of objections, at least from me... This is something that
> I've wanted to do for a long time (but I never seem to get the time for
> it).
> 
> Once again, I'm fighting against not only building X-related stuff, but
> also preventing it from leaking into my image...

I guess another solution to the leakiness would be to evacuate all the
X11 recipes to a separate layer (but still within the oe-core repo) so
that you could enable or disable them en masse.

p.





^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: X11 as DISTRO_FEATURE
  2011-08-11 12:17 X11 as DISTRO_FEATURE Phil Blundell
  2011-08-11 13:27 ` Anders Darander
@ 2011-08-11 14:19 ` Andreas Oberritter
  1 sibling, 0 replies; 4+ messages in thread
From: Andreas Oberritter @ 2011-08-11 14:19 UTC (permalink / raw)
  To: openembedded-core

On 11.08.2011 14:17, Phil Blundell wrote:
> Right now, there are a bunch of recipes (e.g. dbus, cairo) which always
> build against X11 even though the underlying software can work without
> it.  This makes it somewhat painful to build a display system using
> clutter (for example) without X.
> 
> It's also moderately fiddly to stop X11 from leaking in by mistake; you
> can't just BBMASK the whole of "xorg-*" because things like pixman are
> still needed by cairo even when not using X11.
> 
> So, to combat this, I would like to make X11 be a DISTRO_FEATURE and
> arrange for:
> 
> a) libx11 to skip itself; and
> 
> b) recipes for which x11 is optional to not depend on X stuff 
> 
> if that feature isn't selected.
> 
> Any objections, better suggestions, ...?

That would be great!

My current workaround (using OE 2011.03, not OE-core) is rather
ugly, because it's hard to read and to extend and it creates tons
of warnings[1]:

# mask libx11 and related packages
BBMASK = "(/(nonworking|obsolete)/)|(/(efl1|gtk+|microwindows|preboot)/)|(/xorg-lib/lib.*)"

Plus, further workarounds in amend.inc or bbappend files are required, e.g.:

cairo/cairo/amend.inc:DEPENDS := "${@oe_filter_out('^(libsm|libxrender|virtual/libx11)$', '${DEPENDS}', d)}"
gnome/libsoup-2.4/amend.inc:DEPENDS := "${@oe_filter_out('^(gconf|gconf-native|gnome-common|gnome-keyring|libproxy)$', '${DEPENDS}', d)}"
gstreamer/gst-plugins-bad/amend.inc:DEPENDS := "${@oe_filter_out('^(librsvg|opencv)$', '${DEPENDS}', d)}"
gstreamer/gst-plugins-base/amend.inc:DEPENDS := "${@oe_filter_out('^(gnome-vfs|gtk\+|libsm|libxrandr|libxv|virtual/libx11)$', '${DEPENDS}', d)}"
gstreamer/gst-plugins-good/amend.inc:DEPENDS := "${@oe_filter_out('^(esound|gconf|hal|pulseaudio)$', '${DEPENDS}', d)}"
pango/pango/amend.inc:DEPENDS := "${@oe_filter_out('^(libxft|virtual/libx11)$', '${DEPENDS}', d)}"

Regards,
Andreas

[1]:
ERROR: Nothing PROVIDES 'libxext'
NOTE: Runtime target 'libsdl-x11' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['libsdl-x11', 'libxext']
NOTE: Runtime target 'python-pygtk' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['python-pygtk', 'gtk+', 'libxext']
NOTE: Runtime target 'avahi-python' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['avahi-python', 'python-pygtk', 'gtk+', 'libxext']
NOTE: Runtime target 'libglade' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['libglade', 'gtk+', 'libxext']
NOTE: Runtime target 'gtk+' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['gtk+', 'libxext']
NOTE: Runtime target 'gtk+-fastscaling' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['gtk+-fastscaling', 'libxext']
ERROR: Nothing PROVIDES 'libxcursor'
ERROR: Nothing PROVIDES 'libxrandr'
...



^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2011-08-11 14:30 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-08-11 12:17 X11 as DISTRO_FEATURE Phil Blundell
2011-08-11 13:27 ` Anders Darander
2011-08-11 14:16   ` Phil Blundell
2011-08-11 14:19 ` Andreas Oberritter

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.