All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC] bbclass for automatic generation of binary recipes
@ 2013-05-08  5:53 Erik Botö
  2013-05-08  6:11 ` Robert Yang
  0 siblings, 1 reply; 7+ messages in thread
From: Erik Botö @ 2013-05-08  5:53 UTC (permalink / raw)
  To: openembedded-core

Hi,

Background:
If you use OE to build software which includes e.g. a closed source
library, but still want to others to be able to build software based
on that library in a OE environment you would have to create recipes
that contains a binary version of your library + headers manually.
This would have to be done manually for each package, and as the
development of the library continues the binary recipes will have to
be manually updated to keep in sync.

Idea:
Create a new bbclass that handles this automatically as much as
possible. The basic idea is to:
- Create a tarball of ${WORKDIR}/image/ alternatively
  ${WORKDIR}/packages-split/
- By parsing the "source recipe", create a "binary recipe" that uses
that tarball

The binary recipe should work as a drop in replacement of the source
recipe. This means that the other recipes depending on the closed
source software shouldn't need to be adapted to work with one or the
other.

I'd like feedback on whether you think the idea is feasible, and if
you think it could be useful for others. And anything else you think
of.

Cheers,
Erik Botö



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

* Re: [RFC] bbclass for automatic generation of binary recipes
  2013-05-08  5:53 [RFC] bbclass for automatic generation of binary recipes Erik Botö
@ 2013-05-08  6:11 ` Robert Yang
  2013-05-08  6:36   ` Erik Botö
  0 siblings, 1 reply; 7+ messages in thread
From: Robert Yang @ 2013-05-08  6:11 UTC (permalink / raw)
  To: Erik Botö; +Cc: openembedded-core


Is it similar to meta/classes/package.bbclass ?

// Robert

On 05/08/2013 01:53 PM, Erik Botö wrote:
> Hi,
>
> Background:
> If you use OE to build software which includes e.g. a closed source
> library, but still want to others to be able to build software based
> on that library in a OE environment you would have to create recipes
> that contains a binary version of your library + headers manually.
> This would have to be done manually for each package, and as the
> development of the library continues the binary recipes will have to
> be manually updated to keep in sync.
>
> Idea:
> Create a new bbclass that handles this automatically as much as
> possible. The basic idea is to:
> - Create a tarball of ${WORKDIR}/image/ alternatively
>    ${WORKDIR}/packages-split/
> - By parsing the "source recipe", create a "binary recipe" that uses
> that tarball
>
> The binary recipe should work as a drop in replacement of the source
> recipe. This means that the other recipes depending on the closed
> source software shouldn't need to be adapted to work with one or the
> other.
>
> I'd like feedback on whether you think the idea is feasible, and if
> you think it could be useful for others. And anything else you think
> of.
>
> Cheers,
> Erik Botö
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>
>



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

* Re: [RFC] bbclass for automatic generation of binary recipes
  2013-05-08  6:11 ` Robert Yang
@ 2013-05-08  6:36   ` Erik Botö
  2013-05-08  7:12     ` Robert Yang
  0 siblings, 1 reply; 7+ messages in thread
From: Erik Botö @ 2013-05-08  6:36 UTC (permalink / raw)
  To: Robert Yang; +Cc: openembedded-core

Hi,

On Wed, May 8, 2013 at 8:11 AM, Robert Yang <liezhi.yang@windriver.com> wrote:
>
> Is it similar to meta/classes/package.bbclass ?
>
> // Robert

I would say it's in addition to package.bbclass.

The idea is that the developers of the closed source software uses OE
to build their software from source, and in this build process the
files needed for a binary distribution in OE is automatically
generated. These generated files can be distributed to others that
wish to use that closed source software in OE. So it would use some of
the output from package.bbclass, like the package split, but then
generate some extra files.

Cheers,
Erik


