[oe] Why no recipe for openjdk-headless?

Bruce, Henry henry.bruce at intel.com
Wed Feb 25 23:49:44 UTC 2015


On Tue, 2015-02-24 at 14:57 -0300, Otavio Salvador wrote:
> On Tue, Feb 24, 2015 at 2:54 PM, Paul Eggleton
> <paul.eggleton at linux.intel.com> wrote:
> > On Tuesday 24 February 2015 14:06:41 Otavio Salvador wrote:
> >> On Tue, Feb 24, 2015 at 4:00 AM, Bruce, Henry <henry.bruce at intel.com> wrote:
> >> > I'm putting together an OS image that includes  a Java headless
> >> > application. Having used the openjdk7-jre-headless package on Ubuntu I
> >> > was hoping to find a matching recipe, but sadly none exist,.  The
> >> > openjdk7-jre recipe requires the X11 distro feature which adds
> >> > unnecessary luggage for a small footprint IoT solution. Thanks to a
> >> > bbappend from https://github.com/woglinde/meta-java/issues/45 I can
> >> > minimize footprint, but a headless recipe would be a better solution.
> >> > I'm fairly new to Yocto so could someone explain the challenges of a
> >> > headless recipe and where one might start when creating one?
> >>
> >> Patches are welcome. I think the link you posted has a good base of
> >> work done so you could start there and later follow the README file to
> >> post the patches here.
> >
> > Perhaps more concretely, this would presumably be a place where you would use
> > PACKAGECONFIG to add and remove the appropriate dependencies and also options
> > in EXTRA_OECONF. It looks like that bbappend has a mixture of things that are
> > and aren't related to building without X. Henry, I'm not sure if you've come
> > across PACKAGECONFIG yet but just in case, here is an example from our
> > mpeg2dec recipe:
> >
> > PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}"
> > PACKAGECONFIG[x11] = "--with-x,--without-x,virtual/libx11 libxext libxv"
> >
> > (Obviously you'd need to use values appropriate for the openjdk recipe in
> > the second line.)
> 
> The only drawback I see from the PACKAGECONFIG solution, for this
> specific case, is that I can see use cases where one product will use
> headless and another use complete Java and this would impose or
> machine specific packages or split distros.
> 
> However I also think that MOST people will use headless so maybe we
> could add the PACKAGECONFIG and default to headless and handle the
> exception when it happens...
> 

Otavio and Paul - thanks for the pointers.
PACKAGECONFIG looks like a good approach as I can't see much demand for
headful applications in the embedded space.
As there is no quick route to a headless recipe I can live with current
bbappend solution for the time being.
I'll soon be out for couple of months and will check in when I get back.

Henry




More information about the Openembedded-devel mailing list