diff options
author | Patrick Williams <patrick@stwcx.xyz> | 2023-05-26 19:10:49 +0300 |
---|---|---|
committer | Patrick Williams <patrick@stwcx.xyz> | 2023-06-09 07:48:34 +0300 |
commit | e760df85eded3ead9d756555d5144acc5e3d3fa1 (patch) | |
tree | 38743ac80acd51ffc6802f09c6d44f80ea26a55f /poky/bitbake | |
parent | d5681c52378ddefb08060e8612c8fbd61f726301 (diff) | |
download | openbmc-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-x | poky/bitbake/bin/bitbake-worker | 3 | ||||
-rw-r--r-- | poky/bitbake/lib/bb/cache.py | 4 | ||||
-rw-r--r-- | poky/bitbake/lib/bb/command.py | 5 | ||||
-rw-r--r-- | poky/bitbake/lib/bb/cooker.py | 42 | ||||
-rw-r--r-- | poky/bitbake/lib/bb/cookerdata.py | 17 | ||||
-rw-r--r-- | poky/bitbake/lib/bb/fetch2/__init__.py | 2 | ||||
-rw-r--r-- | poky/bitbake/lib/bb/fetch2/crate.py | 10 | ||||
-rw-r--r-- | poky/bitbake/lib/bb/fetch2/local.py | 6 | ||||
-rw-r--r-- | poky/bitbake/lib/bb/fetch2/npm.py | 1 | ||||
-rw-r--r-- | poky/bitbake/lib/bb/runqueue.py | 2 | ||||
-rw-r--r-- | poky/bitbake/lib/bb/tests/fetch.py | 29 |
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" |