>
>
> On 05/08/2013 01:53 PM, Erik Botö wrote:
>>
>> Hi,
>>
>> Background:
>> If you use OE to build software which includes e.g. a closed source
>> library, but still want to others to be able to build software based
>> on that library in a OE environment you would have to create recipes
>> that contains a binary version of your library + headers manually.
>> This would have to be done manually for each package, and as the
>> development of the library continues the binary recipes will have to
>> be manually updated to keep in sync.
>>
>> Idea:
>> Create a new bbclass that handles this automatically as much as
>> possible. The basic idea is to:
>> - Create a tarball of ${WORKDIR}/image/ alternatively
>>    ${WORKDIR}/packages-split/
>> - By parsing the "source recipe", create a "binary recipe" that uses
>> that tarball
>>
>> The binary recipe should work as a drop in replacement of the source
>> recipe. This means that the other recipes depending on the closed
>> source software shouldn't need to be adapted to work with one or the
>> other.
>>
>> I'd like feedback on whether you think the idea is feasible, and if
>> you think it could be useful for others. And anything else you think
>> of.
>>
>> Cheers,
>> Erik Botö
>>
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core@lists.openembedded.org
>> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>>
>>
>



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

* Re: [RFC] bbclass for automatic generation of binary recipes
  2013-05-08  6:36   ` Erik Botö
@ 2013-05-08  7:12     ` Robert Yang
  2013-05-08  7:35       ` Erik Botö
  0 siblings, 1 reply; 7+ messages in thread
From: Robert Yang @ 2013-05-08  7:12 UTC (permalink / raw)
  To: Erik Botö; +Cc: openembedded-core



On 05/08/2013 02:36 PM, Erik Botö wrote:
> Hi,
>
> On Wed, May 8, 2013 at 8:11 AM, Robert Yang <liezhi.yang@windriver.com> wrote:
>>
>> Is it similar to meta/classes/package.bbclass ?
>>
>> // Robert
>
> I would say it's in addition to package.bbclass.
>

Hi Erik,

Sorry, I meant this one meta/classes/bin_package.bbclass :-)

// Robert

> The idea is that the developers of the closed source software uses OE
> to build their software from source, and in this build process the
> files needed for a binary distribution in OE is automatically
> generated. These generated files can be distributed to others that
> wish to use that closed source software in OE. So it would use some of
> the output from package.bbclass, like the package split, but then
> generate some extra files.
>
> Cheers,
> Erik
>
>
>>
>>
>> On 05/08/2013 01:53 PM, Erik Botö wrote:
>>>
>>> Hi,
>>>
>>> Background:
>>> If you use OE to build software which includes e.g. a closed source
>>> library, but still want to others to be able to build software based
>>> on that library in a OE environment you would have to create recipes
>>> that contains a binary version of your library + headers manually.
>>> This would have to be done manually for each package, and as the
>>> development of the library continues the binary recipes will have to
>>> be manually updated to keep in sync.
>>>
>>> Idea:
>>> Create a new bbclass that handles this automatically as much as
>>> possible. The basic idea is to:
>>> - Create a tarball of ${WORKDIR}/image/ alternatively
>>>     ${WORKDIR}/packages-split/
>>> - By parsing the "source recipe", create a "binary recipe" that uses
>>> that tarball
>>>
>>> The binary recipe should work as a drop in replacement of the source
>>> recipe. This means that the other recipes depending on the closed
>>> source software shouldn't need to be adapted to work with one or the
>>> other.
>>>
>>> I'd like feedback on whether you think the idea is feasible, and if
>>> you think it could be useful for others. And anything else you think
>>> of.
>>>
>>> Cheers,
>>> Erik Botö
>>>
>>> _______________________________________________
>>> Openembedded-core mailing list
>>> Openembedded-core@lists.openembedded.org
>>> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>>>
>>>
>>
>
>



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

* Re: [RFC] bbclass for automatic generation of binary recipes
  2013-05-08  7:12     ` Robert Yang
