Created
July 19, 2018 19:26
-
-
Save fnichol/7a4023efc7cdedd947fead5b39d1e6dd to your computer and use it in GitHub Desktop.
Build an initial `hab` binary for the `x86_64-linux-kernel2` package target
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Change directory to the root of your `habitat-sh/habitat` repo checkout | |
# cd /path/to/habiatat-sh/habitat | |
# Cleanup any existing Studio instances--keep it clean to be safe! | |
hab studio rm | |
# Enter the studio with the `core` key and prevent a Supervisor from starting | |
env HAB_ORIGIN=core HAB_STUDIO_SUP=false hab studio enter | |
# Build a static `hab` CLI for the `x86_64-linux-kernel2` target | |
env BUILD_PKG_TARGET=x86_64-linux-kernel2 \ | |
/src/components/plan-build/bin/hab-plan-build.sh components/hab | |
# For convenience, copy the static `hab` binary into the results directory. | |
# | |
# Note that we don't use `hab pkg path` to get the path, as future releases of | |
# Habitat would filter this installed package out. Remember that we built this | |
# binary with an `x86_64-linux` toolchain. This is fine for initial | |
# bootstrapping however, and an important reason why the `hab` binary is | |
# statically compiled. | |
(source ./results/last_build.env \ | |
&& cp "/hab/pkgs/$pkg_ident/bin/hab" ./results/hab-x86_64-linux-kernel2) | |
# All done, exit the Studio | |
exit |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
At the moment, you can verify that the binary has the proper package target by trying to install a package with debug logging turned on:
env RUST_LOG=debug ./results/hab-x86_64-linux-kernel2 install core/jq-static`
You'll most likely see a bunch of "rejected PackageInstall candidate" messages which show
active_target=x86_64-linux-kernel2
at the end of that line.Clearly we'll want to have better user feedback with a few of these tools so it's easier to know what the underlying package target is for any binary.