Bug 3808

Summary: Add an option to include the ADT tarball into your target image
Product: [Build System, Metadata & Runtime] Hob Reporter: Belen Barros Pena <belen.barros.pena>
Component: hobAssignee: Cristiana Voicu <cristiana.voicu>
Status: VERIFIED FIXED QA Contact:
Severity: enhancement    
Priority: Medium CC: andreea.b.proca, belen.barros.pena, cristian.iorga, jessica.zhang, poky.bs.watcher, poky.watcher, sgw, srifenbark, valentin.popa
Version: unspecified   
Target Milestone: 1.5 M3   
Hardware: x86   
OS: Multiple   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: Yes (doc changes required)
Attachments:
Description Flags
ADT_tarball_option.pdf
none
3345 - Standalone ADT installer (v2).pdf
none
ADT window
none
populate_sdk_option.pdf
none
populate_sdk_option.pdf
none
populate_sdk_option.pdf none

Description Belen Barros Pena 2013-01-29 18:02:58 UTC
Created attachment 1032 [details]
ADT_tarball_option.pdf

In the Advanced Configuration dialog, we need an option to include the ADT tarball into the base images you build. I've attached a mockup (ADT_tarball_option.pdf). 

We need some information text about this option, something like: 

"Select this option to include the ADT tarball in your base images"

Scott, Jessica: could you please review and change the text above as needed?

Thanks!
Comment 1 Scott Rifenbark 2013-01-29 18:27:18 UTC
Does checking this new box actually build the ADT tarball or just include it?  If it does build it and include it maybe we should say "Select this option to build and include the ADT tarball into your bae images."

If it just includes it then what you have is fine except I would substitute "into" for "in" 

Scott
Comment 2 Belen Barros Pena 2013-01-30 09:59:13 UTC
Thanks, Scott!

Cristiana, Jessica: do you know the answer to Scott's question? 