@ 2013-05-08  7:35       ` Erik Botö
  2013-05-08  8:01         ` Robert Yang
  0 siblings, 1 reply; 7+ messages in thread
From: Erik Botö @ 2013-05-08  7:35 UTC (permalink / raw)
  To: Robert Yang; +Cc: openembedded-core

On Wed, May 8, 2013 at 9:12 AM, Robert Yang <liezhi.yang@windriver.com> wrote:
>
>
> On 05/08/2013 02:36 PM, Erik Botö wrote:
>>
>> Hi,
>>
>> On Wed, May 8, 2013 at 8:11 AM, Robert Yang <liezhi.yang@windriver.com>
>> wrote:
>>>
>>>
>>> Is it similar to meta/classes/package.bbclass ?
>>>
>>> // Robert
>>
>>
>> I would say it's in addition to package.bbclass.
>>
>
> Hi Erik,
>
> Sorry, I meant this one meta/classes/bin_package.bbclass :-)
>
> // Robert

Oh, hadn't seen that one. That could definitely be useful, the only
thing left to do is to try to automate the generation of the recipe
that uses the binary package.

Thanks,
Erik

>
>
>> The idea is that the developers of the closed source software uses OE
>> to build their software from source, and in this build process the
>> files needed for a binary distribution in OE is automatically
>> generated. These generated files can be distributed to others that
>> wish to use that closed source software in OE. So it would use some of
>> the output from package.bbclass, like the package split, but then
>> generate some extra files.
>>
>> Cheers,
>> Erik
>>
>>
>>>
>>>
>>> On 05/08/2013 01:53 PM, Erik Botö wrote:
>>>>
>>>>
>>>> Hi,
>>>>
>>>> Background:
>>>> If you use OE to build software which includes e.g. a closed source
>>>> library, but still want to others to be able to build software based
>>>> on that library in a OE environment you would have to create recipes
>>>> that contains a binary version of your library + headers manually.
>>>> This would have to be done manually for each package, and as the
>>>> development of the library continues the binary recipes will have to
>>>> be manually updated to keep in sync.
>>>>
>>>> Idea:
>>>> Create a new bbclass that handles this automatically as much as
>>>> possible. The basic idea is to:
>>>> - Create a tarball of ${WORKDIR}/image/ alternatively
>>>>     ${WORKDIR}/packages-split/
>>>> - By parsing the "source recipe", create a "binary recipe" that uses
>>>> that tarball
>>>>
>>>> The binary recipe should work as a drop in replacement of the source
>>>> recipe. This means that the other recipes depending on the closed
>>>> source software shouldn't need to be adapted to work with one or the
>>>> other.
>>>>
>>>> I'd like feedback on whether you think the idea is feasible, and if
>>>> you think it could be useful for others. And anything else you think
>>>> of.
>>>>
>>>> Cheers,
>>>> Erik Botö
>>>>
>>>> _______________________________________________
>>>> Openembedded-core mailing list
>>>> Openembedded-core@lists.openembedded.org
>>>> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>>>>
>>>>
>>>
>>
>>
>



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

