Bug 7740 - Explain better what Toaster does in the layer checkout directory
Summary: Explain better what Toaster does in the layer checkout directory
Status: VERIFIED FIXED
Alias: None
Product: Toaster
Classification: Build System, Metadata & Runtime
Component: toaster (show other bugs)
Version: 1.8
Hardware: x86 Multiple
: Medium enhancement
Target Milestone: 1.9 M3
Assignee: Belen Barros Pena
QA Contact: Alexandru Roman
URL:
Whiteboard:
Depends on:
Blocks:
 
Reported: 2015-05-12 11:44 UTC by Belen Barros Pena
Modified: 2015-09-10 08:46 UTC (History)
9 users (show)

See Also:
OS type for building Yocto: ---
Type of Regression: ---
Verified:
Documentation change: No (bug/feature does not impact docs)


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Belen Barros Pena 2015-05-12 11:44:45 UTC
Currently, the Toaster set up script asks users to define the layer checkout directory using this text:

-- Validation: The checkout directory must be set
Toaster needs to know in which directory it should check out the layers that will be needed for your builds. 
Toaster suggests "/home/yocto". If you select this directory, a layer like "meta-intel" will end up in "/home/yocto/meta-intel". 
Press enter to select "home/yocto" or type the full path to a different directory (must be a parent of current checkout directory):

We should make a bit more clear that the checkout directory should be a parent of the directory where you have cloned the sources you are using to run Toaster. Maybe we could say something like:

-- Validation: Please set the layers checkout directory

This is the directory where Toaster will checkout the source code of the layers you will build. 

To keep clean the clone you are using to run Toaster, the layers checkout directory should be a parent of such clone directory. 

Toaster suggests you use "home/yocto" as your layers checkout directory. Press enter to select "home/yocto" or type the full path to a different directory (remember, it must be a parent of the directory where you cloned the sources you are using to run Toaster):
Comment 1 Belen Barros Pena 2015-05-12 11:45:42 UTC
Forgot to say: Randy, Scott, if you have any suggestions on how to improve on what I just wrote, please comment. 

Thanks!
Comment 2 Scott Rifenbark 2015-05-12 12:25:47 UTC
(In reply to comment #0)
> Currently, the Toaster set up script asks users to define the layer checkout
> directory using this text:
> 
> -- Validation: The checkout directory must be set
> Toaster needs to know in which directory it should check out the layers that
> will be needed for your builds. 
> Toaster suggests "/home/yocto". If you select this directory, a layer like
> "meta-intel" will end up in "/home/yocto/meta-intel". 
> Press enter to select "home/yocto" or type the full path to a different
> directory (must be a parent of current checkout directory):
> 
> We should make a bit more clear that the checkout directory should be a
> parent of the directory where you have cloned the sources you are using to
> run Toaster. Maybe we could say something like:
> 
> -- Validation: Please set the layers checkout directory

I would end the above sentence with a period.

> 
> This is the directory where Toaster will checkout the source code of the
> layers you will build. 

You might consider this - "This is the directory Toaster uses to checkout the source code of the layers you will build."

> 
> To keep clean the clone you are using to run Toaster, the layers checkout
> directory should be a parent of such clone directory. 

You might consider this - "To keep the clone you are using to run Toaster clean, the layers directory should be a parent of the clone directory."

> 
> Toaster suggests you use "home/yocto" as your layers checkout directory.
> Press enter to select "home/yocto" or type the full path to a different
> directory (remember, it must be a parent of the directory where you cloned
> the sources you are using to run Toaster):

You might consider this - "Toaster suggests you use "home/yocto" as your layers checkout directory.  Press enter to select "home/yocto" or type the full path to a different directory.  If you provide your own directory, it must be a parent of the cloned directory for the sources you are using to run Toaster."
Comment 3 Belen Barros Pena 2015-05-13 09:38:38 UTC
The confusion was this one: 

"it wasn’t clear that toaster wouldn’t make changes to the existing layers already in my “src” directory and would instead create a subdirectory and do its own checkouts."
Comment 4 brian avery 2015-07-08 22:34:00 UTC
What is forcing the requirement that it be the parent of the current directory?

For example, here is my directory structure when building stuff w/ Yocto
as I always prefer shadow builds to in-place builds:

~/src/yocto-poky/master/poky/GIT_CHECKOUT
~/src/yocto-poky/fido/poky/GIT_CHECKOUT
~/src/yocto-layers/master
~/src/yocto-layers/fido
~/src/yocto-builds/toaster-master
~/src/yocto-builds/toaster-fido
~/src/yocto-builds/arm-fido
~/src/yocto-builds/qemu-fido


My preference would probably be to put the layers toaster is checking out in 
either 
~/src/yocto-layers/toaster
or
~/src/yocto-builds/toaster-master/layerdir

The first is not a parent, the second choice would be a child. In either case, it seems odd to limit the destination directory for a git checkout assuming it is 
1) accessible
2) not already a git tree.
---
For reference, by hand I start builds as :
~/src/yocto-builds/arm-fido$>../../yocto-poky/master/poky/oe-init-build-env
cd build
bitbake core-image-minimal
Comment 5 Belen Barros Pena 2015-08-21 10:41:01 UTC
(In reply to comment #4)
> What is forcing the requirement that it be the parent of the current
> directory?

We have an enhancement open to remove this requirement (bug 7742), currently unassigned and set to 2.1

Until we get that done, I will update the text in the Toaster setup script to improve clarity.
Comment 6 Belen Barros Pena 2015-08-21 12:54:15 UTC
Patch submitted for review

https://lists.yoctoproject.org/pipermail/toaster/2015-August/002596.html
Comment 8 Alexandru Roman 2015-09-10 08:46:35 UTC
Verified on master: d4585fa23d56a58c583ee33db067a23177a936b1
Comment 9 Alexandru Roman 2015-09-10 08:46:51 UTC
Verified on master: d4585fa23d56a58c583ee33db067a23177a936b1