bst shell should automatically pull necessary dependencies
Summary
Not sure if this was a design decision but It seems confusing for me:
I was trying to enter a shell to build a single element, and my first idea was to run
bst shell base/opus.bst
but that doesn't include what I need to build. A bit confusing but ok;
I then checked the docs (https://docs.buildstream.build/using_commands.html#bst-shell) and I discovered bst shell --build
; "Use the –build option to create a temporary sysroot for building the element instead." So I tried it:
bst shell --build base/opus.bst
but then I got an error:
[jjardon@edoras freedesktop-sdk (18.08)]$ bst shell --build base/opus.bst
[--:--:--][][] START Loading elements
[00:00:00][][] SUCCESS Loading elements
[--:--:--][][] START Resolving elements
[00:00:00][][] SUCCESS Resolving elements
[--:--:--][][] START Resolving cached state
[00:00:00][][] SUCCESS Resolving cached state
Error launching shell: Elements need to be built or downloaded before staging a shell environment
base/p11-kit.bst
base/gnutls.bst
base/e2fsprogs.bst
base/krb5.bst
base/curl.bst
base/python3.bst
base/git.bst
Asking in IRC, Seems I have to run another command before:
bst build --all base/opus.bst
This works but I would expect bst shell --build base/opus.bst
to do that for me (ie, automatically cache build deps)? Also taking account what the documentation link mentioned before says about bst shell --build
What is the expected correct behavior?
This command would be enough to have everything I need to build:
bst shell --build base/opus.bst
Other relevant information
- BuildStream version affected: 1.2.2