@@ -1433,6 +1433,7 @@
"step3" : {
"shortname" : "Populate/update dashboard site",
"NOBUILDTOOLS" : true,
+ "NOVCONTAINER" : true,
"EXTRACMDS" : ["${SCRIPTSDIR}/run-dashboard-index ${HELPERBUILDDIR}/../"]
}
},
@@ -146,5 +146,10 @@ case "$target" in
sha256sums $TMPDIR/deploy/images/qemux86-64
cp -R --no-dereference --preserve=links $TMPDIR/deploy/images/qemux86-64/*qemux86* $DEST/patchtest
;;
+ "vcontainer-tarball")
+ mkdir -p $DEST/vcontainer-tarball
+ sha256sums $TMPDIR/deploy/sdk
+ cp -R --no-dereference --preserve=links $TMPDIR/deploy/sdk/*vcontainer* $DEST/vcontainer-tarball
+ ;;
esac
@@ -153,6 +153,25 @@ else:
if args.phase == "init" and args.stepname == "buildtools":
sys.exit(0)
+if jcfg:
+ vcontainer = utils.setup_vcontainer_tarball(ourconfig, args.workername, None, checkonly=True)
+ if vcontainer:
+ addentry("vcontainer", "Setup vcontainer tarball", "init")
+else:
+ # If we're executing a specific step, check whether vcontainer is disabled for it
+ vcontainer = True
+ if args.stepname in ("build-targets", "cmds", "test-targets", "plain-cmds"):
+ try:
+ vcontainer = not utils.getconfigvar("NOVCONTAINER", ourconfig, args.target, int(args.phase))
+ except ValueError:
+ # Not an integer step phase
+ pass
+
+ if vcontainer:
+ utils.setup_vcontainer_tarball(ourconfig, args.workername, args.builddir + "/../vcontainer-tarball")
+ if args.phase == "init" and args.stepname == "vcontainer":
+ sys.exit(0)
+
extratools = utils.getconfigvar("extratools", ourconfig, args.target)
if jcfg:
if extratools:
@@ -77,6 +77,7 @@ for repo in sorted(repos.keys()):
utils.flush()
utils.setup_buildtools_tarball(ourconfig, args.workername, args.abworkdir + "/buildtools")
+utils.setup_vcontainer_tarball(ourconfig, args.workername, args.abworkdir + "/vcontainer-tarball")
if "bitbake" not in repos:
sys.exit(0)
@@ -456,8 +456,8 @@ def sha256_file(filename):
pass
return method.hexdigest()
-def enable_tools_tarball(btdir, name):
- btenv = glob.glob(btdir + "/environment-setup*")
+def enable_tools_tarball(btdir, name, env_glob="/environment-setup*"):
+ btenv = glob.glob(btdir + env_glob)
print("Using %s %s" % (name, btenv))
# We either parse or wrap all our execution calls, rock and a hard place :(
with open(btenv[0], "r") as f:
@@ -474,6 +474,20 @@ def enable_tools_tarball(btdir, name):
if line in os.environ:
del os.environ[line]
+def setup_vcontainer_tarball(ourconfig, workername, vcdir, checkonly=False):
+ vctarball = None
+ if "vcontainer" in ourconfig and workername:
+ vccfg = getconfig("vcontainer", ourconfig)
+ for entry in vccfg:
+ if fnmatch.fnmatch(workername, entry):
+ vctarball = vccfg[entry]
+ break
+
+ if checkonly:
+ return vctarball
+
+ setup_tools_tarball(ourconfig, vcdir, vctarball, name="vcontainer-tarball", env_glob="/environment-setup-ci")
+
def setup_buildtools_tarball(ourconfig, workername, btdir, checkonly=False):
bttarball = None
if "buildtools" in ourconfig and workername:
@@ -488,7 +502,7 @@ def setup_buildtools_tarball(ourconfig, workername, btdir, checkonly=False):
setup_tools_tarball(ourconfig, btdir, bttarball)
-def setup_tools_tarball(ourconfig, btdir, bttarball, name="buildtools"):
+def setup_tools_tarball(ourconfig, btdir, bttarball, name="buildtools", env_glob="/environment-setup*"):
btenv = None
if bttarball:
@@ -548,7 +562,7 @@ def setup_tools_tarball(ourconfig, btdir, bttarball, name="buildtools"):
if not os.path.exists(btdir):
print("Extracting %s %s" % (name, bttarball))
subprocess.check_call(["bash", btdlpath, "-d", btdir, "-y"])
- enable_tools_tarball(btdir, name)
+ enable_tools_tarball(btdir, name, env_glob)
def get_string_from_version(version, milestone=None, rc=None):
""" Point releases finishing by 0 (e.g 4.0.0, 4.1.0) do no exists,