* 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 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