@@ -26,7 +26,10 @@
"AUTOBUILDER_HASHSERV" : "wss://hashserv.yoctoproject.org/ws",
"defaults" : {
- "NEEDREPOS" : ["poky"],
+ "NEEDREPOS" : ["bitbake"],
+ "BBSETUP_DLDIR" : "${BASE_SHAREDDIR}/current_sources",
+ "BBSETUP_CONFIG" : ["poky-master", "poky"],
+ "BBSETUP_FRAGMENTS" : [],
"DISTRO" : "poky",
"MACHINE" : "qemux86-64",
"SDKMACHINE" : "x86_64",
@@ -43,7 +46,8 @@
"extravars" : [
"SANITY_TESTED_DISTROS = ''",
"BB_HASHSERVE = '${AUTOBUILDER_HASHSERV}'",
- "OE_FRAGMENTS += 'core/yocto-autobuilder/autobuilder core/yocto-autobuilder/autobuilder-resource-constraints'"
+ "OE_FRAGMENTS += 'core/yocto-autobuilder/autobuilder core/yocto-autobuilder/autobuilder-resource-constraints'",
+ "EXTRA_IMAGE_FEATURES ?= 'allow-empty-password empty-root-password allow-root-login'"
]
},
"templates" : {
@@ -85,7 +89,7 @@
"step1" : {
"shortname" : "Machine oe-selftest",
"EXTRACMDS" : ["${SCRIPTSDIR}/checkvnc; DISPLAY=:1 oe-selftest ${HELPERSTMACHTARGS} -j 15"],
- "ADDLAYER" : ["${BUILDDIR}/../meta-selftest"]
+ "ADDLAYER" : ["${BUILDDIR}/../layers/openembedded-core/meta-selftest"]
}
},
"altcfg-qemu" : {
@@ -221,7 +225,7 @@
"RPM_GPG_SIGN_CHUNK = '1'"
],
"EXTRACMDS" : ["${SCRIPTSDIR}/checkvnc; DISPLAY=:1 oe-selftest -a --skip-tests distrodata.Distrodata.test_checkpkg -T yocto-mirrors -T machine -T toolchain-user -T toolchain-system -j 15"],
- "ADDLAYER" : ["${BUILDDIR}/../meta-selftest"]
+ "ADDLAYER" : ["${BUILDDIR}/../layers/openembedded-core/meta-selftest"]
}
},
"buildperf" : {
@@ -257,7 +261,7 @@
"step2" : {
"shortname" : "OE Selftest",
"EXTRACMDS" : ["${SCRIPTSDIR}/checkvnc; OEQA_DEBUGGING_SAVED_OUTPUT=${BASE_SHAREDDIR}/pub/repro-fail/ DISPLAY=:1 oe-selftest -a --skip-tests distrodata.Distrodata.test_checkpkg reproducible -T yocto-mirrors -T machine -T toolchain-user -T toolchain-system -j 15"],
- "ADDLAYER" : ["${BUILDDIR}/../meta-selftest"]
+ "ADDLAYER" : ["${BUILDDIR}/../layers/openembedded-core/meta-selftest"]
},
"step3" : {
"shortname" : "Python Linter Report",
@@ -277,16 +281,16 @@
"step1" : {
"shortname" : "Reproducible Selftest",
"EXTRACMDS" : ["${SCRIPTSDIR}/checkvnc; OEQA_DEBUGGING_SAVED_OUTPUT=${BASE_SHAREDDIR}/pub/repro-fail/ DISPLAY=:1 oe-selftest -r reproducible"],
- "ADDLAYER" : ["${BUILDDIR}/../meta-selftest"]
+ "ADDLAYER" : ["${BUILDDIR}/../layers/openembedded-core/meta-selftest"]
}
},
"reproducible-meta-oe" : {
"MACHINE" : "qemux86-64",
"SDKMACHINE" : "x86_64",
- "NEEDREPOS" : ["poky", "meta-openembedded"],
+ "NEEDREPOS" : ["bitbake", "meta-openembedded"],
"ADDLAYER" : [
- "${BUILDDIR}/../meta-selftest"
+ "${BUILDDIR}/../layers/openembedded-core/meta-selftest"
],
"extravars" : [
"EXCLUDE_FROM_WORLD:layer-core = '1'",
@@ -462,7 +466,7 @@
"step1" : {
"shortname" : "Sources pre-fetching",
"BBTARGETS" : "universe -c fetch -k",
- "ADDLAYER" : ["${BUILDDIR}/../meta-selftest"],
+ "ADDLAYER" : ["${BUILDDIR}/../layers/openembedded-core/meta-selftest"],
"extravars" : [
"SOURCE_MIRROR_FETCH = '1'"
]
@@ -478,16 +482,17 @@
"step1" : {
"shortname" : "Source Mirror Selftest",
"EXTRACMDS" : ["${SCRIPTSDIR}/checkvnc; DISPLAY=:1 oe-selftest -a -t yocto-mirrors -j 15"],
- "ADDLAYER" : ["${BUILDDIR}/../meta-selftest"]
+ "ADDLAYER" : ["${BUILDDIR}/../layers/openembedded-core/meta-selftest"]
}
}
},
"overrides" : {
"qemuarm-oecore" : {
- "NEEDREPOS" : ["oecore", "bitbake"],
+ "NEEDREPOS" : ["bitbake"],
"MACHINE" : "qemuarm",
- "DISTRO" : "None",
+ "DISTRO" : "",
+ "BBSETUP_CONFIG" : ["oe-nodistro", "nodistro"],
"extravars" : [
"INHERIT += 'uninative'",
"require conf/distro/include/yocto-uninative.inc",
@@ -557,7 +562,7 @@
"step1" : {
"shortname" : "Sources pre-fetching (arm specific)",
"BBTARGETS" : "universe -c fetch -k",
- "ADDLAYER" : ["${BUILDDIR}/../meta-selftest"],
+ "ADDLAYER" : ["${BUILDDIR}/../layers/openembedded-core/meta-selftest"],
"extravars" : [
"SOURCE_MIRROR_FETCH = '1'"
]
@@ -614,7 +619,7 @@
},
"meta-arm" : {
- "NEEDREPOS" : ["poky", "meta-arm"],
+ "NEEDREPOS" : ["bitbake", "meta-arm"],
"ADDLAYER" : [
"${BUILDDIR}/../meta-arm/meta-arm-toolchain",
"${BUILDDIR}/../meta-arm/meta-arm",
@@ -648,7 +653,7 @@
}
},
"meta-agl-core" : {
- "NEEDREPOS" : ["poky", "meta-agl"],
+ "NEEDREPOS" : ["bitbake", "meta-agl"],
"ADDLAYER" : [
"${BUILDDIR}/../meta-agl/meta-agl-core"
],
@@ -665,7 +670,7 @@
}
},
"meta-aws" : {
- "NEEDREPOS" : ["poky", "meta-openembedded", "meta-aws"],
+ "NEEDREPOS" : ["bitbake", "meta-openembedded", "meta-aws"],
"ADDLAYER" : [
"${BUILDDIR}/../meta-openembedded/meta-oe",
"${BUILDDIR}/../meta-openembedded/meta-python",
@@ -799,7 +804,7 @@
}
},
"meta-intel" : {
- "NEEDREPOS" : ["poky", "meta-intel"],
+ "NEEDREPOS" : ["bitbake", "meta-intel"],
"ADDLAYER" : ["${BUILDDIR}/../meta-intel"],
"MACHINE" : "intel-corei7-64",
"TEMPLATE" : "arch-hw"
@@ -1050,7 +1055,7 @@
},
"buildtools-docs" : {
"MACHINE" : "qemux86-64",
- "NEEDREPOS" : ["poky", "meta-openembedded"],
+ "NEEDREPOS" : ["bitbake", "meta-openembedded"],
"ADDLAYER" : [
"${BUILDDIR}/../meta-openembedded/meta-oe",
"${BUILDDIR}/../meta-openembedded/meta-python",
@@ -1188,20 +1193,20 @@
"TEMPLATE" : "reproducible"
},
"check-layer" : {
- "NEEDREPOS" : ["poky", "meta-mingw"],
+ "NEEDREPOS" : ["bitbake", "meta-mingw"],
"DISTRO" : "nodistro",
"step1" : {
- "EXTRACMDS" : ["bitbake-layers remove-layer ../meta-poky; yocto-check-layer ../meta-poky"]
+ "EXTRACMDS" : ["yocto-check-layer ../layers/meta-yocto/meta-poky"]
},
"step2" : {
- "EXTRACMDS" : ["bitbake-layers remove-layer ../meta-yocto-bsp; yocto-check-layer ../meta-yocto-bsp"]
+ "EXTRACMDS" : ["yocto-check-layer ../layers/meta-yocto/meta-yocto-bsp"]
},
"step3" : {
"EXTRACMDS" : ["yocto-check-layer-wrapper ../meta-mingw"]
}
},
"check-layer-nightly" : {
- "NEEDREPOS" : ["poky", "meta-agl", "meta-arm", "meta-aws", "meta-intel", "meta-ti", "meta-openembedded", "meta-virtualization", "meta-clang", "meta-exein", "meta-qcom"],
+ "NEEDREPOS" : ["bitbake", "meta-agl", "meta-arm", "meta-aws", "meta-intel", "meta-ti", "meta-openembedded", "meta-virtualization", "meta-clang", "meta-exein", "meta-qcom"],
"step1" : {
"shortname" : "Test meta-agl YP Compatibility",
"EXTRACMDS" : ["yocto-check-layer-wrapper ../meta-agl/meta-agl-core ../meta-agl/meta-netboot --dependency ../meta-openembedded/meta-oe ../meta-openembedded/meta-networking ../meta-openembedded/meta-python --no-auto-dependency"]
@@ -1248,7 +1253,7 @@
}
},
"metrics" : {
- "NEEDREPOS" : ["poky", "meta-openembedded"],
+ "NEEDREPOS" : ["bitbake", "meta-openembedded"],
"extravars" : [
"INHERIT += 'cve-check'",
"BB_DISKMON_DIRS = ''",
@@ -1299,7 +1304,7 @@
}
},
"metrics-gitstats" : {
- "NEEDEDREPOS" : [],
+ "NEEDREPOS" : [],
"step1" : {
"shortname" : "Generate gitstats",
"EXTRACMDS" : ["${SCRIPTSDIR}/run-gitstats ${BUILDDIR}/../"]
@@ -1321,7 +1326,7 @@
}
},
"meta-mingw" : {
- "NEEDREPOS" : ["poky", "meta-mingw"],
+ "NEEDREPOS" : ["bitbake", "meta-mingw"],
"MACHINE" : "qemux86-64",
"BBTARGETS" : "core-image-mingw-sdktest:do_populate_sdk",
"ADDLAYER" : ["${BUILDDIR}/../meta-mingw"],
@@ -1334,7 +1339,7 @@
}
},
"meta-oe" : {
- "NEEDREPOS" : ["poky", "meta-openembedded"],
+ "NEEDREPOS" : ["bitbake", "meta-openembedded"],
"MACHINE" : "qemux86-64",
"extravars" : [
"INHERIT += 'rm_work'"
@@ -1354,7 +1359,7 @@
}
},
"meta-virt" : {
- "NEEDREPOS" : ["poky", "meta-openembedded", "meta-virtualization"],
+ "NEEDREPOS" : ["bitbake", "meta-openembedded", "meta-virtualization"],
"ADDLAYER" : [
"${BUILDDIR}/../meta-openembedded/meta-oe",
"${BUILDDIR}/../meta-openembedded/meta-python",
@@ -1459,7 +1464,7 @@
"IMAGE_INSTALL:append = ' service hello-mod'",
"TEST_SUITES:append = ' skeletoninit'"
],
- "ADDLAYER" : ["${BUILDDIR}/../meta-skeleton"]
+ "ADDLAYER" : ["${BUILDDIR}/../layers/openembedded-core/meta-skeleton"]
},
"step4" : {
"shortname" : "Systemd with sysvinit compat",
@@ -1515,7 +1520,7 @@
"TEMPLATE" : "buildperf"
},
"auh" : {
- "NEEDREPOS" : ["poky", "auto-upgrade-helper"],
+ "NEEDREPOS" : ["bitbake", "auto-upgrade-helper"],
"extravars" :[
"DL_DIR = '${TOPDIR}/downloads'",
"INHERIT += 'buildhistory'",
@@ -1542,7 +1547,7 @@
}
},
"auh-meta-oe": {
- "NEEDREPOS": ["poky", "auto-upgrade-helper", "meta-openembedded"],
+ "NEEDREPOS": ["bitbake", "auto-upgrade-helper", "meta-openembedded"],
"extravars": [
"DL_DIR = '${TOPDIR}/downloads'",
"INHERIT += 'buildhistory'",
@@ -1673,15 +1678,15 @@
"step1" : {
"shortname" : "Yocto Mirror Selftest",
"EXTRACMDS" : ["${SCRIPTSDIR}/checkvnc; DISPLAY=:1 oe-selftest -r buildoptions.SourceMirroring.test_yocto_source_mirror"],
- "ADDLAYER" : ["${BUILDDIR}/../meta-selftest"]
+ "ADDLAYER" : ["${BUILDDIR}/../layers/openembedded-core/meta-selftest"]
}
},
"meta-oe-mirror" : {
"SDKMACHINE" : "x86_64",
"MACHINE" : "qemux86-64",
- "NEEDREPOS" : ["poky", "meta-openembedded"],
+ "NEEDREPOS" : ["bitbake", "meta-openembedded"],
"ADDLAYER" : [
- "${BUILDDIR}/../meta-selftest",
+ "${BUILDDIR}/../layers/openembedded-core/meta-selftest",
"${BUILDDIR}/../meta-openembedded/meta-oe",
"${BUILDDIR}/../meta-openembedded/meta-python",
@@ -1713,7 +1718,7 @@
}
},
"meta-webosose" : {
- "NEEDREPOS" : ["poky", "meta-webosose", "meta-security", "meta-clang", "meta-openembedded", "meta-qt6"],
+ "NEEDREPOS" : ["bitbake", "meta-webosose", "meta-security", "meta-clang", "meta-openembedded", "meta-qt6"],
"DISTRO": "webos",
"MACHINE": "qemux86-64",
"NOLAYERADD": ["meta-security", "meta-clang", "meta-qt6", "meta-webosose", "meta-openembedded"],
@@ -1751,7 +1756,7 @@
"TEMPLATE" : "trigger-build-posttrigger"
},
"patchtest" : {
- "NEEDREPOS" : ["poky", "meta-patchtest", "meta-openembedded"],
+ "NEEDREPOS" : ["bitbake", "meta-patchtest", "meta-openembedded"],
"MACHINE" : "qemux86-64",
"ADDLAYER" : [
"${BUILDDIR}/../meta-openembedded/meta-oe",
@@ -1763,10 +1768,10 @@
}
},
"patchtest-selftest" : {
- "NEEDREPOS" : ["poky"],
+ "NEEDREPOS" : ["bitbake"],
"EXTRACMDS" : ["${SCRIPTSDIR}/run-patchtest-selftest ${HELPERBUILDDIR}/.."],
"ADDLAYER" : [
- "${BUILDDIR}/../meta-selftest"
+ "${BUILDDIR}/../layers/openembedded-core/meta-selftest"
]
},
"toaster" : {
@@ -1,5 +1,5 @@
#!/bin/bash
-. ./oe-init-build-env
+source ./build/init-build-env
TERM=xterm-256color
TASK_EXP_UNIT_TEST=1 bitbake -g -u taskexp_ncurses zlib acl
if [ $? -ne 0 ]; then
@@ -128,7 +128,7 @@ os.makedirs(build_dir + "/conf", exist_ok=True)
subprocess.check_call("cp -r %s/build/conf/auto.conf %s/conf" % (gitdir, build_dir), shell=True)
# Run actual test script
-ret = subprocess.call("BDIR=%s . ./oe-init-build-env >/dev/null; oe-build-perf-test --out-dir %s --globalres-file %s --lock-file %s/oe-build-perf.lock"
+ret = subprocess.call("BDIR=%s source ./build/init-build-env >/dev/null; oe-build-perf-test --out-dir %s --globalres-file %s --lock-file %s/oe-build-perf.lock"
% (build_dir, results_tmpdir, globalres_log, args.work_dir), shell=True)
if ret == 1:
@@ -147,7 +147,7 @@ if git_repo:
print("\nArchiving results in " + git_repo)
os.makedirs(git_repo, exist_ok=True)
- subprocess.check_call("BDIR=%s . ./oe-init-build-env >/dev/null; oe-git-archive " % build_dir + \
+ subprocess.check_call("BDIR=%s source ./build/init-build-env >/dev/null; oe-git-archive " % build_dir + \
"--git-dir " + git_repo + " " \
"--branch-name '{hostname}/{branch}/{machine}' " \
"--tag-name '{hostname}/{branch}/{machine}/{commit_count}-g{commit}/{tag_number}' " \
@@ -182,8 +182,8 @@ if git_repo:
with open(report_txt, "w") as f:
f.write("HTML Report/Graphs are available at:\n %s\n\n" % url)
- subprocess.check_call("BDIR=%s . ./oe-init-build-env >/dev/null; oe-build-perf-report -r %s %s >> %s" % (build_dir, git_repo, extraopts, report_txt), shell=True)
- subprocess.check_call("BDIR=%s . ./oe-init-build-env >/dev/null; oe-build-perf-report -r %s %s --html > %s " % (build_dir, git_repo, extraopts, report_html), shell=True)
+ subprocess.check_call("BDIR=%s source ./build/init-build-env >/dev/null; oe-build-perf-report -r %s %s >> %s" % (build_dir, git_repo, extraopts, report_txt), shell=True)
+ subprocess.check_call("BDIR=%s source ./build/init-build-env >/dev/null; oe-build-perf-report -r %s %s --html > %s " % (build_dir, git_repo, extraopts, report_html), shell=True)
subprocess.check_call("cp %s %s/%s.txt" % (report_txt, global_results, filename), shell=True)
subprocess.check_call("cp %s %s/%s.html" % (report_html, global_results, filename), shell=True)
@@ -6,6 +6,8 @@ import sys
builddir = sys.argv[1]
+builddir = builddir + "/layers/openembedded-core/"
+
jsonprops = {}
jsonprops['yp_build_revision'] = subprocess.check_output(["git", "rev-parse", "HEAD"], cwd=builddir).decode('utf-8').strip()
jsonprops['yp_build_branch'] = subprocess.check_output(["git", "rev-parse", "--abbrev-ref", "HEAD"], cwd=builddir).decode('utf-8').strip()
@@ -26,33 +26,23 @@ args = parser.parse_args()
ourconfig = utils.loadconfig()
def bitbakecmd(targetdir, cmd):
- subprocess.check_call(". ./oe-init-build-env; %s" % cmd, shell=True, cwd=targetdir)
+ subprocess.check_call(". ./init-build-env; %s" % cmd, shell=True, cwd=targetdir)
needrepos = utils.getconfigvar("NEEDREPOS", ourconfig, args.target, None)
-callinit = False
-
repos = utils.getconfig("repo-defaults", ourconfig)
for repo in needrepos:
repo_basename = repo.split('/')[0]
- checkdir = repo_basename
- if repo_basename in repos:
- if "call-init" in repos[repo_basename] and repos[repo_basename]["call-init"]:
- callinit = True
- if "checkout-dirname" in repos[repo_basename]:
- checkdir = repos[repo_basename]["checkout-dirname"]
-
+ if repo_basename in ['bitbake', 'oecore']:
+ continue
source = args.abworkdir + "/repos/" + repo_basename
- destination = args.abworkdir + "/" + checkdir
- if not os.path.isdir(destination) or callinit:
+ destination = args.abworkdir + "/" + repo_basename
+ if not os.path.isdir(destination):
utils.mkdir(destination)
for f in os.listdir(source):
subprocess.check_call(['mv', source + "/" + f, destination + "/"])
-if callinit:
- subprocess.check_call(". ./oe-init-build-env", shell=True, cwd=args.abworkdir)
-
for repo in needrepos:
repo_basename = repo.split('/')[0]
if repo_basename in repos and "no-layer-add" in repos[repo_basename] and repos[repo_basename]["no-layer-add"]:
@@ -61,7 +51,7 @@ for repo in needrepos:
if repo_basename in nolayeradd:
continue
try:
- bitbakecmd(args.abworkdir, "bitbake-layers add-layer %s" % (args.abworkdir + "/" + repo))
+ bitbakecmd(args.abworkdir + "/build", "bitbake-layers add-layer %s" % (args.abworkdir + "/" + repo))
except subprocess.CalledProcessError as e:
utils.printheader("ERROR: Command %s failed with exit code %d, see errors above." % (e.cmd, e.returncode))
sys.exit(e.returncode)
@@ -157,7 +157,7 @@ elif extratools:
if args.phase == "init" and args.stepname == "extratools":
sys.exit(0)
-logconfig = args.builddir + "/../bitbake/contrib/autobuilderlog.json"
+logconfig = args.builddir + "/../layers/bitbake/contrib/autobuilderlog.json"
print("Using BB_LOGCONFIG=%s" % logconfig)
os.environ["BB_LOGCONFIG"] = logconfig
@@ -202,21 +202,23 @@ def bitbakecmd(builddir, cmd, report, stepnum, stepname, oeenv=True):
except FileNotFoundError:
numreports = 0
+ cmdpath = builddir
+
def writelog(msg, a, b):
a.write(msg)
b.write(msg)
if oeenv:
- cmd = ". ./oe-init-build-env; %s" % cmd
+ cmd = ". ./init-build-env; %s" % cmd
if testmode:
print("Would run '%s'" % cmd)
return
with open(log, "a") as outf:
- writelog("Running '%s' with output to %s\n" % (cmd, log), outf, sys.stdout)
+ writelog("Running '%s' with output to %s in %s\n" % (cmd, log, cmdpath), outf, sys.stdout)
- with subprocess.Popen(cmd, shell=True, cwd=builddir + "/..", stdout=subprocess.PIPE, stderr=subprocess.STDOUT, bufsize=0) as p, open(log, 'ab') as f:
+ with subprocess.Popen(["/bin/bash", "-c", cmd], cwd=cmdpath, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, bufsize=0) as p, open(log, 'ab') as f:
for line in p.stdout:
writelog(line, f, sys.stdout.buffer)
sys.stdout.flush()
@@ -370,9 +372,10 @@ elif args.phase == "finish" and args.stepname == "send-errors":
if jcfg:
addentry("builddir-cleanup", "Cleaning up build directory", "finish")
-elif args.phase == "finish" and args.stepname == "builddir-cleanup":
+# full/quick have a second phase in post-trigger
+elif args.phase == "finish" and args.stepname == "builddir-cleanup" and args.target not in ["a-full", "a-quick"]:
if args.builddir and os.path.exists(args.builddir):
- if os.path.exists("oe-init-build-env"):
+ if os.path.exists(args.builddir + "/build/init-build-env"):
bitbakecmd(args.builddir, "bitbake -m", report, 99, args.stepname)
runcmd(["mv", args.builddir, args.builddir + "-renamed"])
@@ -73,7 +73,7 @@ fi
cd ..
set +u
-. oe-init-build-env build
+source build/init-build-env build
set -u
bitbake world --runall cve_check -R conf/distro/include/cve-extra-exclusions.inc
@@ -9,10 +9,10 @@ set -u
set -o pipefail
set -x
-pokydir=$(realpath "$1")
+oecoredir=$(realpath "$1")/layers/openembedded-core/
python3 -m venv venv --without-pip --system-site-packages
source venv/bin/activate
-python3 -m pip install -r $pokydir/meta/lib/patchtest/requirements.txt
+python3 -m pip install -r $oecoredir/meta/lib/patchtest/requirements.txt
-$pokydir/meta/lib/patchtest/selftest/selftest
+$oecoredir/meta/lib/patchtest/selftest/selftest
@@ -56,13 +56,23 @@ sdkextraconf = os.path.join(args.builddir, "conf", "sdk-extra.conf")
if os.path.exists(sdkextraconf):
os.remove(sdkextraconf)
-for v in ["MACHINE", "DISTRO", "SDKMACHINE", "PACKAGE_CLASSES"]:
+for v in ["SDKMACHINE", "PACKAGE_CLASSES"]:
value = utils.getconfigvar(v, ourconfig, args.target, stepnum)
if value and value != "None":
variables.append(v + ' = "%s"' % value)
+machine = utils.getconfigvar("MACHINE", ourconfig, args.target, stepnum)
distro = utils.getconfigvar("DISTRO", ourconfig, args.target, stepnum)
+def enable_fragment(fragment):
+ cmd = ". ./init-build-env; bitbake-config-build enable-fragment %s" % fragment
+ cmdpath = args.builddir
+
+ print("Running '%s' in %s\n" % (cmd, cmdpath))
+ utils.flush()
+ subprocess.check_call(["/bin/bash", "-c", cmd], cwd=cmdpath)
+
+
for v in ["DLDIR", "PRSERV"]:
value = utils.getconfigvar(v, ourconfig, args.target, stepnum)
if value:
@@ -130,3 +140,8 @@ with open(sdkextraconf, "w") as f:
print(" " + v)
f.write(v + "\n")
+if machine:
+ enable_fragment("machine/" + machine)
+if distro:
+ enable_fragment("distro/" + distro)
+
@@ -46,17 +46,19 @@ stashdir = utils.getconfig("REPO_STASH_DIR", ourconfig)
needrepos = utils.getconfigvar("NEEDREPOS", ourconfig, args.target, None)
-with open(args.repojson) as f:
+layerjson = args.repojson
+bbsetup_json = args.repojson.replace("layerinfo.json", "bbsetup-overrides.json")
+
+with open(layerjson) as f:
repos = json.load(f)
utils.filterrepojson(repos, args.target)
+bitbake_setup = False
+
targetsubdir = args.abworkdir + "/repos"
needrepos_baseddirs = [r.split('/')[0] for r in needrepos]
for repo in sorted(repos.keys()):
- # gplv2 is no longer built/tested in master
- if repo == "meta-gplv2":
- continue
if repo not in needrepos_baseddirs:
continue
if args.cache_dir:
@@ -76,7 +78,38 @@ for repo in sorted(repos.keys()):
utils.setup_buildtools_tarball(ourconfig, args.workername, args.abworkdir + "/buildtools")
+if "bitbake" not in repos:
+ sys.exit(0)
+
try:
- subprocess.check_call([scriptsdir + "/layer-config", args.abworkdir, args.target])
+ bbs_dldir = utils.getconfigvar("BBSETUP_DLDIR", ourconfig, args.target, None)
+ bbs_config = utils.getconfiglist("BBSETUP_CONFIG", ourconfig, args.target, None)
+ bbs_fragments = utils.getconfiglist("BBSETUP_FRAGMENTS", ourconfig, args.target, None)
+ machine = utils.getconfigvar("MACHINE", ourconfig, args.target, None)
+ if machine:
+ bbs_fragments.append("machine/" + machine)
+ distro = utils.getconfigvar("DISTRO", ourconfig, args.target, None)
+ if distro:
+ bbs_fragments.append("distro/" + distro)
+
+ cmd = [targetsubdir + "/bitbake/bin/bitbake-setup",
+ "--setting", "default", "top-dir-prefix", os.path.dirname(os.path.dirname(args.abworkdir)),
+ "--setting", "default", "top-dir-name", os.path.basename(os.path.dirname(args.abworkdir)),
+ "--setting", "default", "dl-dir", bbs_dldir,
+ "--global-settings", args.abworkdir + "/settings.conf",
+ "init",
+ "--skip-selection", "machine",
+ "--skip-selection", "distro",
+ "--source-overrides", bbsetup_json,
+ "--build-dir-name", "build",
+ "--non-interactive",
+ ] + bbs_config + bbs_fragments
+ print("Running command %s" % " ".join(cmd))
+ utils.flush()
+ subprocess.check_call(cmd)
+ layercmd = [scriptsdir + "/layer-config", args.abworkdir, args.target]
+ print("Running command %s" % " ".join(layercmd))
+ utils.flush()
+ subprocess.check_call(layercmd)
except subprocess.CalledProcessError as e:
sys.exit(e.returncode)
@@ -22,7 +22,7 @@ if [ -d $BUILDDIR/tmp/log/error-report/ ]; then
host=`hostname`
echo "yp-ab-$host" > ~/.oe-send-error
- . ./oe-init-build-env
+ source ./build/init-build-env
for x in `ls $BUILDDIR/tmp/log/error-report/ | grep error_report_`; do
send-error-report -y -l $ERRORLINK tmp/log/error-report/$x
done
@@ -297,14 +297,12 @@ def publishrepo(clonedir, repo, publishdir):
mkdir(publishdir)
subprocess.check_call("rsync -av " + archive_name + "* " + publishdir, shell=True, cwd=sharedrepo)
-# The repo json needs to be filtered to allow builds with and without bitbake-setup
+# The repo json needs to be filtered for builds with bitbake-setup
def filterrepojson(data, target=None):
- # For a-full or a-quick, we want all repos. Otherwise we should use poky and ignore bitbake and friends
- if target and target != "a-full" and target != "a-quick" and "poky" in data:
- data.pop("bitbake", None)
- data.pop("meta-yocto", None)
- data.pop("yocto-docs", None)
- data.pop("oecore", None)
+ if "poky" in data:
+ del data["poky"]
+ if "meta-gplv2" in data:
+ del data["meta-gplv2"]
return
def mkdir(path):
With the addition of bitbake-setup to the master branch, we can switch from using the combo-layer built poky repository to using bitbake-setup instead. This patch set changes the setup to use bitbake/oecore/meta-yocto/yocto-docs instead of poky. Most of the changes are due to the new layer layout, or using bitbake-setuip instead of scripts in helper. The existing scripts are still run for now to handle layers not in the core configuration json. We continue to write extra settings to auto.conf. This switches the code to use the distro/machine selection from fragments. We need to use init-build-env instead of oe-init-build-env in most cases. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> --- config.json | 79 ++++++++++++++++++--------------- scripts/bitbake-extra-tests | 2 +- scripts/build-perf-test-wrapper | 8 ++-- scripts/getproperties.py | 2 + scripts/layer-config | 22 +++------ scripts/run-config | 15 ++++--- scripts/run-cvecheck | 2 +- scripts/run-patchtest-selftest | 6 +-- scripts/setup-config | 17 ++++++- scripts/shared-repo-unpack | 43 +++++++++++++++--- scripts/upload-error-reports | 2 +- scripts/utils.py | 12 +++-- 12 files changed, 128 insertions(+), 82 deletions(-)