* Re: [RFC] bbclass for automatic generation of binary recipes
  2013-05-08  7:35       ` Erik Botö
@ 2013-05-08  8:01         ` Robert Yang
  2013-05-08  8:26           ` Erik Botö
  0 siblings, 1 reply; 7+ messages in thread
From: Robert Yang @ 2013-05-08  8:01 UTC (permalink / raw)
  To: Erik Botö; +Cc: openembedded-core



On 05/08/2013 03:35 PM, Erik Botö wrote:
> On Wed, May 8, 2013 at 9:12 AM, Robert Yang <liezhi.yang@windriver.com> wrote:
>>
>>
>> On 05/08/2013 02:36 PM, Erik Botö wrote:
>>>
>>> Hi,
>>>
>>> On Wed, May 8, 2013 at 8:11 AM, Robert Yang <liezhi.yang@windriver.com>
>>> wrote:
>>>>
>>>>
>>>> Is it similar to meta/classes/package.bbclass ?
>>>>
>>>> // Robert
>>>
>>>
>>> I would say it's in addition to package.bbclass.
>>>
>>
>> Hi Erik,
>>
>> Sorry, I meant this one meta/classes/bin_package.bbclass :-)
>>
>> // Robert
>
> Oh, hadn't seen that one. That could definitely be useful, the only
> thing left to do is to try to automate the generation of the recipe
> that uses the binary package.
>

How about the scripts/create-recipe ? It works fine with the tarball, but
not very well with .rpm/.deb/ipk.

// Robert

> Thanks,
> Erik
>
>>
>>
>>> The idea is that the developers of the closed source software uses OE
>>> to build their software from source, and in this build process the
>>> files needed for a binary distribution in OE is automatically
>>> generated. These generated files can be distributed to others that
>>> wish to use that closed source software in OE. So it would use some of
>>> the output from package.bbclass, like the package split, but then
>>> generate some extra files.
>>>
>>> Cheers,
>>> Erik
>>>
>>>
>>>>
>>>>
>>>> On 05/08/2013 01:53 PM, Erik Botö wrote:
>>>>>
>>>>>
>>>>> Hi,
>>>>>
>>>>> Background:
>>>>> If you use OE to build software which includes e.g. a closed source
>>>>> library, but still want to others to be able to build software based
>>>>> on that library in a OE environment you would have to create recipes
>>>>> that contains a binary version of your library + headers manually.
>>>>> This would have to be done manually for each package, and as the
>>>>> development of the library continues the binary recipes will have to
>>>>> be manually updated to keep in sync.
>>>>>
>>>>> Idea:
>>>>> Create a new bbclass that handles this automatically as much as
>>>>> possible. The basic idea is to:
>>>>> - Create a tarball of ${WORKDIR}/image/ alternatively
>>>>>      ${WORKDIR}/packages-split/
>>>>> - By parsing the "source recipe", create a "binary recipe" that uses
>>>>> that tarball
>>>>>
>>>>> The binary recipe should work as a drop in replacement of the source
>>>>> recipe. This means that the other recipes depending on the closed
>>>>> source software shouldn't need to be adapted to work with one or the
>>>>> other.
>>>>>
>>>>> I'd like feedback on whether you think the idea is feasible, and if
>>>>> you think it could be useful for others. And anything else you think
>>>>> of.
>>>>>
>>>>> Cheers,
>>>>> Erik Botö
>>>>>
>>>>> _______________________________________________
>>>>> Openembedded-core mailing list
>>>>> Openembedded-core@lists.openembedded.org
>>>>> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>>>>>
>>>>>
>>>>
>>>
>>>
>>
>
>



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

* Re: [RFC] bbclass for automatic generation of binary recipes
  2013-05-08  8:01         ` Robert Yang