(In reply to comment #1)
> Does checking this new box actually build the ADT tarball or just include
> it?  If it does build it and include it maybe we should say "Select this
> option to build and include the ADT tarball into your bae images."
> 
> If it just includes it then what you have is fine except I would substitute
> "into" for "in" 
> 
> Scott
Comment 3 Cristiana Voicu 2013-01-30 10:56:53 UTC
Hello Jessica,

I am also confused about this subject. Can you please explain what should be implemented and what should a build generate?

Thank you,
Cristiana
Comment 4 Belen Barros Pena 2013-02-06 16:51:40 UTC
Created attachment 1062 [details]
3345 - Standalone ADT installer (v2).pdf

The attached document shows the outcome of our phone discussion this evening. 

I have to insist I am not particularly happy: after managing to keep the screen so clean, all of a sudden we have 2 more controls out there. The adt installer button is particularly ugly :(

Let me know what you think.

Belen
Comment 5 Jessica 2013-02-06 20:53:12 UTC
Belen,

Agree with you it does look ugly.  I think we just too obsessed with adding adt-installer to hob.  I'd like us to step back from adt-installer but instead of looking into ways to make hob better build ADT, which is a key output of Yocto Project build process.  By saying ADT, there'r 2 key components: cross toolchain, and the sysroot that contains dev packages for developer to do they dev work for target. This typically should match their target rootfs.  Currently there're 3 ways that people can achieve building ADT and setup their cross application development work env.

Option 1: bitbake imagename -c populate_sdk
This will generate a tarball which contains the toolchain plus the sysroot that match exactly your target rootfs package selection + their matching development packages.  For supporting this, if we don't want to clutter the current main view, we can move it into "Advanced configuration" and replacing Toolchain with a checkbox "Populate SDK"

Option 2&3: These 2 approaches involve getting and installing the toolchain and sysroot as separate entity.  For sysroot part, they both need an image rootfs and extract that which will be taken care by doing an image build.  Now to the toolchain part.  For build a toolchain, the user needs to specify the development host (i686 or x86_64) and target architecture (machine option) and the command to run build is "bitbake meta-toolchain".  We have meta-toolchain-gmae, but I don't think we need to support that in HOB since it will very likely be obsolete in the future.  For adt-installer, just run "bitbake adt-installer" since it has its own configuration file inside the generated tarball which makes no need for build time configuration.  For accomodating these two, I'm proposing that we add an ADT button at the place of the removed Template button.  After clicking on it we opened the window of my hand-drawing attachment.  By default the config box under Toolchain is grayed out.  Only if you select it, you need to specify host and target.  And of course for adt-installer it's much more straight forward.  

I think with these changes, it's closer map to what we support as to building ADT with yocto from commandline.  

Thoughts?
Comment 6 Jessica 2013-02-06 20:54:04 UTC
Created attachment 1063 [details]
ADT window
Comment 7 Belen Barros Pena 2013-02-08 12:12:29 UTC
Jessica: I think your proposal sounds pretty good.

I'll mock it up to make sure we have covered everything.

Thanks!!

Belen

(In reply to comment #6)
> Created attachment 1063 [details]
> ADT window

(In reply to comment #4)
> Created attachment 1062 [details]
> 3345 - Standalone ADT installer (v2).pdf
> 
> The attached document shows the outcome of our phone discussion this
> evening. 
> 
> I have to insist I am not particularly happy: after managing to keep the
> screen so clean, all of a sudden we have 2 more controls out there. The adt
> installer button is particularly ugly :(
> 
> Let me know what you think.
> 
> Belen

(In reply to comment #5)
> Belen,
> 
> Agree with you it does look ugly.  I think we just too obsessed with adding
> adt-installer to hob.  I'd like us to step back from adt-installer but
> instead of looking into ways to make hob better build ADT, which is a key
> output of Yocto Project build process.  By saying ADT, there'r 2 key
> components: cross toolchain, and the sysroot that contains dev packages for
> developer to do they dev work for target. This typically should match their
> target rootfs.  Currently there're 3 ways that people can achieve building
> ADT and setup their cross application development work env.
> 
> Option 1: bitbake imagename -c populate_sdk
> This will generate a tarball which contains the toolchain plus the sysroot
> that match exactly your target rootfs package selection + their matching
> development packages.  For supporting this, if we don't want to clutter the
> current main view, we can move it into "Advanced configuration" and
> replacing Toolchain with a checkbox "Populate SDK"
> 
> Option 2&3: These 2 approaches involve getting and installing the toolchain
> and sysroot as separate entity.  For sysroot part, they both need an image
> rootfs and extract that which will be taken care by doing an image build. 
> Now to the toolchain part.  For build a toolchain, the user needs to specify
> the development host (i686 or x86_64) and target architecture (machine
> option) and the command to run build is "bitbake meta-toolchain".  We have
> meta-toolchain-gmae, but I don't think we need to support that in HOB since
> it will very likely be obsolete in the future.  For adt-installer, just run
> "bitbake adt-installer" since it has its own configuration file inside the
> generated tarball which makes no need for build time configuration.  For
> accomodating these two, I'm proposing that we add an ADT button at the place
> of the removed Template button.  After clicking on it we opened the window
> of my hand-drawing attachment.  By default the config box under Toolchain is
> grayed out.  Only if you select it, you need to specify host and target. 
> And of course for adt-installer it's much more straight forward.  
> 
> I think with these changes, it's closer map to what we support as to
> building ADT with yocto from commandline.  
> 
> Thoughts?
Comment 8 Belen Barros Pena 2013-02-13 14:44:56 UTC
Created attachment 1071 [details]
populate_sdk_option.pdf

Mock up of the populate SDK option as described by Jessica. 

We need some content for the information bubble. I was going to suggest something like this:

"Check this box to generate a tarball for your images containing toolchain, sysroot and their matching development packages"

Jessica, Scott: would you be happy with the above text or does it need changing?

Thanks!
Comment 9 Jessica 2013-02-13 18:30:57 UTC
Please change the text to:

Check this box to generate a SDK tarball that contains cross toolchain, sysroot containing development packages that match your image
Comment 10 Belen Barros Pena 2013-02-14 09:29:02 UTC
Thanks, Jessica! Scott: any comments on your side?

(In reply to comment #9)
> Please change the text to:
> 
> Check this box to generate a SDK tarball that contains cross toolchain,
> sysroot containing development packages that match your image
Comment 11 Scott Rifenbark 2013-02-14 14:24:05 UTC
Please re-write as this:

Check this box to generate an SDK tarball that consists of the cross-toolchain and a sysroot that contains development packages for your image
Comment 12 Belen Barros Pena 2013-02-19 11:27:55 UTC
Thanks, Scott!

Cristiana: I think the design is done. Whenever you are ready, you can accept the bug :)

Belen

(In reply to comment #11)
> Please re-write as this:
> 
> Check this box to generate an SDK tarball that consists of the
> cross-toolchain and a sysroot that contains development packages for your
> image
Comment 13 Cristiana Voicu 2013-02-19 11:33:48 UTC
Thanks Belen! I will change the status to accepted, but currently I am working on something else. 

(In reply to comment #12)
> Thanks, Scott!
> 
> Cristiana: I think the design is done. Whenever you are ready, you can
> accept the bug :)
> 
> Belen
> 
> (In reply to comment #11)
> > Please re-write as this:
> > 
> > Check this box to generate an SDK tarball that consists of the
> > cross-toolchain and a sysroot that contains development packages for your
> > image
Comment 14 Cristiana Voicu 2013-07-30 10:33:29 UTC
Hi Belen, Jessica,

I agree with changing the labels, but we shouldn't remove the combo box. 
Currently this combo box sets SDKMACHINE variable which is needed before using  bitbake image -c populate_sdk command.
Do you agree with me?

Thanks,
Cristiana
Comment 15 Belen Barros Pena 2013-08-02 10:39:00 UTC
Created attachment 1403 [details]
populate_sdk_option.pdf
Comment 16 Belen Barros Pena 2013-08-02 13:10:57 UTC
Created attachment 1404 [details]
populate_sdk_option.pdf
Comment 18 Andreea Brandusa Proca 2013-10-03 12:54:01 UTC
Verified in master:a02280f99f05b1c21de2a78de9222a2f62a0dabc