summaryrefslogtreecommitdiff
path: root/poky/bitbake
diff options
context:
space:
mode:
authorPatrick Williams <patrick@stwcx.xyz>2023-05-26 19:10:49 +0300
committerPatrick Williams <patrick@stwcx.xyz>2023-06-09 07:48:34 +0300
commite760df85eded3ead9d756555d5144acc5e3d3fa1 (patch)
tree38743ac80acd51ffc6802f09c6d44f80ea26a55f /poky/bitbake
parentd5681c52378ddefb08060e8612c8fbd61f726301 (diff)
downloadopenbmc-e760df85eded3ead9d756555d5144acc5e3d3fa1.tar.xz
subtree updates
meta-security: ddf301c45c..5c2379f4bc: Armin Kuster (2): samhain: Update to 4.4.10 layer.conf: Insert addpylib declaration John Edward Broadbent (1): libhoth_git.bb:SRCREV bump 1622e8a04..d769296220d meta-openembedded: 0474e0b870..829dcb63f0: Alexander Stein (2): libcamera: Allow overwriting default pipelines and IPA libcamera: Simplify pipeline configuration Christophe Vu-Brugier (1): exfatprogs: upgrade 1.2.0 -> 1.2.1 Denys Zagorui (2): bpftool: Fix externalsrc support bpftool: return do_configure dependency Joe Slater (2): bats: use baselib libgpiod: modify test 'gpioset: toggle (continuous)' Johannes Kauffmann (2): open62541: rename encryption PACKAGECONFIG open62541: add OpenSSL as crypto provider Khem Raj (52): gerbera: Fix build with fmt 10+ mpd: Fix build with clang-16 ptest-packagelists-meta-oe: Remove nodejs ptests for rv32/rv64 libpeas: Fix reference to TMPDIR in tests lirc: Define SH_PATH=/bin/sh libwebsockets: Fix reference to TMPDIR mce-inject: Pass CFLAGS to make mcelog: Upgrade to 194 xrdb: Pass target CPP location to configure mce-test: Update to latest mce-test: Pass CFLAGS to make ippool: Port to using ppp 2.5.x ippool: Enable systemd service on install libtraceevent: Delete meta-oe-ptests: Add mcelog to PTESTS_FAST_META_OE ptest-packagelists-meta-python: Add python3-pylint to PTESTS_FAST_META_PYTHON oscam: Upgrade to 11718 oscam: Fix buildpaths in generated sources lockfile-progs: Pass DEBUG_PREFIX_MAP options tvheadend: Upgrade to latest master nbdkit: Remove buildpaths from binaries system-config-printer: Delete __pycache__ files dovecot: Upgrade to 2.3.20 dovecot: Do not install dovecot-config mpv: Remove references to builddir from mpv binary libnice: Remove buildpaths from binaries curlpp: Remove references to buildpaths e.g. TMPDIR unbound: Remove references to buildpaths fftw: Check for TOOLCHAIN_OPTIONS to be non-empty before sed ops aom: Upgrade to 3.6.1 aom: Pass nasm flags via toochain.cmake uml-utilities: Fix references to TMPDIR openct: Fix buildpaths being emitted into generated types.h babeld: Upgrade to 1.12.2 nautilus: Fix buildpath QA errors minifi-cpp: Remove references to buildpaths in generated files freerdp: Fix reference to TMPDIR in libfreerdp2.so vlc: Remove WORKDIR from CONFIGURE_LINE definition system-config-printer: Check for gobject-introspection as well in distro features packagegroup-xfce-extended: Blueman also needs gobject introspection distro feature remmina: Fix buildpaths QA warnings cgdb: Fix buildpaths emitted into cgdb binary ibus: Point python interpreter to target location eog: Fix absolute src paths in generated files gimp: Fix buildpaths in binaries and scripts libgphoto2: Edit out sysroot from CC variable in configure tracker: Point TOP_SRCDIR to target path vlan: Pass CFLAGS via CCFLAGS sgpio: Pass CFLAGS to make x265: Pass --debug-prefix-map to nasm ipmiutil: Upgrade to 3.1.9 ipmiutil: Pass --enable-useflags Marek Vasut (1): lvgl: lvgl-demo-fb: Switch to CMake and add DRM and SDL support Markus Volk (7): evince: edit include path for debug package pipewire: update 0.3.70 -> 0.3.71 dav1d: update 1.1.0 -> 1.2.0 gnome-control-center: update 43.2 -> 44.1 mutter: update 43.1 -> 44.1 gnome-shell: update 43.2 -> 44.1 fluidsynth: update 2.2.6 -> 2.3.2 Martin Jansa (20): libsquish: remove unused 0001-makefile-Add-LIBDIR.patch meta-python: remove unused patches from python2 recipes python3-pybind11: remove unused 0001-Do-not-strip-binaries.patch python3-anyjson: remove unused files monkey: remove unused patch file gnome-terminal: remove unused patch file geary: remove unused patch files ndpi: remove unused CVE-2021-36082.patch soci: remove unused soci_libdir.patch cyrus-sasl: remove unused patch file plymouth: remove unused patch file glibmm: remove unused remove-examples.patch opencv: remove unused patch file libiio: remove unused patch file libinih: remove unused patch file beep: remove unused linux-input.patch paho-mqtt-c: remove unused patch file tigervnc: remove unused patch file fbida: remove unused use-jpeg-turbo.patch graphviz: remove unused patch files Martin Siegumfeldt (1): libiio: update to version 0.24 Mingli Yu (1): php: Link with libatomic on rv64 Peter Bergin (6): redis-plus-plus: clean up recipe and make use of packageconfig redis-plus-plus: introduce fix for library detection redis-plus-plus: uprev to 1.3.8 hiredis: uprev to 1.1.0 hiredis: change dependency to redis hiredis: add ptest Ross Burton (38): libblockdev: add PACKAGECONFIG for tools libblockdev: clean up DEPENDS glade: add autoconf-archive-native DEPENDS python3-kivy: depend on gobject-introspection-data DISTRO_FEATURE vte9: add missing dependency on glib-2.0-native libgxim: add autoconf-archive-native DEPENDS gnome-common: add autoconf-archive RDEPENDS graphviz: no longer needs intltool-native libpeas: depend on gobject-introspection-data system-config-printer: clean up DEPENDS imsettings: add missing DEPENDS on autoconf-archive-native python3-pyatspi: make dependent on gobject-introspection-data being enabled gnome-menu: remove redundant dependencies hplip: build against libusb1 hplip: remove redundant FILES:${PN}-dbg gutenprint: rewrite recipe and update gutenprint: match ownership on /etc/cups python3-pydbus-manager: remove obsolete recipe python3-pydbus: remove obsolete recipe firewalld: add features_check on gobject-introspection-data blueman: add features_check on gobject-introspection-data networkd-dispatcher: add features_check on gobject-introspection-data python3-asyncio-glib: add features_check on gobject-introspection-data eog: requires gobject-introspection-data DISTRO_FEATURE grilo-plugins: add PACKAGECONFIG for tracker packagegroup-meta-oe.bb: only build libpeas if gobject-introspection is enabled libpeas: requires gobject-introspection-data DISTRO_FEATURE gnome-desktop: gobject-introspection is not in fact mandatory gnome-photos: requires gobject-introspection-data DISTRO_FEATURE geoclue: the library doesn't need gobject-introspection nautilus: requires gobject-introspection-data DISTRO_FEATURE packagegroup-xfce-extended: only build catfish and panel-profies if G-I enabled python3-blivetgui: requires gobject-introspection-data DISTRO_FEATURE xfce4-whiskermenu-plugin: don't forcibly recommend a menu editor catfish: requires gobject-introspection-data DISTRO_FEATURE menulibre: requires gobject-introspection-data DISTRO_FEATURE xfce4-panel-profiles: requires gobject-introspection-data DISTRO_FEATURE networkmanager: add dependency on pyhthon3-pygobject-native Sanjay Chitroda (1): gnulib: Update recipe name to 2018-12-18 Thomas Perrot (1): networkmanager: Turn ppp support into a packageconfig option Wang Mingyu (43): fmt: upgrade 9.1.0 -> 10.0.0 spdlog: fix build error for master fmt mpd: fix build error when fmt updated gensio: upgrade 2.6.4 -> 2.6.5 ctags: upgrade 6.0.20230507.0 -> 6.0.20230521.0 libirecovery: upgrade 1.0.1 -> 1.1.0 hidapi: upgrade 0.13.1 -> 0.14.0 double-conversion: upgrade 3.2.1 -> 3.3.0 adw-gtk3: upgrade 4.6 -> 4.7 gnome-terminal: upgrade 3.48.0 -> 3.48.1 grilo: upgrade 0.3.15 -> 0.3.16 lldpd: upgrade 1.0.16 -> 1.0.17 f2fs-tools: upgrade 1.15.0 -> 1.16.0 dbus-cxx: upgrade 2.3.1 -> 2.4.0 mailcap: upgrade 2.1.53 -> 2.1.54 c-ares: upgrade 1.19.0 -> 1.19.1 fetchmail: upgrade 6.4.23 -> 6.4.37 python3-flask-restful: upgrade 0.3.9 -> 0.3.10 python3-dominate: upgrade 2.7.0 -> 2.8.0 python3-antlr4-runtime: upgrade 4.12.0 -> 4.13.0 python3-coverage: upgrade 7.2.5 -> 7.2.6 python3-imageio: upgrade 2.28.1 -> 2.29.0 ostree: upgrade 2023.2 -> 2023.3 python3-asgiref: upgrade 3.6.0 -> 3.7.1 python3-can: upgrade 4.2.0 -> 4.2.1 python3-u-msgpack-python: upgrade 2.7.2 -> 2.8.0 python3-astroid: upgrade 2.15.4 -> 2.15.5 python3-protobuf: upgrade 4.23.0 -> 4.23.1 python3-pulsectl: upgrade 23.5.1 -> 23.5.2 python3-django: upgrade 4.1.7 -> 4.2.1 python3-google-auth: upgrade 2.18.0 -> 2.18.1 python3-pytest-xdist: upgrade 3.3.0 -> 3.3.1 python3-sqlalchemy: upgrade 2.0.13 -> 2.0.15 python3-xlsxwriter: upgrade 3.1.0 -> 3.1.1 python3-websocket-client: upgrade 1.5.1 -> 1.5.2 zchunk: upgrade 1.3.0 -> 1.3.1 python3-stevedore: upgrade 5.0.0 -> 5.1.0 python3-sentry-sdk: upgrade 1.22.2 -> 1.24.0 rdma-core: upgrade 45.0 -> 46.0 valijson: upgrade 1.0 -> 1.0.1 python3-tzlocal: upgrade 4.3 -> 5.0.1 python3-xmlschema: upgrade 2.2.3 -> 2.3.0 setxkbmap: upgrade 1.3.3 -> 1.3.4 Xiangyu Chen (2): Revert "pahole: fix native package build error" libbpf: installing uapi headers for native package Zhang Xiao (1): dhcp-relay: dev subpackage conflicts with bind-dev richardhb (1): python3-bleak: add recipe ricoheller (3): python3-dbus-fast: add recipe python3-aioredis: add recipe mbpoll: add recipe poky: 35e5d29a7d..76494f2b66: Alexander Kanavin (23): glib-2.0: upgrade 2.74.6 -> 2.76.2 ppp: upgrade 2.4.9 -> 2.5.0 ovmf: update 202211 -> 202302 btrfs-tools: update 6.1.3 -> 6.3 erofs-utils: update 1.5 -> 1.6 llvm: update 15.0.7 -> 16.0.3 perlcross: update 1.4 -> 1.4.1 perl: update 5.36.0 -> 5.36.1 rpm: update 4.18.0 -> 4.18.1 less: update 608 -> 633 librsvf: update 2.54.5 -> 2.56.0 libva: update 2.16 -> 2.18 cryptodev: remove unneeded patch gpgme: update 1.18.0 -> 1.20.0 libatomic-ops: update 7.6.14 -> 7.8.0 libgcrypt: update 1.10.1 -> 1.10.2 libgpg-error: update 1.46 -> 1.47 createrepo-c: update 0.20.1 -> 0.21.1 elfutils: update 0.188 -> 0.189 meson: update 1.0.1 ->1.1.0 gdb: trim python support RDEPENDS gdb: enable python PACKAGECONFIG valgrind: update 3.20.0 -> 3.21.0 Antonin Godard (1): archiver: move exclusion logic in a dedicated function Anuj Mittal (4): gsettings-desktop-schemas: upgrade 43.0 -> 44.0 harfbuzz: upgrade 7.1.0 -> 7.3.0 libevdev: upgrade 1.13.0 -> 1.13.1 libsoup: upgrade 3.4.0 -> 3.4.2 Arno Baumfalk (1): bitbake: fetch2/npm: evaluate PATH before patching HOME Bartosz Golaszewski (17): python3-attrs: unify RDEPENDS python3-attrs: don't use PYTHON_PN python3-attrs: add missing run-time dependencies python3-certifi: add missing run-time dependencies python3-hypothesis: fix run-time dependencies python3-tomli: add missing run-time dependencies python3-pathspec: add missing run-time dependencies python3-installer: add missing run-time dependencies python3-sphinx-rtd-theme: add missing run-time dependencies python3-setuptools-rust: fix RDEPENDS and allow target build python3-pyproject-hooks: add missing run-time dependencies python3-pycryptodome: don't use PYTHON_PN python3-pycryptodome: add missing run-time dependencies python3-pygobject: add missing run-time dependencies python3-manifest: cgitb: new package python3-manifest: zipapp: new package python3-manifest: turtle: new package Bergin, Peter (1): bitbake: lib/bb/tests/fetch.py: set initial branch Chen Qi (2): oe-buildenv-internal: remove path from previous project staging.bbclass: do not add extend_recipe_sysroot to prefuncs of prepare_recipe_sysroot Chi Xu (1): expect: Add ptest support Deepthi Hemraj (1): binutils: stable 2.40 branch updates Denys Dmytriyenko (2): grep: upgrade 3.10 -> 3.11 xz: upgrade 5.4.2 -> 5.4.3 Eero Aaltonen (1): avahi: fix D-Bus introspection Frieder Schrempf (1): psmisc: Set ALTERNATIVE for pstree to resolve conflict with busybox Geoff Parker (1): libwebp: add BBCLASSEXTEND Kai Kang (1): pm-utils: fix multilib conflictions Khem Raj (8): llvm: Enable RISCV support llvm,mesa: Drop MESA_LLVM_RELEASE systemd: Drop a backport go: Upgrade 1.20.1 -> 1.20.4 go: Use -no-pie to build target cgo gcc: Upgrade to GCC 13.1 release bitbake.conf: Add -fcanon-prefix-map to DEBUG_PREFIX_MAP perf: Fix build with gcc-13 Leon Anavi (1): wic: Add argument --hidden to default imager Lorenzo Arena (1): conf: add nice level to the hash config ignred variables Martin Jansa (11): kernel-devicetree: make shell scripts posix compliant go.bbclass: don't use test to check output from ls image-live.bbclass: respect IMAGE_MACHINE_SUFFIX binutils: package static libs from gprofng rpm: drop unused 0001-Rip-out-partial-support-for-unused-MD2-and-RIPEMD160.patch libx11: remove unused patch and FILESEXTRAPATHS qemu: remove unused qemu-7.0.0-glibc-2.36.patch minicom: remove unused patch files inetutils: remove unused patch files libgloss: remove unused patch file kmod: remove unused ptest.patch Max Krummenacher (4): libtraceevent: import from meta-openembedded libtraceevent: fix qa issue reference to tmpdir perf: make pkg-config available perf: add libtraceevent packageconfig Mikko Rapeli (3): qemurunner: support serial console login via qemu stdout qemurunner: avoid leaking server_socket qemurunner: add boot logs to do_testimage task logs in real time Pavel Zhukov (1): lib/terminal.py: Add urxvt terminal Peter Kjellerstedt (5): glib-2.0: Avoid having g_futex_simple() inadvertently modify errno musl: Correct SRC_URI xf86-video-intel: Use the HTTPS protocol to fetch the Git repositories bitbake: fetch2/crate: Simplify extraction of crate names and versions from URIs bitbake: fetch2/crate: Correct unpack for a crate that matches the recipe name Qiu Tingting (1): e2fsprogs: Fix error SRCDIR when using usrmerge DISTRO_FEATURES Randolph Sapp (2): package: enable recursion on file globs kernel-devicetree: recursively search for dtbs Randy MacLeod (1): vim: upgrade 9.0.1429 -> 9.0.1527 Ranjitsinh Rathod (1): kmscube: Correct DEPENDS to avoid overwrite Richard Purdie (9): bitbake: cooker: Fix/improve collections handling bitbake: fetch2: Clarify different localpaths functions bitbake: fetch2/local: Add debug to include chosen path bitbake.conf: Empty SRC_URI for code parser cache handling bitbake: cooker: Add FILE_LAYERNAME variable containing the layername for a recipe linux-yocto: Drop 5.15 support lttng-tools: Add patch to fix gcc 13 test issue glib-2.0: Fix TMPDIR mismatch test failures linux-yocto: Drop 5.15 support Robert Joslyn (1): curl: Update from 8.0.1 to 8.1.0 Ross Burton (23): cpio: upgrade to 2.14 gnutls: add PACKAGECONFIG for DANE gnutls: add PACKAGECONFIG options for certification compression gnutls: use system libtasn1 gnutls: clean up ptest compilation gnutls: remove use of argp-standalone for musl glib-networking: fix LICENSE statement glib-networking: add gnomeproxy PACKAGECONFIG glib-networking add environment variable proxy PACKAGECONFIG qemu: add PACKAGECONFIG for debuginfo support meta: depend on autoconf-archive-native, not autoconf-archive gobject-introspection: always DEPEND on gobject-introspection-native python3-pygobject: remove explicit gobject-introspection DEPENDS gconf: remove explicit gobject-introspection DEPENDS gi-docgen.bbclass: depends on gobject-introspection-data being enabled python3-pygobject: mandate gobject-introspection-data DISTRO_FEATURE gstreamer1.0-python: mandate gobject-introspection-data DISTRO_FEATURE python3-gitdb: remove python3-async dependency python3-async: remove recipe libcheck: add ghetto automake output libnl: clean up ptest libcomps: clean up DEPENDS gdbm: improve run-ptest Sudip Mukherjee (2): dhcpcd: upgrade to v10.0.1 libxi: upgrade to v1.8.1 Thomas Roos (2): oeqa: adding selftest-hello and use it to speed up tests oeqa/selftest/cases/devtool.py: skip all tests require folder a git repo Tom Hochstein (1): piglit: Add missing glslang dependencies Trevor Gamblin (2): python3-hatchling: upgrade 1.14.1 -> 1.17.0 python3-trove-classifiers: upgrade 2023.4.29 -> 2023.5.2 Wang Mingyu (1): iso-codes: upgrade 4.13.0 -> 4.15.0 meta-raspberrypi: 928bb234bb..9240ea91ca: Zachary T Welch (1): machines: simplify MACHINEOVERRIDES definitions meta-arm: f9d80e1a14..5cbe3041be: Clément Péron (5): arm/lib: pass the PATH to fvp runner scripts/runfvp: Fix KeyError exception when there is no FVP_CONSOLE provided runfvp: make fvp runner to hold the config fvp: runner: execute fvp process in the same working directory as fvpconf runfvp: update filepath in fvpconf to relative path Jon Mason (2): arm-bsp/tc1: use latest kernel and u-boot arm-bsp/tc1: re-enable signed kernel image Ross Burton (2): arm/lib/fvp: remove redundant trailing commas arm-bsp/fvp-base: remove u-boot version pinning Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: If7df9ee24ecd0b574eeb9ca799dd15d915d4ec42
Diffstat (limited to 'poky/bitbake')
-rwxr-xr-xpoky/bitbake/bin/bitbake-worker3
-rw-r--r--poky/bitbake/lib/bb/cache.py4
-rw-r--r--poky/bitbake/lib/bb/command.py5
-rw-r--r--poky/bitbake/lib/bb/cooker.py42
-rw-r--r--poky/bitbake/lib/bb/cookerdata.py17
-rw-r--r--poky/bitbake/lib/bb/fetch2/__init__.py2
-rw-r--r--poky/bitbake/lib/bb/fetch2/crate.py10
-rw-r--r--poky/bitbake/lib/bb/fetch2/local.py6
-rw-r--r--poky/bitbake/lib/bb/fetch2/npm.py1
-rw-r--r--poky/bitbake/lib/bb/runqueue.py2
-rw-r--r--poky/bitbake/lib/bb/tests/fetch.py29
11 files changed, 81 insertions, 40 deletions
diff --git a/poky/bitbake/bin/bitbake-worker b/poky/bitbake/bin/bitbake-worker
index d743ff5105..451e6926bf 100755
--- a/poky/bitbake/bin/bitbake-worker
+++ b/poky/bitbake/bin/bitbake-worker
@@ -151,6 +151,7 @@ def fork_off_task(cfg, data, databuilder, workerdata, extraconfigdata, runtask):
taskhash = runtask['taskhash']
unihash = runtask['unihash']
appends = runtask['appends']
+ layername = runtask['layername']
taskdepdata = runtask['taskdepdata']
quieterrors = runtask['quieterrors']
# We need to setup the environment BEFORE the fork, since
@@ -262,7 +263,7 @@ def fork_off_task(cfg, data, databuilder, workerdata, extraconfigdata, runtask):
bb.parse.siggen.set_taskhashes(workerdata["newhashes"])
ret = 0
- the_data = databuilder.parseRecipe(fn, appends)
+ the_data = databuilder.parseRecipe(fn, appends, layername)
the_data.setVar('BB_TASKHASH', taskhash)
the_data.setVar('BB_UNIHASH', unihash)
bb.parse.siggen.setup_datacache_from_datastore(fn, the_data)
diff --git a/poky/bitbake/lib/bb/cache.py b/poky/bitbake/lib/bb/cache.py
index 10910a6809..5ea41c5de0 100644
--- a/poky/bitbake/lib/bb/cache.py
+++ b/poky/bitbake/lib/bb/cache.py
@@ -514,11 +514,11 @@ class Cache(object):
return len(self.depends_cache)
- def parse(self, filename, appends):
+ def parse(self, filename, appends, layername):
"""Parse the specified filename, returning the recipe information"""
self.logger.debug("Parsing %s", filename)
infos = []
- datastores = self.databuilder.parseRecipeVariants(filename, appends, mc=self.mc)
+ datastores = self.databuilder.parseRecipeVariants(filename, appends, mc=self.mc, layername=layername)
depends = []
variants = []
# Process the "real" fn last so we can store variants list
diff --git a/poky/bitbake/lib/bb/command.py b/poky/bitbake/lib/bb/command.py
index 9e2cdc5c75..a355f56c60 100644
--- a/poky/bitbake/lib/bb/command.py
+++ b/poky/bitbake/lib/bb/command.py
@@ -561,6 +561,7 @@ class CommandsSync:
appendfiles = command.cooker.collections[mc].get_file_appends(fn)
else:
appendfiles = []
+ layername = command.cooker.collections[mc].calc_bbfile_priority(fn)[2]
# We are calling bb.cache locally here rather than on the server,
# but that's OK because it doesn't actually need anything from
# the server barring the global datastore (which we have a remote
@@ -568,10 +569,10 @@ class CommandsSync:
if config_data:
# We have to use a different function here if we're passing in a datastore
# NOTE: we took a copy above, so we don't do it here again
- envdata = command.cooker.databuilder._parse_recipe(config_data, fn, appendfiles, mc)['']
+ envdata = command.cooker.databuilder._parse_recipe(config_data, fn, appendfiles, mc, layername)['']
else:
# Use the standard path
- envdata = command.cooker.databuilder.parseRecipe(fn, appendfiles)
+ envdata = command.cooker.databuilder.parseRecipe(fn, appendfiles, layername)
idx = command.remotedatastores.store(envdata)
return DataStoreConnectionHandle(idx)
parseRecipeFile.readonly = True
diff --git a/poky/bitbake/lib/bb/cooker.py b/poky/bitbake/lib/bb/cooker.py
index 554c7f10a5..0a21f1c2f8 100644
--- a/poky/bitbake/lib/bb/cooker.py
+++ b/poky/bitbake/lib/bb/cooker.py
@@ -504,6 +504,9 @@ class BBCooker:
self.recipecaches[mc] = bb.cache.CacheData(self.caches_array)
self.handleCollections(self.data.getVar("BBFILE_COLLECTIONS"))
+ self.collections = {}
+ for mc in self.multiconfigs:
+ self.collections[mc] = CookerCollectFiles(self.bbfile_config_priorities, mc)
self._parsecache_set(False)
@@ -640,7 +643,8 @@ class BBCooker:
if fn:
try:
- envdata = self.databuilder.parseRecipe(fn, self.collections[mc].get_file_appends(fn))
+ layername = self.collections[mc].calc_bbfile_priority(fn)[2]
+ envdata = self.databuilder.parseRecipe(fn, self.collections[mc].get_file_appends(fn), layername)
except Exception as e:
parselog.exception("Unable to read %s", fn)
raise
@@ -1378,8 +1382,8 @@ class BBCooker:
if bf.startswith("/") or bf.startswith("../"):
bf = os.path.abspath(bf)
- self.collections = {mc: CookerCollectFiles(self.bbfile_config_priorities, mc)}
- filelist, masked, searchdirs = self.collections[mc].collect_bbfiles(self.databuilder.mcdata[mc], self.databuilder.mcdata[mc])
+ collections = {mc: CookerCollectFiles(self.bbfile_config_priorities, mc)}
+ filelist, masked, searchdirs = collections[mc].collect_bbfiles(self.databuilder.mcdata[mc], self.databuilder.mcdata[mc])
try:
os.stat(bf)
bf = os.path.abspath(bf)
@@ -1445,7 +1449,8 @@ class BBCooker:
bb_caches = bb.cache.MulticonfigCache(self.databuilder, self.data_hash, self.caches_array)
- infos = bb_caches[mc].parse(fn, self.collections[mc].get_file_appends(fn))
+ layername = self.collections[mc].calc_bbfile_priority(fn)[2]
+ infos = bb_caches[mc].parse(fn, self.collections[mc].get_file_appends(fn), layername)
infos = dict(infos)
fn = bb.cache.realfn2virtual(fn, cls, mc)
@@ -1676,13 +1681,10 @@ class BBCooker:
for dep in self.configuration.extra_assume_provided:
self.recipecaches[mc].ignored_dependencies.add(dep)
- self.collections = {}
-
mcfilelist = {}
total_masked = 0
searchdirs = set()
for mc in self.multiconfigs:
- self.collections[mc] = CookerCollectFiles(self.bbfile_config_priorities, mc)
(filelist, masked, search) = self.collections[mc].collect_bbfiles(self.databuilder.mcdata[mc], self.databuilder.mcdata[mc])
mcfilelist[mc] = filelist
@@ -1833,10 +1835,10 @@ class CookerCollectFiles(object):
self.bbfile_config_priorities = sorted(priorities, key=lambda tup: tup[1], reverse=True)
def calc_bbfile_priority(self, filename):
- for _, _, regex, pri in self.bbfile_config_priorities:
+ for layername, _, regex, pri in self.bbfile_config_priorities:
if regex.match(filename):
- return pri, regex
- return 0, None
+ return pri, regex, layername
+ return 0, None, None
def get_bbfiles(self):
"""Get list of default .bb files by reading out the current directory"""
@@ -2009,7 +2011,7 @@ class CookerCollectFiles(object):
# Calculate priorities for each file
for p in pkgfns:
realfn, cls, mc = bb.cache.virtualfn2realfn(p)
- priorities[p], regex = self.calc_bbfile_priority(realfn)
+ priorities[p], regex, _ = self.calc_bbfile_priority(realfn)
if regex in unmatched_regex:
matched_regex.add(regex)
unmatched_regex.remove(regex)
@@ -2146,7 +2148,7 @@ class Parser(multiprocessing.Process):
self.results.close()
self.results.join_thread()
- def parse(self, mc, cache, filename, appends):
+ def parse(self, mc, cache, filename, appends, layername):
try:
origfilter = bb.event.LogHandler.filter
# Record the filename we're parsing into any events generated
@@ -2160,7 +2162,7 @@ class Parser(multiprocessing.Process):
bb.event.set_class_handlers(self.handlers.copy())
bb.event.LogHandler.filter = parse_filter
- return True, mc, cache.parse(filename, appends)
+ return True, mc, cache.parse(filename, appends, layername)
except Exception as exc:
tb = sys.exc_info()[2]
exc.recipe = filename
@@ -2200,10 +2202,11 @@ class CookerParser(object):
for mc in self.cooker.multiconfigs:
for filename in self.mcfilelist[mc]:
appends = self.cooker.collections[mc].get_file_appends(filename)
+ layername = self.cooker.collections[mc].calc_bbfile_priority(filename)[2]
if not self.bb_caches[mc].cacheValid(filename, appends):
- self.willparse.add((mc, self.bb_caches[mc], filename, appends))
+ self.willparse.add((mc, self.bb_caches[mc], filename, appends, layername))
else:
- self.fromcache.add((mc, self.bb_caches[mc], filename, appends))
+ self.fromcache.add((mc, self.bb_caches[mc], filename, appends, layername))
self.total = len(self.fromcache) + len(self.willparse)
self.toparse = len(self.willparse)
@@ -2314,7 +2317,7 @@ class CookerParser(object):
self.syncthread.join()
def load_cached(self):
- for mc, cache, filename, appends in self.fromcache:
+ for mc, cache, filename, appends, layername in self.fromcache:
infos = cache.loadCached(filename, appends)
yield False, mc, infos
@@ -2417,9 +2420,10 @@ class CookerParser(object):
bb.cache.SiggenRecipeInfo.reset()
to_reparse = set()
for mc in self.cooker.multiconfigs:
- to_reparse.add((mc, filename, self.cooker.collections[mc].get_file_appends(filename)))
+ layername = self.cooker.collections[mc].calc_bbfile_priority(filename)[2]
+ to_reparse.add((mc, filename, self.cooker.collections[mc].get_file_appends(filename), layername))
- for mc, filename, appends in to_reparse:
- infos = self.bb_caches[mc].parse(filename, appends)
+ for mc, filename, appends, layername in to_reparse:
+ infos = self.bb_caches[mc].parse(filename, appends, layername)
for vfn, info_array in infos:
self.cooker.recipecaches[mc].add_from_recipeinfo(vfn, info_array)
diff --git a/poky/bitbake/lib/bb/cookerdata.py b/poky/bitbake/lib/bb/cookerdata.py
index adde0e7444..42b8d64685 100644
--- a/poky/bitbake/lib/bb/cookerdata.py
+++ b/poky/bitbake/lib/bb/cookerdata.py
@@ -494,8 +494,9 @@ class CookerDataBuilder(object):
return data
@staticmethod
- def _parse_recipe(bb_data, bbfile, appends, mc=''):
+ def _parse_recipe(bb_data, bbfile, appends, mc, layername):
bb_data.setVar("__BBMULTICONFIG", mc)
+ bb_data.setVar("FILE_LAYERNAME", layername)
bbfile_loc = os.path.abspath(os.path.dirname(bbfile))
bb.parse.cached_mtime_noerror(bbfile_loc)
@@ -505,7 +506,7 @@ class CookerDataBuilder(object):
bb_data = bb.parse.handle(bbfile, bb_data)
return bb_data
- def parseRecipeVariants(self, bbfile, appends, virtonly=False, mc=None):
+ def parseRecipeVariants(self, bbfile, appends, virtonly=False, mc=None, layername=None):
"""
Load and parse one .bb build file
Return the data and whether parsing resulted in the file being skipped
@@ -515,32 +516,32 @@ class CookerDataBuilder(object):
(bbfile, virtual, mc) = bb.cache.virtualfn2realfn(bbfile)
bb_data = self.mcdata[mc].createCopy()
bb_data.setVar("__ONLYFINALISE", virtual or "default")
- datastores = self._parse_recipe(bb_data, bbfile, appends, mc)
+ datastores = self._parse_recipe(bb_data, bbfile, appends, mc, layername)
return datastores
if mc is not None:
bb_data = self.mcdata[mc].createCopy()
- return self._parse_recipe(bb_data, bbfile, appends, mc)
+ return self._parse_recipe(bb_data, bbfile, appends, mc, layername)
bb_data = self.data.createCopy()
- datastores = self._parse_recipe(bb_data, bbfile, appends)
+ datastores = self._parse_recipe(bb_data, bbfile, appends, '', layername)
for mc in self.mcdata:
if not mc:
continue
bb_data = self.mcdata[mc].createCopy()
- newstores = self._parse_recipe(bb_data, bbfile, appends, mc)
+ newstores = self._parse_recipe(bb_data, bbfile, appends, mc, layername)
for ns in newstores:
datastores["mc:%s:%s" % (mc, ns)] = newstores[ns]
return datastores
- def parseRecipe(self, virtualfn, appends):
+ def parseRecipe(self, virtualfn, appends, layername):
"""
Return a complete set of data for fn.
To do this, we need to parse the file.
"""
logger.debug("Parsing %s (full)" % virtualfn)
(fn, virtual, mc) = bb.cache.virtualfn2realfn(virtualfn)
- bb_data = self.parseRecipeVariants(virtualfn, appends, virtonly=True)
+ bb_data = self.parseRecipeVariants(virtualfn, appends, virtonly=True, layername=layername)
return bb_data[virtual]
diff --git a/poky/bitbake/lib/bb/fetch2/__init__.py b/poky/bitbake/lib/bb/fetch2/__init__.py
index 1a86d8fd81..770021de16 100644
--- a/poky/bitbake/lib/bb/fetch2/__init__.py
+++ b/poky/bitbake/lib/bb/fetch2/__init__.py
@@ -1234,7 +1234,7 @@ def get_checksum_file_list(d):
ud = fetch.ud[u]
if ud and isinstance(ud.method, local.Local):
found = False
- paths = ud.method.localpaths(ud, d)
+ paths = ud.method.localfile_searchpaths(ud, d)
for f in paths:
pth = ud.decodedurl
if os.path.exists(f):
diff --git a/poky/bitbake/lib/bb/fetch2/crate.py b/poky/bitbake/lib/bb/fetch2/crate.py
index a7021e5b36..3310ed0050 100644
--- a/poky/bitbake/lib/bb/fetch2/crate.py
+++ b/poky/bitbake/lib/bb/fetch2/crate.py
@@ -59,11 +59,11 @@ class Crate(Wget):
# version is expected to be the last token
# but ignore possible url parameters which will be used
# by the top fetcher class
- version, _, _ = parts[len(parts) -1].partition(";")
+ version = parts[-1].split(";")[0]
# second to last field is name
- name = parts[len(parts) - 2]
+ name = parts[-2]
# host (this is to allow custom crate registries to be specified
- host = '/'.join(parts[2:len(parts) - 2])
+ host = '/'.join(parts[2:-2])
# if using upstream just fix it up nicely
if host == 'crates.io':
@@ -98,8 +98,8 @@ class Crate(Wget):
save_cwd = os.getcwd()
os.chdir(rootdir)
- pn = d.getVar('BPN')
- if pn == ud.parm.get('name'):
+ bp = d.getVar('BP')
+ if bp == ud.parm.get('name'):
cmd = "tar -xz --no-same-owner -f %s" % thefile
else:
cargo_bitbake = self._cargo_bitbake_path(rootdir)
diff --git a/poky/bitbake/lib/bb/fetch2/local.py b/poky/bitbake/lib/bb/fetch2/local.py
index 5332faafe2..7d7668110e 100644
--- a/poky/bitbake/lib/bb/fetch2/local.py
+++ b/poky/bitbake/lib/bb/fetch2/local.py
@@ -41,9 +41,9 @@ class Local(FetchMethod):
"""
Return the local filename of a given url assuming a successful fetch.
"""
- return self.localpaths(urldata, d)[-1]
+ return self.localfile_searchpaths(urldata, d)[-1]
- def localpaths(self, urldata, d):
+ def localfile_searchpaths(self, urldata, d):
"""
Return the local filename of a given url assuming a successful fetch.
"""
@@ -51,11 +51,13 @@ class Local(FetchMethod):
path = urldata.decodedurl
newpath = path
if path[0] == "/":
+ logger.debug2("Using absolute %s" % (path))
return [path]
filespath = d.getVar('FILESPATH')
if filespath:
logger.debug2("Searching for %s in paths:\n %s" % (path, "\n ".join(filespath.split(":"))))
newpath, hist = bb.utils.which(filespath, path, history=True)
+ logger.debug2("Using %s for %s" % (newpath, path))
searched.extend(hist)
return searched
diff --git a/poky/bitbake/lib/bb/fetch2/npm.py b/poky/bitbake/lib/bb/fetch2/npm.py
index 8a179a339a..e6d0598f5d 100644
--- a/poky/bitbake/lib/bb/fetch2/npm.py
+++ b/poky/bitbake/lib/bb/fetch2/npm.py
@@ -103,6 +103,7 @@ class NpmEnvironment(object):
"""Run npm command in a controlled environment"""
with tempfile.TemporaryDirectory() as tmpdir:
d = bb.data.createCopy(self.d)
+ d.setVar("PATH", d.getVar("PATH")) # PATH might contain $HOME - evaluate it before patching
d.setVar("HOME", tmpdir)
if not workdir:
diff --git a/poky/bitbake/lib/bb/runqueue.py b/poky/bitbake/lib/bb/runqueue.py
index 02f1474540..1eac2da5e8 100644
--- a/poky/bitbake/lib/bb/runqueue.py
+++ b/poky/bitbake/lib/bb/runqueue.py
@@ -2166,6 +2166,7 @@ class RunQueueExecute:
'unihash' : self.rqdata.get_task_unihash(task),
'quieterrors' : True,
'appends' : self.cooker.collections[mc].get_file_appends(taskfn),
+ 'layername' : self.cooker.collections[mc].calc_bbfile_priority(taskfn)[2],
'taskdepdata' : self.sq_build_taskdepdata(task),
'dry_run' : False,
'taskdep': taskdep,
@@ -2259,6 +2260,7 @@ class RunQueueExecute:
'unihash' : self.rqdata.get_task_unihash(task),
'quieterrors' : False,
'appends' : self.cooker.collections[mc].get_file_appends(taskfn),
+ 'layername' : self.cooker.collections[mc].calc_bbfile_priority(taskfn)[2],
'taskdepdata' : self.build_taskdepdata(task),
'dry_run' : self.rqdata.setscene_enforce,
'taskdep': taskdep,
diff --git a/poky/bitbake/lib/bb/tests/fetch.py b/poky/bitbake/lib/bb/tests/fetch.py
index 532adb9414..d230120271 100644
--- a/poky/bitbake/lib/bb/tests/fetch.py
+++ b/poky/bitbake/lib/bb/tests/fetch.py
@@ -424,6 +424,10 @@ class FetcherTest(unittest.TestCase):
def git_init(self, cwd=None):
self.git('init', cwd=cwd)
+ # Explicitly set initial branch to master as
+ # a common setup is to use other default
+ # branch than master.
+ self.git(['checkout', '-b', 'master'], cwd=cwd)
if not self.git(['config', 'user.email'], cwd=cwd):
self.git(['config', 'user.email', 'you@example.com'], cwd=cwd)
if not self.git(['config', 'user.name'], cwd=cwd):
@@ -2392,6 +2396,31 @@ class CrateTest(FetcherTest):
self.assertTrue(os.path.exists(self.tempdir + "/cargo_home/bitbake/glob-0.2.11/src/lib.rs"))
@skipIfNoNetwork()
+ def test_crate_url_matching_recipe(self):
+
+ self.d.setVar('BP', 'glob-0.2.11')
+
+ uri = "crate://crates.io/glob/0.2.11"
+ self.d.setVar('SRC_URI', uri)
+
+ uris = self.d.getVar('SRC_URI').split()
+ d = self.d
+
+ fetcher = bb.fetch2.Fetch(uris, self.d)
+ ud = fetcher.ud[fetcher.urls[0]]
+
+ self.assertIn("name", ud.parm)
+ self.assertEqual(ud.parm["name"], "glob-0.2.11")
+ self.assertIn("downloadfilename", ud.parm)
+ self.assertEqual(ud.parm["downloadfilename"], "glob-0.2.11.crate")
+
+ fetcher.download()
+ fetcher.unpack(self.tempdir)
+ self.assertEqual(sorted(os.listdir(self.tempdir)), ['download', 'glob-0.2.11', 'unpacked'])
+ self.assertEqual(sorted(os.listdir(self.tempdir + "/download")), ['glob-0.2.11.crate', 'glob-0.2.11.crate.done'])
+ self.assertTrue(os.path.exists(self.tempdir + "/glob-0.2.11/src/lib.rs"))
+
+ @skipIfNoNetwork()
def test_crate_url_params(self):
uri = "crate://crates.io/aho-corasick/0.7.20;name=aho-corasick-renamed"