@ 2013-05-08  8:26           ` Erik Botö
  0 siblings, 0 replies; 7+ messages in thread
From: Erik Botö @ 2013-05-08  8:26 UTC (permalink / raw)
  To: Robert Yang; +Cc: openembedded-core

On Wed, May 8, 2013 at 10:01 AM, Robert Yang <liezhi.yang@windriver.com> wrote:
> On 05/08/2013 03:35 PM, Erik Botö wrote:
>>
>> On Wed, May 8, 2013 at 9:12 AM, Robert Yang <liezhi.yang@windriver.com>
>> wrote:
>>>
>>> On 05/08/2013 02:36 PM, Erik Botö wrote:
>>>>
>>>>
>>>> Hi,
>>>>
>>>> On Wed, May 8, 2013 at 8:11 AM, Robert Yang <liezhi.yang@windriver.com>
>>>> wrote:
>>>>>
>>>>>
>>>>>
>>>>> Is it similar to meta/classes/package.bbclass ?
>>>>>
>>>>> // Robert
>>>>
>>>>
>>>>
>>>> I would say it's in addition to package.bbclass.
>>>>
>>>
>>> Hi Erik,
>>>
>>> Sorry, I meant this one meta/classes/bin_package.bbclass :-)
>>>
>>> // Robert
>>
>>
>> Oh, hadn't seen that one. That could definitely be useful, the only
>> thing left to do is to try to automate the generation of the recipe
>> that uses the binary package.
>>
>
> How about the scripts/create-recipe ? It works fine with the tarball, but
> not very well with .rpm/.deb/ipk.
>
> // Robert

What I have in mind is that the recipes will be created automatically
when building a source recipe that inherits a certain class. The
recipe and tarball would then be placed in a layer structure together
with other recipes that includes that class. Fields like RDEPENDS,
LICENSE; PR etc should be carried over from the source recipe.

Maybe it should be done in a way similar to populate_sdk, so if I
bitbake an image with e.g. -c populate_binary_layer it would create a
meta-layer with binary recipes for all packages inheriting that class.

-- Erik

>
>
>> Thanks,
>> Erik
>>
>>>
>>>
>>>> The idea is that the developers of the closed source software uses OE
>>>> to build their software from source, and in this build process the
>>>> files needed for a binary distribution in OE is automatically
>>>> generated. These generated files can be distributed to others that
>>>> wish to use that closed source software in OE. So it would use some of
>>>> the output from package.bbclass, like the package split, but then
>>>> generate some extra files.
>>>>
>>>> Cheers,
>>>> Erik
>>>>
>>>>
>>>>>
>>>>>
>>>>> On 05/08/2013 01:53 PM, Erik Botö wrote:
>>>>>>
>>>>>>
>>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> Background:
>>>>>> If you use OE to build software which includes e.g. a closed source
>>>>>> library, but still want to others to be able to build software based
>>>>>> on that library in a OE environment you would have to create recipes
>>>>>> that contains a binary version of your library + headers manually.
>>>>>> This would have to be done manually for each package, and as the
>>>>>> development of the library continues the binary recipes will have to
>>>>>> be manually updated to keep in sync.
>>>>>>
>>>>>> Idea:
>>>>>> Create a new bbclass that handles this automatically as much as
>>>>>> possible. The basic idea is to:
>>>>>> - Create a tarball of ${WORKDIR}/image/ alternatively
>>>>>>      ${WORKDIR}/packages-split/
>>>>>> - By parsing the "source recipe", create a "binary recipe" that uses
>>>>>> that tarball
>>>>>>
>>>>>> The binary recipe should work as a drop in replacement of the source
>>>>>> recipe. This means that the other recipes depending on the closed
>>>>>> source software shouldn't need to be adapted to work with one or the
>>>>>> other.
>>>>>>
>>>>>> I'd like feedback on whether you think the idea is feasible, and if
>>>>>> you think it could be useful for others. And anything else you think
>>>>>> of.
>>>>>>
>>>>>> Cheers,
>>>>>> Erik Botö
>>>>>>
>>>>>> _______________________________________________
>>>>>> Openembedded-core mailing list
>>>>>> Openembedded-core@lists.openembedded.org
>>>>>> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>>>>>>
>>>>>>
>>>>>
>>>>
>>>>
>>>
>>
>>
>



--
=============================================
Erik Botö
Senior Software Engineer
Pelagicore AB
Ekelundsgatan 4, 6tr, SE-411 18 Gothenburg, Sweden
Mobile: +46 (0)76 881 72 03
E-Mail: erik.boto@pelagicore.com
=============================================



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

end of thread, other threads:[~2013-05-08  8:44 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-05-08  5:53 [RFC] bbclass for automatic generation of binary recipes Erik Botö
2013-05-08  6:11 ` Robert Yang
2013-05-08  6:36   ` Erik Botö
2013-05-08  7:12     ` Robert Yang
2013-05-08  7:35       ` Erik Botö
2013-05-08  8:01         ` Robert Yang
2013-05-08  8:26           ` Erik Botö

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.