diff options
| author | Alexander Kanavin <alex.kanavin@gmail.com> | 2024-05-02 13:44:21 +0200 |
|---|---|---|
| committer | Steve Sakoman <steve@sakoman.com> | 2024-05-06 13:32:02 -0700 |
| commit | 94dc3e62a5b7f75dc3b45764afc21c4d7f323228 (patch) | |
| tree | c9c690c999f45a41e5350839f41157f49ed43cec /scripts | |
| parent | 64c3534366981bb5bebf384e458cad89c74b68af (diff) | |
| download | poky-94dc3e62a5b7f75dc3b45764afc21c4d7f323228.tar.gz | |
scripts/oe-setup-build: write a build environment initialization one-liner into the build directory
With this, users no longer have to know where oe-init-build-env is relative to the
build directory; that information is contained in the one liner and then
it's possible to simply use that:
. /path/to/build/init-build-env
This will particularly help with initializing builds in unpacked
build bundles, as users won't have to know where oe-init-build-env
is in the bundle directory tree - similar to esdk initialization.
(From OE-Core rev: 1cabdf287c2739accdab3a766df060f1bc802b63)
(From OE-Core rev: 4bf3f11e39312cfce59d4652804faf0eec6b5ace)
Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Diffstat (limited to 'scripts')
| -rwxr-xr-x | scripts/oe-setup-build | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/scripts/oe-setup-build b/scripts/oe-setup-build index 5364f2b481..c0476992a2 100755 --- a/scripts/oe-setup-build +++ b/scripts/oe-setup-build | |||
| @@ -91,7 +91,16 @@ def setup_build_env(args): | |||
| 91 | builddir = args.b if args.b else template["buildpath"] | 91 | builddir = args.b if args.b else template["buildpath"] |
| 92 | no_shell = args.no_shell | 92 | no_shell = args.no_shell |
| 93 | coredir = os.path.abspath(os.path.join(os.path.dirname(os.path.realpath(__file__)), '..')) | 93 | coredir = os.path.abspath(os.path.join(os.path.dirname(os.path.realpath(__file__)), '..')) |
| 94 | cmd = "TEMPLATECONF={} . {} {}".format(template["templatepath"], os.path.join(coredir, 'oe-init-build-env'), builddir) | 94 | cmd_base = ". {} {}".format(os.path.join(coredir, 'oe-init-build-env'), os.path.abspath(builddir)) |
| 95 | |||
| 96 | initbuild = os.path.join(builddir, 'init-build-env') | ||
| 97 | if not os.path.exists(initbuild): | ||
| 98 | os.makedirs(builddir, exist_ok=True) | ||
| 99 | with open(initbuild, 'w') as f: | ||
| 100 | f.write(cmd_base) | ||
| 101 | print("\nRun '. {}' to initialize the build in a current shell session.\n".format(initbuild)) | ||
| 102 | |||
| 103 | cmd = "TEMPLATECONF={} {}".format(template["templatepath"], cmd_base) | ||
| 95 | if not no_shell: | 104 | if not no_shell: |
| 96 | cmd = cmd + " && {}".format(os.environ['SHELL']) | 105 | cmd = cmd + " && {}".format(os.environ['SHELL']) |
| 97 | print("Running:", cmd) | 106 | print("Running:", cmd) |
