Bug 3298 - Add a 'world native' target
Summary: Add a 'world native' target
Status: VERIFIED FIXED
Alias: None
Product: OE-Core
Classification: Build System, Metadata & Runtime
Component: core (show other bugs)
Version: 1.4
Hardware: x86 Multiple
: Low enhancement
Target Milestone: 1.4 M3
Assignee: Hongxu Jia
QA Contact:
URL:
Whiteboard: Design
Depends on:
Blocks:
 
Reported: 2012-10-18 08:12 UTC by Robert Yang
Modified: 2013-05-02 12:17 UTC (History)
10 users (show)

See Also:
OS type for building Yocto: ---
Type of Regression: ---
Verified:
Documentation change: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Robert Yang 2012-10-18 08:12:46 UTC
The "bitbake world" will build everything, it would be good if we have a "bitbake native (or something else)" which can build all the native tools, this is useful for testing and collecting the native tools. Maybe we can enhance the "bitbake world" to achieve this, or do it in a recipe.

Put it in the "oe-core" product at the moment since I don't have detailed design about it.
Comment 1 Richard Purdie 2012-10-18 09:00:47 UTC
This already exists and is "bitbake universe". Whilst its expected world will not fail, universe can and will due to it building multiple providers of things.
Comment 2 Robert Yang 2012-10-18 09:38:55 UTC
(In reply to comment #1)
> This already exists and is "bitbake universe". Whilst its expected world
> will not fail, universe can and will due to it building multiple providers
> of things.

Hi Richard,

Maybe I didn't describe it clearly, I meant that "bitbake native" only built the "native" tools, for what I know is that the "bitbake universe" would build everything, and it failed sometimes.
Comment 3 Jessica 2012-10-18 14:42:14 UTC
Can you be more specific what's the reason for creating this native target? Customer requirement, or what so ever? thx
Comment 4 Jessica 2012-10-18 14:43:46 UTC
Please see my last comment
Comment 5 Jason Wessel 2012-10-18 15:10:49 UTC
The idea would be to create a set of "pre-built" native tools which could eventually be used across a number of hosts, so as to not have every host have to rebuild everything that is a "native" package.
Comment 6 Robert Yang 2012-10-19 09:53:59 UTC
(In reply to comment #4)
> Please see my last comment

Hi Jessica,

I think Jason has answered your question, can we set it to "Accepted" ?
Comment 7 Richard Purdie 2012-10-19 10:11:22 UTC
(In reply to comment #5)
> The idea would be to create a set of "pre-built" native tools which could
> eventually be used across a number of hosts, so as to not have every host
> have to rebuild everything that is a "native" package.

I think a "world-native" would not allow enough of the flexibility you'd want in this. I suspect a packagegroup listing the native tools you wanted as part of this set would be more appropriate.

My main worry is how you'd implement this "world-native" since the only way I can see it working if you don't use packagegroups is to teach bitbake special knowledge about "native" which is shouldn't really need to know anything about.
Comment 8 Robert Yang 2012-10-19 10:29:13 UTC
(In reply to comment #7)
> (In reply to comment #5)
> > The idea would be to create a set of "pre-built" native tools which could
> > eventually be used across a number of hosts, so as to not have every host
> > have to rebuild everything that is a "native" package.
> 
> I think a "world-native" would not allow enough of the flexibility you'd
> want in this. I suspect a packagegroup listing the native tools you wanted
> as part of this set would be more appropriate.
> 

Sounds great, so how about add such a recipe (use packagegroup) in oe-core ?

> My main worry is how you'd implement this "world-native" since the only way
> I can see it working if you don't use packagegroups is to teach bitbake
> special knowledge about "native" which is shouldn't really need to know
> anything about.
Comment 9 Richard Purdie 2012-11-12 22:40:52 UTC
(In reply to comment #8)
> (In reply to comment #7)
> > (In reply to comment #5)
> > > The idea would be to create a set of "pre-built" native tools which could
> > > eventually be used across a number of hosts, so as to not have every host
> > > have to rebuild everything that is a "native" package.
> > 
> > I think a "world-native" would not allow enough of the flexibility you'd
> > want in this. I suspect a packagegroup listing the native tools you wanted
> > as part of this set would be more appropriate.
> > 
> 
> Sounds great, so how about add such a recipe (use packagegroup) in oe-core ?

I'm ok with doing that and think its the best approach available although I'm still unsure if it makes a huge amount of sense for the project.
Comment 10 Robert Yang 2012-11-13 02:55:08 UTC
(In reply to comment #9)
> (In reply to comment #8)
> > (In reply to comment #7)
> > > (In reply to comment #5)
> > > > The idea would be to create a set of "pre-built" native tools which could
> > > > eventually be used across a number of hosts, so as to not have every host
> > > > have to rebuild everything that is a "native" package.
> > > 
> > > I think a "world-native" would not allow enough of the flexibility you'd
> > > want in this. I suspect a packagegroup listing the native tools you wanted
> > > as part of this set would be more appropriate.
> > > 
> > 
> > Sounds great, so how about add such a recipe (use packagegroup) in oe-core ?
> 
> I'm ok with doing that and think its the best approach available although

I will use the packagegroup to do it, and add it in meta/recipes-gnome/packagegroups/

> I'm still unsure if it makes a huge amount of sense for the project.

I think that it is useful on the 2 aspects: 

1) We can share this set of native recipes' sstate cache among different hosts.

2) We can use this set of native recipes to verify whether we can support a host
   (maybe "bitbake world" is a better verification way)
Comment 12 liang li 2013-01-07 03:41:51 UTC
no error when run "bitbake -b /path/to/packagegroup-toolset-native.bb" with git master branch commit "958162e96b4a4f23bca94500b5f20975633dd5c6".
Comment 13 Alexandru Palalau 2013-05-02 12:17:42 UTC
This is covered by the following Testopia test case:
https://bugzilla.yoctoproject.org/tr_show_case.cgi?case_id=757