[oe] Why no recipe for openjdk-headless?

Otavio Salvador otavio at ossystems.com.br
Fri Feb 27 00:31:00 UTC 2015


On Wed, Feb 25, 2015 at 8:49 PM, Bruce, Henry <henry.bruce at intel.com> wrote:
> 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.

I have pushed the patches; please if you have some time try to prepare
the patch and send for review. It'd be of great help.

-- 
Otavio Salvador                             O.S. Systems
http://www.ossystems.com.br        http://code.ossystems.com.br
Mobile: +55 (53) 9981-7854            Mobile: +1 (347) 903-9750



More information about the Openembedded-devel mailing list