diff options
author | Andrew Geissler <geissonator@yahoo.com> | 2023-03-31 17:59:46 +0300 |
---|---|---|
committer | Andrew Geissler <geissonator@yahoo.com> | 2023-03-31 18:07:26 +0300 |
commit | fc113eade321128fc43b0b299e81ad07fc1edf3d (patch) | |
tree | b3b676c59ea53afe2ab04ec32d919ea11e8269d1 /poky | |
parent | 2daf84b2d486da0b21344da999553c8fa1228195 (diff) | |
download | openbmc-fc113eade321128fc43b0b299e81ad07fc1edf3d.tar.xz |
subtree updates: openembedded poky
poky: fb1853c66c..0907793d5e:
Alexander Kanavin (30):
sudo: update 1.9.12p2 -> 1.9.13p2
procps: update 3.3.17 -> 4.0.3
selftest/overlayfs: enable systemd via INIT_MANAGER
systemd: update 252.5 -> 253.1
dpkg: update 1.21.20 -> 1.21.21
libdnf: update 0.69.0 -> 0.70.0
ethtool: update 6.1 -> 6.2
iptables: update 1.8.8 -> 1.8.9
util-macros: do not probe into host triplet when checking manpage section names
encodings: update 1.0.6 -> 1.0.7
font-alias: update 1.0.4 -> 1.0.5
sqlite3: update 3.40.1 -> 3.41.0
enchant2: upgrade 2.3.3 -> 2.3.4
make: upgrade 4.4 -> 4.4.1
vte: upgrade 0.70.2 -> 0.70.3
pango: upgrade 1.50.12 -> 1.50.13
libnotify: upgrade 0.8.1 -> 0.8.2
puzzles: upgrade to latest revision
iproute2: upgrade 6.1.0 -> 6.2.0
bind: upgrade 9.18.11 -> 9.18.12
stress-ng: remove obsolete patch
piglit: upgrade to latest revision
apt: re-enable version check
devtool/upgrade: do not delete the workspace/recipes directory
runqemu: direct mesa to use its own drivers, rather than ones provided by host distro
mesa: allow mesa-native/nativesdk only subject to opengl/vulkan DISTRO_FEATURE
mesa: enable a rich set of drivers for native builds
llvm: allow building libllvm in native builds, subject to PACKAGECONFIG
mesa: do not strip rpaths from dri drivers
mesa: update 22.3.5 -> 23.0.0
Alexandre Belloni (2):
pseudo: Update to pull in fd leak fix
stress-ng: upgrade 0.15.04 -> 0.15.06
Alexis Lothoré (8):
scripts/resulttool: call fixup_ptest_names in regression_common
oeqa/selftest/resulttool: fix ptest filtering tests
oeqa/selftest/resulttool: fix fake data used for testing
scripts/resulttool: fix ptests results containing a non reproducible path
oeqa/selftest/resulttool: add test for error propagation in test name filtering
scripts/resulttool: do not count newly passing tests as regressions
scripts/yocto_testresults_query.py: set proper branches when using resulttool
scripts/yocto_testresults_query.py: fix regression reports for branches with slashes
Andrew Geissler (1):
filemap.py: enforce maximum of 4kb block size
Arturo Buzarra (1):
run-postinsts: Set dependency for ldconfig to avoid boot issues
Bruce Ashfield (12):
perf: fix buildpaths QA warning
lttng-modules: update to v2.13.9
lttng-modules: fix for v6.3+ kernels
linux-yocto/6.1: update to v6.1.15
linux-yocto/5.15: update to v5.15.98
linux-yocto/6.1: update to v6.1.20
linux-yocto/5.15: update to v5.15.103
kernel-devsrc: fix mismatched compiler warning
linux-yocto-dev: bump to v6.3
kernel/kernel-devsrc: powerpc: add elfutils dependency
yocto-bsp/6.1: update reference boards to v6.1.20
yocto-bsp/5.15: update to v5.15.103
Carlos Alberto Lopez Perez (1):
mesa-demos: packageconfig weston should have a dependency on wayland-protocols
Changqing Li (1):
cpio: fix ptest failure
Chen Qi (4):
Revert "systemd-systemctl: Create machine-id with "uninitialized" text in it"
rpm: fix RPM_ETCCONFIGDIR value in SDK
debugedit: add recipe
rpm: add back find-debuginfo support
Clément Péron (2):
qemu: split out qemu-guest-agent, add startup scripts
runqemu: add an option to enable guest-agent virtio device
Daniel Ammann (1):
bitbake: fetch2/sftp: Fix fetching URIs with spaces
Dmitry Baryshkov (1):
mesa: import patch from upstream to fix tools build on musl
Fawzi KHABER (4):
bitbake: doc: ref-variables: add LAYERSERIES_COMPAT to term glossary
bitbake: bitbake-user-manual: update Hello World example
package.bbclass: check packages name conflict in do_package
oeqa/selftest/cases/package.py: adding unittest for package rename conflicts
Frederic Martinsons (7):
cargo.bbclass: use offline mode for building
bitbake: crate.py: authorize crate url with parameters
cargo-update-recipe-crates: generate checksum for each crates
python3-bcrypt: add crates checksums
python3-cryptography: add crates checksums
bitbake: fetch2: Add checksum capability for crate fetcher
bitbake: crate.py: make checksum verification mandatory
Geoffrey GIRY (1):
cve-check: Fix false negative version issue
James R T (1):
bitbake: ConfHandler: Allow the '@' character in variable flag names
Jialing Zhang (5):
class-recipe: add support for loongarch64
Do not remove the -m option for loongarch64
image-uefi: add support for loongarch64
add support for loongarch64
recipes: add support for loongarch64
Jose Quaresma (5):
go: fix some linkshared regression introduced in go 1.20
buildstats-summary: add an option to disable bold
oeqs/selftest: OESelftestTestContext: replace the os.environ after subprocess.check_output
oeqa/selftest: OESelftestTestContext: convert relative to full path when newbuilddir is provided
oeqa/selftest/reproducible: Split different packages from missing packages output
Joshua Watt (1):
runqemu: Fix TypeError when command fails
Kai Kang (1):
grub2: support metadata_csum_seed feature
Kenfe-Mickael Laventure (3):
buildtools-tarball: Handle spaces within user $PATH
toolchain-scripts: Handle spaces within user $PATH
populate_sdk_ext: Handle spaces within user $PATH
Khem Raj (9):
libcomps: Fix callback function prototype for PyCOMPS_hash
rpm: Fix hdr_hash function prototype
binutils: Enable --enable-new-dtags
systemd: Fix musl fix patch
systemd.bbclass: Add /usr/lib/systemd to searchpaths as well
systemtap: Disable dangling-pointer warning
glibc: Disable warnings as errors
vte: Upgrade to 0.72.0
Revert "runqemu: Add workaround for APIC hang on pre 4.15 kernels on qemux86"
Lee Chee Yang (2):
migration-guides: add release-notes for 4.0.8
migration-guides: add release-notes for 4.1.3
Maanya Goenka (1):
create-spdx: fix config build by adding dependency to enable reruns
Mark Asselstine (1):
bitbake: build: Make python output print to stdout when running with -v (verbose)
Mark Hatle (3):
bitbake: wget.py: Add catch TimeoutError exception
bitbake: wget.py: Combine urlopener exceptions
tcf-agent: Update to current version
Markus Volk (1):
gtk4: update 4.8.3 -> 4.10.0
Martin Jansa (22):
file: add few more PACKAGECONFIGs to avoid autodetected deps from host
npm.bbclass: avoid DeprecationWarning with new python
timezone: use 'tz' subdir instead of ${WORKDIR} directly
tzdata: use separate B instead of WORKDIR for zic output
git-submodule-test: disable upstream version check
tzcode-native: fix build with gcc-13 on host
selftest: devtool: set BB_HASHSERVE_UPSTREAM when setting SSTATE_MIRROR
selftest: wic: respect IMAGE_LINK_NAME
selftest: wic: respect IMAGE_LINK_NAME also in test_rawcopy_plugin_qemu
selftest: runqemu: respect IMAGE_LINK_NAME
image-artifact-names.bbclass: add INITRAMFS_IMAGE_NAME from kernel.bbclass
selftest: fitimage.py: respect INITRAMFS_IMAGE_NAME and KERNEL_FIT_LINK_NAME
image-artifact-names: add IMAGE_MACHINE_SUFFIX variable
selftest: gdbserver.py: respect IMAGE_LINK_NAME
selftest: minidebuginfo.py respect IMAGE_LINK_NAME
runqemu: get_first_file() rename cmd* to glob*
selftest: imagefeatures.py: respect IMAGE_LINK_NAME for debugfs and manifest as well
oeqa: loader.py: show warning when skipping selected module and abort if all are skipped
bmap-tools: switch to main branch
python3-scons: upgrade to v4.5.2
selftest: systemd_boot.py: respect IMAGE_LINK_NAME
selftest: eSDK rename to esdk
Martin Larsson (1):
libpam: Remove flex dependency
Michael Halstead (1):
selftest/runtime_test/virgl: Disable for all Rocky Linux
Michael Opdenacker (7):
ref-manual: clarify explanations about feature backfilling
overview-manual: add missing link to BitBake User Manual
manuals: simplify references to the BitBake User Manual
poky.yaml.in, system-requirements.rst: update system requirements
ref-manual: system-requirements.rst: simplify supported distro requirements
ref-manual: variables.rst: update LAYERSERIES_COMPAT
bitbake: bitbake-user-manual: fix links to supported release manuals
Mikko Rapeli (1):
oeqa rtc.py: skip if read-only-rootfs
Ming Liu (1):
linux: inherit pkgconfig in kernel.bbclass
Mingli Yu (4):
mdadm: Fix testcase 06wrmostly
mdadm: fix tests/02lineargrow
mdadm: Fix raid0 tests
mdadm: fix tests/00raid0
Ovidiu Panait (1):
gobject-introspection: inherit python3targetconfig
Peter Marko (2):
go: use go as CVE product for all golang recipe veriants
gcc-shared-source: do not use ${S}/.. in deploy_source_date_epoch
Piotr Łobacz (1):
systemd: fix wrong nobody-group assignment
Randy MacLeod (3):
valgrind: Disable drd/tests/bar_bad ptest
openssl: update from 3.0.8 to 3.1.0
vim: upgrade 9.0.1403 -> 9.0.1429
Richard Purdie (52):
gdb: Fix occasional build failure
staging: Separate out different multiconfig manifests
bitbake: server/xmlrpc: Fix after currentAsyncCommand locking changes
gdb: Mark patch as backport
glibc: Add missing binutils dependency
glibc: Update sstate/equiv versions to clean cache
staging/multilib: Fix manifest corruption
m4/opkg/ethtool/attr/libgpg-error: Add missing bash ptest dependency
openssl: Add missing ptest dependency on openssl-bin
valgrind: Add missing utf-32 gconv dependency for ptests
perl: Add missing procps-ps dependency for ptests
acl/attr: ptest fixes and improvements
m4: Add missing ptest dependency
libmodule-build-perl: Fix ptest dependencies
bc: Fix ptest test output naming
findutils: Fix ptest dependency issue
gawk: Fix ptest dependency
libconvert-asn1-perl: Fix ptest dependencies
libxml-sax-perl: Fix ptest dependencies
babeltrace2: Fix ptest execution in minimal images and add debug info
babeltrace: Fix ptest dependency
lttng-tools: Improve ptest debugging and fix dependencies
gettext: Add missing bash ptest dependency
glibc-tests: Add missing bash ptest dependency
opkg: Add missing python module ptest dependencies
libxml-perl: Add missing perl module ptest dependencies
gstreamer1.0: Add missing gconv ptest dependency
gnutls: Add missing python ptest dependency
busybox: Fix ptest dependencies
selftest/recipetool: Stop test corrupting tinfoil class
oeqa/selftest/sstate: Merge sstate test class with tests themselves
oeqa/selftest/sstate: Move common code to base class
oeqa/selftest/sstate: Split classes to allow more parallelism
base-files: Drop localhost.localdomain from hosts file
core-image-ptest: Switch to BBCLASSEXTEND parallel execution
ptest-packagelists: Simplify ptest list/code
scripts/combo-layer: Fix python deprecation warning
pybootchartui: Fix python syntax issue
pybootchart: Fix extents handling to account for cpu/io/mem pressure changes
matchbox-wm: Update 1.2.2 -> 1.2.3
matchbox-panel-2: Update 2.11 -> 2.12
matchbox-desktop-2: Update 2.2 -> 2.3
matchbox-terminal: Update to latest SRCREV
matchbox-config-gtk: Update to latest SRCREV
matchbox-terminal: Fix PV to match standard format
openssl: Fix reproducibility issue
resulttool: Improve overlapping ptest result reporting
poky-bleeding: Update and rework
bitbake: fetch2: Rename __BBSEENSRCREV -> __BBSRCREV_SEEN
bitbake: fetch2: Add autorev warning when it is set too late
abi_version/sstate: Handle pkgconfig output changes and bump output versions
bitbake: fetch2/local: Mention the value of localpath in failure message
Robert Joslyn (1):
curl: Update from 7.88.1 to 8.0.1
Robert Yang (3):
bitbake: fetch/git: Fix local clone url to make it work with repo
bitbake: cache: Make EXCLUDE_FROM_WORLD boolean
bitbake: bitbake: bitbake-user-manual: Update EXCLUDE_FROM_WORLD
Romuald JEANNE (1):
image_types: fix vname var init in multiubi_mkfs() function
Romuald Jeanne (2):
image_types: fix multiubi var init
oeqa/selftest/imagefeatures: set a test for mutliubi in test_image_fstypes
Ross Burton (35):
vim: add missing pkgconfig inherit
shadow: ignore CVE-2016-15024
epiphany: upgrade to 43.1
manpages: use an intercept to run mandb
oeqa/selftest/imagefeatures: add test for man-db
systemd: add ignore for CVE-2022-4415
meson: remove obsolete RPATH stripping patch
poky: set MAINTAINER clearly
vim: set modified-by to the recipe MAINTAINER
vim: upgrade to 9.0.1403
lib/resulttool: fix typo breaking resulttool log --ptest
resulttool: add log --list-ptest
python3-numpy: add missing dependency for the tests
python3: missing ptest dependencies
python3: add missing -modules dependencies
python3-unittest-automake-output: add new recipe for ptest integration
python3-atomicwrites: use python3-unittest-automake-output
python3-bcrypt: use python3-unittest-automake-output
python3-cryptography: use python3-unittest-automake-output
python3-hypothesis: use python3-unittest-automake-output
python3-jinja2: use python3-unittest-automake-output
python3-markupsafe: use python3-unittest-automake-output
python3-more-itertools: use python3-unittest-automake-output
python3-pluggy: use python3-unittest-automake-output
python3-pyasn1: : use python3-unittest-automake-output
python3-pytz: use python3-unittest-automake-output
python3-wcwidth: use python3-unittest-automake-output
python3-webcolors: use python3-unittest-automake-output
python3-jsonpointer: rewrite testing
scripts: add buildstats-summary
quilt: fix non-deterministic ownership in ptest package
scripts/lib/buildstats: handle top-level build_stats not being complete
go: fix CVE-2023-2453
libunwind: fix compile failures on 32-bit arm with Clang 16
tzdata: upgrade to 2023c
Siddharth Doshi (2):
OpenSSL: Security fix for CVE-2023-0464
openssh: upgrade 9.2p1 -> 9.3p1
Sudip Mukherjee (3):
libgit2: update license information
libgit2: upgrade to v1.6.3
cracklib: upgrade to v2.9.10
Sundeep KOKKONDA (1):
rust: added missing runtime dependencies to run rust on target
Thomas Roos (1):
qemuboot-x86.inc: allow overwrite of QB_CPU
Tim Orling (4):
cracklib: update github branch to 'main'
python3-wheel: upgrade 0.38.4 -> 0.40.0
bitbake: toaster: update gen_fixtures.py for mickledore
bitbake: toaster: update fixtures for mickledore
Tom Hochstein (2):
meson: Fix wrapper handling of implicit setup command
oeqa/sdk: Improve Meson test
Trevor Woerner (3):
cups: use BUILDROOT instead of DESTDIR
cups: check PACKAGECONFIG for pam feature
cups: add/fix web interface packaging
Ulrich Ölmann (1):
base: fix typos
Wang Mingyu (24):
autoconf-archive: upgrade 2022.09.03 -> 2023.02.20
font-util: upgrade 1.3.3 -> 1.4.0
harfbuzz: upgrade 7.0.1 -> 7.1.0
iso-codes: upgrade 4.12.0 -> 4.13.0
libmicrohttpd: upgrade 0.9.75 -> 0.9.76
meson: upgrade 1.0.0 -> 1.0.1
glib-2.0: upgrade 2.74.5 -> 2.74.6
python3-cryptography(-vectors): upgrade 39.0.1 -> 39.0.2
python3-setuptools: upgrade 67.3.3 -> 67.4.0
python3-git: upgrade 3.1.30 -> 3.1.31
repo: upgrade 2.31 -> 2.32
strace: upgrade 6.1 -> 6.2
stress-ng: upgrade 0.15.03 -> 0.15.04
lua: Fix install conflict when enable multilib.
vala: Fix install conflict when enable multilib.
dhcpcd: Fix install conflict when enable multilib.
grep: upgrade 3.8 -> 3.9
python3-setuptools: upgrade 67.4.0 -> 67.6.0
python3-poetry-core: upgrade 1.5.1 -> 1.5.2
python3-pytest: upgrade 7.2.1 -> 7.2.2
python3-scons: upgrade 4.4.0 -> 4.5.1
python3-testtools: upgrade 2.5.0 -> 2.6.0
python3-urllib3: upgrade 1.26.14 -> 1.26.15
xcb-proto: Fix install conflict when enable multilib.
Xiangyu Chen (3):
sudo: update 1.9.12p2 -> 1.9.13p3
rng-tools: splitting the rng-tools systemd/sysvinit serivce as a package
package: moving field data process before variable process in process_pkgconfig
Yash Shinde (1):
binutils: Fix CVE-2023-25586
Yoann Congal (1):
ref-manual: Add info on "mixin" layers
Yureka Lilian (1):
systemd: rebase musl patches
Zang Ruochen (1):
maintainers.inc: Modify email address
Zoltan Boszormenyi (2):
piglit: Fix build time dependency
pypi.bbclass: Set SRC_URI downloadfilename with an optional prefix
meta-openembedded: a9b2d1303b..17243e70c8:
AYP (1):
packagegroup-meta-networking: remove ntpdate
Andreas Helbech Kleist (1):
cli11: enable native/nativesdk builds
Archana Polampalli (1):
Nodejs: add missing run_ptest script
Bartosz Golaszewski (3):
libgpiod: update to v2.0
python3-gpiod: update to v2.0
reboot-mode: new package
Changqing Li (5):
rabbitmq-c: upgrade 0.11.0 -> 0.13.0
sg3-utils: upgrade 1.45 -> 1.47
liblockfile: upgrade 1.14 -> 1.17
syslog-ng: upgrade 3.38.1 -> 4.0.1
redis: upgrade 7.0.9 -> 7.0.10
Chen Pei (1):
meta-perl-base:fix SUMMARY
Christophe Vu-Brugier (2):
exfatprogs: add new recipe
exfat-utils: remove recipe
Clément Péron (1):
python3-click-repl: add mising prompt-toolkit runtime dependency
Etienne Cordonnier (8):
android-tools 10: import version from meta-clang
android-tools 10: remove dead code
android-tools 10: move adbd to its own package
android-tools 10: Add flag to enable adbd service
android-tools 10: various fixes
android-tools 10: port some patches from version 5
android-tools: fix TMPDIR
android-tools: update to 29.0.6.r14
Fabio Estevam (2):
iperf3: Update to 3.13
ettercap: Update Upstream-Status
Frederic Martinsons (2):
uutils-coreutils: Add crates checksum and use cargo-update-recipes-crates
python3-pyruvate: Add crates checksum and use cargo-update-recipes-crates
Jan Feemers (1):
nodejs: package-split between nodejs and nodejs-npm
Joe Slater (3):
libidn: update to 1.41
re2: move to version 2023-03-01
libreport: update to version 2.17.8
Justin Bronder (1):
tk: inherit pkgconfig
Khem Raj (41):
gnome-commander: Upgrade to 1.16.0 release
python3-lru-dict: Fix function pointer mismatch
hdf5: Upgrade to 1.14.0
python3-h5py: Upgrade to 3.8.0
pkcs11-helper: Update to latest tip of trunk
glm: Update to tip of trunk
libsdl2-ttf: Upgrade to 2.20.2
libsdl-image: Fix build with clang16
gphoto2: Fix build with clang16 + musl
pmdk: Upgrade to 1.12.1
pndk: Add missing dependency on native cmake
libx86-1: Fix build with clang16
mongodb: Upgrade to 4.4.19
glog: Disable 64bit atomics on rv32
mongodb: Fix type mitmatch found with clang16
gegl: Remove openmp dep for rv32 and ppc32
gnome-desktop: Make seccomp dependency optional for rv32
nodejs: Upgrade to 18.14.2
libx86-1: Fix build on 32bit x86
vlc: Upgrade to 3.0.18
redis: Upgrade 6.x recipe to 6.2.11
redis: Upgrade 7.x to 7.0.9
packagegroup-meta-multimedia: mycroft needs pulseaudio
pahole: Upgrade to tip of trunk
sg3-utils: Fix build with musl
gsoap: Upgrade to 2.8.126
waylandpp: Just enforce opengl for target recipe
freeglut: Drop -fcommon and add -Wno-implicit-function-declaration
nodejs: Depend on file-native
lirc: Fix build with usrmerge feature building on ubuntu hosts
rp-pppoe: Define _GNU_SOURCE
libssh: Fix build with clang16
packagegroup-meta-multimedia: Remove library only packages from rdeps
packagegroup-meta-oe: Remove mongodb from rdep list of packagegroup
packagegroup-meta-networking: Set PACKAGE_ARCH = "${MACHINE_ARCH}"
cmocka: Check for previous declaration of uintptr_t
ettercap: Fix build with libcurl >= 8
fluentbit: Disable upstart scripts
xfstests: Fix build with musl
nautilus: Fix build with clang and drop unused patch
gimp: Update to 2.10.34
Lei Maohui (2):
libiodbc: Install *.h files to /usr/include/iodbc to fix conflicts error with unixodbc reference to ubuntu:
pgpool2: Added a new recipe.
Manoj Saun (1):
postgresql: fix ptest failure of sysviews test
Markus Volk (13):
dav1d: add recipe
libavif: add recipe
xdg-dbus-proxy: add recipe
libnice: upgrade 0.1.18 -> 0.1.21
pipewire: update 0.3.66 -> 0.3.67
nv-codec-headers: update 11.1.5.2 -> 12.0.16.0
wireplumber: update 0.4.13 -> 0.4.14
libcamera: update 0.0.1 -> 0.0.4
xdg-desktop-portal: fix bwrap path
gvfs: add more PACKAGECONFIGS
evolution-data-server: update 3.46.3 -> 3.48.0
gtksourceview5: update 5.6.1 -> 5.7.1
libgtop: update 2.40.0 -> 2.41.1
Mingli Yu (4):
php: Upgrade to 8.1.16
opencv: Upgrade to 4.7.0
crash: Upgrade to 8.0.2
mcelog: Upgrade to v191
Peter Johennecken (1):
fluentbit: change of download name
Peter Marko (1):
dnsmasq: fix CVE-2023-28450
Petr Gotthard (4):
openvpn: upgrade 2.6.0 -> 2.6.1
libqmi: upgrade 1.32.2 -> 1.32.4
libmbim: upgrade 1.28.2 -> 1.28.4
modemmanager: upgrade 1.20.4 -> 1.20.6
Randy MacLeod (4):
rsyslog: update from 8.2212.0 to 8.2302.0
rsyslog: add disabled PACKAGECONFIG to drop capabilities
librelp: make inline errors be warnings in debug build
cmocka: update from 1.1.5+ to 1.1.7
Sakib Sajal (1):
libuser: upgrade v0.63 -> v0.64
Stefan Ghinea (1):
redis: fix service redis-server restart not working under sysvinit
Trevor Woerner (3):
cups-filters: remove duplicate configure option
cups-filters: fix ghostscript handling
hplip: add runtime dependency on ghostscript
Wang Mingyu (136):
logcheck: upgrade 1.4.0 -> 1.4.2
byacc: upgrade 20230201 -> 20230219
bubblewrap: upgrade 0.7.0 -> 0.8.0
bats: upgrade 1.8.2 -> 1.9.0
cryptsetup: upgrade 2.6.0 -> 2.6.1
c-ares: upgrade 1.18.1 -> 1.19.0
cukinia: upgrade 0.6.0 -> 0.6.1
python3-coverage: upgrade 7.2.0 -> 7.2.1
python3-decouple: upgrade 3.7 -> 3.8
python3-aiohue: upgrade 4.6.1 -> 4.6.2
python3-fastnumbers: upgrade 4.0.1 -> 5.0.1
python3-haversine: upgrade 2.7.0 -> 2.8.0
python3-google-auth: upgrade 2.16.1 -> 2.16.2
python3-google-api-python-client: upgrade 2.79.0 -> 2.80.0
python3-imageio: upgrade 2.25.1 -> 2.26.0
python3-ipython: upgrade 8.10.0 -> 8.11.0
python3-nocasedict: upgrade 1.1.0 -> 2.0.0
python3-natsort: upgrade 8.2.0 -> 8.3.1
python3-nocaselist: Upgrade 1.1.0 -> 1.1.1
python3-protobuf: upgrade 4.21.12 -> 4.22.0
python3-pydicti: upgrade 1.2.0 -> 1.2.1
python3-watchdog: upgrade 2.3.0-> 2.3.1
python3-pymisp: upgrade 2.4.168 -> 2.4.168.1
python3-wrapt: upgrade 1.14.1 -> 1.15.0
apache2: upgrade 2.4.55 -> 2.4.56
logwatch: upgrade 7.7 -> 7.8
libvpx: upgrade 1.12.0 -> 1.13.0
libjcat: upgrade 0.1.12 -> 0.1.13
librsync: upgrade 2.3.2 -> 2.3.4
lcms: upgrade 2.14 -> 2.15
gsoap: upgrade 2.0.106 -> 2.0.124
hwdata: upgrade 0.367 -> 0.368
ctags: upgrade 6.0.20230212.0 -> 6.0.20230305.0
freerdp: upgrade 2.9.0 -> 2.10.0
python3-mpmath: upgrade 1.2.1 -> 1.3.0
python3-alembic: upgrade 1.9.4 -> 1.10.2
python3-astroid: upgrade 2.14.2 -> 2.15.0
python3-charset-normalizer: upgrade 3.0.1 -> 3.1.0
python3-argcomplete upgrade 2.0.0 -> 2.1.1
python3-fastjsonschema: upgrade 2.16.2 -> 2.16.3
python3-protobuf: upgrade 4.22.0 -> 4.22.1
python3-xmlschema: upgrade 2.2.1 -> 2.2.2
python3-tqdm: upgrade 4.64.1 -> 4.65.0
python3-pyexpect: upgrade 1.0.21 -> 1.0.22
python3-pywbem: upgrade 1.6.0 -> 1.6.1
stunnel: upgrade 5.67 -> 5.69
rp-pppoe: upgrade 3.14 -> 3.15
nbdkit: upgrade 1.33.7 -> 1.33.10
php: update 8.1.16 -> 8.2.3
tcsh: upgrade 6.22.04 -> 6.24.07
monit: upgrade 5.32.0 -> 5.33.0
poppler: upgrade 23.02.0 -> 23.03.0
satyr: upgrade 0.40 -> 0.42
nginx: upgrade 1.20.1 -> 1.23.3
raptor2: upgrade 2.0.15 -> 2.0.16
spawn-fcgi: upgrade 1.6.4 -> 1.6.5
unixodbc: Fix install conflict when enable multilib.
xdebug: upgrade 3.1.1 -> 3.2.0
postgresql: Fix install conflict when enable multilib.
networkmanager: upgrade 1.42.0 -> 1.42.4
rdma-core: upgrade 44.0 -> 45.0
python3-gcovr: upgrade 5.2 -> 6.0
makeself: upgrade 2.4.5 -> 2.5.0
ctags: upgrade 6.0.20230305.0 -> 6.0.20230312.0
python3-gmqtt: upgrade 0.6.11 -> 0.6.12
python3-google-api-python-client: upgrade 2.80.0 -> 2.81.0
python3-msgpack: upgrade 1.0.4 -> 1.0.5
python3-portion: upgrade 2.3.1 -> 2.4.0
python3-paramiko: upgrade 3.0.0 -> 3.1.0
python3-openpyxl: upgrade 3.1.1 -> 3.1.2
python3-pymisp: upgrade 2.4.168.1 -> 2.4.169
python3-pydantic: upgrade 1.10.5 -> 1.10.6
python3-pytest-xdist: upgrade 3.2.0 -> 3.2.1
python3-pymodbus: upgrade 3.1.3 -> 3.2.0
python3-smpplib: upgrade 2.2.1 -> 2.2.2
python3-twitter: upgrade 4.12.1 -> 4.13.0
python3-unidiff: upgrade 0.7.4 -> 0.7.5
python3-xlsxwriter: upgrade 3.0.8 -> 3.0.9
python3-pykickstart: upgrade 3.44 -> 3.45
python3-web3: upgrade 5.31.3 -> 5.31.4
python3-pymodbus: upgrade 3.2.0 -> 3.2.1
python3-geojson: upgrade 2.5.0 -> 3.0.1
python3-sentry-sdk: upgrade 1.15.0 -> 1.17.0
python3-apt: upgrade 2.5.2 -> 2.5.3
python3-argcomplete: upgrade 2.1.1 -> 3.0.0
python3-cmake: upgrade 3.25.2 -> 3.26.0
python3-coverage: upgrade 7.2.1 -> 7.2.2
python3-eth-typing: upgrade 3.2.0 -> 3.3.0
python3-daemon: upgrade 2.3.2 -> 3.0.1
python3-engineio: upgrade 4.3.4 -> 4.4.0
python3-flask-socketio: upgrade 5.3.2 -> 5.3.3
python3-pykickstart: upgrade 3.45 -> 3.47
python3-pymisp: upgrade 2.4.169 -> 2.4.169.2
python3-simplejson: upgrade 3.18.3 -> 3.18.4
python3-rapidjson: upgrade 1.9 -> 1.10
python3-socketio: upgrade 5.7.2 -> 5.8.0
python3-sqlalchemy: upgrade 2.0.4 -> 2.0.7
python3-tzlocal: upgrade 4.2 -> 4.3
python3-typeguard: upgrade 2.13.3 -> 3.0.1
python3-web3: upgrade 5.31.4 -> 6.0.0
python3-zeroconf: upgrade 0.47.3 -> 0.47.4
tracker: upgrade 3.4.2 -> 3.5.0
xterm: upgrade 378 -> 379
python3-zopeinterface: upgrade 5.5.2 -> 6.0
xf86-video-amdgpu: upgrade 22.0.0 -> 23.0.0
libclass-method-modifiers-perl: upgrade 2.13 -> 2.15
libcompress-raw-bzip2-perl: upgrade 2.201 -> 2.204
libcompress-raw-lzma-perl: upgrade 2.201 -> 2.204
libcompress-raw-zlib-perl: upgrade 2.202 -> 2.204
libio-compress-lzma-perl: upgrade 2.201 -> 2.204
libio-compress-perl: upgrade 2.201 -> 2.204
libtest-deep-perl: upgrade 1.130 -> 1.204
opencl-headers: upgrade 2022.09.30 -> 2023.02.06
php: upgrade 8.2.3 -> 8.2.4
googletest: upgrade 1.12.1 -> 1.13.0
consolation: upgrade 0.0.8 -> 0.0.9
can-utils: upgrade 2021.08.0 -> 2023.03
nbdkit: upgrade 1.33.10 -> 1.33.11
adcli: upgrade 0.9.0 -> 0.9.2
gnome-chess: upgrade 43.1 -> 43.2
xfstests: upgrade 2023.01.01 -> 2023.03.05
gnome-backgrounds: upgrade 43 -> 44.0
libwacom: upgrade 2.5.0 -> 2.6.0
libass: upgrade 0.17.0 -> 0.17.1
libnet-dns-perl: upgrade 1.36 -> 1.37
libadwaita: upgrade 1.2.1 -> 1.3.1
libcgi-perl: upgrade 4.55 -> 4.56
libpeas: upgrade 1.34.0 -> 1.36.0
gvfs: upgrade 1.50.3 -> 1.50.4
gnome-system-monitor: upgrade 42.0 -> 44.0
nautilus: upgrade 43.2 -> 44.0
babl: upgrade 0.1.98 -> 0.1.102
ctags: upgrade 6.0.20230312.0 -> 6.0.20230319.0
folks: upgrade 0.15.5 -> 0.15.6
gegl: upgrade 0.4.40 -> 0.4.42
gnome-autoar: upgrade 0.4.3 -> 0.4.4
Xiangyu Chen (2):
libbpf: upgrade 0.8.0 -> 1.1.0
abseil-cpp: upgrade 20221014.0 -> 20230125.1
Yi Zhao (25):
audit: upgrade 3.0.9 -> 3.1
audit: drop version 2.8.5
frr: add UPSTREAM_CHECK_GITTAGREGEX
quagga: drop recipe
libssh: upgrade 0.8.9 -> 0.10.4
strongswan: 5.9.9 -> 5.9.10
libnfnetlink: upgrade 1.0.1 -> 1.0.2
libnetfilter-cthelper: upgrade 1.0.0 -> 1.0.1
libnetfilter-cttimeout: upgrade 1.0.0 -> 1.0.1
traceroute: upgrade 2.1.1 -> 2.1.2
freeradius: add UPSTREAM_CHECK_GITTAGREGEX
libyang: fix ptest
libyang: upgrade 2.0.194 -> 2.1.30
frr: support more arches
netplan: add missing runtime dependencies
python3-rich: add recipe
packagegroup-meta-networking: add frr
packagegroup-meta-oe: enable build libyang on riscv32/64
libnftnl: upgrade 1.2.4 -> 1.2.5
libldb: upgrade 2.6.1 -> 2.7.1
samba: upgrade 4.17.5 -> 4.18.0
libssh: add ptest
mbedtls: add ptest
libyang: upgrade 2.1.30 -> 2.1.55
tcpreplay: 4.4.2 -> 4.4.3
Yoann Congal (4):
libusb-compat: Revert "libusb-compat: move libraries to base_libdir"
libusb-compat: upgrade sources to fix -native build
libusb-compat: add simple ptest (example programs)
libusb-compat: RDEPENDS on libusb1
Yue Tao (1):
Introduce python3-trustme to fix ptest error of python3-requests-toolbelt
Zhixiong Chi (2):
ntp: drop the deprecated ntpdate
python3-betamax: fix ptest failture of fixture and record modes
Zoltán Böszörményi (13):
opencl-icd-loader: Add RPROVIDES:${PN} = "virtual/opencl-icd"
ocl-icd: Add PROVIDES and RPROVIDES for virtual/opencl-icd
meta-oe/conf/layer.conf: Add PREFERRED_[R]PROVIDER_virtual/opencl-icd
python3-ninja: New recipe
python3-cmake: New recipe
python3-scikit-build: New recipe
python3-pyproject-metadata: New recipe
opencv: Support OpenVINO
python3-executing: New recipe
python3-pure-eval: New recipe
python3-stack-data: New recipe
python3-ipython: Add missing dependency
opencv: Fix PACKAGECONFIG[openvino]
Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
Change-Id: Idbfcd5f4c03ed5bd9c72558714edbe0200495aad
Diffstat (limited to 'poky')
414 files changed, 6140 insertions, 2888 deletions
diff --git a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-hello.rst b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-hello.rst index 722dc5a2cc..c8251d2a04 100644 --- a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-hello.rst +++ b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-hello.rst @@ -18,28 +18,32 @@ it. Obtaining BitBake ================= -See the :ref:`bitbake-user-manual/bitbake-user-manual-hello:obtaining bitbake` section for +See the :ref:`bitbake-user-manual/bitbake-user-manual-intro:obtaining bitbake` section for information on how to obtain BitBake. Once you have the source code on your machine, the BitBake directory appears as follows:: $ ls -al - total 100 - drwxrwxr-x. 9 wmat wmat 4096 Jan 31 13:44 . - drwxrwxr-x. 3 wmat wmat 4096 Feb 4 10:45 .. - -rw-rw-r--. 1 wmat wmat 365 Nov 26 04:55 AUTHORS - drwxrwxr-x. 2 wmat wmat 4096 Nov 26 04:55 bin - drwxrwxr-x. 4 wmat wmat 4096 Jan 31 13:44 build - -rw-rw-r--. 1 wmat wmat 16501 Nov 26 04:55 ChangeLog - drwxrwxr-x. 2 wmat wmat 4096 Nov 26 04:55 classes - drwxrwxr-x. 2 wmat wmat 4096 Nov 26 04:55 conf - drwxrwxr-x. 3 wmat wmat 4096 Nov 26 04:55 contrib - -rw-rw-r--. 1 wmat wmat 17987 Nov 26 04:55 COPYING - drwxrwxr-x. 3 wmat wmat 4096 Nov 26 04:55 doc - -rw-rw-r--. 1 wmat wmat 69 Nov 26 04:55 .gitignore - -rw-rw-r--. 1 wmat wmat 849 Nov 26 04:55 HEADER - drwxrwxr-x. 5 wmat wmat 4096 Jan 31 13:44 lib - -rw-rw-r--. 1 wmat wmat 195 Nov 26 04:55 MANIFEST.in - -rw-rw-r--. 1 wmat wmat 2887 Nov 26 04:55 TODO + total 108 + drwxr-xr-x 9 fawkh 10000 4096 feb 24 12:10 . + drwx------ 36 fawkh 10000 4096 mar 2 17:00 .. + -rw-r--r-- 1 fawkh 10000 365 feb 24 12:10 AUTHORS + drwxr-xr-x 2 fawkh 10000 4096 feb 24 12:10 bin + -rw-r--r-- 1 fawkh 10000 16501 feb 24 12:10 ChangeLog + drwxr-xr-x 2 fawkh 10000 4096 feb 24 12:10 classes + drwxr-xr-x 2 fawkh 10000 4096 feb 24 12:10 conf + drwxr-xr-x 5 fawkh 10000 4096 feb 24 12:10 contrib + drwxr-xr-x 6 fawkh 10000 4096 feb 24 12:10 doc + drwxr-xr-x 8 fawkh 10000 4096 mar 2 16:26 .git + -rw-r--r-- 1 fawkh 10000 31 feb 24 12:10 .gitattributes + -rw-r--r-- 1 fawkh 10000 392 feb 24 12:10 .gitignore + drwxr-xr-x 13 fawkh 10000 4096 feb 24 12:11 lib + -rw-r--r-- 1 fawkh 10000 1224 feb 24 12:10 LICENSE + -rw-r--r-- 1 fawkh 10000 15394 feb 24 12:10 LICENSE.GPL-2.0-only + -rw-r--r-- 1 fawkh 10000 1286 feb 24 12:10 LICENSE.MIT + -rw-r--r-- 1 fawkh 10000 229 feb 24 12:10 MANIFEST.in + -rw-r--r-- 1 fawkh 10000 2413 feb 24 12:10 README + -rw-r--r-- 1 fawkh 10000 43 feb 24 12:10 toaster-requirements.txt + -rw-r--r-- 1 fawkh 10000 2887 feb 24 12:10 TODO At this point, you should have BitBake cloned to a directory that matches the previous listing except for dates and user names. @@ -52,7 +56,7 @@ directory to where your local BitBake files are and run the following command:: $ ./bin/bitbake --version - BitBake Build Tool Core version 1.23.0, bitbake version 1.23.0 + BitBake Build Tool Core version 2.3.1 The console output tells you what version you are running. @@ -130,23 +134,8 @@ Following is the complete "Hello World" example. directory. Run the ``bitbake`` command and see what it does:: $ bitbake - The BBPATH variable is not set and bitbake did not - find a conf/bblayers.conf file in the expected location. + ERROR: The BBPATH variable is not set and bitbake did not find a conf/bblayers.conf file in the expected location. Maybe you accidentally invoked bitbake from the wrong directory? - DEBUG: Removed the following variables from the environment: - GNOME_DESKTOP_SESSION_ID, XDG_CURRENT_DESKTOP, - GNOME_KEYRING_CONTROL, DISPLAY, SSH_AGENT_PID, LANG, no_proxy, - XDG_SESSION_PATH, XAUTHORITY, SESSION_MANAGER, SHLVL, - MANDATORY_PATH, COMPIZ_CONFIG_PROFILE, WINDOWID, EDITOR, - GPG_AGENT_INFO, SSH_AUTH_SOCK, GDMSESSION, GNOME_KEYRING_PID, - XDG_SEAT_PATH, XDG_CONFIG_DIRS, LESSOPEN, DBUS_SESSION_BUS_ADDRESS, - _, XDG_SESSION_COOKIE, DESKTOP_SESSION, LESSCLOSE, DEFAULTS_PATH, - UBUNTU_MENUPROXY, OLDPWD, XDG_DATA_DIRS, COLORTERM, LS_COLORS - - The majority of this output is specific to environment variables that - are not directly relevant to BitBake. However, the very first - message regarding the :term:`BBPATH` variable and the - ``conf/bblayers.conf`` file is relevant. When you run BitBake, it begins looking for metadata files. The :term:`BBPATH` variable is what tells BitBake where @@ -179,20 +168,14 @@ Following is the complete "Hello World" example. ``bitbake`` command again:: $ bitbake - ERROR: Traceback (most recent call last): - File "/home/scott-lenovo/bitbake/lib/bb/cookerdata.py", line 163, in wrapped - return func(fn, *args) - File "/home/scott-lenovo/bitbake/lib/bb/cookerdata.py", line 173, in parse_config_file - return bb.parse.handle(fn, data, include) - File "/home/scott-lenovo/bitbake/lib/bb/parse/__init__.py", line 99, in handle - return h['handle'](fn, data, include) - File "/home/scott-lenovo/bitbake/lib/bb/parse/parse_py/ConfHandler.py", line 120, in handle - abs_fn = resolve_file(fn, data) - File "/home/scott-lenovo/bitbake/lib/bb/parse/__init__.py", line 117, in resolve_file - raise IOError("file %s not found in %s" % (fn, bbpath)) - IOError: file conf/bitbake.conf not found in /home/scott-lenovo/hello - - ERROR: Unable to parse conf/bitbake.conf: file conf/bitbake.conf not found in /home/scott-lenovo/hello + ERROR: Unable to parse /home/scott-lenovo/bitbake/lib/bb/parse/__init__.py + Traceback (most recent call last): + File "/home/scott-lenovo/bitbake/lib/bb/parse/__init__.py", line 127, in resolve_file(fn='conf/bitbake.conf', d=<bb.data_smart.DataSmart object at 0x7f22919a3df0>): + if not newfn: + > raise IOError(errno.ENOENT, "file %s not found in %s" % (fn, bbpath)) + fn = newfn + FileNotFoundError: [Errno 2] file conf/bitbake.conf not found in <projectdirectory> + This sample output shows that BitBake could not find the ``conf/bitbake.conf`` file in the project directory. This file is @@ -254,18 +237,14 @@ Following is the complete "Hello World" example. exists, you can run the ``bitbake`` command again:: $ bitbake - ERROR: Traceback (most recent call last): - File "/home/scott-lenovo/bitbake/lib/bb/cookerdata.py", line 163, in wrapped - return func(fn, *args) - File "/home/scott-lenovo/bitbake/lib/bb/cookerdata.py", line 177, in _inherit - bb.parse.BBHandler.inherit(bbclass, "configuration INHERITs", 0, data) - File "/home/scott-lenovo/bitbake/lib/bb/parse/parse_py/BBHandler.py", line 92, in inherit - include(fn, file, lineno, d, "inherit") - File "/home/scott-lenovo/bitbake/lib/bb/parse/parse_py/ConfHandler.py", line 100, in include - raise ParseError("Could not %(error_out)s file %(fn)s" % vars(), oldfn, lineno) - ParseError: ParseError in configuration INHERITs: Could not inherit file classes/base.bbclass - - ERROR: Unable to parse base: ParseError in configuration INHERITs: Could not inherit file classes/base.bbclass + ERROR: Unable to parse /home/scott-lenovo/bitbake/lib/bb/parse/parse_py/BBHandler.py + Traceback (most recent call last): + File "/home/scott-lenovo/bitbake/lib/bb/parse/parse_py/BBHandler.py", line 67, in inherit(files=['base'], fn='configuration INHERITs', lineno=0, d=<bb.data_smart.DataSmart object at 0x7fab6815edf0>): + if not os.path.exists(file): + > raise ParseError("Could not inherit file %s" % (file), fn, lineno) + + bb.parse.ParseError: ParseError in configuration INHERITs: Could not inherit file classes/base.bbclass + In the sample output, BitBake could not find the ``classes/base.bbclass`` file. You need @@ -284,7 +263,10 @@ Following is the complete "Hello World" example. $ mkdir classes Move to the ``classes`` directory and then create the - ``base.bbclass`` file by inserting this single line: addtask build + ``base.bbclass`` file by inserting this single line:: + + addtask build + The minimal task that BitBake runs is the ``do_build`` task. This is all the example needs in order to build the project. Of course, the ``base.bbclass`` can have much more depending on which build @@ -328,10 +310,19 @@ Following is the complete "Hello World" example. BBFILES += "${LAYERDIR}/*.bb" BBFILE_COLLECTIONS += "mylayer" BBFILE_PATTERN_mylayer := "^${LAYERDIR_RE}/" + LAYERSERIES_CORENAMES = "hello_world_example" + LAYERSERIES_COMPAT_mylayer = "hello_world_example" For information on these variables, click on :term:`BBFILES`, - :term:`LAYERDIR`, :term:`BBFILE_COLLECTIONS` or :term:`BBFILE_PATTERN_mylayer <BBFILE_PATTERN>` - to go to the definitions in the glossary. + :term:`LAYERDIR`, :term:`BBFILE_COLLECTIONS`, :term:`BBFILE_PATTERN_mylayer <BBFILE_PATTERN>` + or :term:`LAYERSERIES_COMPAT` to go to the definitions in the glossary. + + .. note:: + + We are setting both LAYERSERIES_CORENAMES and LAYERSERIES_COMPAT in this particular case, because we + are using bitbake without OpenEmbedded. + You should usually just use LAYERSERIES_COMPAT to specify the OE-Core versions for which your layer + is compatible, and add the meta-openembedded layer to your project. You need to create the recipe file next. Inside your layer at the top-level, use an editor and create a recipe file named @@ -389,12 +380,14 @@ Following is the complete "Hello World" example. target:: $ bitbake printhello + Loading cache: 100% | + Loaded 0 entries from dependency cache. Parsing recipes: 100% |##################################################################################| - Time: 00:00:00 Parsing of 1 .bb files complete (0 cached, 1 parsed). 1 targets, 0 skipped, 0 masked, 0 errors. NOTE: Resolving any missing task queue dependencies - NOTE: Preparing RunQueue - NOTE: Executing RunQueue Tasks + Initialising tasks: 100% |###############################################################################| + NOTE: No setscene tasks + NOTE: Executing Tasks ******************** * * * Hello, World! * diff --git a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst index 09d09a8d9e..25620fdda1 100644 --- a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst +++ b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst @@ -990,7 +990,7 @@ overview of their function and contents. ``bblayers.conf`` configuration file. To exclude a recipe from a world build using this variable, set the - variable to "1" in the recipe. + variable to "1" in the recipe. Set it to "0" to add it back to world build. .. note:: @@ -1096,6 +1096,29 @@ overview of their function and contents. variable is not available outside of ``layer.conf`` and references are expanded immediately when parsing of the file completes. + :term:`LAYERSERIES_COMPAT` + Lists the versions of the OpenEmbedded-Core (OE-Core) for which + a layer is compatible. Using the :term:`LAYERSERIES_COMPAT` variable + allows the layer maintainer to indicate which combinations of the + layer and OE-Core can be expected to work. The variable gives the + system a way to detect when a layer has not been tested with new + releases of OE-Core (e.g. the layer is not maintained). + + To specify the OE-Core versions for which a layer is compatible, use + this variable in your layer's ``conf/layer.conf`` configuration file. + For the list, use the Yocto Project release name (e.g. "kirkstone", + "mickledore"). To specify multiple OE-Core versions for the layer, use + a space-separated list:: + + LAYERSERIES_COMPAT_layer_root_name = "kirkstone mickledore" + + .. note:: + + Setting :term:`LAYERSERIES_COMPAT` is required by the Yocto Project + Compatible version 2 standard. + The OpenEmbedded build system produces a warning if the variable + is not set for any given layer. + :term:`LAYERVERSION` Optionally specifies the version of a layer as a single number. You can use this variable within diff --git a/poky/bitbake/doc/releases.rst b/poky/bitbake/doc/releases.rst index 6635032c01..6a9774d4e7 100644 --- a/poky/bitbake/doc/releases.rst +++ b/poky/bitbake/doc/releases.rst @@ -1,61 +1,57 @@ .. SPDX-License-Identifier: CC-BY-2.5 -=========================== - Supported Release Manuals -=========================== +================================= +BitBake Supported Release Manuals +================================= + +***************************** +Release Series 4.1 (langdale) +***************************** + +- :yocto_docs:`BitBake 2.2 User Manual </bitbake/2.2/>` + +***************************** +Release Series 4.0 (kirstone) +***************************** + +- :yocto_docs:`BitBake 2.0 User Manual </bitbake/2.0/>` + +**************************** +Release Series 3.1 (dunfell) +**************************** + +- :yocto_docs:`BitBake 1.46 User Manual </bitbake/1.46/>` + +================================ +BitBake Outdated Release Manuals +================================ ****************************** Release Series 3.4 (honister) ****************************** -- :yocto_docs:`3.4 BitBake User Manual </3.4/bitbake-user-manual/bitbake-user-manual.html>` -- :yocto_docs:`3.4.1 BitBake User Manual </3.4.1/bitbake-user-manual/bitbake-user-manual.html>` -- :yocto_docs:`3.4.2 BitBake User Manual </3.4.2/bitbake-user-manual/bitbake-user-manual.html>` +- :yocto_docs:`BitBake 1.52 User Manual </bitbake/1.52/>` ****************************** Release Series 3.3 (hardknott) ****************************** -- :yocto_docs:`3.3 BitBake User Manual </3.3/bitbake-user-manual/bitbake-user-manual.html>` -- :yocto_docs:`3.3.1 BitBake User Manual </3.3.1/bitbake-user-manual/bitbake-user-manual.html>` -- :yocto_docs:`3.3.2 BitBake User Manual </3.3.2/bitbake-user-manual/bitbake-user-manual.html>` -- :yocto_docs:`3.3.3 BitBake User Manual </3.3.3/bitbake-user-manual/bitbake-user-manual.html>` -- :yocto_docs:`3.3.4 BitBake User Manual </3.3.4/bitbake-user-manual/bitbake-user-manual.html>` -- :yocto_docs:`3.3.5 BitBake User Manual </3.3.5/bitbake-user-manual/bitbake-user-manual.html>` +- :yocto_docs:`BitBake 1.50 User Manual </bitbake/1.50/>` -**************************** -Release Series 3.1 (dunfell) -**************************** +******************************* +Release Series 3.2 (gatesgarth) +******************************* + +- :yocto_docs:`BitBake 1.48 User Manual </bitbake/1.48/>` + +******************************************* +Release Series 3.1 (dunfell first versions) +******************************************* - :yocto_docs:`3.1 BitBake User Manual </3.1/bitbake-user-manual/bitbake-user-manual.html>` - :yocto_docs:`3.1.1 BitBake User Manual </3.1.1/bitbake-user-manual/bitbake-user-manual.html>` - :yocto_docs:`3.1.2 BitBake User Manual </3.1.2/bitbake-user-manual/bitbake-user-manual.html>` - :yocto_docs:`3.1.3 BitBake User Manual </3.1.3/bitbake-user-manual/bitbake-user-manual.html>` -- :yocto_docs:`3.1.4 BitBake User Manual </3.1.4/bitbake-user-manual/bitbake-user-manual.html>` -- :yocto_docs:`3.1.5 BitBake User Manual </3.1.5/bitbake-user-manual/bitbake-user-manual.html>` -- :yocto_docs:`3.1.6 BitBake User Manual </3.1.6/bitbake-user-manual/bitbake-user-manual.html>` -- :yocto_docs:`3.1.7 BitBake User Manual </3.1.7/bitbake-user-manual/bitbake-user-manual.html>` -- :yocto_docs:`3.1.8 BitBake User Manual </3.1.8/bitbake-user-manual/bitbake-user-manual.html>` -- :yocto_docs:`3.1.9 BitBake User Manual </3.1.9/bitbake-user-manual/bitbake-user-manual.html>` -- :yocto_docs:`3.1.10 BitBake User Manual </3.1.10/bitbake-user-manual/bitbake-user-manual.html>` -- :yocto_docs:`3.1.11 BitBake User Manual </3.1.11/bitbake-user-manual/bitbake-user-manual.html>` -- :yocto_docs:`3.1.12 BitBake User Manual </3.1.12/bitbake-user-manual/bitbake-user-manual.html>` -- :yocto_docs:`3.1.13 BitBake User Manual </3.1.13/bitbake-user-manual/bitbake-user-manual.html>` -- :yocto_docs:`3.1.14 BitBake User Manual </3.1.14/bitbake-user-manual/bitbake-user-manual.html>` - -========================== - Outdated Release Manuals -========================== - -******************************* -Release Series 3.2 (gatesgarth) -******************************* - -- :yocto_docs:`3.2 BitBake User Manual </3.2/bitbake-user-manual/bitbake-user-manual.html>` -- :yocto_docs:`3.2.1 BitBake User Manual </3.2.1/bitbake-user-manual/bitbake-user-manual.html>` -- :yocto_docs:`3.2.2 BitBake User Manual </3.2.2/bitbake-user-manual/bitbake-user-manual.html>` -- :yocto_docs:`3.2.3 BitBake User Manual </3.2.3/bitbake-user-manual/bitbake-user-manual.html>` -- :yocto_docs:`3.2.4 BitBake User Manual </3.2.4/bitbake-user-manual/bitbake-user-manual.html>` ************************* Release Series 3.0 (zeus) diff --git a/poky/bitbake/lib/bb/build.py b/poky/bitbake/lib/bb/build.py index 5a1727116a..44d08f5c55 100644 --- a/poky/bitbake/lib/bb/build.py +++ b/poky/bitbake/lib/bb/build.py @@ -25,6 +25,7 @@ import bb import bb.msg import bb.process import bb.progress +from io import StringIO from bb import data, event, utils bblogger = logging.getLogger('BitBake') @@ -177,7 +178,9 @@ class StdoutNoopContextManager: @property def name(self): - return sys.stdout.name + if "name" in dir(sys.stdout): + return sys.stdout.name + return "<mem>" def exec_func(func, d, dirs = None): @@ -296,9 +299,21 @@ def exec_func_python(func, d, runfile, cwd=None): lineno = int(d.getVarFlag(func, "lineno", False)) bb.methodpool.insert_method(func, text, fn, lineno - 1) + if verboseStdoutLogging: + sys.stdout.flush() + sys.stderr.flush() + currout = sys.stdout + currerr = sys.stderr + sys.stderr = sys.stdout = execio = StringIO() comp = utils.better_compile(code, func, "exec_func_python() autogenerated") utils.better_exec(comp, {"d": d}, code, "exec_func_python() autogenerated") finally: + if verboseStdoutLogging: + execio.flush() + logger.plain("%s" % execio.getvalue()) + sys.stdout = currout + sys.stderr = currerr + execio.close() # We want any stdout/stderr to be printed before any other log messages to make debugging # more accurate. In some cases we seem to lose stdout/stderr entirely in logging tests without this. sys.stdout.flush() @@ -441,7 +456,11 @@ exit $ret if fakerootcmd: cmd = [fakerootcmd, runfile] - if verboseStdoutLogging: + # We only want to output to logger via LogTee if stdout is sys.__stdout__ (which will either + # be real stdout or subprocess PIPE or similar). In other cases we are being run "recursively", + # ie. inside another function, in which case stdout is already being captured so we don't + # want to Tee here as output would be printed twice, and out of order. + if verboseStdoutLogging and sys.stdout == sys.__stdout__: logfile = LogTee(logger, StdoutNoopContextManager()) else: logfile = StdoutNoopContextManager() diff --git a/poky/bitbake/lib/bb/cache.py b/poky/bitbake/lib/bb/cache.py index b309775bb9..10910a6809 100644 --- a/poky/bitbake/lib/bb/cache.py +++ b/poky/bitbake/lib/bb/cache.py @@ -216,7 +216,7 @@ class CoreRecipeInfo(RecipeInfoCommon): # Collect files we may need for possible world-dep # calculations - if not self.not_world: + if not bb.utils.to_boolean(self.not_world): cachedata.possible_world.append(fn) #else: # logger.debug2("EXCLUDE FROM WORLD: %s", fn) diff --git a/poky/bitbake/lib/bb/fetch2/__init__.py b/poky/bitbake/lib/bb/fetch2/__init__.py index cf65727a20..31729885ab 100644 --- a/poky/bitbake/lib/bb/fetch2/__init__.py +++ b/poky/bitbake/lib/bb/fetch2/__init__.py @@ -749,10 +749,13 @@ def subprocess_setup(): # SIGPIPE errors are known issues with gzip/bash signal.signal(signal.SIGPIPE, signal.SIG_DFL) -def get_autorev(d): - # only not cache src rev in autorev case +def mark_recipe_nocache(d): if d.getVar('BB_SRCREV_POLICY') != "cache": d.setVar('BB_DONT_CACHE', '1') + +def get_autorev(d): + mark_recipe_nocache(d) + d.setVar("__BBAUTOREV_SEEN", True) return "AUTOINC" def get_srcrev(d, method_name='sortable_revision'): @@ -769,7 +772,7 @@ def get_srcrev(d, method_name='sortable_revision'): that fetcher provides a method with the given name and the same signature as sortable_revision. """ - d.setVar("__BBSEENSRCREV", "1") + d.setVar("__BBSRCREV_SEEN", "1") recursion = d.getVar("__BBINSRCREV") if recursion: raise FetchError("There are recursive references in fetcher variables, likely through SRC_URI") @@ -1219,6 +1222,7 @@ def srcrev_internal_helper(ud, d, name): if srcrev == "INVALID" or not srcrev: raise FetchError("Please set a valid SRCREV for url %s (possible key names are %s, or use a ;rev=X URL parameter)" % (str(attempts), ud.url), ud.url) if srcrev == "AUTOINC": + d.setVar("__BBAUTOREV_ACTED_UPON", True) srcrev = ud.method.latest_revision(ud, d, name) return srcrev @@ -1291,18 +1295,13 @@ class FetchData(object): if checksum_name in self.parm: checksum_expected = self.parm[checksum_name] - elif self.type not in ["http", "https", "ftp", "ftps", "sftp", "s3", "az"]: + elif self.type not in ["http", "https", "ftp", "ftps", "sftp", "s3", "az", "crate"]: checksum_expected = None else: checksum_expected = d.getVarFlag("SRC_URI", checksum_name) setattr(self, "%s_expected" % checksum_id, checksum_expected) - for checksum_id in CHECKSUM_LIST: - configure_checksum(checksum_id) - - self.ignore_checksums = False - self.names = self.parm.get("name",'default').split(',') self.method = None @@ -1324,6 +1323,11 @@ class FetchData(object): if hasattr(self.method, "urldata_init"): self.method.urldata_init(self, d) + for checksum_id in CHECKSUM_LIST: + configure_checksum(checksum_id) + + self.ignore_checksums = False + if "localpath" in self.parm: # if user sets localpath for file, use it instead. self.localpath = self.parm["localpath"] diff --git a/poky/bitbake/lib/bb/fetch2/crate.py b/poky/bitbake/lib/bb/fetch2/crate.py index f091200dd9..590dc9c126 100644 --- a/poky/bitbake/lib/bb/fetch2/crate.py +++ b/poky/bitbake/lib/bb/fetch2/crate.py @@ -33,7 +33,7 @@ class Crate(Wget): return ud.type in ['crate'] def recommends_checksum(self, urldata): - return False + return True def urldata_init(self, ud, d): """ @@ -56,8 +56,10 @@ class Crate(Wget): if len(parts) < 5: raise bb.fetch2.ParameterError("Invalid URL: Must be crate://HOST/NAME/VERSION", ud.url) - # last field is version - version = parts[len(parts) - 1] + # 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(";") # second to last field is name name = parts[len(parts) - 2] # host (this is to allow custom crate registries to be specified @@ -69,7 +71,8 @@ class Crate(Wget): ud.url = "https://%s/%s/%s/download" % (host, name, version) ud.parm['downloadfilename'] = "%s-%s.crate" % (name, version) - ud.parm['name'] = name + if 'name' not in ud.parm: + ud.parm['name'] = name logger.debug2("Fetching %s to %s" % (ud.url, ud.parm['downloadfilename'])) diff --git a/poky/bitbake/lib/bb/fetch2/git.py b/poky/bitbake/lib/bb/fetch2/git.py index 5bb8393133..2a3c06fe4e 100644 --- a/poky/bitbake/lib/bb/fetch2/git.py +++ b/poky/bitbake/lib/bb/fetch2/git.py @@ -367,9 +367,13 @@ class Git(FetchMethod): # If the repo still doesn't exist, fallback to cloning it if not os.path.exists(ud.clonedir): - # We do this since git will use a "-l" option automatically for local urls where possible + # We do this since git will use a "-l" option automatically for local urls where possible, + # but it doesn't work when git/objects is a symlink, only works when it is a directory. if repourl.startswith("file://"): - repourl = repourl[7:] + repourl_path = repourl[7:] + objects = os.path.join(repourl_path, 'objects') + if os.path.isdir(objects) and not os.path.islink(objects): + repourl = repourl_path clone_cmd = "LANG=C %s clone --bare --mirror %s %s --progress" % (ud.basecmd, shlex.quote(repourl), ud.clonedir) if ud.proto.lower() != 'file': bb.fetch2.check_network_access(d, clone_cmd, ud.url) @@ -733,11 +737,11 @@ class Git(FetchMethod): """ Compute the HEAD revision for the url """ - if not d.getVar("__BBSEENSRCREV"): + if not d.getVar("__BBSRCREV_SEEN"): raise bb.fetch2.FetchError("Recipe uses a floating tag/branch '%s' for repo '%s' without a fixed SRCREV yet doesn't call bb.fetch2.get_srcrev() (use SRCPV in PV for OE)." % (ud.unresolvedrev[name], ud.host+ud.path)) # Ensure we mark as not cached - bb.fetch2.get_autorev(d) + bb.fetch2.mark_recipe_nocache(d) output = self._lsremote(ud, d, "") # Tags of the form ^{} may not work, need to fallback to other form diff --git a/poky/bitbake/lib/bb/fetch2/local.py b/poky/bitbake/lib/bb/fetch2/local.py index 0bb987c644..5332faafe2 100644 --- a/poky/bitbake/lib/bb/fetch2/local.py +++ b/poky/bitbake/lib/bb/fetch2/local.py @@ -72,7 +72,7 @@ class Local(FetchMethod): filespath = d.getVar('FILESPATH') if filespath: locations = filespath.split(":") - msg = "Unable to find file " + urldata.url + " anywhere. The paths that were searched were:\n " + "\n ".join(locations) + msg = "Unable to find file " + urldata.url + " anywhere to download to " + urldata.localpath + ". The paths that were searched were:\n " + "\n ".join(locations) raise FetchError(msg) return True diff --git a/poky/bitbake/lib/bb/fetch2/sftp.py b/poky/bitbake/lib/bb/fetch2/sftp.py index f87f292e5d..7884cce949 100644 --- a/poky/bitbake/lib/bb/fetch2/sftp.py +++ b/poky/bitbake/lib/bb/fetch2/sftp.py @@ -103,7 +103,7 @@ class SFTP(FetchMethod): if path[:3] == '/~/': path = path[3:] - remote = '%s%s:%s' % (user, urlo.hostname, path) + remote = '"%s%s:%s"' % (user, urlo.hostname, path) cmd = '%s %s %s %s' % (basecmd, port, remote, lpath) diff --git a/poky/bitbake/lib/bb/fetch2/wget.py b/poky/bitbake/lib/bb/fetch2/wget.py index 859b4f99e2..dc88317610 100644 --- a/poky/bitbake/lib/bb/fetch2/wget.py +++ b/poky/bitbake/lib/bb/fetch2/wget.py @@ -369,15 +369,7 @@ class Wget(FetchMethod): with opener.open(r, timeout=30) as response: pass - except urllib.error.URLError as e: - if try_again: - logger.debug2("checkstatus: trying again") - return self.checkstatus(fetch, ud, d, False) - else: - # debug for now to avoid spamming the logs in e.g. remote sstate searches - logger.debug2("checkstatus() urlopen failed: %s" % e) - return False - except ConnectionResetError as e: + except (urllib.error.URLError, ConnectionResetError, TimeoutError) as e: if try_again: logger.debug2("checkstatus: trying again") return self.checkstatus(fetch, ud, d, False) diff --git a/poky/bitbake/lib/bb/parse/ast.py b/poky/bitbake/lib/bb/parse/ast.py index 375ba3cb79..6441c5cf7c 100644 --- a/poky/bitbake/lib/bb/parse/ast.py +++ b/poky/bitbake/lib/bb/parse/ast.py @@ -400,6 +400,9 @@ def finalize(fn, d, variant = None): d.setVar('BBINCLUDED', bb.parse.get_file_depends(d)) + if d.getVar('__BBAUTOREV_SEEN') and d.getVar('__BBSRCREV_SEEN') and not d.getVar("__BBAUTOREV_ACTED_UPON"): + bb.fatal("AUTOREV/SRCPV set too late for the fetcher to work properly, please set the variables earlier in parsing. Erroring instead of later obtuse build failures.") + bb.event.fire(bb.event.RecipeParsed(fn), d) finally: bb.event.set_handlers(saved_handlers) diff --git a/poky/bitbake/lib/bb/parse/parse_py/ConfHandler.py b/poky/bitbake/lib/bb/parse/parse_py/ConfHandler.py index 3076067287..05c627ec8b 100644 --- a/poky/bitbake/lib/bb/parse/parse_py/ConfHandler.py +++ b/poky/bitbake/lib/bb/parse/parse_py/ConfHandler.py @@ -21,7 +21,7 @@ __config_regexp__ = re.compile( r""" ^ (?P<exp>export\s+)? (?P<var>[a-zA-Z0-9\-_+.${}/~:]+?) - (\[(?P<flag>[a-zA-Z0-9\-_+.]+)\])? + (\[(?P<flag>[a-zA-Z0-9\-_+.][a-zA-Z0-9\-_+.@]+)\])? \s* ( (?P<colon>:=) | @@ -45,7 +45,7 @@ __include_regexp__ = re.compile( r"include\s+(.+)" ) __require_regexp__ = re.compile( r"require\s+(.+)" ) __export_regexp__ = re.compile( r"export\s+([a-zA-Z0-9\-_+.${}/~]+)$" ) __unset_regexp__ = re.compile( r"unset\s+([a-zA-Z0-9\-_+.${}/~]+)$" ) -__unset_flag_regexp__ = re.compile( r"unset\s+([a-zA-Z0-9\-_+.${}/~]+)\[([a-zA-Z0-9\-_+.]+)\]$" ) +__unset_flag_regexp__ = re.compile( r"unset\s+([a-zA-Z0-9\-_+.${}/~]+)\[([a-zA-Z0-9\-_+.][a-zA-Z0-9\-_+.@]+)\]$" ) __addpylib_regexp__ = re.compile(r"addpylib\s+(.+)\s+(.+)" ) def init(data): diff --git a/poky/bitbake/lib/bb/server/xmlrpcserver.py b/poky/bitbake/lib/bb/server/xmlrpcserver.py index 2e65dc34a9..04b0b17db1 100644 --- a/poky/bitbake/lib/bb/server/xmlrpcserver.py +++ b/poky/bitbake/lib/bb/server/xmlrpcserver.py @@ -118,7 +118,7 @@ class BitBakeXMLRPCServerCommands(): """ Run a cooker command on the server """ - return self.server.cooker.command.runCommand(command, self.server, self.server.readonly) + return self.server.cooker.command.runCommand(command, self.server.parent, self.server.readonly) def getEventHandle(self): return self.event_handle diff --git a/poky/bitbake/lib/bb/tests/fetch.py b/poky/bitbake/lib/bb/tests/fetch.py index 73eefc5938..da67168900 100644 --- a/poky/bitbake/lib/bb/tests/fetch.py +++ b/poky/bitbake/lib/bb/tests/fetch.py @@ -785,7 +785,7 @@ class FetcherLocalTest(FetcherTest): # Fetch and check revision self.d.setVar("SRCREV", "AUTOINC") - self.d.setVar("__BBSEENSRCREV", "1") + self.d.setVar("__BBSRCREV_SEEN", "1") url = "git://" + self.gitdir + ";branch=master;protocol=file;" + suffix fetcher = bb.fetch.Fetch([url], self.d) fetcher.download() @@ -1654,7 +1654,7 @@ class GitShallowTest(FetcherTest): self.d.setVar('BB_GIT_SHALLOW', '1') self.d.setVar('BB_GENERATE_MIRROR_TARBALLS', '0') self.d.setVar('BB_GENERATE_SHALLOW_TARBALLS', '1') - self.d.setVar("__BBSEENSRCREV", "1") + self.d.setVar("__BBSRCREV_SEEN", "1") def assertRefs(self, expected_refs, cwd=None): if cwd is None: @@ -2218,7 +2218,7 @@ class GitLfsTest(FetcherTest): self.d.setVar('SRCREV', '${AUTOREV}') self.d.setVar('AUTOREV', '${@bb.fetch2.get_autorev(d)}') - self.d.setVar("__BBSEENSRCREV", "1") + self.d.setVar("__BBSRCREV_SEEN", "1") bb.utils.mkdirhier(self.srcdir) self.git_init(cwd=self.srcdir) @@ -2377,6 +2377,13 @@ class CrateTest(FetcherTest): 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") + 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)), ['cargo_home', 'download' , 'unpacked']) @@ -2385,6 +2392,30 @@ 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_params(self): + + uri = "crate://crates.io/aho-corasick/0.7.20;name=aho-corasick-renamed" + 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"], "aho-corasick-renamed") + self.assertIn("downloadfilename", ud.parm) + self.assertEqual(ud.parm["downloadfilename"], "aho-corasick-0.7.20.crate") + + fetcher.download() + fetcher.unpack(self.tempdir) + self.assertEqual(sorted(os.listdir(self.tempdir)), ['cargo_home', 'download' , 'unpacked']) + self.assertEqual(sorted(os.listdir(self.tempdir + "/download")), ['aho-corasick-0.7.20.crate', 'aho-corasick-0.7.20.crate.done']) + self.assertTrue(os.path.exists(self.tempdir + "/cargo_home/bitbake/aho-corasick-0.7.20/.cargo-checksum.json")) + self.assertTrue(os.path.exists(self.tempdir + "/cargo_home/bitbake/aho-corasick-0.7.20/src/lib.rs")) + + @skipIfNoNetwork() def test_crate_url_multi(self): uri = "crate://crates.io/glob/0.2.11 crate://crates.io/time/0.1.35" @@ -2394,6 +2425,19 @@ class CrateTest(FetcherTest): 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") + self.assertIn("downloadfilename", ud.parm) + self.assertEqual(ud.parm["downloadfilename"], "glob-0.2.11.crate") + + ud = fetcher.ud[fetcher.urls[1]] + self.assertIn("name", ud.parm) + self.assertEqual(ud.parm["name"], "time") + self.assertIn("downloadfilename", ud.parm) + self.assertEqual(ud.parm["downloadfilename"], "time-0.1.35.crate") + fetcher.download() fetcher.unpack(self.tempdir) self.assertEqual(sorted(os.listdir(self.tempdir)), ['cargo_home', 'download' , 'unpacked']) @@ -2403,6 +2447,18 @@ class CrateTest(FetcherTest): self.assertTrue(os.path.exists(self.tempdir + "/cargo_home/bitbake/time-0.1.35/.cargo-checksum.json")) self.assertTrue(os.path.exists(self.tempdir + "/cargo_home/bitbake/time-0.1.35/src/lib.rs")) + @skipIfNoNetwork() + def test_crate_incorrect_cksum(self): + uri = "crate://crates.io/aho-corasick/0.7.20" + self.d.setVar('SRC_URI', uri) + self.d.setVarFlag("SRC_URI", "aho-corasick.sha256sum", hashlib.sha256("Invalid".encode("utf-8")).hexdigest()) + + uris = self.d.getVar('SRC_URI').split() + + fetcher = bb.fetch2.Fetch(uris, self.d) + with self.assertRaisesRegexp(bb.fetch2.FetchError, "Fetcher failure for URL"): + fetcher.download() + class NPMTest(FetcherTest): def skipIfNoNpm(): import shutil @@ -2912,7 +2968,7 @@ class GitSharedTest(FetcherTest): super(GitSharedTest, self).setUp() self.recipe_url = "git://git.openembedded.org/bitbake;branch=master" self.d.setVar('SRCREV', '82ea737a0b42a8b53e11c9cde141e9e9c0bd8c40') - self.d.setVar("__BBSEENSRCREV", "1") + self.d.setVar("__BBSRCREV_SEEN", "1") @skipIfNoNetwork() def test_shared_unpack(self): diff --git a/poky/bitbake/lib/bb/tests/parse.py b/poky/bitbake/lib/bb/tests/parse.py index ee7f2534f1..d27c7c6f15 100644 --- a/poky/bitbake/lib/bb/tests/parse.py +++ b/poky/bitbake/lib/bb/tests/parse.py @@ -218,3 +218,24 @@ VAR = " \\ with self.assertRaises(bb.BBHandledException): d = bb.parse.handle(f.name, self.d)[''] + + at_sign_in_var_flag = """ +A[flag@.service] = "nonet" +B[flag@.target] = "ntb" + +unset A[flag@.service] +""" + def test_parse_at_sign_in_var_flag(self): + f = self.parsehelper(self.at_sign_in_var_flag) + d = bb.parse.handle(f.name, self.d)[''] + self.assertEqual(d.getVar("A"), None) + self.assertEqual(d.getVar("B"), None) + self.assertEqual(d.getVarFlag("A","flag@.service"), None) + self.assertEqual(d.getVarFlag("B","flag@.target"), "ntb") + + def test_parse_invalid_at_sign_in_var_flag(self): + invalid_at_sign = self.at_sign_in_var_flag.replace("B[f", "B[@f") + f = self.parsehelper(invalid_at_sign) + with self.assertRaises(bb.parse.ParseError): + d = bb.parse.handle(f.name, self.d)[''] + diff --git a/poky/bitbake/lib/toaster/orm/fixtures/gen_fixtures.py b/poky/bitbake/lib/toaster/orm/fixtures/gen_fixtures.py index 69f557657a..71afe3914e 100755 --- a/poky/bitbake/lib/toaster/orm/fixtures/gen_fixtures.py +++ b/poky/bitbake/lib/toaster/orm/fixtures/gen_fixtures.py @@ -35,18 +35,19 @@ verbose = False # [Codename, Yocto Project Version, Release Date, Current Version, Support Level, Poky Version, BitBake branch] current_releases = [ # Release slot #1 - ['Kirkstone','4.0','April 2022','4.0.6 (December 2022)','Stable - Long Term Support (until Apr. 2024)','','2.0'], + ['Kirkstone','4.0','April 2022','4.0.8 (March 2023)','Stable - Long Term Support (until Apr. 2024)','','2.0'], # Release slot #2 'local' ['HEAD','HEAD','','Local Yocto Project','HEAD','','HEAD'], # Release slot #3 'master' ['Master','master','','Yocto Project master','master','','master'], # Release slot #4 - ['Langdale','4.1','October 2022','4.1.2 (January 2023)','Support for 7 months (until May 2023)','','2.2'], + ['Mickledore','4.2','April 2023','4.2.0 (April 2023)','Support for 7 months (until October 2023)','','2.4'], +# ['Langdale','4.1','October 2022','4.1.2 (January 2023)','Support for 7 months (until May 2023)','','2.2'], # ['Honister','3.4','October 2021','3.4.2 (February 2022)','Support for 7 months (until May 2022)','26.0','1.52'], # ['Hardknott','3.3','April 2021','3.3.5 (March 2022)','Stable - Support for 13 months (until Apr. 2022)','25.0','1.50'], # ['Gatesgarth','3.2','Oct 2020','3.2.4 (May 2021)','EOL','24.0','1.48'], # Optional Release slot #5 - ['Dunfell','3.1','April 2020','3.1.22 (January 2023)','Stable - Long Term Support (until Apr. 2024)','23.0','1.46'], + ['Dunfell','3.1','April 2020','3.1.23 (February 2023)','Stable - Long Term Support (until Apr. 2024)','23.0','1.46'], ] default_poky_layers = [ diff --git a/poky/bitbake/lib/toaster/orm/fixtures/oe-core.xml b/poky/bitbake/lib/toaster/orm/fixtures/oe-core.xml index 615e88aba1..950f2a98af 100644 --- a/poky/bitbake/lib/toaster/orm/fixtures/oe-core.xml +++ b/poky/bitbake/lib/toaster/orm/fixtures/oe-core.xml @@ -23,9 +23,9 @@ <field type="CharField" name="branch">master</field> </object> <object model="orm.bitbakeversion" pk="4"> - <field type="CharField" name="name">langdale</field> + <field type="CharField" name="name">mickledore</field> <field type="CharField" name="giturl">git://git.openembedded.org/bitbake</field> - <field type="CharField" name="branch">2.2</field> + <field type="CharField" name="branch">2.4</field> </object> <object model="orm.bitbakeversion" pk="5"> <field type="CharField" name="name">dunfell</field> @@ -56,11 +56,11 @@ <field type="TextField" name="helptext">Toaster will run your builds using the tip of the <a href=\"https://cgit.openembedded.org/openembedded-core/log/\">OpenEmbedded master</a> branch.</field> </object> <object model="orm.release" pk="4"> - <field type="CharField" name="name">langdale</field> - <field type="CharField" name="description">Openembedded Langdale</field> + <field type="CharField" name="name">mickledore</field> + <field type="CharField" name="description">Openembedded Mickledore</field> <field rel="ManyToOneRel" to="orm.bitbakeversion" name="bitbake_version">4</field> - <field type="CharField" name="branch_name">langdale</field> - <field type="TextField" name="helptext">Toaster will run your builds using the tip of the <a href=\"https://cgit.openembedded.org/openembedded-core/log/?h=langdale\">OpenEmbedded Langdale</a> branch.</field> + <field type="CharField" name="branch_name">mickledore</field> + <field type="TextField" name="helptext">Toaster will run your builds using the tip of the <a href=\"https://cgit.openembedded.org/openembedded-core/log/?h=mickledore\">OpenEmbedded Mickledore</a> branch.</field> </object> <object model="orm.release" pk="5"> <field type="CharField" name="name">dunfell</field> diff --git a/poky/bitbake/lib/toaster/orm/fixtures/poky.xml b/poky/bitbake/lib/toaster/orm/fixtures/poky.xml index 04e12f96fd..121e52fd45 100644 --- a/poky/bitbake/lib/toaster/orm/fixtures/poky.xml +++ b/poky/bitbake/lib/toaster/orm/fixtures/poky.xml @@ -26,9 +26,9 @@ <field type="CharField" name="dirpath">bitbake</field> </object> <object model="orm.bitbakeversion" pk="4"> - <field type="CharField" name="name">langdale</field> + <field type="CharField" name="name">mickledore</field> <field type="CharField" name="giturl">git://git.yoctoproject.org/poky</field> - <field type="CharField" name="branch">langdale</field> + <field type="CharField" name="branch">mickledore</field> <field type="CharField" name="dirpath">bitbake</field> </object> <object model="orm.bitbakeversion" pk="5"> @@ -62,11 +62,11 @@ <field type="TextField" name="helptext">Toaster will run your builds using the tip of the <a href="https://git.yoctoproject.org/cgit/cgit.cgi/poky/log/">Yocto Project Master branch</a>.</field> </object> <object model="orm.release" pk="4"> - <field type="CharField" name="name">langdale</field> - <field type="CharField" name="description">Yocto Project 4.1 "Langdale"</field> + <field type="CharField" name="name">mickledore</field> + <field type="CharField" name="description">Yocto Project 4.2 "Mickledore"</field> <field rel="ManyToOneRel" to="orm.bitbakeversion" name="bitbake_version">4</field> - <field type="CharField" name="branch_name">langdale</field> - <field type="TextField" name="helptext">Toaster will run your builds using the tip of the <a href="https://git.yoctoproject.org/cgit/cgit.cgi/poky/log/?h=langdale">Yocto Project Langdale branch</a>.</field> + <field type="CharField" name="branch_name">mickledore</field> + <field type="TextField" name="helptext">Toaster will run your builds using the tip of the <a href="https://git.yoctoproject.org/cgit/cgit.cgi/poky/log/?h=mickledore">Yocto Project Mickledore branch</a>.</field> </object> <object model="orm.release" pk="5"> <field type="CharField" name="name">dunfell</field> @@ -177,7 +177,7 @@ <field rel="ManyToOneRel" to="orm.layer" name="layer">1</field> <field type="IntegerField" name="layer_source">0</field> <field rel="ManyToOneRel" to="orm.release" name="release">4</field> - <field type="CharField" name="branch">langdale</field> + <field type="CharField" name="branch">mickledore</field> <field type="CharField" name="dirpath">meta</field> </object> <object model="orm.layer_version" pk="5"> @@ -222,7 +222,7 @@ <field rel="ManyToOneRel" to="orm.layer" name="layer">2</field> <field type="IntegerField" name="layer_source">0</field> <field rel="ManyToOneRel" to="orm.release" name="release">4</field> - <field type="CharField" name="branch">langdale</field> + <field type="CharField" name="branch">mickledore</field> <field type="CharField" name="dirpath">meta-poky</field> </object> <object model="orm.layer_version" pk="10"> @@ -267,7 +267,7 @@ <field rel="ManyToOneRel" to="orm.layer" name="layer">3</field> <field type="IntegerField" name="layer_source">0</field> <field rel="ManyToOneRel" to="orm.release" name="release">4</field> - <field type="CharField" name="branch">langdale</field> + <field type="CharField" name="branch">mickledore</field> <field type="CharField" name="dirpath">meta-yocto-bsp</field> </object> <object model="orm.layer_version" pk="15"> diff --git a/poky/documentation/README b/poky/documentation/README index c27ed86a33..e8aed86eb4 100644 --- a/poky/documentation/README +++ b/poky/documentation/README @@ -357,13 +357,16 @@ The sphinx.ext.intersphinx extension is enabled by default so that we can cross reference content from other Sphinx based documentation projects, such as the BitBake manual. -References to the BitBake manual can be done: +References to the BitBake manual can directly be done: - With a specific description instead of the section name: - :ref:`Azure Storage fetcher (az://) <bitbake:bitbake-user-manual/bitbake-user-manual-fetching:fetchers>` + :ref:`Azure Storage fetcher (az://) <bitbake-user-manual/bitbake-user-manual-fetching:fetchers>` - With the section name: - :ref:`bitbake:bitbake-user-manual/bitbake-user-manual-intro:usage and syntax` option - - Linking to the entire BitBake manual: - :doc:`BitBake User Manual <bitbake:index>` + :ref:`bitbake-user-manual/bitbake-user-manual-intro:usage and syntax` option + +If you want to refer to an entire document (or chapter) in the BitBake manual, +you have to use the ":doc:" macro with the "bitbake:" prefix: + - :doc:`BitBake User Manual <bitbake:index>` + - :doc:`bitbake:bitbake-user-manual/bitbake-user-manual-metadata`" chapter Note that a reference to a variable (:term:`VARIABLE`) automatically points to the BitBake manual if the variable is not described in the Reference Manual's Variable Glossary. @@ -372,6 +375,11 @@ BitBake manual as follows: :term:`bitbake:BB_NUMBER_PARSE_THREADS` +This would be the same if we had identical document filenames in +both the Yocto Project and BitBake manuals: + + :ref:`bitbake:directory/file:section title` + Submitting documentation changes ================================ diff --git a/poky/documentation/brief-yoctoprojectqs/index.rst b/poky/documentation/brief-yoctoprojectqs/index.rst index cfdd14ae4a..7b8baf233a 100644 --- a/poky/documentation/brief-yoctoprojectqs/index.rst +++ b/poky/documentation/brief-yoctoprojectqs/index.rst @@ -70,11 +70,9 @@ Build Host Packages You must install essential host packages on your build host. The following command installs the host packages based on an Ubuntu -distribution: +distribution:: -.. code-block:: shell - - $ sudo apt install &UBUNTU_HOST_PACKAGES_ESSENTIAL; + $ sudo apt install &UBUNTU_HOST_PACKAGES_ESSENTIAL; .. note:: @@ -262,7 +260,7 @@ an entire Linux distribution, including the toolchain, from source. For information on using the ``bitbake`` command, see the :ref:`overview-manual/concepts:bitbake` section in the Yocto Project Overview and Concepts Manual, or see - :ref:`bitbake:bitbake-user-manual/bitbake-user-manual-intro:the bitbake command` + :ref:`bitbake-user-manual/bitbake-user-manual-intro:the bitbake command` in the BitBake User Manual. #. **Simulate Your Image Using QEMU:** Once this particular image is diff --git a/poky/documentation/dev-manual/debugging.rst b/poky/documentation/dev-manual/debugging.rst index 9fb159eae6..3c5609cef5 100644 --- a/poky/documentation/dev-manual/debugging.rst +++ b/poky/documentation/dev-manual/debugging.rst @@ -108,7 +108,7 @@ Viewing Variable Values Sometimes you need to know the value of a variable as a result of BitBake's parsing step. This could be because some unexpected behavior occurred in your project. Perhaps an attempt to :ref:`modify a variable -<bitbake:bitbake-user-manual/bitbake-user-manual-metadata:modifying existing +<bitbake-user-manual/bitbake-user-manual-metadata:modifying existing variables>` did not work out as expected. BitBake's ``-e`` option is used to display variable values after @@ -282,15 +282,14 @@ Viewing Task Variable Dependencies ================================== As mentioned in the -":ref:`bitbake:bitbake-user-manual/bitbake-user-manual-execution:checksums (signatures)`" section of the BitBake -User Manual, BitBake tries to automatically determine what variables a -task depends on so that it can rerun the task if any values of the -variables change. This determination is usually reliable. However, if -you do things like construct variable names at runtime, then you might -have to manually declare dependencies on those variables using -``vardeps`` as described in the -":ref:`bitbake:bitbake-user-manual/bitbake-user-manual-metadata:variable flags`" section of the BitBake -User Manual. +":ref:`bitbake-user-manual/bitbake-user-manual-execution:checksums (signatures)`" +section of the BitBake User Manual, BitBake tries to automatically determine +what variables a task depends on so that it can rerun the task if any values of +the variables change. This determination is usually reliable. However, if you +do things like construct variable names at runtime, then you might have to +manually declare dependencies on those variables using ``vardeps`` as described +in the ":ref:`bitbake-user-manual/bitbake-user-manual-metadata:variable flags`" +section of the BitBake User Manual. If you are unsure whether a variable dependency is being picked up automatically for a given task, you can list the variable dependencies @@ -457,7 +456,7 @@ out), then you can use the ``-f`` option. The reason ``-f`` is never required when running the :ref:`ref-tasks-devshell` task is because the - [\ :ref:`nostamp <bitbake:bitbake-user-manual/bitbake-user-manual-metadata:variable flags>`\ ] + [\ :ref:`nostamp <bitbake-user-manual/bitbake-user-manual-metadata:variable flags>`\ ] variable flag is already set for the task. The following example shows one way you can use the ``-f`` option:: @@ -572,10 +571,10 @@ log to ``${T}/log.do_``\ `task`, and can also log to standard output - ``bb.note(msg)``: Writes "NOTE: msg" to the log. Also logs to stdout if BitBake is called with "-v". -- ``bb.debug(level, msg)``: Writes "DEBUG: msg" to the - log. Also logs to stdout if the log level is greater than or equal to - level. See the ":ref:`bitbake:bitbake-user-manual/bitbake-user-manual-intro:usage and syntax`" option - in the BitBake User Manual for more information. +- ``bb.debug(level, msg)``: Writes "DEBUG: msg" to the log. Also logs to + stdout if the log level is greater than or equal to level. See the + ":ref:`bitbake-user-manual/bitbake-user-manual-intro:usage and syntax`" + option in the BitBake User Manual for more information. - ``bb.warn(msg)``: Writes "WARNING: msg" to the log while also logging to stdout. diff --git a/poky/documentation/dev-manual/new-recipe.rst b/poky/documentation/dev-manual/new-recipe.rst index 1ed217be7f..4e74246a4e 100644 --- a/poky/documentation/dev-manual/new-recipe.rst +++ b/poky/documentation/dev-manual/new-recipe.rst @@ -257,15 +257,14 @@ located. For a graphical representation of source locations, see the ":ref:`overview-manual/concepts:sources`" section in the Yocto Project Overview and Concepts Manual. -The :ref:`ref-tasks-fetch` task uses -the prefix of each entry in the :term:`SRC_URI` variable value to determine -which :ref:`fetcher <bitbake:bitbake-user-manual/bitbake-user-manual-fetching:fetchers>` to use to get your -source files. It is the :term:`SRC_URI` variable that triggers the fetcher. -The :ref:`ref-tasks-patch` task uses -the variable after source is fetched to apply patches. The OpenEmbedded -build system uses -:term:`FILESOVERRIDES` for -scanning directory locations for local files in :term:`SRC_URI`. +The :ref:`ref-tasks-fetch` task uses the prefix of each entry in the +:term:`SRC_URI` variable value to determine which +:ref:`fetcher <bitbake-user-manual/bitbake-user-manual-fetching:fetchers>` +to use to get your source files. It is the :term:`SRC_URI` variable that triggers +the fetcher. The :ref:`ref-tasks-patch` task uses the variable after source is +fetched to apply patches. The OpenEmbedded build system uses +:term:`FILESOVERRIDES` for scanning directory locations for local files in +:term:`SRC_URI`. The :term:`SRC_URI` variable in your recipe must define each unique location for your source files. It is good practice to not hard-code version @@ -1422,12 +1421,9 @@ doing the following: do_configure[noexec] = "1" do_compile[noexec] = "1" - Unlike - :ref:`bitbake:bitbake-user-manual/bitbake-user-manual-metadata:deleting a task`, - using the flag preserves the dependency chain from the - :ref:`ref-tasks-fetch`, - :ref:`ref-tasks-unpack`, and - :ref:`ref-tasks-patch` tasks to the + Unlike :ref:`bitbake-user-manual/bitbake-user-manual-metadata:deleting a task`, + using the flag preserves the dependency chain from the :ref:`ref-tasks-fetch`, + :ref:`ref-tasks-unpack`, and :ref:`ref-tasks-patch` tasks to the :ref:`ref-tasks-install` task. - Make sure your :ref:`ref-tasks-install` task installs the binaries diff --git a/poky/documentation/dev-manual/packages.rst b/poky/documentation/dev-manual/packages.rst index 0c584c177a..90c52beb29 100644 --- a/poky/documentation/dev-manual/packages.rst +++ b/poky/documentation/dev-manual/packages.rst @@ -999,12 +999,12 @@ test. Here is what you have to do for each recipe: Creating Node Package Manager (NPM) Packages ============================================ -:wikipedia:`NPM <Npm_(software)>` is a package -manager for the JavaScript programming language. The Yocto Project -supports the NPM :ref:`fetcher <bitbake:bitbake-user-manual/bitbake-user-manual-fetching:fetchers>`. You can -use this fetcher in combination with -:doc:`devtool </ref-manual/devtool-reference>` to create -recipes that produce NPM packages. +:wikipedia:`NPM <Npm_(software)>` is a package manager for the JavaScript +programming language. The Yocto Project supports the NPM +:ref:`fetcher <bitbake-user-manual/bitbake-user-manual-fetching:fetchers>`. +You can use this fetcher in combination with +:doc:`devtool </ref-manual/devtool-reference>` to create recipes that produce +NPM packages. There are two workflows that allow you to create NPM packages using ``devtool``: the NPM registry modules method and the NPM project code diff --git a/poky/documentation/dev-manual/python-development-shell.rst b/poky/documentation/dev-manual/python-development-shell.rst index 1b213318a5..2dc6a3f138 100644 --- a/poky/documentation/dev-manual/python-development-shell.rst +++ b/poky/documentation/dev-manual/python-development-shell.rst @@ -27,7 +27,7 @@ functions:: pydevshell> bb.build.exec_func("do_unpack", d) pydevshell> -See the ":ref:`bitbake:bitbake-user-manual/bitbake-user-manual-metadata:functions you can call from within python`" +See the ":ref:`bitbake-user-manual/bitbake-user-manual-metadata:functions you can call from within python`" section in the BitBake User Manual for details about available functions. The commands execute just as if the OpenEmbedded build diff --git a/poky/documentation/kernel-dev/advanced.rst b/poky/documentation/kernel-dev/advanced.rst index a8734900a0..35195135c4 100644 --- a/poky/documentation/kernel-dev/advanced.rst +++ b/poky/documentation/kernel-dev/advanced.rst @@ -352,17 +352,15 @@ in the manual. Kernel Types ------------ -A kernel type defines a high-level kernel policy by aggregating -non-hardware configuration fragments with patches you want to use when -building a Linux kernel of a specific type (e.g. a real-time kernel). -Syntactically, kernel types are no different than features as described -in the ":ref:`kernel-dev/advanced:features`" section. The -:term:`LINUX_KERNEL_TYPE` -variable in the kernel recipe selects the kernel type. For example, in -the ``linux-yocto_4.12.bb`` kernel recipe found in -``poky/meta/recipes-kernel/linux``, a -:ref:`require <bitbake:bitbake-user-manual/bitbake-user-manual-metadata:\`\`require\`\` directive>` directive -includes the ``poky/meta/recipes-kernel/linux/linux-yocto.inc`` file, +A kernel type defines a high-level kernel policy by aggregating non-hardware +configuration fragments with patches you want to use when building a Linux +kernel of a specific type (e.g. a real-time kernel). Syntactically, kernel +types are no different than features as described in the +":ref:`kernel-dev/advanced:features`" section. The :term:`LINUX_KERNEL_TYPE` +variable in the kernel recipe selects the kernel type. For example, in the +``linux-yocto_4.12.bb`` kernel recipe found in ``poky/meta/recipes-kernel/linux``, a +:ref:`require <bitbake-user-manual/bitbake-user-manual-metadata:\`\`require\`\` directive>` +directive includes the ``poky/meta/recipes-kernel/linux/linux-yocto.inc`` file, which has the following statement that defines the default kernel type:: LINUX_KERNEL_TYPE ??= "standard" diff --git a/poky/documentation/migration-guides/migration-2.2.rst b/poky/documentation/migration-guides/migration-2.2.rst index 2d4f4d603e..5435835102 100644 --- a/poky/documentation/migration-guides/migration-2.2.rst +++ b/poky/documentation/migration-guides/migration-2.2.rst @@ -121,11 +121,10 @@ compared to uClibc. ``${B}`` No Longer Default Working Directory for Tasks ------------------------------------------------------ -``${``\ :term:`B`\ ``}`` is no longer the default working -directory for tasks. Consequently, any custom tasks you define now need -to either have the -``[``\ :ref:`dirs <bitbake:bitbake-user-manual/bitbake-user-manual-metadata:variable flags>`\ ``]`` flag -set, or the task needs to change into the appropriate working directory +``${``\ :term:`B`\ ``}`` is no longer the default working directory for tasks. +Consequently, any custom tasks you define now need to either have the +``[``\ :ref:`dirs <bitbake-user-manual/bitbake-user-manual-metadata:variable flags>`\ ``]`` +flag set, or the task needs to change into the appropriate working directory manually (e.g using ``cd`` for a shell task). .. note:: diff --git a/poky/documentation/migration-guides/migration-2.3.rst b/poky/documentation/migration-guides/migration-2.3.rst index 38117d41b4..60340b9592 100644 --- a/poky/documentation/migration-guides/migration-2.3.rst +++ b/poky/documentation/migration-guides/migration-2.3.rst @@ -198,9 +198,9 @@ The following changes took place for BitBake: fetcher passes the new parameter through the ``SVN_SSH`` environment variable during the :ref:`ref-tasks-fetch` task. - See the ":ref:`bitbake:bitbake-user-manual/bitbake-user-manual-fetching:subversion (svn) fetcher (\`\`svn://\`\`)`" - section in the BitBake - User Manual for additional information. + See the + ":ref:`bitbake-user-manual/bitbake-user-manual-fetching:subversion (svn) fetcher (\`\`svn://\`\`)`" + section in the BitBake User Manual for additional information. - ``BB_SETSCENE_VERIFY_FUNCTION`` and ``BB_SETSCENE_VERIFY_FUNCTION2`` Removed: Because the mechanism they were part of is no longer diff --git a/poky/documentation/migration-guides/migration-2.4.rst b/poky/documentation/migration-guides/migration-2.4.rst index 9637301a47..abad43acc3 100644 --- a/poky/documentation/migration-guides/migration-2.4.rst +++ b/poky/documentation/migration-guides/migration-2.4.rst @@ -286,7 +286,7 @@ The following are additional changes: - BitBake fires multiple "BuildStarted" events when multiconfig is enabled (one per configuration). For more information, see the - ":ref:`bitbake:bitbake-user-manual/bitbake-user-manual-metadata:events`" + ":ref:`bitbake-user-manual/bitbake-user-manual-metadata:events`" section in the BitBake User Manual. - By default, the ``security_flags.inc`` file sets a diff --git a/poky/documentation/migration-guides/migration-2.6.rst b/poky/documentation/migration-guides/migration-2.6.rst index 477714b489..dd21eb3baf 100644 --- a/poky/documentation/migration-guides/migration-2.6.rst +++ b/poky/documentation/migration-guides/migration-2.6.rst @@ -274,7 +274,7 @@ The following changes have occurred: specifying list items to remove, be aware that leading and trailing whitespace resulting from the removal is retained. - See the ":ref:`bitbake:bitbake-user-manual/bitbake-user-manual-metadata:removal (override style syntax)`" + See the ":ref:`bitbake-user-manual/bitbake-user-manual-metadata:removal (override style syntax)`" section in the BitBake User Manual for a detailed example. .. _migration-2.6-systemd-configuration-now-split-out-to-system-conf: diff --git a/poky/documentation/migration-guides/migration-3.4.rst b/poky/documentation/migration-guides/migration-3.4.rst index 076c589c8c..a80d43a86b 100644 --- a/poky/documentation/migration-guides/migration-3.4.rst +++ b/poky/documentation/migration-guides/migration-3.4.rst @@ -45,7 +45,7 @@ would now become:: BB_TASK_NICE_LEVEL:task-testimage = '0' This also applies to -:ref:`variable queries to the datastore <bitbake:bitbake-user-manual/bitbake-user-manual-metadata:functions for accessing datastore variables>`, +:ref:`variable queries to the datastore <bitbake-user-manual/bitbake-user-manual-metadata:functions for accessing datastore variables>`, for example using ``getVar`` and similar so ``d.getVar("RDEPENDS_${PN}")`` becomes ``d.getVar("RDEPENDS:${PN}")``. diff --git a/poky/documentation/migration-guides/migration-4.0.rst b/poky/documentation/migration-guides/migration-4.0.rst index 3106498404..2aa9145ef8 100644 --- a/poky/documentation/migration-guides/migration-4.0.rst +++ b/poky/documentation/migration-guides/migration-4.0.rst @@ -207,8 +207,8 @@ For the ``append`` plus ``+=`` (and ``prepend`` plus ``=+``) combinations, the content should be prefixed (respectively suffixed) by a space to maintain the same behavior. You can learn more about override style syntax operators (``append``, ``prepend`` and ``remove``) in the BitBake documentation: -:ref:`bitbake:bitbake-user-manual/bitbake-user-manual-metadata:appending and prepending (override style syntax)` -and :ref:`bitbake:bitbake-user-manual/bitbake-user-manual-metadata:removal (override style syntax)`. +:ref:`bitbake-user-manual/bitbake-user-manual-metadata:appending and prepending (override style syntax)` +and :ref:`bitbake-user-manual/bitbake-user-manual-metadata:removal (override style syntax)`. Miscellaneous changes ~~~~~~~~~~~~~~~~~~~~~ diff --git a/poky/documentation/migration-guides/release-4.0.rst b/poky/documentation/migration-guides/release-4.0.rst index 87ba768a22..2294265a46 100644 --- a/poky/documentation/migration-guides/release-4.0.rst +++ b/poky/documentation/migration-guides/release-4.0.rst @@ -14,3 +14,4 @@ Release 4.0 (kirkstone) release-notes-4.0.5 release-notes-4.0.6 release-notes-4.0.7 + release-notes-4.0.8 diff --git a/poky/documentation/migration-guides/release-4.1.rst b/poky/documentation/migration-guides/release-4.1.rst index 437832e3bf..dbca7c7e04 100644 --- a/poky/documentation/migration-guides/release-4.1.rst +++ b/poky/documentation/migration-guides/release-4.1.rst @@ -9,3 +9,4 @@ Release 4.1 (langdale) release-notes-4.1 release-notes-4.1.1 release-notes-4.1.2 + release-notes-4.1.3 diff --git a/poky/documentation/migration-guides/release-notes-4.0.8.rst b/poky/documentation/migration-guides/release-notes-4.0.8.rst new file mode 100644 index 0000000000..223b74fbaf --- /dev/null +++ b/poky/documentation/migration-guides/release-notes-4.0.8.rst @@ -0,0 +1,217 @@ +.. SPDX-License-Identifier: CC-BY-SA-2.0-UK + +Release notes for Yocto-4.0.8 (Kirkstone) +----------------------------------------- + +Security Fixes in Yocto-4.0.8 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +- apr-util: Fix :cve:`2022-25147` +- apr: Fix :cve:`2022-24963`, :cve:`2022-28331` and :cve:`2021-35940` +- bind: Fix :cve:`2022-3094`, :cve:`2022-3736` and :cve:`2022-3924` +- git: Ignore :cve:`2022-41953` +- git: Fix :cve:`2022-23521` and :cve:`2022-41903` +- libgit2: Fix :cve:`2023-22742` +- ppp: Fix :cve:`2022-4603` +- python3-certifi: Fix :cve:`2022-23491` +- sudo: Fix :cve:`2023-22809` +- tar: Fix :cve:`2022-48303` + + +Fixes in Yocto-4.0.8 +~~~~~~~~~~~~~~~~~~~~ + +- core-image.bbclass: Fix missing leading whitespace with ':append' +- populate_sdk_ext.bbclass: Fix missing leading whitespace with ':append' +- ptest-packagelists.inc: Fix missing leading whitespace with ':append' +- apr-util: upgrade to 1.6.3 +- apr: upgrade to 1.7.2 +- apt: fix do_package_qa failure +- bind: upgrade to 9.18.11 +- bitbake: bb/utils: include SSL certificate paths in export_proxies +- bitbake: bitbake-diffsigs: Make PEP8 compliant +- bitbake: bitbake-diffsigs: break on first dependent task difference +- bitbake: fetch2/git: Clarify the meaning of namespace +- bitbake: fetch2/git: Prevent git fetcher from fetching gitlab repository metadata +- bitbake: fetch2/git: show SRCREV and git repo in error message about fixed SRCREV +- bitbake: siggen: Fix inefficient string concatenation +- bitbake: utils/ply: Update md5 to better report errors with hashlib +- bootchart2: Fix usrmerge support +- bsp-guide: fix broken git URLs and missing word +- build-appliance-image: Update to kirkstone head revision +- buildtools-tarball: set pkg-config search path +- classes/fs-uuid: Fix command output decoding issue +- dev-manual: common-tasks.rst: add link to FOSDEM 2023 video +- dev-manual: fix old override syntax +- devshell: Do not add scripts/git-intercept to PATH +- devtool: fix devtool finish when gitmodules file is empty +- diffutils: upgrade to 3.9 +- gdk-pixbuf: do not use tools from gdk-pixbuf-native when building tests +- git: upgrade to 2.35.7 +- glslang: branch rename master -> main +- httpserver: add error handler that write to the logger +- image.bbclass: print all QA functions exceptions +- kernel/linux-kernel-base: Fix kernel build artefact determinism issues +- libc-locale: Fix on target locale generation +- libgit2: upgrade to 1.4.5 +- libjpeg-turbo: upgrade to 2.1.5 +- libtirpc: Check if file exists before operating on it +- libusb1: Link with latomic only if compiler has no atomic builtins +- libusb1: Strip trailing whitespaces +- linux-firmware: upgrade to 20230117 +- linux-yocto/5.15: update to v5.15.91 +- lsof: fix old override syntax +- lttng-modules: Fix for 5.10.163 kernel version +- lttng-tools: upgrade to 2.13.9 +- make-mod-scripts: Ensure kernel build output is deterministic +- manuals: update patchwork instance URL +- meta: remove True option to getVar and getVarFlag calls (again) +- migration-guides: add release-notes for 4.0.7 +- native: Drop special variable handling +- numactl: skip test case when target platform doesn't have 2 CPU node +- oeqa context.py: fix --target-ip comment to include ssh port number +- oeqa dump.py: add error counter and stop after 5 failures +- oeqa qemurunner.py: add timeout to QMP calls +- oeqa qemurunner.py: try to avoid reading one character at a time +- oeqa qemurunner: read more data at a time from serial +- oeqa ssh.py: add connection keep alive options to ssh client +- oeqa ssh.py: move output prints to new line +- oeqa/qemurunner: do not use Popen.poll() when terminating runqemu with a signal +- oeqa/selftest/bbtests: Update message lookup for test_git_unpack_nonetwork_fail +- oeqa/selftest/locales: Add selftest for locale generation/presence +- poky.conf: Update SANITY_TESTED_DISTROS to match autobuilder +- poky.conf: bump version for 4.0.8 +- profile-manual: update WireShark hyperlinks +- python3-pytest: depend on python3-tomli instead of python3-toml +- qemu: fix compile error +- quilt: fix intermittent failure in faildiff.test +- quilt: use upstreamed faildiff.test fix +- recipe_sanity: fix old override syntax +- ref-manual: document SSTATE_EXCLUDEDEPS_SYSROOT +- scons.bbclass: Make MAXLINELENGTH overridable +- scons: Pass MAXLINELENGTH to scons invocation +- sdkext/cases/devtool: pass a logger to HTTPService +- spirv-headers: set correct branch name +- sudo: upgrade to 1.9.12p2 +- system-requirements.rst: add Fedora 36 and AlmaLinux 8.7 to list of supported distros +- testimage: Fix error message to reflect new syntax +- update-alternatives: fix typos +- vulkan-samples: branch rename master -> main + + +Known Issues in Yocto-4.0.8 +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +- N/A + + +Contributors to Yocto-4.0.8 +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +- Alejandro Hernandez Samaniego +- Alexander Kanavin +- Alexandre Belloni +- Armin Kuster +- Arnout Vandecappelle +- Bruce Ashfield +- Changqing Li +- Chee Yang Lee +- Etienne Cordonnier +- Harald Seiler +- Kai Kang +- Khem Raj +- Lee Chee Yang +- Louis Rannou +- Marek Vasut +- Marius Kriegerowski +- Mark Hatle +- Martin Jansa +- Mauro Queiros +- Michael Opdenacker +- Mikko Rapeli +- Mingli Yu +- Narpat Mali +- Niko Mauno +- Pawel Zalewski +- Peter Kjellerstedt +- Richard Purdie +- Rodolfo Quesada Zumbado +- Ross Burton +- Sakib Sajal +- Schmidt, Adriaan +- Steve Sakoman +- Thomas Roos +- Ulrich Ölmann +- Xiangyu Chen + + +Repositories / Downloads for Yocto-4.0.8 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +poky + +- Repository Location: :yocto_git:`/poky` +- Branch: :yocto_git:`kirkstone </poky/log/?h=kirkstone>` +- Tag: :yocto_git:`yocto-4.0.8 </poky/log/?h=yocto-4.0.8>` +- Git Revision: :yocto_git:`a361fb3df9c87cf12963a9d785a9f99faa839222 </poky/commit/?id=a361fb3df9c87cf12963a9d785a9f99faa839222>` +- Release Artefact: poky-a361fb3df9c87cf12963a9d785a9f99faa839222 +- sha: af4e8d64be27d3a408357c49b7952ce04c6d8bb0b9d7b50c48848d9355de7fc2 +- Download Locations: + http://downloads.yoctoproject.org/releases/yocto/yocto-4.0.8/poky-a361fb3df9c87cf12963a9d785a9f99faa839222.tar.bz2 + http://mirrors.kernel.org/yocto/yocto/yocto-4.0.8/poky-a361fb3df9c87cf12963a9d785a9f99faa839222.tar.bz2 + +openembedded-core + +- Repository Location: :oe_git:`/openembedded-core` +- Branch: :oe_git:`kirkstone </openembedded-core/log/?h=kirkstone>` +- Tag: :oe_git:`yocto-4.0.8 </openembedded-core/log/?h=yocto-4.0.8>` +- Git Revision: :oe_git:`b20e2134daec33fbb8ce358d984751d887752bd5 </openembedded-core/commit/?id=b20e2134daec33fbb8ce358d984751d887752bd5>` +- Release Artefact: oecore-b20e2134daec33fbb8ce358d984751d887752bd5 +- sha: 63cce6f1caf8428eefc1471351ab024affc8a41d8d7777f525e3aa9ea454d2cd +- Download Locations: + http://downloads.yoctoproject.org/releases/yocto/yocto-4.0.8/oecore-b20e2134daec33fbb8ce358d984751d887752bd5.tar.bz2 + http://mirrors.kernel.org/yocto/yocto/yocto-4.0.8/oecore-b20e2134daec33fbb8ce358d984751d887752bd5.tar.bz2 + +meta-mingw + +- Repository Location: :yocto_git:`/meta-mingw` +- Branch: :yocto_git:`kirkstone </meta-mingw/log/?h=kirkstone>` +- Tag: :yocto_git:`yocto-4.0.8 </meta-mingw/log/?h=yocto-4.0.8>` +- Git Revision: :yocto_git:`a90614a6498c3345704e9611f2842eb933dc51c1 </meta-mingw/commit/?id=a90614a6498c3345704e9611f2842eb933dc51c1>` +- Release Artefact: meta-mingw-a90614a6498c3345704e9611f2842eb933dc51c1 +- sha: 49f9900bfbbc1c68136f8115b314e95d0b7f6be75edf36a75d9bcd1cca7c6302 +- Download Locations: + http://downloads.yoctoproject.org/releases/yocto/yocto-4.0.8/meta-mingw-a90614a6498c3345704e9611f2842eb933dc51c1.tar.bz2 + http://mirrors.kernel.org/yocto/yocto/yocto-4.0.8/meta-mingw-a90614a6498c3345704e9611f2842eb933dc51c1.tar.bz2 + +meta-gplv2 + +- Repository Location: :yocto_git:`/meta-gplv2` +- Branch: :yocto_git:`kirkstone </meta-gplv2/log/?h=kirkstone>` +- Tag: :yocto_git:`yocto-4.0.8 </meta-gplv2/log/?h=yocto-4.0.8>` +- Git Revision: :yocto_git:`d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a </meta-gplv2/commit/?id=d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a>` +- Release Artefact: meta-gplv2-d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a +- sha: c386f59f8a672747dc3d0be1d4234b6039273d0e57933eb87caa20f56b9cca6d +- Download Locations: + http://downloads.yoctoproject.org/releases/yocto/yocto-4.0.8/meta-gplv2-d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a.tar.bz2 + http://mirrors.kernel.org/yocto/yocto/yocto-4.0.8/meta-gplv2-d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a.tar.bz2 + +bitbake + +- Repository Location: :oe_git:`/bitbake` +- Branch: :oe_git:`2.0 </bitbake/log/?h=2.0>` +- Tag: :oe_git:`yocto-4.0.8 </bitbake/log/?h=yocto-4.0.8>` +- Git Revision: :oe_git:`9bbdedc0ba7ca819b898e2a29a151d6a2014ca11 </bitbake/commit/?id=9bbdedc0ba7ca819b898e2a29a151d6a2014ca11>` +- Release Artefact: bitbake-9bbdedc0ba7ca819b898e2a29a151d6a2014ca11 +- sha: 8e724411f4df00737e81b33eb568f1f97d2a00d5364342c0a212c46abb7b005b +- Download Locations: + http://downloads.yoctoproject.org/releases/yocto/yocto-4.0.8/bitbake-9bbdedc0ba7ca819b898e2a29a151d6a2014ca11.tar.bz2 + http://mirrors.kernel.org/yocto/yocto/yocto-4.0.8/bitbake-9bbdedc0ba7ca819b898e2a29a151d6a2014ca11.tar.bz2 + +yocto-docs + +- Repository Location: :yocto_git:`/yocto-docs` +- Branch: :yocto_git:`kirkstone </yocto-docs/log/?h=kirkstone>` +- Tag: :yocto_git:`yocto-4.0.8 </yocto-docs/log/?h=yocto-4.0.8>` +- Git Revision: :yocto_git:`16ecbe028f2b9cc021267817a5413054e070b563 </yocto-docs/commit/?id=16ecbe028f2b9cc021267817a5413054e070b563>` + diff --git a/poky/documentation/migration-guides/release-notes-4.0.rst b/poky/documentation/migration-guides/release-notes-4.0.rst index 563113b4db..6eb5f807de 100644 --- a/poky/documentation/migration-guides/release-notes-4.0.rst +++ b/poky/documentation/migration-guides/release-notes-4.0.rst @@ -115,7 +115,7 @@ New Features / Enhancements in 4.0 - Fetcher enhancements: - - New :ref:`bitbake:bitbake-user-manual/bitbake-user-manual-fetching:crate fetcher (\`\`crate://\`\`)` for Rust packages + - New :ref:`bitbake-user-manual/bitbake-user-manual-fetching:crate fetcher (\`\`crate://\`\`)` for Rust packages - Added striplevel support to unpack - git: Add a warning asking users to set a branch in git urls - git: Allow git fetcher to support subdir param diff --git a/poky/documentation/migration-guides/release-notes-4.1.3.rst b/poky/documentation/migration-guides/release-notes-4.1.3.rst new file mode 100644 index 0000000000..16e0a40426 --- /dev/null +++ b/poky/documentation/migration-guides/release-notes-4.1.3.rst @@ -0,0 +1,317 @@ +.. SPDX-License-Identifier: CC-BY-SA-2.0-UK + +Release notes for Yocto-4.1.3 (Langdale) +---------------------------------------- + +Security Fixes in Yocto-4.1.3 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +- apr-util: Fix :cve:`2022-25147` +- apr: Fix :cve:`2022-24963` and :cve:`2022-28331` +- bind: Fix :cve:`2022-3094`, :cve:`2022-3736` and :cve:`2022-3924` +- curl: Fix :cve:`2022-43551` and :cve:`2022-43552` +- dbus: Fix :cve:`2022-42010`, :cve:`2022-42011` and :cve:`2022-42012` +- git: Fix :cve:`2022-23521`, :cve:`2022-39253`, :cve:`2022-39260` and :cve:`2022-41903` +- git: Ignore :cve:`2022-41953` +- go: Fix :cve:`2022-41717` and :cve:`2022-41720` +- grub2: Fix :cve:`2022-2601` and :cve:`2022-3775` +- less: Fix :cve:`2022-46663` +- libarchive: Fix :cve:`2022-36227` +- libksba: Fix :cve:`2022-47629` +- openssl: Fix :cve:`2022-3996` +- pkgconf: Fix :cve:`2023-24056` +- ppp: Fix :cve:`2022-4603` +- sudo: Fix :cve:`2023-22809` +- tar: Fix :cve:`2022-48303` +- vim: Fix :cve:`2023-0049`, :cve:`2023-0051`, :cve:`2023-0054`, :cve:`2023-0288`, :cve:`2023-0433` and :cve:`2023-0512` +- xserver-xorg: Fix `CVE-2023-0494 <https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-0494>`__ +- xwayland: Fix `CVE-2023-0494 <https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-0494>`__ + + +Fixes in Yocto-4.1.3 +~~~~~~~~~~~~~~~~~~~~ + +- apr-util: Upgrade to 1.6.3 +- apr: Upgrade to 1.7.2 +- apt: fix do_package_qa failure +- at: Change when files are copied +- base.bbclass: Fix way to check ccache path +- bblayers/makesetup: skip git repos that are submodules +- bblayers/setupwriters/oe-setup-layers: create dir if not exists +- bind: Upgrade to 9.18.11 +- bitbake-layers: fix a typo +- bitbake: bb/utils: include SSL certificate paths in export_proxies +- bitbake: fetch2/git: Clarify the meaning of namespace +- bitbake: fetch2/git: Prevent git fetcher from fetching gitlab repository metadata +- bitbake: process: log odd unlink events with bitbake.sock +- bitbake: server/process: Add bitbake.sock race handling +- bitbake: siggen: Fix inefficient string concatenation +- bootchart2: Fix usrmerge support +- bsp-guide: fix broken git URLs and missing word +- build-appliance-image: Update to langdale head revision +- buildtools-tarball: set pkg-config search path +- busybox: Fix depmod patch +- busybox: always start do_compile with orig config files +- busybox: rm temporary files if do_compile was interrupted +- cairo: fix CVE patches assigned wrong CVE number +- classes/fs-uuid: Fix command output decoding issue +- classes/populate_sdk_base: Append cleandirs +- classes: image: Set empty weak default IMAGE_LINGUAS +- cml1: remove redundant addtask +- core-image.bbclass: Fix missing leading whitespace with ':append' +- createrepo-c: Include missing rpm/rpmstring.h +- curl: don't enable debug builds +- curl: fix dependencies when building with ldap/ldaps +- cve-check: write the cve manifest to IMGDEPLOYDIR +- cve-update-db-native: avoid incomplete updates +- cve-update-db-native: show IP on failure +- dbus: Upgrade to 1.14.6 +- dev-manual: common-tasks.rst: add link to FOSDEM 2023 video +- dev-manual: fix old override syntax +- devshell: Do not add scripts/git-intercept to PATH +- devtool: fix devtool finish when gitmodules file is empty +- devtool: process local files only for the main branch +- dhcpcd: backport two patches to fix runtime error +- dhcpcd: fix dhcpcd start failure on qemuppc64 +- diffutils: Upgrade to 3.9 +- ffmpeg: fix configure failure on noexec /tmp host +- gdk-pixbuf: do not use tools from gdk-pixbuf-native when building tests +- git: Upgrade to 2.37.6 +- glslang: branch rename master -> main +- go: Upgrade to 1.19.4 +- gstreamer1.0 : Revert "disable flaky gstbin:test_watch_for_state_change test" and Fix race conditions in gstbin tests with upstream solution +- harfbuzz: remove bindir only if it exists +- httpserver: add error handler that write to the logger +- image.bbclass: print all QA functions exceptions +- kernel-fitimage: Adjust order of dtb/dtbo files +- kernel-fitimage: Allow user to select dtb when multiple dtb exists +- kernel-yocto: fix kernel-meta data detection +- kernel/linux-kernel-base: Fix kernel build artefact determinism issues +- lib/buildstats: handle tasks that never finished +- lib/oe/reproducible: Use git log without gpg signature +- libarchive: Upgrade to 3.6.2 +- libc-locale: Fix on target locale generation +- libgit2: Upgrade to 1.5.1 +- libjpeg-turbo: Upgrade to 2.1.5.1 +- libksba: Upgrade to 1.6.3 +- libpng: Enable NEON for aarch64 to enensure consistency with arm32. +- librsvg: Only enable the Vala bindings if GObject Introspection is enabled +- librsvg: enable vapi build +- libseccomp: fix for the ptest result format +- libseccomp: fix typo in DESCRIPTION +- libssh2: Clean up ptest patch/coverage +- libtirpc: Check if file exists before operating on it +- libusb1: Link with latomic only if compiler has no atomic builtins +- libusb1: Strip trailing whitespaces +- linux-firmware: add yamato fw files to qcom-adreno-a2xx package +- linux-firmware: properly set license for all Qualcomm firmware +- linux-firmware: Upgrade to 20230210 +- linux-yocto/5.15: fix perf build with clang +- linux-yocto/5.15: libbpf: Fix build warning on ref_ctr_off +- linux-yocto/5.15: ltp and squashfs fixes +- linux-yocto/5.15: powerpc: Fix reschedule bug in KUAP-unlocked user copy +- linux-yocto/5.15: Upgrade to v5.15.91 +- linux-yocto/5.19: fix perf build with clang +- linux-yocto/5.19: powerpc: Fix reschedule bug in KUAP-unlocked user copy +- lsof: fix old override syntax +- lttng-modules: Fix for 5.10.163 kernel version +- lttng-modules: fix for kernel 6.2+ +- lttng-modules: Upgrade to 2.13.8 +- lttng-tools: Upgrade to 2.13.9 +- make-mod-scripts: Ensure kernel build output is deterministic +- manuals: update patchwork instance URL +- mesa-gl: gallium is required when enabling x11 +- meta: remove True option to getVar and getVarFlag calls (again) +- migration-guides: add release-notes for 4.0.7 +- native: Drop special variable handling +- numactl: skip test case when target platform doesn't have 2 CPU node +- oeqa context.py: fix --target-ip comment to include ssh port number +- oeqa dump.py: add error counter and stop after 5 failures +- oeqa qemurunner.py: add timeout to QMP calls +- oeqa qemurunner.py: try to avoid reading one character at a time +- oeqa qemurunner: read more data at a time from serial +- oeqa ssh.py: add connection keep alive options to ssh client +- oeqa ssh.py: fix hangs in run() +- oeqa ssh.py: move output prints to new line +- oeqa/qemurunner: do not use Popen.poll() when terminating runqemu with a signal +- oeqa/rpm.py: Increase timeout and add debug output +- oeqa/selftest/debuginfod: improve testcase +- oeqa/selftest/locales: Add selftest for locale generation/presence +- oeqa/selftest/resulttooltests: fix minor typo +- openssl: Upgrade to 3.0.8 +- opkg: ensure opkg uses private gpg.conf when applying keys. +- pango: Upgrade to 1.50.12 +- perf: Enable debug/source packaging +- pkgconf: Upgrade to 1.9.4 +- poky.conf: Update SANITY_TESTED_DISTROS to match autobuilder +- poky.conf: bump version for 4.1.3 +- populate_sdk_ext.bbclass: Fix missing leading whitespace with ':append' +- profile-manual: update WireShark hyperlinks +- ptest-packagelists.inc: Fix missing leading whitespace with ':append' +- python3-pytest: depend on python3-tomli instead of python3-toml +- quilt: fix intermittent failure in faildiff.test +- quilt: use upstreamed faildiff.test fix +- recipe_sanity: fix old override syntax +- ref-manual: Fix invalid feature name +- ref-manual: update DEV_PKG_DEPENDENCY in variables +- ref-manual: variables.rst: fix broken hyperlink +- rm_work.bbclass: use HOSTTOOLS 'rm' binary exclusively +- runqemu: kill qemu if it hangs +- rust: Do not use default compiler flags defined in CC crate +- scons.bbclass: Make MAXLINELENGTH overridable +- scons: Pass MAXLINELENGTH to scons invocation +- sdkext/cases/devtool: pass a logger to HTTPService +- selftest/virgl: use pkg-config from the host +- spirv-headers/spirv-tools: set correct branch name +- sstate.bbclass: Fetch non-existing local .sig files if needed +- sstatesig: Improve output hash calculation +- sudo: Upgrade to 1.9.12p2 +- system-requirements.rst: Add Fedora 36, AlmaLinux 8.7 & 9.1, and OpenSUSE 15.4 to list of supported distros +- testimage: Fix error message to reflect new syntax +- tiff: Add packageconfig knob for webp +- toolchain-scripts: compatibility with unbound variable protection +- uninative: Upgrade to 3.8.1 to include libgcc +- update-alternatives: fix typos +- vim: Upgrade to 9.0.1293 +- vulkan-samples: branch rename master -> main +- wic: Fix usage of fstype=none in wic +- wireless-regdb: Upgrade to 2023.02.13 +- xserver-xorg: Upgrade to 21.1.7 +- xwayland: Upgrade to 22.1.8 + + +Known Issues in Yocto-4.1.3 +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +- N/A + + +Contributors to Yocto-4.1.3 +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +- Adrian Freihofer +- Alejandro Hernandez Samaniego +- Alex Kiernan +- Alexander Kanavin +- Alexis Lothoré +- Anton Antonov +- Antonin Godard +- Armin Kuster +- Arnout Vandecappelle +- Benoît Mauduit +- Bruce Ashfield +- Carlos Alberto Lopez Perez +- Changqing Li +- Charlie Johnston +- Chee Yang Lee +- Chen Qi +- Dmitry Baryshkov +- Enguerrand de Ribaucourt +- Etienne Cordonnier +- Fawzi KHABER +- Federico Pellegrin +- Frank de Brabander +- Harald Seiler +- He Zhe +- Jan Kircher +- Jermain Horsman +- Jose Quaresma +- Joshua Watt +- Kai Kang +- Khem Raj +- Lei Maohui +- Louis Rannou +- Luis +- Marek Vasut +- Markus Volk +- Marta Rybczynska +- Martin Jansa +- Mateusz Marciniec +- Mauro Queiros +- Michael Halstead +- Michael Opdenacker +- Mikko Rapeli +- Mingli Yu +- Narpat Mali +- Niko Mauno +- Pavel Zhukov +- Pawel Zalewski +- Peter Kjellerstedt +- Petr Kubizňák +- Quentin Schulz +- Randy MacLeod +- Richard Purdie +- Robert Joslyn +- Rodolfo Quesada Zumbado +- Ross Burton +- Sakib Sajal +- Sandeep Gundlupet Raju +- Saul Wold +- Siddharth Doshi +- Steve Sakoman +- Thomas Roos +- Tobias Hagelborn +- Ulrich Ölmann +- Vivek Kumbhar +- Wang Mingyu +- Xiangyu Chen + + +Repositories / Downloads for Yocto-4.1.3 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +poky + +- Repository Location: :yocto_git:`/poky` +- Branch: :yocto_git:`langdale </poky/log/?h=langdale>` +- Tag: :yocto_git:`yocto-4.1.3 </poky/log/?h=yocto-4.1.3>` +- Git Revision: :yocto_git:`91d0157d6daf4ea61d6b4e090c0b682d3f3ca60f </poky/commit/?id=91d0157d6daf4ea61d6b4e090c0b682d3f3ca60f>` +- Release Artefact: poky-91d0157d6daf4ea61d6b4e090c0b682d3f3ca60f +- sha: 94e4615eba651fe705436b29b854458be050cc39db936295f9d5eb7e85d3eff1 +- Download Locations: + http://downloads.yoctoproject.org/releases/yocto/yocto-4.1.3/poky-91d0157d6daf4ea61d6b4e090c0b682d3f3ca60f.tar.bz2 + http://mirrors.kernel.org/yocto/yocto/yocto-4.1.3/poky-91d0157d6daf4ea61d6b4e090c0b682d3f3ca60f.tar.bz2 + +openembedded-core + +- Repository Location: :oe_git:`/openembedded-core` +- Branch: :oe_git:`langdale </openembedded-core/log/?h=langdale>` +- Tag: :oe_git:`yocto-4.1.3 </openembedded-core/log/?h=yocto-4.1.3>` +- Git Revision: :oe_git:`b995ea45773211bd7bdd60eabcc9bbffda6beb5c </openembedded-core/commit/?id=b995ea45773211bd7bdd60eabcc9bbffda6beb5c>` +- Release Artefact: oecore-b995ea45773211bd7bdd60eabcc9bbffda6beb5c +- sha: 952e19361f205ee91b74e5caaa835d58fa6dd0d92ddaed50d4cd3f3fa56fab63 +- Download Locations: + http://downloads.yoctoproject.org/releases/yocto/yocto-4.1.3/oecore-b995ea45773211bd7bdd60eabcc9bbffda6beb5c.tar.bz2 + http://mirrors.kernel.org/yocto/yocto/yocto-4.1.3/oecore-b995ea45773211bd7bdd60eabcc9bbffda6beb5c.tar.bz2 + +meta-mingw + +- Repository Location: :yocto_git:`/meta-mingw` +- Branch: :yocto_git:`langdale </meta-mingw/log/?h=langdale>` +- Tag: :yocto_git:`yocto-4.1.3 </meta-mingw/log/?h=yocto-4.1.3>` +- Git Revision: :yocto_git:`b0067202db8573df3d23d199f82987cebe1bee2c </meta-mingw/commit/?id=b0067202db8573df3d23d199f82987cebe1bee2c>` +- Release Artefact: meta-mingw-b0067202db8573df3d23d199f82987cebe1bee2c +- sha: 704f2940322b81ce774e9cbd27c3cfa843111d497dc7b1eeaa39cd694d9a2366 +- Download Locations: + http://downloads.yoctoproject.org/releases/yocto/yocto-4.1.3/meta-mingw-b0067202db8573df3d23d199f82987cebe1bee2c.tar.bz2 + http://mirrors.kernel.org/yocto/yocto/yocto-4.1.3/meta-mingw-b0067202db8573df3d23d199f82987cebe1bee2c.tar.bz2 + +bitbake + +- Repository Location: :oe_git:`/bitbake` +- Branch: :oe_git:`2.2 </bitbake/log/?h=2.2>` +- Tag: :oe_git:`yocto-4.1.3 </bitbake/log/?h=yocto-4.1.3>` +- Git Revision: :oe_git:`592ee222a1c6da42925fb56801f226884b6724ec </bitbake/commit/?id=592ee222a1c6da42925fb56801f226884b6724ec>` +- Release Artefact: bitbake-592ee222a1c6da42925fb56801f226884b6724ec +- sha: 79c32f2ca66596132e32a45654ce0e9dd42b6b39186eff3540a9d6b499fe952c +- Download Locations: + http://downloads.yoctoproject.org/releases/yocto/yocto-4.1.3/bitbake-592ee222a1c6da42925fb56801f226884b6724ec.tar.bz2 + http://mirrors.kernel.org/yocto/yocto/yocto-4.1.3/bitbake-592ee222a1c6da42925fb56801f226884b6724ec.tar.bz2 + +yocto-docs + +- Repository Location: :yocto_git:`/yocto-docs` +- Branch: :yocto_git:`langdale </yocto-docs/log/?h=langdale>` +- Tag: :yocto_git:`yocto-4.1.3 </yocto-docs/log/?h=yocto-4.1.3>` +- Git Revision: :yocto_git:`3de2ad1f8ff87aeec30088779267880306a0f31a </yocto-docs/commit/?id=3de2ad1f8ff87aeec30088779267880306a0f31a>` + diff --git a/poky/documentation/overview-manual/concepts.rst b/poky/documentation/overview-manual/concepts.rst index 4cee4bb169..e7551149a1 100644 --- a/poky/documentation/overview-manual/concepts.rst +++ b/poky/documentation/overview-manual/concepts.rst @@ -69,12 +69,10 @@ type the following:: $ bitbake matchbox-desktop -Several different -versions of ``matchbox-desktop`` might exist. BitBake chooses the one -selected by the distribution configuration. You can get more details -about how BitBake chooses between different target versions and -providers in the -":ref:`bitbake:bitbake-user-manual/bitbake-user-manual-execution:preferences`" section +Several different versions of ``matchbox-desktop`` might exist. BitBake chooses +the one selected by the distribution configuration. You can get more details +about how BitBake chooses between different target versions and providers in the +":ref:`bitbake-user-manual/bitbake-user-manual-execution:preferences`" section of the BitBake User Manual. BitBake also tries to execute any dependent tasks first. So for example, @@ -570,13 +568,11 @@ Source Control Managers (Optional) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Another place from which the build system can get source files is with -:ref:`bitbake:bitbake-user-manual/bitbake-user-manual-fetching:fetchers` employing various Source -Control Managers (SCMs) such as Git or Subversion. In such cases, a -repository is cloned or checked out. The -:ref:`ref-tasks-fetch` task inside -BitBake uses the :term:`SRC_URI` -variable and the argument's prefix to determine the correct fetcher -module. +:ref:`bitbake-user-manual/bitbake-user-manual-fetching:fetchers` employing +various Source Control Managers (SCMs) such as Git or Subversion. In such +cases, a repository is cloned or checked out. The :ref:`ref-tasks-fetch` task +inside BitBake uses the :term:`SRC_URI` variable and the argument's prefix to +determine the correct fetcher module. .. note:: @@ -680,7 +676,7 @@ closer look at each of those areas. .. note:: Documentation for the BitBake tool is available separately. See the - BitBake User Manual + :doc:`BitBake User Manual <bitbake:index>` for reference material on BitBake. Source Fetching @@ -1145,7 +1141,7 @@ Since :term:`STAMPS_DIR` is usually a subdirectory of :term:`TMPDIR`, removing properly be rerun to repopulate :term:`TMPDIR`. If you want some task to always be considered "out of date", you can -mark it with the :ref:`nostamp <bitbake:bitbake-user-manual/bitbake-user-manual-metadata:variable flags>` +mark it with the :ref:`nostamp <bitbake-user-manual/bitbake-user-manual-metadata:variable flags>` varflag. If some other task depends on such a task, then that task will also always be considered out of date, which might not be what you want. @@ -1811,19 +1807,18 @@ The following list explains the previous example: } addtask do_deploy_setscene - ``sstate_setscene()`` takes the flags above as input and accelerates the :ref:`ref-tasks-deploy` task - through the shared state cache if possible. If the task was - accelerated, ``sstate_setscene()`` returns True. Otherwise, it - returns False, and the normal :ref:`ref-tasks-deploy` task runs. For more - information, see the ":ref:`bitbake:bitbake-user-manual/bitbake-user-manual-execution:setscene`" - section in the BitBake User Manual. + ``sstate_setscene()`` takes the flags above as input and accelerates the + :ref:`ref-tasks-deploy` task through the shared state cache if possible. If + the task was accelerated, ``sstate_setscene()`` returns True. Otherwise, it + returns False, and the normal :ref:`ref-tasks-deploy` task runs. For more + information, see the ":ref:`bitbake-user-manual/bitbake-user-manual-execution:setscene`" + section in the BitBake User Manual. -- The ``do_deploy[dirs] = "${DEPLOYDIR} ${B}"`` line creates - ``${DEPLOYDIR}`` and ``${B}`` before the :ref:`ref-tasks-deploy` task runs, and - also sets the current working directory of :ref:`ref-tasks-deploy` to ``${B}``. - For more information, see the ":ref:`bitbake:bitbake-user-manual/bitbake-user-manual-metadata:variable flags`" - section in the BitBake - User Manual. +- The ``do_deploy[dirs] = "${DEPLOYDIR} ${B}"`` line creates ``${DEPLOYDIR}`` + and ``${B}`` before the :ref:`ref-tasks-deploy` task runs, and also sets the + current working directory of :ref:`ref-tasks-deploy` to ``${B}``. For more + information, see the ":ref:`bitbake-user-manual/bitbake-user-manual-metadata:variable flags`" + section in the BitBake User Manual. .. note:: @@ -1835,12 +1830,10 @@ The following list explains the previous example: do_package[sstate-plaindirs] = "${PKGD} ${PKGDEST}" -- The ``do_deploy[stamp-extra-info] = "${MACHINE_ARCH}"`` line appends - extra metadata to the :ref:`stamp - file <overview-manual/concepts:stamp files and the rerunning of tasks>`. In - this case, the metadata makes the task specific to a machine's architecture. - See - ":ref:`bitbake:bitbake-user-manual/bitbake-user-manual-execution:the task list`" +- The ``do_deploy[stamp-extra-info] = "${MACHINE_ARCH}"`` line appends extra + metadata to the :ref:`stamp file <overview-manual/concepts:stamp files and the rerunning of tasks>`. + In this case, the metadata makes the task specific to a machine's architecture. + See the ":ref:`bitbake-user-manual/bitbake-user-manual-execution:the task list`" section in the BitBake User Manual for more information on the ``stamp-extra-info`` flag. @@ -2122,12 +2115,12 @@ dependencies, you must manually declare the dependencies. :term:`ALLOW_EMPTY` variable for more information. -The :ref:`ref-tasks-package` task depends on the :ref:`ref-tasks-packagedata` task of each -recipe in :term:`DEPENDS` through use -of a ``[``\ :ref:`deptask <bitbake:bitbake-user-manual/bitbake-user-manual-metadata:variable flags>`\ ``]`` -declaration, which guarantees that the required -shared-library/module-to-package mapping information will be available -when needed as long as :term:`DEPENDS` has been correctly set. +The :ref:`ref-tasks-package` task depends on the :ref:`ref-tasks-packagedata` +task of each recipe in :term:`DEPENDS` through use of a +``[``\ :ref:`deptask <bitbake-user-manual/bitbake-user-manual-metadata:variable flags>`\ ``]`` +declaration, which guarantees that the required shared-library / +module-to-package mapping information will be available when needed as long as +:term:`DEPENDS` has been correctly set. Fakeroot and Pseudo =================== diff --git a/poky/documentation/overview-manual/yp-intro.rst b/poky/documentation/overview-manual/yp-intro.rst index 35f5345ad4..d694642af2 100644 --- a/poky/documentation/overview-manual/yp-intro.rst +++ b/poky/documentation/overview-manual/yp-intro.rst @@ -704,7 +704,7 @@ BitBake also supports both ``:prepend`` and ``:append`` operators as a method of extending task functionality. These operators inject code into the beginning or end of a task. For information on these BitBake operators, see the -":ref:`bitbake:bitbake-user-manual/bitbake-user-manual-metadata:appending and prepending (override style syntax)`" +":ref:`bitbake-user-manual/bitbake-user-manual-metadata:appending and prepending (override style syntax)`" section in the BitBake User's Manual. The OpenEmbedded Build System Workflow diff --git a/poky/documentation/poky.yaml.in b/poky/documentation/poky.yaml.in index cdccf6f3ca..30e1050824 100644 --- a/poky/documentation/poky.yaml.in +++ b/poky/documentation/poky.yaml.in @@ -13,33 +13,28 @@ YOCTO_RELEASE_DL_URL : "&YOCTO_DL_URL;/releases/yocto/yocto-&DISTRO;" UBUNTU_HOST_PACKAGES_ESSENTIAL : "gawk wget git diffstat unzip texinfo gcc \ build-essential chrpath socat cpio python3 python3-pip python3-pexpect \ xz-utils debianutils iputils-ping python3-git python3-jinja2 libegl1-mesa libsdl1.2-dev \ - python3-subunit mesa-common-dev zstd liblz4-tool" + python3-subunit mesa-common-dev zstd liblz4-tool file locales + \n\ $ sudo locale-gen en_US.UTF-8" FEDORA_HOST_PACKAGES_ESSENTIAL : "gawk make wget tar bzip2 gzip python3 unzip perl patch \ diffutils diffstat git cpp gcc gcc-c++ glibc-devel texinfo chrpath \ ccache perl-Data-Dumper perl-Text-ParseWords perl-Thread-Queue perl-bignum socat \ python3-pexpect findutils which file cpio python python3-pip xz python3-GitPython \ python3-jinja2 SDL-devel rpcgen mesa-libGL-devel perl-FindBin perl-File-Compare \ - perl-File-Copy perl-locale zstd lz4" + perl-File-Copy perl-locale zstd lz4 hostname glibc-langpack-en" OPENSUSE_HOST_PACKAGES_ESSENTIAL : "python gcc gcc-c++ git chrpath make wget python-xml \ diffstat makeinfo python-curses patch socat python3 python3-curses tar python3-pip \ python3-pexpect xz which python3-Jinja2 Mesa-libEGL1 libSDL-devel rpcgen Mesa-dri-devel \ - zstd lz4 - \n\ $ sudo pip3 install GitPython" -CENTOS7_HOST_PACKAGES_ESSENTIAL : "-y epel-release - \n\ $ sudo yum makecache - \n\ $ sudo yum install gawk make wget tar bzip2 gzip python3 unzip perl patch \ - diffutils diffstat git cpp gcc gcc-c++ glibc-devel texinfo chrpath socat \ - perl-Data-Dumper perl-Text-ParseWords perl-Thread-Queue python3-pip xz \ - which SDL-devel mesa-libGL-devel zstd lz4 - \n\ $ sudo pip3 install GitPython jinja2" -CENTOS8_HOST_PACKAGES_ESSENTIAL : "-y epel-release - \n\ $ sudo dnf config-manager --set-enabled PowerTools - \n\ $ sudo dnf makecache - \n\ $ sudo dnf install gawk make wget tar bzip2 gzip python3 unzip perl patch \ + zstd lz4 bzip2 gzip hostname + \n\ $ sudo pip3 install GitPython" +ALMALINUX_HOST_PACKAGES_ESSENTIAL : "-y epel-release + \n\ $ sudo yum install dnf-plugins-core + \n\ $ sudo dnf config-manager --set-enabled crb + \n\ $ sudo dnf makecache + \n\ $ sudo dnf install gawk make wget tar bzip2 gzip python3 unzip perl patch \ diffutils diffstat git cpp gcc gcc-c++ glibc-devel texinfo chrpath ccache \ socat perl-Data-Dumper perl-Text-ParseWords perl-Thread-Queue python3-pip \ python3-GitPython python3-jinja2 python3-pexpect xz which SDL-devel \ - rpcgen mesa-libGL-devel zstd lz4" + rpcgen mesa-libGL-devel zstd lz4 cpio glibc-langpack-en" PIP3_HOST_PACKAGES_DOC : "$ sudo pip3 install sphinx sphinx_rtd_theme pyyaml" MIN_PYTHON_VERSION : "3.8.0" MIN_TAR_VERSION : "1.28" diff --git a/poky/documentation/ref-manual/classes.rst b/poky/documentation/ref-manual/classes.rst index 7ff0fcb335..e8dec31b00 100644 --- a/poky/documentation/ref-manual/classes.rst +++ b/poky/documentation/ref-manual/classes.rst @@ -858,8 +858,9 @@ introspection. This functionality is only enabled if the .. note:: - This functionality is backfilled by default and, if not applicable, - should be disabled through :term:`DISTRO_FEATURES_BACKFILL_CONSIDERED` or + This functionality is :ref:`backfilled <ref-features-backfill>` by default + and, if not applicable, should be disabled through + :term:`DISTRO_FEATURES_BACKFILL_CONSIDERED` or :term:`MACHINE_FEATURES_BACKFILL_CONSIDERED`, respectively. .. _ref-classes-grub-efi: diff --git a/poky/documentation/ref-manual/devtool-reference.rst b/poky/documentation/ref-manual/devtool-reference.rst index 32e64d02a2..e167f58092 100644 --- a/poky/documentation/ref-manual/devtool-reference.rst +++ b/poky/documentation/ref-manual/devtool-reference.rst @@ -353,7 +353,7 @@ variables in package recipes. :yocto_git:`maintainers.inc </poky/tree/meta/conf/distro/include/maintainers.inc>` file. - - If the recipe is using the :ref:`bitbake:bitbake-user-manual/bitbake-user-manual-fetching:git fetcher (\`\`git://\`\`)` + - If the recipe is using the :ref:`bitbake-user-manual/bitbake-user-manual-fetching:git fetcher (\`\`git://\`\`)` rather than a tarball, the commit hash points to the commit that matches the recipe's latest version tag, or in the absence of suitable tags, to the latest commit (when :term:`UPSTREAM_CHECK_COMMITS` set to ``1`` diff --git a/poky/documentation/ref-manual/features.rst b/poky/documentation/ref-manual/features.rst index 051bf9320a..5a064329f1 100644 --- a/poky/documentation/ref-manual/features.rst +++ b/poky/documentation/ref-manual/features.rst @@ -6,7 +6,7 @@ Features This chapter provides a reference of shipped machine and distro features you can include as part of your image, a reference on image features you -can select, and a reference on feature backfilling. +can select, and a reference on :ref:`ref-features-backfill`. Features provide a mechanism for working out which packages should be included in the generated images. Distributions can select which @@ -416,58 +416,50 @@ these valid features is as follows: Feature Backfilling =================== -Sometimes it is necessary in the OpenEmbedded build system to extend -:term:`MACHINE_FEATURES` or -:term:`DISTRO_FEATURES` to control functionality -that was previously enabled and not able to be disabled. For these -cases, we need to add an additional feature item to appear in one of -these variables, but we do not want to force developers who have -existing values of the variables in their configuration to add the new -feature in order to retain the same overall level of functionality. -Thus, the OpenEmbedded build system has a mechanism to automatically -"backfill" these added features into existing distro or machine +Sometimes it is necessary in the OpenEmbedded build system to +add new functionality to :term:`MACHINE_FEATURES` or +:term:`DISTRO_FEATURES`, but at the same time, allow existing +distributions or machine definitions to opt out of such new +features, to retain the same overall level of functionality. + +To make this possible, the OpenEmbedded build system has a mechanism to +automatically "backfill" features into existing distro or machine configurations. You can see the list of features for which this is done -by finding the -:term:`DISTRO_FEATURES_BACKFILL` and -:term:`MACHINE_FEATURES_BACKFILL` -variables in the ``meta/conf/bitbake.conf`` file. - -Because such features are backfilled by default into all configurations -as described in the previous paragraph, developers who wish to disable -the new features need to be able to selectively prevent the backfilling -from occurring. They can do this by adding the undesired feature or -features to the +by checking the :term:`DISTRO_FEATURES_BACKFILL` and +:term:`MACHINE_FEATURES_BACKFILL` variables in the +``meta/conf/bitbake.conf`` file. + +These two variables are paired with the :term:`DISTRO_FEATURES_BACKFILL_CONSIDERED` -or -:term:`MACHINE_FEATURES_BACKFILL_CONSIDERED` -variables for distro features and machine features respectively. - -Here are two examples to help illustrate feature backfilling: - -- *The "pulseaudio" distro feature option*: Previously, PulseAudio - support was enabled within the Qt and GStreamer frameworks. Because - of this, the feature is backfilled and thus enabled for all distros - through the :term:`DISTRO_FEATURES_BACKFILL` variable in the - ``meta/conf/bitbake.conf`` file. However, your distro needs to - disable the feature. You can disable the feature without affecting - other existing distro configurations that need PulseAudio support by - adding "pulseaudio" to :term:`DISTRO_FEATURES_BACKFILL_CONSIDERED` in - your distro's ``.conf`` file. Adding the feature to this variable - when it also exists in the :term:`DISTRO_FEATURES_BACKFILL` variable - prevents the build system from adding the feature to your - configuration's :term:`DISTRO_FEATURES`, effectively disabling the - feature for that particular distro. +and :term:`MACHINE_FEATURES_BACKFILL_CONSIDERED` variables +which allow distro or machine configuration maintainers to `consider` any +added feature, and decide when they wish to keep or exclude such feature, +thus preventing the backfilling from happening. + +Here are two examples to illustrate feature backfilling: + +- *The "pulseaudio" distro feature option*: Previously, PulseAudio support was + enabled within the Qt and GStreamer frameworks. Because of this, the feature + is now backfilled and thus enabled for all distros through the + :term:`DISTRO_FEATURES_BACKFILL` variable in the ``meta/conf/bitbake.conf`` + file. However, if your distro needs to disable the feature, you can do so + without affecting other existing distro configurations that need PulseAudio + support. You do this by adding "pulseaudio" to + :term:`DISTRO_FEATURES_BACKFILL_CONSIDERED` in your distro's ``.conf`` + file. So, adding the feature to this variable when it also exists in the + :term:`DISTRO_FEATURES_BACKFILL` variable prevents the build system from + adding the feature to your configuration's :term:`DISTRO_FEATURES`, + effectively disabling the feature for that particular distro. - *The "rtc" machine feature option*: Previously, real time clock (RTC) support was enabled for all target devices. Because of this, the feature is backfilled and thus enabled for all machines through the - :term:`MACHINE_FEATURES_BACKFILL` variable in the - ``meta/conf/bitbake.conf`` file. However, your target device does not - have this capability. You can disable RTC support for your device - without affecting other machines that need RTC support by adding the - feature to your machine's :term:`MACHINE_FEATURES_BACKFILL_CONSIDERED` - list in the machine's ``.conf`` file. Adding the feature to this - variable when it also exists in the :term:`MACHINE_FEATURES_BACKFILL` - variable prevents the build system from adding the feature to your - configuration's :term:`MACHINE_FEATURES`, effectively disabling RTC - support for that particular machine. + :term:`MACHINE_FEATURES_BACKFILL` variable in the ``meta/conf/bitbake.conf`` + file. However, if your target device does not have this capability, you can + disable RTC support for your device without affecting other machines + that need RTC support. You do this by adding the "rtc" feature to the + :term:`MACHINE_FEATURES_BACKFILL_CONSIDERED` list in your machine's ``.conf`` + file. So, adding the feature to this variable when it also exists in the + :term:`MACHINE_FEATURES_BACKFILL` variable prevents the build system from + adding the feature to your configuration's :term:`MACHINE_FEATURES`, + effectively disabling RTC support for that particular machine. diff --git a/poky/documentation/ref-manual/release-process.rst b/poky/documentation/ref-manual/release-process.rst index 19e8040638..fa057e055c 100644 --- a/poky/documentation/ref-manual/release-process.rst +++ b/poky/documentation/ref-manual/release-process.rst @@ -97,6 +97,23 @@ through the same release process as do point releases. You can find more information about stable branch maintenance at :yocto_wiki:`/Stable_branch_maintenance`. +.. note:: + + In some circumstances, a layer can be created by the community in order to + add a specific feature or support a new version of some package for an LTS + release. This is called a "mixin" layer. These are thin and specific + purpose layers which can be stacked with an LTS release to "mix" a specific + feature into that build. These are created on an as-needed basis and + maintained by the people who need them. + + Policies on testing these layers depend on how widespread their usage is and + determined on a case-by-case basis. You can find some "mixin" layers in the + :yocto_git:`meta-lts-mixins </meta-lts-mixins>` repository. While the Yocto + Project provides hosting for those repositories, it does not provides + testing on them. Other "mixin" layers may be released elsewhere by the wider + community. + + Testing and Quality Assurance ============================= diff --git a/poky/documentation/ref-manual/system-requirements.rst b/poky/documentation/ref-manual/system-requirements.rst index 38d4aaf5a7..0fbe3f12c8 100644 --- a/poky/documentation/ref-manual/system-requirements.rst +++ b/poky/documentation/ref-manual/system-requirements.rst @@ -110,8 +110,10 @@ function. Ubuntu and Debian ----------------- -Here are the required packages by function given a -supported Ubuntu or Debian Linux distribution: +Here are the packages needed to build an image on a headless system +with a supported Ubuntu or Debian Linux distribution:: + + $ sudo apt install &UBUNTU_HOST_PACKAGES_ESSENTIAL; .. note:: @@ -123,80 +125,63 @@ supported Ubuntu or Debian Linux distribution: $ sudo apt build-dep qemu $ sudo apt remove oss4-dev -- *Essentials:* Packages needed to build an image on a headless system:: - - $ sudo apt install &UBUNTU_HOST_PACKAGES_ESSENTIAL; +Here are the packages needed to build Project documentation manuals:: -- *Documentation:* Packages needed if you are going to build out the - Yocto Project documentation manuals:: - - $ sudo apt install make python3-pip inkscape texlive-latex-extra - &PIP3_HOST_PACKAGES_DOC; + $ sudo apt install make python3-pip inkscape texlive-latex-extra + &PIP3_HOST_PACKAGES_DOC; Fedora Packages --------------- -Here are the required packages by function given a -supported Fedora Linux distribution: - -- *Essentials:* Packages needed to build an image for a headless - system:: +Here are the packages needed to build an image on a headless system +with a supported Fedora Linux distribution:: - $ sudo dnf install &FEDORA_HOST_PACKAGES_ESSENTIAL; + $ sudo dnf install &FEDORA_HOST_PACKAGES_ESSENTIAL; -- *Documentation:* Packages needed if you are going to build out the - Yocto Project documentation manuals:: +Here are the packages needed to build Project documentation manuals:: - $ sudo dnf install make python3-pip which inkscape texlive-fncychap - &PIP3_HOST_PACKAGES_DOC; + $ sudo dnf install make python3-pip which inkscape texlive-fncychap + &PIP3_HOST_PACKAGES_DOC; openSUSE Packages ----------------- -Here are the required packages by function given a -supported openSUSE Linux distribution: +Here are the packages needed to build an image on a headless system +with a supported openSUSE distribution:: -- *Essentials:* Packages needed to build an image for a headless - system:: + $ sudo zypper install &OPENSUSE_HOST_PACKAGES_ESSENTIAL; - $ sudo zypper install &OPENSUSE_HOST_PACKAGES_ESSENTIAL; +Here are the packages needed to build Project documentation manuals:: -- *Documentation:* Packages needed if you are going to build out the - Yocto Project documentation manuals:: + $ sudo zypper install make python3-pip which inkscape texlive-fncychap + &PIP3_HOST_PACKAGES_DOC; - $ sudo zypper install make python3-pip which inkscape texlive-fncychap - &PIP3_HOST_PACKAGES_DOC; +AlmaLinux Packages +------------------ -AlmaLinux-8 Packages --------------------- +Here are the packages needed to build an image on a headless system +with a supported AlmaLinux distribution:: -Here are the required packages by function given a -supported AlmaLinux-8 Linux distribution: + $ sudo dnf install &ALMALINUX8_HOST_PACKAGES_ESSENTIAL; -- *Essentials:* Packages needed to build an image for a headless - system:: - - $ sudo dnf install &CENTOS8_HOST_PACKAGES_ESSENTIAL; - - .. note:: +.. note:: - - Extra Packages for Enterprise Linux (i.e. ``epel-release``) is - a collection of packages from Fedora built on RHEL/CentOS for - easy installation of packages not included in enterprise Linux - by default. You need to install these packages separately. + - Extra Packages for Enterprise Linux (i.e. ``epel-release``) is + a collection of packages from Fedora built on RHEL/CentOS for + easy installation of packages not included in enterprise Linux + by default. You need to install these packages separately. - - The ``PowerTools`` repo provides additional packages such as - ``rpcgen`` and ``texinfo``. + - The ``PowerTools/CRB`` repo provides additional packages such as + ``rpcgen`` and ``texinfo``. - - The ``makecache`` command consumes additional Metadata from - ``epel-release``. + - The ``makecache`` command consumes additional Metadata from + ``epel-release``. -- *Documentation:* Packages needed if you are going to build out the - Yocto Project documentation manuals:: +Here are the packages needed to build Project documentation manuals:: - $ sudo dnf install make python3-pip which inkscape texlive-fncychap - &PIP3_HOST_PACKAGES_DOC; + $ sudo dnf install make python3-pip which inkscape texlive-fncychap + &PIP3_HOST_PACKAGES_DOC; .. _system-requirements-buildtools: diff --git a/poky/documentation/ref-manual/tasks.rst b/poky/documentation/ref-manual/tasks.rst index 7a664cc6c0..f2b93185af 100644 --- a/poky/documentation/ref-manual/tasks.rst +++ b/poky/documentation/ref-manual/tasks.rst @@ -14,8 +14,8 @@ Normal Recipe Build Tasks The following sections describe normal tasks associated with building a recipe. For more information on tasks and dependencies, see the -":ref:`bitbake:bitbake-user-manual/bitbake-user-manual-metadata:tasks`" and -":ref:`bitbake:bitbake-user-manual/bitbake-user-manual-execution:dependencies`" sections in the +":ref:`bitbake-user-manual/bitbake-user-manual-metadata:tasks`" and +":ref:`bitbake-user-manual/bitbake-user-manual-execution:dependencies`" sections in the BitBake User Manual. .. _ref-tasks-build: @@ -118,9 +118,9 @@ If the :ref:`ref-tasks-deploy` task re-executes, any previous output is removed ``do_fetch`` ------------ -Fetches the source code. This task uses the -:term:`SRC_URI` variable and the argument's prefix to -determine the correct :ref:`fetcher <bitbake:bitbake-user-manual/bitbake-user-manual-fetching:fetchers>` +Fetches the source code. This task uses the :term:`SRC_URI` variable and the +argument's prefix to determine the correct +:ref:`fetcher <bitbake-user-manual/bitbake-user-manual-fetching:fetchers>` module. .. _ref-tasks-image: diff --git a/poky/documentation/ref-manual/variables.rst b/poky/documentation/ref-manual/variables.rst index 9b581599e3..c787a17937 100644 --- a/poky/documentation/ref-manual/variables.rst +++ b/poky/documentation/ref-manual/variables.rst @@ -243,12 +243,12 @@ system and gives an overview of their function and contents. To add a tune to the list, be sure to append it with spaces using the "+=" BitBake operator. Do not simply replace the list by using the "=" operator. See the - ":ref:`bitbake:bitbake-user-manual/bitbake-user-manual-metadata:basic syntax`" section in the BitBake + ":ref:`bitbake-user-manual/bitbake-user-manual-metadata:basic syntax`" section in the BitBake User Manual for more information. :term:`AZ_SAS` Azure Storage Shared Access Signature, when using the - :ref:`Azure Storage fetcher (az://) <bitbake:bitbake-user-manual/bitbake-user-manual-fetching:fetchers>` + :ref:`Azure Storage fetcher (az://) <bitbake-user-manual/bitbake-user-manual-fetching:fetchers>` This variable can be defined to be used by the fetcher to authenticate and gain access to non-public artifacts:: @@ -1833,15 +1833,14 @@ system and gives an overview of their function and contents. DEPENDS = "bar" - The practical effect of the previous - assignment is that all files installed by bar will be available in - the appropriate staging sysroot, given by the - :term:`STAGING_DIR* <STAGING_DIR>` variables, by the time the - :ref:`ref-tasks-configure` task for ``foo`` runs. - This mechanism is implemented by having :ref:`ref-tasks-configure` depend on - the :ref:`ref-tasks-populate_sysroot` task of - each recipe listed in :term:`DEPENDS`, through a - ``[``\ :ref:`deptask <bitbake:bitbake-user-manual/bitbake-user-manual-metadata:variable flags>`\ ``]`` + The practical effect of the previous assignment is that all files + installed by bar will be available in the appropriate staging sysroot, + given by the :term:`STAGING_DIR* <STAGING_DIR>` variables, by the time + the :ref:`ref-tasks-configure` task for ``foo`` runs. This mechanism is + implemented by having :ref:`ref-tasks-configure` depend on the + :ref:`ref-tasks-populate_sysroot` task of each recipe listed in + :term:`DEPENDS`, through a + ``[``\ :ref:`deptask <bitbake-user-manual/bitbake-user-manual-metadata:variable flags>`\ ``]`` declaration in the :ref:`ref-classes-base` class. .. note:: @@ -1888,12 +1887,12 @@ system and gives an overview of their function and contents. to the recipe that installs ``libbar``, other recipes might fail to link against ``libfoo``. - For information on runtime dependencies, see the - :term:`RDEPENDS` variable. You can also see the - ":ref:`bitbake:bitbake-user-manual/bitbake-user-manual-metadata:tasks`" and - ":ref:`bitbake:bitbake-user-manual/bitbake-user-manual-execution:dependencies`" sections in the - BitBake User Manual for additional information on tasks and - dependencies. + For information on runtime dependencies, see the :term:`RDEPENDS` + variable. You can also see the + ":ref:`bitbake-user-manual/bitbake-user-manual-metadata:tasks`" and + ":ref:`bitbake-user-manual/bitbake-user-manual-execution:dependencies`" + sections in the BitBake User Manual for additional information on tasks + and dependencies. :term:`DEPLOY_DIR` Points to the general area that the OpenEmbedded build system uses to @@ -2111,19 +2110,27 @@ system and gives an overview of their function and contents. provide with this variable, see the ":ref:`ref-features-distro`" section. :term:`DISTRO_FEATURES_BACKFILL` - Features to be added to :term:`DISTRO_FEATURES` if not also present in - :term:`DISTRO_FEATURES_BACKFILL_CONSIDERED`. + A space-separated list of features to be added to :term:`DISTRO_FEATURES` + if not also present in :term:`DISTRO_FEATURES_BACKFILL_CONSIDERED`. This variable is set in the ``meta/conf/bitbake.conf`` file. It is not intended to be user-configurable. It is best to just reference - the variable to see which distro features are being backfilled for - all distro configurations. See the ":ref:`ref-features-backfill`" section - for more information. + the variable to see which distro features are being + :ref:`backfilled <ref-features-backfill>` for all distro configurations. :term:`DISTRO_FEATURES_BACKFILL_CONSIDERED` - Features from :term:`DISTRO_FEATURES_BACKFILL` that should not be - backfilled (i.e. added to :term:`DISTRO_FEATURES`) during the build. See - the ":ref:`ref-features-backfill`" section for more information. + A space-separated list of features from :term:`DISTRO_FEATURES_BACKFILL` + that should not be :ref:`backfilled <ref-features-backfill>` (i.e. added + to :term:`DISTRO_FEATURES`) during the build. + + This corresponds to an opt-out mechanism. When new default distro + features are introduced, distribution maintainers can review (`consider`) + them and decide to exclude them from the + :ref:`backfilled <ref-features-backfill>` features. Therefore, the + combination of :term:`DISTRO_FEATURES_BACKFILL` and + :term:`DISTRO_FEATURES_BACKFILL_CONSIDERED` makes it possible to + add new default features without breaking existing distributions. + :term:`DISTRO_FEATURES_DEFAULT` A convenience variable that gives you the default list of distro @@ -2809,15 +2816,13 @@ system and gives an overview of their function and contents. recipe to correctly extend the path. :term:`FILESOVERRIDES` - A subset of :term:`OVERRIDES` used by the - OpenEmbedded build system for creating - :term:`FILESPATH`. The :term:`FILESOVERRIDES` variable - uses overrides to automatically extend the - :term:`FILESPATH` variable. For an example of how - that works, see the :term:`FILESPATH` variable + A subset of :term:`OVERRIDES` used by the OpenEmbedded build system for + creating :term:`FILESPATH`. The :term:`FILESOVERRIDES` variable uses + overrides to automatically extend the :term:`FILESPATH` variable. For an + example of how that works, see the :term:`FILESPATH` variable description. Additionally, you find more information on how overrides are handled in the - ":ref:`bitbake:bitbake-user-manual/bitbake-user-manual-metadata:conditional syntax (overrides)`" + ":ref:`bitbake-user-manual/bitbake-user-manual-metadata:conditional syntax (overrides)`" section of the BitBake User Manual. By default, the :term:`FILESOVERRIDES` variable is defined as:: @@ -3539,19 +3544,19 @@ system and gives an overview of their function and contents. section in the Yocto Project Development Tasks Manual. - Using :term:`IMAGE_INSTALL` with the - :ref:`+= <bitbake:bitbake-user-manual/bitbake-user-manual-metadata:appending (+=) and prepending (=+) with spaces>` + :ref:`+= <bitbake-user-manual/bitbake-user-manual-metadata:appending (+=) and prepending (=+) with spaces>` BitBake operator within the ``/conf/local.conf`` file or from - within an image recipe is not recommended. Use of this operator - in these ways can cause ordering issues. Since - :ref:`ref-classes-core-image` sets :term:`IMAGE_INSTALL` to a default - value using the - :ref:`?= <bitbake:bitbake-user-manual/bitbake-user-manual-metadata:setting a default value (?=)>` + within an image recipe is not recommended. Use of this operator in + these ways can cause ordering issues. Since + :ref:`ref-classes-core-image` sets :term:`IMAGE_INSTALL` to a + default value using the + :ref:`?= <bitbake-user-manual/bitbake-user-manual-metadata:setting a default value (?=)>` operator, using a ``+=`` operation against :term:`IMAGE_INSTALL` results in unexpected behavior when used within - ``conf/local.conf``. Furthermore, the same operation from - within an image recipe may or may not succeed depending on the - specific situation. In both these cases, the behavior is - contrary to how most users expect the ``+=`` operator to work. + ``conf/local.conf``. Furthermore, the same operation from within an + image recipe may or may not succeed depending on the specific + situation. In both these cases, the behavior is contrary to how + most users expect the ``+=`` operator to work. :term:`IMAGE_LINGUAS` Specifies the list of locales to install into the image during the @@ -3913,7 +3918,7 @@ system and gives an overview of their function and contents. ``classes-global/`` or ``classes/`` subdirectories. For more information on :term:`INHERIT`, see the - :ref:`bitbake:bitbake-user-manual/bitbake-user-manual-metadata:\`\`inherit\`\` configuration directive`" + :ref:`bitbake-user-manual/bitbake-user-manual-metadata:\`\`inherit\`\` configuration directive`" section in the BitBake User Manual. :term:`INHERIT_DISTRO` @@ -4736,31 +4741,7 @@ system and gives an overview of their function and contents. ``LAYERRECOMMENDS_mylayer``). :term:`LAYERSERIES_COMPAT` - Lists the versions of the :term:`OpenEmbedded-Core (OE-Core)` for which - a layer is compatible. Using the :term:`LAYERSERIES_COMPAT` variable - allows the layer maintainer to indicate which combinations of the - layer and OE-Core can be expected to work. The variable gives the - system a way to detect when a layer has not been tested with new - releases of OE-Core (e.g. the layer is not maintained). - - To specify the OE-Core versions for which a layer is compatible, use - this variable in your layer's ``conf/layer.conf`` configuration file. - For the list, use the Yocto Project - :yocto_wiki:`Release Name </Releases>` (e.g. - &DISTRO_NAME_NO_CAP;). To specify multiple OE-Core versions for the - layer, use a space-separated list:: - - LAYERSERIES_COMPAT_layer_root_name = "&DISTRO_NAME_NO_CAP; &DISTRO_NAME_NO_CAP_MINUS_ONE;" - - .. note:: - - Setting :term:`LAYERSERIES_COMPAT` is required by the Yocto Project - Compatible version 2 standard. - The OpenEmbedded build system produces a warning if the variable - is not set for any given layer. - - See the ":ref:`dev-manual/layers:creating your own layer`" - section in the Yocto Project Development Tasks Manual. + See :term:`bitbake:LAYERSERIES_COMPAT` in the BitBake manual. :term:`LAYERVERSION` Optionally specifies the version of a layer as a single number. You @@ -5129,19 +5110,27 @@ system and gives an overview of their function and contents. shipped, see the ":ref:`ref-features-machine`" section. :term:`MACHINE_FEATURES_BACKFILL` - Features to be added to :term:`MACHINE_FEATURES` if not also present in + A list of space-separated features to be added to + :term:`MACHINE_FEATURES` if not also present in :term:`MACHINE_FEATURES_BACKFILL_CONSIDERED`. - This variable is set in the ``meta/conf/bitbake.conf`` file. It is - not intended to be user-configurable. It is best to just reference - the variable to see which machine features are being backfilled for - all machine configurations. See the ":ref:`ref-features-backfill`" - section for more information. + This variable is set in the ``meta/conf/bitbake.conf`` file. It is not + intended to be user-configurable. It is best to just reference the + variable to see which machine features are being + :ref:`backfilled <ref-features-backfill>` for all machine configurations. :term:`MACHINE_FEATURES_BACKFILL_CONSIDERED` - Features from :term:`MACHINE_FEATURES_BACKFILL` that should not be - backfilled (i.e. added to :term:`MACHINE_FEATURES`) during the build. See - the ":ref:`ref-features-backfill`" section for more information. + A list of space-separated features from :term:`MACHINE_FEATURES_BACKFILL` + that should not be :ref:`backfilled <ref-features-backfill>` (i.e. added + to :term:`MACHINE_FEATURES`) during the build. + + This corresponds to an opt-out mechanism. When new default machine + features are introduced, machine definition maintainers can review + (`consider`) them and decide to exclude them from the + :ref:`backfilled <ref-features-backfill>` features. Therefore, the + combination of :term:`MACHINE_FEATURES_BACKFILL` and + :term:`MACHINE_FEATURES_BACKFILL_CONSIDERED` makes it possible to + add new default features without breaking existing machine definitions. :term:`MACHINEOVERRIDES` A colon-separated list of overrides that apply to the current @@ -5603,7 +5592,7 @@ system and gives an overview of their function and contents. FOO:an-override = "overridden" See the - ":ref:`bitbake:bitbake-user-manual/bitbake-user-manual-metadata:conditional syntax (overrides)`" + ":ref:`bitbake-user-manual/bitbake-user-manual-metadata:conditional syntax (overrides)`" section in the BitBake User Manual for more information on the overrides mechanism. @@ -6808,12 +6797,11 @@ system and gives an overview of their function and contents. RDEPENDS:${PN} = "foo (>= 1.2)" - For information on build-time dependencies, see the - :term:`DEPENDS` variable. You can also see the - ":ref:`bitbake:bitbake-user-manual/bitbake-user-manual-metadata:tasks`" and - ":ref:`bitbake:bitbake-user-manual/bitbake-user-manual-execution:dependencies`" sections in the - BitBake User Manual for additional information on tasks and - dependencies. + For information on build-time dependencies, see the :term:`DEPENDS` + variable. You can also see the + ":ref:`bitbake-user-manual/bitbake-user-manual-metadata:tasks`" and + ":ref:`bitbake-user-manual/bitbake-user-manual-execution:dependencies`" sections in the + BitBake User Manual for additional information on tasks and dependencies. :term:`RECIPE_NO_UPDATE_REASON` If a recipe should not be replaced by a more recent upstream version, diff --git a/poky/documentation/sdk-manual/appendix-customizing.rst b/poky/documentation/sdk-manual/appendix-customizing.rst index 2be76875e0..61091d83ba 100644 --- a/poky/documentation/sdk-manual/appendix-customizing.rst +++ b/poky/documentation/sdk-manual/appendix-customizing.rst @@ -77,7 +77,7 @@ adjustments: either define the entire list by using the "=" operator, or you will need to append a value using either ":append" or the "+=" operator. You can learn more about these operators in the - ":ref:`bitbake:bitbake-user-manual/bitbake-user-manual-metadata:basic syntax`" + ":ref:`bitbake-user-manual/bitbake-user-manual-metadata:basic syntax`" section of the BitBake User Manual. - If you have classes or recipes that add additional tasks to the diff --git a/poky/documentation/sdk-manual/extensible.rst b/poky/documentation/sdk-manual/extensible.rst index 7c7ceb695a..9e08e57a4e 100644 --- a/poky/documentation/sdk-manual/extensible.rst +++ b/poky/documentation/sdk-manual/extensible.rst @@ -651,12 +651,11 @@ counterparts. :ref:`dev-manual/upgrading-recipes:upgrading recipes` section of the Yocto Project Development Tasks Manual. -The ``devtool upgrade`` command is flexible enough to allow you to -specify source code revision and versioning schemes, extract code into -or out of the ``devtool`` -:ref:`devtool-the-workspace-layer-structure`, -and work with any source file forms that the -:ref:`bitbake:bitbake-user-manual/bitbake-user-manual-fetching:fetchers` support. +The ``devtool upgrade`` command is flexible enough to allow you to specify +source code revision and versioning schemes, extract code into or out of the +``devtool`` :ref:`devtool-the-workspace-layer-structure`, and work with any +source file forms that the +:ref:`bitbake-user-manual/bitbake-user-manual-fetching:fetchers` support. The following diagram shows the common development flow used with the ``devtool upgrade`` command: diff --git a/poky/meta-poky/classes/poky-bleeding.bbclass b/poky/meta-poky/classes/poky-bleeding.bbclass new file mode 100644 index 0000000000..e5f30687e4 --- /dev/null +++ b/poky/meta-poky/classes/poky-bleeding.bbclass @@ -0,0 +1,20 @@ +# +# AUTOREV and PV containing SRCPV needs to be set early, before any anonymous python +# expands anything containing PV, else the parse process won't trigger the fetcher to +# cache the needed version data +# +python pokybleeding_version_handler () { + bpn = d.getVar("BPN") + # We're running before the class extension code at PreFinalise so manually fix BPN + bpn = bpn.replace("-nativesdk", "").replace("nativesdk-", "") + + if bpn in d.getVar("POKY_AUTOREV_RECIPES").split(): + if "pseudo" in bpn: + bb.warn("Here 5 %s %s" % (d.getVar("PN"), bpn)) + d.setVar("SRCREV", "${AUTOREV}") + if "+git" not in d.getVar("PV"): + d.appendVar("PV", "+git${SRCPV}") +} + +addhandler pokybleeding_version_handler +pokybleeding_version_handler[eventmask] = "bb.event.RecipePreFinalise" diff --git a/poky/meta-poky/conf/distro/include/poky-floating-revisions.inc b/poky/meta-poky/conf/distro/include/poky-floating-revisions.inc index 0cc4e005b9..0721a718bd 100644 --- a/poky/meta-poky/conf/distro/include/poky-floating-revisions.inc +++ b/poky/meta-poky/conf/distro/include/poky-floating-revisions.inc @@ -1,52 +1,22 @@ # -# Package Versions for cutting edge testing: +# Set recipe versions to auto-rev for cutting edge testing # -#SRCREV:pn-opkg-native ?= "${AUTOREV}" -#SRCREV:pn-opkg-sdk ?= "${AUTOREV}" -#SRCREV:pn-opkg ?= "${AUTOREV}" -#SRCREV:pn-opkg-utils-native ?= "${AUTOREV}" -#SRCREV:pn-opkg-utils ?= "${AUTOREV}" -SRCREV:pn-gconf-dbus ?= "${AUTOREV}" -SRCREV:pn-matchbox-common ?= "${AUTOREV}" -SRCREV:pn-matchbox-config-gtk ?= "${AUTOREV}" -SRCREV:pn-matchbox-desktop ?= "${AUTOREV}" -SRCREV:pn-matchbox-keyboard ?= "${AUTOREV}" -SRCREV:pn-matchbox-panel-2 ?= "${AUTOREV}" -SRCREV:pn-matchbox-themes-extra ?= "${AUTOREV}" -SRCREV:pn-matchbox-terminal ?= "${AUTOREV}" -SRCREV:pn-matchbox-wm ?= "${AUTOREV}" -SRCREV:pn-settings-daemon ?= "${AUTOREV}" -SRCREV:pn-screenshot ?= "${AUTOREV}" -SRCREV:pn-libfakekey ?= "${AUTOREV}" -SRCREV:pn-psplash ?= "${AUTOREV}" -SRCREV:pn-gtk-sato-engine ?= "${AUTOREV}" -SRCREV:pn-matchbox-theme-sato ?= "${AUTOREV}" -SRCREV:pn-sato-icon-theme ?= "${AUTOREV}" -SRCREV:pn-matchbox-desktop-sato ?= "${AUTOREV}" -SRCREV:pn-oh-puzzles ?= "${AUTOREV}" -SRCREV:pn-libowl ?= "${AUTOREV}" -SRCREV:pn-libmatchbox ?= "${AUTOREV}" -SRCREV:pn-ofono ?= "${AUTOREV}" - -SRCREV:pn-dri2proto = "${AUTOREV}" -#PREFERRED_VERSION_dri2proto ?= "1.99.1+git%" -SRCREV:pn-libdrm = "${AUTOREV}" -#PREFERRED_VERSION_libdrm ?= "2.4.0+git%" -SRCREV:pn-libxcb = "${AUTOREV}" -#PREFERRED_VERSION_libxcb ?= "1.1.90.1+gitr%" -SRCREV:pn-lib-proto = "${AUTOREV}" -#PREFERRED_VERSION_xcb-proto ?= "1.2+gitr%" -SRCREV:pn-libxcb-sdk = "${AUTOREV}" -#PREFERRED_VERSION_libxcb-sdk ?= "1.1.90.1+gitr%" -SRCREV:pn-xf86-input-evdev = "${AUTOREV}" -#PREFERRED_VERSION_xf86-input-evdev ?= "2.0.4" -SRCREV:pn-xf86-input-mouse = "${AUTOREV}" -#PREFERRED_VERSION_xf86-input-mouse ?= "1.3.0+git%" -SRCREV:pn-xf86-input-synaptics = "${AUTOREV}" -#PREFERRED_VERSION_xf86-input-synaptics ?= "0.15.2+git%" - -#SRCDATE_oprofile ?= "${DATE}" - -PREFERRED_VERSION_oprofile ?= "0.9.4+cvs${SRCDATE_oprofile}" +INHERIT += "poky-bleeding" +POKY_AUTOREV_RECIPES = "\ + libmatchbox \ + opkg-utils \ + matchbox-config-gtk \ + matchbox-desktop \ + matchbox-keyboard \ + matchbox-panel-2 \ + matchbox-terminal \ + matchbox-theme-sato \ + matchbox-wm \ + pseudo \ + puzzles \ + sato-icon-theme \ + sato-screenshot \ + settings-daemon \ +" diff --git a/poky/meta-poky/conf/distro/poky-bleeding.conf b/poky/meta-poky/conf/distro/poky-bleeding.conf index 2d3e046a45..8cbf2284d0 100644 --- a/poky/meta-poky/conf/distro/poky-bleeding.conf +++ b/poky/meta-poky/conf/distro/poky-bleeding.conf @@ -1,8 +1,4 @@ -PREFERRED_VERSION_glib-2.0 ?= "2.17.4" -PREFERRED_VERSION_glib-2.0-native ?= "2.17.4" -PREFERRED_VERSION_atk ?= "1.22.0" -PREFERRED_VERSION_pango ?= "1.21.2" -PREFERRED_VERSION_gtk+ ?= "2.13.3" +PREFERRED_PROVIDER_virtual/kernel = "linux-yocto-dev" require conf/distro/include/poky-floating-revisions.inc require conf/distro/poky.conf diff --git a/poky/meta-poky/conf/distro/poky.conf b/poky/meta-poky/conf/distro/poky.conf index df8eb55a06..efc795e9f9 100644 --- a/poky/meta-poky/conf/distro/poky.conf +++ b/poky/meta-poky/conf/distro/poky.conf @@ -6,7 +6,7 @@ SDK_VENDOR = "-pokysdk" SDK_VERSION = "${@d.getVar('DISTRO_VERSION').replace('snapshot-${METADATA_REVISION}', 'snapshot')}" SDK_VERSION[vardepvalue] = "${SDK_VERSION}" -MAINTAINER = "Poky <poky@lists.yoctoproject.org>" +MAINTAINER = "Poky Maintainers <poky@lists.yoctoproject.org>" TARGET_VENDOR = "-poky" diff --git a/poky/meta-selftest/recipes-test/git-submodule-test/git-submodule-test.bb b/poky/meta-selftest/recipes-test/git-submodule-test/git-submodule-test.bb index fa3041b7d8..90d9b66b2c 100644 --- a/poky/meta-selftest/recipes-test/git-submodule-test/git-submodule-test.bb +++ b/poky/meta-selftest/recipes-test/git-submodule-test/git-submodule-test.bb @@ -5,6 +5,8 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda INHIBIT_DEFAULT_DEPS = "1" +UPSTREAM_VERSION_UNKNOWN = "1" + SRC_URI = "gitsm://git.yoctoproject.org/git-submodule-test;branch=master" SRCREV = "a2885dd7d25380d23627e7544b7bbb55014b16ee" diff --git a/poky/meta-selftest/recipes-test/packagenameconflict/packagenameconflict.bb b/poky/meta-selftest/recipes-test/packagenameconflict/packagenameconflict.bb new file mode 100644 index 0000000000..5d19a4dd25 --- /dev/null +++ b/poky/meta-selftest/recipes-test/packagenameconflict/packagenameconflict.bb @@ -0,0 +1,10 @@ +SUMMARY = "Test case that tries to rename a package to an existing one and fails" +DESCRIPTION = "This generates a packaging error when a package is renamed to a pre-existing name" +LICENSE = "MIT" + +# Add a new package ${PN}-renametest +PACKAGES += "${PN}-renametest" +# ... and try to rename the ${PN}-dev to the new ${PN}-renametest (conflict) +PKG:${PN}-dev = "${PN}-renametest" + +EXCLUDE_FROM_WORLD = "1" diff --git a/poky/meta-selftest/wic/test_rawcopy_plugin.wks.in b/poky/meta-selftest/wic/test_rawcopy_plugin.wks.in index 83be4be914..a865dd1d32 100644 --- a/poky/meta-selftest/wic/test_rawcopy_plugin.wks.in +++ b/poky/meta-selftest/wic/test_rawcopy_plugin.wks.in @@ -1,6 +1,6 @@ # short-description: This file is used in oe-selftest wic module to test rawcopy plugin part /boot --active --source bootimg-pcbios -part / --source rawcopy --sourceparams="file=core-image-minimal-${MACHINE}.ext4" --use-uuid +part / --source rawcopy --sourceparams="file=${IMAGE_LINK_NAME_CORE_IMAGE_MINIMAL}.ext4" --use-uuid bootloader --timeout=0 --append="console=ttyS0,115200n8" diff --git a/poky/meta-yocto-bsp/lib/oeqa/selftest/cases/systemd_boot.py b/poky/meta-yocto-bsp/lib/oeqa/selftest/cases/systemd_boot.py index 57599e19aa..6ce9a3b3f8 100644 --- a/poky/meta-yocto-bsp/lib/oeqa/selftest/cases/systemd_boot.py +++ b/poky/meta-yocto-bsp/lib/oeqa/selftest/cases/systemd_boot.py @@ -2,7 +2,7 @@ import os from oeqa.selftest.case import OESelftestTestCase from oeqa.core.decorator.depends import OETestDepends -from oeqa.utils.commands import runCmd, bitbake, get_bb_var, runqemu +from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars, runqemu class Systemdboot(OESelftestTestCase): @@ -21,8 +21,9 @@ class Systemdboot(OESelftestTestCase): features += 'MACHINE = "genericx86-64"' self.append_config(features) - deploydir = get_bb_var('DEPLOY_DIR_IMAGE', "core-image-minimal") - systemdbootfile = os.path.join(deploydir, 'systemd-bootx64.efi') + image = 'core-image-minimal' + bb_vars = get_bb_vars(['DEPLOY_DIR_IMAGE', 'IMAGE_LINK_NAME'], image) + systemdbootfile = os.path.join(bb_vars['DEPLOY_DIR_IMAGE'], 'systemd-bootx64.efi') # Ensure we're actually testing that this gets built and not that # it was around from an earlier build @@ -50,8 +51,8 @@ class Systemdboot(OESelftestTestCase): AutomatedBy: Jose Perez Carranza <jose.perez.carranza at linux-intel.com> """ - systemdbootimage = os.path.join(deploydir, 'core-image-minimal-genericx86-64.wic') - imagebootfile = os.path.join(deploydir, 'bootx64.efi') + systemdbootimage = os.path.join(bb_vars['DEPLOY_DIR_IMAGE'], '%s.wic' % bb_vars['IMAGE_LINK_NAME']) + imagebootfile = os.path.join(bb_vars['DEPLOY_DIR_IMAGE'], 'bootx64.efi') # Clean environment before start the test if os.path.isfile(imagebootfile): diff --git a/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.15.bbappend b/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.15.bbappend index a969222442..87aa38a85e 100644 --- a/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.15.bbappend +++ b/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.15.bbappend @@ -7,17 +7,17 @@ KMACHINE:genericx86 ?= "common-pc" KMACHINE:genericx86-64 ?= "common-pc-64" KMACHINE:beaglebone-yocto ?= "beaglebone" -SRCREV_machine:genericx86 ?= "1275299b4a49c5845378537d2d623dfbe027dcca" -SRCREV_machine:genericx86-64 ?= "1275299b4a49c5845378537d2d623dfbe027dcca" -SRCREV_machine:edgerouter ?= "28658152bb865c3e7ffde6ac277fab5dc1940c0a" -SRCREV_machine:beaglebone-yocto ?= "4f8b81b735ff381cde5ae840552727175393b77a" +SRCREV_machine:genericx86 ?= "024d08fb706170a9723e9751e505681f9d4c7ab6" +SRCREV_machine:genericx86-64 ?= "024d08fb706170a9723e9751e505681f9d4c7ab6" +SRCREV_machine:edgerouter ?= "2ac6461adfceb54f47a756046fbdd142adce4301" +SRCREV_machine:beaglebone-yocto ?= "26aee42556a000123129552b73de6bf2ac039034" COMPATIBLE_MACHINE:genericx86 = "genericx86" COMPATIBLE_MACHINE:genericx86-64 = "genericx86-64" COMPATIBLE_MACHINE:edgerouter = "edgerouter" COMPATIBLE_MACHINE:beaglebone-yocto = "beaglebone-yocto" -LINUX_VERSION:genericx86 = "5.15.80" -LINUX_VERSION:genericx86-64 = "5.15.80" -LINUX_VERSION:edgerouter = "5.15.80" -LINUX_VERSION:beaglebone-yocto = "5.15.80" +LINUX_VERSION:genericx86 = "5.15.103" +LINUX_VERSION:genericx86-64 = "5.15.103" +LINUX_VERSION:edgerouter = "5.15.103" +LINUX_VERSION:beaglebone-yocto = "5.15.103" diff --git a/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_6.1.bbappend b/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_6.1.bbappend index e693cb32e4..dc58f988eb 100644 --- a/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_6.1.bbappend +++ b/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_6.1.bbappend @@ -7,17 +7,17 @@ KMACHINE:genericx86 ?= "common-pc" KMACHINE:genericx86-64 ?= "common-pc-64" KMACHINE:beaglebone-yocto ?= "beaglebone" -SRCREV_machine:genericx86 ?= "872afe79c5e568acf5f971952e78caada8424df7" -SRCREV_machine:genericx86-64 ?= "872afe79c5e568acf5f971952e78caada8424df7" -SRCREV_machine:edgerouter ?= "872afe79c5e568acf5f971952e78caada8424df7" -SRCREV_machine:beaglebone-yocto ?= "872afe79c5e568acf5f971952e78caada8424df7" +SRCREV_machine:genericx86 ?= "423e1996694b61fbfc8ec3bf062fc6461d64fde1" +SRCREV_machine:genericx86-64 ?= "423e1996694b61fbfc8ec3bf062fc6461d64fde1" +SRCREV_machine:edgerouter ?= "423e1996694b61fbfc8ec3bf062fc6461d64fde1" +SRCREV_machine:beaglebone-yocto ?= "423e1996694b61fbfc8ec3bf062fc6461d64fde1" COMPATIBLE_MACHINE:genericx86 = "genericx86" COMPATIBLE_MACHINE:genericx86-64 = "genericx86-64" COMPATIBLE_MACHINE:edgerouter = "edgerouter" COMPATIBLE_MACHINE:beaglebone-yocto = "beaglebone-yocto" -LINUX_VERSION:genericx86 = "6.1.3" -LINUX_VERSION:genericx86-64 = "6.1.3" -LINUX_VERSION:edgerouter = "6.1.3" -LINUX_VERSION:beaglebone-yocto = "6.1.3" +LINUX_VERSION:genericx86 = "6.1.20" +LINUX_VERSION:genericx86-64 = "6.1.20" +LINUX_VERSION:edgerouter = "6.1.20" +LINUX_VERSION:beaglebone-yocto = "6.1.20" diff --git a/poky/meta/classes-global/base.bbclass b/poky/meta/classes-global/base.bbclass index 64e805c947..b6e339ed9c 100644 --- a/poky/meta/classes-global/base.bbclass +++ b/poky/meta/classes-global/base.bbclass @@ -288,7 +288,7 @@ python base_eventhandler() { bb.plain('\n%s\n%s\n' % (statusheader, '\n'.join(statuslines))) # This code is to silence warnings where the SDK variables overwrite the - # target ones and we'd see dulpicate key names overwriting each other + # target ones and we'd see duplicate key names overwriting each other # for various PREFERRED_PROVIDERS if isinstance(e, bb.event.RecipePreFinalise): if d.getVar("TARGET_PREFIX") == d.getVar("SDK_PREFIX"): @@ -351,7 +351,7 @@ base_do_compile() { addtask install after do_compile do_install[dirs] = "${B}" -# Remove and re-create ${D} so that is it guaranteed to be empty +# Remove and re-create ${D} so that it is guaranteed to be empty do_install[cleandirs] = "${D}" base_do_install() { diff --git a/poky/meta/classes-global/package.bbclass b/poky/meta/classes-global/package.bbclass index 7e96601cd9..e8055a9cdc 100644 --- a/poky/meta/classes-global/package.bbclass +++ b/poky/meta/classes-global/package.bbclass @@ -468,7 +468,7 @@ python do_package () { # cache. This is useful if an item this class depends on changes in a # way that the output of this class changes. rpmdeps is a good example # as any change to rpmdeps requires this to be rerun. - # PACKAGE_BBCLASS_VERSION = "4" + # PACKAGE_BBCLASS_VERSION = "5" # Init cachedpath global cpath @@ -496,6 +496,15 @@ python do_package () { bb.build.exec_func("package_convert_pr_autoinc", d) + # Check for conflict between renamed packages and existing ones + # for each package in PACKAGES, check if it will be renamed to an existing one + for p in packages: + localdata = bb.data.createCopy(d) + localdata.setVar('OVERRIDES', p) + rename = localdata.getVar('PKG') + if (rename != None) and rename in packages: + bb.fatal('package "%s" is renamed to "%s" using PKG:%s, but package name already exists'%(p,rename,p)) + ########################################################################### # Optimisations ########################################################################### diff --git a/poky/meta/classes-global/sstate.bbclass b/poky/meta/classes-global/sstate.bbclass index 5b63582b5a..95373fd60a 100644 --- a/poky/meta/classes-global/sstate.bbclass +++ b/poky/meta/classes-global/sstate.bbclass @@ -4,7 +4,7 @@ # SPDX-License-Identifier: MIT # -SSTATE_VERSION = "10" +SSTATE_VERSION = "11" SSTATE_ZSTD_CLEVEL ??= "8" diff --git a/poky/meta/classes-global/staging.bbclass b/poky/meta/classes-global/staging.bbclass index 5a1f43de78..a058d344fd 100644 --- a/poky/meta/classes-global/staging.bbclass +++ b/poky/meta/classes-global/staging.bbclass @@ -275,6 +275,10 @@ python extend_recipe_sysroot() { pn = d.getVar("PN") stagingdir = d.getVar("STAGING_DIR") sharedmanifests = d.getVar("COMPONENTS_DIR") + "/manifests" + # only needed by multilib cross-canadian since it redefines RECIPE_SYSROOT + manifestprefix = d.getVar("RECIPE_SYSROOT_MANIFEST_SUBDIR") + if manifestprefix: + sharedmanifests = sharedmanifests + "/" + manifestprefix recipesysroot = d.getVar("RECIPE_SYSROOT") recipesysrootnative = d.getVar("RECIPE_SYSROOT_NATIVE") diff --git a/poky/meta/classes-recipe/cargo-update-recipe-crates.bbclass b/poky/meta/classes-recipe/cargo-update-recipe-crates.bbclass index 697460d215..daa363b0dd 100644 --- a/poky/meta/classes-recipe/cargo-update-recipe-crates.bbclass +++ b/poky/meta/classes-recipe/cargo-update-recipe-crates.bbclass @@ -16,11 +16,14 @@ addtask do_update_crates after do_patch do_update_crates[depends] = "python3-native:do_populate_sysroot" do_update_crates[nostamp] = "1" +do_update_crates[doc] = "Update the recipe by reading Cargo.lock and write in ${THISDIR}/${BPN}-crates.inc" # The directory where to search for Cargo.lock files CARGO_LOCK_SRC_DIR ??= "${S}" do_update_crates() { + TARGET_FILE="${THISDIR}/${BPN}-crates.inc" + nativepython3 - <<EOF def get_crates(f): @@ -28,19 +31,52 @@ def get_crates(f): c_list = '# from %s' % os.path.relpath(f, '${CARGO_LOCK_SRC_DIR}') c_list += '\nSRC_URI += " \\\' crates = tomllib.load(open(f, 'rb')) - for c in crates['package']: - if 'source' in c and 'crates.io' in c['source']: + + # Build a list with crates info that have crates.io in the source + crates_candidates = list(filter(lambda c: 'crates.io' in c.get('source', ''), crates['package'])) + + if not crates_candidates: + raise ValueError("Unable to find any candidate crates that use crates.io") + + # Build a list of crates name that have multiple version + crates_multiple_vers = [] + tmp = [] + for c in crates_candidates: + if c['name'] in tmp: + crates_multiple_vers.append(c['name']) + else: + tmp.append(c['name']) + + # Update crates uri and their checksum, to avoid name clashing on the checksum + # we need to rename crates of the same name but different version + cksum_list = '' + for c in crates_candidates: + if c['name'] in crates_multiple_vers: + rename = "%s-%s" % (c['name'], c['version']) + c_list += '\n crate://crates.io/%s/%s;name=%s \\\' % (c['name'], c['version'], rename) + else: + rename = c['name'] c_list += '\n crate://crates.io/%s/%s \\\' % (c['name'], c['version']) + if 'checksum' in c: + cksum_list += '\nSRC_URI[%s.sha256sum] = "%s"' % (rename, c['checksum']) + c_list += '\n"\n' + c_list += cksum_list + c_list += '\n' return c_list import os crates = "# Autogenerated with 'bitbake -c update_crates ${PN}'\n\n" +found = False for root, dirs, files in os.walk('${CARGO_LOCK_SRC_DIR}'): for file in files: if file == 'Cargo.lock': crates += get_crates(os.path.join(root, file)) -open(os.path.join('${THISDIR}', '${BPN}'+"-crates.inc"), 'w').write(crates) - + found = True +if not found: + raise ValueError("Unable to find Cargo.lock in ${CARGO_LOCK_SRC_DIR}") +open("${TARGET_FILE}", 'w').write(crates) EOF + + bbnote "Successfully update crates inside '${TARGET_FILE}'" } diff --git a/poky/meta/classes-recipe/cargo.bbclass b/poky/meta/classes-recipe/cargo.bbclass index 93e185f2c9..7a8cc1e751 100644 --- a/poky/meta/classes-recipe/cargo.bbclass +++ b/poky/meta/classes-recipe/cargo.bbclass @@ -39,7 +39,7 @@ MANIFEST_PATH ??= "${S}/${CARGO_SRC_DIR}/Cargo.toml" RUSTFLAGS ??= "" BUILD_MODE = "${@['--release', ''][d.getVar('DEBUG_BUILD') == '1']}" -CARGO_BUILD_FLAGS = "-v --target ${RUST_HOST_SYS} ${BUILD_MODE} --manifest-path=${MANIFEST_PATH}" +CARGO_BUILD_FLAGS = "-v --offline --target ${RUST_HOST_SYS} ${BUILD_MODE} --manifest-path=${MANIFEST_PATH}" # This is based on the content of CARGO_BUILD_FLAGS and generally will need to # change if CARGO_BUILD_FLAGS changes. diff --git a/poky/meta/classes-recipe/image-artifact-names.bbclass b/poky/meta/classes-recipe/image-artifact-names.bbclass index 5c4e746b90..ac2376d59a 100644 --- a/poky/meta/classes-recipe/image-artifact-names.bbclass +++ b/poky/meta/classes-recipe/image-artifact-names.bbclass @@ -11,8 +11,20 @@ IMAGE_BASENAME ?= "${PN}" IMAGE_VERSION_SUFFIX ?= "-${DATETIME}" IMAGE_VERSION_SUFFIX[vardepsexclude] += "DATETIME SOURCE_DATE_EPOCH" -IMAGE_NAME ?= "${IMAGE_BASENAME}-${MACHINE}${IMAGE_VERSION_SUFFIX}" -IMAGE_LINK_NAME ?= "${IMAGE_BASENAME}-${MACHINE}" +IMAGE_NAME ?= "${IMAGE_LINK_NAME}${IMAGE_VERSION_SUFFIX}" +IMAGE_LINK_NAME ?= "${IMAGE_BASENAME}${IMAGE_MACHINE_SUFFIX}" + +# This needs to stay in sync with IMAGE_LINK_NAME, but with INITRAMFS_IMAGE instead of IMAGE_BASENAME +INITRAMFS_IMAGE_NAME ?= "${@['${INITRAMFS_IMAGE}${IMAGE_MACHINE_SUFFIX}', ''][d.getVar('INITRAMFS_IMAGE') == '']}" + +# The default DEPLOY_DIR_IMAGE is ${MACHINE} directory: +# meta/conf/bitbake.conf:DEPLOY_DIR_IMAGE ?= "${DEPLOY_DIR}/images/${MACHINE}" +# so many people find it unnecessary to include this suffix to every image +# stored there, but other people often fetch various images for different +# MACHINEs to the same downloads directory and then the suffix is very helpful +# add separate variable for projects to decide which scheme works best for them +# without understanding the IMAGE_NAME/IMAGE_LINK_NAME structure. +IMAGE_MACHINE_SUFFIX ??= "-${MACHINE}" # IMAGE_NAME is the base name for everything produced when building images. # The actual image that contains the rootfs has an additional suffix (.rootfs diff --git a/poky/meta/classes-recipe/image_types.bbclass b/poky/meta/classes-recipe/image_types.bbclass index ae00728a74..bbddfaf272 100644 --- a/poky/meta/classes-recipe/image_types.bbclass +++ b/poky/meta/classes-recipe/image_types.bbclass @@ -161,11 +161,7 @@ UBI_VOLTYPE ?= "dynamic" UBI_IMGTYPE ?= "ubifs" write_ubi_config() { - if [ -z "$1" ]; then - local vname="" - else - local vname="_$1" - fi + local vname="$1" cat <<EOF > ubinize${vname}-${IMAGE_NAME}.cfg [ubifs] @@ -187,7 +183,12 @@ multiubi_mkfs() { bbfatal "MKUBIFS_ARGS and UBINIZE_ARGS have to be set, see http://www.linux-mtd.infradead.org/faq/ubifs.html for details" fi - write_ubi_config "$3" + if [ -z "$3" ]; then + local vname="" + else + local vname="_$3" + fi + write_ubi_config "${vname}" if [ -n "$vname" ]; then mkfs.ubifs -r ${IMAGE_ROOTFS} -o ${IMGDEPLOYDIR}/${IMAGE_NAME}${vname}${IMAGE_NAME_SUFFIX}.ubifs ${mkubifs_args} @@ -212,7 +213,10 @@ multiubi_mkfs() { fi } +MULTIUBI_ARGS = "MKUBIFS_ARGS UBINIZE_ARGS" + IMAGE_CMD:multiubi () { + ${@' '.join(['%s_%s="%s";' % (arg, name, d.getVar('%s_%s' % (arg, name))) for arg in d.getVar('MULTIUBI_ARGS').split() for name in d.getVar('MULTIUBI_BUILD').split()])} # Split MKUBIFS_ARGS_<name> and UBINIZE_ARGS_<name> for name in ${MULTIUBI_BUILD}; do eval local mkubifs_args=\"\$MKUBIFS_ARGS_${name}\" diff --git a/poky/meta/classes-recipe/kernel-artifact-names.bbclass b/poky/meta/classes-recipe/kernel-artifact-names.bbclass index 311075c68d..1a7611a15e 100644 --- a/poky/meta/classes-recipe/kernel-artifact-names.bbclass +++ b/poky/meta/classes-recipe/kernel-artifact-names.bbclass @@ -12,7 +12,7 @@ inherit image-artifact-names -KERNEL_ARTIFACT_NAME ?= "${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" +KERNEL_ARTIFACT_NAME ?= "${PKGE}-${PKGV}-${PKGR}${IMAGE_MACHINE_SUFFIX}${IMAGE_VERSION_SUFFIX}" KERNEL_ARTIFACT_LINK_NAME ?= "${MACHINE}" KERNEL_ARTIFACT_BIN_EXT ?= ".bin" diff --git a/poky/meta/classes-recipe/kernel.bbclass b/poky/meta/classes-recipe/kernel.bbclass index 3f9c6c00e6..aefa0d21bc 100644 --- a/poky/meta/classes-recipe/kernel.bbclass +++ b/poky/meta/classes-recipe/kernel.bbclass @@ -33,7 +33,6 @@ INHIBIT_DEFAULT_DEPS = "1" KERNEL_IMAGETYPE ?= "zImage" INITRAMFS_IMAGE ?= "" -INITRAMFS_IMAGE_NAME ?= "${@['${INITRAMFS_IMAGE}-${MACHINE}', ''][d.getVar('INITRAMFS_IMAGE') == '']}" INITRAMFS_TASK ?= "" INITRAMFS_IMAGE_BUNDLE ?= "" INITRAMFS_DEPLOY_DIR_IMAGE ?= "${DEPLOY_DIR_IMAGE}" @@ -660,7 +659,7 @@ do_savedefconfig() { do_savedefconfig[nostamp] = "1" addtask savedefconfig after do_configure -inherit cml1 +inherit cml1 pkgconfig # Need LD, HOSTLDFLAGS and more for config operations KCONFIG_CONFIG_COMMAND:append = " ${EXTRA_OEMAKE}" diff --git a/poky/meta/classes-recipe/libc-package.bbclass b/poky/meta/classes-recipe/libc-package.bbclass index 8a99f73ae7..bf160b115d 100644 --- a/poky/meta/classes-recipe/libc-package.bbclass +++ b/poky/meta/classes-recipe/libc-package.bbclass @@ -268,7 +268,8 @@ python package_do_split_gconvs () { "riscv32": " --uint32-align=4 --little-endian ", \ "i586": " --uint32-align=4 --little-endian ", \ "i686": " --uint32-align=4 --little-endian ", \ - "x86_64": " --uint32-align=4 --little-endian " } + "x86_64": " --uint32-align=4 --little-endian ", \ + "loongarch64": " --uint32-align=4 --little-endian " } if target_arch in locale_arch_options: localedef_opts = locale_arch_options[target_arch] diff --git a/poky/meta/classes-recipe/manpages.bbclass b/poky/meta/classes-recipe/manpages.bbclass index 693fb53671..e9ca2f895b 100644 --- a/poky/meta/classes-recipe/manpages.bbclass +++ b/poky/meta/classes-recipe/manpages.bbclass @@ -23,17 +23,7 @@ pkg_postinst:${MAN_PKG}:append () { if ${@bb.utils.contains('PACKAGECONFIG', 'manpages', 'true', 'false', d)}; then if test -n "$D"; then if ${@bb.utils.contains('MACHINE_FEATURES', 'qemu-usermode', 'true', 'false', d)}; then - sed "s:\(\s\)/:\1$D/:g" $D${sysconfdir}/man_db.conf | ${@qemu_run_binary(d, '$D', '${bindir}/mandb')} -C - -u -q $D${mandir} - chown -R root:root $D${mandir} - - mkdir -p $D${localstatedir}/cache/man - cd $D${mandir} - find . -name index.db | while read index; do - mkdir -p $D${localstatedir}/cache/man/$(dirname ${index}) - mv ${index} $D${localstatedir}/cache/man/${index} - chown man:man $D${localstatedir}/cache/man/${index} - done - cd - + $INTERCEPT_DIR/postinst_intercept update_mandb ${PKG} mlprefix=${MLPREFIX} binprefix=${MLPREFIX} bindir=${bindir} sysconfdir=${sysconfdir} mandir=${mandir} else $INTERCEPT_DIR/postinst_intercept delay_to_first_boot ${PKG} mlprefix=${MLPREFIX} fi diff --git a/poky/meta/classes-recipe/meson-routines.bbclass b/poky/meta/classes-recipe/meson-routines.bbclass index 6086fce9d9..a944a8fff1 100644 --- a/poky/meta/classes-recipe/meson-routines.bbclass +++ b/poky/meta/classes-recipe/meson-routines.bbclass @@ -23,6 +23,8 @@ def meson_cpu_family(var, d): return 'arm' elif arch == 'aarch64_be': return 'aarch64' + elif arch == 'loongarch64': + return 'loongarch64' elif arch == 'mipsel': return 'mips' elif arch == 'mips64el': diff --git a/poky/meta/classes-recipe/npm.bbclass b/poky/meta/classes-recipe/npm.bbclass index 20350cea25..639f461a3a 100644 --- a/poky/meta/classes-recipe/npm.bbclass +++ b/poky/meta/classes-recipe/npm.bbclass @@ -82,7 +82,7 @@ def npm_pack(env, srcdir, workdir): subprocess.run(['tar', 'czf', tarball, '--exclude', './node-modules', '--exclude-vcs', - '--transform', 's,^\./,package/,', + '--transform', r's,^\./,package/,', '--mtime', '1985-10-26T08:15:00.000Z', '.'], check = True, cwd = srcdir) diff --git a/poky/meta/classes-recipe/populate_sdk_ext.bbclass b/poky/meta/classes-recipe/populate_sdk_ext.bbclass index de74a7524c..2e6673bcd9 100644 --- a/poky/meta/classes-recipe/populate_sdk_ext.bbclass +++ b/poky/meta/classes-recipe/populate_sdk_ext.bbclass @@ -719,7 +719,7 @@ sdk_ext_postinst() { # A bit of another hack, but we need this in the path only for devtool # so put it at the end of $PATH. - echo "export PATH=$target_sdk_dir/sysroots/${SDK_SYS}${bindir_nativesdk}:\$PATH" >> $env_setup_script + echo "export PATH=\"$target_sdk_dir/sysroots/${SDK_SYS}${bindir_nativesdk}:\$PATH\"" >> $env_setup_script echo "printf 'SDK environment now set up; additionally you may now run devtool to perform development tasks.\nRun devtool --help for further details.\n'" >> $env_setup_script diff --git a/poky/meta/classes-recipe/ptest.bbclass b/poky/meta/classes-recipe/ptest.bbclass index 0383206a6d..a1c3c3f1a6 100644 --- a/poky/meta/classes-recipe/ptest.bbclass +++ b/poky/meta/classes-recipe/ptest.bbclass @@ -138,5 +138,5 @@ def package_qa_check_missing_ptest(pn, d, messages): return enabled_ptests = " ".join([d.getVar('PTESTS_FAST'), d.getVar('PTESTS_SLOW'), d.getVar('PTESTS_PROBLEMS')]).split() - if (pn + "-ptest").replace(d.getVar('MLPREFIX'), '') not in enabled_ptests: + if pn.replace(d.getVar('MLPREFIX'), '') not in enabled_ptests: oe.qa.handle_error("missing-ptest", "supports ptests but is not included in oe-core's ptest-packagelists.inc", d) diff --git a/poky/meta/classes-recipe/pypi.bbclass b/poky/meta/classes-recipe/pypi.bbclass index aab04c638f..f510bfed06 100644 --- a/poky/meta/classes-recipe/pypi.bbclass +++ b/poky/meta/classes-recipe/pypi.bbclass @@ -15,11 +15,13 @@ def pypi_package(d): PYPI_PACKAGE ?= "${@pypi_package(d)}" PYPI_PACKAGE_EXT ?= "tar.gz" PYPI_ARCHIVE_NAME ?= "${PYPI_PACKAGE}-${PV}.${PYPI_PACKAGE_EXT}" +PYPI_ARCHIVE_NAME_PREFIX ?= "" def pypi_src_uri(d): package = d.getVar('PYPI_PACKAGE') archive_name = d.getVar('PYPI_ARCHIVE_NAME') - return 'https://files.pythonhosted.org/packages/source/%s/%s/%s' % (package[0], package, archive_name) + archive_downloadname = d.getVar('PYPI_ARCHIVE_NAME_PREFIX') + archive_name + return 'https://files.pythonhosted.org/packages/source/%s/%s/%s;downloadfilename=%s' % (package[0], package, archive_name, archive_downloadname) PYPI_SRC_URI ?= "${@pypi_src_uri(d)}" diff --git a/poky/meta/classes-recipe/rust-target-config.bbclass b/poky/meta/classes-recipe/rust-target-config.bbclass index 5e71546fee..21a56ede3e 100644 --- a/poky/meta/classes-recipe/rust-target-config.bbclass +++ b/poky/meta/classes-recipe/rust-target-config.bbclass @@ -245,6 +245,14 @@ TARGET_POINTER_WIDTH[riscv64gc] = "64" TARGET_C_INT_WIDTH[riscv64gc] = "64" MAX_ATOMIC_WIDTH[riscv64gc] = "64" +## loongarch64-unknown-linux-{gnu, musl} +DATA_LAYOUT[loongarch64] = "e-m:e-i8:8:32-i16:16:32-i64:64-n32:64-S128" +TARGET_ENDIAN[loongarch64] = "little" +TARGET_POINTER_WIDTH[loongarch64] = "64" +TARGET_C_INT_WIDTH[loongarch64] = "32" +MAX_ATOMIC_WIDTH[loongarch64] = "64" +FEATURES[loongarch64] = "+d" + # Convert a normal arch (HOST_ARCH, TARGET_ARCH, BUILD_ARCH, etc) to something # rust's internals won't choke on. def arch_to_rust_target_arch(arch): @@ -288,6 +296,7 @@ def llvm_cpu(d): trans['mips64el'] = "mips64" trans['riscv64'] = "generic-rv64" trans['riscv32'] = "generic-rv32" + trans['loongarch64'] = "la464" if target in ["mips", "mipsel", "powerpc"]: feat = frozenset(d.getVar('TUNE_FEATURES').split()) @@ -367,6 +376,8 @@ def rust_gen_target(d, thing, wd, arch): tspec['llvm-abiname'] = "lp64d" if "riscv32" in tspec['llvm-target']: tspec['llvm-abiname'] = "ilp32d" + if "loongarch64" in tspec['llvm-target']: + tspec['llvm-abiname'] = "lp64d" tspec['vendor'] = "unknown" tspec['target-family'] = "unix" tspec['linker'] = "{}{}gcc".format(d.getVar('CCACHE'), prefix) diff --git a/poky/meta/classes-recipe/systemd.bbclass b/poky/meta/classes-recipe/systemd.bbclass index f9c92e6c2a..9a16babe43 100644 --- a/poky/meta/classes-recipe/systemd.bbclass +++ b/poky/meta/classes-recipe/systemd.bbclass @@ -152,6 +152,7 @@ python systemd_populate_packages() { def systemd_check_services(): searchpaths = [oe.path.join(d.getVar("sysconfdir"), "systemd", "system"),] searchpaths.append(d.getVar("systemd_system_unitdir")) + searchpaths.append(d.getVar("systemd_user_unitdir")) systemd_packages = d.getVar('SYSTEMD_PACKAGES') keys = 'Also' diff --git a/poky/meta/classes-recipe/toolchain-scripts.bbclass b/poky/meta/classes-recipe/toolchain-scripts.bbclass index fa658a6596..6bfe0b6de0 100644 --- a/poky/meta/classes-recipe/toolchain-scripts.bbclass +++ b/poky/meta/classes-recipe/toolchain-scripts.bbclass @@ -53,7 +53,7 @@ toolchain_create_sdk_env_script () { for i in ${CANADIANEXTRAOS}; do EXTRAPATH="$EXTRAPATH:$sdkpathnative$bindir/${TARGET_ARCH}${TARGET_VENDOR}-$i" done - echo "export PATH=$sdkpathnative$bindir:$sdkpathnative$sbindir:$sdkpathnative$base_bindir:$sdkpathnative$base_sbindir:$sdkpathnative$bindir/../${HOST_SYS}/bin:$sdkpathnative$bindir/${TARGET_SYS}"$EXTRAPATH':$PATH' >> $script + echo "export PATH=$sdkpathnative$bindir:$sdkpathnative$sbindir:$sdkpathnative$base_bindir:$sdkpathnative$base_sbindir:$sdkpathnative$bindir/../${HOST_SYS}/bin:$sdkpathnative$bindir/${TARGET_SYS}"$EXTRAPATH':"$PATH"' >> $script echo 'export PKG_CONFIG_SYSROOT_DIR=$SDKTARGETSYSROOT' >> $script echo 'export PKG_CONFIG_PATH=$SDKTARGETSYSROOT'"$libdir"'/pkgconfig:$SDKTARGETSYSROOT'"$prefix"'/share/pkgconfig' >> $script echo 'export CONFIG_SITE=${SDKPATH}/site-config-'"${multimach_target_sys}" >> $script diff --git a/poky/meta/classes/create-spdx-2.2.bbclass b/poky/meta/classes/create-spdx-2.2.bbclass index 454dd7a7a0..13d13fe1fc 100644 --- a/poky/meta/classes/create-spdx-2.2.bbclass +++ b/poky/meta/classes/create-spdx-2.2.bbclass @@ -381,7 +381,7 @@ def collect_dep_recipes(d, doc, spdx_recipe): return dep_recipes collect_dep_recipes[vardepsexclude] += "BB_TASKDEPDATA" - +collect_dep_recipes[vardeps] += "DEPENDS" def collect_dep_sources(d, dep_recipes): import oe.sbom diff --git a/poky/meta/classes/cve-check.bbclass b/poky/meta/classes/cve-check.bbclass index 41fdf8363f..5e2da56046 100644 --- a/poky/meta/classes/cve-check.bbclass +++ b/poky/meta/classes/cve-check.bbclass @@ -260,7 +260,7 @@ def check_cves(d, patched_cves): """ Connect to the NVD database and find unpatched cves. """ - from oe.cve_check import Version + from oe.cve_check import Version, convert_cve_version pn = d.getVar("PN") real_pv = d.getVar("PV") @@ -324,6 +324,9 @@ def check_cves(d, patched_cves): if cve in cve_ignore: ignored = True + version_start = convert_cve_version(version_start) + version_end = convert_cve_version(version_end) + if (operator_start == '=' and pv == version_start) or version_start == '-': vulnerable = True else: diff --git a/poky/meta/classes/multilib.bbclass b/poky/meta/classes/multilib.bbclass index 10a4ef9c37..8a1a51aaba 100644 --- a/poky/meta/classes/multilib.bbclass +++ b/poky/meta/classes/multilib.bbclass @@ -51,6 +51,7 @@ python multilib_virtclass_handler () { e.data.setVar("RECIPE_SYSROOT", "${WORKDIR}/recipe-sysroot") e.data.setVar("STAGING_DIR_TARGET", "${WORKDIR}/recipe-sysroot") e.data.setVar("STAGING_DIR_HOST", "${WORKDIR}/recipe-sysroot") + e.data.setVar("RECIPE_SYSROOT_MANIFEST_SUBDIR", "nativesdk-" + variant) e.data.setVar("MLPREFIX", variant + "-") override = ":virtclass-multilib-" + variant e.data.setVar("OVERRIDES", e.data.getVar("OVERRIDES", False) + override) diff --git a/poky/meta/conf/abi_version.conf b/poky/meta/conf/abi_version.conf index c716bd7feb..b6643ea60b 100644 --- a/poky/meta/conf/abi_version.conf +++ b/poky/meta/conf/abi_version.conf @@ -12,4 +12,4 @@ OELAYOUT_ABI = "15" # a reset of the equivalence, for example when reproducibility issues break the # existing match data. Distros can also append to this value for the same effect. # -HASHEQUIV_HASH_VERSION = "14" +HASHEQUIV_HASH_VERSION = "15" diff --git a/poky/meta/conf/distro/include/maintainers.inc b/poky/meta/conf/distro/include/maintainers.inc index ec7ea90d16..682ec2cfdf 100644 --- a/poky/meta/conf/distro/include/maintainers.inc +++ b/poky/meta/conf/distro/include/maintainers.inc @@ -135,6 +135,7 @@ RECIPE_MAINTAINER:pn-dbus = "Chen Qi <Qi.Chen@windriver.com>" RECIPE_MAINTAINER:pn-dbus-glib = "Chen Qi <Qi.Chen@windriver.com>" RECIPE_MAINTAINER:pn-dbus-wait = "Chen Qi <Qi.Chen@windriver.com>" RECIPE_MAINTAINER:pn-debianutils = "Yi Zhao <yi.zhao@windriver.com>" +RECIPE_MAINTAINER:pn-debugedit = "Chen Qi <Qi.Chen@windriver.com>" RECIPE_MAINTAINER:pn-dejagnu = "Nathan Rossi <nathan@nathanrossi.com>" RECIPE_MAINTAINER:pn-depmodwrapper-cross = "Unassigned <unassigned@yoctoproject.org>" RECIPE_MAINTAINER:pn-desktop-file-utils = "Alexander Kanavin <alex.kanavin@gmail.com>" @@ -158,8 +159,8 @@ RECIPE_MAINTAINER:pn-e2fsprogs = "Robert Yang <liezhi.yang@windriver.com>" RECIPE_MAINTAINER:pn-ed = "Alexander Kanavin <alex.kanavin@gmail.com>" RECIPE_MAINTAINER:pn-efivar = "Ross Burton <ross.burton@arm.com>" RECIPE_MAINTAINER:pn-efibootmgr = "Ross Burton <ross.burton@arm.com>" -RECIPE_MAINTAINER:pn-elfutils = "Zang Ruochen <zangrc.fnst@fujitsu.com>" -RECIPE_MAINTAINER:pn-ell = "Zang Ruochen <zangrc.fnst@fujitsu.com>" +RECIPE_MAINTAINER:pn-elfutils = "Zang Ruochen <zangruochen@loongson.cn>" +RECIPE_MAINTAINER:pn-ell = "Zang Ruochen <zangruochen@loongson.cn>" RECIPE_MAINTAINER:pn-enchant2 = "Anuj Mittal <anuj.mittal@intel.com>" RECIPE_MAINTAINER:pn-encodings = "Unassigned <unassigned@yoctoproject.org>" RECIPE_MAINTAINER:pn-epiphany = "Alexander Kanavin <alex.kanavin@gmail.com>" @@ -414,7 +415,7 @@ RECIPE_MAINTAINER:pn-libuv = "Armin Kuster <akuster@mvista.com>" RECIPE_MAINTAINER:pn-libva = "Anuj Mittal <anuj.mittal@intel.com>" RECIPE_MAINTAINER:pn-libva-initial = "Anuj Mittal <anuj.mittal@intel.com>" RECIPE_MAINTAINER:pn-libva-utils = "Anuj Mittal <anuj.mittal@intel.com>" -RECIPE_MAINTAINER:pn-libvorbis = "Zang Ruochen <zangrc.fnst@fujitsu.com>" +RECIPE_MAINTAINER:pn-libvorbis = "Zang Ruochen <zangruochen@loongson.cn>" RECIPE_MAINTAINER:pn-libwebp = "Alexander Kanavin <alex.kanavin@gmail.com>" RECIPE_MAINTAINER:pn-libwpe = "Alexander Kanavin <alex.kanavin@gmail.com>" RECIPE_MAINTAINER:pn-libx11 = "Unassigned <unassigned@yoctoproject.org>" @@ -608,7 +609,7 @@ RECIPE_MAINTAINER:pn-python3-chardet = "Tim Orling <tim.orling@konsulko.com>" RECIPE_MAINTAINER:pn-python3-cryptography = "Tim Orling <tim.orling@konsulko.com>" RECIPE_MAINTAINER:pn-python3-cryptography-vectors = "Tim Orling <tim.orling@konsulko.com>" RECIPE_MAINTAINER:pn-python3-cython = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>" -RECIPE_MAINTAINER:pn-python3-dbus = "Zang Ruochen <zangrc.fnst@fujitsu.com>" +RECIPE_MAINTAINER:pn-python3-dbus = "Zang Ruochen <zangruochen@loongson.cn>" RECIPE_MAINTAINER:pn-python3-dbusmock = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>" RECIPE_MAINTAINER:pn-python3-docutils = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>" RECIPE_MAINTAINER:pn-python3-dtschema = "Bruce Ashfield <bruce.ashfield@gmail.com>" @@ -647,8 +648,8 @@ RECIPE_MAINTAINER:pn-python3-numpy = "Oleksandr Kravchuk <open.source@oleksandr- RECIPE_MAINTAINER:pn-python3-packaging = "Tim Orling <tim.orling@konsulko.com>" RECIPE_MAINTAINER:pn-python3-pathlib2 = "Tim Orling <tim.orling@konsulko.com>" RECIPE_MAINTAINER:pn-python3-pathspec = "Ross Burton <ross.burton@arm.com>" -RECIPE_MAINTAINER:pn-python3-pbr = "Zang Ruochen <zangrc.fnst@fujitsu.com>" -RECIPE_MAINTAINER:pn-python3-pip = "Zang Ruochen <zangrc.fnst@fujitsu.com>" +RECIPE_MAINTAINER:pn-python3-pbr = "Zang Ruochen <zangruochen@loongson.cn>" +RECIPE_MAINTAINER:pn-python3-pip = "Zang Ruochen <zangruochen@loongson.cn>" RECIPE_MAINTAINER:pn-python3-pluggy = "Tim Orling <tim.orling@konsulko.com>" RECIPE_MAINTAINER:pn-python3-ply = "Tim Orling <tim.orling@konsulko.com>" RECIPE_MAINTAINER:pn-python3-poetry-core = "Tim Orling <tim.orling@konsulko.com>" @@ -656,11 +657,11 @@ RECIPE_MAINTAINER:pn-python3-pretend = "Tim Orling <tim.orling@konsulko.com>" RECIPE_MAINTAINER:pn-python3-psutil = "Tim Orling <tim.orling@konsulko.com>" RECIPE_MAINTAINER:pn-python3-py = "Tim Orling <tim.orling@konsulko.com>" RECIPE_MAINTAINER:pn-python3-pyasn1 = "Tim Orling <tim.orling@konsulko.com>" -RECIPE_MAINTAINER:pn-python3-pycairo = "Zang Ruochen <zangrc.fnst@fujitsu.com>" +RECIPE_MAINTAINER:pn-python3-pycairo = "Zang Ruochen <zangruochen@loongson.cn>" RECIPE_MAINTAINER:pn-python3-pycparser = "Tim Orling <tim.orling@konsulko.com>" RECIPE_MAINTAINER:pn-python3-pyelftools = "Joshua Watt <JPEWhacker@gmail.com>" RECIPE_MAINTAINER:pn-python3-pygments = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>" -RECIPE_MAINTAINER:pn-python3-pygobject = "Zang Ruochen <zangrc.fnst@fujitsu.com>" +RECIPE_MAINTAINER:pn-python3-pygobject = "Zang Ruochen <zangruochen@loongson.cn>" RECIPE_MAINTAINER:pn-python3-pyopenssl = "Tim Orling <tim.orling@konsulko.com>" RECIPE_MAINTAINER:pn-python3-pyparsing = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>" RECIPE_MAINTAINER:pn-python3-pyproject-hooks = "Ross Burton <ross.burton@arm.com>" @@ -680,7 +681,7 @@ RECIPE_MAINTAINER:pn-python3-semantic-version = "Tim Orling <tim.orling@konsulko RECIPE_MAINTAINER:pn-python3-setuptools = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>" RECIPE_MAINTAINER:pn-python3-setuptools-rust = "Tim Orling <tim.orling@konsulko.com>" RECIPE_MAINTAINER:pn-python3-setuptools-scm = "Tim Orling <tim.orling@konsulko.com>" -RECIPE_MAINTAINER:pn-python3-six = "Zang Ruochen <zangrc.fnst@fujitsu.com>" +RECIPE_MAINTAINER:pn-python3-six = "Zang Ruochen <zangruochen@loongson.cn>" RECIPE_MAINTAINER:pn-python3-smartypants = "Alexander Kanavin <alex.kanavin@gmail.com>" RECIPE_MAINTAINER:pn-python3-smmap = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>" RECIPE_MAINTAINER:pn-python3-snowballstemmer = "Tim Orling <tim.orling@konsulko.com>" @@ -699,6 +700,7 @@ RECIPE_MAINTAINER:pn-python3-toml = "Tim Orling <tim.orling@konsulko.com>" RECIPE_MAINTAINER:pn-python3-tomli = "Tim Orling <tim.orling@konsulko.com>" RECIPE_MAINTAINER:pn-python3-typing-extensions = "Tim Orling <tim.orling@konsulko.com>" RECIPE_MAINTAINER:pn-python3-typogrify = "Alexander Kanavin <alex.kanavin@gmail.com>" +RECIPE_MAINTAINER:pn-python3-unittest-automake-output = "Ross Burton <ross.burton@arm.com>" RECIPE_MAINTAINER:pn-python3-urllib3 = "Tim Orling <tim.orling@konsulko.com>" RECIPE_MAINTAINER:pn-python3-vcversioner = "Bruce Ashfield <bruce.ashfield@gmail.com>" RECIPE_MAINTAINER:pn-python3-wcwidth = "Tim Orling <tim.orling@konsulko.com>" diff --git a/poky/meta/conf/distro/include/ptest-packagelists.inc b/poky/meta/conf/distro/include/ptest-packagelists.inc index 0681b4b7a2..d60ebb38fc 100644 --- a/poky/meta/conf/distro/include/ptest-packagelists.inc +++ b/poky/meta/conf/distro/include/ptest-packagelists.inc @@ -4,137 +4,137 @@ # ptests which take less than ~30s each # PTESTS_FAST = "\ - acl-ptest \ - apr-util-ptest \ - attr-ptest \ - babeltrace-ptest \ - babeltrace2-ptest \ - bc-ptest \ - bluez5-ptest \ - busybox-ptest \ - cpio-ptest \ - diffstat-ptest \ - diffutils-ptest \ - ethtool-ptest \ - expat-ptest \ - findutils-ptest \ - flex-ptest \ - gawk-ptest \ - gdbm-ptest \ - gdk-pixbuf-ptest \ - glib-networking-ptest \ - gzip-ptest \ - json-c-ptest \ - json-glib-ptest \ - libconvert-asn1-perl-ptest \ - liberror-perl-ptest \ - libgpg-error-ptest\ - libnl-ptest \ - libpcre-ptest \ - libssh2-ptest \ - libtimedate-perl-ptest \ - libtest-fatal-perl-ptest \ - libtest-needs-perl-ptest \ - libtest-warnings-perl-ptest \ - libtry-tiny-perl-ptest \ - liburi-perl-ptest \ - libusb1-ptest \ - libxml-namespacesupport-perl-ptest \ - libxml-perl-ptest \ - libxml-parser-perl-ptest \ - libxml-sax-perl-ptest \ - libxml-sax-base-perl-ptest \ - libxml-simple-perl-ptest \ - libxml2-ptest \ - lua-ptest \ - lzo-ptest \ - m4-ptest \ - nettle-ptest \ - opkg-ptest \ - pango-ptest \ - popt-ptest \ - python3-atomicwrites-ptest \ - python3-bcrypt-ptest \ - python3-hypothesis-ptest \ - python3-jinja2-ptest \ - python3-jsonpointer-ptest \ - python3-markupsafe-ptest \ - python3-more-itertools-ptest \ - python3-pluggy-ptest \ - python3-pyasn1-ptest \ - python3-pytz-ptest \ - python3-wcwidth-ptest \ - python3-webcolors-ptest \ - qemu-ptest \ - quilt-ptest \ - sed-ptest \ - slang-ptest \ - wayland-ptest \ - zlib-ptest \ + acl \ + apr-util \ + attr \ + babeltrace \ + babeltrace2 \ + bc \ + bluez5 \ + busybox \ + cpio \ + diffstat \ + diffutils \ + ethtool \ + expat \ + findutils \ + flex \ + gawk \ + gdbm \ + gdk-pixbuf \ + glib-networking \ + gzip \ + json-c \ + json-glib \ + libconvert-asn1-perl \ + liberror-perl \ + libgpg-error\ + libnl \ + libpcre \ + libssh2 \ + libtimedate-perl \ + libtest-fatal-perl \ + libtest-needs-perl \ + libtest-warnings-perl \ + libtry-tiny-perl \ + liburi-perl \ + libusb1 \ + libxml-namespacesupport-perl \ + libxml-perl \ + libxml-parser-perl \ + libxml-sax-perl \ + libxml-sax-base-perl \ + libxml-simple-perl \ + libxml2 \ + lua \ + lzo \ + m4 \ + nettle \ + opkg \ + pango \ + popt \ + python3-atomicwrites \ + python3-bcrypt \ + python3-hypothesis \ + python3-jinja2 \ + python3-jsonpointer \ + python3-markupsafe \ + python3-more-itertools \ + python3-pluggy \ + python3-pyasn1 \ + python3-pytz \ + python3-wcwidth \ + python3-webcolors \ + qemu \ + quilt \ + sed \ + slang \ + wayland \ + zlib \ " -PTESTS_FAST:append:libc-glibc = " glibc-tests-ptest" -PTESTS_PROBLEMS:remove:libc-glibc = "glibc-tests-ptest" -PTESTS_FAST:remove:mips64 = "qemu-ptest" -PTESTS_PROBLEMS:append:mips64 = " qemu-ptest" -PTESTS_FAST:remove:riscv32 = "qemu-ptest" -PTESTS_PROBLEMS:append:riscv32 = " qemu-ptest" +PTESTS_FAST:append:libc-glibc = " glibc-tests" +PTESTS_PROBLEMS:remove:libc-glibc = "glibc-tests" +PTESTS_FAST:remove:mips64 = "qemu" +PTESTS_PROBLEMS:append:mips64 = " qemu" +PTESTS_FAST:remove:riscv32 = "qemu" +PTESTS_PROBLEMS:append:riscv32 = " qemu" PTESTS_SLOW = "\ - apr-ptest \ - bzip2-ptest \ - coreutils-ptest \ - curl-ptest \ - dbus-ptest \ - e2fsprogs-ptest \ - elfutils-ptest \ - gettext-ptest \ - glib-2.0-ptest \ - gnutls-ptest \ - gstreamer1.0-ptest \ - libevent-ptest \ - libgcrypt-ptest \ - libmodule-build-perl-ptest \ - lttng-tools-ptest \ - openssh-ptest \ - openssl-ptest \ - parted-ptest \ - perl-ptest \ - python3-cryptography-ptest \ - python3-ptest \ - strace-ptest \ - tcl-ptest \ - util-linux-ptest \ - valgrind-ptest \ + apr \ + bzip2 \ + coreutils \ + curl \ + dbus \ + e2fsprogs \ + elfutils \ + gettext \ + glib-2.0 \ + gnutls \ + gstreamer1.0 \ + libevent \ + libgcrypt \ + libmodule-build-perl \ + lttng-tools \ + openssh \ + openssl \ + parted \ + perl \ + python3-cryptography \ + python3 \ + strace \ + tcl \ + util-linux \ + valgrind \ " -PTESTS_SLOW:remove:riscv64 = "valgrind-ptest" -PTESTS_PROBLEMS:append:riscv64 = " valgrind-ptest" -PTESTS_SLOW:append:libc-musl = " libc-test-ptest" -PTESTS_SLOW:remove:x86 = "valgrind-ptest" -PTESTS_PROBLEMS:append:x86 = " valgrind-ptest" +PTESTS_SLOW:remove:riscv64 = "valgrind" +PTESTS_PROBLEMS:append:riscv64 = " valgrind" +PTESTS_SLOW:append:libc-musl = " libc-test" +PTESTS_SLOW:remove:x86 = "valgrind" +PTESTS_PROBLEMS:append:x86 = " valgrind" -# ruby-ptest \ # Timeout -# lz4-ptest \ # Needs a rewrite -# rt-tests-ptest \ # Needs to be checked whether it runs at all -# bash-ptest \ # Test outcomes are non-deterministic by design -# ifupdown-ptest \ # Tested separately in lib/oeqa/selftest/cases/imagefeatures.py -# mdadm-ptest \ # Tests rely on non-deterministic sleep() amounts -# libinput-ptest \ # Tests need an unloaded system to be reliable -# libpam-ptest \ # Needs pam DISTRO_FEATURE -# numactl-ptest \ # qemu not (yet) configured for numa; all tests are skipped -# libseccomp-ptest \ # tests failed: 38; add to slow tests once addressed -# python3-numpy-ptest \ # requires even more RAM and (possibly) disk space; multiple failures +# ruby \ # Timeout +# lz4 \ # Needs a rewrite +# rt-tests \ # Needs to be checked whether it runs at all +# bash \ # Test outcomes are non-deterministic by design +# ifupdown \ # Tested separately in lib/oeqa/selftest/cases/imagefeatures.py +# mdadm \ # Tests rely on non-deterministic sleep() amounts +# libinput \ # Tests need an unloaded system to be reliable +# libpam \ # Needs pam DISTRO_FEATURE +# numactl \ # qemu not (yet) configured for numa; all tests are skipped +# libseccomp \ # tests failed: 38; add to slow tests once addressed +# python3-numpy \ # requires even more RAM and (possibly) disk space; multiple failures PTESTS_PROBLEMS = "\ - ruby-ptest \ - lz4-ptest \ - rt-tests-ptest \ - bash-ptest \ - ifupdown-ptest \ - mdadm-ptest \ - libinput-ptest \ - libpam-ptest \ - libseccomp-ptest \ - numactl-ptest \ - python3-numpy-ptest \ + ruby \ + lz4 \ + rt-tests \ + bash \ + ifupdown \ + mdadm \ + libinput \ + libpam \ + libseccomp \ + numactl \ + python3-numpy \ " diff --git a/poky/meta/conf/image-uefi.conf b/poky/meta/conf/image-uefi.conf index 04a151f3a4..18351e7e3c 100644 --- a/poky/meta/conf/image-uefi.conf +++ b/poky/meta/conf/image-uefi.conf @@ -16,6 +16,7 @@ EFI_ARCH:aarch64 = "aa64" EFI_ARCH:arm = "arm" EFI_ARCH:riscv32 = "riscv32" EFI_ARCH:riscv64 = "riscv64" +EFI_ARCH:loongarch64 = "loongarch64" # Determine name of bootloader image EFI_BOOT_IMAGE ?= "boot${EFI_ARCH}.efi" diff --git a/poky/meta/conf/machine/include/x86/qemuboot-x86.inc b/poky/meta/conf/machine/include/x86/qemuboot-x86.inc index dd7e7c9384..6ae03633ae 100644 --- a/poky/meta/conf/machine/include/x86/qemuboot-x86.inc +++ b/poky/meta/conf/machine/include/x86/qemuboot-x86.inc @@ -1,11 +1,11 @@ # For runqemu IMAGE_CLASSES += "qemuboot" QB_SMP ?= "-smp 4" -QB_CPU:x86 = "-cpu IvyBridge -machine q35,i8042=off" -QB_CPU_KVM:x86 = "-cpu IvyBridge -machine q35,i8042=off" +QB_CPU:x86 ?= "-cpu IvyBridge -machine q35,i8042=off" +QB_CPU_KVM:x86 ?= "-cpu IvyBridge -machine q35,i8042=off" -QB_CPU:x86-64 = "-cpu IvyBridge -machine q35,i8042=off" -QB_CPU_KVM:x86-64 = "-cpu IvyBridge -machine q35,i8042=off" +QB_CPU:x86-64 ?= "-cpu IvyBridge -machine q35,i8042=off" +QB_CPU_KVM:x86-64 ?= "-cpu IvyBridge -machine q35,i8042=off" QB_AUDIO_DRV = "alsa" QB_AUDIO_OPT = "-device AC97" diff --git a/poky/meta/lib/oe/cve_check.py b/poky/meta/lib/oe/cve_check.py index 4f1d80f050..dbaa0b373a 100644 --- a/poky/meta/lib/oe/cve_check.py +++ b/poky/meta/lib/oe/cve_check.py @@ -179,3 +179,42 @@ def update_symlinks(target_path, link_path): if os.path.exists(os.path.realpath(link_path)): os.remove(link_path) os.symlink(os.path.basename(target_path), link_path) + + +def convert_cve_version(version): + """ + This function converts from CVE format to Yocto version format. + eg 8.3_p1 -> 8.3p1, 6.2_rc1 -> 6.2-rc1 + + Unless it is redefined using CVE_VERSION in the recipe, + cve_check uses the version in the name of the recipe (${PV}) + to check vulnerabilities against a CVE in the database downloaded from NVD. + + When the version has an update, i.e. + "p1" in OpenSSH 8.3p1, + "-rc1" in linux kernel 6.2-rc1, + the database stores the version as version_update (8.3_p1, 6.2_rc1). + Therefore, we must transform this version before comparing to the + recipe version. + + In this case, the parameter of the function is 8.3_p1. + If the version uses the Release Candidate format, "rc", + this function replaces the '_' by '-'. + If the version uses the Update format, "p", + this function removes the '_' completely. + """ + import re + + matches = re.match('^([0-9.]+)_((p|rc)[0-9]+)$', version) + + if not matches: + return version + + version = matches.group(1) + update = matches.group(2) + + if matches.group(3) == "rc": + return version + '-' + update + + return version + update + diff --git a/poky/meta/lib/oe/package.py b/poky/meta/lib/oe/package.py index c9eb75d852..7a6b31957a 100644 --- a/poky/meta/lib/oe/package.py +++ b/poky/meta/lib/oe/package.py @@ -1823,18 +1823,18 @@ def process_pkgconfig(pkgfiles, d): with open(file, 'r') as f: lines = f.readlines() for l in lines: - m = var_re.match(l) - if m: - name = m.group(1) - val = m.group(2) - pd.setVar(name, pd.expand(val)) - continue m = field_re.match(l) if m: hdr = m.group(1) exp = pd.expand(m.group(2)) if hdr == 'Requires': pkgconfig_needed[pkg] += exp.replace(',', ' ').split() + continue + m = var_re.match(l) + if m: + name = m.group(1) + val = m.group(2) + pd.setVar(name, pd.expand(val)) for pkg in packages.split(): pkgs_file = os.path.join(shlibswork_dir, pkg + ".pclist") diff --git a/poky/meta/lib/oe/package_manager/__init__.py b/poky/meta/lib/oe/package_manager/__init__.py index a6bf2fe219..0c313190cf 100644 --- a/poky/meta/lib/oe/package_manager/__init__.py +++ b/poky/meta/lib/oe/package_manager/__init__.py @@ -122,7 +122,8 @@ def generate_locale_archive(d, rootfs, target_arch, localedir): "riscv32": ["--uint32-align=4", "--little-endian"], "i586": ["--uint32-align=4", "--little-endian"], "i686": ["--uint32-align=4", "--little-endian"], - "x86_64": ["--uint32-align=4", "--little-endian"] + "x86_64": ["--uint32-align=4", "--little-endian"], + "loongarch64": ["--uint32-align=4", "--little-endian"] } if target_arch in locale_arch_options: arch_options = locale_arch_options[target_arch] diff --git a/poky/meta/lib/oeqa/core/context.py b/poky/meta/lib/oeqa/core/context.py index 2abe353d27..9313271f58 100644 --- a/poky/meta/lib/oeqa/core/context.py +++ b/poky/meta/lib/oeqa/core/context.py @@ -81,7 +81,7 @@ class OETestContext(object): def runTests(self, processes=None, skips=[]): self.runner = self.runnerClass(self, descriptions=False, verbosity=2) - # Dinamically skip those tests specified though arguments + # Dynamically skip those tests specified though arguments self.skipTests(skips) self._run_start_time = time.time() diff --git a/poky/meta/lib/oeqa/core/loader.py b/poky/meta/lib/oeqa/core/loader.py index 11978213b8..f25b5970e9 100644 --- a/poky/meta/lib/oeqa/core/loader.py +++ b/poky/meta/lib/oeqa/core/loader.py @@ -37,7 +37,7 @@ def _find_duplicated_modules(suite, directory): if path: raise ImportError("Duplicated %s module found in %s" % (module, path)) -def _built_modules_dict(modules): +def _built_modules_dict(modules, logger): modules_dict = {} if modules == None: @@ -48,6 +48,9 @@ def _built_modules_dict(modules): # characters, whereas class names do m = re.match(r'^([0-9a-z_.]+)(?:\.(\w[^.]*)(?:\.([^.]+))?)?$', module, flags=re.ASCII) if not m: + logger.warn("module '%s' was skipped from selected modules, "\ + "because it doesn't match with module name assumptions: "\ + "package and module names do not contain upper case characters, whereas class names do" % module) continue module_name, class_name, test_name = m.groups() @@ -58,6 +61,8 @@ def _built_modules_dict(modules): modules_dict[module_name][class_name] = [] if test_name and test_name not in modules_dict[module_name][class_name]: modules_dict[module_name][class_name].append(test_name) + if modules and not modules_dict: + raise OEQATestNotFound("All selected modules were skipped, this would trigger selftest with all tests and -r ignored.") return modules_dict @@ -71,7 +76,7 @@ class OETestLoader(unittest.TestLoader): *args, **kwargs): self.tc = tc - self.modules = _built_modules_dict(modules) + self.modules = _built_modules_dict(modules, tc.logger) self.tests = tests self.modules_required = modules_required diff --git a/poky/meta/lib/oeqa/runtime/cases/rtc.py b/poky/meta/lib/oeqa/runtime/cases/rtc.py index b2159b1134..6e45c5db4f 100644 --- a/poky/meta/lib/oeqa/runtime/cases/rtc.py +++ b/poky/meta/lib/oeqa/runtime/cases/rtc.py @@ -5,6 +5,7 @@ # from oeqa.runtime.case import OERuntimeTestCase from oeqa.core.decorator.depends import OETestDepends +from oeqa.core.decorator.data import skipIfFeature from oeqa.runtime.decorator.package import OEHasPackage import re @@ -21,12 +22,14 @@ class RTCTest(OERuntimeTestCase): self.logger.debug('Starting systemd-timesyncd daemon') self.target.run('systemctl enable --now --runtime systemd-timesyncd') + @skipIfFeature('read-only-rootfs', + 'Test does not work with read-only-rootfs in IMAGE_FEATURES') @OETestDepends(['ssh.SSHTest.test_ssh']) @OEHasPackage(['coreutils', 'busybox']) def test_rtc(self): (status, output) = self.target.run('hwclock -r') self.assertEqual(status, 0, msg='Failed to get RTC time, output: %s' % output) - + (status, current_datetime) = self.target.run('date +"%m%d%H%M%Y"') self.assertEqual(status, 0, msg='Failed to get system current date & time, output: %s' % current_datetime) @@ -37,7 +40,6 @@ class RTCTest(OERuntimeTestCase): (status, output) = self.target.run('date %s' % current_datetime) self.assertEqual(status, 0, msg='Failed to reset system date & time, output: %s' % output) - + (status, output) = self.target.run('hwclock -w') self.assertEqual(status, 0, msg='Failed to reset RTC time, output: %s' % output) - diff --git a/poky/meta/lib/oeqa/sdk/cases/buildepoxy.py b/poky/meta/lib/oeqa/sdk/cases/buildepoxy.py index ee515be188..147ee3e0ee 100644 --- a/poky/meta/lib/oeqa/sdk/cases/buildepoxy.py +++ b/poky/meta/lib/oeqa/sdk/cases/buildepoxy.py @@ -35,7 +35,7 @@ class EpoxyTest(OESDKTestCase): self.assertTrue(os.path.isdir(dirs["source"])) os.makedirs(dirs["build"]) - log = self._run("meson -Degl=no -Dglx=no -Dx11=false {build} {source}".format(**dirs)) + log = self._run("meson --warnlevel 1 -Degl=no -Dglx=no -Dx11=false {build} {source}".format(**dirs)) # Check that Meson thinks we're doing a cross build and not a native self.assertIn("Build type: cross build", log) self._run("ninja -C {build} -v".format(**dirs)) diff --git a/poky/meta/lib/oeqa/selftest/cases/_sstatetests_noauto.py b/poky/meta/lib/oeqa/selftest/cases/_sstatetests_noauto.py index 5f1c8df2d4..2c9584d329 100644 --- a/poky/meta/lib/oeqa/selftest/cases/_sstatetests_noauto.py +++ b/poky/meta/lib/oeqa/selftest/cases/_sstatetests_noauto.py @@ -9,7 +9,7 @@ import shutil import oeqa.utils.ftools as ftools from oeqa.utils.commands import runCmd, bitbake, get_bb_var -from oeqa.selftest.cases.sstate import SStateBase +from oeqa.selftest.cases.sstatetests import SStateBase class RebuildFromSState(SStateBase): diff --git a/poky/meta/lib/oeqa/selftest/cases/cve_check.py b/poky/meta/lib/oeqa/selftest/cases/cve_check.py index ac47af1990..9534c9775c 100644 --- a/poky/meta/lib/oeqa/selftest/cases/cve_check.py +++ b/poky/meta/lib/oeqa/selftest/cases/cve_check.py @@ -54,6 +54,25 @@ class CVECheck(OESelftestTestCase): self.assertTrue( result ,msg="Failed to compare version with suffix '1.0_patch2' < '1.0_patch3'") + def test_convert_cve_version(self): + from oe.cve_check import convert_cve_version + + # Default format + self.assertEqual(convert_cve_version("8.3"), "8.3") + self.assertEqual(convert_cve_version(""), "") + + # OpenSSL format version + self.assertEqual(convert_cve_version("1.1.1t"), "1.1.1t") + + # OpenSSH format + self.assertEqual(convert_cve_version("8.3_p1"), "8.3p1") + self.assertEqual(convert_cve_version("8.3_p22"), "8.3p22") + + # Linux kernel format + self.assertEqual(convert_cve_version("6.2_rc8"), "6.2-rc8") + self.assertEqual(convert_cve_version("6.2_rc31"), "6.2-rc31") + + def test_recipe_report_json(self): config = """ INHERIT += "cve-check" diff --git a/poky/meta/lib/oeqa/selftest/cases/devtool.py b/poky/meta/lib/oeqa/selftest/cases/devtool.py index 86014d2557..81d02017c1 100644 --- a/poky/meta/lib/oeqa/selftest/cases/devtool.py +++ b/poky/meta/lib/oeqa/selftest/cases/devtool.py @@ -276,6 +276,7 @@ class DevtoolBase(DevtoolTestCase): cls.sstate_conf = 'SSTATE_DIR = "%s"\n' % cls.devtool_sstate cls.sstate_conf += ('SSTATE_MIRRORS += "file://.* file:///%s/PATH"\n' % cls.original_sstate) + cls.sstate_conf += ('BB_HASHSERVE_UPSTREAM = "hashserv.yocto.io:8687"\n') @classmethod def tearDownClass(cls): diff --git a/poky/meta/lib/oeqa/selftest/cases/eSDK.py b/poky/meta/lib/oeqa/selftest/cases/esdk.py index 9f5de2cde7..9f5de2cde7 100644 --- a/poky/meta/lib/oeqa/selftest/cases/eSDK.py +++ b/poky/meta/lib/oeqa/selftest/cases/esdk.py diff --git a/poky/meta/lib/oeqa/selftest/cases/fitimage.py b/poky/meta/lib/oeqa/selftest/cases/fitimage.py index 1570d54dfb..7bc171e02d 100644 --- a/poky/meta/lib/oeqa/selftest/cases/fitimage.py +++ b/poky/meta/lib/oeqa/selftest/cases/fitimage.py @@ -5,7 +5,7 @@ # from oeqa.selftest.case import OESelftestTestCase -from oeqa.utils.commands import runCmd, bitbake, get_bb_var +from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars import os import re @@ -42,15 +42,14 @@ FIT_DESC = "A model description" self.write_config(config) # fitImage is created as part of linux recipe - bitbake("virtual/kernel") + image = "virtual/kernel" + bitbake(image) + bb_vars = get_bb_vars(['DEPLOY_DIR_IMAGE', 'INITRAMFS_IMAGE_NAME', 'KERNEL_FIT_LINK_NAME'], image) - image_type = "core-image-minimal" - deploy_dir_image = get_bb_var('DEPLOY_DIR_IMAGE') - machine = get_bb_var('MACHINE') - fitimage_its_path = os.path.join(deploy_dir_image, - "fitImage-its-%s-%s-%s" % (image_type, machine, machine)) - fitimage_path = os.path.join(deploy_dir_image, - "fitImage-%s-%s-%s" % (image_type, machine, machine)) + fitimage_its_path = os.path.join(bb_vars['DEPLOY_DIR_IMAGE'], + "fitImage-its-%s-%s" % (bb_vars['INITRAMFS_IMAGE_NAME'], bb_vars['KERNEL_FIT_LINK_NAME'])) + fitimage_path = os.path.join(bb_vars['DEPLOY_DIR_IMAGE'], + "fitImage-%s-%s" % (bb_vars['INITRAMFS_IMAGE_NAME'], bb_vars['KERNEL_FIT_LINK_NAME'])) self.assertTrue(os.path.exists(fitimage_its_path), "%s image tree source doesn't exist" % (fitimage_its_path)) @@ -123,15 +122,14 @@ UBOOT_MKIMAGE_SIGN_ARGS = "-c 'a smart comment'" self.write_config(config) # fitImage is created as part of linux recipe - bitbake("virtual/kernel") - - image_type = "core-image-minimal" - deploy_dir_image = get_bb_var('DEPLOY_DIR_IMAGE') - machine = get_bb_var('MACHINE') - fitimage_its_path = os.path.join(deploy_dir_image, - "fitImage-its-%s" % (machine,)) - fitimage_path = os.path.join(deploy_dir_image, - "fitImage-%s.bin" % (machine,)) + image = "virtual/kernel" + bitbake(image) + bb_vars = get_bb_vars(['DEPLOY_DIR_IMAGE', 'KERNEL_FIT_LINK_NAME'], image) + + fitimage_its_path = os.path.join(bb_vars['DEPLOY_DIR_IMAGE'], + "fitImage-its-%s" % (bb_vars['KERNEL_FIT_LINK_NAME'])) + fitimage_path = os.path.join(bb_vars['DEPLOY_DIR_IMAGE'], + "fitImage-%s.bin" % (bb_vars['KERNEL_FIT_LINK_NAME'])) self.assertTrue(os.path.exists(fitimage_its_path), "%s image tree source doesn't exist" % (fitimage_its_path)) diff --git a/poky/meta/lib/oeqa/selftest/cases/gdbserver.py b/poky/meta/lib/oeqa/selftest/cases/gdbserver.py index 3621d9c13e..9da97ae780 100644 --- a/poky/meta/lib/oeqa/selftest/cases/gdbserver.py +++ b/poky/meta/lib/oeqa/selftest/cases/gdbserver.py @@ -10,13 +10,12 @@ import shutil import concurrent.futures from oeqa.selftest.case import OESelftestTestCase -from oeqa.utils.commands import bitbake, get_bb_var, runqemu, runCmd +from oeqa.utils.commands import bitbake, get_bb_var, get_bb_vars , runqemu, runCmd class GdbServerTest(OESelftestTestCase): def test_gdb_server(self): target_arch = self.td["TARGET_ARCH"] target_sys = self.td["TARGET_SYS"] - deploy_dir = get_bb_var("DEPLOY_DIR_IMAGE") features = """ IMAGE_GEN_DEBUGFS = "1" @@ -34,11 +33,13 @@ CORE_IMAGE_EXTRA_INSTALL = "gdbserver" r = runCmd("%s --version" % gdb_binary, native_sysroot=native_sysroot, target_sys=target_sys) self.assertEqual(r.status, 0) self.assertIn("GNU gdb", r.output) + image = 'core-image-minimal' + bb_vars = get_bb_vars(['DEPLOY_DIR_IMAGE', 'IMAGE_LINK_NAME'], image) with tempfile.TemporaryDirectory(prefix="debugfs-") as debugfs: - filename = os.path.join(deploy_dir, "core-image-minimal-%s-dbg.tar.bz2" % self.td["MACHINE"]) + filename = os.path.join(bb_vars['DEPLOY_DIR_IMAGE'], "%s-dbg.tar.bz2" % bb_vars['IMAGE_LINK_NAME']) shutil.unpack_archive(filename, debugfs) - filename = os.path.join(deploy_dir, "core-image-minimal-%s.tar.bz2" % self.td["MACHINE"]) + filename = os.path.join(bb_vars['DEPLOY_DIR_IMAGE'], "%s.tar.bz2" % bb_vars['IMAGE_LINK_NAME']) shutil.unpack_archive(filename, debugfs) with runqemu("core-image-minimal", runqemuparams="nographic") as qemu: diff --git a/poky/meta/lib/oeqa/selftest/cases/imagefeatures.py b/poky/meta/lib/oeqa/selftest/cases/imagefeatures.py index af38150613..d31b43d9cc 100644 --- a/poky/meta/lib/oeqa/selftest/cases/imagefeatures.py +++ b/poky/meta/lib/oeqa/selftest/cases/imagefeatures.py @@ -6,7 +6,7 @@ from oeqa.selftest.case import OESelftestTestCase from oeqa.core.decorator import OETestTag -from oeqa.utils.commands import runCmd, bitbake, get_bb_var, runqemu +from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars, runqemu from oeqa.utils.sshcontrol import SSHControl import glob import os @@ -102,12 +102,11 @@ class ImageFeatures(OESelftestTestCase): features = 'IMAGE_FSTYPES += " ext4 ext4.bmap ext4.bmap.gz"' self.write_config(features) - image_name = 'core-image-minimal' - bitbake(image_name) + image = 'core-image-minimal' + bitbake(image) + bb_vars = get_bb_vars(['DEPLOY_DIR_IMAGE', 'IMAGE_LINK_NAME'], image) - deploy_dir_image = get_bb_var('DEPLOY_DIR_IMAGE') - link_name = get_bb_var('IMAGE_LINK_NAME', image_name) - image_path = os.path.join(deploy_dir_image, "%s.ext4" % link_name) + image_path = os.path.join(bb_vars['DEPLOY_DIR_IMAGE'], "%s.ext4" % bb_vars['IMAGE_LINK_NAME']) bmap_path = "%s.bmap" % image_path gzip_path = "%s.gz" % bmap_path @@ -120,8 +119,8 @@ class ImageFeatures(OESelftestTestCase): image_stat = os.stat(image_path) self.assertGreater(image_stat.st_size, image_stat.st_blocks * 512) - # check if the resulting gzip is valid - self.assertTrue(runCmd('gzip -t %s' % gzip_path)) + # check if the resulting gzip is valid, --force is needed in case gzip_path is a symlink + self.assertTrue(runCmd('gzip --test --force %s' % gzip_path)) def test_hypervisor_fmts(self): """ @@ -139,14 +138,13 @@ class ImageFeatures(OESelftestTestCase): features += 'IMAGE_FSTYPES += "ext4.%s"\n' % itype self.write_config(features) - image_name = 'core-image-minimal' - bitbake(image_name) + image = 'core-image-minimal' + bitbake(image) + bb_vars = get_bb_vars(['DEPLOY_DIR_IMAGE', 'IMAGE_LINK_NAME'], image) - deploy_dir_image = get_bb_var('DEPLOY_DIR_IMAGE') - link_name = get_bb_var('IMAGE_LINK_NAME', image_name) for itype in img_types: - image_path = os.path.join(deploy_dir_image, "%s.ext4.%s" % - (link_name, itype)) + image_path = os.path.join(bb_vars['DEPLOY_DIR_IMAGE'], "%s.ext4.%s" % + (bb_vars['IMAGE_LINK_NAME'], itype)) # check if result image file is in deploy directory self.assertTrue(os.path.exists(image_path)) @@ -177,13 +175,11 @@ class ImageFeatures(OESelftestTestCase): features = 'IMAGE_FSTYPES += "%s %s.sha256sum"' % (conv, conv) self.write_config(features) - image_name = 'core-image-minimal' - bitbake(image_name) - - deploy_dir_image = get_bb_var('DEPLOY_DIR_IMAGE') - link_name = get_bb_var('IMAGE_LINK_NAME', image_name) - image_path = os.path.join(deploy_dir_image, "%s.%s" % - (link_name, conv)) + image = 'core-image-minimal' + bitbake(image) + bb_vars = get_bb_vars(['DEPLOY_DIR_IMAGE', 'IMAGE_LINK_NAME'], image) + image_path = os.path.join(bb_vars['DEPLOY_DIR_IMAGE'], "%s.%s" % + (bb_vars['IMAGE_LINK_NAME'], conv)) # check if resulting image is in the deploy directory self.assertTrue(os.path.exists(image_path)) @@ -191,7 +187,7 @@ class ImageFeatures(OESelftestTestCase): # check if the resulting sha256sum agrees self.assertTrue(runCmd('cd %s;sha256sum -c %s.%s.sha256sum' % - (deploy_dir_image, link_name, conv))) + (bb_vars['DEPLOY_DIR_IMAGE'], bb_vars['IMAGE_LINK_NAME'], conv))) def test_image_fstypes(self): """ @@ -200,10 +196,10 @@ class ImageFeatures(OESelftestTestCase): Product: oe-core Author: Ed Bartosh <ed.bartosh@linux.intel.com> """ - image_name = 'core-image-minimal' + image = 'core-image-minimal' - all_image_types = set(get_bb_var("IMAGE_TYPES", image_name).split()) - skip_image_types = set(('container', 'elf', 'f2fs', 'multiubi', 'tar.zst', 'wic.zst', 'squashfs-lzo')) + all_image_types = set(get_bb_var("IMAGE_TYPES", image).split()) + skip_image_types = set(('container', 'elf', 'f2fs', 'tar.zst', 'wic.zst', 'squashfs-lzo')) img_types = all_image_types - skip_image_types config = """ @@ -211,17 +207,31 @@ IMAGE_FSTYPES += "%s" WKS_FILE = "wictestdisk.wks" MKUBIFS_ARGS ?= "-m 2048 -e 129024 -c 2047" UBINIZE_ARGS ?= "-m 2048 -p 128KiB -s 512" +MULTIUBI_BUILD += "mtd_2_128" +MKUBIFS_ARGS_mtd_2_128 ?= "-m 2048 -e 129024 -c 2047" +UBINIZE_ARGS_mtd_2_128 ?= "-m 2048 -p 128KiB -s 512" +MULTIUBI_BUILD += "mtd_4_256" +MKUBIFS_ARGS_mtd_4_256 ?= "-m 4096 -e 253952 -c 4096" +UBINIZE_ARGS_mtd_4_256 ?= "-m 4096 -p 256KiB" """ % ' '.join(img_types) self.write_config(config) - bitbake(image_name) + bitbake(image) + bb_vars = get_bb_vars(['DEPLOY_DIR_IMAGE', 'IMAGE_LINK_NAME', 'MULTIUBI_BUILD'], image) - deploy_dir_image = get_bb_var('DEPLOY_DIR_IMAGE') - link_name = get_bb_var('IMAGE_LINK_NAME', image_name) for itype in img_types: - image_path = os.path.join(deploy_dir_image, "%s.%s" % (link_name, itype)) - # check if result image is in deploy directory - self.assertTrue(os.path.exists(image_path), + if itype == 'multiubi': + # For multiubi build we need to manage MULTIUBI_BUILD entry to append + # specific name to IMAGE_LINK_NAME + for vname in bb_vars['MULTIUBI_BUILD'].split(): + image_path = os.path.join(bb_vars['DEPLOY_DIR_IMAGE'], "%s_%s.ubifs" % (bb_vars['IMAGE_LINK_NAME'], vname)) + # check if result image is in deploy directory + self.assertTrue(os.path.exists(image_path), + "%s image %s doesn't exist" % (itype, image_path)) + else: + image_path = os.path.join(bb_vars['DEPLOY_DIR_IMAGE'], "%s.%s" % (bb_vars['IMAGE_LINK_NAME'], itype)) + # check if result image is in deploy directory + self.assertTrue(os.path.exists(image_path), "%s image %s doesn't exist" % (itype, image_path)) def test_useradd_static(self): @@ -271,19 +281,20 @@ SKIP_RECIPE[busybox] = "Don't build this" Yeoh Ee Peng <ee.peng.yeoh@intel.com> """ - image_name = 'core-image-minimal' + image = 'core-image-minimal' + image_fstypes_debugfs = 'tar.bz2' features = 'IMAGE_GEN_DEBUGFS = "1"\n' - features += 'IMAGE_FSTYPES_DEBUGFS = "tar.bz2"\n' + features += 'IMAGE_FSTYPES_DEBUGFS = "%s"\n' % image_fstypes_debugfs self.write_config(features) - bitbake(image_name) - deploy_dir_image = get_bb_var('DEPLOY_DIR_IMAGE') - dbg_tar_file = os.path.join(deploy_dir_image, "*-dbg.rootfs.tar.bz2") - debug_files = glob.glob(dbg_tar_file) - self.assertNotEqual(len(debug_files), 0, 'debug filesystem not generated at %s' % dbg_tar_file) - result = runCmd('cd %s; tar xvf %s' % (deploy_dir_image, dbg_tar_file)) + bitbake(image) + bb_vars = get_bb_vars(['DEPLOY_DIR_IMAGE', 'IMAGE_LINK_NAME'], image) + + dbg_tar_file = os.path.join(bb_vars['DEPLOY_DIR_IMAGE'], "%s-dbg.%s" % (bb_vars['IMAGE_LINK_NAME'], image_fstypes_debugfs)) + self.assertTrue(os.path.exists(dbg_tar_file), 'debug filesystem not generated at %s' % dbg_tar_file) + result = runCmd('cd %s; tar xvf %s' % (bb_vars['DEPLOY_DIR_IMAGE'], dbg_tar_file)) self.assertEqual(result.status, 0, msg='Failed to extract %s: %s' % (dbg_tar_file, result.output)) - result = runCmd('find %s -name %s' % (deploy_dir_image, "udevadm")) + result = runCmd('find %s -name %s' % (bb_vars['DEPLOY_DIR_IMAGE'], "udevadm")) self.assertTrue("udevadm" in result.output, msg='Failed to find udevadm: %s' % result.output) dbg_symbols_targets = result.output.splitlines() self.assertTrue(dbg_symbols_targets, msg='Failed to split udevadm: %s' % dbg_symbols_targets) @@ -293,9 +304,33 @@ SKIP_RECIPE[busybox] = "Don't build this" def test_empty_image(self): """Test creation of image with no packages""" - bitbake('test-empty-image') - res_dir = get_bb_var('DEPLOY_DIR_IMAGE') - images = os.path.join(res_dir, "test-empty-image-*.manifest") - result = glob.glob(images) - with open(result[1],"r") as f: + image = 'test-empty-image' + bitbake(image) + bb_vars = get_bb_vars(['DEPLOY_DIR_IMAGE', 'IMAGE_LINK_NAME'], image) + manifest = os.path.join(bb_vars['DEPLOY_DIR_IMAGE'], "%s.manifest" % bb_vars['IMAGE_LINK_NAME']) + self.assertTrue(os.path.exists(manifest)) + + with open(manifest, "r") as f: self.assertEqual(len(f.read().strip()),0) + + def test_mandb(self): + """ + Test that an image containing manpages has working man and apropos commands. + """ + config = """ +DISTRO_FEATURES:append = " api-documentation" +CORE_IMAGE_EXTRA_INSTALL = "man-pages kmod-doc" +""" + self.write_config(config) + bitbake("core-image-minimal") + + with runqemu('core-image-minimal', ssh=False, runqemuparams='nographic') as qemu: + # This manpage is provided by man-pages + status, output = qemu.run_serial("apropos 8859") + self.assertEqual(status, 1, 'Failed to run apropos: %s' % (output)) + self.assertIn("iso_8859_15", output) + + # This manpage is provided by kmod + status, output = qemu.run_serial("man --pager=cat modprobe") + self.assertEqual(status, 1, 'Failed to run man: %s' % (output)) + self.assertIn("force-modversion", output) diff --git a/poky/meta/lib/oeqa/selftest/cases/minidebuginfo.py b/poky/meta/lib/oeqa/selftest/cases/minidebuginfo.py index 7947c3803c..aa1f9fa1f7 100644 --- a/poky/meta/lib/oeqa/selftest/cases/minidebuginfo.py +++ b/poky/meta/lib/oeqa/selftest/cases/minidebuginfo.py @@ -9,7 +9,7 @@ import tempfile import shutil from oeqa.selftest.case import OESelftestTestCase -from oeqa.utils.commands import bitbake, get_bb_var, runCmd +from oeqa.utils.commands import bitbake, get_bb_var, get_bb_vars, runCmd class Minidebuginfo(OESelftestTestCase): @@ -17,27 +17,28 @@ class Minidebuginfo(OESelftestTestCase): target_sys = get_bb_var("TARGET_SYS") binutils = "binutils-cross-{}".format(get_bb_var("TARGET_ARCH")) + image = 'core-image-minimal' + bb_vars = get_bb_vars(['DEPLOY_DIR_IMAGE', 'IMAGE_LINK_NAME', 'READELF'], image) + self.write_config(""" PACKAGE_MINIDEBUGINFO = "1" IMAGE_FSTYPES = "tar.bz2" """) - bitbake("core-image-minimal {}:do_addto_recipe_sysroot".format(binutils)) + bitbake("{} {}:do_addto_recipe_sysroot".format(image, binutils)) - deploy_dir = get_bb_var("DEPLOY_DIR_IMAGE") native_sysroot = get_bb_var("RECIPE_SYSROOT_NATIVE", binutils) - readelf = get_bb_var("READELF", "core-image-minimal") # confirm that executables and shared libraries contain an ELF section # ".gnu_debugdata" which stores minidebuginfo. with tempfile.TemporaryDirectory(prefix = "unpackfs-") as unpackedfs: - filename = os.path.join(deploy_dir, "core-image-minimal-{}.tar.bz2".format(self.td["MACHINE"])) + filename = os.path.join(bb_vars['DEPLOY_DIR_IMAGE'], "{}.tar.bz2".format(bb_vars['IMAGE_LINK_NAME'])) shutil.unpack_archive(filename, unpackedfs) - r = runCmd([readelf, "-W", "-S", os.path.join(unpackedfs, "bin", "busybox")], + r = runCmd([bb_vars['READELF'], "-W", "-S", os.path.join(unpackedfs, "bin", "busybox")], native_sysroot = native_sysroot, target_sys = target_sys) self.assertIn(".gnu_debugdata", r.output) - r = runCmd([readelf, "-W", "-S", os.path.join(unpackedfs, "lib", "libc.so.6")], + r = runCmd([bb_vars['READELF'], "-W", "-S", os.path.join(unpackedfs, "lib", "libc.so.6")], native_sysroot = native_sysroot, target_sys = target_sys) self.assertIn(".gnu_debugdata", r.output) diff --git a/poky/meta/lib/oeqa/selftest/cases/overlayfs.py b/poky/meta/lib/oeqa/selftest/cases/overlayfs.py index dfd9f1486d..b4f0663828 100644 --- a/poky/meta/lib/oeqa/selftest/cases/overlayfs.py +++ b/poky/meta/lib/oeqa/selftest/cases/overlayfs.py @@ -139,10 +139,10 @@ OVERLAYFS_MOUNT_POINT[usr-share-overlay] = "/usr/share/overlay" config = """ IMAGE_INSTALL:append = " overlayfs-user systemd-machine-units" -DISTRO_FEATURES:append = " systemd overlayfs" +DISTRO_FEATURES:append = " overlayfs" # Use systemd as init manager -VIRTUAL-RUNTIME_init_manager = "systemd" +INIT_MANAGER = "systemd" # enable overlayfs in the kernel KERNEL_EXTRA_FEATURES:append = " features/overlayfs/overlayfs.scc" @@ -274,10 +274,8 @@ class OverlayFSEtcRunTimeTests(OESelftestTestCase): """ configBase = """ -DISTRO_FEATURES:append = " systemd" - # Use systemd as init manager -VIRTUAL-RUNTIME_init_manager = "systemd" +INIT_MANAGER = "systemd" # enable overlayfs in the kernel KERNEL_EXTRA_FEATURES:append = " features/overlayfs/overlayfs.scc" @@ -316,10 +314,8 @@ OVERLAYFS_ETC_DEVICE = "/dev/mmcblk0p1" """ config = """ -DISTRO_FEATURES:append = " systemd" - # Use systemd as init manager -VIRTUAL-RUNTIME_init_manager = "systemd" +INIT_MANAGER = "systemd" # enable overlayfs in the kernel KERNEL_EXTRA_FEATURES:append = " features/overlayfs/overlayfs.scc" @@ -344,10 +340,8 @@ EXTRA_IMAGE_FEATURES += "package-management" """ config = """ -DISTRO_FEATURES:append = " systemd" - # Use systemd as init manager -VIRTUAL-RUNTIME_init_manager = "systemd" +INIT_MANAGER = "systemd" # enable overlayfs in the kernel KERNEL_EXTRA_FEATURES:append = " features/overlayfs/overlayfs.scc" @@ -465,10 +459,8 @@ IMAGE_INSTALL:append = " overlayfs-user" def get_working_config(self): return """ -DISTRO_FEATURES:append = " systemd" - # Use systemd as init manager -VIRTUAL-RUNTIME_init_manager = "systemd" +INIT_MANAGER = "systemd" # enable overlayfs in the kernel KERNEL_EXTRA_FEATURES:append = " features/overlayfs/overlayfs.scc" diff --git a/poky/meta/lib/oeqa/selftest/cases/package.py b/poky/meta/lib/oeqa/selftest/cases/package.py index 4f7cd10658..1aa6c03f8a 100644 --- a/poky/meta/lib/oeqa/selftest/cases/package.py +++ b/poky/meta/lib/oeqa/selftest/cases/package.py @@ -89,6 +89,13 @@ class VersionOrdering(OESelftestTestCase): self.assertEqual(status - 100, sort, "%s %s (%d) failed" % (ver1, ver2, sort)) class PackageTests(OESelftestTestCase): + # Verify that a recipe cannot rename a package into an existing one + def test_package_name_conflict(self): + res = bitbake("packagenameconflict", ignore_status=True) + self.assertNotEqual(res.status, 0) + err = "package name already exists" + self.assertTrue(err in res.output) + # Verify that a recipe which sets up hardlink files has those preserved into split packages # Also test file sparseness is preserved def test_preserve_sparse_hardlinks(self): diff --git a/poky/meta/lib/oeqa/selftest/cases/recipetool.py b/poky/meta/lib/oeqa/selftest/cases/recipetool.py index 25b06cdcf0..b193f0f5c8 100644 --- a/poky/meta/lib/oeqa/selftest/cases/recipetool.py +++ b/poky/meta/lib/oeqa/selftest/cases/recipetool.py @@ -581,7 +581,10 @@ class RecipetoolTests(RecipetoolBase): commonlicdir = get_bb_var('COMMON_LICENSE_DIR') - d = bb.tinfoil.TinfoilDataStoreConnector + class DataConnectorCopy(bb.tinfoil.TinfoilDataStoreConnector): + pass + + d = DataConnectorCopy d.getVar = Mock(return_value=commonlicdir) srctree = tempfile.mkdtemp(prefix='recipetoolqa') diff --git a/poky/meta/lib/oeqa/selftest/cases/reproducible.py b/poky/meta/lib/oeqa/selftest/cases/reproducible.py index f4dd779842..cd7aa8aafa 100644 --- a/poky/meta/lib/oeqa/selftest/cases/reproducible.py +++ b/poky/meta/lib/oeqa/selftest/cases/reproducible.py @@ -292,9 +292,13 @@ class ReproducibleTests(OESelftestTestCase): self.copy_file(d.reference, '/'.join([save_dir, 'packages-excluded', strip_topdir(d.reference)])) self.copy_file(d.test, '/'.join([save_dir, 'packages-excluded', strip_topdir(d.test)])) - if result.missing or result.different: - fails.append("The following %s packages are missing or different and not in exclusion list: %s" % - (c, '\n'.join(r.test for r in (result.missing + result.different)))) + if result.different: + fails.append("The following %s packages are different and not in exclusion list:\n%s" % + (c, '\n'.join(r.test for r in (result.different)))) + + if result.missing and len(self.sstate_targets) == 0: + fails.append("The following %s packages are missing and not in exclusion list:\n%s" % + (c, '\n'.join(r.test for r in (result.missing)))) # Clean up empty directories if self.save_results: diff --git a/poky/meta/lib/oeqa/selftest/cases/resulttooltests.py b/poky/meta/lib/oeqa/selftest/cases/resulttooltests.py index f059991c19..c3303f3fbb 100644 --- a/poky/meta/lib/oeqa/selftest/cases/resulttooltests.py +++ b/poky/meta/lib/oeqa/selftest/cases/resulttooltests.py @@ -274,14 +274,14 @@ class ResultToolTests(OESelftestTestCase): "MACHINE": "qemux86" }, "result": { "ltpresult_foo": { - "STATUS": "PASSED" + "status": "PASSED" }}} target_configuration = {"configuration": { "TEST_TYPE": "runtime", "MACHINE": "qemux86_64" }, "result": { "bar": { - "STATUS": "PASSED" + "status": "PASSED" }}} self.assertFalse(regression.can_be_compared(self.logger, base_configuration, target_configuration), msg="incorrect ltpresult filtering, mismatching ltpresult content should not be compared") @@ -292,52 +292,84 @@ class ResultToolTests(OESelftestTestCase): "MACHINE": "qemux86" }, "result": { "ltpresult_foo": { - "STATUS": "PASSED" + "status": "PASSED" }}} target_configuration = {"configuration": { "TEST_TYPE": "runtime", "MACHINE": "qemux86" }, "result": { "ltpresult_foo": { - "STATUS": "PASSED" + "status": "PASSED" }}} self.assertTrue(regression.can_be_compared(self.logger, base_configuration, target_configuration), msg="incorrect ltpresult filtering, matching ltpresult content should be compared") def test_can_match_non_static_ptest_names(self): - base_configuration = {"configuration": { - "TEST_TYPE": "runtime", - "MACHINE": "qemux86" - }, "result": { - "ptestresult.lttng-tools.foo_-_bar_-_moo": { - "STATUS": "PASSED" - }, - "ptestresult.babeltrace.bar_-_moo_-_foo": { - "STATUS": "PASSED" - }, - "ptestresult.babletrace2.moo_-_foo_-_bar": { - "STATUS": "PASSED" - }, - "ptestresult.curl.test_0000__foo_out_of_bar": { - "STATUS": "PASSED" - } - }} - target_configuration = {"configuration": { - "TEST_TYPE": "runtime", - "MACHINE": "qemux86" - }, "result": { - "ptestresult.lttng-tools.xxx_-_yyy_-_zzz": { - "STATUS": "PASSED" - }, - "ptestresult.babeltrace.yyy_-_zzz_-_xxx": { - "STATUS": "PASSED" - }, - "ptestresult.babletrace2.zzz_-_xxx_-_yyy": { - "STATUS": "PASSED" - }, - "ptestresult.curl.test_0000__xxx_out_of_yyy": { - "STATUS": "PASSED" - } - }} - self.assertTrue(regression.can_be_compared(self.logger, base_configuration, target_configuration), - msg="incorrect ptests filtering, tests shoould be compared if prefixes match") + base_configuration = {"a": { + "conf_X": { + "configuration": { + "TEST_TYPE": "runtime", + "MACHINE": "qemux86" + }, "result": { + "ptestresult.lttng-tools.foo_-_bar_-_moo": { + "status": "PASSED" + }, + "ptestresult.babeltrace.bar_-_moo_-_foo": { + "status": "PASSED" + }, + "ptestresult.babeltrace2.moo_-_foo_-_bar": { + "status": "PASSED" + }, + "ptestresult.curl.test_0000__foo_out_of_bar": { + "status": "PASSED" + }, + "ptestresult.dbus.test_0000__foo_out_of_bar,_remaining:_00:02,_took_0.032s,_duration:_03:32_": { + "status": "PASSED" + }, + "ptestresult.binutils-ld.in testcase /foo/build-st-bar/moo/ctf.exp": { + "status": "PASSED" + }, + "ptestresult.gcc-libstdc++-v3.Couldn't create remote directory /tmp/runtest.30975 on target": { + "status": "PASSED" + }, + "ptestresult.gcc-libgomp.Couldn't create remote directory /tmp/runtest.3657621 on": { + "status": "PASSED" + } + }}}} + target_configuration = {"a": { + "conf_Y": { + "configuration": { + "TEST_TYPE": "runtime", + "MACHINE": "qemux86" + }, "result": { + "ptestresult.lttng-tools.foo_-_yyy_-_zzz": { + "status": "PASSED" + }, + "ptestresult.babeltrace.bar_-_zzz_-_xxx": { + "status": "PASSED" + }, + "ptestresult.babeltrace2.moo_-_xxx_-_yyy": { + "status": "PASSED" + }, + "ptestresult.curl.test_0000__xxx_out_of_yyy": { + "status": "PASSED" + }, + "ptestresult.dbus.test_0000__yyy_out_of_zzz,_remaining:_00:03,_took_0.034s,_duration:_03:30_": { + "status": "PASSED" + }, + "ptestresult.binutils-ld.in testcase /xxx/build-st-yyy/zzz/ctf.exp": { + "status": "PASSED" + }, + "ptestresult.gcc-libstdc++-v3.Couldn't create remote directory /tmp/runtest.45678 on target": { + "status": "PASSED" + }, + "ptestresult.gcc-libgomp.Couldn't create remote directory /tmp/runtest.3657621 on": { + "status": "PASSED" + } + }}}} + regression.fixup_ptest_names(base_configuration, self.logger) + regression.fixup_ptest_names(target_configuration, self.logger) + result, resultstring = regression.compare_result( + self.logger, "A", "B", base_configuration["a"]["conf_X"], target_configuration["a"]["conf_Y"]) + self.assertDictEqual( + result, {}, msg=f"ptests should be compared: {resultstring}") diff --git a/poky/meta/lib/oeqa/selftest/cases/runqemu.py b/poky/meta/lib/oeqa/selftest/cases/runqemu.py index c2c3fbc924..e72ff529c4 100644 --- a/poky/meta/lib/oeqa/selftest/cases/runqemu.py +++ b/poky/meta/lib/oeqa/selftest/cases/runqemu.py @@ -24,6 +24,7 @@ class RunqemuTests(OESelftestTestCase): super(RunqemuTests, self).setUpLocal() self.recipe = 'core-image-minimal' self.machine = self.td['MACHINE'] + self.image_link_name = get_bb_var('IMAGE_LINK_NAME', self.recipe) self.fstypes = "ext4" if self.td["HOST_ARCH"] in ('i586', 'i686', 'x86_64'): @@ -127,7 +128,7 @@ SYSLINUX_TIMEOUT = "10" def test_boot_qemu_boot(self): """Test runqemu /path/to/image.qemuboot.conf""" - qemuboot_conf = "%s-%s.qemuboot.conf" % (self.recipe, self.machine) + qemuboot_conf = "%s.qemuboot.conf" % (self.image_link_name) qemuboot_conf = os.path.join(self.deploy_dir_image, qemuboot_conf) if not os.path.exists(qemuboot_conf): self.skipTest("%s not found" % qemuboot_conf) @@ -138,7 +139,7 @@ SYSLINUX_TIMEOUT = "10" def test_boot_rootfs(self): """Test runqemu /path/to/rootfs.ext4""" - rootfs = "%s-%s.ext4" % (self.recipe, self.machine) + rootfs = "%s.ext4" % (self.image_link_name) rootfs = os.path.join(self.deploy_dir_image, rootfs) if not os.path.exists(rootfs): self.skipTest("%s not found" % rootfs) @@ -167,8 +168,9 @@ class QemuTest(OESelftestTestCase): cls.recipe = 'core-image-minimal' cls.machine = get_bb_var('MACHINE') cls.deploy_dir_image = get_bb_var('DEPLOY_DIR_IMAGE') + cls.image_link_name = get_bb_var('IMAGE_LINK_NAME', cls.recipe) cls.cmd_common = "runqemu nographic" - cls.qemuboot_conf = "%s-%s.qemuboot.conf" % (cls.recipe, cls.machine) + cls.qemuboot_conf = "%s.qemuboot.conf" % (cls.image_link_name) cls.qemuboot_conf = os.path.join(cls.deploy_dir_image, cls.qemuboot_conf) bitbake(cls.recipe) @@ -200,7 +202,7 @@ class QemuTest(OESelftestTestCase): self.assertTrue(qemu_shutdown_succeeded, 'Failed: %s does not shutdown within timeout(%s)' % (self.machine, shutdown_timeout)) def test_qemu_can_boot_nfs_and_shutdown(self): - rootfs_tar = "%s-%s.tar.bz2" % (self.recipe, self.machine) + rootfs_tar = "%s.tar.bz2" % (self.image_link_name) rootfs_tar = os.path.join(self.deploy_dir_image, rootfs_tar) self.assertExists(rootfs_tar) cmd = "%s %s" % (self.cmd_common, rootfs_tar) diff --git a/poky/meta/lib/oeqa/selftest/cases/runtime_test.py b/poky/meta/lib/oeqa/selftest/cases/runtime_test.py index e32c4aff85..81b8d056cc 100644 --- a/poky/meta/lib/oeqa/selftest/cases/runtime_test.py +++ b/poky/meta/lib/oeqa/selftest/cases/runtime_test.py @@ -257,7 +257,8 @@ class TestImage(OESelftestTestCase): import subprocess, os distro = oe.lsb.distro_identifier() - if distro and (distro in ['debian-9', 'debian-10', 'centos-7', 'centos-8', 'ubuntu-16.04', 'ubuntu-18.04'] or distro.startswith('almalinux')): + if distro and (distro in ['debian-9', 'debian-10', 'centos-7', 'centos-8', 'ubuntu-16.04', 'ubuntu-18.04'] or + distro.startswith('almalinux') or distro.startswith('rocky')): self.skipTest('virgl headless cannot be tested with %s' %(distro)) qemu_distrofeatures = get_bb_var('DISTRO_FEATURES', 'qemu-system-native') diff --git a/poky/meta/lib/oeqa/selftest/cases/sstate.py b/poky/meta/lib/oeqa/selftest/cases/sstate.py deleted file mode 100644 index e73bb94884..0000000000 --- a/poky/meta/lib/oeqa/selftest/cases/sstate.py +++ /dev/null @@ -1,66 +0,0 @@ -# -# Copyright OpenEmbedded Contributors -# -# SPDX-License-Identifier: MIT -# - -import datetime -import os -import re - -from oeqa.selftest.case import OESelftestTestCase -from oeqa.utils.commands import get_bb_vars - - -class SStateBase(OESelftestTestCase): - - def setUpLocal(self): - super(SStateBase, self).setUpLocal() - self.temp_sstate_location = None - needed_vars = ['SSTATE_DIR', 'NATIVELSBSTRING', 'TCLIBC', 'TUNE_ARCH', - 'TOPDIR', 'TARGET_VENDOR', 'TARGET_OS'] - bb_vars = get_bb_vars(needed_vars) - self.sstate_path = bb_vars['SSTATE_DIR'] - self.hostdistro = bb_vars['NATIVELSBSTRING'] - self.tclibc = bb_vars['TCLIBC'] - self.tune_arch = bb_vars['TUNE_ARCH'] - self.topdir = bb_vars['TOPDIR'] - self.target_vendor = bb_vars['TARGET_VENDOR'] - self.target_os = bb_vars['TARGET_OS'] - self.distro_specific_sstate = os.path.join(self.sstate_path, self.hostdistro) - - # Creates a special sstate configuration with the option to add sstate mirrors - def config_sstate(self, temp_sstate_location=False, add_local_mirrors=[]): - self.temp_sstate_location = temp_sstate_location - - if self.temp_sstate_location: - temp_sstate_path = os.path.join(self.builddir, "temp_sstate_%s" % datetime.datetime.now().strftime('%Y%m%d%H%M%S')) - config_temp_sstate = "SSTATE_DIR = \"%s\"" % temp_sstate_path - self.append_config(config_temp_sstate) - self.track_for_cleanup(temp_sstate_path) - bb_vars = get_bb_vars(['SSTATE_DIR', 'NATIVELSBSTRING']) - self.sstate_path = bb_vars['SSTATE_DIR'] - self.hostdistro = bb_vars['NATIVELSBSTRING'] - self.distro_specific_sstate = os.path.join(self.sstate_path, self.hostdistro) - - if add_local_mirrors: - config_set_sstate_if_not_set = 'SSTATE_MIRRORS ?= ""' - self.append_config(config_set_sstate_if_not_set) - for local_mirror in add_local_mirrors: - self.assertFalse(os.path.join(local_mirror) == os.path.join(self.sstate_path), msg='Cannot add the current sstate path as a sstate mirror') - config_sstate_mirror = "SSTATE_MIRRORS += \"file://.* file:///%s/PATH\"" % local_mirror - self.append_config(config_sstate_mirror) - - # Returns a list containing sstate files - def search_sstate(self, filename_regex, distro_specific=True, distro_nonspecific=True): - result = [] - for root, dirs, files in os.walk(self.sstate_path): - if distro_specific and re.search(r"%s/%s/[a-z0-9]{2}/[a-z0-9]{2}$" % (self.sstate_path, self.hostdistro), root): - for f in files: - if re.search(filename_regex, f): - result.append(f) - if distro_nonspecific and re.search(r"%s/[a-z0-9]{2}/[a-z0-9]{2}$" % self.sstate_path, root): - for f in files: - if re.search(filename_regex, f): - result.append(f) - return result diff --git a/poky/meta/lib/oeqa/selftest/cases/sstatetests.py b/poky/meta/lib/oeqa/selftest/cases/sstatetests.py index ae766f91bd..e978313c61 100644 --- a/poky/meta/lib/oeqa/selftest/cases/sstatetests.py +++ b/poky/meta/lib/oeqa/selftest/cases/sstatetests.py @@ -9,52 +9,67 @@ import shutil import glob import subprocess import tempfile +import datetime +import re -from oeqa.utils.commands import runCmd, bitbake, get_bb_var, create_temp_layer -from oeqa.selftest.cases.sstate import SStateBase -import oe +from oeqa.utils.commands import runCmd, bitbake, get_bb_var, create_temp_layer, get_bb_vars +from oeqa.selftest.case import OESelftestTestCase +import oe import bb.siggen -class SStateTests(SStateBase): - def test_autorev_sstate_works(self): - # Test that a git repository which changes is correctly handled by SRCREV = ${AUTOREV} - # when PV does not contain SRCPV - - tempdir = tempfile.mkdtemp(prefix='sstate_autorev') - tempdldir = tempfile.mkdtemp(prefix='sstate_autorev_dldir') - self.track_for_cleanup(tempdir) - self.track_for_cleanup(tempdldir) - create_temp_layer(tempdir, 'selftestrecipetool') - self.add_command_to_tearDown('bitbake-layers remove-layer %s' % tempdir) - self.append_config("DL_DIR = \"%s\"" % tempdldir) - runCmd('bitbake-layers add-layer %s' % tempdir) - - # Use dbus-wait as a local git repo we can add a commit between two builds in - pn = 'dbus-wait' - srcrev = '6cc6077a36fe2648a5f993fe7c16c9632f946517' - url = 'git://git.yoctoproject.org/dbus-wait' - result = runCmd('git clone %s noname' % url, cwd=tempdir) - srcdir = os.path.join(tempdir, 'noname') - result = runCmd('git reset --hard %s' % srcrev, cwd=srcdir) - self.assertTrue(os.path.isfile(os.path.join(srcdir, 'configure.ac')), 'Unable to find configure script in source directory') - - recipefile = os.path.join(tempdir, "recipes-test", "dbus-wait-test", 'dbus-wait-test_git.bb') - os.makedirs(os.path.dirname(recipefile)) - srcuri = 'git://' + srcdir + ';protocol=file;branch=master' - result = runCmd(['recipetool', 'create', '-o', recipefile, srcuri]) - self.assertTrue(os.path.isfile(recipefile), 'recipetool did not create recipe file; output:\n%s' % result.output) - - with open(recipefile, 'a') as f: - f.write('SRCREV = "${AUTOREV}"\n') - f.write('PV = "1.0"\n') - - bitbake("dbus-wait-test -c fetch") - with open(os.path.join(srcdir, "bar.txt"), "w") as f: - f.write("foo") - result = runCmd('git add bar.txt; git commit -asm "add bar"', cwd=srcdir) - bitbake("dbus-wait-test -c unpack") - +class SStateBase(OESelftestTestCase): + + def setUpLocal(self): + super(SStateBase, self).setUpLocal() + self.temp_sstate_location = None + needed_vars = ['SSTATE_DIR', 'NATIVELSBSTRING', 'TCLIBC', 'TUNE_ARCH', + 'TOPDIR', 'TARGET_VENDOR', 'TARGET_OS'] + bb_vars = get_bb_vars(needed_vars) + self.sstate_path = bb_vars['SSTATE_DIR'] + self.hostdistro = bb_vars['NATIVELSBSTRING'] + self.tclibc = bb_vars['TCLIBC'] + self.tune_arch = bb_vars['TUNE_ARCH'] + self.topdir = bb_vars['TOPDIR'] + self.target_vendor = bb_vars['TARGET_VENDOR'] + self.target_os = bb_vars['TARGET_OS'] + self.distro_specific_sstate = os.path.join(self.sstate_path, self.hostdistro) + + # Creates a special sstate configuration with the option to add sstate mirrors + def config_sstate(self, temp_sstate_location=False, add_local_mirrors=[]): + self.temp_sstate_location = temp_sstate_location + + if self.temp_sstate_location: + temp_sstate_path = os.path.join(self.builddir, "temp_sstate_%s" % datetime.datetime.now().strftime('%Y%m%d%H%M%S')) + config_temp_sstate = "SSTATE_DIR = \"%s\"" % temp_sstate_path + self.append_config(config_temp_sstate) + self.track_for_cleanup(temp_sstate_path) + bb_vars = get_bb_vars(['SSTATE_DIR', 'NATIVELSBSTRING']) + self.sstate_path = bb_vars['SSTATE_DIR'] + self.hostdistro = bb_vars['NATIVELSBSTRING'] + self.distro_specific_sstate = os.path.join(self.sstate_path, self.hostdistro) + + if add_local_mirrors: + config_set_sstate_if_not_set = 'SSTATE_MIRRORS ?= ""' + self.append_config(config_set_sstate_if_not_set) + for local_mirror in add_local_mirrors: + self.assertFalse(os.path.join(local_mirror) == os.path.join(self.sstate_path), msg='Cannot add the current sstate path as a sstate mirror') + config_sstate_mirror = "SSTATE_MIRRORS += \"file://.* file:///%s/PATH\"" % local_mirror + self.append_config(config_sstate_mirror) + + # Returns a list containing sstate files + def search_sstate(self, filename_regex, distro_specific=True, distro_nonspecific=True): + result = [] + for root, dirs, files in os.walk(self.sstate_path): + if distro_specific and re.search(r"%s/%s/[a-z0-9]{2}/[a-z0-9]{2}$" % (self.sstate_path, self.hostdistro), root): + for f in files: + if re.search(filename_regex, f): + result.append(f) + if distro_nonspecific and re.search(r"%s/[a-z0-9]{2}/[a-z0-9]{2}$" % self.sstate_path, root): + for f in files: + if re.search(filename_regex, f): + result.append(f) + return result # Test sstate files creation and their location def run_test_sstate_creation(self, targets, distro_specific=True, distro_nonspecific=True, temp_sstate_location=True, should_pass=True): @@ -81,18 +96,6 @@ class SStateTests(SStateBase): else: self.assertTrue(not file_tracker , msg="Found sstate files in the wrong place for: %s (found %s)" % (', '.join(map(str, targets)), str(file_tracker))) - def test_sstate_creation_distro_specific_pass(self): - self.run_test_sstate_creation(['binutils-cross-'+ self.tune_arch, 'binutils-native'], distro_specific=True, distro_nonspecific=False, temp_sstate_location=True) - - def test_sstate_creation_distro_specific_fail(self): - self.run_test_sstate_creation(['binutils-cross-'+ self.tune_arch, 'binutils-native'], distro_specific=False, distro_nonspecific=True, temp_sstate_location=True, should_pass=False) - - def test_sstate_creation_distro_nonspecific_pass(self): - self.run_test_sstate_creation(['linux-libc-headers'], distro_specific=False, distro_nonspecific=True, temp_sstate_location=True) - - def test_sstate_creation_distro_nonspecific_fail(self): - self.run_test_sstate_creation(['linux-libc-headers'], distro_specific=True, distro_nonspecific=False, temp_sstate_location=True, should_pass=False) - # Test the sstate files deletion part of the do_cleansstate task def run_test_cleansstate_task(self, targets, distro_specific=True, distro_nonspecific=True, temp_sstate_location=True): self.config_sstate(temp_sstate_location, [self.sstate_path]) @@ -110,20 +113,6 @@ class SStateTests(SStateBase): archives_removed = self.search_sstate('|'.join(map(str, [s + r'.*?\.tar.zst$' for s in targets])), distro_specific, distro_nonspecific) self.assertTrue(not archives_removed, msg="do_cleansstate didn't remove .tar.zst sstate files for: %s (%s)" % (', '.join(map(str, targets)), str(archives_removed))) - def test_cleansstate_task_distro_specific_nonspecific(self): - targets = ['binutils-cross-'+ self.tune_arch, 'binutils-native'] - targets.append('linux-libc-headers') - self.run_test_cleansstate_task(targets, distro_specific=True, distro_nonspecific=True, temp_sstate_location=True) - - def test_cleansstate_task_distro_nonspecific(self): - self.run_test_cleansstate_task(['linux-libc-headers'], distro_specific=False, distro_nonspecific=True, temp_sstate_location=True) - - def test_cleansstate_task_distro_specific(self): - targets = ['binutils-cross-'+ self.tune_arch, 'binutils-native'] - targets.append('linux-libc-headers') - self.run_test_cleansstate_task(targets, distro_specific=True, distro_nonspecific=False, temp_sstate_location=True) - - # Test rebuilding of distro-specific sstate files def run_test_rebuild_distro_specific_sstate(self, targets, temp_sstate_location=True): self.config_sstate(temp_sstate_location, [self.sstate_path]) @@ -156,6 +145,106 @@ class SStateTests(SStateBase): created_once = [x for x in file_tracker_2 if x not in file_tracker_1] self.assertTrue(created_once == [], msg="The following sstate files were created only in the second run: %s" % ', '.join(map(str, created_once))) + def sstate_common_samesigs(self, configA, configB, allarch=False): + + self.write_config(configA) + self.track_for_cleanup(self.topdir + "/tmp-sstatesamehash") + bitbake("world meta-toolchain -S none") + self.write_config(configB) + self.track_for_cleanup(self.topdir + "/tmp-sstatesamehash2") + bitbake("world meta-toolchain -S none") + + def get_files(d, result): + for root, dirs, files in os.walk(d): + for name in files: + if "meta-environment" in root or "cross-canadian" in root: + continue + if "do_build" not in name: + # 1.4.1+gitAUTOINC+302fca9f4c-r0.do_package_write_ipk.sigdata.f3a2a38697da743f0dbed8b56aafcf79 + (_, task, _, shash) = name.rsplit(".", 3) + result[os.path.join(os.path.basename(root), task)] = shash + + files1 = {} + files2 = {} + subdirs = sorted(glob.glob(self.topdir + "/tmp-sstatesamehash/stamps/*-nativesdk*-linux")) + if allarch: + subdirs.extend(sorted(glob.glob(self.topdir + "/tmp-sstatesamehash/stamps/all-*-linux"))) + + for subdir in subdirs: + nativesdkdir = os.path.basename(subdir) + get_files(self.topdir + "/tmp-sstatesamehash/stamps/" + nativesdkdir, files1) + get_files(self.topdir + "/tmp-sstatesamehash2/stamps/" + nativesdkdir, files2) + + self.maxDiff = None + self.assertEqual(files1, files2) + +class SStateTests(SStateBase): + def test_autorev_sstate_works(self): + # Test that a git repository which changes is correctly handled by SRCREV = ${AUTOREV} + # when PV does not contain SRCPV + + tempdir = tempfile.mkdtemp(prefix='sstate_autorev') + tempdldir = tempfile.mkdtemp(prefix='sstate_autorev_dldir') + self.track_for_cleanup(tempdir) + self.track_for_cleanup(tempdldir) + create_temp_layer(tempdir, 'selftestrecipetool') + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % tempdir) + self.append_config("DL_DIR = \"%s\"" % tempdldir) + runCmd('bitbake-layers add-layer %s' % tempdir) + + # Use dbus-wait as a local git repo we can add a commit between two builds in + pn = 'dbus-wait' + srcrev = '6cc6077a36fe2648a5f993fe7c16c9632f946517' + url = 'git://git.yoctoproject.org/dbus-wait' + result = runCmd('git clone %s noname' % url, cwd=tempdir) + srcdir = os.path.join(tempdir, 'noname') + result = runCmd('git reset --hard %s' % srcrev, cwd=srcdir) + self.assertTrue(os.path.isfile(os.path.join(srcdir, 'configure.ac')), 'Unable to find configure script in source directory') + + recipefile = os.path.join(tempdir, "recipes-test", "dbus-wait-test", 'dbus-wait-test_git.bb') + os.makedirs(os.path.dirname(recipefile)) + srcuri = 'git://' + srcdir + ';protocol=file;branch=master' + result = runCmd(['recipetool', 'create', '-o', recipefile, srcuri]) + self.assertTrue(os.path.isfile(recipefile), 'recipetool did not create recipe file; output:\n%s' % result.output) + + with open(recipefile, 'a') as f: + f.write('SRCREV = "${AUTOREV}"\n') + f.write('PV = "1.0"\n') + + bitbake("dbus-wait-test -c fetch") + with open(os.path.join(srcdir, "bar.txt"), "w") as f: + f.write("foo") + result = runCmd('git add bar.txt; git commit -asm "add bar"', cwd=srcdir) + bitbake("dbus-wait-test -c unpack") + +class SStateCreation(SStateBase): + def test_sstate_creation_distro_specific_pass(self): + self.run_test_sstate_creation(['binutils-cross-'+ self.tune_arch, 'binutils-native'], distro_specific=True, distro_nonspecific=False, temp_sstate_location=True) + + def test_sstate_creation_distro_specific_fail(self): + self.run_test_sstate_creation(['binutils-cross-'+ self.tune_arch, 'binutils-native'], distro_specific=False, distro_nonspecific=True, temp_sstate_location=True, should_pass=False) + + def test_sstate_creation_distro_nonspecific_pass(self): + self.run_test_sstate_creation(['linux-libc-headers'], distro_specific=False, distro_nonspecific=True, temp_sstate_location=True) + + def test_sstate_creation_distro_nonspecific_fail(self): + self.run_test_sstate_creation(['linux-libc-headers'], distro_specific=True, distro_nonspecific=False, temp_sstate_location=True, should_pass=False) + +class SStateCleanup(SStateBase): + def test_cleansstate_task_distro_specific_nonspecific(self): + targets = ['binutils-cross-'+ self.tune_arch, 'binutils-native'] + targets.append('linux-libc-headers') + self.run_test_cleansstate_task(targets, distro_specific=True, distro_nonspecific=True, temp_sstate_location=True) + + def test_cleansstate_task_distro_nonspecific(self): + self.run_test_cleansstate_task(['linux-libc-headers'], distro_specific=False, distro_nonspecific=True, temp_sstate_location=True) + + def test_cleansstate_task_distro_specific(self): + targets = ['binutils-cross-'+ self.tune_arch, 'binutils-native'] + targets.append('linux-libc-headers') + self.run_test_cleansstate_task(targets, distro_specific=True, distro_nonspecific=False, temp_sstate_location=True) + +class SStateDistroTests(SStateBase): def test_rebuild_distro_specific_sstate_cross_native_targets(self): self.run_test_rebuild_distro_specific_sstate(['binutils-cross-' + self.tune_arch, 'binutils-native'], temp_sstate_location=True) @@ -165,7 +254,7 @@ class SStateTests(SStateBase): def test_rebuild_distro_specific_sstate_native_target(self): self.run_test_rebuild_distro_specific_sstate(['binutils-native'], temp_sstate_location=True) - +class SStateCacheManagement(SStateBase): # Test the sstate-cache-management script. Each element in the global_config list is used with the corresponding element in the target_config list # global_config elements are expected to not generate any sstate files that would be removed by sstate-cache-management.sh (such as changing the value of MACHINE) def run_test_sstate_cache_management_script(self, target, global_config=[''], target_config=[''], ignore_patterns=[]): @@ -244,6 +333,7 @@ class SStateTests(SStateBase): target_config.append('') self.run_test_sstate_cache_management_script('m4', global_config, target_config, ignore_patterns=['populate_lic']) +class SStateHashSameSigs(SStateBase): def test_sstate_32_64_same_hash(self): """ The sstate checksums for both native and target should not vary whether @@ -329,6 +419,7 @@ BB_SIGNATURE_HANDLER = "OEBasicHash" self.maxDiff = None self.assertCountEqual(files1, files2) +class SStateHashSameSigs2(SStateBase): def test_sstate_allarch_samesigs(self): """ The sstate checksums of allarch packages should be independent of whichever @@ -377,39 +468,7 @@ BB_SIGNATURE_HANDLER = "OEBasicHash" """ self.sstate_common_samesigs(configA, configB) - def sstate_common_samesigs(self, configA, configB, allarch=False): - - self.write_config(configA) - self.track_for_cleanup(self.topdir + "/tmp-sstatesamehash") - bitbake("world meta-toolchain -S none") - self.write_config(configB) - self.track_for_cleanup(self.topdir + "/tmp-sstatesamehash2") - bitbake("world meta-toolchain -S none") - - def get_files(d, result): - for root, dirs, files in os.walk(d): - for name in files: - if "meta-environment" in root or "cross-canadian" in root: - continue - if "do_build" not in name: - # 1.4.1+gitAUTOINC+302fca9f4c-r0.do_package_write_ipk.sigdata.f3a2a38697da743f0dbed8b56aafcf79 - (_, task, _, shash) = name.rsplit(".", 3) - result[os.path.join(os.path.basename(root), task)] = shash - - files1 = {} - files2 = {} - subdirs = sorted(glob.glob(self.topdir + "/tmp-sstatesamehash/stamps/*-nativesdk*-linux")) - if allarch: - subdirs.extend(sorted(glob.glob(self.topdir + "/tmp-sstatesamehash/stamps/all-*-linux"))) - - for subdir in subdirs: - nativesdkdir = os.path.basename(subdir) - get_files(self.topdir + "/tmp-sstatesamehash/stamps/" + nativesdkdir, files1) - get_files(self.topdir + "/tmp-sstatesamehash2/stamps/" + nativesdkdir, files2) - - self.maxDiff = None - self.assertEqual(files1, files2) - +class SStateHashSameSigs3(SStateBase): def test_sstate_sametune_samesigs(self): """ The sstate checksums of two identical machines (using the same tune) should be the @@ -497,7 +556,7 @@ BB_SIGNATURE_HANDLER = "OEBasicHash" self.maxDiff = None self.assertCountEqual(files1, files2) - +class SStateHashSameSigs4(SStateBase): def test_sstate_noop_samesigs(self): """ The sstate checksums of two builds with these variables changed or diff --git a/poky/meta/lib/oeqa/selftest/cases/wic.py b/poky/meta/lib/oeqa/selftest/cases/wic.py index b9430cdb3b..b26b649c3a 100644 --- a/poky/meta/lib/oeqa/selftest/cases/wic.py +++ b/poky/meta/lib/oeqa/selftest/cases/wic.py @@ -805,12 +805,13 @@ class Wic2(WicTestCase): config = 'IMAGE_FSTYPES += "wic"\nWKS_FILE = "wic-image-minimal"\n'\ 'MACHINE_FEATURES:append = " efi"\n' self.append_config(config) - bitbake('wic-image-minimal') + image = 'wic-image-minimal' + bitbake(image) self.remove_config(config) - deploy_dir = get_bb_var('DEPLOY_DIR_IMAGE') - machine = self.td['MACHINE'] - prefix = os.path.join(deploy_dir, 'wic-image-minimal-%s.' % machine) + bb_vars = get_bb_vars(['DEPLOY_DIR_IMAGE', 'IMAGE_LINK_NAME'], image) + prefix = os.path.join(bb_vars['DEPLOY_DIR_IMAGE'], '%s.' % bb_vars['IMAGE_LINK_NAME']) + # check if we have result image and manifests symlinks # pointing to existing files for suffix in ('wic', 'manifest'): @@ -1033,9 +1034,13 @@ class Wic2(WicTestCase): config = 'IMAGE_FSTYPES = "ext4"\n' self.append_config(config) bitbake('core-image-minimal') + image_link_name = get_bb_var('IMAGE_LINK_NAME', 'core-image-minimal') self.remove_config(config) - config = 'IMAGE_FSTYPES = "wic"\nWKS_FILE = "test_rawcopy_plugin.wks.in"\n' + config = 'IMAGE_FSTYPES = "wic"\n' \ + 'IMAGE_LINK_NAME_CORE_IMAGE_MINIMAL = "%s"\n'\ + 'WKS_FILE = "test_rawcopy_plugin.wks.in"\n'\ + % image_link_name self.append_config(config) bitbake('core-image-minimal-mtdutils') self.remove_config(config) @@ -1049,14 +1054,14 @@ class Wic2(WicTestCase): def _rawcopy_plugin(self, fstype): """Test rawcopy plugin""" - img = 'core-image-minimal' - machine = self.td["MACHINE"] + image = 'core-image-minimal' + bb_vars = get_bb_vars(['DEPLOY_DIR_IMAGE', 'IMAGE_LINK_NAME'], image) params = ',unpack' if fstype.endswith('.gz') else '' with NamedTemporaryFile("w", suffix=".wks") as wks: - wks.write('part / --source rawcopy --sourceparams="file=%s-%s.%s%s"\n'\ - % (img, machine, fstype, params)) + wks.write('part / --source rawcopy --sourceparams="file=%s.%s%s"\n'\ + % (bb_vars['IMAGE_LINK_NAME'], fstype, params)) wks.flush() - cmd = "wic create %s -e %s -o %s" % (wks.name, img, self.resultdir) + cmd = "wic create %s -e %s -o %s" % (wks.name, image, self.resultdir) runCmd(cmd) wksname = os.path.splitext(os.path.basename(wks.name))[0] out = glob(os.path.join(self.resultdir, "%s-*direct" % wksname)) @@ -1077,12 +1082,11 @@ class Wic2(WicTestCase): """Test empty plugin""" config = 'IMAGE_FSTYPES = "wic"\nWKS_FILE = "test_empty_plugin.wks"\n' self.append_config(config) - bitbake('core-image-minimal') + image = 'core-image-minimal' + bitbake(image) self.remove_config(config) - deploy_dir = get_bb_var('DEPLOY_DIR_IMAGE') - machine = self.td['MACHINE'] - - image_path = os.path.join(deploy_dir, 'core-image-minimal-%s.wic' % machine) + bb_vars = get_bb_vars(['DEPLOY_DIR_IMAGE', 'IMAGE_LINK_NAME'], image) + image_path = os.path.join(bb_vars['DEPLOY_DIR_IMAGE'], '%s.wic' % bb_vars['IMAGE_LINK_NAME']) self.assertTrue(os.path.exists(image_path)) sysroot = get_bb_var('RECIPE_SYSROOT_NATIVE', 'wic-tools') @@ -1297,12 +1301,12 @@ class Wic2(WicTestCase): # build an image config = 'IMAGE_FSTYPES = "wic"\nWKS_FILE = "directdisk.wks"\n' self.append_config(config) - bitbake('core-image-minimal') + image = 'core-image-minimal' + bitbake(image) # get path to the image - deploy_dir = get_bb_var('DEPLOY_DIR_IMAGE') - machine = self.td['MACHINE'] - image_path = os.path.join(deploy_dir, 'core-image-minimal-%s.wic' % machine) + bb_vars = get_bb_vars(['DEPLOY_DIR_IMAGE', 'IMAGE_LINK_NAME'], image) + image_path = os.path.join(bb_vars['DEPLOY_DIR_IMAGE'], '%s.wic' % bb_vars['IMAGE_LINK_NAME']) self.remove_config(config) @@ -1310,7 +1314,7 @@ class Wic2(WicTestCase): # expand image to 1G new_image_path = None with NamedTemporaryFile(mode='wb', suffix='.wic.exp', - dir=deploy_dir, delete=False) as sparse: + dir=bb_vars['DEPLOY_DIR_IMAGE'], delete=False) as sparse: sparse.truncate(1024 ** 3) new_image_path = sparse.name diff --git a/poky/meta/lib/oeqa/selftest/context.py b/poky/meta/lib/oeqa/selftest/context.py index ab13131f29..0a7a9da72a 100644 --- a/poky/meta/lib/oeqa/selftest/context.py +++ b/poky/meta/lib/oeqa/selftest/context.py @@ -97,17 +97,27 @@ class OESelftestTestContext(OETestContext): oe.path.copytree(builddir + "/cache", newbuilddir + "/cache") oe.path.copytree(selftestdir, newselftestdir) + subprocess.check_output("git init; git add *; git commit -a -m 'initial'", cwd=newselftestdir, shell=True) + + # Tried to used bitbake-layers add/remove but it requires recipe parsing and hence is too slow + subprocess.check_output("sed %s/conf/bblayers.conf -i -e 's#%s#%s#g'" % (newbuilddir, selftestdir, newselftestdir), cwd=newbuilddir, shell=True) + + # Relative paths in BBLAYERS only works when the new build dir share the same ascending node + if self.newbuilddir: + bblayers = subprocess.check_output("bitbake-getvar --value BBLAYERS | tail -1", cwd=builddir, shell=True, text=True) + if '..' in bblayers: + bblayers_abspath = [os.path.abspath(path) for path in bblayers.split()] + with open("%s/conf/bblayers.conf" % newbuilddir, "a") as f: + newbblayers = "# new bblayers to be used by selftest in the new build dir '%s'\n" % newbuilddir + newbblayers += 'BBLAYERS = "%s"\n' % ' '.join(bblayers_abspath) + f.write(newbblayers) + for e in os.environ: if builddir + "/" in os.environ[e]: os.environ[e] = os.environ[e].replace(builddir + "/", newbuilddir + "/") if os.environ[e].endswith(builddir): os.environ[e] = os.environ[e].replace(builddir, newbuilddir) - subprocess.check_output("git init; git add *; git commit -a -m 'initial'", cwd=newselftestdir, shell=True) - - # Tried to used bitbake-layers add/remove but it requires recipe parsing and hence is too slow - subprocess.check_output("sed %s/conf/bblayers.conf -i -e 's#%s#%s#g'" % (newbuilddir, selftestdir, newselftestdir), cwd=newbuilddir, shell=True) - os.chdir(newbuilddir) def patch_test(t): diff --git a/poky/meta/recipes-bsp/grub/files/0001-fs-ext2-Ignore-checksum-seed-incompat-feature.patch b/poky/meta/recipes-bsp/grub/files/0001-fs-ext2-Ignore-checksum-seed-incompat-feature.patch new file mode 100644 index 0000000000..a44d139375 --- /dev/null +++ b/poky/meta/recipes-bsp/grub/files/0001-fs-ext2-Ignore-checksum-seed-incompat-feature.patch @@ -0,0 +1,66 @@ +It enable the metadata_csum_seed feature by default in e2fsprogs 1.47.0 and +causes grub doesn't work. Backport patch to make grub support this feature. + +Upstream-Status: Backport [https://git.savannah.gnu.org/cgit/grub.git/commit/?id=7fd5fef] + +Signed-off-by: Kai Kang <kai.kang@windriver.com> + +From 7fd5feff97c4b1f446f8fcf6d37aca0c64e7c763 Mon Sep 17 00:00:00 2001 +From: Javier Martinez Canillas <javierm@redhat.com> +Date: Fri, 11 Jun 2021 21:36:16 +0200 +Subject: [PATCH] fs/ext2: Ignore checksum seed incompat feature + +This incompat feature is used to denote that the filesystem stored its +metadata checksum seed in the superblock. This is used to allow tune2fs +changing the UUID on a mounted metdata_csum filesystem without having +to rewrite all the disk metadata. However, the GRUB doesn't use the +metadata checksum at all. So, it can just ignore this feature if it +is enabled. This is consistent with the GRUB filesystem code in general +which just does a best effort to access the filesystem's data. + +The checksum seed incompat feature has to be removed from the ignore +list if the support for metadata checksum verification is added to the +GRUB ext2 driver later. + +Suggested-by: Eric Sandeen <esandeen@redhat.com> +Suggested-by: Lukas Czerner <lczerner@redhat.com> +Signed-off-by: Javier Martinez Canillas <javierm@redhat.com> +Reviewed-by: Lukas Czerner <lczerner@redhat.com> +Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com> +--- + grub-core/fs/ext2.c | 10 ++++++++-- + 1 file changed, 8 insertions(+), 2 deletions(-) + +diff --git a/grub-core/fs/ext2.c b/grub-core/fs/ext2.c +index e7dd78e66..4953a1591 100644 +--- a/grub-core/fs/ext2.c ++++ b/grub-core/fs/ext2.c +@@ -103,6 +103,7 @@ GRUB_MOD_LICENSE ("GPLv3+"); + #define EXT4_FEATURE_INCOMPAT_64BIT 0x0080 + #define EXT4_FEATURE_INCOMPAT_MMP 0x0100 + #define EXT4_FEATURE_INCOMPAT_FLEX_BG 0x0200 ++#define EXT4_FEATURE_INCOMPAT_CSUM_SEED 0x2000 + #define EXT4_FEATURE_INCOMPAT_ENCRYPT 0x10000 + + /* The set of back-incompatible features this driver DOES support. Add (OR) +@@ -123,10 +124,15 @@ GRUB_MOD_LICENSE ("GPLv3+"); + * mmp: Not really back-incompatible - was added as such to + * avoid multiple read-write mounts. Safe to ignore for this + * RO driver. ++ * checksum seed: Not really back-incompatible - was added to allow tools ++ * such as tune2fs to change the UUID on a mounted metadata ++ * checksummed filesystem. Safe to ignore for now since the ++ * driver doesn't support checksum verification. However, it ++ * has to be removed from this list if the support is added later. + */ + #define EXT2_DRIVER_IGNORED_INCOMPAT ( EXT3_FEATURE_INCOMPAT_RECOVER \ +- | EXT4_FEATURE_INCOMPAT_MMP) +- ++ | EXT4_FEATURE_INCOMPAT_MMP \ ++ | EXT4_FEATURE_INCOMPAT_CSUM_SEED) + + #define EXT3_JOURNAL_MAGIC_NUMBER 0xc03b3998U + +-- +2.34.1 + diff --git a/poky/meta/recipes-bsp/grub/grub2.inc b/poky/meta/recipes-bsp/grub/grub2.inc index b92cbc2654..58b215d79c 100644 --- a/poky/meta/recipes-bsp/grub/grub2.inc +++ b/poky/meta/recipes-bsp/grub/grub2.inc @@ -41,6 +41,7 @@ SRC_URI = "${GNU_MIRROR}/grub/grub-${PV}.tar.gz \ file://CVE-2022-2601.patch \ file://CVE-2022-3775.patch \ file://0001-risc-v-Handle-R_RISCV_CALL_PLT-reloc.patch \ + file://0001-fs-ext2-Ignore-checksum-seed-incompat-feature.patch \ " SRC_URI[sha256sum] = "23b64b4c741569f9426ed2e3d0e6780796fca081bee4c99f62aa3f53ae803f5f" diff --git a/poky/meta/recipes-connectivity/bind/bind-9.18.11/0001-avoid-start-failure-with-bind-user.patch b/poky/meta/recipes-connectivity/bind/bind-9.18.12/0001-avoid-start-failure-with-bind-user.patch index ec1bc7b567..ec1bc7b567 100644 --- a/poky/meta/recipes-connectivity/bind/bind-9.18.11/0001-avoid-start-failure-with-bind-user.patch +++ b/poky/meta/recipes-connectivity/bind/bind-9.18.12/0001-avoid-start-failure-with-bind-user.patch diff --git a/poky/meta/recipes-connectivity/bind/bind-9.18.11/0001-named-lwresd-V-and-start-log-hide-build-options.patch b/poky/meta/recipes-connectivity/bind/bind-9.18.12/0001-named-lwresd-V-and-start-log-hide-build-options.patch index 4c10f33f04..4c10f33f04 100644 --- a/poky/meta/recipes-connectivity/bind/bind-9.18.11/0001-named-lwresd-V-and-start-log-hide-build-options.patch +++ b/poky/meta/recipes-connectivity/bind/bind-9.18.12/0001-named-lwresd-V-and-start-log-hide-build-options.patch diff --git a/poky/meta/recipes-connectivity/bind/bind-9.18.11/bind-ensure-searching-for-json-headers-searches-sysr.patch b/poky/meta/recipes-connectivity/bind/bind-9.18.12/bind-ensure-searching-for-json-headers-searches-sysr.patch index f1abd179e8..f1abd179e8 100644 --- a/poky/meta/recipes-connectivity/bind/bind-9.18.11/bind-ensure-searching-for-json-headers-searches-sysr.patch +++ b/poky/meta/recipes-connectivity/bind/bind-9.18.12/bind-ensure-searching-for-json-headers-searches-sysr.patch diff --git a/poky/meta/recipes-connectivity/bind/bind-9.18.11/bind9 b/poky/meta/recipes-connectivity/bind/bind-9.18.12/bind9 index 968679ff7f..968679ff7f 100644 --- a/poky/meta/recipes-connectivity/bind/bind-9.18.11/bind9 +++ b/poky/meta/recipes-connectivity/bind/bind-9.18.12/bind9 diff --git a/poky/meta/recipes-connectivity/bind/bind-9.18.11/conf.patch b/poky/meta/recipes-connectivity/bind/bind-9.18.12/conf.patch index aa3642acec..aa3642acec 100644 --- a/poky/meta/recipes-connectivity/bind/bind-9.18.11/conf.patch +++ b/poky/meta/recipes-connectivity/bind/bind-9.18.12/conf.patch diff --git a/poky/meta/recipes-connectivity/bind/bind-9.18.11/generate-rndc-key.sh b/poky/meta/recipes-connectivity/bind/bind-9.18.12/generate-rndc-key.sh index 633e29c0e6..633e29c0e6 100644 --- a/poky/meta/recipes-connectivity/bind/bind-9.18.11/generate-rndc-key.sh +++ b/poky/meta/recipes-connectivity/bind/bind-9.18.12/generate-rndc-key.sh diff --git a/poky/meta/recipes-connectivity/bind/bind-9.18.11/init.d-add-support-for-read-only-rootfs.patch b/poky/meta/recipes-connectivity/bind/bind-9.18.12/init.d-add-support-for-read-only-rootfs.patch index 11db95ede1..11db95ede1 100644 --- a/poky/meta/recipes-connectivity/bind/bind-9.18.11/init.d-add-support-for-read-only-rootfs.patch +++ b/poky/meta/recipes-connectivity/bind/bind-9.18.12/init.d-add-support-for-read-only-rootfs.patch diff --git a/poky/meta/recipes-connectivity/bind/bind-9.18.11/make-etc-initd-bind-stop-work.patch b/poky/meta/recipes-connectivity/bind/bind-9.18.12/make-etc-initd-bind-stop-work.patch index 146f3e35db..146f3e35db 100644 --- a/poky/meta/recipes-connectivity/bind/bind-9.18.11/make-etc-initd-bind-stop-work.patch +++ b/poky/meta/recipes-connectivity/bind/bind-9.18.12/make-etc-initd-bind-stop-work.patch diff --git a/poky/meta/recipes-connectivity/bind/bind-9.18.11/named.service b/poky/meta/recipes-connectivity/bind/bind-9.18.12/named.service index cda56ef015..cda56ef015 100644 --- a/poky/meta/recipes-connectivity/bind/bind-9.18.11/named.service +++ b/poky/meta/recipes-connectivity/bind/bind-9.18.12/named.service diff --git a/poky/meta/recipes-connectivity/bind/bind_9.18.11.bb b/poky/meta/recipes-connectivity/bind/bind_9.18.12.bb index 55a06eae5f..abce1c0f45 100644 --- a/poky/meta/recipes-connectivity/bind/bind_9.18.11.bb +++ b/poky/meta/recipes-connectivity/bind/bind_9.18.12.bb @@ -20,7 +20,7 @@ SRC_URI = "https://ftp.isc.org/isc/bind9/${PV}/${BPN}-${PV}.tar.xz \ file://0001-avoid-start-failure-with-bind-user.patch \ " -SRC_URI[sha256sum] = "8ff3352812230cbcbda42df87cad961f94163d3da457c5e4bef8057fd5df2158" +SRC_URI[sha256sum] = "47766bb7b063aabbad054386b190aa7f6c14524427afd427c30ec426512027e7" UPSTREAM_CHECK_URI = "https://ftp.isc.org/isc/bind9/" # follow the ESV versions divisible by 2 diff --git a/poky/meta/recipes-connectivity/dhcpcd/dhcpcd_9.4.1.bb b/poky/meta/recipes-connectivity/dhcpcd/dhcpcd_9.4.1.bb index 39e689d2f6..579fa95df7 100644 --- a/poky/meta/recipes-connectivity/dhcpcd/dhcpcd_9.4.1.bb +++ b/poky/meta/recipes-connectivity/dhcpcd/dhcpcd_9.4.1.bb @@ -19,6 +19,7 @@ SRC_URI = "https://roy.marples.name/downloads/${BPN}/${BPN}-${PV}.tar.xz \ file://0001-privsep-linux-fix-SECCOMP_AUDIT_ARCH-missing-ppc64le.patch \ file://dhcpcd.service \ file://dhcpcd@.service \ + file://0001-dhcpcd.8-Fix-conflict-error-when-enable-multilib.patch \ " SRC_URI[sha256sum] = "819357634efed1ea5cf44ec01b24d3d3f8852fec8b4249925dcc5667c54e376c" diff --git a/poky/meta/recipes-connectivity/dhcpcd/files/0001-dhcpcd.8-Fix-conflict-error-when-enable-multilib.patch b/poky/meta/recipes-connectivity/dhcpcd/files/0001-dhcpcd.8-Fix-conflict-error-when-enable-multilib.patch new file mode 100644 index 0000000000..12998aada4 --- /dev/null +++ b/poky/meta/recipes-connectivity/dhcpcd/files/0001-dhcpcd.8-Fix-conflict-error-when-enable-multilib.patch @@ -0,0 +1,46 @@ +From 4915a7e52fcea8fe283a842890a1e726b1e26b10 Mon Sep 17 00:00:00 2001 +From: Lei Maohui <leimaohui@fujitsu.com> +Date: Fri, 10 Mar 2023 03:48:46 +0000 +Subject: [PATCH] dhcpcd.8: Fix conflict error when enable multilib. + +Error: Transaction test error: + file /usr/share/man/man8/dhcpcd.8 conflicts between attempted + installs of dhcpcd-doc-9.4.1-r0.cortexa57 and + lib32-dhcpcd-doc-9.4.1-r0.armv7ahf_neon + +The differences between the two files are as follows: +@@ -821,7 +821,7 @@ + If you always use the same options, put them here. + .It Pa /usr/libexec/dhcpcd-run-hooks + Bourne shell script that is run to configure or de-configure an interface. +-.It Pa /usr/lib64/dhcpcd/dev ++.It Pa /usr/lib/dhcpcd/dev + Linux + .Pa /dev + management modules. + +It is just a man file, there is no necessary to manage multiple +versions. + +Upstream-Status: Inappropriate [oe specific] +Signed-off-by: Lei Maohui <leimaohui@fujitsu.com> +--- + src/dhcpcd.8.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/dhcpcd.8.in b/src/dhcpcd.8.in +index bc6b3b5..791f2ba 100644 +--- a/src/dhcpcd.8.in ++++ b/src/dhcpcd.8.in +@@ -821,7 +821,7 @@ Configuration file for dhcpcd. + If you always use the same options, put them here. + .It Pa @SCRIPT@ + Bourne shell script that is run to configure or de-configure an interface. +-.It Pa @LIBDIR@/dhcpcd/dev ++.It Pa /usr/<libdir>/dhcpcd/dev + Linux + .Pa /dev + management modules. +-- +2.34.1 + diff --git a/poky/meta/recipes-connectivity/iproute2/iproute2_6.1.0.bb b/poky/meta/recipes-connectivity/iproute2/iproute2_6.2.0.bb index 7272e8f147..65ddfa8223 100644 --- a/poky/meta/recipes-connectivity/iproute2/iproute2_6.1.0.bb +++ b/poky/meta/recipes-connectivity/iproute2/iproute2_6.2.0.bb @@ -7,7 +7,7 @@ HOMEPAGE = "http://www.linuxfoundation.org/collaborate/workgroups/networking/ipr SECTION = "base" LICENSE = "GPL-2.0-or-later" LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a \ - file://ip/ip.c;beginline=3;endline=8;md5=689d691d0410a4b64d3899f8d6e31817" + " DEPENDS = "flex-native bison-native iptables libcap" @@ -15,7 +15,7 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/utils/net/${BPN}/${BP}.tar.xz \ file://0001-libc-compat.h-add-musl-workaround.patch \ " -SRC_URI[sha256sum] = "5ce12a0fec6b212725ef218735941b2dab76244db7e72646a76021b0537b43ab" +SRC_URI[sha256sum] = "4d72730200ec5b2aabaa1a2f20553c6748292f065d9a154c7d5e22559df9fd62" inherit update-alternatives bash-completion pkgconfig diff --git a/poky/meta/recipes-connectivity/openssh/openssh_9.2p1.bb b/poky/meta/recipes-connectivity/openssh/openssh_9.3p1.bb index e6cf2ff2d6..d3dedd1a5a 100644 --- a/poky/meta/recipes-connectivity/openssh/openssh_9.2p1.bb +++ b/poky/meta/recipes-connectivity/openssh/openssh_9.3p1.bb @@ -25,7 +25,7 @@ SRC_URI = "http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-${PV}.tar file://sshd_check_keys \ file://add-test-support-for-busybox.patch \ " -SRC_URI[sha256sum] = "3f66dbf1655fb45f50e1c56da62ab01218c228807b21338d634ebcdf9d71cf46" +SRC_URI[sha256sum] = "e9baba7701a76a51f3d85a62c383a3c9dcd97fa900b859bc7db114c1868af8a8" # This CVE is specific to OpenSSH with the pam opie which we don't build/use here CVE_CHECK_IGNORE += "CVE-2007-2768" @@ -158,7 +158,7 @@ FILES:${PN}-keygen = "${bindir}/ssh-keygen" RDEPENDS:${PN} += "${PN}-scp ${PN}-ssh ${PN}-sshd ${PN}-keygen ${PN}-sftp-server" RDEPENDS:${PN}-sshd += "${PN}-keygen ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam-plugin-keyinit pam-plugin-loginuid', '', d)}" # gdb would make attach-ptrace test pass rather than skip but not worth the build dependencies -RDEPENDS:${PN}-ptest += "${PN}-sftp ${PN}-misc ${PN}-sftp-server make sed sudo coreutils" +RDEPENDS:${PN}-ptest += "${PN}-sftp ${PN}-misc ${PN}-sftp-server make sed sudo coreutils openssl-bin" RPROVIDES:${PN}-ssh = "ssh" RPROVIDES:${PN}-sshd = "sshd" diff --git a/poky/meta/recipes-connectivity/openssl/openssl/CVE-2023-0464.patch b/poky/meta/recipes-connectivity/openssl/openssl/CVE-2023-0464.patch new file mode 100644 index 0000000000..33b0bb6c79 --- /dev/null +++ b/poky/meta/recipes-connectivity/openssl/openssl/CVE-2023-0464.patch @@ -0,0 +1,226 @@ +From 2017771e2db3e2b96f89bbe8766c3209f6a99545 Mon Sep 17 00:00:00 2001 +From: Pauli <pauli@openssl.org> +Date: Wed, 8 Mar 2023 15:28:20 +1100 +Subject: [PATCH] x509: excessive resource use verifying policy constraints + +A security vulnerability has been identified in all supported versions +of OpenSSL related to the verification of X.509 certificate chains +that include policy constraints. Attackers may be able to exploit this +vulnerability by creating a malicious certificate chain that triggers +exponential use of computational resources, leading to a denial-of-service +(DoS) attack on affected systems. + +Fixes CVE-2023-0464 + +Reviewed-by: Tomas Mraz <tomas@openssl.org> +Reviewed-by: Shane Lontis <shane.lontis@oracle.com> +(Merged from https://github.com/openssl/openssl/pull/20570) + +Upstream-Status: Backport from [https://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff;h=2017771e2db3e2b96f89bbe8766c3209f6a99545] +CVE: CVE-2023-0464 +Signed-off-by: Siddharth Doshi <sdoshi@mvista.com> + +--- + crypto/x509/pcy_local.h | 8 +++++++- + crypto/x509/pcy_node.c | 12 +++++++++--- + crypto/x509/pcy_tree.c | 36 ++++++++++++++++++++++++++---------- + 3 files changed, 42 insertions(+), 14 deletions(-) + +diff --git a/crypto/x509/pcy_local.h b/crypto/x509/pcy_local.h +index 18b53cc..cba107c 100644 +--- a/crypto/x509/pcy_local.h ++++ b/crypto/x509/pcy_local.h +@@ -111,6 +111,11 @@ struct X509_POLICY_LEVEL_st { + }; + + struct X509_POLICY_TREE_st { ++ /* The number of nodes in the tree */ ++ size_t node_count; ++ /* The maximum number of nodes in the tree */ ++ size_t node_maximum; ++ + /* This is the tree 'level' data */ + X509_POLICY_LEVEL *levels; + int nlevel; +@@ -157,7 +162,8 @@ X509_POLICY_NODE *ossl_policy_tree_find_sk(STACK_OF(X509_POLICY_NODE) *sk, + X509_POLICY_NODE *ossl_policy_level_add_node(X509_POLICY_LEVEL *level, + X509_POLICY_DATA *data, + X509_POLICY_NODE *parent, +- X509_POLICY_TREE *tree); ++ X509_POLICY_TREE *tree, ++ int extra_data); + void ossl_policy_node_free(X509_POLICY_NODE *node); + int ossl_policy_node_match(const X509_POLICY_LEVEL *lvl, + const X509_POLICY_NODE *node, const ASN1_OBJECT *oid); +diff --git a/crypto/x509/pcy_node.c b/crypto/x509/pcy_node.c +index 9d9a7ea..450f95a 100644 +--- a/crypto/x509/pcy_node.c ++++ b/crypto/x509/pcy_node.c +@@ -59,10 +59,15 @@ X509_POLICY_NODE *ossl_policy_level_find_node(const X509_POLICY_LEVEL *level, + X509_POLICY_NODE *ossl_policy_level_add_node(X509_POLICY_LEVEL *level, + X509_POLICY_DATA *data, + X509_POLICY_NODE *parent, +- X509_POLICY_TREE *tree) ++ X509_POLICY_TREE *tree, ++ int extra_data) + { + X509_POLICY_NODE *node; + ++ /* Verify that the tree isn't too large. This mitigates CVE-2023-0464 */ ++ if (tree->node_maximum > 0 && tree->node_count >= tree->node_maximum) ++ return NULL; ++ + node = OPENSSL_zalloc(sizeof(*node)); + if (node == NULL) { + ERR_raise(ERR_LIB_X509V3, ERR_R_MALLOC_FAILURE); +@@ -70,7 +75,7 @@ X509_POLICY_NODE *ossl_policy_level_add_node(X509_POLICY_LEVEL *level, + } + node->data = data; + node->parent = parent; +- if (level) { ++ if (level != NULL) { + if (OBJ_obj2nid(data->valid_policy) == NID_any_policy) { + if (level->anyPolicy) + goto node_error; +@@ -90,7 +95,7 @@ X509_POLICY_NODE *ossl_policy_level_add_node(X509_POLICY_LEVEL *level, + } + } + +- if (tree) { ++ if (extra_data) { + if (tree->extra_data == NULL) + tree->extra_data = sk_X509_POLICY_DATA_new_null(); + if (tree->extra_data == NULL){ +@@ -103,6 +108,7 @@ X509_POLICY_NODE *ossl_policy_level_add_node(X509_POLICY_LEVEL *level, + } + } + ++ tree->node_count++; + if (parent) + parent->nchild++; + +diff --git a/crypto/x509/pcy_tree.c b/crypto/x509/pcy_tree.c +index fa45da5..f953a05 100644 +--- a/crypto/x509/pcy_tree.c ++++ b/crypto/x509/pcy_tree.c +@@ -14,6 +14,17 @@ + + #include "pcy_local.h" + ++/* ++ * If the maximum number of nodes in the policy tree isn't defined, set it to ++ * a generous default of 1000 nodes. ++ * ++ * Defining this to be zero means unlimited policy tree growth which opens the ++ * door on CVE-2023-0464. ++ */ ++#ifndef OPENSSL_POLICY_TREE_NODES_MAX ++# define OPENSSL_POLICY_TREE_NODES_MAX 1000 ++#endif ++ + static void expected_print(BIO *channel, + X509_POLICY_LEVEL *lev, X509_POLICY_NODE *node, + int indent) +@@ -163,6 +174,9 @@ static int tree_init(X509_POLICY_TREE **ptree, STACK_OF(X509) *certs, + return X509_PCY_TREE_INTERNAL; + } + ++ /* Limit the growth of the tree to mitigate CVE-2023-0464 */ ++ tree->node_maximum = OPENSSL_POLICY_TREE_NODES_MAX; ++ + /* + * http://tools.ietf.org/html/rfc5280#section-6.1.2, figure 3. + * +@@ -180,7 +194,7 @@ static int tree_init(X509_POLICY_TREE **ptree, STACK_OF(X509) *certs, + if ((data = ossl_policy_data_new(NULL, + OBJ_nid2obj(NID_any_policy), 0)) == NULL) + goto bad_tree; +- if (ossl_policy_level_add_node(level, data, NULL, tree) == NULL) { ++ if (ossl_policy_level_add_node(level, data, NULL, tree, 1) == NULL) { + ossl_policy_data_free(data); + goto bad_tree; + } +@@ -239,7 +253,8 @@ static int tree_init(X509_POLICY_TREE **ptree, STACK_OF(X509) *certs, + * Return value: 1 on success, 0 otherwise + */ + static int tree_link_matching_nodes(X509_POLICY_LEVEL *curr, +- X509_POLICY_DATA *data) ++ X509_POLICY_DATA *data, ++ X509_POLICY_TREE *tree) + { + X509_POLICY_LEVEL *last = curr - 1; + int i, matched = 0; +@@ -249,13 +264,13 @@ static int tree_link_matching_nodes(X509_POLICY_LEVEL *curr, + X509_POLICY_NODE *node = sk_X509_POLICY_NODE_value(last->nodes, i); + + if (ossl_policy_node_match(last, node, data->valid_policy)) { +- if (ossl_policy_level_add_node(curr, data, node, NULL) == NULL) ++ if (ossl_policy_level_add_node(curr, data, node, tree, 0) == NULL) + return 0; + matched = 1; + } + } + if (!matched && last->anyPolicy) { +- if (ossl_policy_level_add_node(curr, data, last->anyPolicy, NULL) == NULL) ++ if (ossl_policy_level_add_node(curr, data, last->anyPolicy, tree, 0) == NULL) + return 0; + } + return 1; +@@ -268,7 +283,8 @@ static int tree_link_matching_nodes(X509_POLICY_LEVEL *curr, + * Return value: 1 on success, 0 otherwise. + */ + static int tree_link_nodes(X509_POLICY_LEVEL *curr, +- const X509_POLICY_CACHE *cache) ++ const X509_POLICY_CACHE *cache, ++ X509_POLICY_TREE *tree) + { + int i; + +@@ -276,7 +292,7 @@ static int tree_link_nodes(X509_POLICY_LEVEL *curr, + X509_POLICY_DATA *data = sk_X509_POLICY_DATA_value(cache->data, i); + + /* Look for matching nodes in previous level */ +- if (!tree_link_matching_nodes(curr, data)) ++ if (!tree_link_matching_nodes(curr, data, tree)) + return 0; + } + return 1; +@@ -307,7 +323,7 @@ static int tree_add_unmatched(X509_POLICY_LEVEL *curr, + /* Curr may not have anyPolicy */ + data->qualifier_set = cache->anyPolicy->qualifier_set; + data->flags |= POLICY_DATA_FLAG_SHARED_QUALIFIERS; +- if (ossl_policy_level_add_node(curr, data, node, tree) == NULL) { ++ if (ossl_policy_level_add_node(curr, data, node, tree, 1) == NULL) { + ossl_policy_data_free(data); + return 0; + } +@@ -370,7 +386,7 @@ static int tree_link_any(X509_POLICY_LEVEL *curr, + /* Finally add link to anyPolicy */ + if (last->anyPolicy && + ossl_policy_level_add_node(curr, cache->anyPolicy, +- last->anyPolicy, NULL) == NULL) ++ last->anyPolicy, tree, 0) == NULL) + return 0; + return 1; + } +@@ -553,7 +569,7 @@ static int tree_calculate_user_set(X509_POLICY_TREE *tree, + extra->flags = POLICY_DATA_FLAG_SHARED_QUALIFIERS + | POLICY_DATA_FLAG_EXTRA_NODE; + node = ossl_policy_level_add_node(NULL, extra, anyPolicy->parent, +- tree); ++ tree, 1); + } + if (!tree->user_policies) { + tree->user_policies = sk_X509_POLICY_NODE_new_null(); +@@ -580,7 +596,7 @@ static int tree_evaluate(X509_POLICY_TREE *tree) + + for (i = 1; i < tree->nlevel; i++, curr++) { + cache = ossl_policy_cache_set(curr->cert); +- if (!tree_link_nodes(curr, cache)) ++ if (!tree_link_nodes(curr, cache, tree)) + return X509_PCY_TREE_INTERNAL; + + if (!(curr->flags & X509_V_FLAG_INHIBIT_ANY) +-- +2.25.1 + diff --git a/poky/meta/recipes-connectivity/openssl/openssl/afalg.patch b/poky/meta/recipes-connectivity/openssl/openssl/afalg.patch deleted file mode 100644 index cf77e873a2..0000000000 --- a/poky/meta/recipes-connectivity/openssl/openssl/afalg.patch +++ /dev/null @@ -1,31 +0,0 @@ -Don't refuse to build afalgeng if cross-compiling or the host kernel is too old. - -Upstream-Status: Submitted [hhttps://github.com/openssl/openssl/pull/7688] -Signed-off-by: Ross Burton <ross.burton@intel.com> - -Index: openssl-3.0.4/Configure -=================================================================== ---- openssl-3.0.4.orig/Configure -+++ openssl-3.0.4/Configure -@@ -1681,20 +1681,7 @@ $config{CFLAGS} = [ map { $_ eq '--ossl- - unless ($disabled{afalgeng}) { - $config{afalgeng}=""; - if (grep { $_ eq 'afalgeng' } @{$target{enable}}) { -- my $minver = 4*10000 + 1*100 + 0; -- if ($config{CROSS_COMPILE} eq "") { -- my $verstr = `uname -r`; -- my ($ma, $mi1, $mi2) = split("\\.", $verstr); -- ($mi2) = $mi2 =~ /(\d+)/; -- my $ver = $ma*10000 + $mi1*100 + $mi2; -- if ($ver < $minver) { -- disable('too-old-kernel', 'afalgeng'); -- } else { -- push @{$config{engdirs}}, "afalg"; -- } -- } else { -- disable('cross-compiling', 'afalgeng'); -- } -+ push @{$config{engdirs}}, "afalg"; - } else { - disable('not-linux', 'afalgeng'); - } diff --git a/poky/meta/recipes-connectivity/openssl/openssl/fix_random_labels.patch b/poky/meta/recipes-connectivity/openssl/openssl/fix_random_labels.patch new file mode 100644 index 0000000000..78dcd81685 --- /dev/null +++ b/poky/meta/recipes-connectivity/openssl/openssl/fix_random_labels.patch @@ -0,0 +1,22 @@ +The perl script adds random suffixes to the local function names to ensure +it doesn't clash with other parts of openssl. Set the random number seed +to something predictable so the assembler files are generated consistently +and our own reproducible builds tests pass. + +Upstream-Status: Pending +Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> + +Index: openssl-3.1.0/crypto/modes/asm/aes-gcm-avx512.pl +=================================================================== +--- openssl-3.1.0.orig/crypto/modes/asm/aes-gcm-avx512.pl ++++ openssl-3.1.0/crypto/modes/asm/aes-gcm-avx512.pl +@@ -191,6 +191,9 @@ my $CTX_OFFSET_HTable = (16 * 6); + # ;;; Helper functions + # ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + ++# Ensure the local labels are reproduicble ++srand(10000); ++ + # ; Generates "random" local labels + sub random_string() { + my @chars = ('a' .. 'z', 'A' .. 'Z', '0' .. '9', '_'); diff --git a/poky/meta/recipes-connectivity/openssl/openssl_3.0.8.bb b/poky/meta/recipes-connectivity/openssl/openssl_3.1.0.bb index 8771884dda..b319c66044 100644 --- a/poky/meta/recipes-connectivity/openssl/openssl_3.0.8.bb +++ b/poky/meta/recipes-connectivity/openssl/openssl_3.1.0.bb @@ -10,15 +10,16 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=c75985e733726beaba57bc5253e96d04" SRC_URI = "http://www.openssl.org/source/openssl-${PV}.tar.gz \ file://run-ptest \ file://0001-buildinfo-strip-sysroot-and-debug-prefix-map-from-co.patch \ - file://afalg.patch \ file://0001-Configure-do-not-tweak-mips-cflags.patch \ + file://fix_random_labels.patch \ + file://CVE-2023-0464.patch \ " SRC_URI:append:class-nativesdk = " \ file://environment.d-openssl.sh \ " -SRC_URI[sha256sum] = "6c13d2bf38fdf31eac3ce2a347073673f5d63263398f1f69d0df4a41253e4b3e" +SRC_URI[sha256sum] = "aaa925ad9828745c4cad9d9efeb273deca820f2cdcf2c3ac7d7c1212b7c497b4" inherit lib_package multilib_header multilib_script ptest perlnative MULTILIB_SCRIPTS = "${PN}-bin:${bindir}/c_rehash" diff --git a/poky/meta/recipes-core/base-files/base-files/hosts b/poky/meta/recipes-core/base-files/base-files/hosts index b94f414d5c..10a5b6c704 100644 --- a/poky/meta/recipes-core/base-files/base-files/hosts +++ b/poky/meta/recipes-core/base-files/base-files/hosts @@ -1,4 +1,4 @@ -127.0.0.1 localhost.localdomain localhost +127.0.0.1 localhost # The following lines are desirable for IPv6 capable hosts ::1 localhost ip6-localhost ip6-loopback diff --git a/poky/meta/recipes-core/busybox/busybox.inc b/poky/meta/recipes-core/busybox/busybox.inc index 62dc839245..4569acd475 100644 --- a/poky/meta/recipes-core/busybox/busybox.inc +++ b/poky/meta/recipes-core/busybox/busybox.inc @@ -55,7 +55,7 @@ RDEPENDS:${PN} = "${@["", "busybox-inittab"][(d.getVar('VIRTUAL-RUNTIME_init_man inherit cml1 systemd update-rc.d ptest # busybox's unzip test case needs zip command, which busybox itself does not provide -RDEPENDS:${PN}-ptest = "zip" +RDEPENDS:${PN}-ptest = "zip coreutils" # internal helper def busybox_cfg(feature, tokens, cnf, rem): diff --git a/poky/meta/recipes-core/gettext/gettext_0.21.1.bb b/poky/meta/recipes-core/gettext/gettext_0.21.1.bb index ec80a89e49..b80ea9276e 100644 --- a/poky/meta/recipes-core/gettext/gettext_0.21.1.bb +++ b/poky/meta/recipes-core/gettext/gettext_0.21.1.bb @@ -182,7 +182,7 @@ do_install_ptest() { fi } -RDEPENDS:${PN}-ptest += "make xz" +RDEPENDS:${PN}-ptest += "make xz bash" RDEPENDS:${PN}-ptest:append:libc-glibc = "\ glibc-gconv-big5 \ glibc-charmap-big5 \ diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0_2.74.5.bb b/poky/meta/recipes-core/glib-2.0/glib-2.0_2.74.6.bb index d54f077cb0..5b79ae481c 100644 --- a/poky/meta/recipes-core/glib-2.0/glib-2.0_2.74.5.bb +++ b/poky/meta/recipes-core/glib-2.0/glib-2.0_2.74.6.bb @@ -21,7 +21,7 @@ SRC_URI = "${GNOME_MIRROR}/glib/${SHRT_VER}/glib-${PV}.tar.xz \ " SRC_URI:append:class-native = " file://relocate-modules.patch" -SRC_URI[sha256sum] = "ceba83a5999ceb31a4c4fc9921207cb9ffffd2ab1d6ec03c162d3f608a5c14c8" +SRC_URI[sha256sum] = "069cf7e51cd261eb163aaf06c8d1754c6835f31252180aff5814e5afc7757fbc" # Find any meson cross files in FILESPATH that are relevant for the current # build (using siteinfo) and add them to EXTRA_OEMESON. diff --git a/poky/meta/recipes-core/glibc/glibc-common.inc b/poky/meta/recipes-core/glibc/glibc-common.inc index a1a0a5feb1..b93b55fe77 100644 --- a/poky/meta/recipes-core/glibc/glibc-common.inc +++ b/poky/meta/recipes-core/glibc/glibc-common.inc @@ -23,3 +23,4 @@ ARM_INSTRUCTION_SET:armv6 = "arm" COMPATIBLE_HOST:libc-musl:class-target = "null" PV = "2.37" +PR = "r1" diff --git a/poky/meta/recipes-core/glibc/glibc-locale.inc b/poky/meta/recipes-core/glibc/glibc-locale.inc index 7f70b3ca4f..760de9437b 100644 --- a/poky/meta/recipes-core/glibc/glibc-locale.inc +++ b/poky/meta/recipes-core/glibc/glibc-locale.inc @@ -20,7 +20,7 @@ ENABLE_BINARY_LOCALE_GENERATION:pn-nativesdk-glibc-locale = "1" #enable locale generation on these arches # BINARY_LOCALE_ARCHES is a space separated list of regular expressions -BINARY_LOCALE_ARCHES ?= "arc arm.* aarch64 i[3-6]86 x86_64 powerpc mips mips64 riscv32 riscv64" +BINARY_LOCALE_ARCHES ?= "arc arm.* aarch64 i[3-6]86 x86_64 powerpc mips mips64 riscv32 riscv64 loongarch64" # set "1" to use cross-localedef for locale generation # set "0" for qemu emulation of native localedef for locale generation diff --git a/poky/meta/recipes-core/glibc/glibc-tests_2.37.bb b/poky/meta/recipes-core/glibc/glibc-tests_2.37.bb index bb6ef06162..9352a058fb 100644 --- a/poky/meta/recipes-core/glibc/glibc-tests_2.37.bb +++ b/poky/meta/recipes-core/glibc/glibc-tests_2.37.bb @@ -27,7 +27,7 @@ python __anonymous() { # Remove any leftovers from original glibc recipe RPROVIDES:${PN} = "${PN}" RRECOMMENDS:${PN} = "" -RDEPENDS:${PN} = " glibc sed" +RDEPENDS:${PN} = " glibc sed bash" RDEPENDS:${PN}-ptest = "${PN}" DEPENDS += "sed" diff --git a/poky/meta/recipes-core/glibc/glibc.inc b/poky/meta/recipes-core/glibc/glibc.inc index fdd241d973..3b940b8ab2 100644 --- a/poky/meta/recipes-core/glibc/glibc.inc +++ b/poky/meta/recipes-core/glibc/glibc.inc @@ -1,7 +1,9 @@ require glibc-common.inc require glibc-ld.inc -DEPENDS = "virtual/${TARGET_PREFIX}gcc libgcc-initial linux-libc-headers" +DEPENDS = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}binutils${BUSUFFIX} libgcc-initial linux-libc-headers" +BUSUFFIX= "" +BUSUFFIX:class-nativesdk = "-crosssdk" PROVIDES = "virtual/libc" PROVIDES += "virtual/libintl virtual/libiconv" diff --git a/poky/meta/recipes-core/glibc/glibc/run-ptest b/poky/meta/recipes-core/glibc/glibc/run-ptest index f637986105..c394b49866 100755 --- a/poky/meta/recipes-core/glibc/glibc/run-ptest +++ b/poky/meta/recipes-core/glibc/glibc/run-ptest @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash # ptest script for glibc - to run time related tests to # facilitate Y2038 validation # Run with 'ptest-runner glibc-tests' diff --git a/poky/meta/recipes-core/glibc/glibc_2.37.bb b/poky/meta/recipes-core/glibc/glibc_2.37.bb index 762a2793ad..b27f98fb19 100644 --- a/poky/meta/recipes-core/glibc/glibc_2.37.bb +++ b/poky/meta/recipes-core/glibc/glibc_2.37.bb @@ -74,6 +74,7 @@ EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \ --enable-stack-protector=strong \ --disable-crypt \ --with-default-link \ + --disable-werror \ ${@bb.utils.contains_any('SELECTED_OPTIMIZATION', '-O0 -Og', '--disable-werror', '', d)} \ ${GLIBCPIE} \ ${GLIBC_EXTRA_OECONF}" diff --git a/poky/meta/recipes-core/images/core-image-ptest-all.bb b/poky/meta/recipes-core/images/core-image-ptest-all.bb index 1472451675..c84e653d6e 100644 --- a/poky/meta/recipes-core/images/core-image-ptest-all.bb +++ b/poky/meta/recipes-core/images/core-image-ptest-all.bb @@ -1,25 +1,25 @@ -inherit features_check +DESCRIPTION = "Recipe to trigger execution of all ptest images." +HOMEPAGE = "https://www.yoctoproject.org/" + +LICENSE = "MIT" + +inherit features_check nopackages REQUIRED_DISTRO_FEATURES = "ptest" -require core-image-minimal.bb require conf/distro/include/ptest-packagelists.inc -DESCRIPTION += "Also includes ptest packages." -HOMEPAGE = "https://www.yoctoproject.org/" - # Include the full set of ptests -IMAGE_INSTALL += "${PTESTS_FAST} ${PTESTS_SLOW}" +PTESTS = "${PTESTS_FAST} ${PTESTS_SLOW}" + +do_testimage[noexec] = "1" +do_testimage[depends] = "${@' '.join(['core-image-ptest-'+x+':do_testimage' for x in d.getVar('PTESTS').split()])}" -# This image is sufficiently large (~1.8GB) that we need to be careful that it fits in a live -# image (which has a 4GB limit), so nullify the overhead factor (1.3x out of the -# box) and explicitly add just 1100MB. -# strace-ptest in particular needs more than 500MB -IMAGE_OVERHEAD_FACTOR = "1.0" -IMAGE_ROOTFS_EXTRA_SPACE = "1124288" +do_build[depends] = "${@' '.join(['core-image-ptest-'+x+':do_build' for x in d.getVar('PTESTS').split()])}" -# ptests need more memory than standard to avoid the OOM killer -# also lttng-tools needs /tmp that has at least 2G -QB_MEM = "-m 4096" +# normally image.bbclass would do this +EXCLUDE_FROM_WORLD = "1" -# Sadly at the moment the full set of ptests is not robust enough and sporadically fails in random places -PTEST_EXPECT_FAILURE = "1" +python () { + if bb.utils.contains('IMAGE_CLASSES', 'testimage', True, False, d): + bb.build.addtask("do_testimage", "", "", d) +} diff --git a/poky/meta/recipes-core/images/core-image-ptest-fast.bb b/poky/meta/recipes-core/images/core-image-ptest-fast.bb index 40df274c4c..e768afb302 100644 --- a/poky/meta/recipes-core/images/core-image-ptest-fast.bb +++ b/poky/meta/recipes-core/images/core-image-ptest-fast.bb @@ -1,24 +1,6 @@ -inherit features_check -REQUIRED_DISTRO_FEATURES = "ptest" +require core-image-ptest-all.bb -require core-image-minimal.bb -require conf/distro/include/ptest-packagelists.inc +DESCRIPTION = "Recipe to trigger execution of all fast ptest images." -# Include only fast (< 30 sec) ptests -IMAGE_INSTALL += "${PTESTS_FAST}" +PTESTS = "${PTESTS_FAST}" -DESCRIPTION += "Also includes ptest packages with fast execution times to allow for more automated QA." -HOMEPAGE = "https://www.yoctoproject.org/" - -# This image is sufficiently large (~1.8GB) that it can't actually fit in a live -# image (which has a 4GB limit), so nullify the overhead factor (1.3x out of the -# box) and explicitly add just 1500MB. -# strace-ptest in particular needs more than 500MB -IMAGE_OVERHEAD_FACTOR = "1.0" -IMAGE_ROOTFS_EXTRA_SPACE = "1524288" - -# ptests need more memory than standard to avoid the OOM killer -QB_MEM = "-m 1024" - -# Sadly at the moment the fast set of ptests is not robust enough and sporadically fails in a couple of places -PTEST_EXPECT_FAILURE = "1" diff --git a/poky/meta/recipes-core/images/core-image-ptest.bb b/poky/meta/recipes-core/images/core-image-ptest.bb new file mode 100644 index 0000000000..90c26641ba --- /dev/null +++ b/poky/meta/recipes-core/images/core-image-ptest.bb @@ -0,0 +1,39 @@ +inherit features_check +REQUIRED_DISTRO_FEATURES = "ptest" + +require core-image-minimal.bb +require conf/distro/include/ptest-packagelists.inc + +DESCRIPTION += "Also including the ${MCNAME} ptest package." +HOMEPAGE = "https://www.yoctoproject.org/" + +PTESTS = "${PTESTS_SLOW} ${PTESTS_FAST}" + +IMAGE_INSTALL:append = " ${MCNAME}-ptest openssh" + +BBCLASSEXTEND = "${@' '.join(['mcextend:'+x for x in d.getVar('PTESTS').split()])}" + +# The image can sufficiently large (~1.8GB) that we need to be careful that it fits in a live +# image (which has a 4GB limit), so nullify the overhead factor (1.3x out of the +# box) and explicitly add up to 1500MB. +# strace-ptest in particular needs more than 500MB +IMAGE_OVERHEAD_FACTOR = "1.0" +IMAGE_ROOTFS_EXTRA_SPACE = "324288" +IMAGE_ROOTFS_EXTRA_SPACE:virtclass-mcextend-strace = "1024288" +IMAGE_ROOTFS_EXTRA_SPACE:virtclass-mcextend-lttng-tools = "1524288" + +# ptests need more memory than standard to avoid the OOM killer +QB_MEM = "-m 1024" +QB_MEM:virtclass-mcextend-lttng-tools = "-m 4096" +QB_MEM:virtclass-mcextend-python3-cryptography = "-m 4096" + +TEST_SUITES = "ping ssh parselogs ptest" + +# Sadly at the moment the full set of ptests is not robust enough and sporadically fails in random places +PTEST_EXPECT_FAILURE = "1" + +python () { + if not d.getVar("MCNAME"): + raise bb.parse.SkipRecipe("No class extension set") +} + diff --git a/poky/meta/recipes-core/meta/buildtools-tarball.bb b/poky/meta/recipes-core/meta/buildtools-tarball.bb index 34f7773398..70d740b4e0 100644 --- a/poky/meta/recipes-core/meta/buildtools-tarball.bb +++ b/poky/meta/recipes-core/meta/buildtools-tarball.bb @@ -67,7 +67,7 @@ create_sdk_files:append () { # Generate new (mini) sdk-environment-setup file script=${1:-${SDK_OUTPUT}/${SDKPATH}/environment-setup-${SDK_SYS}} touch $script - echo 'export PATH=${SDKPATHNATIVE}${bindir_nativesdk}:${SDKPATHNATIVE}${sbindir_nativesdk}:${SDKPATHNATIVE}${base_bindir_nativesdk}:${SDKPATHNATIVE}${base_sbindir_nativesdk}:$PATH' >> $script + echo 'export PATH="${SDKPATHNATIVE}${bindir_nativesdk}:${SDKPATHNATIVE}${sbindir_nativesdk}:${SDKPATHNATIVE}${base_bindir_nativesdk}:${SDKPATHNATIVE}${base_sbindir_nativesdk}:$PATH"' >> $script echo 'export OECORE_NATIVE_SYSROOT="${SDKPATHNATIVE}"' >> $script if [ -e "${SDK_OUTPUT}${SDKPATHNATIVE}${sysconfdir}/ssl/certs/ca-certificates.crt" ]; then echo 'export GIT_SSL_CAINFO="${SDKPATHNATIVE}${sysconfdir}/ssl/certs/ca-certificates.crt"' >>$script diff --git a/poky/meta/recipes-core/systemd/systemd-boot_252.5.bb b/poky/meta/recipes-core/systemd/systemd-boot_253.1.bb index b67706b731..b67706b731 100644 --- a/poky/meta/recipes-core/systemd/systemd-boot_252.5.bb +++ b/poky/meta/recipes-core/systemd/systemd-boot_253.1.bb diff --git a/poky/meta/recipes-core/systemd/systemd-systemctl/systemctl b/poky/meta/recipes-core/systemd/systemd-systemctl/systemctl index 45b29671ee..cddae75a06 100755 --- a/poky/meta/recipes-core/systemd/systemd-systemctl/systemctl +++ b/poky/meta/recipes-core/systemd/systemd-systemctl/systemctl @@ -302,7 +302,7 @@ def preset_all(root): # For the stateless configuration, where /etc is generated at runtime # (for example on a tmpfs), this script shouldn't run at all and we # allow systemd to completely populate /etc. - (root / SYSCONFDIR / "machine-id").write_text("uninitialized") + (root / SYSCONFDIR / "machine-id").touch() def main(): diff --git a/poky/meta/recipes-core/systemd/systemd.inc b/poky/meta/recipes-core/systemd/systemd.inc index df27e01b1c..14608f9abc 100644 --- a/poky/meta/recipes-core/systemd/systemd.inc +++ b/poky/meta/recipes-core/systemd/systemd.inc @@ -14,9 +14,11 @@ LICENSE = "GPL-2.0-only & LGPL-2.1-only" LIC_FILES_CHKSUM = "file://LICENSE.GPL2;md5=751419260aa954499f7abaabaa882bbe \ file://LICENSE.LGPL2.1;md5=4fbd65380cdd255951079008b364516c" -SRCREV = "61f5710d0bfd8f522af6f8eef399a851509946e2" -SRCBRANCH = "v252-stable" +SRCREV = "6c327d74aa0d350482e82a247d7018559699798d" +SRCBRANCH = "v253-stable" SRC_URI = "git://github.com/systemd/systemd-stable.git;protocol=https;branch=${SRCBRANCH} \ -" + file://0026-src-boot-efi-efi-string.c-define-wchar_t-from-__WCHA.patch \ + file://0025-systemctl-explicitly-cast-the-constants-to-uint64_t.patch \ + " S = "${WORKDIR}/git" diff --git a/poky/meta/recipes-core/systemd/systemd/0001-Adjust-for-musl-headers.patch b/poky/meta/recipes-core/systemd/systemd/0001-Adjust-for-musl-headers.patch index 6496280dda..5e9646c569 100644 --- a/poky/meta/recipes-core/systemd/systemd/0001-Adjust-for-musl-headers.patch +++ b/poky/meta/recipes-core/systemd/systemd/0001-Adjust-for-musl-headers.patch @@ -1,4 +1,4 @@ -From 9a1841402ce3ef21a10a7314a07a615f8196d406 Mon Sep 17 00:00:00 2001 +From e5f067cb3dc845dd865e450f4e64077b28feb4c0 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Fri, 21 Jan 2022 22:19:37 -0800 Subject: [PATCH] Adjust for musl headers @@ -6,7 +6,6 @@ Subject: [PATCH] Adjust for musl headers Upstream-Status: Inappropriate [musl specific] Signed-off-by: Khem Raj <raj.khem@gmail.com> - --- src/libsystemd-network/sd-dhcp6-client.c | 2 +- src/network/netdev/bareudp.c | 2 +- @@ -47,6 +46,8 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> src/udev/udev-builtin-net_id.c | 2 +- 37 files changed, 44 insertions(+), 42 deletions(-) +diff --git a/src/libsystemd-network/sd-dhcp6-client.c b/src/libsystemd-network/sd-dhcp6-client.c +index 57dd91f81f..2b7f4fa3a7 100644 --- a/src/libsystemd-network/sd-dhcp6-client.c +++ b/src/libsystemd-network/sd-dhcp6-client.c @@ -5,7 +5,7 @@ @@ -58,6 +59,8 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> #include <linux/if_infiniband.h> #include "sd-dhcp6-client.h" +diff --git a/src/network/netdev/bareudp.c b/src/network/netdev/bareudp.c +index 24d3afb877..f6241b41ee 100644 --- a/src/network/netdev/bareudp.c +++ b/src/network/netdev/bareudp.c @@ -2,7 +2,7 @@ @@ -69,6 +72,8 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> #include "bareudp.h" #include "netlink-util.h" +diff --git a/src/network/netdev/batadv.c b/src/network/netdev/batadv.c +index 7e97619657..50fcffcfdf 100644 --- a/src/network/netdev/batadv.c +++ b/src/network/netdev/batadv.c @@ -3,7 +3,7 @@ @@ -80,6 +85,8 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> #include "batadv.h" #include "fileio.h" +diff --git a/src/network/netdev/bond.c b/src/network/netdev/bond.c +index 601bff0a9c..dfed8d9e54 100644 --- a/src/network/netdev/bond.c +++ b/src/network/netdev/bond.c @@ -1,7 +1,7 @@ @@ -91,6 +98,8 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> #include "alloc-util.h" #include "bond.h" +diff --git a/src/network/netdev/bridge.c b/src/network/netdev/bridge.c +index b65c3b49fc..6875b4fbdb 100644 --- a/src/network/netdev/bridge.c +++ b/src/network/netdev/bridge.c @@ -2,7 +2,7 @@ @@ -102,6 +111,8 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> #include <linux/if_bridge.h> #include "bridge.h" +diff --git a/src/network/netdev/dummy.c b/src/network/netdev/dummy.c +index 00df1d2787..77b506b422 100644 --- a/src/network/netdev/dummy.c +++ b/src/network/netdev/dummy.c @@ -1,6 +1,6 @@ @@ -112,6 +123,8 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> #include "dummy.h" +diff --git a/src/network/netdev/geneve.c b/src/network/netdev/geneve.c +index 777a32d75c..73bfa2b5c1 100644 --- a/src/network/netdev/geneve.c +++ b/src/network/netdev/geneve.c @@ -2,7 +2,7 @@ @@ -123,6 +136,8 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> #include "alloc-util.h" #include "conf-parser.h" +diff --git a/src/network/netdev/ifb.c b/src/network/netdev/ifb.c +index d7ff44cb9e..e037629ae4 100644 --- a/src/network/netdev/ifb.c +++ b/src/network/netdev/ifb.c @@ -1,7 +1,7 @@ @@ -134,6 +149,8 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> #include "ifb.h" +diff --git a/src/network/netdev/ipoib.c b/src/network/netdev/ipoib.c +index 5dd9286d57..4036d66dad 100644 --- a/src/network/netdev/ipoib.c +++ b/src/network/netdev/ipoib.c @@ -1,6 +1,6 @@ @@ -144,6 +161,8 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> #include <linux/if_link.h> #include "ipoib.h" +diff --git a/src/network/netdev/ipvlan.c b/src/network/netdev/ipvlan.c +index 058eadebd7..c470ebb6d7 100644 --- a/src/network/netdev/ipvlan.c +++ b/src/network/netdev/ipvlan.c @@ -2,7 +2,7 @@ @@ -155,6 +174,8 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> #include "conf-parser.h" #include "ipvlan.h" +diff --git a/src/network/netdev/macsec.c b/src/network/netdev/macsec.c +index 0da3dd4bd2..eb20f04469 100644 --- a/src/network/netdev/macsec.c +++ b/src/network/netdev/macsec.c @@ -1,7 +1,7 @@ @@ -166,6 +187,8 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> #include <linux/if_ether.h> #include <linux/if_macsec.h> #include <linux/genetlink.h> +diff --git a/src/network/netdev/macvlan.c b/src/network/netdev/macvlan.c +index 1114bb0cb1..6c79a219a4 100644 --- a/src/network/netdev/macvlan.c +++ b/src/network/netdev/macvlan.c @@ -2,7 +2,7 @@ @@ -177,6 +200,8 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> #include "conf-parser.h" #include "macvlan.h" +diff --git a/src/network/netdev/netdev.c b/src/network/netdev/netdev.c +index 038a27c118..67155f0db7 100644 --- a/src/network/netdev/netdev.c +++ b/src/network/netdev/netdev.c @@ -2,7 +2,7 @@ @@ -188,6 +213,8 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> #include <unistd.h> #include "alloc-util.h" +diff --git a/src/network/netdev/netdevsim.c b/src/network/netdev/netdevsim.c +index 15d5c132f9..a3ffa48b15 100644 --- a/src/network/netdev/netdevsim.c +++ b/src/network/netdev/netdevsim.c @@ -1,6 +1,6 @@ @@ -198,6 +225,8 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> #include "netdevsim.h" +diff --git a/src/network/netdev/nlmon.c b/src/network/netdev/nlmon.c +index ff372092e6..eef66811f4 100644 --- a/src/network/netdev/nlmon.c +++ b/src/network/netdev/nlmon.c @@ -1,6 +1,6 @@ @@ -208,6 +237,8 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> #include "nlmon.h" +diff --git a/src/network/netdev/tunnel.c b/src/network/netdev/tunnel.c +index 2addfeecaa..954987f26d 100644 --- a/src/network/netdev/tunnel.c +++ b/src/network/netdev/tunnel.c @@ -2,7 +2,7 @@ @@ -219,6 +250,8 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> #include <linux/if_tunnel.h> #include <linux/ip.h> #include <linux/ip6_tunnel.h> +diff --git a/src/network/netdev/vcan.c b/src/network/netdev/vcan.c +index 380547ee1e..137c1adf8a 100644 --- a/src/network/netdev/vcan.c +++ b/src/network/netdev/vcan.c @@ -1,6 +1,6 @@ @@ -229,6 +262,8 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> #include "vcan.h" +diff --git a/src/network/netdev/veth.c b/src/network/netdev/veth.c +index fb00e6667f..f52d9ee89a 100644 --- a/src/network/netdev/veth.c +++ b/src/network/netdev/veth.c @@ -3,7 +3,7 @@ @@ -240,6 +275,8 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> #include <linux/veth.h> #include "netlink-util.h" +diff --git a/src/network/netdev/vlan.c b/src/network/netdev/vlan.c +index a3d961dac3..386b567a42 100644 --- a/src/network/netdev/vlan.c +++ b/src/network/netdev/vlan.c @@ -2,7 +2,7 @@ @@ -251,6 +288,8 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> #include <linux/if_vlan.h> #include "parse-util.h" +diff --git a/src/network/netdev/vrf.c b/src/network/netdev/vrf.c +index 05ef3ff13d..825fc4a398 100644 --- a/src/network/netdev/vrf.c +++ b/src/network/netdev/vrf.c @@ -2,7 +2,7 @@ @@ -262,6 +301,8 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> #include "vrf.h" +diff --git a/src/network/netdev/vxcan.c b/src/network/netdev/vxcan.c +index 83269b0707..39c6dbe29c 100644 --- a/src/network/netdev/vxcan.c +++ b/src/network/netdev/vxcan.c @@ -1,7 +1,7 @@ @@ -273,6 +314,8 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> #include "vxcan.h" +diff --git a/src/network/netdev/vxlan.c b/src/network/netdev/vxlan.c +index 589161938a..0ec9625b7a 100644 --- a/src/network/netdev/vxlan.c +++ b/src/network/netdev/vxlan.c @@ -2,7 +2,7 @@ @@ -284,6 +327,8 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> #include "conf-parser.h" #include "alloc-util.h" +diff --git a/src/network/netdev/wireguard.c b/src/network/netdev/wireguard.c +index 51e7e02990..fc36c0623a 100644 --- a/src/network/netdev/wireguard.c +++ b/src/network/netdev/wireguard.c @@ -6,7 +6,7 @@ @@ -295,6 +340,8 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> #include <linux/ipv6_route.h> #include "sd-resolve.h" +diff --git a/src/network/netdev/xfrm.c b/src/network/netdev/xfrm.c +index a961d8fef2..6c1815b257 100644 --- a/src/network/netdev/xfrm.c +++ b/src/network/netdev/xfrm.c @@ -1,6 +1,6 @@ @@ -305,6 +352,8 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> #include "missing_network.h" #include "xfrm.h" +diff --git a/src/network/networkd-bridge-mdb.c b/src/network/networkd-bridge-mdb.c +index bd1a9745dc..949d3da029 100644 --- a/src/network/networkd-bridge-mdb.c +++ b/src/network/networkd-bridge-mdb.c @@ -1,7 +1,5 @@ @@ -324,6 +373,8 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> #define STATIC_BRIDGE_MDB_ENTRIES_PER_NETWORK_MAX 1024U +diff --git a/src/network/networkd-dhcp-common.c b/src/network/networkd-dhcp-common.c +index ca9a825e7b..8735e261ad 100644 --- a/src/network/networkd-dhcp-common.c +++ b/src/network/networkd-dhcp-common.c @@ -1,7 +1,8 @@ @@ -336,6 +387,8 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> #include "bus-error.h" #include "bus-locator.h" +diff --git a/src/network/networkd-dhcp-prefix-delegation.c b/src/network/networkd-dhcp-prefix-delegation.c +index 66c5e979d9..581b6b8c29 100644 --- a/src/network/networkd-dhcp-prefix-delegation.c +++ b/src/network/networkd-dhcp-prefix-delegation.c @@ -1,7 +1,5 @@ @@ -355,6 +408,8 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> bool link_dhcp_pd_is_enabled(Link *link) { assert(link); +diff --git a/src/network/networkd-dhcp-server.c b/src/network/networkd-dhcp-server.c +index 620fbbddc7..c8af20fb34 100644 --- a/src/network/networkd-dhcp-server.c +++ b/src/network/networkd-dhcp-server.c @@ -1,7 +1,7 @@ @@ -366,6 +421,8 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> #include <linux/if.h> #include "sd-dhcp-server.h" +diff --git a/src/network/networkd-dhcp4.c b/src/network/networkd-dhcp4.c +index d4b4942173..3d78da5609 100644 --- a/src/network/networkd-dhcp4.c +++ b/src/network/networkd-dhcp4.c @@ -3,7 +3,7 @@ @@ -377,6 +434,8 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> #include "alloc-util.h" #include "dhcp-client-internal.h" +diff --git a/src/network/networkd-ipv6ll.c b/src/network/networkd-ipv6ll.c +index 32229a3fc7..662a345d6e 100644 --- a/src/network/networkd-ipv6ll.c +++ b/src/network/networkd-ipv6ll.c @@ -1,7 +1,7 @@ @@ -388,6 +447,8 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> #include "in-addr-util.h" #include "networkd-address.h" +diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c +index 019bef0590..657fc41ae6 100644 --- a/src/network/networkd-link.c +++ b/src/network/networkd-link.c @@ -3,7 +3,7 @@ @@ -399,6 +460,8 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> #include <linux/if_link.h> #include <linux/netdevice.h> #include <sys/socket.h> +diff --git a/src/network/networkd-ndisc.c b/src/network/networkd-ndisc.c +index 99a07e16fc..e51cd81d96 100644 --- a/src/network/networkd-ndisc.c +++ b/src/network/networkd-ndisc.c @@ -6,7 +6,7 @@ @@ -410,6 +473,8 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> #include "sd-ndisc.h" +diff --git a/src/network/networkd-route.c b/src/network/networkd-route.c +index 5214a8ad2c..9dd758daae 100644 --- a/src/network/networkd-route.c +++ b/src/network/networkd-route.c @@ -1,9 +1,5 @@ @@ -433,6 +498,8 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> int route_new(Route **ret) { _cleanup_(route_freep) Route *route = NULL; +diff --git a/src/network/networkd-setlink.c b/src/network/networkd-setlink.c +index 541c4b8a72..06ebda8f0f 100644 --- a/src/network/networkd-setlink.c +++ b/src/network/networkd-setlink.c @@ -2,7 +2,7 @@ @@ -444,6 +511,8 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> #include <linux/if_bridge.h> #include "missing_network.h" +diff --git a/src/shared/linux/ethtool.h b/src/shared/linux/ethtool.h +index 1458de3627..d5c2d2e0ac 100644 --- a/src/shared/linux/ethtool.h +++ b/src/shared/linux/ethtool.h @@ -16,7 +16,8 @@ @@ -454,8 +523,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> +#include <netinet/if_ether.h> +//#include <linux/if_ether.h> - #ifndef __KERNEL__ #include <limits.h> /* for INT_MAX */ + +diff --git a/src/shared/netif-util.c b/src/shared/netif-util.c +index f56c5646c1..5af28ff119 100644 --- a/src/shared/netif-util.c +++ b/src/shared/netif-util.c @@ -1,7 +1,7 @@ @@ -467,6 +538,8 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> #include "arphrd-util.h" #include "device-util.h" +diff --git a/src/udev/udev-builtin-net_id.c b/src/udev/udev-builtin-net_id.c +index a48d5dedf8..31a8bc1b3c 100644 --- a/src/udev/udev-builtin-net_id.c +++ b/src/udev/udev-builtin-net_id.c @@ -18,7 +18,7 @@ @@ -478,3 +551,6 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> #include <linux/netdevice.h> #include <linux/pci_regs.h> +-- +2.39.2 + diff --git a/poky/meta/recipes-core/systemd/systemd/0001-binfmt-Don-t-install-dependency-links-at-install-tim.patch b/poky/meta/recipes-core/systemd/systemd/0002-binfmt-Don-t-install-dependency-links-at-install-tim.patch index 2a033b134e..43611e65fb 100644 --- a/poky/meta/recipes-core/systemd/systemd/0001-binfmt-Don-t-install-dependency-links-at-install-tim.patch +++ b/poky/meta/recipes-core/systemd/systemd/0002-binfmt-Don-t-install-dependency-links-at-install-tim.patch @@ -1,4 +1,4 @@ -From f9974d7dc289551bfbf823b716fd32b43c54e465 Mon Sep 17 00:00:00 2001 +From ca7d9a8d9c81702af9c599bb79706f12b1a465cf Mon Sep 17 00:00:00 2001 From: Chen Qi <Qi.Chen@windriver.com> Date: Thu, 21 Feb 2019 16:23:24 +0800 Subject: [PATCH] binfmt: Don't install dependency links at install time for @@ -18,7 +18,6 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Chen Qi <Qi.Chen@windriver.com> [rebased for systemd 243] Signed-off-by: Scott Murray <scott.murray@konsulko.com> - --- units/meson.build | 6 ++---- units/proc-sys-fs-binfmt_misc.automount | 3 +++ @@ -26,7 +25,7 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/units/meson.build b/units/meson.build -index a9bf28f6d9..11d3644168 100644 +index c7939a10f8..219570ab19 100644 --- a/units/meson.build +++ b/units/meson.build @@ -62,8 +62,7 @@ units = [ @@ -39,7 +38,7 @@ index a9bf28f6d9..11d3644168 100644 ['proc-sys-fs-binfmt_misc.mount', 'ENABLE_BINFMT'], ['reboot.target', '', 'ctrl-alt-del.target' + (with_runlevels ? ' runlevel6.target' : '')], -@@ -186,8 +185,7 @@ in_units = [ +@@ -185,8 +184,7 @@ in_units = [ ['rescue.service', ''], ['serial-getty@.service', ''], ['systemd-backlight@.service', 'ENABLE_BACKLIGHT'], @@ -50,7 +49,7 @@ index a9bf28f6d9..11d3644168 100644 ['systemd-boot-check-no-failures.service', ''], ['systemd-coredump@.service', 'ENABLE_COREDUMP'], diff --git a/units/proc-sys-fs-binfmt_misc.automount b/units/proc-sys-fs-binfmt_misc.automount -index 172c8757ab..f65d8930c6 100644 +index 6b1bbdc91e..5ec5b8670a 100644 --- a/units/proc-sys-fs-binfmt_misc.automount +++ b/units/proc-sys-fs-binfmt_misc.automount @@ -19,3 +19,6 @@ ConditionPathIsReadWrite=/proc/sys/ @@ -61,7 +60,7 @@ index 172c8757ab..f65d8930c6 100644 +[Install] +WantedBy=sysinit.target diff --git a/units/systemd-binfmt.service.in b/units/systemd-binfmt.service.in -index 96f595ad72..7c010bb224 100644 +index b04412e037..63f116e4fa 100644 --- a/units/systemd-binfmt.service.in +++ b/units/systemd-binfmt.service.in @@ -14,6 +14,7 @@ Documentation=https://docs.kernel.org/admin-guide/binfmt-misc.html @@ -79,3 +78,6 @@ index 96f595ad72..7c010bb224 100644 + +[Install] +WantedBy=sysinit.target +-- +2.39.2 + diff --git a/poky/meta/recipes-core/systemd/systemd/0001-errno-util-Make-STRERROR-portable-for-musl.patch b/poky/meta/recipes-core/systemd/systemd/0003-errno-util-Make-STRERROR-portable-for-musl.patch index 2fb8985ad1..e9e69cb648 100644 --- a/poky/meta/recipes-core/systemd/systemd/0001-errno-util-Make-STRERROR-portable-for-musl.patch +++ b/poky/meta/recipes-core/systemd/systemd/0003-errno-util-Make-STRERROR-portable-for-musl.patch @@ -1,4 +1,4 @@ -From f66b5c802ce0a3310f5580cfc1b02446f8087568 Mon Sep 17 00:00:00 2001 +From f629a76e0fba300a9d511614160fee38dd4a5e57 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Mon, 23 Jan 2023 23:39:46 -0800 Subject: [PATCH] errno-util: Make STRERROR portable for musl @@ -38,5 +38,5 @@ index 091f99c590..eb5c1f9961 100644 * Note that we can't use ({ … }) to define a temporary variable, so errnum is * evaluated twice. */ -- -2.39.1 +2.39.2 diff --git a/poky/meta/recipes-core/systemd/systemd/0001-Move-sysusers.d-sysctl.d-binfmt.d-modules-load.d-to-.patch b/poky/meta/recipes-core/systemd/systemd/0004-Move-sysusers.d-sysctl.d-binfmt.d-modules-load.d-to-.patch index 0fb6efb469..aa1f3c2e82 100644 --- a/poky/meta/recipes-core/systemd/systemd/0001-Move-sysusers.d-sysctl.d-binfmt.d-modules-load.d-to-.patch +++ b/poky/meta/recipes-core/systemd/systemd/0004-Move-sysusers.d-sysctl.d-binfmt.d-modules-load.d-to-.patch @@ -1,4 +1,4 @@ -From 258af8106cbed6fa53f7bee042bf903e58b57a41 Mon Sep 17 00:00:00 2001 +From f75f03ef6bc3554068e456bed227f333d5cb8c34 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Tue, 29 Sep 2020 18:01:41 -0700 Subject: [PATCH] Move sysusers.d/sysctl.d/binfmt.d/modules-load.d to /usr @@ -10,7 +10,6 @@ the old /usr/lib is still being used. Upstream-Status: Inappropriate (OE-specific) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Jiaqing Zhao <jiaqing.zhao@linux.intel.com> - --- src/core/systemd.pc.in | 8 ++++---- src/libsystemd/sd-path/sd-path.c | 8 ++++---- @@ -42,7 +41,7 @@ index 693433b34b..8368a3ff02 100644 catalog_dir=${prefix}/lib/systemd/catalog diff --git a/src/libsystemd/sd-path/sd-path.c b/src/libsystemd/sd-path/sd-path.c -index ac33e349c0..f0615ffb22 100644 +index 1af3a36d1d..def502b717 100644 --- a/src/libsystemd/sd-path/sd-path.c +++ b/src/libsystemd/sd-path/sd-path.c @@ -362,19 +362,19 @@ static int get_path(uint64_t type, char **buffer, const char **ret) { @@ -69,3 +68,6 @@ index ac33e349c0..f0615ffb22 100644 return 0; case SD_PATH_CATALOG: +-- +2.39.2 + diff --git a/poky/meta/recipes-core/systemd/systemd/0001-pass-correct-parameters-to-getdents64.patch b/poky/meta/recipes-core/systemd/systemd/0005-pass-correct-parameters-to-getdents64.patch index 144314c409..c634d8ec3d 100644 --- a/poky/meta/recipes-core/systemd/systemd/0001-pass-correct-parameters-to-getdents64.patch +++ b/poky/meta/recipes-core/systemd/systemd/0005-pass-correct-parameters-to-getdents64.patch @@ -1,4 +1,4 @@ -From dab02796780f00d689cc1c7a0ba81abe7c5f28d0 Mon Sep 17 00:00:00 2001 +From 17766c64ecc7dedf09ed2d361690fc4eda77bf42 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Fri, 21 Jan 2022 15:15:11 -0800 Subject: [PATCH] pass correct parameters to getdents64 @@ -15,16 +15,15 @@ Fixes Upstream-Status: Inappropriate [musl specific] Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Jiaqing Zhao <jiaqing.zhao@linux.intel.com> - --- src/basic/recurse-dir.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/basic/recurse-dir.c b/src/basic/recurse-dir.c -index efa1797b7b..03ff10ebe9 100644 +index 5e98b7a5d8..aef065047b 100644 --- a/src/basic/recurse-dir.c +++ b/src/basic/recurse-dir.c -@@ -54,7 +54,7 @@ int readdir_all(int dir_fd, +@@ -55,7 +55,7 @@ int readdir_all(int dir_fd, bs = MIN(MALLOC_SIZEOF_SAFE(de) - offsetof(DirectoryEntries, buffer), (size_t) SSIZE_MAX); assert(bs > de->buffer_size); @@ -33,3 +32,6 @@ index efa1797b7b..03ff10ebe9 100644 if (n < 0) return -errno; if (n == 0) +-- +2.39.2 + diff --git a/poky/meta/recipes-core/systemd/systemd/0001-test-bus-error-strerror-is-assumed-to-be-GNU-specifi.patch b/poky/meta/recipes-core/systemd/systemd/0006-test-bus-error-strerror-is-assumed-to-be-GNU-specifi.patch index c02d495d31..96322e5a56 100644 --- a/poky/meta/recipes-core/systemd/systemd/0001-test-bus-error-strerror-is-assumed-to-be-GNU-specifi.patch +++ b/poky/meta/recipes-core/systemd/systemd/0006-test-bus-error-strerror-is-assumed-to-be-GNU-specifi.patch @@ -1,15 +1,19 @@ -From 5b5675913e2dbe6c5acda935b5814a8991829ec5 Mon Sep 17 00:00:00 2001 +From fa598869cca684c001f3dc23ce2198f5a6169e2a Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Tue, 8 Nov 2022 13:31:34 -0800 -Subject: [PATCH 2/2] test-bus-error: strerror() is assumed to be GNU specific version mark it so +Subject: [PATCH] test-bus-error: strerror() is assumed to be GNU specific + version mark it so Upstream-Status: Inappropriate [Upstream systemd only supports glibc] Signed-off-by: Khem Raj <raj.khem@gmail.com> --- src/libsystemd/sd-bus/test-bus-error.c | 2 ++ - 1 file changed, 2 insertions(+) + src/test/test-errno-util.c | 3 ++- + 2 files changed, 4 insertions(+), 1 deletion(-) +diff --git a/src/libsystemd/sd-bus/test-bus-error.c b/src/libsystemd/sd-bus/test-bus-error.c +index a55f3f9856..4123bf3da0 100644 --- a/src/libsystemd/sd-bus/test-bus-error.c +++ b/src/libsystemd/sd-bus/test-bus-error.c @@ -99,7 +99,9 @@ TEST(error) { @@ -22,6 +26,8 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> assert_se(sd_bus_error_has_name(&error, "System.Error.EBUSY")); assert_se(sd_bus_error_get_errno(&error) == EBUSY); assert_se(sd_bus_error_is_set(&error)); +diff --git a/src/test/test-errno-util.c b/src/test/test-errno-util.c +index d3d022c33f..74e95c804d 100644 --- a/src/test/test-errno-util.c +++ b/src/test/test-errno-util.c @@ -4,7 +4,7 @@ @@ -33,10 +39,14 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> TEST(strerror_not_threadsafe) { /* Just check that strerror really is not thread-safe. */ log_info("strerror(%d) → %s", 200, strerror(200)); -@@ -46,5 +46,6 @@ TEST(STRERROR_OR_ELSE) { +@@ -46,6 +46,7 @@ TEST(STRERROR_OR_ELSE) { log_info("STRERROR_OR_ELSE(EPERM, \"EOF\") → %s", STRERROR_OR_EOF(EPERM)); log_info("STRERROR_OR_ELSE(-EPERM, \"EOF\") → %s", STRERROR_OR_EOF(-EPERM)); } +#endif /* __GLIBC__ */ - DEFINE_TEST_MAIN(LOG_INFO); + TEST(PROTECT_ERRNO) { + errno = 12; +-- +2.39.2 + diff --git a/poky/meta/recipes-core/systemd/systemd/0002-Add-sys-stat.h-for-S_IFDIR.patch b/poky/meta/recipes-core/systemd/systemd/0007-Add-sys-stat.h-for-S_IFDIR.patch index e6abaadfcb..479b9a1ca1 100644 --- a/poky/meta/recipes-core/systemd/systemd/0002-Add-sys-stat.h-for-S_IFDIR.patch +++ b/poky/meta/recipes-core/systemd/systemd/0007-Add-sys-stat.h-for-S_IFDIR.patch @@ -1,4 +1,4 @@ -From 4b731a5e2547b5292f9a774b849e14c0cf7b3955 Mon Sep 17 00:00:00 2001 +From 1480ef4ea9f71befbc22272c219b62ee5cd71d43 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Fri, 21 Jan 2022 15:17:37 -0800 Subject: [PATCH] Add sys/stat.h for S_IFDIR @@ -8,11 +8,12 @@ Subject: [PATCH] Add sys/stat.h for S_IFDIR Upstream-Status: Backport [29b7114c5d9624002aa7c17748d960cd1e45362d] Signed-off-by: Khem Raj <raj.khem@gmail.com> - --- src/shared/mkdir-label.c | 1 + 1 file changed, 1 insertion(+) +diff --git a/src/shared/mkdir-label.c b/src/shared/mkdir-label.c +index e3afc2b666..f1df778966 100644 --- a/src/shared/mkdir-label.c +++ b/src/shared/mkdir-label.c @@ -7,6 +7,7 @@ @@ -23,3 +24,6 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> int mkdirat_label(int dirfd, const char *path, mode_t mode) { int r; +-- +2.39.2 + diff --git a/poky/meta/recipes-core/systemd/systemd/0003-implment-systemd-sysv-install-for-OE.patch b/poky/meta/recipes-core/systemd/systemd/0008-implment-systemd-sysv-install-for-OE.patch index 4556ab5da6..acff18dc43 100644 --- a/poky/meta/recipes-core/systemd/systemd/0003-implment-systemd-sysv-install-for-OE.patch +++ b/poky/meta/recipes-core/systemd/systemd/0008-implment-systemd-sysv-install-for-OE.patch @@ -1,4 +1,4 @@ -From f9078501a1495c9991431d1435d081cd2e830328 Mon Sep 17 00:00:00 2001 +From 5712d56f1cd654d2e5d2e9117ff77fe4c299f76b Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Sat, 5 Sep 2015 06:31:47 +0000 Subject: [PATCH] implment systemd-sysv-install for OE @@ -9,13 +9,12 @@ to check the status of the sysv service Upstream-Status: Inappropriate [OE-Specific] Signed-off-by: Khem Raj <raj.khem@gmail.com> - --- src/systemctl/systemd-sysv-install.SKELETON | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/systemctl/systemd-sysv-install.SKELETON b/src/systemctl/systemd-sysv-install.SKELETON -index a2a0059fef..7f95791d9b 100755 +index cb58d8243b..000bdf6165 100755 --- a/src/systemctl/systemd-sysv-install.SKELETON +++ b/src/systemctl/systemd-sysv-install.SKELETON @@ -34,17 +34,17 @@ case "$1" in @@ -39,3 +38,6 @@ index a2a0059fef..7f95791d9b 100755 ;; *) usage ;; +-- +2.39.2 + diff --git a/poky/meta/recipes-core/systemd/systemd/0003-missing_type.h-add-comparison_fn_t.patch b/poky/meta/recipes-core/systemd/systemd/0009-missing_type.h-add-comparison_fn_t.patch index c28c8381e8..e50b47a5a0 100644 --- a/poky/meta/recipes-core/systemd/systemd/0003-missing_type.h-add-comparison_fn_t.patch +++ b/poky/meta/recipes-core/systemd/systemd/0009-missing_type.h-add-comparison_fn_t.patch @@ -1,4 +1,4 @@ -From 5513b918d02900a3a78fd0e0300a118b163edfef Mon Sep 17 00:00:00 2001 +From 542f999a846dfd49d9373d30fffb2a44168d7b5e Mon Sep 17 00:00:00 2001 From: Chen Qi <Qi.Chen@windriver.com> Date: Mon, 25 Feb 2019 13:55:12 +0800 Subject: [PATCH] missing_type.h: add comparison_fn_t @@ -33,7 +33,7 @@ index f6233090a9..6c0456349d 100644 +typedef int (*comparison_fn_t)(const void *, const void *); +#endif diff --git a/src/basic/sort-util.h b/src/basic/sort-util.h -index 02a6784d99..0b33c83d59 100644 +index f0bf246aa3..33669c7a75 100644 --- a/src/basic/sort-util.h +++ b/src/basic/sort-util.h @@ -4,6 +4,7 @@ @@ -45,7 +45,7 @@ index 02a6784d99..0b33c83d59 100644 /* This is the same as glibc's internal __compar_d_fn_t type. glibc exports a public comparison_fn_t, for the * external type __compar_fn_t, but doesn't do anything similar for __compar_d_fn_t. Let's hence do that diff --git a/src/libsystemd/sd-journal/catalog.c b/src/libsystemd/sd-journal/catalog.c -index 8fc87b131a..36a6efdbd8 100644 +index 7527abf636..f33383e57f 100644 --- a/src/libsystemd/sd-journal/catalog.c +++ b/src/libsystemd/sd-journal/catalog.c @@ -28,6 +28,7 @@ @@ -57,5 +57,5 @@ index 8fc87b131a..36a6efdbd8 100644 const char * const catalog_file_dirs[] = { "/usr/local/lib/systemd/catalog/", -- -2.34.1 +2.39.2 diff --git a/poky/meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch b/poky/meta/recipes-core/systemd/systemd/0010-add-fallback-parse_printf_format-implementation.patch index f9c7ced947..6f01721459 100644 --- a/poky/meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch +++ b/poky/meta/recipes-core/systemd/systemd/0010-add-fallback-parse_printf_format-implementation.patch @@ -1,4 +1,4 @@ -From 3d9910dcda697b1e361bba49c99050ee0d116742 Mon Sep 17 00:00:00 2001 +From 383e85e15f16a46aac925aa439b8b60f58b40aa6 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin <alex.kanavin@gmail.com> Date: Sat, 22 May 2021 20:26:24 +0200 Subject: [PATCH] add fallback parse_printf_format implementation @@ -10,7 +10,6 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Chen Qi <Qi.Chen@windriver.com> [rebased for systemd 243] Signed-off-by: Scott Murray <scott.murray@konsulko.com> - --- meson.build | 1 + src/basic/meson.build | 5 + @@ -22,9 +21,11 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> create mode 100644 src/basic/parse-printf-format.c create mode 100644 src/basic/parse-printf-format.h +diff --git a/meson.build b/meson.build +index bfc86857d6..fb96143c37 100644 --- a/meson.build +++ b/meson.build -@@ -739,6 +739,7 @@ endif +@@ -755,6 +755,7 @@ endif foreach header : ['crypt.h', 'linux/memfd.h', 'linux/vm_sockets.h', @@ -32,9 +33,11 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> 'sys/auxv.h', 'valgrind/memcheck.h', 'valgrind/valgrind.h', +diff --git a/src/basic/meson.build b/src/basic/meson.build +index 7aae031d81..1aa9f5006d 100644 --- a/src/basic/meson.build +++ b/src/basic/meson.build -@@ -337,6 +337,11 @@ endforeach +@@ -173,6 +173,11 @@ endforeach basic_sources += generated_gperf_headers @@ -46,6 +49,9 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> ############################################################ arch_list = [ +diff --git a/src/basic/parse-printf-format.c b/src/basic/parse-printf-format.c +new file mode 100644 +index 0000000000..49437e5445 --- /dev/null +++ b/src/basic/parse-printf-format.c @@ -0,0 +1,273 @@ @@ -322,6 +328,9 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> + + return last; +} +diff --git a/src/basic/parse-printf-format.h b/src/basic/parse-printf-format.h +new file mode 100644 +index 0000000000..47be7522d7 --- /dev/null +++ b/src/basic/parse-printf-format.h @@ -0,0 +1,57 @@ @@ -382,9 +391,11 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> +size_t parse_printf_format(const char *fmt, size_t n, int *types); + +#endif /* HAVE_PRINTF_H */ +diff --git a/src/basic/stdio-util.h b/src/basic/stdio-util.h +index 4e93ac90c9..f9deb6f662 100644 --- a/src/basic/stdio-util.h +++ b/src/basic/stdio-util.h -@@ -1,13 +1,13 @@ +@@ -1,12 +1,12 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once @@ -394,11 +405,12 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> #include <sys/types.h> #include "macro.h" - #include "memory-util.h" +#include "parse-printf-format.h" - #define snprintf_ok(buf, len, fmt, ...) \ - ({ \ + _printf_(3, 4) + static inline char *snprintf_ok(char *buf, size_t len, const char *format, ...) { +diff --git a/src/libsystemd/sd-journal/journal-send.c b/src/libsystemd/sd-journal/journal-send.c +index 3b74d2246e..136ebcb153 100644 --- a/src/libsystemd/sd-journal/journal-send.c +++ b/src/libsystemd/sd-journal/journal-send.c @@ -2,7 +2,6 @@ @@ -417,3 +429,6 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> #define SNDBUF_SIZE (8*1024*1024) +-- +2.39.2 + diff --git a/poky/meta/recipes-core/systemd/systemd/0005-src-basic-missing.h-check-for-missing-strndupa.patch b/poky/meta/recipes-core/systemd/systemd/0011-src-basic-missing.h-check-for-missing-strndupa.patch index 2c33033e91..bd5f6a6190 100644 --- a/poky/meta/recipes-core/systemd/systemd/0005-src-basic-missing.h-check-for-missing-strndupa.patch +++ b/poky/meta/recipes-core/systemd/systemd/0011-src-basic-missing.h-check-for-missing-strndupa.patch @@ -1,4 +1,4 @@ -From 106b7bd7186c9d6c1dcd72bd4ca6457d3fa72d0b Mon Sep 17 00:00:00 2001 +From ee5c8b494a3269edd154a0b799a03b39dba2ceb0 Mon Sep 17 00:00:00 2001 From: Chen Qi <Qi.Chen@windriver.com> Date: Mon, 25 Feb 2019 14:18:21 +0800 Subject: [PATCH] src/basic/missing.h: check for missing strndupa @@ -49,7 +49,6 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> src/libsystemd/sd-bus/sd-bus.c | 1 + src/libsystemd/sd-bus/test-bus-benchmark.c | 1 + src/libsystemd/sd-journal/sd-journal.c | 1 + - src/locale/keymap-util.c | 1 + src/login/pam_systemd.c | 1 + src/network/generator/network-generator.c | 1 + src/nspawn/nspawn-settings.c | 1 + @@ -64,17 +63,18 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> src/shared/journal-importer.c | 1 + src/shared/logs-show.c | 1 + src/shared/pager.c | 1 + - src/shared/uid-range.c | 1 + src/socket-proxy/socket-proxyd.c | 1 + src/test/test-hexdecoct.c | 1 + src/udev/udev-builtin-path_id.c | 1 + src/udev/udev-event.c | 1 + src/udev/udev-rules.c | 1 + - 52 files changed, 63 insertions(+) + 50 files changed, 61 insertions(+) +diff --git a/meson.build b/meson.build +index fb96143c37..739b2f7f72 100644 --- a/meson.build +++ b/meson.build -@@ -557,6 +557,7 @@ foreach ident : ['secure_getenv', '__sec +@@ -574,6 +574,7 @@ foreach ident : ['secure_getenv', '__secure_getenv'] endforeach foreach ident : [ @@ -82,16 +82,20 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> ['memfd_create', '''#include <sys/mman.h>'''], ['gettid', '''#include <sys/types.h> #include <unistd.h>'''], +diff --git a/src/backlight/backlight.c b/src/backlight/backlight.c +index e66477f328..2613d1e3f9 100644 --- a/src/backlight/backlight.c +++ b/src/backlight/backlight.c -@@ -20,6 +20,7 @@ +@@ -19,6 +19,7 @@ + #include "string-util.h" #include "strv.h" #include "terminal-util.h" - #include "util.h" +#include "missing_stdlib.h" #define PCI_CLASS_GRAPHICS_CARD 0x30000 +diff --git a/src/basic/cgroup-util.c b/src/basic/cgroup-util.c +index feda596939..11b4375ed5 100644 --- a/src/basic/cgroup-util.c +++ b/src/basic/cgroup-util.c @@ -37,6 +37,7 @@ @@ -102,6 +106,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> static int cg_enumerate_items(const char *controller, const char *path, FILE **_f, const char *item) { _cleanup_free_ char *fs = NULL; +diff --git a/src/basic/env-util.c b/src/basic/env-util.c +index 55ac11a512..7ccb1d7887 100644 --- a/src/basic/env-util.c +++ b/src/basic/env-util.c @@ -19,6 +19,7 @@ @@ -112,16 +118,20 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> /* We follow bash for the character set. Different shells have different rules. */ #define VALID_BASH_ENV_NAME_CHARS \ +diff --git a/src/basic/log.c b/src/basic/log.c +index fc5793139e..515218fca8 100644 --- a/src/basic/log.c +++ b/src/basic/log.c -@@ -36,6 +36,7 @@ +@@ -39,6 +39,7 @@ #include "terminal-util.h" #include "time-util.h" #include "utf8.h" +#include "missing_stdlib.h" #define SNDBUF_SIZE (8*1024*1024) - + #define IOVEC_MAX 128U +diff --git a/src/basic/missing_stdlib.h b/src/basic/missing_stdlib.h +index 8c76f93eb2..9068bfb4f0 100644 --- a/src/basic/missing_stdlib.h +++ b/src/basic/missing_stdlib.h @@ -11,3 +11,15 @@ @@ -140,6 +150,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> + (char *)memcpy(__new, __old, __len); \ + }) +#endif +diff --git a/src/basic/mkdir.c b/src/basic/mkdir.c +index 7ad19ee33b..cc1d5e1e5b 100644 --- a/src/basic/mkdir.c +++ b/src/basic/mkdir.c @@ -15,6 +15,7 @@ @@ -148,8 +160,10 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> #include "user-util.h" +#include "missing_stdlib.h" - int mkdir_safe_internal( - const char *path, + int mkdirat_safe_internal( + int dir_fd, +diff --git a/src/basic/mountpoint-util.c b/src/basic/mountpoint-util.c +index bc74fbef8f..cdb609bb84 100644 --- a/src/basic/mountpoint-util.c +++ b/src/basic/mountpoint-util.c @@ -13,6 +13,7 @@ @@ -160,6 +174,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> #include "mountpoint-util.h" #include "nulstr-util.h" #include "parse-util.h" +diff --git a/src/basic/parse-util.c b/src/basic/parse-util.c +index 3445d31307..d82b4415d9 100644 --- a/src/basic/parse-util.c +++ b/src/basic/parse-util.c @@ -18,6 +18,7 @@ @@ -170,6 +186,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> int parse_boolean(const char *v) { if (!v) +diff --git a/src/basic/path-lookup.c b/src/basic/path-lookup.c +index c99e9d8786..71a917a0b0 100644 --- a/src/basic/path-lookup.c +++ b/src/basic/path-lookup.c @@ -16,6 +16,7 @@ @@ -180,6 +198,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> int xdg_user_runtime_dir(char **ret, const char *suffix) { const char *e; +diff --git a/src/basic/percent-util.c b/src/basic/percent-util.c +index cab9d0eaea..5f6ca258e9 100644 --- a/src/basic/percent-util.c +++ b/src/basic/percent-util.c @@ -3,6 +3,7 @@ @@ -190,16 +210,20 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> static int parse_parts_value_whole(const char *p, const char *symbol) { const char *pc, *n; +diff --git a/src/basic/proc-cmdline.c b/src/basic/proc-cmdline.c +index eea70d8606..ae3abd8402 100644 --- a/src/basic/proc-cmdline.c +++ b/src/basic/proc-cmdline.c @@ -15,6 +15,7 @@ + #include "special.h" #include "string-util.h" - #include "util.h" #include "virt.h" +#include "missing_stdlib.h" int proc_cmdline(char **ret) { const char *e; +diff --git a/src/basic/procfs-util.c b/src/basic/procfs-util.c +index bcba5a5208..64a95dd866 100644 --- a/src/basic/procfs-util.c +++ b/src/basic/procfs-util.c @@ -12,6 +12,7 @@ @@ -210,6 +234,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> int procfs_get_pid_max(uint64_t *ret) { _cleanup_free_ char *value = NULL; +diff --git a/src/basic/time-util.c b/src/basic/time-util.c +index b700f364ef..48a26bcec9 100644 --- a/src/basic/time-util.c +++ b/src/basic/time-util.c @@ -26,6 +26,7 @@ @@ -220,16 +246,20 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> static clockid_t map_clock_id(clockid_t c) { +diff --git a/src/boot/bless-boot.c b/src/boot/bless-boot.c +index 59f02b761a..7496646350 100644 --- a/src/boot/bless-boot.c +++ b/src/boot/bless-boot.c @@ -22,6 +22,7 @@ - #include "util.h" + #include "terminal-util.h" #include "verbs.h" #include "virt.h" +#include "missing_stdlib.h" static char **arg_path = NULL; +diff --git a/src/core/dbus-cgroup.c b/src/core/dbus-cgroup.c +index b5484eda78..54ed62c790 100644 --- a/src/core/dbus-cgroup.c +++ b/src/core/dbus-cgroup.c @@ -21,6 +21,7 @@ @@ -240,9 +270,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> #include "socket-util.h" BUS_DEFINE_PROPERTY_GET(bus_property_get_tasks_max, "t", TasksMax, tasks_max_resolve); +diff --git a/src/core/dbus-execute.c b/src/core/dbus-execute.c +index f514b8fd12..4febd0d496 100644 --- a/src/core/dbus-execute.c +++ b/src/core/dbus-execute.c -@@ -44,6 +44,7 @@ +@@ -45,6 +45,7 @@ #include "unit-printf.h" #include "user-util.h" #include "utf8.h" @@ -250,6 +282,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> BUS_DEFINE_PROPERTY_GET_ENUM(bus_property_get_exec_output, exec_output, ExecOutput); static BUS_DEFINE_PROPERTY_GET_ENUM(property_get_exec_input, exec_input, ExecInput); +diff --git a/src/core/dbus-util.c b/src/core/dbus-util.c +index edfa0eb69a..6fd2ec9062 100644 --- a/src/core/dbus-util.c +++ b/src/core/dbus-util.c @@ -9,6 +9,7 @@ @@ -260,9 +294,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> int bus_property_get_triggered_unit( sd_bus *bus, +diff --git a/src/core/execute.c b/src/core/execute.c +index 853e87450f..8ef76de9ab 100644 --- a/src/core/execute.c +++ b/src/core/execute.c -@@ -104,6 +104,7 @@ +@@ -105,6 +105,7 @@ #include "unit-serialize.h" #include "user-util.h" #include "utmp-wtmp.h" @@ -270,9 +306,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> #define IDLE_TIMEOUT_USEC (5*USEC_PER_SEC) #define IDLE_TIMEOUT2_USEC (1*USEC_PER_SEC) +diff --git a/src/core/kmod-setup.c b/src/core/kmod-setup.c +index e843743777..e149807492 100644 --- a/src/core/kmod-setup.c +++ b/src/core/kmod-setup.c -@@ -11,6 +11,7 @@ +@@ -12,6 +12,7 @@ #include "recurse-dir.h" #include "string-util.h" #include "virt.h" @@ -280,16 +318,20 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> #if HAVE_KMOD #include "module-util.h" +diff --git a/src/core/service.c b/src/core/service.c +index 9ad3c3d995..b112d64919 100644 --- a/src/core/service.c +++ b/src/core/service.c @@ -42,6 +42,7 @@ + #include "unit-name.h" #include "unit.h" #include "utf8.h" - #include "util.h" +#include "missing_stdlib.h" #define service_spawn(...) service_spawn_internal(__func__, __VA_ARGS__) +diff --git a/src/coredump/coredump-vacuum.c b/src/coredump/coredump-vacuum.c +index c6e201ecf2..ab034475e2 100644 --- a/src/coredump/coredump-vacuum.c +++ b/src/coredump/coredump-vacuum.c @@ -17,6 +17,7 @@ @@ -300,19 +342,23 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> #define DEFAULT_MAX_USE_LOWER (uint64_t) (1ULL*1024ULL*1024ULL) /* 1 MiB */ #define DEFAULT_MAX_USE_UPPER (uint64_t) (4ULL*1024ULL*1024ULL*1024ULL) /* 4 GiB */ +diff --git a/src/fstab-generator/fstab-generator.c b/src/fstab-generator/fstab-generator.c +index efc553b698..acea922311 100644 --- a/src/fstab-generator/fstab-generator.c +++ b/src/fstab-generator/fstab-generator.c -@@ -32,6 +32,7 @@ - #include "util.h" +@@ -33,6 +33,7 @@ + #include "unit-name.h" #include "virt.h" #include "volatile-util.h" +#include "missing_stdlib.h" typedef enum MountPointFlags { MOUNT_NOAUTO = 1 << 0, +diff --git a/src/journal-remote/journal-remote-main.c b/src/journal-remote/journal-remote-main.c +index 7df264fb53..9463a0e9fb 100644 --- a/src/journal-remote/journal-remote-main.c +++ b/src/journal-remote/journal-remote-main.c -@@ -24,6 +24,7 @@ +@@ -25,6 +25,7 @@ #include "stat-util.h" #include "string-table.h" #include "strv.h" @@ -320,9 +366,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> #define PRIV_KEY_FILE CERTIFICATE_ROOT "/private/journal-remote.pem" #define CERT_FILE CERTIFICATE_ROOT "/certs/journal-remote.pem" +diff --git a/src/journal/journalctl.c b/src/journal/journalctl.c +index da0fac548e..c1c043e0e0 100644 --- a/src/journal/journalctl.c +++ b/src/journal/journalctl.c -@@ -70,6 +70,7 @@ +@@ -72,6 +72,7 @@ #include "unit-name.h" #include "user-util.h" #include "varlink.h" @@ -330,6 +378,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> #define DEFAULT_FSS_INTERVAL_USEC (15*USEC_PER_MINUTE) #define PROCESS_INOTIFY_INTERVAL 1024 /* Every 1,024 messages processed */ +diff --git a/src/libsystemd/sd-bus/bus-message.c b/src/libsystemd/sd-bus/bus-message.c +index 9719f97c02..75decd9834 100644 --- a/src/libsystemd/sd-bus/bus-message.c +++ b/src/libsystemd/sd-bus/bus-message.c @@ -19,6 +19,7 @@ @@ -340,6 +390,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> static int message_append_basic(sd_bus_message *m, char type, const void *p, const void **stored); static int message_parse_fields(sd_bus_message *m); +diff --git a/src/libsystemd/sd-bus/bus-objects.c b/src/libsystemd/sd-bus/bus-objects.c +index 2ad7a9993d..bba72f99f4 100644 --- a/src/libsystemd/sd-bus/bus-objects.c +++ b/src/libsystemd/sd-bus/bus-objects.c @@ -11,6 +11,7 @@ @@ -350,9 +402,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> static int node_vtable_get_userdata( sd_bus *bus, +diff --git a/src/libsystemd/sd-bus/bus-socket.c b/src/libsystemd/sd-bus/bus-socket.c +index 64037e4fe0..9b9ce0aaa9 100644 --- a/src/libsystemd/sd-bus/bus-socket.c +++ b/src/libsystemd/sd-bus/bus-socket.c -@@ -28,6 +28,7 @@ +@@ -27,6 +27,7 @@ #include "string-util.h" #include "user-util.h" #include "utf8.h" @@ -360,6 +414,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> #define SNDBUF_SIZE (8*1024*1024) +diff --git a/src/libsystemd/sd-bus/sd-bus.c b/src/libsystemd/sd-bus/sd-bus.c +index f6a5e4aa06..b36faa79a3 100644 --- a/src/libsystemd/sd-bus/sd-bus.c +++ b/src/libsystemd/sd-bus/sd-bus.c @@ -44,6 +44,7 @@ @@ -370,16 +426,20 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> #define log_debug_bus_message(m) \ do { \ +diff --git a/src/libsystemd/sd-bus/test-bus-benchmark.c b/src/libsystemd/sd-bus/test-bus-benchmark.c +index 1eb6edd329..d434a3c178 100644 --- a/src/libsystemd/sd-bus/test-bus-benchmark.c +++ b/src/libsystemd/sd-bus/test-bus-benchmark.c -@@ -14,6 +14,7 @@ +@@ -13,6 +13,7 @@ + #include "missing_resource.h" #include "string-util.h" #include "time-util.h" - #include "util.h" +#include "missing_stdlib.h" #define MAX_SIZE (2*1024*1024) +diff --git a/src/libsystemd/sd-journal/sd-journal.c b/src/libsystemd/sd-journal/sd-journal.c +index 9947947ef2..8dc6f93159 100644 --- a/src/libsystemd/sd-journal/sd-journal.c +++ b/src/libsystemd/sd-journal/sd-journal.c @@ -41,6 +41,7 @@ @@ -388,8 +448,10 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> #include "syslog-util.h" +#include "missing_stdlib.h" - #define JOURNAL_FILES_MAX 7168 + #define JOURNAL_FILES_RECHECK_USEC (2 * USEC_PER_SEC) +diff --git a/src/login/pam_systemd.c b/src/login/pam_systemd.c +index ba2fca32c6..e1f9caa13b 100644 --- a/src/login/pam_systemd.c +++ b/src/login/pam_systemd.c @@ -32,6 +32,7 @@ @@ -400,6 +462,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> #include "pam-util.h" #include "parse-util.h" #include "path-util.h" +diff --git a/src/network/generator/network-generator.c b/src/network/generator/network-generator.c +index 1090934bfc..69a77f66e2 100644 --- a/src/network/generator/network-generator.c +++ b/src/network/generator/network-generator.c @@ -13,6 +13,7 @@ @@ -410,16 +474,20 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> /* # .network +diff --git a/src/nspawn/nspawn-settings.c b/src/nspawn/nspawn-settings.c +index 05bde1c756..aa29587868 100644 --- a/src/nspawn/nspawn-settings.c +++ b/src/nspawn/nspawn-settings.c -@@ -17,6 +17,7 @@ +@@ -16,6 +16,7 @@ + #include "string-util.h" #include "strv.h" #include "user-util.h" - #include "util.h" +#include "missing_stdlib.h" Settings *settings_new(void) { Settings *s; +diff --git a/src/nss-mymachines/nss-mymachines.c b/src/nss-mymachines/nss-mymachines.c +index c64e79bdff..eda26b0b9a 100644 --- a/src/nss-mymachines/nss-mymachines.c +++ b/src/nss-mymachines/nss-mymachines.c @@ -21,6 +21,7 @@ @@ -430,6 +498,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> static void setup_logging_once(void) { static pthread_once_t once = PTHREAD_ONCE_INIT; +diff --git a/src/portable/portable.c b/src/portable/portable.c +index 7811833fac..c6414da91c 100644 --- a/src/portable/portable.c +++ b/src/portable/portable.c @@ -39,6 +39,7 @@ @@ -440,9 +510,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> /* Markers used in the first line of our 20-portable.conf unit file drop-in to determine, that a) the unit file was * dropped there by the portable service logic and b) for which image it was dropped there. */ +diff --git a/src/resolve/resolvectl.c b/src/resolve/resolvectl.c +index 2638e985fb..82c903fd66 100644 --- a/src/resolve/resolvectl.c +++ b/src/resolve/resolvectl.c -@@ -46,6 +46,7 @@ +@@ -48,6 +48,7 @@ #include "varlink.h" #include "verb-log-control.h" #include "verbs.h" @@ -450,6 +522,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> static int arg_family = AF_UNSPEC; static int arg_ifindex = 0; +diff --git a/src/shared/bus-get-properties.c b/src/shared/bus-get-properties.c +index 8b4f66b22e..5926e4c61b 100644 --- a/src/shared/bus-get-properties.c +++ b/src/shared/bus-get-properties.c @@ -4,6 +4,7 @@ @@ -460,6 +534,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> int bus_property_get_bool( sd_bus *bus, +diff --git a/src/shared/bus-unit-procs.c b/src/shared/bus-unit-procs.c +index 8b462b5627..183ce1c18e 100644 --- a/src/shared/bus-unit-procs.c +++ b/src/shared/bus-unit-procs.c @@ -11,6 +11,7 @@ @@ -470,9 +546,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> struct CGroupInfo { char *cgroup_path; +diff --git a/src/shared/bus-unit-util.c b/src/shared/bus-unit-util.c +index 1e95e36678..640ee031d5 100644 --- a/src/shared/bus-unit-util.c +++ b/src/shared/bus-unit-util.c -@@ -49,6 +49,7 @@ +@@ -50,6 +50,7 @@ #include "unit-def.h" #include "user-util.h" #include "utf8.h" @@ -480,6 +558,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> int bus_parse_unit_info(sd_bus_message *message, UnitInfo *u) { assert(message); +diff --git a/src/shared/bus-util.c b/src/shared/bus-util.c +index d09ec5148d..f38a8f7cc1 100644 --- a/src/shared/bus-util.c +++ b/src/shared/bus-util.c @@ -21,6 +21,7 @@ @@ -490,6 +570,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> static int name_owner_change_callback(sd_bus_message *m, void *userdata, sd_bus_error *ret_error) { sd_event *e = ASSERT_PTR(userdata); +diff --git a/src/shared/dns-domain.c b/src/shared/dns-domain.c +index 620b156563..5ee5b09186 100644 --- a/src/shared/dns-domain.c +++ b/src/shared/dns-domain.c @@ -18,6 +18,7 @@ @@ -500,6 +582,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> int dns_label_unescape(const char **name, char *dest, size_t sz, DNSLabelFlags flags) { const char *n; +diff --git a/src/shared/journal-importer.c b/src/shared/journal-importer.c +index d9eabec886..534c6cf7e3 100644 --- a/src/shared/journal-importer.c +++ b/src/shared/journal-importer.c @@ -15,6 +15,7 @@ @@ -510,36 +594,44 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> enum { IMPORTER_STATE_LINE = 0, /* waiting to read, or reading line */ +diff --git a/src/shared/logs-show.c b/src/shared/logs-show.c +index b72e516c8d..6e832b74c3 100644 --- a/src/shared/logs-show.c +++ b/src/shared/logs-show.c -@@ -42,6 +42,7 @@ +@@ -41,6 +41,7 @@ + #include "time-util.h" #include "utf8.h" - #include "util.h" #include "web-util.h" +#include "missing_stdlib.h" /* up to three lines (each up to 100 characters) or 300 characters, whichever is less */ #define PRINT_LINE_THRESHOLD 3 +diff --git a/src/shared/pager.c b/src/shared/pager.c +index 6ed35a3ca9..99d9d36140 100644 --- a/src/shared/pager.c +++ b/src/shared/pager.c -@@ -26,6 +26,7 @@ +@@ -25,6 +25,7 @@ + #include "string-util.h" #include "strv.h" #include "terminal-util.h" - #include "util.h" +#include "missing_stdlib.h" static pid_t pager_pid = 0; +diff --git a/src/socket-proxy/socket-proxyd.c b/src/socket-proxy/socket-proxyd.c +index 821049e667..08a5bdae3d 100644 --- a/src/socket-proxy/socket-proxyd.c +++ b/src/socket-proxy/socket-proxyd.c @@ -26,6 +26,7 @@ + #include "set.h" #include "socket-util.h" #include "string-util.h" - #include "util.h" +#include "missing_stdlib.h" #define BUFFER_SIZE (256 * 1024) +diff --git a/src/test/test-hexdecoct.c b/src/test/test-hexdecoct.c +index 9d71db6ae1..a9938c1e6e 100644 --- a/src/test/test-hexdecoct.c +++ b/src/test/test-hexdecoct.c @@ -7,6 +7,7 @@ @@ -550,6 +642,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> #include "tests.h" TEST(hexchar) { +diff --git a/src/udev/udev-builtin-path_id.c b/src/udev/udev-builtin-path_id.c +index 8e4d57ee72..6b4555b4d5 100644 --- a/src/udev/udev-builtin-path_id.c +++ b/src/udev/udev-builtin-path_id.c @@ -22,6 +22,7 @@ @@ -560,6 +654,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> _printf_(2,3) static void path_prepend(char **path, const char *fmt, ...) { +diff --git a/src/udev/udev-event.c b/src/udev/udev-event.c +index ec4ad30824..bc40303a46 100644 --- a/src/udev/udev-event.c +++ b/src/udev/udev-event.c @@ -34,6 +34,7 @@ @@ -570,6 +666,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> typedef struct Spawn { sd_device *device; +diff --git a/src/udev/udev-rules.c b/src/udev/udev-rules.c +index 5bd09a64d1..0ce79f815c 100644 --- a/src/udev/udev-rules.c +++ b/src/udev/udev-rules.c @@ -34,6 +34,7 @@ @@ -580,3 +678,6 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> #define RULES_DIRS (const char* const*) CONF_PATHS_STRV("udev/rules.d") +-- +2.39.2 + diff --git a/poky/meta/recipes-core/systemd/systemd/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch b/poky/meta/recipes-core/systemd/systemd/0012-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch index 2a5770c515..b86cc42589 100644 --- a/poky/meta/recipes-core/systemd/systemd/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch +++ b/poky/meta/recipes-core/systemd/systemd/0012-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch @@ -1,4 +1,4 @@ -From 74c664bcd6b9a5fcf3466310c07f608d12456f7f Mon Sep 17 00:00:00 2001 +From 747ff78ecda6afe01c7eab4d7c27aea6af810c86 Mon Sep 17 00:00:00 2001 From: Chen Qi <Qi.Chen@windriver.com> Date: Mon, 25 Feb 2019 14:56:21 +0800 Subject: [PATCH] don't fail if GLOB_BRACE and GLOB_ALTDIRFUNC is not defined @@ -16,13 +16,14 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Chen Qi <Qi.Chen@windriver.com> [rebased for systemd 243] Signed-off-by: Scott Murray <scott.murray@konsulko.com> - --- src/basic/glob-util.c | 12 ++++++++++++ src/test/test-glob-util.c | 16 ++++++++++++++++ src/tmpfiles/tmpfiles.c | 10 ++++++++++ 3 files changed, 38 insertions(+) +diff --git a/src/basic/glob-util.c b/src/basic/glob-util.c +index fd60a6eda2..c73edc41ea 100644 --- a/src/basic/glob-util.c +++ b/src/basic/glob-util.c @@ -12,6 +12,12 @@ @@ -46,7 +47,7 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> /* We want to set GLOB_ALTDIRFUNC ourselves, don't allow it to be set. */ assert(!(flags & GLOB_ALTDIRFUNC)); -@@ -32,9 +39,14 @@ int safe_glob(const char *path, int flag +@@ -32,9 +39,14 @@ int safe_glob(const char *path, int flags, glob_t *pglob) { pglob->gl_lstat = lstat; if (!pglob->gl_stat) pglob->gl_stat = stat; @@ -61,6 +62,8 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> if (k == GLOB_NOMATCH) return -ENOENT; if (k == GLOB_NOSPACE) +diff --git a/src/test/test-glob-util.c b/src/test/test-glob-util.c +index 9b3e73cce0..3790ba3be5 100644 --- a/src/test/test-glob-util.c +++ b/src/test/test-glob-util.c @@ -34,6 +34,12 @@ TEST(glob_first) { @@ -75,7 +78,7 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> + TEST(glob_exists) { char name[] = "/tmp/test-glob_exists.XXXXXX"; - int fd = -1; + int fd = -EBADF; @@ -61,11 +67,13 @@ TEST(glob_no_dot) { const char *fn; @@ -110,9 +113,11 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> assert_se(r == GLOB_NOMATCH); (void) rm_rf(template, REMOVE_ROOT|REMOVE_PHYSICAL); +diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c +index 458aed7054..2cf24b38c0 100644 --- a/src/tmpfiles/tmpfiles.c +++ b/src/tmpfiles/tmpfiles.c -@@ -71,6 +71,12 @@ +@@ -73,6 +73,12 @@ #include "user-util.h" #include "virt.h" @@ -125,7 +130,7 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> /* This reads all files listed in /etc/tmpfiles.d/?*.conf and creates * them in the file system. This is intended to be used to create * properly owned directories beneath /tmp, /var/tmp, /run, which are -@@ -2174,7 +2180,9 @@ finish: +@@ -2194,7 +2200,9 @@ finish: static int glob_item(Item *i, action_t action) { _cleanup_globfree_ glob_t g = { @@ -135,7 +140,7 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> }; int r = 0, k; -@@ -2194,7 +2202,9 @@ static int glob_item(Item *i, action_t a +@@ -2214,7 +2222,9 @@ static int glob_item(Item *i, action_t action) { static int glob_item_recursively(Item *i, fdaction_t action) { _cleanup_globfree_ glob_t g = { @@ -145,3 +150,6 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> }; int r = 0, k; +-- +2.39.2 + diff --git a/poky/meta/recipes-core/systemd/systemd/0008-add-missing-FTW_-macros-for-musl.patch b/poky/meta/recipes-core/systemd/systemd/0013-add-missing-FTW_-macros-for-musl.patch index d1191d7e8e..d6aaadc006 100644 --- a/poky/meta/recipes-core/systemd/systemd/0008-add-missing-FTW_-macros-for-musl.patch +++ b/poky/meta/recipes-core/systemd/systemd/0013-add-missing-FTW_-macros-for-musl.patch @@ -1,4 +1,4 @@ -From a0450f7909348e7ff1d58adc0aee4119a0519c1f Mon Sep 17 00:00:00 2001 +From efd7b41cf270c7b07ee3b9aec0fedd8e52dd422f Mon Sep 17 00:00:00 2001 From: Chen Qi <Qi.Chen@windriver.com> Date: Mon, 25 Feb 2019 15:00:06 +0800 Subject: [PATCH] add missing FTW_ macros for musl @@ -10,7 +10,6 @@ This is to avoid build failures like below for musl. Upstream-Status: Inappropriate [musl specific] Signed-off-by: Chen Qi <Qi.Chen@windriver.com> - --- src/basic/missing_type.h | 4 ++++ src/test/test-recurse-dir.c | 1 + @@ -40,3 +39,6 @@ index 2c2120b136..bc60a178a2 100644 static char **list_nftw = NULL; +-- +2.39.2 + diff --git a/poky/meta/recipes-core/systemd/systemd/0010-Use-uintmax_t-for-handling-rlim_t.patch b/poky/meta/recipes-core/systemd/systemd/0014-Use-uintmax_t-for-handling-rlim_t.patch index aac4ad49d7..f586d3ff52 100644 --- a/poky/meta/recipes-core/systemd/systemd/0010-Use-uintmax_t-for-handling-rlim_t.patch +++ b/poky/meta/recipes-core/systemd/systemd/0014-Use-uintmax_t-for-handling-rlim_t.patch @@ -1,4 +1,4 @@ -From 48a791aae7a47a2a08e9e60c18054071a43b8cda Mon Sep 17 00:00:00 2001 +From 60f7d2c62bc3718023df93c01688d3ee1625d64d Mon Sep 17 00:00:00 2001 From: Chen Qi <Qi.Chen@windriver.com> Date: Mon, 25 Feb 2019 15:12:41 +0800 Subject: [PATCH] Use uintmax_t for handling rlim_t @@ -20,16 +20,17 @@ Upstream-Status: Denied [https://github.com/systemd/systemd/pull/7199] Signed-off-by: Khem Raj <raj.khem@gmail.com> [Rebased for v241] Signed-off-by: Chen Qi <Qi.Chen@windriver.com> - --- src/basic/format-util.h | 8 +------- src/basic/rlimit-util.c | 12 ++++++------ src/core/execute.c | 4 ++-- 3 files changed, 9 insertions(+), 15 deletions(-) +diff --git a/src/basic/format-util.h b/src/basic/format-util.h +index 8719df3e29..9becc96066 100644 --- a/src/basic/format-util.h +++ b/src/basic/format-util.h -@@ -34,13 +34,7 @@ assert_cc(sizeof(gid_t) == sizeof(uint32 +@@ -34,13 +34,7 @@ assert_cc(sizeof(gid_t) == sizeof(uint32_t)); # error Unknown timex member size #endif @@ -44,9 +45,11 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com> #if SIZEOF_DEV_T == 8 # define DEV_FMT "%" PRIu64 +diff --git a/src/basic/rlimit-util.c b/src/basic/rlimit-util.c +index 33dfde9d6c..e018fd81fd 100644 --- a/src/basic/rlimit-util.c +++ b/src/basic/rlimit-util.c -@@ -44,7 +44,7 @@ int setrlimit_closest(int resource, cons +@@ -44,7 +44,7 @@ int setrlimit_closest(int resource, const struct rlimit *rlim) { fixed.rlim_max == highest.rlim_max) return 0; @@ -55,7 +58,7 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com> return RET_NERRNO(setrlimit(resource, &fixed)); } -@@ -307,13 +307,13 @@ int rlimit_format(const struct rlimit *r +@@ -307,13 +307,13 @@ int rlimit_format(const struct rlimit *rl, char **ret) { if (rl->rlim_cur >= RLIM_INFINITY && rl->rlim_max >= RLIM_INFINITY) r = free_and_strdup(&s, "infinity"); else if (rl->rlim_cur >= RLIM_INFINITY) @@ -82,9 +85,11 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com> return 1; } +diff --git a/src/core/execute.c b/src/core/execute.c +index 8ef76de9ab..ea1c203e43 100644 --- a/src/core/execute.c +++ b/src/core/execute.c -@@ -5869,9 +5869,9 @@ void exec_context_dump(const ExecContext +@@ -6034,9 +6034,9 @@ void exec_context_dump(const ExecContext *c, FILE* f, const char *prefix) { for (unsigned i = 0; i < RLIM_NLIMITS; i++) if (c->rlimit[i]) { fprintf(f, "%sLimit%s: " RLIM_FMT "\n", @@ -96,3 +101,6 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com> } if (c->ioprio_set) { +-- +2.39.2 + diff --git a/poky/meta/recipes-core/systemd/systemd/0011-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch b/poky/meta/recipes-core/systemd/systemd/0015-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch index 1074866f86..afc80b9511 100644 --- a/poky/meta/recipes-core/systemd/systemd/0011-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch +++ b/poky/meta/recipes-core/systemd/systemd/0015-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch @@ -1,4 +1,4 @@ -From e8025c8eefdf1be4bba34c48f3430838f3859c52 Mon Sep 17 00:00:00 2001 +From 96088895149746dd2ee8e8c2e4b97972ccf44696 Mon Sep 17 00:00:00 2001 From: Chen Qi <Qi.Chen@windriver.com> Date: Wed, 28 Feb 2018 21:25:22 -0800 Subject: [PATCH] test-sizeof.c: Disable tests for missing typedefs in musl @@ -7,13 +7,12 @@ Upstream-Status: Inappropriate [musl specific] Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Chen Qi <Qi.Chen@windriver.com> - --- src/test/test-sizeof.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/test/test-sizeof.c b/src/test/test-sizeof.c -index f349852553..602772227e 100644 +index 55bd81e22f..6cf92bffde 100644 --- a/src/test/test-sizeof.c +++ b/src/test/test-sizeof.c @@ -55,8 +55,10 @@ int main(void) { @@ -37,3 +36,6 @@ index f349852553..602772227e 100644 info(pid_t); info(uid_t); info(gid_t); +-- +2.39.2 + diff --git a/poky/meta/recipes-core/systemd/systemd/0012-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch b/poky/meta/recipes-core/systemd/systemd/0016-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch index 6367adce07..2f84d3d6c2 100644 --- a/poky/meta/recipes-core/systemd/systemd/0012-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch +++ b/poky/meta/recipes-core/systemd/systemd/0016-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch @@ -1,4 +1,4 @@ -From 46fdc959257d60d9b32953cae0152ae118f8564b Mon Sep 17 00:00:00 2001 +From 26b02348e39fe72b73dd61bba8a0cefb0352717d Mon Sep 17 00:00:00 2001 From: Andre McCurdy <armccurdy@gmail.com> Date: Tue, 10 Oct 2017 14:33:30 -0700 Subject: [PATCH] don't pass AT_SYMLINK_NOFOLLOW flag to faccessat() @@ -25,15 +25,16 @@ just historical and not actually necessary or desired behaviour? Upstream-Status: Inappropriate [musl specific] Signed-off-by: Andre McCurdy <armccurdy@gmail.com> - --- src/basic/fs-util.h | 21 ++++++++++++++++++++- src/shared/base-filesystem.c | 6 +++--- 2 files changed, 23 insertions(+), 4 deletions(-) +diff --git a/src/basic/fs-util.h b/src/basic/fs-util.h +index 932d003f19..33215dbf5f 100644 --- a/src/basic/fs-util.h +++ b/src/basic/fs-util.h -@@ -47,8 +47,27 @@ int futimens_opath(int fd, const struct +@@ -50,8 +50,27 @@ int futimens_opath(int fd, const struct timespec ts[2]); int fd_warn_permissions(const char *path, int fd); int stat_warn_permissions(const char *path, const struct stat *st); @@ -62,9 +63,11 @@ Signed-off-by: Andre McCurdy <armccurdy@gmail.com> int touch_file(const char *path, bool parents, usec_t stamp, uid_t uid, gid_t gid, mode_t mode); +diff --git a/src/shared/base-filesystem.c b/src/shared/base-filesystem.c +index be6dd1654a..2726dc946a 100644 --- a/src/shared/base-filesystem.c +++ b/src/shared/base-filesystem.c -@@ -131,7 +131,7 @@ int base_filesystem_create(const char *r +@@ -131,7 +131,7 @@ int base_filesystem_create(const char *root, uid_t uid, gid_t gid) { return log_error_errno(errno, "Failed to open root file system: %m"); for (size_t i = 0; i < ELEMENTSOF(table); i++) { @@ -73,7 +76,7 @@ Signed-off-by: Andre McCurdy <armccurdy@gmail.com> continue; if (table[i].target) { -@@ -139,7 +139,7 @@ int base_filesystem_create(const char *r +@@ -139,7 +139,7 @@ int base_filesystem_create(const char *root, uid_t uid, gid_t gid) { /* check if one of the targets exists */ NULSTR_FOREACH(s, table[i].target) { @@ -82,7 +85,7 @@ Signed-off-by: Andre McCurdy <armccurdy@gmail.com> continue; /* check if a specific file exists at the target path */ -@@ -150,7 +150,7 @@ int base_filesystem_create(const char *r +@@ -150,7 +150,7 @@ int base_filesystem_create(const char *root, uid_t uid, gid_t gid) { if (!p) return log_oom(); @@ -91,3 +94,6 @@ Signed-off-by: Andre McCurdy <armccurdy@gmail.com> continue; } +-- +2.39.2 + diff --git a/poky/meta/recipes-core/systemd/systemd/0013-Define-glibc-compatible-basename-for-non-glibc-syste.patch b/poky/meta/recipes-core/systemd/systemd/0017-Define-glibc-compatible-basename-for-non-glibc-syste.patch index 3228f1716b..7d74cfcc24 100644 --- a/poky/meta/recipes-core/systemd/systemd/0013-Define-glibc-compatible-basename-for-non-glibc-syste.patch +++ b/poky/meta/recipes-core/systemd/systemd/0017-Define-glibc-compatible-basename-for-non-glibc-syste.patch @@ -1,4 +1,4 @@ -From d0bdce977b7acc5e45e82cf84256c4bedc0e74c4 Mon Sep 17 00:00:00 2001 +From fdc7fb940bb41020271b9db41d5608004efdbde5 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Sun, 27 May 2018 08:36:44 -0700 Subject: [PATCH] Define glibc compatible basename() for non-glibc systems @@ -9,11 +9,12 @@ using non-posix basename implementation, we have a way out Upstream-Status: Inappropriate [musl specific] Signed-off-by: Khem Raj <raj.khem@gmail.com> - --- src/machine/machine-dbus.c | 5 +++++ 1 file changed, 5 insertions(+) +diff --git a/src/machine/machine-dbus.c b/src/machine/machine-dbus.c +index 45bc056326..aee51d5da5 100644 --- a/src/machine/machine-dbus.c +++ b/src/machine/machine-dbus.c @@ -4,6 +4,11 @@ @@ -28,3 +29,6 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> #include "alloc-util.h" #include "bus-common-errors.h" #include "bus-get-properties.h" +-- +2.39.2 + diff --git a/poky/meta/recipes-core/systemd/systemd/0014-Do-not-disable-buffering-when-writing-to-oom_score_a.patch b/poky/meta/recipes-core/systemd/systemd/0018-Do-not-disable-buffering-when-writing-to-oom_score_a.patch index da56d8b4b6..401a9a9546 100644 --- a/poky/meta/recipes-core/systemd/systemd/0014-Do-not-disable-buffering-when-writing-to-oom_score_a.patch +++ b/poky/meta/recipes-core/systemd/systemd/0018-Do-not-disable-buffering-when-writing-to-oom_score_a.patch @@ -1,4 +1,4 @@ -From e480d28305907c3874f4e58b722b8aa43c3ac7a2 Mon Sep 17 00:00:00 2001 +From 32fd0dc67b6df531f0769dbb099dbe8f30c28514 Mon Sep 17 00:00:00 2001 From: Chen Qi <Qi.Chen@windriver.com> Date: Wed, 4 Jul 2018 15:00:44 +0800 Subject: [PATCH] Do not disable buffering when writing to oom_score_adj @@ -19,14 +19,15 @@ Upstream-Status: Inappropriate [musl specific] Signed-off-by: Chen Qi <Qi.Chen@windriver.com> [rebased for systemd 243] Signed-off-by: Scott Murray <scott.murray@konsulko.com> - --- src/basic/process-util.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) +diff --git a/src/basic/process-util.c b/src/basic/process-util.c +index 0747c14c1c..8d0c5aae92 100644 --- a/src/basic/process-util.c +++ b/src/basic/process-util.c -@@ -1466,7 +1466,7 @@ int set_oom_score_adjust(int value) { +@@ -1405,7 +1405,7 @@ int set_oom_score_adjust(int value) { xsprintf(t, "%i", value); return write_string_file("/proc/self/oom_score_adj", t, @@ -35,3 +36,6 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> } int get_oom_score_adjust(int *ret) { +-- +2.39.2 + diff --git a/poky/meta/recipes-core/systemd/systemd/0015-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch b/poky/meta/recipes-core/systemd/systemd/0019-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch index 7533fde1e1..48b8eda0a5 100644 --- a/poky/meta/recipes-core/systemd/systemd/0015-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch +++ b/poky/meta/recipes-core/systemd/systemd/0019-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch @@ -1,4 +1,4 @@ -From 0542d27ebbb250c09bdcfcf9f2ea3d27426fe522 Mon Sep 17 00:00:00 2001 +From ed46afcbc6bc1f6277a0a54c3db8cf1b056bca1e Mon Sep 17 00:00:00 2001 From: Chen Qi <Qi.Chen@windriver.com> Date: Tue, 10 Jul 2018 15:40:17 +0800 Subject: [PATCH] distinguish XSI-compliant strerror_r from GNU-specifi @@ -18,15 +18,16 @@ assigned to (char *) variable, resulting in segment fault. Upstream-Status: Inappropriate [musl specific] Signed-off-by: Chen Qi <Qi.Chen@windriver.com> - --- - src/libsystemd/sd-bus/bus-error.c | 5 +++++ - src/libsystemd/sd-journal/journal-send.c | 5 +++++ - 2 files changed, 10 insertions(+) + src/libsystemd/sd-bus/bus-error.c | 11 ++++++++++- + src/libsystemd/sd-journal/journal-send.c | 5 +++++ + 2 files changed, 15 insertions(+), 1 deletion(-) +diff --git a/src/libsystemd/sd-bus/bus-error.c b/src/libsystemd/sd-bus/bus-error.c +index 413e2dd43f..805e5da0c0 100644 --- a/src/libsystemd/sd-bus/bus-error.c +++ b/src/libsystemd/sd-bus/bus-error.c -@@ -409,7 +409,12 @@ static void bus_error_strerror(sd_bus_er +@@ -408,7 +408,12 @@ static void bus_error_strerror(sd_bus_error *e, int error) { return; errno = 0; @@ -39,7 +40,7 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com> if (errno == ERANGE || strlen(x) >= k - 1) { free(m); k *= 2; -@@ -594,8 +599,12 @@ const char* _bus_error_message(const sd_ +@@ -593,8 +598,12 @@ const char* _bus_error_message(const sd_bus_error *e, int error, char buf[static if (e && e->message) return e->message; @@ -53,9 +54,11 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com> } static bool map_ok(const sd_bus_error_map *map) { +diff --git a/src/libsystemd/sd-journal/journal-send.c b/src/libsystemd/sd-journal/journal-send.c +index 136ebcb153..8a75ba4ecd 100644 --- a/src/libsystemd/sd-journal/journal-send.c +++ b/src/libsystemd/sd-journal/journal-send.c -@@ -381,7 +381,12 @@ static int fill_iovec_perror_and_send(co +@@ -381,7 +381,12 @@ static int fill_iovec_perror_and_send(const char *message, int skip, struct iove char* j; errno = 0; @@ -68,3 +71,6 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com> if (errno == 0) { char error[STRLEN("ERRNO=") + DECIMAL_STR_MAX(int) + 1]; +-- +2.39.2 + diff --git a/poky/meta/recipes-core/systemd/systemd/0018-avoid-redefinition-of-prctl_mm_map-structure.patch b/poky/meta/recipes-core/systemd/systemd/0020-avoid-redefinition-of-prctl_mm_map-structure.patch index 1fcba7af08..e5f017347c 100644 --- a/poky/meta/recipes-core/systemd/systemd/0018-avoid-redefinition-of-prctl_mm_map-structure.patch +++ b/poky/meta/recipes-core/systemd/systemd/0020-avoid-redefinition-of-prctl_mm_map-structure.patch @@ -1,4 +1,4 @@ -From e1d0210b47906dd121f936f3181092835df6a95c Mon Sep 17 00:00:00 2001 +From 277b680d07a178b8278862b60417052d05c1376f Mon Sep 17 00:00:00 2001 From: Chen Qi <Qi.Chen@windriver.com> Date: Mon, 25 Feb 2019 15:44:54 +0800 Subject: [PATCH] avoid redefinition of prctl_mm_map structure @@ -9,7 +9,6 @@ error: redefinition of 'struct prctl_mm_map' Upstream-Status: Inappropriate [musl specific] Signed-off-by: Chen Qi <Qi.Chen@windriver.com> - --- src/basic/missing_prctl.h | 2 ++ 1 file changed, 2 insertions(+) @@ -28,3 +27,6 @@ index ab851306ba..5547cad875 100644 /* 58319057b7847667f0c9585b9de0e8932b0fdb08 (4.3) */ #ifndef PR_CAP_AMBIENT +-- +2.39.2 + diff --git a/poky/meta/recipes-core/systemd/systemd/0022-do-not-disable-buffer-in-writing-files.patch b/poky/meta/recipes-core/systemd/systemd/0021-do-not-disable-buffer-in-writing-files.patch index 6edab0dfe2..46267a5ada 100644 --- a/poky/meta/recipes-core/systemd/systemd/0022-do-not-disable-buffer-in-writing-files.patch +++ b/poky/meta/recipes-core/systemd/systemd/0021-do-not-disable-buffer-in-writing-files.patch @@ -1,4 +1,4 @@ -From 414e2f97008a1f3c26a260a6dc4d51a8c1fa6900 Mon Sep 17 00:00:00 2001 +From aa6e5588e6d01c12e2f101d140cc710ab199df16 Mon Sep 17 00:00:00 2001 From: Chen Qi <Qi.Chen@windriver.com> Date: Fri, 1 Mar 2019 15:22:15 +0800 Subject: [PATCH] do not disable buffer in writing files @@ -18,16 +18,14 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Andrej Valek <andrej.valek@siemens.com> [rebased for systemd 243] Signed-off-by: Scott Murray <scott.murray@konsulko.com> - --- src/basic/cgroup-util.c | 12 ++++++------ src/basic/namespace-util.c | 4 ++-- src/basic/procfs-util.c | 4 ++-- src/basic/sysctl-util.c | 2 +- - src/basic/util.c | 2 +- src/binfmt/binfmt.c | 6 +++--- src/core/cgroup.c | 2 +- - src/core/main.c | 4 ++-- + src/core/main.c | 2 +- src/core/smack-setup.c | 8 ++++---- src/hibernate-resume/hibernate-resume.c | 2 +- src/home/homework.c | 2 +- @@ -41,11 +39,13 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> src/sleep/sleep.c | 8 ++++---- src/udev/udev-rules.c | 1 - src/vconsole/vconsole-setup.c | 2 +- - 21 files changed, 39 insertions(+), 40 deletions(-) + 20 files changed, 37 insertions(+), 38 deletions(-) +diff --git a/src/basic/cgroup-util.c b/src/basic/cgroup-util.c +index 11b4375ed5..7d81a6007f 100644 --- a/src/basic/cgroup-util.c +++ b/src/basic/cgroup-util.c -@@ -399,7 +399,7 @@ int cg_kill_kernel_sigkill(const char *c +@@ -399,7 +399,7 @@ int cg_kill_kernel_sigkill(const char *controller, const char *path) { if (r < 0) return r; @@ -54,7 +54,7 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> if (r < 0) return r; -@@ -805,7 +805,7 @@ int cg_install_release_agent(const char +@@ -805,7 +805,7 @@ int cg_install_release_agent(const char *controller, const char *agent) { sc = strstrip(contents); if (isempty(sc)) { @@ -63,7 +63,7 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> if (r < 0) return r; } else if (!path_equal(sc, agent)) -@@ -823,7 +823,7 @@ int cg_install_release_agent(const char +@@ -823,7 +823,7 @@ int cg_install_release_agent(const char *controller, const char *agent) { sc = strstrip(contents); if (streq(sc, "0")) { @@ -72,7 +72,7 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> if (r < 0) return r; -@@ -850,7 +850,7 @@ int cg_uninstall_release_agent(const cha +@@ -850,7 +850,7 @@ int cg_uninstall_release_agent(const char *controller) { if (r < 0) return r; @@ -81,7 +81,7 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> if (r < 0) return r; -@@ -860,7 +860,7 @@ int cg_uninstall_release_agent(const cha +@@ -860,7 +860,7 @@ int cg_uninstall_release_agent(const char *controller) { if (r < 0) return r; @@ -90,7 +90,7 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> if (r < 0) return r; -@@ -1730,7 +1730,7 @@ int cg_set_attribute(const char *control +@@ -1752,7 +1752,7 @@ int cg_set_attribute(const char *controller, const char *path, const char *attri if (r < 0) return r; @@ -99,9 +99,11 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> } int cg_get_attribute(const char *controller, const char *path, const char *attribute, char **ret) { +diff --git a/src/basic/namespace-util.c b/src/basic/namespace-util.c +index f5c0e04cec..272b920022 100644 --- a/src/basic/namespace-util.c +++ b/src/basic/namespace-util.c -@@ -220,12 +220,12 @@ int userns_acquire(const char *uid_map, +@@ -220,12 +220,12 @@ int userns_acquire(const char *uid_map, const char *gid_map) { freeze(); xsprintf(path, "/proc/" PID_FMT "/uid_map", pid); @@ -116,9 +118,11 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> if (r < 0) return log_error_errno(r, "Failed to write GID map: %m"); +diff --git a/src/basic/procfs-util.c b/src/basic/procfs-util.c +index 64a95dd866..12cd16db1c 100644 --- a/src/basic/procfs-util.c +++ b/src/basic/procfs-util.c -@@ -64,13 +64,13 @@ int procfs_tasks_set_limit(uint64_t limi +@@ -64,13 +64,13 @@ int procfs_tasks_set_limit(uint64_t limit) { * decrease it, as threads-max is the much more relevant sysctl. */ if (limit > pid_max-1) { sprintf(buffer, "%" PRIu64, limit+1); /* Add one, since PID 0 is not a valid PID */ @@ -134,9 +138,11 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> if (r < 0) { uint64_t threads_max; +diff --git a/src/basic/sysctl-util.c b/src/basic/sysctl-util.c +index b66a6622ae..8d1c93008a 100644 --- a/src/basic/sysctl-util.c +++ b/src/basic/sysctl-util.c -@@ -58,7 +58,7 @@ int sysctl_write(const char *property, c +@@ -58,7 +58,7 @@ int sysctl_write(const char *property, const char *value) { log_debug("Setting '%s' to '%s'", p, value); @@ -145,20 +151,11 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> } int sysctl_writef(const char *property, const char *format, ...) { ---- a/src/basic/util.c -+++ b/src/basic/util.c -@@ -134,7 +134,7 @@ void disable_coredumps(void) { - if (detect_container() > 0) - return; - -- r = write_string_file("/proc/sys/kernel/core_pattern", "|/bin/false", WRITE_STRING_FILE_DISABLE_BUFFER); -+ r = write_string_file("/proc/sys/kernel/core_pattern", "|/bin/false", 0); - if (r < 0) - log_debug_errno(r, "Failed to turn off coredumps, ignoring: %m"); - } +diff --git a/src/binfmt/binfmt.c b/src/binfmt/binfmt.c +index e1ddf97914..df6e156f19 100644 --- a/src/binfmt/binfmt.c +++ b/src/binfmt/binfmt.c -@@ -29,7 +29,7 @@ static bool arg_unregister = false; +@@ -30,7 +30,7 @@ static bool arg_unregister = false; static int delete_rule(const char *rulename) { const char *fn = strjoina("/proc/sys/fs/binfmt_misc/", rulename); @@ -167,7 +164,7 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> } static int apply_rule(const char *filename, unsigned line, const char *rule) { -@@ -59,7 +59,7 @@ static int apply_rule(const char *filena +@@ -58,7 +58,7 @@ static int apply_rule(const char *filename, unsigned line, const char *rule) { if (r >= 0) log_debug("%s:%u: Rule '%s' deleted.", filename, line, rulename); @@ -176,8 +173,8 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> if (r < 0) return log_error_errno(r, "%s:%u: Failed to add binary format '%s': %m", filename, line, rulename); -@@ -225,7 +225,7 @@ static int run(int argc, char *argv[]) { - } +@@ -244,7 +244,7 @@ static int run(int argc, char *argv[]) { + return r; /* Flush out all rules */ - r = write_string_file("/proc/sys/fs/binfmt_misc/status", "-1", WRITE_STRING_FILE_DISABLE_BUFFER); @@ -185,9 +182,11 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> if (r < 0) log_warning_errno(r, "Failed to flush binfmt_misc rules, ignoring: %m"); else +diff --git a/src/core/cgroup.c b/src/core/cgroup.c +index 4cac3f6a89..bebe2cd120 100644 --- a/src/core/cgroup.c +++ b/src/core/cgroup.c -@@ -4210,7 +4210,7 @@ int unit_cgroup_freezer_action(Unit *u, +@@ -4267,7 +4267,7 @@ int unit_cgroup_freezer_action(Unit *u, FreezerAction action) { u->freezer_state = FREEZER_THAWING; } @@ -196,18 +195,11 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> if (r < 0) return r; +diff --git a/src/core/main.c b/src/core/main.c +index c0b8126d96..fe676320ba 100644 --- a/src/core/main.c +++ b/src/core/main.c -@@ -1404,7 +1404,7 @@ static int bump_unix_max_dgram_qlen(void - if (v >= DEFAULT_UNIX_MAX_DGRAM_QLEN) - return 0; - -- r = write_string_filef("/proc/sys/net/unix/max_dgram_qlen", WRITE_STRING_FILE_DISABLE_BUFFER, -+ r = write_string_filef("/proc/sys/net/unix/max_dgram_qlen", 0, - "%lu", DEFAULT_UNIX_MAX_DGRAM_QLEN); - if (r < 0) - return log_full_errno(IN_SET(r, -EROFS, -EPERM, -EACCES) ? LOG_DEBUG : LOG_WARNING, r, -@@ -1676,7 +1676,7 @@ static void initialize_core_pattern(bool +@@ -1716,7 +1716,7 @@ static void initialize_core_pattern(bool skip_setup) { if (getpid_cached() != 1) return; @@ -216,9 +208,11 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> if (r < 0) log_warning_errno(r, "Failed to write '%s' to /proc/sys/kernel/core_pattern, ignoring: %m", arg_early_core_pattern); +diff --git a/src/core/smack-setup.c b/src/core/smack-setup.c +index bcaa237c8d..4032bde19e 100644 --- a/src/core/smack-setup.c +++ b/src/core/smack-setup.c -@@ -320,17 +320,17 @@ int mac_smack_setup(bool *loaded_policy) +@@ -319,17 +319,17 @@ int mac_smack_setup(bool *loaded_policy) { } #if HAVE_SMACK_RUN_LABEL @@ -240,6 +234,8 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> if (r < 0) log_warning_errno(r, "Failed to set SMACK netlabel rule \"127.0.0.1 -CIPSO\": %m"); #endif +diff --git a/src/hibernate-resume/hibernate-resume.c b/src/hibernate-resume/hibernate-resume.c +index 9a9df5d22f..75ddec881a 100644 --- a/src/hibernate-resume/hibernate-resume.c +++ b/src/hibernate-resume/hibernate-resume.c @@ -40,7 +40,7 @@ int main(int argc, char *argv[]) { @@ -251,6 +247,8 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> if (r < 0) { log_error_errno(r, "Failed to write '" DEVNUM_FORMAT_STR "' to /sys/power/resume: %m", DEVNUM_FORMAT_VAL(st.st_rdev)); return EXIT_FAILURE; +diff --git a/src/home/homework.c b/src/home/homework.c +index 28907386a4..f9e45349a7 100644 --- a/src/home/homework.c +++ b/src/home/homework.c @@ -278,7 +278,7 @@ static void drop_caches_now(void) { @@ -262,9 +260,11 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> if (r < 0) log_warning_errno(r, "Failed to drop caches, ignoring: %m"); else +diff --git a/src/libsystemd/sd-device/sd-device.c b/src/libsystemd/sd-device/sd-device.c +index 8c65ee3469..153edab081 100644 --- a/src/libsystemd/sd-device/sd-device.c +++ b/src/libsystemd/sd-device/sd-device.c -@@ -2444,7 +2444,7 @@ _public_ int sd_device_set_sysattr_value +@@ -2481,7 +2481,7 @@ _public_ int sd_device_set_sysattr_value(sd_device *device, const char *sysattr, if (!value) return -ENOMEM; @@ -273,9 +273,11 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> if (r < 0) { /* On failure, clear cache entry, as we do not know how it fails. */ device_remove_cached_sysattr_value(device, sysattr); +diff --git a/src/nspawn/nspawn-cgroup.c b/src/nspawn/nspawn-cgroup.c +index 0deb4ebb30..bae8eead9e 100644 --- a/src/nspawn/nspawn-cgroup.c +++ b/src/nspawn/nspawn-cgroup.c -@@ -123,7 +123,7 @@ int sync_cgroup(pid_t pid, CGroupUnified +@@ -122,7 +122,7 @@ int sync_cgroup(pid_t pid, CGroupUnified unified_requested, uid_t uid_shift) { fn = strjoina(tree, cgroup, "/cgroup.procs"); sprintf(pid_string, PID_FMT, pid); @@ -284,9 +286,11 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> if (r < 0) { log_error_errno(r, "Failed to move process: %m"); goto finish; +diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c +index 36d336dfc8..8c5c69596b 100644 --- a/src/nspawn/nspawn.c +++ b/src/nspawn/nspawn.c -@@ -2762,7 +2762,7 @@ static int reset_audit_loginuid(void) { +@@ -2771,7 +2771,7 @@ static int reset_audit_loginuid(void) { if (streq(p, "4294967295")) return 0; @@ -295,7 +299,7 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> if (r < 0) { log_error_errno(r, "Failed to reset audit login UID. This probably means that your kernel is too\n" -@@ -4187,7 +4187,7 @@ static int setup_uid_map( +@@ -4211,7 +4211,7 @@ static int setup_uid_map( return log_oom(); xsprintf(uid_map, "/proc/" PID_FMT "/uid_map", pid); @@ -304,7 +308,7 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> if (r < 0) return log_error_errno(r, "Failed to write UID map: %m"); -@@ -4197,7 +4197,7 @@ static int setup_uid_map( +@@ -4221,7 +4221,7 @@ static int setup_uid_map( return log_oom(); xsprintf(uid_map, "/proc/" PID_FMT "/gid_map", pid); @@ -313,20 +317,24 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> if (r < 0) return log_error_errno(r, "Failed to write GID map: %m"); +diff --git a/src/shared/binfmt-util.c b/src/shared/binfmt-util.c +index a26175474b..1413a9c72c 100644 --- a/src/shared/binfmt-util.c +++ b/src/shared/binfmt-util.c -@@ -26,7 +26,7 @@ int disable_binfmt(void) { - if (r < 0) - return log_warning_errno(r, "Failed to determine whether binfmt_misc is mounted: %m"); +@@ -46,7 +46,7 @@ int disable_binfmt(void) { + return 0; + } - r = write_string_file("/proc/sys/fs/binfmt_misc/status", "-1", WRITE_STRING_FILE_DISABLE_BUFFER); + r = write_string_file("/proc/sys/fs/binfmt_misc/status", "-1", 0); if (r < 0) return log_warning_errno(r, "Failed to unregister binfmt_misc entries: %m"); +diff --git a/src/shared/cgroup-setup.c b/src/shared/cgroup-setup.c +index 2ea83f05d3..8626bb184c 100644 --- a/src/shared/cgroup-setup.c +++ b/src/shared/cgroup-setup.c -@@ -350,7 +350,7 @@ int cg_attach(const char *controller, co +@@ -350,7 +350,7 @@ int cg_attach(const char *controller, const char *path, pid_t pid) { xsprintf(c, PID_FMT "\n", pid); @@ -344,18 +352,24 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> if (r < 0) { log_debug_errno(r, "Failed to %s controller %s for %s (%s): %m", FLAGS_SET(mask, bit) ? "enable" : "disable", n, p, fs); +diff --git a/src/shared/coredump-util.c b/src/shared/coredump-util.c +index 3d2f179049..c1b6c170ac 100644 --- a/src/shared/coredump-util.c +++ b/src/shared/coredump-util.c -@@ -70,5 +70,5 @@ int set_coredump_filter(uint64_t value) +@@ -71,7 +71,7 @@ int set_coredump_filter(uint64_t value) { sprintf(t, "0x%"PRIx64, value); return write_string_file("/proc/self/coredump_filter", t, - WRITE_STRING_FILE_VERIFY_ON_FAILURE|WRITE_STRING_FILE_DISABLE_BUFFER); -+ WRITE_STRING_FILE_VERIFY_ON_FAILURE); ++ 0); } + + /* Turn off core dumps but only if we're running outside of a container. */ +diff --git a/src/shared/smack-util.c b/src/shared/smack-util.c +index b3b5c905ad..bbfa1973fd 100644 --- a/src/shared/smack-util.c +++ b/src/shared/smack-util.c -@@ -115,7 +115,7 @@ int mac_smack_apply_pid(pid_t pid, const +@@ -115,7 +115,7 @@ int mac_smack_apply_pid(pid_t pid, const char *label) { return 0; p = procfs_file_alloca(pid, "attr/current"); @@ -364,9 +378,11 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> if (r < 0) return r; +diff --git a/src/sleep/sleep.c b/src/sleep/sleep.c +index 765dd4974f..cd6afb001b 100644 --- a/src/sleep/sleep.c +++ b/src/sleep/sleep.c -@@ -50,7 +50,7 @@ static int write_hibernate_location_info +@@ -50,7 +50,7 @@ static int write_hibernate_location_info(const HibernateLocation *hibernate_loca assert(hibernate_location->swap); xsprintf(resume_str, "%u:%u", major(hibernate_location->devno), minor(hibernate_location->devno)); @@ -375,7 +391,7 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> if (r < 0) return log_debug_errno(r, "Failed to write partition device to /sys/power/resume for '%s': '%s': %m", hibernate_location->swap->device, resume_str); -@@ -77,7 +77,7 @@ static int write_hibernate_location_info +@@ -77,7 +77,7 @@ static int write_hibernate_location_info(const HibernateLocation *hibernate_loca } xsprintf(offset_str, "%" PRIu64, hibernate_location->offset); @@ -393,7 +409,7 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> if (k >= 0) return 0; -@@ -114,7 +114,7 @@ static int write_state(FILE **f, char ** +@@ -114,7 +114,7 @@ static int write_state(FILE **f, char **states) { STRV_FOREACH(state, states) { int k; @@ -402,9 +418,11 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> if (k >= 0) return 0; log_debug_errno(k, "Failed to write '%s' to /sys/power/state: %m", *state); +diff --git a/src/udev/udev-rules.c b/src/udev/udev-rules.c +index 0ce79f815c..28aab475d0 100644 --- a/src/udev/udev-rules.c +++ b/src/udev/udev-rules.c -@@ -2354,7 +2354,6 @@ static int udev_rule_apply_token_to_even +@@ -2357,7 +2357,6 @@ static int udev_rule_apply_token_to_event( log_rule_debug(dev, rules, "ATTR '%s' writing '%s'", buf, value); r = write_string_file(buf, value, WRITE_STRING_FILE_VERIFY_ON_FAILURE | @@ -412,9 +430,11 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> WRITE_STRING_FILE_AVOID_NEWLINE | WRITE_STRING_FILE_VERIFY_IGNORE_NEWLINE); if (r < 0) +diff --git a/src/vconsole/vconsole-setup.c b/src/vconsole/vconsole-setup.c +index 7d3e9db73f..2d4a0c4c9d 100644 --- a/src/vconsole/vconsole-setup.c +++ b/src/vconsole/vconsole-setup.c -@@ -108,7 +108,7 @@ static int toggle_utf8_vc(const char *na +@@ -108,7 +108,7 @@ static int toggle_utf8_vc(const char *name, int fd, bool utf8) { static int toggle_utf8_sysfs(bool utf8) { int r; @@ -423,3 +443,6 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> if (r < 0) return log_warning_errno(r, "Failed to %s sysfs UTF-8 flag: %m", enable_disable(utf8)); +-- +2.39.2 + diff --git a/poky/meta/recipes-core/systemd/systemd/0025-Handle-__cpu_mask-usage.patch b/poky/meta/recipes-core/systemd/systemd/0022-Handle-__cpu_mask-usage.patch index 6981d70af0..61545f5778 100644 --- a/poky/meta/recipes-core/systemd/systemd/0025-Handle-__cpu_mask-usage.patch +++ b/poky/meta/recipes-core/systemd/systemd/0022-Handle-__cpu_mask-usage.patch @@ -1,4 +1,4 @@ -From 8871f78c559f37169c0cfaf20b0af1dbec0399af Mon Sep 17 00:00:00 2001 +From a50ec65dbe660421052656dda7499c925005f486 Mon Sep 17 00:00:00 2001 From: Scott Murray <scott.murray@konsulko.com> Date: Fri, 13 Sep 2019 19:26:27 -0400 Subject: [PATCH] Handle __cpu_mask usage @@ -18,7 +18,6 @@ add a typedef to cpu-set-util.h defining __cpu_mask appropriately. Upstream-Status: Inappropriate [musl specific] Signed-off-by: Scott Murray <scott.murray@konsulko.com> - --- src/shared/cpu-set-util.h | 2 ++ src/test/test-sizeof.c | 2 +- @@ -38,7 +37,7 @@ index 3c63a58826..4c2d4347fc 100644 typedef struct CPUSet { cpu_set_t *set; diff --git a/src/test/test-sizeof.c b/src/test/test-sizeof.c -index 602772227e..7f1ed19d77 100644 +index 6cf92bffde..937d26ca55 100644 --- a/src/test/test-sizeof.c +++ b/src/test/test-sizeof.c @@ -1,6 +1,5 @@ @@ -56,3 +55,6 @@ index 602772227e..7f1ed19d77 100644 /* Print information about various types. Useful when diagnosing * gcc diagnostics on an unfamiliar architecture. */ +-- +2.39.2 + diff --git a/poky/meta/recipes-core/systemd/systemd/0026-Handle-missing-gshadow.patch b/poky/meta/recipes-core/systemd/systemd/0023-Handle-missing-gshadow.patch index 45778541c3..7da8798ebc 100644 --- a/poky/meta/recipes-core/systemd/systemd/0026-Handle-missing-gshadow.patch +++ b/poky/meta/recipes-core/systemd/systemd/0023-Handle-missing-gshadow.patch @@ -1,4 +1,4 @@ -From ec519727bb1ceda6e7787ccf86237a6aad07137c Mon Sep 17 00:00:00 2001 +From ebf0f69d8614b8d86a971b97ff0d847d1e5d47c9 Mon Sep 17 00:00:00 2001 From: Alex Kiernan <alex.kiernan@gmail.com> Date: Tue, 10 Mar 2020 11:05:20 +0000 Subject: [PATCH] Handle missing gshadow @@ -10,13 +10,14 @@ Upstream-Status: Inappropriate [musl specific] Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> [Rebased for v247] Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> - --- src/shared/user-record-nss.c | 20 ++++++++++++++++++++ src/shared/user-record-nss.h | 4 ++++ src/shared/userdb.c | 7 ++++++- 3 files changed, 30 insertions(+), 1 deletion(-) +diff --git a/src/shared/user-record-nss.c b/src/shared/user-record-nss.c +index 88b8fc2f8f..a819d41bac 100644 --- a/src/shared/user-record-nss.c +++ b/src/shared/user-record-nss.c @@ -331,8 +331,10 @@ int nss_group_to_group_record( @@ -46,7 +47,7 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> r = json_build(&g->json, JSON_BUILD_OBJECT( JSON_BUILD_PAIR("groupName", JSON_BUILD_STRING(g->group_name)), -@@ -388,6 +392,7 @@ int nss_sgrp_for_group(const struct grou +@@ -388,6 +392,7 @@ int nss_sgrp_for_group(const struct group *grp, struct sgrp *ret_sgrp, char **re assert(ret_sgrp); assert(ret_buffer); @@ -54,7 +55,7 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> for (;;) { _cleanup_free_ char *buf = NULL; struct sgrp sgrp, *result; -@@ -416,6 +421,9 @@ int nss_sgrp_for_group(const struct grou +@@ -416,6 +421,9 @@ int nss_sgrp_for_group(const struct group *grp, struct sgrp *ret_sgrp, char **re buflen *= 2; buf = mfree(buf); } @@ -120,6 +121,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> if (r < 0) return r; +diff --git a/src/shared/user-record-nss.h b/src/shared/user-record-nss.h +index 22ab04d6ee..4e52e7a911 100644 --- a/src/shared/user-record-nss.h +++ b/src/shared/user-record-nss.h @@ -2,7 +2,11 @@ @@ -134,9 +137,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> #include <pwd.h> #include <shadow.h> +diff --git a/src/shared/userdb.c b/src/shared/userdb.c +index a77eff4407..955e361d3a 100644 --- a/src/shared/userdb.c +++ b/src/shared/userdb.c -@@ -1044,13 +1044,15 @@ int groupdb_iterator_get(UserDBIterator +@@ -1044,13 +1044,15 @@ int groupdb_iterator_get(UserDBIterator *iterator, GroupRecord **ret) { if (gr) { _cleanup_free_ char *buffer = NULL; bool incomplete = false; @@ -153,7 +158,7 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> if (!FLAGS_SET(iterator->flags, USERDB_SUPPRESS_SHADOW)) { r = nss_sgrp_for_group(gr, &sgrp, &buffer); if (r < 0) { -@@ -1063,6 +1065,9 @@ int groupdb_iterator_get(UserDBIterator +@@ -1063,6 +1065,9 @@ int groupdb_iterator_get(UserDBIterator *iterator, GroupRecord **ret) { } r = nss_group_to_group_record(gr, r >= 0 ? &sgrp : NULL, ret); @@ -163,3 +168,6 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> if (r < 0) return r; +-- +2.39.2 + diff --git a/poky/meta/recipes-core/systemd/systemd/0028-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch b/poky/meta/recipes-core/systemd/systemd/0024-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch index 6c97a272e2..15ff6eb4f8 100644 --- a/poky/meta/recipes-core/systemd/systemd/0028-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch +++ b/poky/meta/recipes-core/systemd/systemd/0024-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch @@ -1,4 +1,4 @@ -From 754a16eeb255c06dbdd4655632276573f0f075ec Mon Sep 17 00:00:00 2001 +From a2f56a2a6cdd5137bb1e680aa9f6c40540107166 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Mon, 12 Apr 2021 23:44:53 -0700 Subject: [PATCH] missing_syscall.h: Define MIPS ABI defines for musl @@ -10,14 +10,13 @@ them here in case they are undefined Upstream-Status: Pending Signed-off-by: Khem Raj <raj.khem@gmail.com> - --- src/basic/missing_syscall.h | 6 ++++++ src/shared/base-filesystem.c | 1 + 2 files changed, 7 insertions(+) diff --git a/src/basic/missing_syscall.h b/src/basic/missing_syscall.h -index 793d111c55..9665848b88 100644 +index 98cd037962..ea6a76c2e2 100644 --- a/src/basic/missing_syscall.h +++ b/src/basic/missing_syscall.h @@ -20,6 +20,12 @@ @@ -34,7 +33,7 @@ index 793d111c55..9665848b88 100644 #include "missing_keyctl.h" #include "missing_stat.h" diff --git a/src/shared/base-filesystem.c b/src/shared/base-filesystem.c -index d396bc99fe..7e9c0c3412 100644 +index 2726dc946a..484f63e0b4 100644 --- a/src/shared/base-filesystem.c +++ b/src/shared/base-filesystem.c @@ -19,6 +19,7 @@ @@ -45,3 +44,6 @@ index d396bc99fe..7e9c0c3412 100644 typedef struct BaseFilesystem { const char *dir; /* directory or symlink to create */ +-- +2.39.2 + diff --git a/poky/meta/recipes-core/systemd/systemd/0025-systemctl-explicitly-cast-the-constants-to-uint64_t.patch b/poky/meta/recipes-core/systemd/systemd/0025-systemctl-explicitly-cast-the-constants-to-uint64_t.patch new file mode 100644 index 0000000000..d840de870f --- /dev/null +++ b/poky/meta/recipes-core/systemd/systemd/0025-systemctl-explicitly-cast-the-constants-to-uint64_t.patch @@ -0,0 +1,44 @@ +From fad29ce1f5cc7b12bc13671d9ad80775771a67eb Mon Sep 17 00:00:00 2001 +From: Frantisek Sumsal <frantisek@sumsal.cz> +Date: Fri, 3 Mar 2023 12:17:27 +0100 +Subject: [PATCH] systemctl: explicitly cast the constants to uint64_t + +Otherwise under certain conditions `va_arg()` might get garbage instead +of the expected value, i.e.: + +$ sudo build-o0/systemctl disable asdfasfaf +sd_bus_message_appendv: Got uint64_t: 0 +Failed to disable unit: Unit file asdfasfaf.service does not exist. + +$ sudo build-o1/systemctl disable asdfasfaf +sd_bus_message_appendv: Got uint64_t: 7954875719681572864 +Failed to disable unit: Invalid argument + +(reproduced on an armv7hl machine) + +Resolves: #26568 +Follow-up to: bf1bea43f15 +Related issue: https://github.com/systemd/systemd/pull/14470#discussion_r362893735 + +Upstream-Status: Backport [https://github.com/systemd/systemd/commit/c63bfd0884cf20e48befbee49d41f667660a8802] +Signed-off-by: Alexander Kanavin <alex@linutronix.de> +--- + src/systemctl/systemctl-enable.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/systemctl/systemctl-enable.c b/src/systemctl/systemctl-enable.c +index 86d9f602fa..f94a286122 100644 +--- a/src/systemctl/systemctl-enable.c ++++ b/src/systemctl/systemctl-enable.c +@@ -211,7 +211,7 @@ int verb_enable(int argc, char *argv[], void *userdata) { + + if (send_runtime) { + if (streq(method, "DisableUnitFilesWithFlagsAndInstallInfo")) +- r = sd_bus_message_append(m, "t", arg_runtime ? UNIT_FILE_RUNTIME : 0); ++ r = sd_bus_message_append(m, "t", arg_runtime ? (uint64_t) UNIT_FILE_RUNTIME : UINT64_C(0)); + else + r = sd_bus_message_append(m, "b", arg_runtime); + if (r < 0) +-- +2.39.2 + diff --git a/poky/meta/recipes-core/systemd/systemd/0026-src-boot-efi-efi-string.c-define-wchar_t-from-__WCHA.patch b/poky/meta/recipes-core/systemd/systemd/0026-src-boot-efi-efi-string.c-define-wchar_t-from-__WCHA.patch new file mode 100644 index 0000000000..c7e2280c3b --- /dev/null +++ b/poky/meta/recipes-core/systemd/systemd/0026-src-boot-efi-efi-string.c-define-wchar_t-from-__WCHA.patch @@ -0,0 +1,44 @@ +From 34072f456b4fe880fbb2f18760b64a1a6c1eebb8 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex@linutronix.de> +Date: Mon, 6 Mar 2023 15:24:49 +0100 +Subject: [PATCH] src/boot/efi/efi-string.c: define wchar_t from __WCHAR_TYPE__ + +systemd-boot relies on wchar_t being 16 bit, and breaks at build time otherwise. + +To set wchar_t to 16 bit it is passing -fshort-wchar to gcc; this has the +desired effect on glibc (which sets wchar_t from __WCHAR_TYPE__) but not on +musl (which hardcodes it to 32 bit). + +This patch ensures wchar_t is set from the compiler flags on all systems; note +that systemd-boot is not actually using functions from musl or other libc, just their headers. + +Meanwhile upstream has refactored the code to not rely on libc headers at all; +however this will not be backported to v253 and we need a different fix. + +Upstream-Status: Inappropriate [fixed differently in trunk according to https://github.com/systemd/systemd/pull/26689] +Signed-off-by: Alexander Kanavin <alex@linutronix.de> +--- + src/boot/efi/efi-string.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/src/boot/efi/efi-string.c b/src/boot/efi/efi-string.c +index 22923d60f6..5d09d4281f 100644 +--- a/src/boot/efi/efi-string.c ++++ b/src/boot/efi/efi-string.c +@@ -2,7 +2,13 @@ + + #include <stdbool.h> + #include <stdint.h> ++ ++#if SD_BOOT ++typedef __WCHAR_TYPE__ wchar_t; ++#define __DEFINED_wchar_t ++#else + #include <wchar.h> ++#endif + + #include "efi-string.h" + +-- +2.39.2 + diff --git a/poky/meta/recipes-core/systemd/systemd_252.5.bb b/poky/meta/recipes-core/systemd/systemd_253.1.bb index 8b92b2cf42..9c2b96d3c1 100644 --- a/poky/meta/recipes-core/systemd/systemd_252.5.bb +++ b/poky/meta/recipes-core/systemd/systemd_253.1.bb @@ -22,41 +22,42 @@ SRC_URI += " \ file://init \ file://99-default.preset \ file://systemd-pager.sh \ - file://0001-binfmt-Don-t-install-dependency-links-at-install-tim.patch \ - file://0003-implment-systemd-sysv-install-for-OE.patch \ - file://0001-Move-sysusers.d-sysctl.d-binfmt.d-modules-load.d-to-.patch \ + file://0002-binfmt-Don-t-install-dependency-links-at-install-tim.patch \ + file://0008-implment-systemd-sysv-install-for-OE.patch \ + file://0004-Move-sysusers.d-sysctl.d-binfmt.d-modules-load.d-to-.patch \ " # patches needed by musl SRC_URI:append:libc-musl = " ${SRC_URI_MUSL}" SRC_URI_MUSL = "\ - file://0003-missing_type.h-add-comparison_fn_t.patch \ - file://0004-add-fallback-parse_printf_format-implementation.patch \ - file://0005-src-basic-missing.h-check-for-missing-strndupa.patch \ - file://0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch \ - file://0008-add-missing-FTW_-macros-for-musl.patch \ - file://0010-Use-uintmax_t-for-handling-rlim_t.patch \ - file://0011-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch \ - file://0012-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch \ - file://0013-Define-glibc-compatible-basename-for-non-glibc-syste.patch \ - file://0014-Do-not-disable-buffering-when-writing-to-oom_score_a.patch \ - file://0015-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch \ - file://0018-avoid-redefinition-of-prctl_mm_map-structure.patch \ - file://0022-do-not-disable-buffer-in-writing-files.patch \ - file://0025-Handle-__cpu_mask-usage.patch \ - file://0026-Handle-missing-gshadow.patch \ - file://0028-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch \ - file://0001-pass-correct-parameters-to-getdents64.patch \ - file://0002-Add-sys-stat.h-for-S_IFDIR.patch \ + file://0009-missing_type.h-add-comparison_fn_t.patch \ + file://0010-add-fallback-parse_printf_format-implementation.patch \ + file://0011-src-basic-missing.h-check-for-missing-strndupa.patch \ + file://0012-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch \ + file://0013-add-missing-FTW_-macros-for-musl.patch \ + file://0014-Use-uintmax_t-for-handling-rlim_t.patch \ + file://0015-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch \ + file://0016-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch \ + file://0017-Define-glibc-compatible-basename-for-non-glibc-syste.patch \ + file://0018-Do-not-disable-buffering-when-writing-to-oom_score_a.patch \ + file://0019-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch \ + file://0020-avoid-redefinition-of-prctl_mm_map-structure.patch \ + file://0021-do-not-disable-buffer-in-writing-files.patch \ + file://0022-Handle-__cpu_mask-usage.patch \ + file://0023-Handle-missing-gshadow.patch \ + file://0024-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch \ + file://0005-pass-correct-parameters-to-getdents64.patch \ + file://0007-Add-sys-stat.h-for-S_IFDIR.patch \ file://0001-Adjust-for-musl-headers.patch \ - file://0001-test-bus-error-strerror-is-assumed-to-be-GNU-specifi.patch \ - file://0001-errno-util-Make-STRERROR-portable-for-musl.patch \ + file://0006-test-bus-error-strerror-is-assumed-to-be-GNU-specifi.patch \ + file://0003-errno-util-Make-STRERROR-portable-for-musl.patch \ " PAM_PLUGINS = " \ pam-plugin-unix \ pam-plugin-loginuid \ pam-plugin-keyinit \ + pam-plugin-namespace \ " PACKAGECONFIG ??= " \ @@ -226,7 +227,7 @@ rootlibdir ?= "${base_libdir}" rootlibexecdir = "${rootprefix}/lib" EXTRA_OEMESON += "-Dnobody-user=nobody \ - -Dnobody-group=nobody \ + -Dnobody-group=nogroup \ -Drootlibdir=${rootlibdir} \ -Drootprefix=${rootprefix} \ -Ddefault-locale=C \ @@ -715,6 +716,7 @@ FILES:udev += "${base_sbindir}/udevd \ ${rootlibexecdir}/udev/rules.d/60-drm.rules \ ${rootlibexecdir}/udev/rules.d/60-evdev.rules \ ${rootlibexecdir}/udev/rules.d/60-fido-id.rules \ + ${rootlibexecdir}/udev/rules.d/60-infiniband.rules \ ${rootlibexecdir}/udev/rules.d/60-input-id.rules \ ${rootlibexecdir}/udev/rules.d/60-persistent-alsa.rules \ ${rootlibexecdir}/udev/rules.d/60-persistent-input.rules \ @@ -826,3 +828,6 @@ pkg_postinst:udev-hwdb () { pkg_prerm:udev-hwdb () { rm -f $D${sysconfdir}/udev/hwdb.bin } + +# This was also fixed in 252.4 with 9b75a3d0 +CVE_CHECK_IGNORE += "CVE-2022-4415" diff --git a/poky/meta/recipes-devtools/apt/apt_2.4.5.bb b/poky/meta/recipes-devtools/apt/apt_2.4.5.bb index 7af9792a0d..429cf6e659 100644 --- a/poky/meta/recipes-devtools/apt/apt_2.4.5.bb +++ b/poky/meta/recipes-devtools/apt/apt_2.4.5.bb @@ -39,8 +39,6 @@ UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/a/apt/" # is considered stable, e.g. 1.0, 1.4, 1.8, 2.2, 2.6, etc. As there is no way # to express 'divisible by 4 plus 2' in regex (that I know of), let's hardcode a few. UPSTREAM_CHECK_REGEX = "[^\d\.](?P<pver>((2\.2)|(2\.6)|(3\.0)|(3\.4)|(3\.8)|(4\.2))(\.\d+)+)\.tar" -# needs be marked as unknown until 2.6 is out -UPSTREAM_VERSION_UNKNOWN = "1" inherit cmake perlnative bash-completion useradd diff --git a/poky/meta/recipes-devtools/autoconf-archive/autoconf-archive_2022.09.03.bb b/poky/meta/recipes-devtools/autoconf-archive/autoconf-archive_2023.02.20.bb index 6595ac98ba..6ba7cdf3fe 100644 --- a/poky/meta/recipes-devtools/autoconf-archive/autoconf-archive_2022.09.03.bb +++ b/poky/meta/recipes-devtools/autoconf-archive/autoconf-archive_2023.02.20.bb @@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=11cc2d3ee574f9d6b7ee797bdce4d423 \ file://COPYING.EXCEPTION;md5=fdef168ebff3bc2f13664c365a5fb515" SRC_URI = "${GNU_MIRROR}/${BPN}/${BPN}-${PV}.tar.xz" -SRC_URI[sha256sum] = "e07454f00d8cae7907bed42d0747798927809947684d94c37207a4d63a32f423" +SRC_URI[sha256sum] = "71d4048479ae28f1f5794619c3d72df9c01df49b1c628ef85fde37596dc31a33" inherit autotools allarch texinfo diff --git a/poky/meta/recipes-devtools/binutils/binutils-2.40.inc b/poky/meta/recipes-devtools/binutils/binutils-2.40.inc index c2b926bb32..93631ca3d7 100644 --- a/poky/meta/recipes-devtools/binutils/binutils-2.40.inc +++ b/poky/meta/recipes-devtools/binutils/binutils-2.40.inc @@ -34,5 +34,6 @@ SRC_URI = "\ file://0013-Define-alignof-using-_Alignof-when-using-C11-or-newe.patch \ file://0014-configure-remove-dependencies-on-gmp-and-mpfr-when-g.patch \ file://0015-Remove-duplicate-pe-dll.o-entry-deom-targ_extra_ofil.patch \ + file://0016-CVE-2023-25586.patch \ " S = "${WORKDIR}/git" diff --git a/poky/meta/recipes-devtools/binutils/binutils.inc b/poky/meta/recipes-devtools/binutils/binutils.inc index b2dbf241df..c69d29448f 100644 --- a/poky/meta/recipes-devtools/binutils/binutils.inc +++ b/poky/meta/recipes-devtools/binutils/binutils.inc @@ -96,6 +96,7 @@ EXTRA_OECONF = "--program-prefix=${TARGET_PREFIX} \ --disable-werror \ --enable-deterministic-archives \ --enable-plugins \ + --enable-new-dtags \ --disable-gdb \ --disable-gdbserver \ --disable-libdecnumber \ diff --git a/poky/meta/recipes-devtools/binutils/binutils/0016-CVE-2023-25586.patch b/poky/meta/recipes-devtools/binutils/binutils/0016-CVE-2023-25586.patch new file mode 100644 index 0000000000..43e36caf3f --- /dev/null +++ b/poky/meta/recipes-devtools/binutils/binutils/0016-CVE-2023-25586.patch @@ -0,0 +1,34 @@ +From 5830876a0cca17bef3b2d54908928e72cca53502 Mon Sep 17 00:00:00 2001 +From: Alan Modra <amodra@gmail.com> +Date: Tue, 6 Dec 2022 08:37:52 +1030 +Subject: [PATCH] PR29855, ch_type in bfd_init_section_decompress_status can be + uninitialized + + PR 29855 + * compress.c (bfd_init_section_decompress_status): Set ch_type + to zero for zlib-gnu case. + +Upstream-Status: Backport [https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=5830876a0cca17bef3b2d54908928e72cca53502] + +CVE: CVE-2023-25586 + +Signed-off-by: Yash Shinde <Yash.Shinde@windriver.com> +--- + bfd/compress.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/bfd/compress.c b/bfd/compress.c +index 3d8c1d769f1..6b083468ca8 100644 +--- a/bfd/compress.c ++++ b/bfd/compress.c +@@ -1012,7 +1012,7 @@ bfd_init_section_decompress_status (bfd *abfd, sec_ptr sec) + return false; + } + uncompressed_size = bfd_getb64 (header + 4); +- ch_type = ch_none; ++ ch_type = 0; + } + else if (!bfd_check_compression_header (abfd, header, sec, + &ch_type, +-- +2.31.1 diff --git a/poky/meta/recipes-devtools/bootchart2/bootchart2_0.14.9.bb b/poky/meta/recipes-devtools/bootchart2/bootchart2_0.14.9.bb index 297dbfb578..d93152cedd 100644 --- a/poky/meta/recipes-devtools/bootchart2/bootchart2_0.14.9.bb +++ b/poky/meta/recipes-devtools/bootchart2/bootchart2_0.14.9.bb @@ -100,9 +100,7 @@ SRC_URI = "git://github.com/xrmx/bootchart.git;branch=master;protocol=https \ S = "${WORKDIR}/git" SRCREV = "868a2afab9da34f32c007d773b77253c93104636" -# remove at next version upgrade or when output changes PR = "r1" -HASHEQUIV_HASH_VERSION .= ".1" inherit systemd update-rc.d python3native update-alternatives diff --git a/poky/meta/recipes-devtools/debugedit/debugedit_5.0.bb b/poky/meta/recipes-devtools/debugedit/debugedit_5.0.bb new file mode 100644 index 0000000000..257238fa24 --- /dev/null +++ b/poky/meta/recipes-devtools/debugedit/debugedit_5.0.bb @@ -0,0 +1,28 @@ +SUMMARY = "Tools for creating debuginfo and source file distributions" +DESCRIPTION = "debugedit provides programs and scripts for creating \ +debuginfo and source file distributions, collect build-ids and rewrite \ +source paths in DWARF data for debugging, tracing and profiling." +HOMEPAGE = "https://sourceware.org/debugedit/" + +LICENSE = "GPL-2.0-only & GPL-3.0-only & LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \ + file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1 \ + file://COPYING3;md5=d32239bcb673463ab874e80d47fae504" + +SRC_URI = "https://sourceware.org/ftp/debugedit/${PV}/debugedit-${PV}.tar.xz" + +SRC_URI:append:libc-musl = " \ + file://0001-tools-Add-error.h-for-non-glibc-case.patch \ + file://0002-sepdebugcrcfix.c-do-not-use-64bit-variants.patch \ + file://0003-Makefile.am-do-not-update-manual.patch \ + " + +SRC_URI[sha256sum] = "e9ecd7d350bebae1f178ce6776ca19a648b6fe8fa22f5b3044b38d7899aa553e" + +DEPENDS = "elfutils" + +inherit pkgconfig autotools + +RDEPENDS:${PN} += "bash elfutils-binutils" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/debugedit/files/0001-tools-Add-error.h-for-non-glibc-case.patch b/poky/meta/recipes-devtools/debugedit/files/0001-tools-Add-error.h-for-non-glibc-case.patch new file mode 100644 index 0000000000..f6d64cb4e7 --- /dev/null +++ b/poky/meta/recipes-devtools/debugedit/files/0001-tools-Add-error.h-for-non-glibc-case.patch @@ -0,0 +1,102 @@ +From 4c797d3b559ba51bd9ccd9a2036245819acce843 Mon Sep 17 00:00:00 2001 +From: Chen Qi <Qi.Chen@windriver.com> +Date: Thu, 23 Mar 2023 10:54:21 +0800 +Subject: [PATCH] tools: Add error.h for non-glibc case + +error is glibc specific API, so this patch will mostly not accepted +upstream given that elfutils has been closely tied to glibc + +This is a OE specific workaround for musl. + +Upstream-Status: Inappropriate [OE Specific] + +Signed-off-by: Chen Qi <Qi.Chen@windriver.com> +--- + tools/debugedit.c | 7 ++++++- + tools/error.h | 27 +++++++++++++++++++++++++++ + tools/sepdebugcrcfix.c | 7 ++++++- + 3 files changed, 39 insertions(+), 2 deletions(-) + create mode 100644 tools/error.h + +diff --git a/tools/debugedit.c b/tools/debugedit.c +index 668777a..a72c3c0 100644 +--- a/tools/debugedit.c ++++ b/tools/debugedit.c +@@ -25,7 +25,6 @@ + #include <byteswap.h> + #include <endian.h> + #include <errno.h> +-#include <error.h> + #include <limits.h> + #include <string.h> + #include <stdlib.h> +@@ -40,6 +39,12 @@ + #include <gelf.h> + #include <dwarf.h> + ++#ifdef __GLIBC__ ++#include <error.h> ++#else ++#include "error.h" ++#endif ++ + #ifndef MAX + #define MAX(m, n) ((m) < (n) ? (n) : (m)) + #endif +diff --git a/tools/error.h b/tools/error.h +new file mode 100644 +index 0000000..9b24418 +--- /dev/null ++++ b/tools/error.h +@@ -0,0 +1,27 @@ ++#ifndef _ERROR_H_ ++#define _ERROR_H_ ++ ++#include <stdarg.h> ++#include <stdio.h> ++#include <stdlib.h> ++#include <string.h> ++#include <errno.h> ++ ++static unsigned int error_message_count = 0; ++ ++static inline void error(int status, int errnum, const char* format, ...) ++{ ++ va_list ap; ++ fprintf(stderr, "%s: ", program_invocation_name); ++ va_start(ap, format); ++ vfprintf(stderr, format, ap); ++ va_end(ap); ++ if (errnum) ++ fprintf(stderr, ": %s", strerror(errnum)); ++ fprintf(stderr, "\n"); ++ error_message_count++; ++ if (status) ++ exit(status); ++} ++ ++#endif /* _ERROR_H_ */ +diff --git a/tools/sepdebugcrcfix.c b/tools/sepdebugcrcfix.c +index da50e6c..c4a9d56 100644 +--- a/tools/sepdebugcrcfix.c ++++ b/tools/sepdebugcrcfix.c +@@ -29,10 +29,15 @@ + #include <endian.h> + #include <stdio.h> + #include <stdlib.h> +-#include <error.h> + #include <libelf.h> + #include <gelf.h> + ++#ifdef __GLIBC__ ++#include <error.h> ++#else ++#include "error.h" ++#endif ++ + #ifndef _ + #define _(x) x + #endif +-- +2.17.1 + diff --git a/poky/meta/recipes-devtools/debugedit/files/0002-sepdebugcrcfix.c-do-not-use-64bit-variants.patch b/poky/meta/recipes-devtools/debugedit/files/0002-sepdebugcrcfix.c-do-not-use-64bit-variants.patch new file mode 100644 index 0000000000..4463bd2324 --- /dev/null +++ b/poky/meta/recipes-devtools/debugedit/files/0002-sepdebugcrcfix.c-do-not-use-64bit-variants.patch @@ -0,0 +1,56 @@ +From 3e05bbc1f7909ab6f529e66f0d0f70fb1e60583a Mon Sep 17 00:00:00 2001 +From: Chen Qi <Qi.Chen@windriver.com> +Date: Thu, 23 Mar 2023 11:55:53 +0800 +Subject: [PATCH 2/2] sepdebugcrcfix.c: do not use 64bit variants + +configure.ac checks for largefile support via AC_SYS_LARGEFILE +already, therefore use off_t, open and lseek instead of 64bit +variants. Musl e.g. does not define them without _LARGEFILE64_SOURCE +and error is not seen on glibc because _GNU_SOURCE defines +_LARGEFILE64_SOURCE. + +This patch is marked as inappropriate as debugedit obviously only +wants to support glibc or some glibc compatible libcs. We can see +this from the error() usage. And this patch is only for musl. + +Upstream-Status: Inappropriate [OE Specific] + +Signed-off-by: Chen Qi <Qi.Chen@windriver.com> +--- + tools/sepdebugcrcfix.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/tools/sepdebugcrcfix.c b/tools/sepdebugcrcfix.c +index c4a9d56..882e5f5 100644 +--- a/tools/sepdebugcrcfix.c ++++ b/tools/sepdebugcrcfix.c +@@ -144,7 +144,7 @@ crc32 (const char *fname, const char *base_fname, uint32_t *crcp) + error (0, errno, _("cannot open \"%s\""), debugname); + return false; + } +- off64_t size = lseek64 (fd, 0, SEEK_END); ++ off_t size = lseek (fd, 0, SEEK_END); + if (size == -1) + { + error (0, errno, _("cannot get size of \"%s\""), debugname); +@@ -289,7 +289,7 @@ process (Elf *elf, int fd, const char *fname) + return true; + } + updated_count++; +- off64_t seekto = (shdr->sh_offset + data->d_off ++ off_t seekto = (shdr->sh_offset + data->d_off + + (crcp - (const uint8_t *) data->d_buf)); + uint32_t crc_targetendian = (ehdr->e_ident[EI_DATA] == ELFDATA2LSB + ? htole32 (crc) : htobe32 (crc)); +@@ -361,7 +361,7 @@ main (int argc, char **argv) + error (0, errno, _("cannot chmod \"%s\" to make sure we can read and write"), fname); + + bool failed = false; +- int fd = open64 (fname, O_RDWR); ++ int fd = open (fname, O_RDWR); + if (fd == -1) + { + error (0, errno, _("cannot open \"%s\""), fname); +-- +2.17.1 + diff --git a/poky/meta/recipes-devtools/debugedit/files/0003-Makefile.am-do-not-update-manual.patch b/poky/meta/recipes-devtools/debugedit/files/0003-Makefile.am-do-not-update-manual.patch new file mode 100644 index 0000000000..de467f5365 --- /dev/null +++ b/poky/meta/recipes-devtools/debugedit/files/0003-Makefile.am-do-not-update-manual.patch @@ -0,0 +1,65 @@ +From 4f0d7d2f4900ce8555e09854dc681278b7a3d9a9 Mon Sep 17 00:00:00 2001 +From: Chen Qi <Qi.Chen@windriver.com> +Date: Thu, 23 Mar 2023 13:09:23 +0800 +Subject: [PATCH 3/3] Makefile.am: do not update manual + +The tarball ships these manuals, no need to re-generate them. +We have local patches for debugedit.c and sepdebugcrcfix.c, +this will triger re-generation of the manuals, which causes +error of missing help2man. + +This is an OE specific patch. If we don't have local patches +patching debugedit.c and sepdebugcrcfix.c, this patch is also +not needed. + +Upstream-Status: Inappropriate [OE Specific] + +Signed-off-by: Chen Qi <Qi.Chen@windriver.com> +--- + Makefile.am | 30 ------------------------------ + 1 file changed, 30 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index 98b2f20..f91deea 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -52,36 +52,6 @@ sepdebugcrcfix_LDADD = @LIBELF_LIBS@ + # Manual pages are generated for dist + dist_man_MANS = debugedit.1 sepdebugcrcfix.1 find-debuginfo.1 + +-# The 'case' ensures the man pages are only generated if the corresponding +-# source script (the first prerequisite) or configure.ac (for the version) +-# has been changed. The executable prerequisite is solely meant to force +-# these docs to be made only after the executable has been compiled. +-# This makes sure help2man is not normally necessary (since the generated +-# man pages are distributed). +-debugedit.1: tools/debugedit.c configure.ac debugedit$(EXEEXT) +- @case '$?' in \ +- *$<* | *configure.ac* ) $(HELP2MAN) -N --output=$@ \ +- --name='debug source path manipulation tool' \ +- ./debugedit$(EXEEXT) ;; \ +- * ) : ;; \ +- esac +- +-sepdebugcrcfix.1: tools/sepdebugcrcfix.c configure.ac sepdebugcrcfix$(EXEEXT) +- @case '$?' in \ +- *$<* | *configure.ac* ) $(HELP2MAN) -N --output=$@ \ +- --name='fixes CRC for separate .debug files' \ +- ./sepdebugcrcfix$(EXEEXT) ;;\ +- * ) : ;; \ +- esac +- +-find-debuginfo.1: $(top_srcdir)/scripts/find-debuginfo.in configure.ac find-debuginfo +- @case '$?' in \ +- *$<* | *configure.ac* ) $(HELP2MAN) -N --output=$@ \ +- --name='finds debuginfo and processes it' \ +- ./find-debuginfo ;;\ +- * ) : ;; \ +- esac +- + noinst_HEADERS= tools/ansidecl.h \ + tools/hashtab.h \ + tools/md5.h \ +-- +2.17.1 + diff --git a/poky/meta/recipes-devtools/dpkg/dpkg_1.21.20.bb b/poky/meta/recipes-devtools/dpkg/dpkg_1.21.21.bb index a6ed4fd429..a19a96ef06 100644 --- a/poky/meta/recipes-devtools/dpkg/dpkg_1.21.20.bb +++ b/poky/meta/recipes-devtools/dpkg/dpkg_1.21.21.bb @@ -1,7 +1,7 @@ require dpkg.inc LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" -SRC_URI = "git://salsa.debian.org/dpkg-team/dpkg.git;protocol=https;branch=main \ +SRC_URI = "git://salsa.debian.org/dpkg-team/dpkg.git;protocol=https;branch=1.21.x \ file://noman.patch \ file://remove-tar-no-timestamp.patch \ file://arch_pm.patch \ @@ -18,6 +18,6 @@ SRC_URI = "git://salsa.debian.org/dpkg-team/dpkg.git;protocol=https;branch=main SRC_URI:append:class-native = " file://0001-build.c-ignore-return-of-1-from-tar-cf.patch" -SRCREV = "6c5140f124925ad4eb12fb2c8e83a050028bbc1f" +SRCREV = "9ef736b7b3a5fa0d6e991e8475eb2e3151fec345" S = "${WORKDIR}/git" diff --git a/poky/meta/recipes-devtools/file/file_5.44.bb b/poky/meta/recipes-devtools/file/file_5.44.bb index d4b49341b7..3090d346ed 100644 --- a/poky/meta/recipes-devtools/file/file_5.44.bb +++ b/poky/meta/recipes-devtools/file/file_5.44.bb @@ -22,8 +22,9 @@ PACKAGECONFIG ??= "bz2 lzma zlib" PACKAGECONFIG[bz2] = "--enable-bzlib, --disable-bzlib, bzip2" PACKAGECONFIG[lzma] = "--enable-xzlib, --disable-xzlib, xz" PACKAGECONFIG[zlib] = "--enable-zlib, --disable-zlib, zlib" - -EXTRA_OECONF += "--disable-libseccomp" +PACKAGECONFIG[zstdlib] = "--enable-zstdlib, --disable-zstdlib, zstd" +PACKAGECONFIG[lzlib] = "--enable-lzlib, --disable-lzlib, lzip" +PACKAGECONFIG[seccomp] = "--enable-libseccomp, --disable-libseccomp, libseccomp" ALTERNATIVE:${PN} = "file" ALTERNATIVE_LINK_NAME[file] = "${bindir}/file" diff --git a/poky/meta/recipes-devtools/gcc/gcc-runtime.inc b/poky/meta/recipes-devtools/gcc/gcc-runtime.inc index fa5b048dab..bccc8a5b89 100644 --- a/poky/meta/recipes-devtools/gcc/gcc-runtime.inc +++ b/poky/meta/recipes-devtools/gcc/gcc-runtime.inc @@ -38,6 +38,7 @@ RUNTIMELIBITM:nios2 = "" RUNTIMELIBITM:microblaze = "" RUNTIMELIBITM:riscv32 = "" RUNTIMELIBITM:riscv64 = "" +RUNTIMELIBITM:loongarch64 = "" RUNTIMELIBSSP ?= "" RUNTIMELIBSSP:mingw32 ?= "libssp" diff --git a/poky/meta/recipes-devtools/gcc/gcc-shared-source.inc b/poky/meta/recipes-devtools/gcc/gcc-shared-source.inc index cd2e341099..03f520b093 100644 --- a/poky/meta/recipes-devtools/gcc/gcc-shared-source.inc +++ b/poky/meta/recipes-devtools/gcc/gcc-shared-source.inc @@ -16,6 +16,6 @@ do_deploy_source_date_epoch () { sde_file=${SDE_FILE} sde_file=${sde_file#${WORKDIR}/} mkdir -p ${SDE_DEPLOYDIR} $(dirname ${SDE_FILE}) - cp -p ${S}/../$sde_file ${SDE_DEPLOYDIR} - cp -p ${S}/../$sde_file ${SDE_FILE} + cp -p $(dirname ${S})/$sde_file ${SDE_DEPLOYDIR} + cp -p $(dirname ${S})/$sde_file ${SDE_FILE} } diff --git a/poky/meta/recipes-devtools/gdb/gdb.inc b/poky/meta/recipes-devtools/gdb/gdb.inc index 18603cc7d4..9457c27f8b 100644 --- a/poky/meta/recipes-devtools/gdb/gdb.inc +++ b/poky/meta/recipes-devtools/gdb/gdb.inc @@ -14,6 +14,7 @@ SRC_URI = "${GNU_MIRROR}/gdb/gdb-${PV}.tar.xz \ file://0007-Fix-invalid-sigprocmask-call.patch \ file://0008-Define-alignof-using-_Alignof-when-using-C11-or-newe.patch \ file://0009-gdbserver-linux-low.cc-Fix-a-typo-in-ternary-operato.patch \ + file://add-missing-ldflags.patch \ " SRC_URI[sha256sum] = "115ad5c18d69a6be2ab15882d365dda2a2211c14f480b3502c6eba576e2e95a0" diff --git a/poky/meta/recipes-devtools/gdb/gdb/add-missing-ldflags.patch b/poky/meta/recipes-devtools/gdb/gdb/add-missing-ldflags.patch new file mode 100644 index 0000000000..f05ebf19d0 --- /dev/null +++ b/poky/meta/recipes-devtools/gdb/gdb/add-missing-ldflags.patch @@ -0,0 +1,47 @@ +When running the configure check "checking for ELF support in BFD", LDFLAGS +were not being passed in to libtool. In OE/YP, we need these flags when using +uninative due to the games we play with the dynamic loader. + +If a version of libzstd was built against a newer glibc, it would need +newer pthread symbols which it wouldn't find with the system linker. At +runtime this isn't an issue as it would be switched to use uninative but we +pass flags in LDFLAGS to allow this. + +The comments say LDFLAGS are used but it was dropped in this commit: + +https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=5218fa9e8937b007d554f1e01c2e4ecdb9b7e271 + +and probably needs to be put back upstream. + +The bug is rare to reproduce as it depends on the host libzstd was built +against. + +Upstream-Status: Backport [https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=5fc6b6d44cd63651c2902cbfc5b9734a55aaa617] +Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> + +Index: gdb-13.1/gdb/acinclude.m4 +=================================================================== +--- gdb-13.1.orig/gdb/acinclude.m4 ++++ gdb-13.1/gdb/acinclude.m4 +@@ -234,7 +234,7 @@ AC_DEFUN([GDB_AC_CHECK_BFD], [ + # points somewhere with bfd, with -I/foo/lib and -L/foo/lib. We + # always want our bfd. + CFLAGS="-I${srcdir}/../include -I../bfd -I${srcdir}/../bfd $CFLAGS" +- LDFLAGS="-L../bfd -L../libiberty" ++ LDFLAGS="-L../bfd -L../libiberty $LDFLAGS" + intl=`echo $LIBINTL | sed 's,${top_builddir}/,,g'` + LIBS="-lbfd -liberty $intl $LIBS" + CC="./libtool --quiet --mode=link $CC" +Index: gdb-13.1/gdb/configure +=================================================================== +--- gdb-13.1.orig/gdb/configure ++++ gdb-13.1/gdb/configure +@@ -28561,7 +28561,7 @@ WIN32LIBS="$WIN32LIBS $WIN32APILIBS" + # points somewhere with bfd, with -I/foo/lib and -L/foo/lib. We + # always want our bfd. + CFLAGS="-I${srcdir}/../include -I../bfd -I${srcdir}/../bfd $CFLAGS" +- LDFLAGS="-L../bfd -L../libiberty" ++ LDFLAGS="-L../bfd -L../libiberty $LDFLAGS" + intl=`echo $LIBINTL | sed 's,${top_builddir}/,,g'` + LIBS="-lbfd -liberty $intl $LIBS" + CC="./libtool --quiet --mode=link $CC" diff --git a/poky/meta/recipes-devtools/go/go-1.20.1.inc b/poky/meta/recipes-devtools/go/go-1.20.1.inc index aa3e2dadf1..b1f569212d 100644 --- a/poky/meta/recipes-devtools/go/go-1.20.1.inc +++ b/poky/meta/recipes-devtools/go/go-1.20.1.inc @@ -14,5 +14,7 @@ SRC_URI += "\ file://0007-exec.go-do-not-write-linker-flags-into-buildids.patch \ file://0008-src-cmd-dist-buildgo.go-do-not-hardcode-host-compile.patch \ file://0009-go-Filter-build-paths-on-staticly-linked-arches.patch \ + file://0010-cmd-compile-re-compile-instantiated-generic-methods-.patch \ + file://CVE-2023-24532.patch \ " SRC_URI[main.sha256sum] = "b5c1a3af52c385a6d1c76aed5361cf26459023980d0320de7658bae3915831a2" diff --git a/poky/meta/recipes-devtools/go/go-binary-native_1.20.1.bb b/poky/meta/recipes-devtools/go/go-binary-native_1.20.1.bb index 3eb80fdcce..239334552a 100644 --- a/poky/meta/recipes-devtools/go/go-binary-native_1.20.1.bb +++ b/poky/meta/recipes-devtools/go/go-binary-native_1.20.1.bb @@ -16,6 +16,8 @@ SRC_URI[go_linux_ppc64le.sha256sum] = "85cfd4b89b48c94030783b6e9e619e35557862358 UPSTREAM_CHECK_URI = "https://golang.org/dl/" UPSTREAM_CHECK_REGEX = "go(?P<pver>\d+(\.\d+)+)\.linux" +CVE_PRODUCT = "go" + S = "${WORKDIR}/go" inherit goarch native diff --git a/poky/meta/recipes-devtools/go/go-common.inc b/poky/meta/recipes-devtools/go/go-common.inc index 83f8db7b39..96e32eeb97 100644 --- a/poky/meta/recipes-devtools/go/go-common.inc +++ b/poky/meta/recipes-devtools/go/go-common.inc @@ -19,6 +19,9 @@ S = "${WORKDIR}/go" B = "${S}" UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)\.src\.tar" +# all recipe variants are created from the same product +CVE_PRODUCT = "go" + INHIBIT_PACKAGE_DEBUG_SPLIT = "1" SSTATE_SCAN_CMD = "true" diff --git a/poky/meta/recipes-devtools/go/go/0010-cmd-compile-re-compile-instantiated-generic-methods-.patch b/poky/meta/recipes-devtools/go/go/0010-cmd-compile-re-compile-instantiated-generic-methods-.patch new file mode 100644 index 0000000000..f9ac202421 --- /dev/null +++ b/poky/meta/recipes-devtools/go/go/0010-cmd-compile-re-compile-instantiated-generic-methods-.patch @@ -0,0 +1,90 @@ +From 7a3bb16b43efba73674629eae4369f9004e37f22 Mon Sep 17 00:00:00 2001 +From: Cuong Manh Le <cuong.manhle.vn@gmail.com> +Date: Sat, 18 Mar 2023 00:53:07 +0700 +Subject: [PATCH] cmd/compile: re-compile instantiated generic methods in + linkshared mode + +For G[T] that was seen and compiled in imported package, it is not added +to typecheck.Target.Decls, prevent wasting compile time re-creating +DUPOKS symbols. However, the linker do not support a type symbol +referencing a method symbol across DSO boundary. That causes unreachable +sym error when building under -linkshared mode. + +To fix it, always re-compile generic methods in linkshared mode. + +Fixes #58966 + +Change-Id: I894b417cfe8234ae1fe809cc975889345df22cef +Reviewed-on: https://go-review.googlesource.com/c/go/+/477375 +Run-TryBot: Cuong Manh Le <cuong.manhle.vn@gmail.com> +Reviewed-by: Cherry Mui <cherryyz@google.com> +Reviewed-by: Matthew Dempsky <mdempsky@google.com> +TryBot-Result: Gopher Robot <gobot@golang.org> + +Upstream-Status: Backport [https://github.com/golang/go/commit/bcd82125f85c7c552493e863fa1bb14e6c444557] + +Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io> +--- + misc/cgo/testshared/shared_test.go | 7 ++++++- + misc/cgo/testshared/testdata/issue58966/main.go | 15 +++++++++++++++ + src/cmd/compile/internal/noder/unified.go | 6 +++++- + 3 files changed, 26 insertions(+), 2 deletions(-) + create mode 100644 misc/cgo/testshared/testdata/issue58966/main.go + +diff --git a/misc/cgo/testshared/shared_test.go b/misc/cgo/testshared/shared_test.go +index b14fb1cb3a..03da8f9435 100644 +--- a/misc/cgo/testshared/shared_test.go ++++ b/misc/cgo/testshared/shared_test.go +@@ -1112,8 +1112,13 @@ func TestStd(t *testing.T) { + t.Skip("skip in short mode") + } + t.Parallel() ++ tmpDir := t.TempDir() + // Use a temporary pkgdir to not interfere with other tests, and not write to GOROOT. + // Cannot use goCmd as it runs with cloned GOROOT which is incomplete. + runWithEnv(t, "building std", []string{"GOROOT=" + oldGOROOT}, +- filepath.Join(oldGOROOT, "bin", "go"), "install", "-buildmode=shared", "-pkgdir="+t.TempDir(), "std") ++ filepath.Join(oldGOROOT, "bin", "go"), "install", "-buildmode=shared", "-pkgdir="+tmpDir, "std") ++ ++ // Issue #58966. ++ runWithEnv(t, "testing issue #58966", []string{"GOROOT=" + oldGOROOT}, ++ filepath.Join(oldGOROOT, "bin", "go"), "run", "-linkshared", "-pkgdir="+tmpDir, "./issue58966/main.go") + } +diff --git a/misc/cgo/testshared/testdata/issue58966/main.go b/misc/cgo/testshared/testdata/issue58966/main.go +new file mode 100644 +index 0000000000..2d923c3607 +--- /dev/null ++++ b/misc/cgo/testshared/testdata/issue58966/main.go +@@ -0,0 +1,15 @@ ++// Copyright 2023 The Go Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style ++// license that can be found in the LICENSE file. ++ ++package main ++ ++import "crypto/elliptic" ++ ++var curve elliptic.Curve ++ ++func main() { ++ switch curve { ++ case elliptic.P224(): ++ } ++} +diff --git a/src/cmd/compile/internal/noder/unified.go b/src/cmd/compile/internal/noder/unified.go +index ed97a09302..25136e6aad 100644 +--- a/src/cmd/compile/internal/noder/unified.go ++++ b/src/cmd/compile/internal/noder/unified.go +@@ -158,7 +158,11 @@ func readBodies(target *ir.Package, duringInlining bool) { + // Instantiated generic function: add to Decls for typechecking + // and compilation. + if fn.OClosure == nil && len(pri.dict.targs) != 0 { +- if duringInlining { ++ // cmd/link does not support a type symbol referencing a method symbol ++ // across DSO boundary, so force re-compiling methods on a generic type ++ // even it was seen from imported package in linkshared mode, see #58966. ++ canSkipNonGenericMethod := !(base.Ctxt.Flag_linkshared && ir.IsMethod(fn)) ++ if duringInlining && canSkipNonGenericMethod { + inlDecls = append(inlDecls, fn) + } else { + target.Decls = append(target.Decls, fn) diff --git a/poky/meta/recipes-devtools/go/go/CVE-2023-24532.patch b/poky/meta/recipes-devtools/go/go/CVE-2023-24532.patch new file mode 100644 index 0000000000..22f080dbd4 --- /dev/null +++ b/poky/meta/recipes-devtools/go/go/CVE-2023-24532.patch @@ -0,0 +1,208 @@ +From 602eeaab387f24a4b28c5eccbb50fa934f3bc3c4 Mon Sep 17 00:00:00 2001 +From: Filippo Valsorda <filippo@golang.org> +Date: Mon, 13 Feb 2023 15:16:27 +0100 +Subject: [PATCH] [release-branch.go1.20] crypto/internal/nistec: reduce P-256 + scalar + +Unlike the rest of nistec, the P-256 assembly doesn't use complete +addition formulas, meaning that p256PointAdd[Affine]Asm won't return the +correct value if the two inputs are equal. + +This was (undocumentedly) ignored in the scalar multiplication loops +because as long as the input point is not the identity and the scalar is +lower than the order of the group, the addition inputs can't be the same. + +As part of the math/big rewrite, we went however from always reducing +the scalar to only checking its length, under the incorrect assumption +that the scalar multiplication loop didn't require reduction. + +Added a reduction, and while at it added it in P256OrdInverse, too, to +enforce a universal reduction invariant on p256OrdElement values. + +Note that if the input point is the infinity, the code currently still +relies on undefined behavior, but that's easily tested to behave +acceptably, and will be addressed in a future CL. + +Updates #58647 +Fixes #58720 +Fixes CVE-2023-24532 + +(Filed with the "safe APIs like complete addition formulas are good" dept.) + +Change-Id: I7b2c75238440e6852be2710fad66ff1fdc4e2b24 +Reviewed-on: https://go-review.googlesource.com/c/go/+/471255 +TryBot-Result: Gopher Robot <gobot@golang.org> +Reviewed-by: Roland Shoemaker <roland@golang.org> +Run-TryBot: Filippo Valsorda <filippo@golang.org> +Auto-Submit: Filippo Valsorda <filippo@golang.org> +Reviewed-by: Damien Neil <dneil@google.com> +(cherry picked from commit 203e59ad41bd288e1d92b6f617c2f55e70d3c8e3) +Reviewed-on: https://go-review.googlesource.com/c/go/+/471695 +Reviewed-by: Dmitri Shuralyov <dmitshur@google.com> +Auto-Submit: Dmitri Shuralyov <dmitshur@google.com> +Reviewed-by: Filippo Valsorda <filippo@golang.org> +Run-TryBot: Roland Shoemaker <roland@golang.org> + +CVE: CVE-2023-24532 +Upstream-Status: Backport [602eeaab387f24a4b28c5eccbb50fa934f3bc3c4] +Signed-off-by: Ross Burton <ross.burton@arm.com> + +--- + src/crypto/internal/nistec/nistec_test.go | 81 +++++++++++++++++++++++ + src/crypto/internal/nistec/p256_asm.go | 17 +++++ + src/crypto/internal/nistec/p256_ordinv.go | 1 + + 3 files changed, 99 insertions(+) + +diff --git a/src/crypto/internal/nistec/nistec_test.go b/src/crypto/internal/nistec/nistec_test.go +index 309f68be16a9f..9103608c18a0f 100644 +--- a/src/crypto/internal/nistec/nistec_test.go ++++ b/src/crypto/internal/nistec/nistec_test.go +@@ -8,6 +8,7 @@ import ( + "bytes" + "crypto/elliptic" + "crypto/internal/nistec" ++ "fmt" + "internal/testenv" + "math/big" + "math/rand" +@@ -165,6 +166,86 @@ func testEquivalents[P nistPoint[P]](t *testing.T, newPoint func() P, c elliptic + } + } + ++func TestScalarMult(t *testing.T) { ++ t.Run("P224", func(t *testing.T) { ++ testScalarMult(t, nistec.NewP224Point, elliptic.P224()) ++ }) ++ t.Run("P256", func(t *testing.T) { ++ testScalarMult(t, nistec.NewP256Point, elliptic.P256()) ++ }) ++ t.Run("P384", func(t *testing.T) { ++ testScalarMult(t, nistec.NewP384Point, elliptic.P384()) ++ }) ++ t.Run("P521", func(t *testing.T) { ++ testScalarMult(t, nistec.NewP521Point, elliptic.P521()) ++ }) ++} ++ ++func testScalarMult[P nistPoint[P]](t *testing.T, newPoint func() P, c elliptic.Curve) { ++ G := newPoint().SetGenerator() ++ checkScalar := func(t *testing.T, scalar []byte) { ++ p1, err := newPoint().ScalarBaseMult(scalar) ++ fatalIfErr(t, err) ++ p2, err := newPoint().ScalarMult(G, scalar) ++ fatalIfErr(t, err) ++ if !bytes.Equal(p1.Bytes(), p2.Bytes()) { ++ t.Error("[k]G != ScalarBaseMult(k)") ++ } ++ ++ d := new(big.Int).SetBytes(scalar) ++ d.Sub(c.Params().N, d) ++ d.Mod(d, c.Params().N) ++ g1, err := newPoint().ScalarBaseMult(d.FillBytes(make([]byte, len(scalar)))) ++ fatalIfErr(t, err) ++ g1.Add(g1, p1) ++ if !bytes.Equal(g1.Bytes(), newPoint().Bytes()) { ++ t.Error("[N - k]G + [k]G != ∞") ++ } ++ } ++ ++ byteLen := len(c.Params().N.Bytes()) ++ bitLen := c.Params().N.BitLen() ++ t.Run("0", func(t *testing.T) { checkScalar(t, make([]byte, byteLen)) }) ++ t.Run("1", func(t *testing.T) { ++ checkScalar(t, big.NewInt(1).FillBytes(make([]byte, byteLen))) ++ }) ++ t.Run("N-1", func(t *testing.T) { ++ checkScalar(t, new(big.Int).Sub(c.Params().N, big.NewInt(1)).Bytes()) ++ }) ++ t.Run("N", func(t *testing.T) { checkScalar(t, c.Params().N.Bytes()) }) ++ t.Run("N+1", func(t *testing.T) { ++ checkScalar(t, new(big.Int).Add(c.Params().N, big.NewInt(1)).Bytes()) ++ }) ++ t.Run("all1s", func(t *testing.T) { ++ s := new(big.Int).Lsh(big.NewInt(1), uint(bitLen)) ++ s.Sub(s, big.NewInt(1)) ++ checkScalar(t, s.Bytes()) ++ }) ++ if testing.Short() { ++ return ++ } ++ for i := 0; i < bitLen; i++ { ++ t.Run(fmt.Sprintf("1<<%d", i), func(t *testing.T) { ++ s := new(big.Int).Lsh(big.NewInt(1), uint(i)) ++ checkScalar(t, s.FillBytes(make([]byte, byteLen))) ++ }) ++ } ++ // Test N+1...N+32 since they risk overlapping with precomputed table values ++ // in the final additions. ++ for i := int64(2); i <= 32; i++ { ++ t.Run(fmt.Sprintf("N+%d", i), func(t *testing.T) { ++ checkScalar(t, new(big.Int).Add(c.Params().N, big.NewInt(i)).Bytes()) ++ }) ++ } ++} ++ ++func fatalIfErr(t *testing.T, err error) { ++ t.Helper() ++ if err != nil { ++ t.Fatal(err) ++ } ++} ++ + func BenchmarkScalarMult(b *testing.B) { + b.Run("P224", func(b *testing.B) { + benchmarkScalarMult(b, nistec.NewP224Point().SetGenerator(), 28) +diff --git a/src/crypto/internal/nistec/p256_asm.go b/src/crypto/internal/nistec/p256_asm.go +index 6ea161eb49953..99a22b833f028 100644 +--- a/src/crypto/internal/nistec/p256_asm.go ++++ b/src/crypto/internal/nistec/p256_asm.go +@@ -364,6 +364,21 @@ func p256PointDoubleAsm(res, in *P256Point) + // Montgomery domain (with R 2²⁵⁶) as four uint64 limbs in little-endian order. + type p256OrdElement [4]uint64 + ++// p256OrdReduce ensures s is in the range [0, ord(G)-1]. ++func p256OrdReduce(s *p256OrdElement) { ++ // Since 2 * ord(G) > 2²⁵⁶, we can just conditionally subtract ord(G), ++ // keeping the result if it doesn't underflow. ++ t0, b := bits.Sub64(s[0], 0xf3b9cac2fc632551, 0) ++ t1, b := bits.Sub64(s[1], 0xbce6faada7179e84, b) ++ t2, b := bits.Sub64(s[2], 0xffffffffffffffff, b) ++ t3, b := bits.Sub64(s[3], 0xffffffff00000000, b) ++ tMask := b - 1 // zero if subtraction underflowed ++ s[0] ^= (t0 ^ s[0]) & tMask ++ s[1] ^= (t1 ^ s[1]) & tMask ++ s[2] ^= (t2 ^ s[2]) & tMask ++ s[3] ^= (t3 ^ s[3]) & tMask ++} ++ + // Add sets q = p1 + p2, and returns q. The points may overlap. + func (q *P256Point) Add(r1, r2 *P256Point) *P256Point { + var sum, double P256Point +@@ -393,6 +408,7 @@ func (r *P256Point) ScalarBaseMult(scalar []byte) (*P256Point, error) { + } + scalarReversed := new(p256OrdElement) + p256OrdBigToLittle(scalarReversed, (*[32]byte)(scalar)) ++ p256OrdReduce(scalarReversed) + + r.p256BaseMult(scalarReversed) + return r, nil +@@ -407,6 +423,7 @@ func (r *P256Point) ScalarMult(q *P256Point, scalar []byte) (*P256Point, error) + } + scalarReversed := new(p256OrdElement) + p256OrdBigToLittle(scalarReversed, (*[32]byte)(scalar)) ++ p256OrdReduce(scalarReversed) + + r.Set(q).p256ScalarMult(scalarReversed) + return r, nil +diff --git a/src/crypto/internal/nistec/p256_ordinv.go b/src/crypto/internal/nistec/p256_ordinv.go +index 86a7a230bdce8..1274fb7fd3f5c 100644 +--- a/src/crypto/internal/nistec/p256_ordinv.go ++++ b/src/crypto/internal/nistec/p256_ordinv.go +@@ -25,6 +25,7 @@ func P256OrdInverse(k []byte) ([]byte, error) { + + x := new(p256OrdElement) + p256OrdBigToLittle(x, (*[32]byte)(k)) ++ p256OrdReduce(x) + + // Inversion is implemented as exponentiation by n - 2, per Fermat's little theorem. + // diff --git a/poky/meta/recipes-devtools/libcomps/libcomps/0001-libcomps-Use-Py_hash_t-instead-of-long-in-PyCOMPS_ha.patch b/poky/meta/recipes-devtools/libcomps/libcomps/0001-libcomps-Use-Py_hash_t-instead-of-long-in-PyCOMPS_ha.patch new file mode 100644 index 0000000000..dd9ebc8af4 --- /dev/null +++ b/poky/meta/recipes-devtools/libcomps/libcomps/0001-libcomps-Use-Py_hash_t-instead-of-long-in-PyCOMPS_ha.patch @@ -0,0 +1,66 @@ +From 26a9647c832de15248ee649e5b77075521f3d4f0 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Fri, 3 Mar 2023 08:37:35 -0800 +Subject: [PATCH] libcomps: Use Py_hash_t instead of long in PyCOMPS_hash() + +This function is used as a hashfunc callback in +_typeobject defined python3.11/cpython/object.h +compilers detect the protype mismatch for function pointers +with clang16+ + +Fixes +libcomps/src/python/src/pycomps_sequence.c:667:5: error: incompatible function pointer types initializing 'hashfunc' (aka 'int (*)(struct _object *)') with an expression of type 'long (*)(PyObject *)' (aka 'long (*)(struct _object *)') [-Wincompatible-function-pointer-types] + &PyCOMPS_hash, /*tp_hash */ + +Upstream-Status: Submitted [https://github.com/rpm-software-management/libcomps/pull/101] +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + libcomps/src/python/src/pycomps_hash.c | 4 ++-- + libcomps/src/python/src/pycomps_hash.h | 2 +- + libcomps/src/python/src/pycomps_utils.h | 2 +- + 3 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/libcomps/src/python/src/pycomps_hash.c b/libcomps/src/python/src/pycomps_hash.c +index 474afd5..4577769 100644 +--- a/libcomps/src/python/src/pycomps_hash.c ++++ b/libcomps/src/python/src/pycomps_hash.c +@@ -20,9 +20,9 @@ + #include "pycomps_hash.h" + #include "pycomps_utils.h" + +-long PyCOMPS_hash(PyObject *self) { ++Py_hash_t PyCOMPS_hash(PyObject *self) { + char *cstr = NULL; +- long crc; ++ Py_hash_t crc; + + cstr = comps_object_tostr(((PyCompsObject*)self)->c_obj); + crc = crc32(0, cstr, strlen(cstr)); +diff --git a/libcomps/src/python/src/pycomps_hash.h b/libcomps/src/python/src/pycomps_hash.h +index b664cae..54e08d9 100644 +--- a/libcomps/src/python/src/pycomps_hash.h ++++ b/libcomps/src/python/src/pycomps_hash.h +@@ -26,6 +26,6 @@ + #include "pycomps_utils.h" + + +-long PyCOMPS_hash(PyObject *self); ++Py_hash_t PyCOMPS_hash(PyObject *self); + + #endif +diff --git a/libcomps/src/python/src/pycomps_utils.h b/libcomps/src/python/src/pycomps_utils.h +index ba9bc2f..b34e4dc 100644 +--- a/libcomps/src/python/src/pycomps_utils.h ++++ b/libcomps/src/python/src/pycomps_utils.h +@@ -137,7 +137,7 @@ COMPS_Object* __pycomps_bytes_in(PyObject *pobj); + PyObject* __pycomps_str_out(COMPS_Object *obj); + PyObject *str_to_unicode(void* str); + +-long PyCOMPS_hash(PyObject *self); ++Py_hash_t PyCOMPS_hash(PyObject *self); + + PyObject* PyCOMPSSeq_extra_get(PyObject *self, PyObject *key); + +-- +2.39.2 + diff --git a/poky/meta/recipes-devtools/libcomps/libcomps_0.1.19.bb b/poky/meta/recipes-devtools/libcomps/libcomps_0.1.19.bb index fa1fbc8f0d..f8063d9400 100644 --- a/poky/meta/recipes-devtools/libcomps/libcomps_0.1.19.bb +++ b/poky/meta/recipes-devtools/libcomps/libcomps_0.1.19.bb @@ -5,6 +5,7 @@ LICENSE = "GPL-2.0-only" LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" SRC_URI = "git://github.com/rpm-software-management/libcomps.git;branch=master;protocol=https \ + file://0001-libcomps-Use-Py_hash_t-instead-of-long-in-PyCOMPS_ha.patch \ file://0002-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch \ " diff --git a/poky/meta/recipes-devtools/libdnf/libdnf/0001-libdnf-dnf-context.cpp-do-not-try-to-access-BDB-data.patch b/poky/meta/recipes-devtools/libdnf/libdnf/0001-libdnf-dnf-context.cpp-do-not-try-to-access-BDB-data.patch deleted file mode 100644 index 6f8a3dcb50..0000000000 --- a/poky/meta/recipes-devtools/libdnf/libdnf/0001-libdnf-dnf-context.cpp-do-not-try-to-access-BDB-data.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 2f7382b35d59fe08034603497e82ffb943fedef1 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex.kanavin@gmail.com> -Date: Wed, 30 Jun 2021 15:31:16 +0200 -Subject: [PATCH] libdnf/dnf-context.cpp: do not try to access BDB database - -Upstream-Status: Inappropriate [upstream needs to rework this to support -sqlite] -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> ---- - libdnf/dnf-context.cpp | 14 -------------- - 1 file changed, 14 deletions(-) - -diff --git a/libdnf/dnf-context.cpp b/libdnf/dnf-context.cpp -index 86f71a79..9cdcf769 100644 ---- a/libdnf/dnf-context.cpp -+++ b/libdnf/dnf-context.cpp -@@ -2264,20 +2264,6 @@ dnf_context_setup(DnfContext *context, - !dnf_context_set_os_release(context, error)) - return FALSE; - -- /* setup a file monitor on the rpmdb, if we're operating on the native / */ -- if (g_strcmp0(priv->install_root, "/") == 0) { -- rpmdb_path = g_build_filename(priv->install_root, "var/lib/rpm/Packages", NULL); -- file_rpmdb = g_file_new_for_path(rpmdb_path); -- priv->monitor_rpmdb = g_file_monitor_file(file_rpmdb, -- G_FILE_MONITOR_NONE, -- NULL, -- error); -- if (priv->monitor_rpmdb == NULL) -- return FALSE; -- g_signal_connect(priv->monitor_rpmdb, "changed", -- G_CALLBACK(dnf_context_rpmdb_changed_cb), context); -- } -- - /* copy any vendor distributed cached metadata */ - if (!dnf_context_copy_vendor_cache(context, error)) - return FALSE; diff --git a/poky/meta/recipes-devtools/libdnf/libdnf_0.69.0.bb b/poky/meta/recipes-devtools/libdnf/libdnf_0.70.0.bb index da2550d323..14d6a37de1 100644 --- a/poky/meta/recipes-devtools/libdnf/libdnf_0.69.0.bb +++ b/poky/meta/recipes-devtools/libdnf/libdnf_0.70.0.bb @@ -10,10 +10,9 @@ SRC_URI = "git://github.com/rpm-software-management/libdnf;branch=dnf-4-master;p file://0001-Get-parameters-for-both-libsolv-and-libsolvext-libdn.patch \ file://enable_test_data_dir_set.patch \ file://0001-drop-FindPythonInstDir.cmake.patch \ - file://0001-libdnf-dnf-context.cpp-do-not-try-to-access-BDB-data.patch \ " -SRCREV = "5c6d9cd6e5955e7038722f091396607c60fcbdd1" +SRCREV = "93759bc5cac262906e52b6a173d7b157914ec29e" UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(?!4\.90)\d+(\.\d+)+)" S = "${WORKDIR}/git" diff --git a/poky/meta/recipes-devtools/llvm/llvm_git.bb b/poky/meta/recipes-devtools/llvm/llvm_git.bb index b4e983d2d0..f133653903 100644 --- a/poky/meta/recipes-devtools/llvm/llvm_git.bb +++ b/poky/meta/recipes-devtools/llvm/llvm_git.bb @@ -57,9 +57,11 @@ def get_llvm_arch(bb, d, arch_var): def get_llvm_host_arch(bb, d): return get_llvm_arch(bb, d, 'HOST_ARCH') -PACKAGECONFIG ??= "" +PACKAGECONFIG ??= "libllvm" +PACKAGECONFIG:class-native = "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'libllvm', '', d)}" # if optviewer OFF, force the modules to be not found or the ones on the host would be found PACKAGECONFIG[optviewer] = ",-DPY_PYGMENTS_FOUND=OFF -DPY_PYGMENTS_LEXERS_C_CPP_FOUND=OFF -DPY_YAML_FOUND=OFF,python3-pygments python3-pyyaml,python3-pygments python3-pyyaml" +PACKAGECONFIG[libllvm] = "" # # Default to build all OE-Core supported target arches (user overridable). @@ -102,14 +104,15 @@ do_compile:prepend:class-target() { } do_compile() { + if ${@bb.utils.contains('PACKAGECONFIG', 'libllvm', 'true', 'false', d)}; then ninja -v ${PARALLEL_MAKE} -} - -do_compile:class-native() { + else ninja -v ${PARALLEL_MAKE} llvm-config llvm-tblgen + fi } do_install() { + if ${@bb.utils.contains('PACKAGECONFIG', 'libllvm', 'true', 'false', d)}; then DESTDIR=${D} ninja -v install # llvm harcodes usr/lib as install path, so this corrects it to actual libdir @@ -121,9 +124,10 @@ do_install() { # reproducibility sed -i -e 's,${WORKDIR},,g' ${D}/${libdir}/cmake/llvm/LLVMConfig.cmake + fi } -do_install:class-native() { +do_install:append:class-native() { install -D -m 0755 ${B}/bin/llvm-tblgen ${D}${bindir}/llvm-tblgen${PV} install -D -m 0755 ${B}/bin/llvm-config ${D}${bindir}/llvm-config${PV} ln -sf llvm-config${PV} ${D}${bindir}/llvm-config diff --git a/poky/meta/recipes-devtools/lua/lua_5.4.4.bb b/poky/meta/recipes-devtools/lua/lua_5.4.4.bb index 0b2e754b31..a39d888ec2 100644 --- a/poky/meta/recipes-devtools/lua/lua_5.4.4.bb +++ b/poky/meta/recipes-devtools/lua/lua_5.4.4.bb @@ -57,3 +57,6 @@ do_install_ptest () { } BBCLASSEXTEND = "native nativesdk" + +inherit multilib_script +MULTILIB_SCRIPTS = "${PN}-dev:${includedir}/luaconf.h" diff --git a/poky/meta/recipes-devtools/m4/m4-1.4.19.inc b/poky/meta/recipes-devtools/m4/m4-1.4.19.inc index c098a4077e..3b4303b7fd 100644 --- a/poky/meta/recipes-devtools/m4/m4-1.4.19.inc +++ b/poky/meta/recipes-devtools/m4/m4-1.4.19.inc @@ -53,10 +53,11 @@ do_install_ptest() { } -RDEPENDS:${PN}-ptest += "make coreutils diffutils" +RDEPENDS:${PN}-ptest += "make coreutils diffutils bash" RDEPENDS:${PN}-ptest:append:libc-glibc = "\ locale-base-fr-fr \ locale-base-fr-fr.iso-8859-1 \ + glibc-gconv-iso8859-1 \ " INSANE_SKIP:${PN}-ptest += "ldflags" diff --git a/poky/meta/recipes-devtools/make/make.inc b/poky/meta/recipes-devtools/make/make.inc index a0a72b6295..56b863480c 100644 --- a/poky/meta/recipes-devtools/make/make.inc +++ b/poky/meta/recipes-devtools/make/make.inc @@ -11,3 +11,8 @@ SRC_URI = "${GNU_MIRROR}/make/make-${PV}.tar.gz \ inherit autotools gettext pkgconfig texinfo PROVIDES = "virtual/make" + +# Otherwise $CXX leaks into /usr/bin/make +do_configure:prepend() { + unset CXX +} diff --git a/poky/meta/recipes-devtools/make/make/sigpipe.patch b/poky/meta/recipes-devtools/make/make/sigpipe.patch deleted file mode 100644 index a7270fdbda..0000000000 --- a/poky/meta/recipes-devtools/make/make/sigpipe.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 92ab2e642d2c04b3dcb5a736ae6193680bfd5f74 Mon Sep 17 00:00:00 2001 -From: Paul Smith <psmith@gnu.org> -Date: Sun, 6 Nov 2022 15:22:02 -0500 -Subject: * src/main.c (main): [SV 63307] Handle SIGPIPE as a fatal signal - -Always ignoring SIGPIPE is visible to child processes. - -Upstream-Status: Backport [https://git.savannah.gnu.org/cgit/make.git/commit/?id=92ab2e642d2c04b3dcb5a736ae6193680bfd5f74] -Signed-off-by: Alexander Kanavin <alex@linutronix.de> ---- - src/main.c | 8 +++----- - 1 file changed, 3 insertions(+), 5 deletions(-) - -diff --git a/src/main.c b/src/main.c -index eec9365..f2caf7a 100644 ---- a/src/main.c -+++ b/src/main.c -@@ -1182,11 +1182,6 @@ main (int argc, char **argv, char **envp) - /* Useful for attaching debuggers, etc. */ - SPIN ("main-entry"); - -- /* Don't die if our stdout sends us SIGPIPE. */ --#ifdef SIGPIPE -- bsd_signal (SIGPIPE, SIG_IGN); --#endif -- - #ifdef HAVE_ATEXIT - if (ANY_SET (check_io_state (), IO_STDOUT_OK)) - atexit (close_stdout); -@@ -1265,6 +1260,9 @@ main (int argc, char **argv, char **envp) - #ifdef SIGQUIT - FATAL_SIG (SIGQUIT); - #endif -+#ifdef SIGPIPE -+ FATAL_SIG (SIGPIPE); -+#endif - FATAL_SIG (SIGINT); - FATAL_SIG (SIGTERM); - --- -cgit v1.1 - diff --git a/poky/meta/recipes-devtools/make/make_4.4.bb b/poky/meta/recipes-devtools/make/make_4.4.1.bb index 6642c708d8..c73751ddcb 100644 --- a/poky/meta/recipes-devtools/make/make_4.4.bb +++ b/poky/meta/recipes-devtools/make/make_4.4.1.bb @@ -4,11 +4,10 @@ require make.inc SRC_URI += " \ file://0001-m4-getloadavg.m4-restrict-AIX-specific-test-on-AIX.patch \ - file://sigpipe.patch \ " EXTRA_OECONF += "--without-guile" -SRC_URI[sha256sum] = "581f4d4e872da74b3941c874215898a7d35802f03732bdccee1d4a7979105d18" +SRC_URI[sha256sum] = "dd16fb1d67bfab79a72f5e8390735c49e3e8e70b4945a15ab1f81ddb78658fb3" BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/meson/meson/disable-rpath-handling.patch b/poky/meta/recipes-devtools/meson/meson/disable-rpath-handling.patch deleted file mode 100644 index 7aaed8b4a3..0000000000 --- a/poky/meta/recipes-devtools/meson/meson/disable-rpath-handling.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 18600f7a1cddf23aeabd188f86e66983f27ccfe3 Mon Sep 17 00:00:00 2001 -From: Richard Purdie <richard.purdie@linuxfoundation.org> -Date: Fri, 23 Nov 2018 15:28:28 +0000 -Subject: [PATCH] meson: Disable rpath stripping at install time - -We need to allow our rpaths generated through the compiler flags to make it into -our binaries. Therefore disable the meson manipulations of these unless there -is a specific directive to do something differently in the project. - -RP 2018/11/23 - -Upstream-Status: Submitted [https://github.com/mesonbuild/meson/issues/2567] ---- - mesonbuild/minstall.py | 7 +++++-- - 1 file changed, 5 insertions(+), 2 deletions(-) - -diff --git a/mesonbuild/minstall.py b/mesonbuild/minstall.py -index 7d0da13..17d50db 100644 ---- a/mesonbuild/minstall.py -+++ b/mesonbuild/minstall.py -@@ -718,8 +718,11 @@ class Installer: - if file_copied: - self.did_install_something = True - try: -- self.fix_rpath(outname, t.rpath_dirs_to_remove, install_rpath, final_path, -- install_name_mappings, verbose=False) -+ if install_rpath: -+ self.fix_rpath(outname, t.rpath_dirs_to_remove, install_rpath, final_path, -+ install_name_mappings, verbose=False) -+ else: -+ print("RPATH changes at install time disabled") - except SystemExit as e: - if isinstance(e.code, int) and e.code == 0: - pass --- -2.20.1 - diff --git a/poky/meta/recipes-devtools/meson/meson/meson-wrapper b/poky/meta/recipes-devtools/meson/meson/meson-wrapper index fca64a5692..7455985297 100755 --- a/poky/meta/recipes-devtools/meson/meson/meson-wrapper +++ b/poky/meta/recipes-devtools/meson/meson/meson-wrapper @@ -13,20 +13,19 @@ fi # config is already in meson.cross. unset CC CXX CPP LD AR NM STRIP -for arg in "$@"; do - case "$arg" in - -*) continue ;; - *) SUBCMD="$arg"; break ;; - esac -done +case "$1" in +setup|configure|dist|install|introspect|init|test|wrap|subprojects|rewrite|compile|devenv|env2mfile|help) MESON_CMD="$1" ;; +*) echo meson-wrapper: Implicit setup command assumed; MESON_CMD=setup ;; +esac -if [ "$SUBCMD" = "setup" ] || [ -d "$SUBCMD" ]; then - MESON_SUB_OPTS=" \ +if [ "$MESON_CMD" = "setup" ]; then + MESON_SETUP_OPTS=" \ --cross-file="$OECORE_NATIVE_SYSROOT/usr/share/meson/${TARGET_PREFIX}meson.cross" \ --native-file="$OECORE_NATIVE_SYSROOT/usr/share/meson/meson.native" \ " + echo meson-wrapper: Running meson with setup options: \"$MESON_SETUP_OPTS\" fi exec "$OECORE_NATIVE_SYSROOT/usr/bin/meson.real" \ "$@" \ - $MESON_SUB_OPTS + $MESON_SETUP_OPTS diff --git a/poky/meta/recipes-devtools/meson/meson_1.0.0.bb b/poky/meta/recipes-devtools/meson/meson_1.0.1.bb index 578dfb9d64..fd478b2161 100644 --- a/poky/meta/recipes-devtools/meson/meson_1.0.0.bb +++ b/poky/meta/recipes-devtools/meson/meson_1.0.1.bb @@ -12,12 +12,11 @@ SRC_URI = "${GITHUB_BASE_URI}/download/${PV}/meson-${PV}.tar.gz \ file://meson-setup.py \ file://meson-wrapper \ file://0001-python-module-do-not-manipulate-the-environment-when.patch \ - file://disable-rpath-handling.patch \ file://0001-Make-CPU-family-warnings-fatal.patch \ file://0002-Support-building-allarch-recipes-again.patch \ file://0001-Check-for-clang-before-guessing-gcc-or-lcc.patch \ " -SRC_URI[sha256sum] = "aa50a4ba4557c25e7d48446abfde857957dcdf58385fffbe670ba0e8efacce05" +SRC_URI[sha256sum] = "d926b730de6f518728cc7c57bc5e701667bae0c3522f9e369427b2cc7839d3c1" inherit python_setuptools_build_meta github-releases diff --git a/poky/meta/recipes-devtools/opkg/opkg_0.6.1.bb b/poky/meta/recipes-devtools/opkg/opkg_0.6.1.bb index c95a40d268..4c25fe963a 100644 --- a/poky/meta/recipes-devtools/opkg/opkg_0.6.1.bb +++ b/poky/meta/recipes-devtools/opkg/opkg_0.6.1.bb @@ -65,7 +65,7 @@ do_install_ptest () { RDEPENDS:${PN} = "${VIRTUAL-RUNTIME_update-alternatives} opkg-arch-config libarchive" RDEPENDS:${PN}:class-native = "" RDEPENDS:${PN}:class-nativesdk = "" -RDEPENDS:${PN}-ptest += "make binutils python3-core python3-compression" +RDEPENDS:${PN}-ptest += "make binutils python3-core python3-compression bash python3-crypt python3-io" RREPLACES:${PN} = "opkg-nogpg opkg-collateral" RCONFLICTS:${PN} = "opkg-collateral" RPROVIDES:${PN} = "opkg-collateral" diff --git a/poky/meta/recipes-devtools/perl/liberror-perl_0.17029.bb b/poky/meta/recipes-devtools/perl/liberror-perl_0.17029.bb index 67e5811f3c..9585dfc2c6 100644 --- a/poky/meta/recipes-devtools/perl/liberror-perl_0.17029.bb +++ b/poky/meta/recipes-devtools/perl/liberror-perl_0.17029.bb @@ -9,9 +9,7 @@ LICENSE = "Artistic-1.0 | GPL-1.0-or-later" LIC_FILES_CHKSUM = "file://LICENSE;md5=8f3499d09ee74a050c0319391ff9d100" -# remove at next version upgrade or when output changes PR = "r1" -HASHEQUIV_HASH_VERSION .= ".1" DEPENDS += "perl" diff --git a/poky/meta/recipes-devtools/perl/libmodule-build-perl_0.4232.bb b/poky/meta/recipes-devtools/perl/libmodule-build-perl_0.4232.bb index 748412b414..0ead690067 100644 --- a/poky/meta/recipes-devtools/perl/libmodule-build-perl_0.4232.bb +++ b/poky/meta/recipes-devtools/perl/libmodule-build-perl_0.4232.bb @@ -91,12 +91,21 @@ RDEPENDS:${PN}-ptest += " \ packagegroup-core-buildessential \ perl-dev \ perl-module-blib \ + perl-module-encode-encoding \ + perl-module-extutils-cbuilder-base \ perl-module-extutils-command-mm \ + perl-module-extutils-mm-unix \ perl-module-file-temp \ perl-module-lib \ + perl-module-parse-cpan-meta \ perl-module-perlio \ perl-module-perlio-encoding \ + perl-module-pod-simple-transcodesmart \ perl-module-pod-text \ + perl-module-tap-base \ + perl-module-tap-formatter-base \ + perl-module-tap-formatter-file \ + perl-module-tap-formatter-session \ perl-module-tap-harness-env \ perl-module-tap-parser \ perl-module-tap-parser-scheduler \ diff --git a/poky/meta/recipes-devtools/perl/libxml-perl_0.08.bb b/poky/meta/recipes-devtools/perl/libxml-perl_0.08.bb index 323853cc2f..1b03e63a82 100644 --- a/poky/meta/recipes-devtools/perl/libxml-perl_0.08.bb +++ b/poky/meta/recipes-devtools/perl/libxml-perl_0.08.bb @@ -27,4 +27,4 @@ do_compile() { } RDEPENDS:${PN} += "perl-module-carp perl-module-overload perl-module-universal perl-module-io-handle" -RDEPENDS:${PN}-ptest += "libxml-parser-perl perl-module-file-glob" +RDEPENDS:${PN}-ptest += "libxml-parser-perl perl-module-file-glob perl-module-cwd perl-module-constant" diff --git a/poky/meta/recipes-devtools/perl/perl-ptest.inc b/poky/meta/recipes-devtools/perl/perl-ptest.inc index c233fab545..e07355d3f5 100644 --- a/poky/meta/recipes-devtools/perl/perl-ptest.inc +++ b/poky/meta/recipes-devtools/perl/perl-ptest.inc @@ -56,7 +56,7 @@ python populate_packages:prepend() { '${PN}-ptest%s', '%s', recursive=True, match_path=True) } -RDEPENDS:${PN}-ptest += "${PN}-modules ${PN}-doc sed" +RDEPENDS:${PN}-ptest += "${PN}-modules ${PN}-doc sed procps-ps" # The perl-ptest package contains Perl internal modules and generating file # dependencies for it causes problems. diff --git a/poky/meta/recipes-devtools/pseudo/pseudo_git.bb b/poky/meta/recipes-devtools/pseudo/pseudo_git.bb index 6304c4b86a..7c3231186c 100644 --- a/poky/meta/recipes-devtools/pseudo/pseudo_git.bb +++ b/poky/meta/recipes-devtools/pseudo/pseudo_git.bb @@ -13,7 +13,7 @@ SRC_URI:append:class-nativesdk = " \ file://older-glibc-symbols.patch" SRC_URI[prebuilt.sha256sum] = "ed9f456856e9d86359f169f46a70ad7be4190d6040282b84c8d97b99072485aa" -SRCREV = "9df045968d739ead0bebacce415d05269694de4e" +SRCREV = "ec6151a2b057109b3f798f151a36690af582e166" S = "${WORKDIR}/git" PV = "1.9.0+git${SRCPV}" diff --git a/poky/meta/recipes-devtools/python/python-pyasn1.inc b/poky/meta/recipes-devtools/python/python-pyasn1.inc index 1b941630e7..126d0388ef 100644 --- a/poky/meta/recipes-devtools/python/python-pyasn1.inc +++ b/poky/meta/recipes-devtools/python/python-pyasn1.inc @@ -24,6 +24,7 @@ SRC_URI += " \ RDEPENDS:${PN}-ptest += " \ ${PYTHON_PN}-pytest \ + ${PYTHON_PN}-unittest-automake-output \ " do_install_ptest() { diff --git a/poky/meta/recipes-devtools/python/python-testtools.inc b/poky/meta/recipes-devtools/python/python-testtools.inc index ef5e15cc3a..e004d0eb0b 100644 --- a/poky/meta/recipes-devtools/python/python-testtools.inc +++ b/poky/meta/recipes-devtools/python/python-testtools.inc @@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=e2c9d3e8ba7141c83bfef190e0b9379a" inherit pypi -SRC_URI[sha256sum] = "57c13433d94f9ffde3be6534177d10fb0c1507cc499319128958ca91a65cb23f" +SRC_URI[sha256sum] = "28b65e14c0f2d3ecbbfb5f55c9dcde5e4faa80ac16a37a823909a1fe3cbcb30a" DEPENDS += " \ ${PYTHON_PN}-pbr \ diff --git a/poky/meta/recipes-devtools/python/python3-atomicwrites/run-ptest b/poky/meta/recipes-devtools/python/python3-atomicwrites/run-ptest index b63c4de0d9..8d2017d39c 100644 --- a/poky/meta/recipes-devtools/python/python3-atomicwrites/run-ptest +++ b/poky/meta/recipes-devtools/python/python3-atomicwrites/run-ptest @@ -1,3 +1,3 @@ #!/bin/sh -pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}' +pytest --automake diff --git a/poky/meta/recipes-devtools/python/python3-atomicwrites_1.4.1.bb b/poky/meta/recipes-devtools/python/python3-atomicwrites_1.4.1.bb index 9f58a4bf1f..f706f5d7be 100644 --- a/poky/meta/recipes-devtools/python/python3-atomicwrites_1.4.1.bb +++ b/poky/meta/recipes-devtools/python/python3-atomicwrites_1.4.1.bb @@ -13,6 +13,7 @@ SRC_URI += " \ RDEPENDS:${PN}-ptest += " \ ${PYTHON_PN}-pytest \ + ${PYTHON_PN}-unittest-automake-output \ ${PYTHON_PN}-unixadmin \ " diff --git a/poky/meta/recipes-devtools/python/python3-bcrypt-crates.inc b/poky/meta/recipes-devtools/python/python3-bcrypt-crates.inc index 65c7765f0c..1ff66269c4 100644 --- a/poky/meta/recipes-devtools/python/python3-bcrypt-crates.inc +++ b/poky/meta/recipes-devtools/python/python3-bcrypt-crates.inc @@ -1,53 +1,104 @@ # Autogenerated with 'bitbake -c update_crates python3-bcrypt' +# from src/_bcrypt/Cargo.lock SRC_URI += " \ - crate://crates.io/autocfg/1.1.0 \ - crate://crates.io/base64/0.13.0 \ - crate://crates.io/bcrypt/0.13.0 \ - crate://crates.io/bcrypt-pbkdf/0.8.1 \ - crate://crates.io/bitflags/1.3.2 \ - crate://crates.io/block-buffer/0.10.3 \ - crate://crates.io/blowfish/0.9.1 \ - crate://crates.io/byteorder/1.4.3 \ - crate://crates.io/cfg-if/1.0.0 \ - crate://crates.io/cipher/0.4.3 \ - crate://crates.io/cpufeatures/0.2.5 \ - crate://crates.io/crypto-common/0.1.6 \ - crate://crates.io/digest/0.10.5 \ - crate://crates.io/generic-array/0.14.6 \ - crate://crates.io/getrandom/0.2.7 \ - crate://crates.io/indoc/0.3.6 \ - crate://crates.io/indoc-impl/0.3.6 \ - crate://crates.io/inout/0.1.3 \ - crate://crates.io/instant/0.1.12 \ - crate://crates.io/libc/0.2.134 \ - crate://crates.io/lock_api/0.4.9 \ - crate://crates.io/once_cell/1.15.0 \ - crate://crates.io/parking_lot/0.11.2 \ - crate://crates.io/parking_lot_core/0.8.5 \ - crate://crates.io/paste/0.1.18 \ - crate://crates.io/paste-impl/0.1.18 \ - crate://crates.io/pbkdf2/0.10.1 \ - crate://crates.io/proc-macro-hack/0.5.19 \ - crate://crates.io/proc-macro2/1.0.46 \ - crate://crates.io/pyo3/0.15.2 \ - crate://crates.io/pyo3-build-config/0.15.2 \ - crate://crates.io/pyo3-macros/0.15.2 \ - crate://crates.io/pyo3-macros-backend/0.15.2 \ - crate://crates.io/quote/1.0.21 \ - crate://crates.io/redox_syscall/0.2.16 \ - crate://crates.io/scopeguard/1.1.0 \ - crate://crates.io/sha2/0.10.6 \ - crate://crates.io/smallvec/1.10.0 \ - crate://crates.io/subtle/2.4.1 \ - crate://crates.io/syn/1.0.102 \ - crate://crates.io/typenum/1.15.0 \ - crate://crates.io/unicode-ident/1.0.4 \ - crate://crates.io/unindent/0.1.10 \ - crate://crates.io/version_check/0.9.4 \ - crate://crates.io/wasi/0.11.0+wasi-snapshot-preview1 \ - crate://crates.io/winapi/0.3.9 \ - crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \ - crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \ - crate://crates.io/zeroize/1.5.7 \ + crate://crates.io/autocfg/1.1.0 \ + crate://crates.io/base64/0.13.0 \ + crate://crates.io/bcrypt/0.13.0 \ + crate://crates.io/bcrypt-pbkdf/0.8.1 \ + crate://crates.io/bitflags/1.3.2 \ + crate://crates.io/block-buffer/0.10.3 \ + crate://crates.io/blowfish/0.9.1 \ + crate://crates.io/byteorder/1.4.3 \ + crate://crates.io/cfg-if/1.0.0 \ + crate://crates.io/cipher/0.4.3 \ + crate://crates.io/cpufeatures/0.2.5 \ + crate://crates.io/crypto-common/0.1.6 \ + crate://crates.io/digest/0.10.5 \ + crate://crates.io/generic-array/0.14.6 \ + crate://crates.io/getrandom/0.2.7 \ + crate://crates.io/indoc/0.3.6 \ + crate://crates.io/indoc-impl/0.3.6 \ + crate://crates.io/inout/0.1.3 \ + crate://crates.io/instant/0.1.12 \ + crate://crates.io/libc/0.2.134 \ + crate://crates.io/lock_api/0.4.9 \ + crate://crates.io/once_cell/1.15.0 \ + crate://crates.io/parking_lot/0.11.2 \ + crate://crates.io/parking_lot_core/0.8.5 \ + crate://crates.io/paste/0.1.18 \ + crate://crates.io/paste-impl/0.1.18 \ + crate://crates.io/pbkdf2/0.10.1 \ + crate://crates.io/proc-macro-hack/0.5.19 \ + crate://crates.io/proc-macro2/1.0.46 \ + crate://crates.io/pyo3/0.15.2 \ + crate://crates.io/pyo3-build-config/0.15.2 \ + crate://crates.io/pyo3-macros/0.15.2 \ + crate://crates.io/pyo3-macros-backend/0.15.2 \ + crate://crates.io/quote/1.0.21 \ + crate://crates.io/redox_syscall/0.2.16 \ + crate://crates.io/scopeguard/1.1.0 \ + crate://crates.io/sha2/0.10.6 \ + crate://crates.io/smallvec/1.10.0 \ + crate://crates.io/subtle/2.4.1 \ + crate://crates.io/syn/1.0.102 \ + crate://crates.io/typenum/1.15.0 \ + crate://crates.io/unicode-ident/1.0.4 \ + crate://crates.io/unindent/0.1.10 \ + crate://crates.io/version_check/0.9.4 \ + crate://crates.io/wasi/0.11.0+wasi-snapshot-preview1 \ + crate://crates.io/winapi/0.3.9 \ + crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \ + crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \ + crate://crates.io/zeroize/1.5.7 \ " + +SRC_URI[autocfg.sha256sum] = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" +SRC_URI[base64.sha256sum] = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd" +SRC_URI[bcrypt.sha256sum] = "a7e7c93a3fb23b2fdde989b2c9ec4dd153063ec81f408507f84c090cd91c6641" +SRC_URI[bcrypt-pbkdf.sha256sum] = "f4ef233ffa9cb9c7820b2b0e9efd0821ed180e866c9120ec9f45518659742074" +SRC_URI[bitflags.sha256sum] = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" +SRC_URI[block-buffer.sha256sum] = "69cce20737498f97b993470a6e536b8523f0af7892a4f928cceb1ac5e52ebe7e" +SRC_URI[blowfish.sha256sum] = "e412e2cd0f2b2d93e02543ceae7917b3c70331573df19ee046bcbc35e45e87d7" +SRC_URI[byteorder.sha256sum] = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" +SRC_URI[cfg-if.sha256sum] = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +SRC_URI[cipher.sha256sum] = "d1873270f8f7942c191139cb8a40fd228da6c3fd2fc376d7e92d47aa14aeb59e" +SRC_URI[cpufeatures.sha256sum] = "28d997bd5e24a5928dd43e46dc529867e207907fe0b239c3477d924f7f2ca320" +SRC_URI[crypto-common.sha256sum] = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +SRC_URI[digest.sha256sum] = "adfbc57365a37acbd2ebf2b64d7e69bb766e2fea813521ed536f5d0520dcf86c" +SRC_URI[generic-array.sha256sum] = "bff49e947297f3312447abdca79f45f4738097cc82b06e72054d2223f601f1b9" +SRC_URI[getrandom.sha256sum] = "4eb1a864a501629691edf6c15a593b7a51eebaa1e8468e9ddc623de7c9b58ec6" +SRC_URI[indoc.sha256sum] = "47741a8bc60fb26eb8d6e0238bbb26d8575ff623fdc97b1a2c00c050b9684ed8" +SRC_URI[indoc-impl.sha256sum] = "ce046d161f000fffde5f432a0d034d0341dc152643b2598ed5bfce44c4f3a8f0" +SRC_URI[inout.sha256sum] = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5" +SRC_URI[instant.sha256sum] = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" +SRC_URI[libc.sha256sum] = "329c933548736bc49fd575ee68c89e8be4d260064184389a5b77517cddd99ffb" +SRC_URI[lock_api.sha256sum] = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df" +SRC_URI[once_cell.sha256sum] = "e82dad04139b71a90c080c8463fe0dc7902db5192d939bd0950f074d014339e1" +SRC_URI[parking_lot.sha256sum] = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99" +SRC_URI[parking_lot_core.sha256sum] = "d76e8e1493bcac0d2766c42737f34458f1c8c50c0d23bcb24ea953affb273216" +SRC_URI[paste.sha256sum] = "45ca20c77d80be666aef2b45486da86238fabe33e38306bd3118fe4af33fa880" +SRC_URI[paste-impl.sha256sum] = "d95a7db200b97ef370c8e6de0088252f7e0dfff7d047a28528e47456c0fc98b6" +SRC_URI[pbkdf2.sha256sum] = "271779f35b581956db91a3e55737327a03aa051e90b1c47aeb189508533adfd7" +SRC_URI[proc-macro-hack.sha256sum] = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5" +SRC_URI[proc-macro2.sha256sum] = "94e2ef8dbfc347b10c094890f778ee2e36ca9bb4262e86dc99cd217e35f3470b" +SRC_URI[pyo3.sha256sum] = "d41d50a7271e08c7c8a54cd24af5d62f73ee3a6f6a314215281ebdec421d5752" +SRC_URI[pyo3-build-config.sha256sum] = "779239fc40b8e18bc8416d3a37d280ca9b9fb04bda54b98037bb6748595c2410" +SRC_URI[pyo3-macros.sha256sum] = "00b247e8c664be87998d8628e86f282c25066165f1f8dda66100c48202fdb93a" +SRC_URI[pyo3-macros-backend.sha256sum] = "5a8c2812c412e00e641d99eeb79dd478317d981d938aa60325dfa7157b607095" +SRC_URI[quote.sha256sum] = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179" +SRC_URI[redox_syscall.sha256sum] = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" +SRC_URI[scopeguard.sha256sum] = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" +SRC_URI[sha2.sha256sum] = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0" +SRC_URI[smallvec.sha256sum] = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" +SRC_URI[subtle.sha256sum] = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" +SRC_URI[syn.sha256sum] = "3fcd952facd492f9be3ef0d0b7032a6e442ee9b361d4acc2b1d0c4aaa5f613a1" +SRC_URI[typenum.sha256sum] = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987" +SRC_URI[unicode-ident.sha256sum] = "dcc811dc4066ac62f84f11307873c4850cb653bfa9b1719cee2bd2204a4bc5dd" +SRC_URI[unindent.sha256sum] = "58ee9362deb4a96cef4d437d1ad49cffc9b9e92d202b6995674e928ce684f112" +SRC_URI[version_check.sha256sum] = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" +SRC_URI[wasi.sha256sum] = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +SRC_URI[winapi.sha256sum] = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +SRC_URI[winapi-i686-pc-windows-gnu.sha256sum] = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" +SRC_URI[winapi-x86_64-pc-windows-gnu.sha256sum] = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +SRC_URI[zeroize.sha256sum] = "c394b5bd0c6f669e7275d9c20aa90ae064cb22e75a1cad54e1b34088034b149f" diff --git a/poky/meta/recipes-devtools/python/python3-bcrypt/run-ptest b/poky/meta/recipes-devtools/python/python3-bcrypt/run-ptest index b63c4de0d9..8d2017d39c 100644 --- a/poky/meta/recipes-devtools/python/python3-bcrypt/run-ptest +++ b/poky/meta/recipes-devtools/python/python3-bcrypt/run-ptest @@ -1,3 +1,3 @@ #!/bin/sh -pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}' +pytest --automake diff --git a/poky/meta/recipes-devtools/python/python3-bcrypt_4.0.1.bb b/poky/meta/recipes-devtools/python/python3-bcrypt_4.0.1.bb index 6ce45ca6ee..9f5b81330b 100644 --- a/poky/meta/recipes-devtools/python/python3-bcrypt_4.0.1.bb +++ b/poky/meta/recipes-devtools/python/python3-bcrypt_4.0.1.bb @@ -17,6 +17,7 @@ require ${BPN}-crates.inc RDEPENDS:${PN}-ptest += " \ ${PYTHON_PN}-pytest \ + ${PYTHON_PN}-unittest-automake-output \ " do_install_ptest() { diff --git a/poky/meta/recipes-devtools/python/python3-cryptography-crates.inc b/poky/meta/recipes-devtools/python/python3-cryptography-crates.inc index a0c8fa50c9..74f47897a6 100644 --- a/poky/meta/recipes-devtools/python/python3-cryptography-crates.inc +++ b/poky/meta/recipes-devtools/python/python3-cryptography-crates.inc @@ -69,3 +69,70 @@ SRC_URI += " \ crate://crates.io/winapi-util/0.1.5 \ crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \ " + +SRC_URI[Inflector.sha256sum] = "fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3" +SRC_URI[aliasable.sha256sum] = "250f629c0161ad8107cf89319e990051fae62832fd343083bea452d93e2205fd" +SRC_URI[android_system_properties.sha256sum] = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" +SRC_URI[asn1.sha256sum] = "2affba5e62ee09eeba078f01a00c4aed45ac4287e091298eccbb0d4802efbdc5" +SRC_URI[asn1_derive.sha256sum] = "bfab79c195875e5aef2bd20b4c8ed8d43ef9610bcffefbbcf66f88f555cc78af" +SRC_URI[autocfg.sha256sum] = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" +SRC_URI[base64.sha256sum] = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" +SRC_URI[bitflags.sha256sum] = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" +SRC_URI[bumpalo.sha256sum] = "37ccbd214614c6783386c1af30caf03192f17891059cecc394b4fb119e363de3" +SRC_URI[cc.sha256sum] = "a20104e2335ce8a659d6dd92a51a767a0c062599c73b343fd152cb401e828c3d" +SRC_URI[cfg-if.sha256sum] = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +SRC_URI[chrono.sha256sum] = "16b0a3d9ed01224b22057780a37bb8c5dbfe1be8ba48678e7bf57ec4b385411f" +SRC_URI[codespan-reporting.sha256sum] = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e" +SRC_URI[core-foundation-sys.sha256sum] = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc" +SRC_URI[cxx.sha256sum] = "5add3fc1717409d029b20c5b6903fc0c0b02fa6741d820054f4a2efa5e5816fd" +SRC_URI[cxx-build.sha256sum] = "b4c87959ba14bc6fbc61df77c3fcfe180fc32b93538c4f1031dd802ccb5f2ff0" +SRC_URI[cxxbridge-flags.sha256sum] = "69a3e162fde4e594ed2b07d0f83c6c67b745e7f28ce58c6df5e6b6bef99dfb59" +SRC_URI[cxxbridge-macro.sha256sum] = "3e7e2adeb6a0d4a282e581096b06e1791532b7d576dcde5ccd9382acf55db8e6" +SRC_URI[iana-time-zone.sha256sum] = "64c122667b287044802d6ce17ee2ddf13207ed924c712de9a66a5814d5b64765" +SRC_URI[iana-time-zone-haiku.sha256sum] = "0703ae284fc167426161c2e3f1da3ea71d94b21bedbcc9494e92b28e334e3dca" +SRC_URI[indoc.sha256sum] = "47741a8bc60fb26eb8d6e0238bbb26d8575ff623fdc97b1a2c00c050b9684ed8" +SRC_URI[indoc-impl.sha256sum] = "ce046d161f000fffde5f432a0d034d0341dc152643b2598ed5bfce44c4f3a8f0" +SRC_URI[instant.sha256sum] = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" +SRC_URI[js-sys.sha256sum] = "49409df3e3bf0856b916e2ceaca09ee28e6871cf7d9ce97a692cacfdb2a25a47" +SRC_URI[libc.sha256sum] = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79" +SRC_URI[link-cplusplus.sha256sum] = "ecd207c9c713c34f95a097a5b029ac2ce6010530c7b49d7fea24d977dede04f5" +SRC_URI[lock_api.sha256sum] = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df" +SRC_URI[log.sha256sum] = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" +SRC_URI[num-integer.sha256sum] = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" +SRC_URI[num-traits.sha256sum] = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" +SRC_URI[once_cell.sha256sum] = "2f7254b99e31cad77da24b08ebf628882739a608578bb1bcdfc1f9c21260d7c0" +SRC_URI[ouroboros.sha256sum] = "dfbb50b356159620db6ac971c6d5c9ab788c9cc38a6f49619fca2a27acb062ca" +SRC_URI[ouroboros_macro.sha256sum] = "4a0d9d1a6191c4f391f87219d1ea42b23f09ee84d64763cd05ee6ea88d9f384d" +SRC_URI[parking_lot.sha256sum] = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99" +SRC_URI[parking_lot_core.sha256sum] = "60a2cfe6f0ad2bfc16aefa463b497d5c7a5ecd44a23efa72aa342d90177356dc" +SRC_URI[paste.sha256sum] = "45ca20c77d80be666aef2b45486da86238fabe33e38306bd3118fe4af33fa880" +SRC_URI[paste-impl.sha256sum] = "d95a7db200b97ef370c8e6de0088252f7e0dfff7d047a28528e47456c0fc98b6" +SRC_URI[pem.sha256sum] = "03c64931a1a212348ec4f3b4362585eca7159d0d09cbdf4a7f74f02173596fd4" +SRC_URI[proc-macro-error.sha256sum] = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" +SRC_URI[proc-macro-error-attr.sha256sum] = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" +SRC_URI[proc-macro-hack.sha256sum] = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" +SRC_URI[proc-macro2.sha256sum] = "57a8eca9f9c4ffde41714334dee777596264c7825420f521abc92b5b5deb63a5" +SRC_URI[pyo3.sha256sum] = "d41d50a7271e08c7c8a54cd24af5d62f73ee3a6f6a314215281ebdec421d5752" +SRC_URI[pyo3-build-config.sha256sum] = "779239fc40b8e18bc8416d3a37d280ca9b9fb04bda54b98037bb6748595c2410" +SRC_URI[pyo3-macros.sha256sum] = "00b247e8c664be87998d8628e86f282c25066165f1f8dda66100c48202fdb93a" +SRC_URI[pyo3-macros-backend.sha256sum] = "5a8c2812c412e00e641d99eeb79dd478317d981d938aa60325dfa7157b607095" +SRC_URI[quote.sha256sum] = "8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b" +SRC_URI[redox_syscall.sha256sum] = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" +SRC_URI[scopeguard.sha256sum] = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" +SRC_URI[scratch.sha256sum] = "ddccb15bcce173023b3fedd9436f882a0739b8dfb45e4f6b6002bee5929f61b2" +SRC_URI[smallvec.sha256sum] = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" +SRC_URI[syn.sha256sum] = "1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5" +SRC_URI[termcolor.sha256sum] = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755" +SRC_URI[unicode-ident.sha256sum] = "84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc" +SRC_URI[unicode-width.sha256sum] = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b" +SRC_URI[unindent.sha256sum] = "e1766d682d402817b5ac4490b3c3002d91dfa0d22812f341609f97b08757359c" +SRC_URI[version_check.sha256sum] = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" +SRC_URI[wasm-bindgen.sha256sum] = "eaf9f5aceeec8be17c128b2e93e031fb8a4d469bb9c4ae2d7dc1888b26887268" +SRC_URI[wasm-bindgen-backend.sha256sum] = "4c8ffb332579b0557b52d268b91feab8df3615f265d5270fec2a8c95b17c1142" +SRC_URI[wasm-bindgen-macro.sha256sum] = "052be0f94026e6cbc75cdefc9bae13fd6052cdcaf532fa6c45e7ae33a1e6c810" +SRC_URI[wasm-bindgen-macro-support.sha256sum] = "07bc0c051dc5f23e307b13285f9d75df86bfdf816c5721e573dec1f9b8aa193c" +SRC_URI[wasm-bindgen-shared.sha256sum] = "1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f" +SRC_URI[winapi.sha256sum] = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +SRC_URI[winapi-i686-pc-windows-gnu.sha256sum] = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" +SRC_URI[winapi-util.sha256sum] = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" +SRC_URI[winapi-x86_64-pc-windows-gnu.sha256sum] = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" diff --git a/poky/meta/recipes-devtools/python/python3-cryptography-vectors_39.0.1.bb b/poky/meta/recipes-devtools/python/python3-cryptography-vectors_39.0.2.bb index 458ca2adbd..795e27f75b 100644 --- a/poky/meta/recipes-devtools/python/python3-cryptography-vectors_39.0.1.bb +++ b/poky/meta/recipes-devtools/python/python3-cryptography-vectors_39.0.2.bb @@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=8c3617db4fb6fae01f1d253ab91511e4 \ # NOTE: Make sure to keep this recipe at the same version as python3-cryptography # Upgrade both recipes at the same time -SRC_URI[sha256sum] = "0cbaeb50bdb7f3c9d7a93b26a0462ef6e97c768ca78d902854fe045c30b680c6" +SRC_URI[sha256sum] = "a68f106f7a4322cf1e7ed51e3fc6d5c1e0b11d337ed918ec879e8afe0c2a5220" PYPI_PACKAGE = "cryptography_vectors" diff --git a/poky/meta/recipes-devtools/python/python3-cryptography/check-memfree.py b/poky/meta/recipes-devtools/python/python3-cryptography/check-memfree.py index c111a9074c..ed680d8d5b 100755 --- a/poky/meta/recipes-devtools/python/python3-cryptography/check-memfree.py +++ b/poky/meta/recipes-devtools/python/python3-cryptography/check-memfree.py @@ -4,7 +4,7 @@ import sys meminfo = dict((i.split()[0].rstrip(':'),int(i.split()[1])) for i in open('/proc/meminfo').readlines()) mem_free = meminfo['MemTotal']/1024./1024. if mem_free < 2.: - raise RuntimeError("Insufficient free memory({:.3f}): requires > 2 GB".format(mem_free)) + print("Insufficient free memory({:.3f}): requires > 2 GB".format(mem_free)) sys.exit(1) else: print("Free memory: {:.3f} GB".format(mem_free)) diff --git a/poky/meta/recipes-devtools/python/python3-cryptography/run-ptest b/poky/meta/recipes-devtools/python/python3-cryptography/run-ptest index 3089df8781..fe191a5dc4 100644 --- a/poky/meta/recipes-devtools/python/python3-cryptography/run-ptest +++ b/poky/meta/recipes-devtools/python/python3-cryptography/run-ptest @@ -1,4 +1,9 @@ #!/bin/sh + if ./check-memfree.py; then - pytest -vvvv tests/ -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}' + # Skip the bench test module, we don't yet have pytest3-benchmark in core + # and these are more benchmarks than unit tests. + pytest --automake -k 'not bench' +else + echo "SKIP: crytography.not_enough_memory" fi diff --git a/poky/meta/recipes-devtools/python/python3-cryptography_39.0.1.bb b/poky/meta/recipes-devtools/python/python3-cryptography_39.0.2.bb index abc8d8e0ef..449e3ba1bc 100644 --- a/poky/meta/recipes-devtools/python/python3-cryptography_39.0.1.bb +++ b/poky/meta/recipes-devtools/python/python3-cryptography_39.0.2.bb @@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=bf405a8056a6647e7d077b0e7bc36aba \ " LDSHARED += "-pthread" -SRC_URI[sha256sum] = "d1f6198ee6d9148405e49887803907fe8962a23e6c6f83ea7d98f1c0de375695" +SRC_URI[sha256sum] = "bc5b871e977c8ee5a1bbc42fa8d19bcc08baf0c51cbf1586b0e87a2694dde42f" SRC_URI += "\ file://0002-Cargo.toml-edition-2018-2021.patch \ @@ -43,6 +43,7 @@ RDEPENDS:${PN}-ptest += " \ ${PYTHON_PN}-pretend \ ${PYTHON_PN}-psutil \ ${PYTHON_PN}-pytest \ + ${PYTHON_PN}-unittest-automake-output \ ${PYTHON_PN}-pytest-subtests \ ${PYTHON_PN}-pytz \ " diff --git a/poky/meta/recipes-devtools/python/python3-git_3.1.30.bb b/poky/meta/recipes-devtools/python/python3-git_3.1.31.bb index 80f50019b1..08b9f66bcb 100644 --- a/poky/meta/recipes-devtools/python/python3-git_3.1.30.bb +++ b/poky/meta/recipes-devtools/python/python3-git_3.1.31.bb @@ -12,7 +12,7 @@ PYPI_PACKAGE = "GitPython" inherit pypi python_setuptools_build_meta -SRC_URI[sha256sum] = "769c2d83e13f5d938b7688479da374c4e3d49f71549aaf462b646db9602ea6f8" +SRC_URI[sha256sum] = "8ce3bcf69adfdf7c7d503e78fd3b1c492af782d58893b650adb2ac8912ddd573" DEPENDS += " ${PYTHON_PN}-gitdb" diff --git a/poky/meta/recipes-devtools/python/python3-hypothesis/run-ptest b/poky/meta/recipes-devtools/python/python3-hypothesis/run-ptest index 8d44d7c49a..54f6e7930f 100644 --- a/poky/meta/recipes-devtools/python/python3-hypothesis/run-ptest +++ b/poky/meta/recipes-devtools/python/python3-hypothesis/run-ptest @@ -7,4 +7,4 @@ # # Instead we run two test suites imported from examples/ -pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}' +pytest --automake diff --git a/poky/meta/recipes-devtools/python/python3-hypothesis_6.68.2.bb b/poky/meta/recipes-devtools/python/python3-hypothesis_6.68.2.bb index 23e842f2e2..4ffe278d78 100644 --- a/poky/meta/recipes-devtools/python/python3-hypothesis_6.68.2.bb +++ b/poky/meta/recipes-devtools/python/python3-hypothesis_6.68.2.bb @@ -27,6 +27,7 @@ RDEPENDS:${PN} += " \ RDEPENDS:${PN}-ptest += " \ ${PYTHON_PN}-pytest \ + ${PYTHON_PN}-unittest-automake-output \ " do_install_ptest() { diff --git a/poky/meta/recipes-devtools/python/python3-jinja2/run-ptest b/poky/meta/recipes-devtools/python/python3-jinja2/run-ptest index 5cec711696..8d2017d39c 100644 --- a/poky/meta/recipes-devtools/python/python3-jinja2/run-ptest +++ b/poky/meta/recipes-devtools/python/python3-jinja2/run-ptest @@ -1,3 +1,3 @@ #!/bin/sh -pytest +pytest --automake diff --git a/poky/meta/recipes-devtools/python/python3-jinja2_3.1.2.bb b/poky/meta/recipes-devtools/python/python3-jinja2_3.1.2.bb index 80e0b85670..cd248cc0b4 100644 --- a/poky/meta/recipes-devtools/python/python3-jinja2_3.1.2.bb +++ b/poky/meta/recipes-devtools/python/python3-jinja2_3.1.2.bb @@ -12,8 +12,7 @@ CVE_PRODUCT = "jinja2 jinja" CLEANBROKEN = "1" -inherit pypi setuptools3 -inherit ${@bb.utils.filter('DISTRO_FEATURES', 'ptest', d)} +inherit pypi setuptools3 ptest SRC_URI += " \ file://run-ptest \ @@ -25,9 +24,10 @@ do_install_ptest() { } RDEPENDS:${PN}-ptest += " \ - ${PYTHON_PN}-pytest \ - ${PYTHON_PN}-toml \ - ${PYTHON_PN}-unixadmin \ + ${PYTHON_PN}-pytest \ + ${PYTHON_PN}-unittest-automake-output \ + ${PYTHON_PN}-toml \ + ${PYTHON_PN}-unixadmin \ " RDEPENDS:${PN} += " \ diff --git a/poky/meta/recipes-devtools/python/python3-jsonpointer/0001-Clean-up-test-runner.patch b/poky/meta/recipes-devtools/python/python3-jsonpointer/0001-Clean-up-test-runner.patch new file mode 100644 index 0000000000..4121834dbf --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-jsonpointer/0001-Clean-up-test-runner.patch @@ -0,0 +1,62 @@ +From 04a864f33848da6af1dea906ba4922770022ef66 Mon Sep 17 00:00:00 2001 +From: Ross Burton <ross.burton@arm.com> +Date: Thu, 16 Mar 2023 14:21:32 +0000 +Subject: [PATCH] Clean up test runner + +Test code doesn't need to manually construct a TestSuite and a +TextTestRunner, the unittest module has a discovery function that does +all this for you. + +Delete all of the manual logic from tests.py, replace it with the two +lines to bring in the doctest unit tests, and update the makefile to +run the unittest discovery. + +Upstream-Status: Submitted [https://github.com/stefankoegl/python-json-pointer/pull/54] +Signed-off-by: Ross Burton <ross.burton@arm.com> +--- + makefile | 2 +- + tests.py | 24 ++++-------------------- + 2 files changed, 5 insertions(+), 21 deletions(-) + +diff --git a/tests.py b/tests.py +index 9252369..6b4b8cc 100755 +--- a/tests.py ++++ b/tests.py +@@ -7,6 +7,7 @@ import doctest + import unittest + import sys + import copy ++import jsonpointer + from jsonpointer import resolve_pointer, EndOfList, JsonPointerException, \ + JsonPointer, set_pointer + +@@ -410,23 +411,6 @@ class AltTypesTests(unittest.TestCase): + self.assertRaises(JsonPointerException, resolve_pointer, doc, '/root/1/2/3/4') + + +- +-suite = unittest.TestSuite() +-suite.addTest(unittest.makeSuite(SpecificationTests)) +-suite.addTest(unittest.makeSuite(ComparisonTests)) +-suite.addTest(unittest.makeSuite(WrongInputTests)) +-suite.addTest(unittest.makeSuite(ToLastTests)) +-suite.addTest(unittest.makeSuite(SetTests)) +-suite.addTest(unittest.makeSuite(AltTypesTests)) +- +-modules = ['jsonpointer'] +- +-for module in modules: +- m = __import__(module, fromlist=[module]) +- suite.addTest(doctest.DocTestSuite(m)) +- +-runner = unittest.TextTestRunner(verbosity=1) +-result = runner.run(suite) +- +-if not result.wasSuccessful(): +- sys.exit(1) ++def load_tests(loader, tests, ignore): ++ tests.addTests(doctest.DocTestSuite(jsonpointer)) ++ return tests +-- +2.34.1 + diff --git a/poky/meta/recipes-devtools/python/python3-jsonpointer/run-ptest b/poky/meta/recipes-devtools/python/python3-jsonpointer/run-ptest index 51e609f4ba..7ebd69231f 100644 --- a/poky/meta/recipes-devtools/python/python3-jsonpointer/run-ptest +++ b/poky/meta/recipes-devtools/python/python3-jsonpointer/run-ptest @@ -1,3 +1,3 @@ #!/bin/sh -python3 tests.py +python3 -mputao.unittest tests.py diff --git a/poky/meta/recipes-devtools/python/python3-jsonpointer_2.3.bb b/poky/meta/recipes-devtools/python/python3-jsonpointer_2.3.bb index 16d5cab4cf..0ec4de055c 100644 --- a/poky/meta/recipes-devtools/python/python3-jsonpointer_2.3.bb +++ b/poky/meta/recipes-devtools/python/python3-jsonpointer_2.3.bb @@ -5,6 +5,8 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=32b15c843b7a329130f4e266a281ebb3" inherit pypi ptest setuptools3 +SRC_URI += "file://0001-Clean-up-test-runner.patch" + SRC_URI[sha256sum] = "97cba51526c829282218feb99dab1b1e6bdf8efd1c43dc9d57be093c0d69c99a" RDEPENDS:${PN} += " \ @@ -18,7 +20,9 @@ SRC_URI += " \ " RDEPENDS:${PN}-ptest += " \ - ${PYTHON_PN}-pytest \ + ${PYTHON_PN}-doctest \ + ${PYTHON_PN}-unittest \ + ${PYTHON_PN}-unittest-automake-output \ " do_install_ptest() { diff --git a/poky/meta/recipes-devtools/python/python3-markupsafe/run-ptest b/poky/meta/recipes-devtools/python/python3-markupsafe/run-ptest index 5cec711696..8d2017d39c 100644 --- a/poky/meta/recipes-devtools/python/python3-markupsafe/run-ptest +++ b/poky/meta/recipes-devtools/python/python3-markupsafe/run-ptest @@ -1,3 +1,3 @@ #!/bin/sh -pytest +pytest --automake diff --git a/poky/meta/recipes-devtools/python/python3-markupsafe_2.1.2.bb b/poky/meta/recipes-devtools/python/python3-markupsafe_2.1.2.bb index f4f0ad2df0..3242052963 100644 --- a/poky/meta/recipes-devtools/python/python3-markupsafe_2.1.2.bb +++ b/poky/meta/recipes-devtools/python/python3-markupsafe_2.1.2.bb @@ -6,8 +6,7 @@ LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=ffeffa59c90c9c4a033c7574f8f3fb75" SRC_URI[sha256sum] = "abcabc8c2b26036d62d4c746381a6f7cf60aafcc653198ad678306986b09450d" PYPI_PACKAGE = "MarkupSafe" -inherit pypi setuptools3 -inherit ${@bb.utils.filter('DISTRO_FEATURES', 'ptest', d)} +inherit pypi setuptools3 ptest RDEPENDS:${PN} += "${PYTHON_PN}-stringold" @@ -19,6 +18,7 @@ SRC_URI += " \ RDEPENDS:${PN}-ptest += " \ ${PYTHON_PN}-pytest \ + ${PYTHON_PN}-unittest-automake-output \ " do_install_ptest() { diff --git a/poky/meta/recipes-devtools/python/python3-more-itertools/run-ptest b/poky/meta/recipes-devtools/python/python3-more-itertools/run-ptest index 3385d68939..8d2017d39c 100644 --- a/poky/meta/recipes-devtools/python/python3-more-itertools/run-ptest +++ b/poky/meta/recipes-devtools/python/python3-more-itertools/run-ptest @@ -1,3 +1,3 @@ #!/bin/sh -pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}' +pytest --automake diff --git a/poky/meta/recipes-devtools/python/python3-more-itertools_9.1.0.bb b/poky/meta/recipes-devtools/python/python3-more-itertools_9.1.0.bb index 7602350795..f5d107c78d 100644 --- a/poky/meta/recipes-devtools/python/python3-more-itertools_9.1.0.bb +++ b/poky/meta/recipes-devtools/python/python3-more-itertools_9.1.0.bb @@ -16,7 +16,9 @@ RDEPENDS:${PN} += " \ " RDEPENDS:${PN}-ptest += " \ + ${PYTHON_PN}-statistics \ ${PYTHON_PN}-pytest \ + ${PYTHON_PN}-unittest-automake-output \ " do_install_ptest() { diff --git a/poky/meta/recipes-devtools/python/python3-numpy_1.24.2.bb b/poky/meta/recipes-devtools/python/python3-numpy_1.24.2.bb index 78a857bf16..bfcfc52729 100644 --- a/poky/meta/recipes-devtools/python/python3-numpy_1.24.2.bb +++ b/poky/meta/recipes-devtools/python/python3-numpy_1.24.2.bb @@ -66,6 +66,7 @@ RDEPENDS:${PN}-ptest += "${PYTHON_PN}-pytest \ ${PYTHON_PN}-hypothesis \ ${PYTHON_PN}-sortedcontainers \ ${PYTHON_PN}-resource \ + ${PYTHON_PN}-typing-extensions \ ldd \ " diff --git a/poky/meta/recipes-devtools/python/python3-pluggy/run-ptest b/poky/meta/recipes-devtools/python/python3-pluggy/run-ptest index b63c4de0d9..8d2017d39c 100644 --- a/poky/meta/recipes-devtools/python/python3-pluggy/run-ptest +++ b/poky/meta/recipes-devtools/python/python3-pluggy/run-ptest @@ -1,3 +1,3 @@ #!/bin/sh -pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}' +pytest --automake diff --git a/poky/meta/recipes-devtools/python/python3-pluggy_1.0.0.bb b/poky/meta/recipes-devtools/python/python3-pluggy_1.0.0.bb index 2935acf95f..99ae6336b7 100644 --- a/poky/meta/recipes-devtools/python/python3-pluggy_1.0.0.bb +++ b/poky/meta/recipes-devtools/python/python3-pluggy_1.0.0.bb @@ -18,6 +18,7 @@ SRC_URI += " \ RDEPENDS:${PN}-ptest += " \ ${PYTHON_PN}-pytest \ + ${PYTHON_PN}-unittest-automake-output \ " do_install_ptest() { diff --git a/poky/meta/recipes-devtools/python/python3-poetry-core_1.5.1.bb b/poky/meta/recipes-devtools/python/python3-poetry-core_1.5.2.bb index 952ffef99d..738b978690 100644 --- a/poky/meta/recipes-devtools/python/python3-poetry-core_1.5.1.bb +++ b/poky/meta/recipes-devtools/python/python3-poetry-core_1.5.2.bb @@ -19,7 +19,7 @@ LIC_FILES_CHKSUM = "\ file://src/poetry/core/_vendor/typing_extensions.LICENSE;md5=f16b323917992e0f8a6f0071bc9913e2 \ " -SRC_URI[sha256sum] = "41887261358863f25831fa0ad1fe7e451fc32d1c81fcf7710ba5174cc0047c6d" +SRC_URI[sha256sum] = "c6556c3b1ec5b8668e6ef5a4494726bc41d31907339425e194e78a6178436c14" inherit python_poetry_core pypi PYPI_ARCHIVE_NAME = "poetry_core-${PV}.${PYPI_PACKAGE_EXT}" diff --git a/poky/meta/recipes-devtools/python/python3-pyasn1/run-ptest b/poky/meta/recipes-devtools/python/python3-pyasn1/run-ptest index b63c4de0d9..8d2017d39c 100644 --- a/poky/meta/recipes-devtools/python/python3-pyasn1/run-ptest +++ b/poky/meta/recipes-devtools/python/python3-pyasn1/run-ptest @@ -1,3 +1,3 @@ #!/bin/sh -pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}' +pytest --automake diff --git a/poky/meta/recipes-devtools/python/python3-pytest_7.2.1.bb b/poky/meta/recipes-devtools/python/python3-pytest_7.2.2.bb index c7610d440c..4e2c86f641 100644 --- a/poky/meta/recipes-devtools/python/python3-pytest_7.2.1.bb +++ b/poky/meta/recipes-devtools/python/python3-pytest_7.2.2.bb @@ -5,7 +5,7 @@ DESCRIPTION = "The pytest framework makes it easy to write small tests, yet scal LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE;md5=bd27e41b6550fe0fc45356d1d81ee37c" -SRC_URI[sha256sum] = "d45e0952f3727241918b8fd0f376f5ff6b301cc0777c6f9a556935c92d8a7d42" +SRC_URI[sha256sum] = "c99ab0c73aceb050f68929bc93af19ab6db0558791c6a0715723abe9d0ade9d4" DEPENDS += "python3-setuptools-scm-native" diff --git a/poky/meta/recipes-devtools/python/python3-pytz/run-ptest b/poky/meta/recipes-devtools/python/python3-pytz/run-ptest index b63c4de0d9..8d2017d39c 100644 --- a/poky/meta/recipes-devtools/python/python3-pytz/run-ptest +++ b/poky/meta/recipes-devtools/python/python3-pytz/run-ptest @@ -1,3 +1,3 @@ #!/bin/sh -pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}' +pytest --automake diff --git a/poky/meta/recipes-devtools/python/python3-pytz_2022.7.1.bb b/poky/meta/recipes-devtools/python/python3-pytz_2022.7.1.bb index 553b9cfa18..e399f2139a 100644 --- a/poky/meta/recipes-devtools/python/python3-pytz_2022.7.1.bb +++ b/poky/meta/recipes-devtools/python/python3-pytz_2022.7.1.bb @@ -24,6 +24,7 @@ SRC_URI += " \ RDEPENDS:${PN}-ptest += " \ ${PYTHON_PN}-pytest \ + ${PYTHON_PN}-unittest-automake-output \ " do_install_ptest() { diff --git a/poky/meta/recipes-devtools/python/python3-scons_4.4.0.bb b/poky/meta/recipes-devtools/python/python3-scons_4.5.2.bb index ad1149597f..e0173a309e 100644 --- a/poky/meta/recipes-devtools/python/python3-scons_4.4.0.bb +++ b/poky/meta/recipes-devtools/python/python3-scons_4.5.2.bb @@ -5,7 +5,7 @@ LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE;md5=d903b0b8027f461402bac9b5169b36f7" SRC_URI += " file://0001-Fix-man-page-installation.patch" -SRC_URI[sha256sum] = "7703c4e9d2200b4854a31800c1dbd4587e1fa86e75f58795c740bcfa7eca7eaa" +SRC_URI[sha256sum] = "813360b2bce476bc9cc12a0f3a22d46ce520796b352557202cb07d3e402f5458" PYPI_PACKAGE = "SCons" diff --git a/poky/meta/recipes-devtools/python/python3-setuptools_67.3.3.bb b/poky/meta/recipes-devtools/python/python3-setuptools_67.6.0.bb index 053b671e2a..aa1d525c02 100644 --- a/poky/meta/recipes-devtools/python/python3-setuptools_67.3.3.bb +++ b/poky/meta/recipes-devtools/python/python3-setuptools_67.6.0.bb @@ -11,7 +11,7 @@ SRC_URI:append:class-native = " file://0001-conditionally-do-not-fetch-code-by-e SRC_URI += " \ file://0001-_distutils-sysconfig.py-make-it-possible-to-substite.patch" -SRC_URI[sha256sum] = "ed4e75fafe103c79b692f217158ba87edf38d31004b9dbc1913debb48793c828" +SRC_URI[sha256sum] = "2ee892cd5f29f3373097f5a814697e397cf3ce313616df0af11231e2ad118077" DEPENDS += "${PYTHON_PN}" diff --git a/poky/meta/recipes-devtools/python/python3-testtools_2.5.0.bb b/poky/meta/recipes-devtools/python/python3-testtools_2.6.0.bb index 896ecee65c..79e46a02de 100644 --- a/poky/meta/recipes-devtools/python/python3-testtools_2.5.0.bb +++ b/poky/meta/recipes-devtools/python/python3-testtools_2.6.0.bb @@ -1,2 +1,3 @@ inherit setuptools3 require python-testtools.inc + diff --git a/poky/meta/recipes-devtools/python/python3-unittest-automake-output_0.1.bb b/poky/meta/recipes-devtools/python/python3-unittest-automake-output_0.1.bb new file mode 100644 index 0000000000..ba58c18df0 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-unittest-automake-output_0.1.bb @@ -0,0 +1,13 @@ +SUMMARY = "Modules to make unittest and pytest look like Automake output, for ptest" +HOMEPAGE = "https://gitlab.com/rossburton/python-unittest-automake-output" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=f6f16008d9fb7349f06609329f1ab93b" + +SRC_URI = "git://gitlab.com/rossburton/python-unittest-automake-output;protocol=https;branch=main" +SRCREV = "06537edb18f3641c70bce25256f6ecf5f5164ead" + +S = "${WORKDIR}/git" + +inherit python_flit_core + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-urllib3_1.26.14.bb b/poky/meta/recipes-devtools/python/python3-urllib3_1.26.15.bb index f35a141df2..d2de7c4c02 100644 --- a/poky/meta/recipes-devtools/python/python3-urllib3_1.26.14.bb +++ b/poky/meta/recipes-devtools/python/python3-urllib3_1.26.15.bb @@ -3,7 +3,7 @@ HOMEPAGE = "https://github.com/shazow/urllib3" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=c2823cb995439c984fd62a973d79815c" -SRC_URI[sha256sum] = "076907bf8fd355cde77728471316625a4d2f7e713c125f51953bb5b3eecf4f72" +SRC_URI[sha256sum] = "8a388717b9476f934a21484e8c8e61875ab60644d29b9b39e11e4b9dc1c6b305" inherit pypi setuptools3 diff --git a/poky/meta/recipes-devtools/python/python3-wcwidth/run-ptest b/poky/meta/recipes-devtools/python/python3-wcwidth/run-ptest index b63c4de0d9..8d2017d39c 100644 --- a/poky/meta/recipes-devtools/python/python3-wcwidth/run-ptest +++ b/poky/meta/recipes-devtools/python/python3-wcwidth/run-ptest @@ -1,3 +1,3 @@ #!/bin/sh -pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}' +pytest --automake diff --git a/poky/meta/recipes-devtools/python/python3-wcwidth_0.2.6.bb b/poky/meta/recipes-devtools/python/python3-wcwidth_0.2.6.bb index 368146dba4..fbd008c13d 100644 --- a/poky/meta/recipes-devtools/python/python3-wcwidth_0.2.6.bb +++ b/poky/meta/recipes-devtools/python/python3-wcwidth_0.2.6.bb @@ -14,11 +14,12 @@ SRC_URI += " \ RDEPENDS:${PN}-ptest += " \ ${PYTHON_PN}-pytest \ + ${PYTHON_PN}-unittest-automake-output \ " do_install_ptest() { install -d ${D}${PTEST_PATH}/tests - cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ + cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ } BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-webcolors/run-ptest b/poky/meta/recipes-devtools/python/python3-webcolors/run-ptest index 3385d68939..8d2017d39c 100644 --- a/poky/meta/recipes-devtools/python/python3-webcolors/run-ptest +++ b/poky/meta/recipes-devtools/python/python3-webcolors/run-ptest @@ -1,3 +1,3 @@ #!/bin/sh -pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}' +pytest --automake diff --git a/poky/meta/recipes-devtools/python/python3-webcolors_1.12.bb b/poky/meta/recipes-devtools/python/python3-webcolors_1.12.bb index 39ff19c2b8..02f6c9fed8 100644 --- a/poky/meta/recipes-devtools/python/python3-webcolors_1.12.bb +++ b/poky/meta/recipes-devtools/python/python3-webcolors_1.12.bb @@ -17,6 +17,7 @@ SRC_URI += " \ RDEPENDS:${PN}-ptest += " \ ${PYTHON_PN}-pytest \ + ${PYTHON_PN}-unittest-automake-output \ " do_install_ptest() { diff --git a/poky/meta/recipes-devtools/python/python3-wheel/0001-Backport-pyproject.toml-from-flit-backend-branch.patch b/poky/meta/recipes-devtools/python/python3-wheel/0001-Backport-pyproject.toml-from-flit-backend-branch.patch deleted file mode 100644 index 023de0e6a8..0000000000 --- a/poky/meta/recipes-devtools/python/python3-wheel/0001-Backport-pyproject.toml-from-flit-backend-branch.patch +++ /dev/null @@ -1,100 +0,0 @@ -From f00dd220346773bc088d403847ee7f06f2b4c30a Mon Sep 17 00:00:00 2001 -From: Tim Orling <tim.orling@konsulko.com> -Date: Fri, 18 Feb 2022 11:09:16 -0800 -Subject: [PATCH] Backport pyproject.toml from flit-backend branch - -This allows us to bootstrap wheels and PEP-517 packaging. - -Upstream-Status: Backport from flit-backend branch -https://raw.githubusercontent.com/pypa/wheel/4f6ba78fede38a8d9e35a14e38377a121033afb3/pyproject.toml - -Signed-off-by: Tim Orling <tim.orling@konsulko.com> ---- - pyproject.toml | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 78 insertions(+) - create mode 100644 pyproject.toml - -diff --git a/pyproject.toml b/pyproject.toml -new file mode 100644 -index 0000000..749b8de ---- /dev/null -+++ b/pyproject.toml -@@ -0,0 +1,78 @@ -+[build-system] -+requires = ["flit_core >=3.2,<4"] -+build-backend = "flit_core.buildapi" -+ -+[project] -+name = "wheel" -+description = "A built-package format for Python" -+readme = "README.rst" -+classifiers = [ -+ "Development Status :: 5 - Production/Stable", -+ "Intended Audience :: Developers", -+ "Topic :: System :: Archiving :: Packaging", -+ "License :: OSI Approved :: MIT License", -+ "Programming Language :: Python", -+ "Programming Language :: Python :: 3 :: Only", -+ "Programming Language :: Python :: 3.7", -+ "Programming Language :: Python :: 3.8", -+ "Programming Language :: Python :: 3.9", -+ "Programming Language :: Python :: 3.10" -+] -+authors = [{name = "Daniel Holth", email = "dholth@fastmail.fm"}] -+maintainers = [{name = "Alex Grönholm", email = "alex.gronholm@nextday.fi"}] -+keywords = ["wheel", "packaging"] -+license = {file = "LICENSE.txt"} -+requires-python = ">=3.7" -+dependencies = [ -+ "setuptools >= 45.2.0" -+] -+dynamic = ["version"] -+ -+[project.urls] -+Documentation = "https://wheel.readthedocs.io/" -+Changelog = "https://wheel.readthedocs.io/en/stable/news.html" -+"Issue Tracker" = "https://github.com/pypa/wheel/issues" -+ -+[project.scripts] -+wheel = "wheel.cli:main" -+ -+[project.entry-points."distutils.commands"] -+bdist_wheel = "wheel.bdist_wheel:bdist_wheel" -+ -+[project.optional-dependencies] -+test = [ -+ "pytest >= 3.0.0" -+] -+ -+[tool.flit.sdist] -+exclude = [ -+ ".cirrus.yml", -+ ".github/*", -+ ".gitignore", -+ ".pre-commit-config.yaml", -+ ".readthedocs.yml" -+] -+ -+[tool.black] -+target-version = ['py37'] -+extend-exclude = ''' -+^/src/wheel/vendored/ -+''' -+ -+[tool.isort] -+src_paths = ["src"] -+profile = "black" -+skip_gitignore = true -+ -+[tool.flake8] -+max-line-length = 88 -+ -+[tool.pytest.ini_options] -+testpaths = "tests" -+ -+[tool.coverage.run] -+source = ["wheel"] -+omit = ["*/vendored/*"] -+ -+[tool.coverage.report] -+show_missing = true diff --git a/poky/meta/recipes-devtools/python/python3-wheel_0.38.4.bb b/poky/meta/recipes-devtools/python/python3-wheel_0.40.0.bb index 6263cbc45c..2b8111d544 100644 --- a/poky/meta/recipes-devtools/python/python3-wheel_0.38.4.bb +++ b/poky/meta/recipes-devtools/python/python3-wheel_0.40.0.bb @@ -2,14 +2,12 @@ SUMMARY = "The official binary distribution format for Python " HOMEPAGE = "https://github.com/pypa/wheel" SECTION = "devel/python" LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=10;endline=10;md5=8227180126797a0148f94f483f3e1489" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=7ffb0db04527cfe380e4f2726bd05ebf" -SRC_URI[sha256sum] = "965f5259b566725405b05e7cf774052044b1ed30119b5d586b2703aafe8719ac" +SRC_URI[sha256sum] = "cd1196f3faee2b31968d626e1731c94f99cbdb67cf5a46e4f5656cbee7738873" inherit python_flit_core pypi -SRC_URI += " file://0001-Backport-pyproject.toml-from-flit-backend-branch.patch" - BBCLASSEXTEND = "native nativesdk" # This used to use the bootstrap install which didn't compile. Until we bump the diff --git a/poky/meta/recipes-devtools/python/python3/python3-manifest.json b/poky/meta/recipes-devtools/python/python3/python3-manifest.json index 58e6f28a69..498402af42 100644 --- a/poky/meta/recipes-devtools/python/python3/python3-manifest.json +++ b/poky/meta/recipes-devtools/python/python3/python3-manifest.json @@ -835,7 +835,8 @@ "unixadmin", "venv", "xml", - "xmlrpc" + "xmlrpc", + "zoneinfo" ], "rrecommends": [ "distutils-windows" diff --git a/poky/meta/recipes-devtools/python/python3_3.11.2.bb b/poky/meta/recipes-devtools/python/python3_3.11.2.bb index 43c147ca6d..5060722beb 100644 --- a/poky/meta/recipes-devtools/python/python3_3.11.2.bb +++ b/poky/meta/recipes-devtools/python/python3_3.11.2.bb @@ -417,6 +417,7 @@ RDEPENDS:${PN}-misc += "\ " RDEPENDS:${PN}-modules:append:class-target = " ${MLPREFIX}python3-misc" RDEPENDS:${PN}-modules:append:class-nativesdk = " ${MLPREFIX}python3-misc" +RDEPENDS:${PN}-modules:append:class-target = " ${@bb.utils.contains('PACKAGECONFIG', 'gdbm', '${MLPREFIX}python3-gdbm', '', d)}" FILES:${PN}-misc = "${libdir}/python${PYTHON_MAJMIN} ${libdir}/python${PYTHON_MAJMIN}/lib-dynload" # catch manpage @@ -426,8 +427,8 @@ FILES:${PN}-man = "${datadir}/man" # See https://bugs.python.org/issue18748 and https://bugs.python.org/issue37395 RDEPENDS:libpython3:append:libc-glibc = " libgcc" RDEPENDS:${PN}-ctypes:append:libc-glibc = " ${MLPREFIX}ldconfig" -RDEPENDS:${PN}-ptest = "${PN}-modules ${PN}-tests ${PN}-dev unzip bzip2 libgcc tzdata-europe coreutils sed" -RDEPENDS:${PN}-ptest:append:libc-glibc = " locale-base-tr-tr.iso-8859-9" +RDEPENDS:${PN}-ptest = "${PN}-modules ${PN}-tests ${PN}-dev unzip bzip2 libgcc tzdata coreutils sed" +RDEPENDS:${PN}-ptest:append:libc-glibc = " locale-base-fr-fr locale-base-en-us locale-base-tr-tr locale-base-de-de" RDEPENDS:${PN}-tkinter += "${@bb.utils.contains('PACKAGECONFIG', 'tk', '${MLPREFIX}tk ${MLPREFIX}tk-lib', '', d)}" RDEPENDS:${PN}-idle += "${@bb.utils.contains('PACKAGECONFIG', 'tk', '${PN}-tkinter ${MLPREFIX}tcl', '', d)}" DEV_PKG_DEPENDENCY = "" diff --git a/poky/meta/recipes-devtools/qemu/qemu.inc b/poky/meta/recipes-devtools/qemu/qemu.inc index 1e768b560d..b41055fe5d 100644 --- a/poky/meta/recipes-devtools/qemu/qemu.inc +++ b/poky/meta/recipes-devtools/qemu/qemu.inc @@ -9,7 +9,7 @@ LICENSE = "GPL-2.0-only & LGPL-2.1-only" RDEPENDS:${PN}-ptest = "bash" require qemu-targets.inc -inherit pkgconfig ptest +inherit pkgconfig ptest update-rc.d systemd LIC_FILES_CHKSUM = "file://COPYING;md5=441c28d2cf86e15a37fa47e15a72fbac \ file://COPYING.LIB;endline=24;md5=8c5efda6cf1e1b03dcfd0e6c0d271c7f" @@ -32,6 +32,8 @@ SRC_URI = "https://download.qemu.org/${BPN}-${PV}.tar.xz \ file://0001-configure-Fix-check-tcg-not-executing-any-tests.patch \ file://0001-Revert-linux-user-add-more-compat-ioctl-definitions.patch \ file://0002-Revert-linux-user-fix-compat-with-glibc-2.36-sys-mou.patch \ + file://qemu-guest-agent.init \ + file://qemu-guest-agent.udev \ " UPSTREAM_CHECK_REGEX = "qemu-(?P<pver>\d+(\.\d+)+)\.tar" @@ -132,6 +134,20 @@ do_configure[cleandirs] += "${B}" do_install () { export STRIP="" oe_runmake 'DESTDIR=${D}' install + + # If we built the guest agent, also install startup/udev rules + if [ -e "${D}${bindir}/qemu-ga" ]; then + install -d ${D}${sysconfdir}/init.d/ + install -m 0755 ${WORKDIR}/qemu-guest-agent.init ${D}${sysconfdir}/init.d/qemu-guest-agent + sed -i 's:@bindir@:${bindir}:' ${D}${sysconfdir}/init.d/qemu-guest-agent + + install -d ${D}${sysconfdir}/udev/rules.d/ + install -m 0644 ${WORKDIR}/qemu-guest-agent.udev ${D}${sysconfdir}/udev/rules.d/60-qemu-guest-agent.rules + + install -d ${D}${systemd_unitdir}/system/ + install -m 0644 ${S}/contrib/systemd/qemu-guest-agent.service ${D}${systemd_unitdir}/system + sed -i -e 's,-/usr/bin/,-${bindir}/,g' ${D}${systemd_unitdir}/system/qemu-guest-agent.service + fi } # The following fragment will create a wrapper for qemu-mips user emulation @@ -210,3 +226,20 @@ PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack," INSANE_SKIP:${PN} = "arch" FILES:${PN} += "${datadir}/icons" + +# Put the guest agent in a separate package +PACKAGES =+ "${PN}-guest-agent" +SUMMARY:${PN}-guest-agent = "QEMU guest agent" +FILES:${PN}-guest-agent += " \ + ${bindir}/qemu-ga \ + ${sysconfdir}/udev/rules.d/60-qemu-guest-agent.rules \ + ${sysconfdir}/init.d/qemu-guest-agent \ + ${systemd_unitdir}/system/qemu-guest-agent.service \ +" + +INITSCRIPT_PACKAGES = "${PN}-guest-agent" +INITSCRIPT_NAME:${PN}-guest-agent = "qemu-guest-agent" +INITSCRIPT_PARAMS:${PN}-guest-agent = "defaults" + +SYSTEMD_PACKAGES = "${PN}-guest-agent" +SYSTEMD_SERVICE:${PN}-guest-agent = "qemu-guest-agent.service" diff --git a/poky/meta/recipes-devtools/qemu/qemu/qemu-guest-agent.init b/poky/meta/recipes-devtools/qemu/qemu/qemu-guest-agent.init new file mode 100644 index 0000000000..5ebaaddeae --- /dev/null +++ b/poky/meta/recipes-devtools/qemu/qemu/qemu-guest-agent.init @@ -0,0 +1,75 @@ +# SPDX-License-Identifier: GPL-2.0-only +# Initially written by: Michael Tokarev <mjt@tls.msk.ru> +# For QEMU Debian downstream package + +set -e + +. /etc/init.d/functions + +PATH=/sbin:/usr/sbin:/bin:/usr/bin +DESC="QEMU Guest Agent" +NAME=qemu-ga +DAEMON=@bindir@/$NAME +PIDFILE=/var/run/$NAME.pid + +# config +DAEMON_ARGS="" +# default transport +TRANSPORT=virtio-serial:/dev/virtio-ports/org.qemu.guest_agent.0 +NO_START=0 + +test ! -r /etc/default/qemu-guest-agent || . /etc/default/qemu-guest-agent +test "$NO_START" = "0" || exit 0 +test -x "$DAEMON" || exit 0 + +# +# Function that checks whenever system has necessary environment +# It also splits $TRANSPORT into $method and $path +# +do_check_transport() { + method=${TRANSPORT%%:*}; + path=${TRANSPORT#*:} + case "$method" in + virtio-serial | isa-serial) + if [ ! -e "$path" ]; then + echo "$NAME: transport endpoint not found, not starting" + return 1 + fi + ;; + esac +} + +case "$1" in + start) + do_check_transport || exit 0 + echo -n "Starting $DESC: " + start-stop-daemon -S -p $PIDFILE -x "$DAEMON" -- \ + $DAEMON_ARGS -d -m "$method" -p "$path" + echo "$NAME." + ;; + stop) + echo -n "Stopping $DESC: " + start-stop-daemon -K -x "$DAEMON" -p $PIDFILE + echo "$NAME." + ;; + status) + status "$DAEMON" + exit $? + ;; + restart|force-reload) + do_check_transport || exit 0 + echo -n "Restarting $DESC: " + start-stop-daemon -K -x "$DAEMON" -p $PIDFILE + sleep 1 + start-stop-daemon -S -p $PIDFILE -x "$DAEMON" -- \ + $DAEMON_ARGS -d -m "$method" -p "$path" + echo "$NAME." + ;; + *) + N=/etc/init.d/$NAME + echo "Usage: $N {start|stop|status|restart|force-reload}" >&2 + exit 1 + ;; +esac + +exit 0 diff --git a/poky/meta/recipes-devtools/qemu/qemu/qemu-guest-agent.udev b/poky/meta/recipes-devtools/qemu/qemu/qemu-guest-agent.udev new file mode 100644 index 0000000000..47097057e3 --- /dev/null +++ b/poky/meta/recipes-devtools/qemu/qemu/qemu-guest-agent.udev @@ -0,0 +1,2 @@ +SUBSYSTEM=="virtio-ports", ATTR{name}=="org.qemu.guest_agent.0", \ + TAG+="systemd", ENV{SYSTEMD_WANTS}="qemu-guest-agent.service" diff --git a/poky/meta/recipes-devtools/quilt/quilt.inc b/poky/meta/recipes-devtools/quilt/quilt.inc index 01fc22e996..c93c38b83c 100644 --- a/poky/meta/recipes-devtools/quilt/quilt.inc +++ b/poky/meta/recipes-devtools/quilt/quilt.inc @@ -63,6 +63,7 @@ do_install:append:class-native () { # The tests need to run as a non-root user, so pull in the ptest user DEPENDS:append:class-target = "${@bb.utils.contains('PTEST_ENABLED', '1', ' ptest-runner', '', d)}" +PACKAGE_WRITE_DEPS += "ptest-runner" do_install_ptest() { install ${WORKDIR}/test.sh ${D}${PTEST_PATH} diff --git a/poky/meta/recipes-devtools/repo/repo_2.31.bb b/poky/meta/recipes-devtools/repo/repo_2.32.bb index 27bb5d163e..dc7557ee1e 100644 --- a/poky/meta/recipes-devtools/repo/repo_2.31.bb +++ b/poky/meta/recipes-devtools/repo/repo_2.32.bb @@ -12,7 +12,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" SRC_URI = "git://gerrit.googlesource.com/git-repo.git;protocol=https;branch=main \ file://0001-python3-shebang.patch \ " -SRCREV = "a621254b263664efa308a645214d3d140e068676" +SRCREV = "7fa149b47a980779f02ccaf1d1dbd5af5ce9abc7" MIRRORS += "git://gerrit.googlesource.com/git-repo.git git://github.com/GerritCodeReview/git-repo.git" diff --git a/poky/meta/recipes-devtools/rpm/files/0001-python-Use-Py_hash_t-instead-of-long-in-hdr_hash.patch b/poky/meta/recipes-devtools/rpm/files/0001-python-Use-Py_hash_t-instead-of-long-in-hdr_hash.patch new file mode 100644 index 0000000000..d0e637191a --- /dev/null +++ b/poky/meta/recipes-devtools/rpm/files/0001-python-Use-Py_hash_t-instead-of-long-in-hdr_hash.patch @@ -0,0 +1,35 @@ +From 6ef189c45b763aedac5ef57ed6a5fc125fa95b41 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Fri, 3 Mar 2023 09:54:48 -0800 +Subject: [PATCH] python: Use Py_hash_t instead of long in hdr_hash + +Fixes +python/header-py.c:744:2: error: incompatible function pointer types initializing 'hashfunc' (aka 'int (*)(struct _object *)') with an expression of type 'long (PyObject *)' (aka 'long (struct _object *)') [-Wincompatible-function-pointer-types] +| hdr_hash, /* tp_hash */ +| ^~~~~~~~ + +Upstream-Status: Submitted [https://github.com/rpm-software-management/rpm/pull/2409] +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + python/header-py.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/python/header-py.c b/python/header-py.c +index 0aed0c9267..c15503f359 100644 +--- a/python/header-py.c ++++ b/python/header-py.c +@@ -316,9 +316,9 @@ static PyObject * hdr_dsOfHeader(PyObject * s) + "(Oi)", s, RPMTAG_NEVR); + } + +-static long hdr_hash(PyObject * h) ++static Py_hash_t hdr_hash(PyObject * h) + { +- return (long) h; ++ return (Py_hash_t) h; + } + + static PyObject * hdr_reduce(hdrObject *s) +-- +2.39.2 + diff --git a/poky/meta/recipes-devtools/rpm/rpm_4.18.0.bb b/poky/meta/recipes-devtools/rpm/rpm_4.18.0.bb index 61e395a9d0..7790db8b5a 100644 --- a/poky/meta/recipes-devtools/rpm/rpm_4.18.0.bb +++ b/poky/meta/recipes-devtools/rpm/rpm_4.18.0.bb @@ -39,6 +39,7 @@ SRC_URI = "git://github.com/rpm-software-management/rpm;branch=rpm-4.18.x;protoc file://0001-build-pack.c-do-not-insert-payloadflags-into-.rpm-me.patch \ file://0001-configure.ac-add-linux-gnux32-variant-to-triplet-han.patch \ file://fifofix.patch \ + file://0001-python-Use-Py_hash_t-instead-of-long-in-hdr_hash.patch \ " PE = "1" @@ -121,8 +122,8 @@ do_install:append:class-nativesdk() { mkdir -p ${D}${SDKPATHNATIVE}/environment-setup.d cat <<- EOF > ${D}${SDKPATHNATIVE}/environment-setup.d/rpm.sh - export RPM_CONFIGDIR="$OECORE_NATIVE_SYSROOT${libdir}/rpm" - export RPM_ETCCONFIGDIR="$OECORE_NATIVE_SYSROOT${sysconfdir}" + export RPM_CONFIGDIR="${libdir}/rpm" + export RPM_ETCCONFIGDIR="${SDKPATHNATIVE}" export RPM_NO_CHROOT_FOR_SCRIPTS=1 EOF } @@ -133,6 +134,9 @@ do_install:append:class-target() { } do_install:append:class-nativesdk() { rm -rf ${D}${SDKPATHNATIVE}/var + # Ensure find-debuginfo is located correctly inside SDK + mkdir -p ${D}${SDKPATHNATIVE}/etc/rpm + echo "%__find_debuginfo ${SDKPATHNATIVE}/usr/bin/find-debuginfo" >> ${D}${SDKPATHNATIVE}/etc/rpm/macros } do_install:append () { @@ -158,9 +162,7 @@ FILES:${PN}-build = "\ ${libdir}/librpmbuild.so.* \ ${libdir}/rpm/brp-* \ ${libdir}/rpm/check-* \ - ${libdir}/rpm/debugedit \ ${libdir}/rpm/sepdebugcrcfix \ - ${libdir}/rpm/find-debuginfo.sh \ ${libdir}/rpm/find-lang.sh \ ${libdir}/rpm/*provides* \ ${libdir}/rpm/*requires* \ @@ -172,6 +174,7 @@ FILES:${PN}-build = "\ ${libdir}/rpm/macros.p* \ ${libdir}/rpm/fileattrs/* \ " +FILES:${PN}-build:append:class-nativesdk = " ${SDKPATHNATIVE}/etc/rpm/macros" FILES:${PN}-sign = "\ ${bindir}/rpmsign \ @@ -186,7 +189,7 @@ PACKAGES += "python3-rpm" PROVIDES += "python3-rpm" FILES:python3-rpm = "${PYTHON_SITEPACKAGES_DIR}/rpm/*" -RDEPENDS:${PN}-build = "bash perl python3-core" +RDEPENDS:${PN}-build = "bash perl python3-core debugedit" PACKAGE_PREPROCESS_FUNCS += "rpm_package_preprocess" diff --git a/poky/meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts.service b/poky/meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts.service index 7f72f3388a..b6b81d5c1a 100644 --- a/poky/meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts.service +++ b/poky/meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts.service @@ -1,7 +1,7 @@ [Unit] Description=Run pending postinsts DefaultDependencies=no -After=systemd-remount-fs.service systemd-tmpfiles-setup.service tmp.mount +After=systemd-remount-fs.service systemd-tmpfiles-setup.service tmp.mount ldconfig.service Before=sysinit.target [Service] diff --git a/poky/meta/recipes-devtools/rust/rust_1.67.1.bb b/poky/meta/recipes-devtools/rust/rust_1.67.1.bb index 2118faec8f..f4c6d9511d 100644 --- a/poky/meta/recipes-devtools/rust/rust_1.67.1.bb +++ b/poky/meta/recipes-devtools/rust/rust_1.67.1.bb @@ -13,6 +13,8 @@ DEPENDS:append:class-nativesdk = " nativesdk-rust-llvm" DEPENDS += "rust-llvm (=${PV})" +RDEPENDS:${PN}:append:class-target = " gcc g++ binutils" + # Otherwise we'll depend on what we provide INHIBIT_DEFAULT_RUST_DEPS:class-native = "1" # We don't need to depend on gcc-native because yocto assumes it exists diff --git a/poky/meta/recipes-devtools/strace/strace_6.1.bb b/poky/meta/recipes-devtools/strace/strace_6.2.bb index ec5c10c80d..dc01b57d80 100644 --- a/poky/meta/recipes-devtools/strace/strace_6.1.bb +++ b/poky/meta/recipes-devtools/strace/strace_6.2.bb @@ -16,7 +16,7 @@ SRC_URI = "https://strace.io/files/${PV}/strace-${PV}.tar.xz \ file://0001-configure-Use-autoconf-macro-to-detect-largefile-sup.patch \ file://0002-tests-Replace-off64_t-with-off_t.patch \ " -SRC_URI[sha256sum] = "2579e9cec37dbb786f6ea0bebd15f40dd561ef2bde2a2a2ecdce5963b01859fd" +SRC_URI[sha256sum] = "0c7d38a449416268d3004029a220a15a77c2206a03cc88120f37f46e949177e8" inherit autotools ptest diff --git a/poky/meta/recipes-devtools/tcf-agent/tcf-agent/ldflags.patch b/poky/meta/recipes-devtools/tcf-agent/tcf-agent/ldflags.patch index dfe492091c..d701e8dec0 100644 --- a/poky/meta/recipes-devtools/tcf-agent/tcf-agent/ldflags.patch +++ b/poky/meta/recipes-devtools/tcf-agent/tcf-agent/ldflags.patch @@ -1,7 +1,7 @@ We need LDFLAGS to be respected otherwise there are QA warnings as the right flags don't get used. -Upstream-Status: Inappropriate +Upstream-Status: Inappropriate [oe-core specific] Signed-off-by: Ross Burton <ross.burton@arm.com> From d92af0483c20365fd0af740d0baef8870b4aa374 Mon Sep 17 00:00:00 2001 @@ -10,23 +10,26 @@ Date: Wed, 26 Aug 2015 19:18:11 +0500 Subject: [PATCH] tcf-agent: obey LDFLAGS Signed-off-by: Abdur Rehman <abdur_rehman@mentor.com> + +Rebased to 4a2c4baaccbc8c29ce0297705de9a4e096d57ce5 version + +Signed-off-by: Mark hatle <mark.hatle@amd.com> + + --- Makefile.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/Makefile.inc b/Makefile.inc -index 959028f..3148942 100644 ---- a/Makefile.inc -+++ b/Makefile.inc -@@ -96,7 +96,7 @@ NO_LINK_F ?= -c +Index: agent/Makefile.inc +=================================================================== +--- agent.orig/Makefile.inc ++++ agent/Makefile.inc +@@ -111,7 +111,7 @@ NO_LINK_F ?= -c # Linker definition and flags - LINK ?= $(CC) --LINK_FLAGS ?= $(CFLAGS) -+LINK_FLAGS ?= $(LDFLAGS) $(CFLAGS) - LINK_OUT_F ?= $(OUT_OBJ_F) + LINK ?= $(CC) +-LINK_FLAGS ?= $(CFLAGS) ++LINK_FLAGS ?= $(LDFLAGS) $(CFLAGS) + LINK_OUT_F ?= $(OUT_OBJ_F) # Archiver definition and flags --- -1.7.9.5 - diff --git a/poky/meta/recipes-devtools/tcf-agent/tcf-agent_git.bb b/poky/meta/recipes-devtools/tcf-agent/tcf-agent_git.bb index 0d627f4e23..9e77f12b53 100644 --- a/poky/meta/recipes-devtools/tcf-agent/tcf-agent_git.bb +++ b/poky/meta/recipes-devtools/tcf-agent/tcf-agent_git.bb @@ -6,7 +6,7 @@ BUGTRACKER = "https://bugs.eclipse.org/bugs/" LICENSE = "EPL-1.0 | EDL-1.0" LIC_FILES_CHKSUM = "file://edl-v10.html;md5=522a390a83dc186513f0500543ad3679" -SRCREV = "2735e3d6b7eccb05ab232825c618c837d27a5010" +SRCREV = "4a2c4baaccbc8c29ce0297705de9a4e096d57ce5" PV = "1.7.0+git${SRCPV}" UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+(\.\d+)+))" diff --git a/poky/meta/recipes-devtools/vala/vala.inc b/poky/meta/recipes-devtools/vala/vala.inc index d3daee37dc..162e99bb03 100644 --- a/poky/meta/recipes-devtools/vala/vala.inc +++ b/poky/meta/recipes-devtools/vala/vala.inc @@ -50,6 +50,9 @@ do_install:append:class-target() { # vapi files. SYSROOT_DIRS += "${bindir_crossscripts}" +inherit multilib_script +MULTILIB_SCRIPTS = "${PN}:${bindir}/vala-gen-introspect-0.56" + SYSROOT_PREPROCESS_FUNCS:append:class-target = " vapigen_sysroot_preprocess" vapigen_sysroot_preprocess() { # Tweak the vapigen name in the vapigen pkgconfig file, so that it picks @@ -64,5 +67,5 @@ SSTATE_SCAN_FILES += "vapigen-wrapper" PACKAGE_PREPROCESS_FUNCS += "vala_package_preprocess" vala_package_preprocess () { - sed -i -e 's:${RECIPE_SYSROOT}::g;' ${PKGD}${bindir_crossscripts}/vapigen-wrapper + rm -rf ${PKGD}${bindir_crossscripts} } diff --git a/poky/meta/recipes-devtools/valgrind/valgrind/remove-for-all b/poky/meta/recipes-devtools/valgrind/valgrind/remove-for-all index 5d1e7ed102..e26088f3b1 100644 --- a/poky/meta/recipes-devtools/valgrind/valgrind/remove-for-all +++ b/poky/meta/recipes-devtools/valgrind/valgrind/remove-for-all @@ -3,6 +3,7 @@ gdbserver_tests/hginfo memcheck/tests/supp_unknown helgrind/tests/tls_threads helgrind/tests/pth_mempcpy_false_races +drd/tests/bar_bad drd/tests/bar_bad_xml drd/tests/pth_barrier_thr_cr drd/tests/std_thread2 diff --git a/poky/meta/recipes-devtools/valgrind/valgrind_3.20.0.bb b/poky/meta/recipes-devtools/valgrind/valgrind_3.20.0.bb index 701dbf3833..07e50426e4 100644 --- a/poky/meta/recipes-devtools/valgrind/valgrind_3.20.0.bb +++ b/poky/meta/recipes-devtools/valgrind/valgrind_3.20.0.bb @@ -133,7 +133,7 @@ RDEPENDS:${PN}-ptest += " bash coreutils curl file \ perl-module-carp perl-module-symbol \ procps sed ${PN}-dbg ${PN}-src ${TCLIBC}-src gcc-runtime-dbg \ util-linux-taskset" -RDEPENDS:${PN}-ptest:append:libc-glibc = " glibc-utils" +RDEPENDS:${PN}-ptest:append:libc-glibc = " glibc-utils glibc-gconv-utf-32" # One of the tests contains a bogus interpreter path on purpose. # Skip file dependency check diff --git a/poky/meta/recipes-extended/bc/bc/run-ptest b/poky/meta/recipes-extended/bc/bc/run-ptest index 66a1b9d708..ba5abe6805 100644 --- a/poky/meta/recipes-extended/bc/bc/run-ptest +++ b/poky/meta/recipes-extended/bc/bc/run-ptest @@ -2,8 +2,8 @@ for TEST in *.b; do if bc -l $TEST </dev/null; then - echo “PASS: bc/$TEST” + echo "PASS: bc/$TEST" else - echo “FAIL: bc/$TEST” + echo "FAIL: bc/$TEST" fi done diff --git a/poky/meta/recipes-extended/cpio/cpio-2.13/run-ptest b/poky/meta/recipes-extended/cpio/cpio-2.13/run-ptest index bdac7259c1..f027574e86 100644 --- a/poky/meta/recipes-extended/cpio/cpio-2.13/run-ptest +++ b/poky/meta/recipes-extended/cpio/cpio-2.13/run-ptest @@ -1,7 +1,7 @@ #!/bin/sh # Define cpio test work dir -WORKDIR=/usr/lib/cpio/ptest/tests/ +WORKDIR=@PTEST_PATH@/tests/ # Run test cd ${WORKDIR} diff --git a/poky/meta/recipes-extended/cpio/cpio_2.13.bb b/poky/meta/recipes-extended/cpio/cpio_2.13.bb index 7a3c8b308b..3350ba710e 100644 --- a/poky/meta/recipes-extended/cpio/cpio_2.13.bb +++ b/poky/meta/recipes-extended/cpio/cpio_2.13.bb @@ -56,6 +56,7 @@ do_install_ptest() { install --mode=755 ${B}/tests/atlocal ${D}${PTEST_PATH}/tests/ install --mode=755 ${B}/tests/genfile ${D}${PTEST_PATH}/tests/ install --mode=755 ${S}/tests/testsuite ${D}${PTEST_PATH}/tests/ + sed -i "s#@PTEST_PATH@#${PTEST_PATH}#g" ${D}${PTEST_PATH}/run-ptest } PACKAGES =+ "${PN}-rmt" diff --git a/poky/meta/recipes-extended/cracklib/cracklib/0001-packlib.c-support-dictionary-byte-order-dependent.patch b/poky/meta/recipes-extended/cracklib/cracklib/0001-packlib.c-support-dictionary-byte-order-dependent.patch index 8fb512a224..20572b55c4 100644 --- a/poky/meta/recipes-extended/cracklib/cracklib/0001-packlib.c-support-dictionary-byte-order-dependent.patch +++ b/poky/meta/recipes-extended/cracklib/cracklib/0001-packlib.c-support-dictionary-byte-order-dependent.patch @@ -26,7 +26,7 @@ Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com> 1 file changed, 210 insertions(+), 4 deletions(-) diff --git a/lib/packlib.c b/lib/packlib.c -index 8acb7be..a9d8750 100644 +index 9396e1d..d0bb181 100644 --- a/lib/packlib.c +++ b/lib/packlib.c @@ -16,6 +16,12 @@ @@ -41,8 +41,8 @@ index 8acb7be..a9d8750 100644 +#include <byteswap.h> #include "packer.h" - static const char vers_id[] = "packlib.c : v2.3p2 Alec Muffett 18 May 1993"; -@@ -45,6 +51,185 @@ typedef struct + #define DEBUG 0 +@@ -43,6 +49,185 @@ typedef struct char data_get[NUMWORDS][MAXWORDLEN]; } PWDICT64; @@ -228,7 +228,7 @@ index 8acb7be..a9d8750 100644 static int _PWIsBroken64(FILE *ifp) -@@ -57,6 +242,7 @@ _PWIsBroken64(FILE *ifp) +@@ -55,6 +240,7 @@ _PWIsBroken64(FILE *ifp) return 0; } @@ -236,7 +236,7 @@ index 8acb7be..a9d8750 100644 return (pdesc64.header.pih_magic == PIH_MAGIC); } -@@ -149,7 +335,11 @@ PWOpen(prefix, mode) +@@ -147,7 +333,11 @@ PWOpen(prefix, mode) pdesc.header.pih_blocklen = NUMWORDS; pdesc.header.pih_numwords = 0; @@ -249,7 +249,7 @@ index 8acb7be..a9d8750 100644 } else { pdesc.flags &= ~PFOR_WRITE; -@@ -173,6 +363,7 @@ PWOpen(prefix, mode) +@@ -171,6 +361,7 @@ PWOpen(prefix, mode) return NULL; } @@ -257,7 +257,7 @@ index 8acb7be..a9d8750 100644 if ((pdesc.header.pih_magic == 0) || (pdesc.header.pih_numwords == 0)) { /* uh-oh. either a broken "64-bit" file or a garbage file. */ -@@ -195,6 +386,7 @@ PWOpen(prefix, mode) +@@ -193,6 +384,7 @@ PWOpen(prefix, mode) } return NULL; } @@ -265,7 +265,7 @@ index 8acb7be..a9d8750 100644 if (pdesc64.header.pih_magic != PIH_MAGIC) { /* nope, not "64-bit" after all */ -@@ -290,6 +482,7 @@ PWOpen(prefix, mode) +@@ -288,6 +480,7 @@ PWOpen(prefix, mode) { pdesc.flags &= ~PFOR_USEHWMS; } @@ -273,7 +273,7 @@ index 8acb7be..a9d8750 100644 for (i = 0; i < sizeof(pdesc.hwms) / sizeof(pdesc.hwms[0]); i++) { pdesc.hwms[i] = pdesc64.hwms[i]; -@@ -299,6 +492,7 @@ PWOpen(prefix, mode) +@@ -297,6 +490,7 @@ PWOpen(prefix, mode) { pdesc.flags &= ~PFOR_USEHWMS; } @@ -281,7 +281,7 @@ index 8acb7be..a9d8750 100644 #if DEBUG for (i=1; i<=0xff; i++) { -@@ -332,7 +526,11 @@ PWClose(pwp) +@@ -330,7 +524,11 @@ PWClose(pwp) return (-1); } @@ -294,7 +294,7 @@ index 8acb7be..a9d8750 100644 { fprintf(stderr, "index magic fwrite failed\n"); return (-1); -@@ -351,7 +549,12 @@ PWClose(pwp) +@@ -349,7 +547,12 @@ PWClose(pwp) printf("hwm[%02x] = %d\n", i, pwp->hwms[i]); #endif } @@ -308,7 +308,7 @@ index 8acb7be..a9d8750 100644 } } -@@ -405,7 +608,8 @@ PutPW(pwp, string) +@@ -403,7 +606,8 @@ PutPW(pwp, string) datum = (uint32_t) ftell(pwp->dfp); @@ -318,7 +318,7 @@ index 8acb7be..a9d8750 100644 fputs(pwp->data_put[0], pwp->dfp); putc(0, (FILE*) pwp->dfp); -@@ -464,6 +668,7 @@ GetPW(pwp, number) +@@ -462,6 +666,7 @@ GetPW(pwp, number) perror("(index fread failed)"); return NULL; } @@ -326,7 +326,7 @@ index 8acb7be..a9d8750 100644 datum = datum64; } else { if (fseek(pwp->ifp, sizeof(struct pi_header) + (thisblock * sizeof(uint32_t)), 0)) -@@ -477,6 +682,7 @@ GetPW(pwp, number) +@@ -475,6 +680,7 @@ GetPW(pwp, number) perror("(index fread failed)"); return NULL; } diff --git a/poky/meta/recipes-extended/cracklib/cracklib/0002-craklib-fix-testnum-and-teststr-failed.patch b/poky/meta/recipes-extended/cracklib/cracklib/0002-craklib-fix-testnum-and-teststr-failed.patch deleted file mode 100644 index 1ee97357d0..0000000000 --- a/poky/meta/recipes-extended/cracklib/cracklib/0002-craklib-fix-testnum-and-teststr-failed.patch +++ /dev/null @@ -1,53 +0,0 @@ -From 7250328d7f77069726603ef7132826c9260d3c92 Mon Sep 17 00:00:00 2001 -From: Hongxu Jia <hongxu.jia@windriver.com> -Date: Sat, 27 Apr 2013 16:02:30 +0800 -Subject: [PATCH 2/2] craklib:fix testnum and teststr failed - -Error log: -... -$ ./testnum -(null).pwd.gz: No such file or directory -PWOpen: No such file or directory - -$ ./util/teststr -(null).pwd.gz: No such file or directory -PWOpen: No such file or directory -... -Set DEFAULT_CRACKLIB_DICT as the path of PWOpen - -Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> -Upstream-Status: Submitted [https://github.com/cracklib/cracklib/pull/42] ---- - util/testnum.c | 2 +- - util/teststr.c | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/util/testnum.c b/util/testnum.c -index ae2246d..ca210ff 100644 ---- a/util/testnum.c -+++ b/util/testnum.c -@@ -20,7 +20,7 @@ main () - PWDICT *pwp; - char buffer[STRINGSIZE]; - -- if (!(pwp = PWOpen (NULL, "r"))) -+ if (!(pwp = PWOpen (DEFAULT_CRACKLIB_DICT, "r"))) - { - perror ("PWOpen"); - return (-1); -diff --git a/util/teststr.c b/util/teststr.c -index 2a31fa4..9fb9cda 100644 ---- a/util/teststr.c -+++ b/util/teststr.c -@@ -15,7 +15,7 @@ main () - PWDICT *pwp; - char buffer[STRINGSIZE]; - -- if (!(pwp = PWOpen (NULL, "r"))) -+ if (!(pwp = PWOpen (DEFAULT_CRACKLIB_DICT, "r"))) - { - perror ("PWOpen"); - return (-1); --- -2.20.1 - diff --git a/poky/meta/recipes-extended/cracklib/cracklib_2.9.8.bb b/poky/meta/recipes-extended/cracklib/cracklib_2.9.10.bb index 786940a7e0..8197cdad9e 100644 --- a/poky/meta/recipes-extended/cracklib/cracklib_2.9.8.bb +++ b/poky/meta/recipes-extended/cracklib/cracklib_2.9.10.bb @@ -9,12 +9,11 @@ DEPENDS = "cracklib-native zlib" EXTRA_OECONF = "--without-python --libdir=${base_libdir}" -SRC_URI = "git://github.com/cracklib/cracklib;protocol=https;branch=master \ +SRC_URI = "git://github.com/cracklib/cracklib;protocol=https;branch=main \ file://0001-packlib.c-support-dictionary-byte-order-dependent.patch \ - file://0002-craklib-fix-testnum-and-teststr-failed.patch \ " -SRCREV = "d9e8f9f47718539aeba80f90f4e072549926dc9c" +SRCREV = "e74c539344d024709ee76e2920b0af7f9a5c5556" S = "${WORKDIR}/git/src" inherit autotools gettext diff --git a/poky/meta/recipes-extended/cups/cups.inc b/poky/meta/recipes-extended/cups/cups.inc index 9c920bb133..da320b1085 100644 --- a/poky/meta/recipes-extended/cups/cups.inc +++ b/poky/meta/recipes-extended/cups/cups.inc @@ -47,6 +47,7 @@ PACKAGECONFIG[gnutls] = "--with-tls=gnutls,--with-tls=no,gnutls" PACKAGECONFIG[pam] = "--enable-pam --with-pam-module=unix, --disable-pam, libpam" PACKAGECONFIG[systemd] = "--with-systemd=${systemd_system_unitdir},--without-systemd,systemd" PACKAGECONFIG[xinetd] = "--with-xinetd=${sysconfdir}/xinetd.d,--without-xinetd,xinetd" +PACKAGECONFIG[webif] = "--enable-webif,--disable-webif" EXTRA_OECONF = " \ --enable-dbus \ @@ -66,7 +67,7 @@ EXTRA_OECONF = " \ EXTRA_AUTORECONF += "--exclude=autoheader" do_install () { - oe_runmake "DESTDIR=${D}" install + oe_runmake "BUILDROOT=${D}" install # Remove /var/run from package as cupsd will populate it on startup rm -fr ${D}/${localstatedir}/run @@ -74,7 +75,7 @@ do_install () { rmdir ${D}/${libexecdir}/${BPN}/driver # Fix the pam configuration file permissions - if ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'true', 'false', d)}; then + if ${@bb.utils.contains('PACKAGECONFIG', 'pam', 'true', 'false', d)}; then chmod 0644 ${D}${sysconfdir}/pam.d/cups fi @@ -92,7 +93,7 @@ do_install () { fi } -PACKAGES =+ "${PN}-lib ${PN}-libimage" +PACKAGES =+ "${PN}-lib ${PN}-libimage ${PN}-webif" RDEPENDS:${PN} += "${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'procps', '', d)}" FILES:${PN} += "${libexecdir}/cups/" @@ -101,13 +102,10 @@ FILES:${PN}-lib = "${libdir}/libcups.so.*" FILES:${PN}-libimage = "${libdir}/libcupsimage.so.*" -#package the html for the webgui inside the main packages (~1MB uncompressed) +# put the html for the web interface into its own PACKAGE +FILES:${PN}-webif += "${datadir}/doc/cups/ ${datadir}/icons/" +RRECOMMENDS:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'webif', '${PN}-webif', '', d)}" -FILES:${PN} += "${datadir}/doc/cups/images \ - ${datadir}/doc/cups/*html \ - ${datadir}/doc/cups/*.css \ - ${datadir}/icons/ \ - " CONFFILES:${PN} += "${sysconfdir}/cups/cupsd.conf" MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/cups-config" diff --git a/poky/meta/recipes-extended/ethtool/ethtool/0001-marvell.c-define-_GNU_SOURCE.patch b/poky/meta/recipes-extended/ethtool/ethtool/0001-marvell.c-define-_GNU_SOURCE.patch deleted file mode 100644 index 8a7eeafb9c..0000000000 --- a/poky/meta/recipes-extended/ethtool/ethtool/0001-marvell.c-define-_GNU_SOURCE.patch +++ /dev/null @@ -1,59 +0,0 @@ -From 5112785191e3279c671a027fe797be77e1071ecd Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex@linutronix.de> -Date: Mon, 2 Jan 2023 13:45:46 +0100 -Subject: [PATCH] marvell.c: use portable integer types - -u_int32_t is not portable, but uint32_t is. - -Upstream-Status: Submitted [by email to mkubecek@suse.cz] -Signed-off-by: Alexander Kanavin <alex@linutronix.de> - ---- - marvell.c | 34 +++++++++++++++++----------------- - 1 file changed, 17 insertions(+), 17 deletions(-) - -diff --git a/marvell.c b/marvell.c -index d3d570e..3d42eed 100644 ---- a/marvell.c -+++ b/marvell.c -@@ -31,23 +31,23 @@ static void dump_timer(const char *name, const void *p) - static void dump_queue(const char *name, const void *a, int rx) - { - struct desc { -- u_int32_t ctl; -- u_int32_t next; -- u_int32_t data_lo; -- u_int32_t data_hi; -- u_int32_t status; -- u_int32_t timestamp; -- u_int16_t csum2; -- u_int16_t csum1; -- u_int16_t csum2_start; -- u_int16_t csum1_start; -- u_int32_t addr_lo; -- u_int32_t addr_hi; -- u_int32_t count_lo; -- u_int32_t count_hi; -- u_int32_t byte_count; -- u_int32_t csr; -- u_int32_t flag; -+ uint32_t ctl; -+ uint32_t next; -+ uint32_t data_lo; -+ uint32_t data_hi; -+ uint32_t status; -+ uint32_t timestamp; -+ uint16_t csum2; -+ uint16_t csum1; -+ uint16_t csum2_start; -+ uint16_t csum1_start; -+ uint32_t addr_lo; -+ uint32_t addr_hi; -+ uint32_t count_lo; -+ uint32_t count_hi; -+ uint32_t byte_count; -+ uint32_t csr; -+ uint32_t flag; - }; - const struct desc *d = a; - diff --git a/poky/meta/recipes-extended/ethtool/ethtool/avoid_parallel_tests.patch b/poky/meta/recipes-extended/ethtool/ethtool/avoid_parallel_tests.patch index 4994369682..d5cb8705c2 100644 --- a/poky/meta/recipes-extended/ethtool/ethtool/avoid_parallel_tests.patch +++ b/poky/meta/recipes-extended/ethtool/ethtool/avoid_parallel_tests.patch @@ -1,4 +1,4 @@ -From 0d066a901292e6a44ff7bc7ee16f99dd2ba4ea15 Mon Sep 17 00:00:00 2001 +From b4ec6635af4d4a47e9ab7bbd5347e78710d19362 Mon Sep 17 00:00:00 2001 From: Tudor Florea <tudor.florea@enea.com> Date: Wed, 28 May 2014 18:59:54 +0200 Subject: [PATCH] ethtool: use serial-tests config needed by ptest. @@ -15,11 +15,11 @@ Upstream-Status: Inappropriate 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac -index 3eb4e7b..ee5c72f 100644 +index ebdfd39..c93b79a 100644 --- a/configure.ac +++ b/configure.ac @@ -2,7 +2,7 @@ dnl Process this file with autoconf to produce a configure script. - AC_INIT(ethtool, 6.1, netdev@vger.kernel.org) + AC_INIT(ethtool, 6.2, netdev@vger.kernel.org) AC_PREREQ(2.52) AC_CONFIG_SRCDIR([ethtool.c]) -AM_INIT_AUTOMAKE([gnu subdir-objects]) diff --git a/poky/meta/recipes-extended/ethtool/ethtool_6.1.bb b/poky/meta/recipes-extended/ethtool/ethtool_6.2.bb index 2b9bbe69db..aea03b729d 100644 --- a/poky/meta/recipes-extended/ethtool/ethtool_6.1.bb +++ b/poky/meta/recipes-extended/ethtool/ethtool_6.2.bb @@ -9,16 +9,15 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ SRC_URI = "${KERNELORG_MIRROR}/software/network/ethtool/ethtool-${PV}.tar.gz \ file://run-ptest \ file://avoid_parallel_tests.patch \ - file://0001-marvell.c-define-_GNU_SOURCE.patch \ " -SRC_URI[sha256sum] = "1d03f1ce324fbd95591191c42ac0c4c9cc721e067b929083a20a46c4b4731436" +SRC_URI[sha256sum] = "1a9f95c3d8c1795a942220912d72c06a208f1c122a78f7690259402856ff06a0" UPSTREAM_CHECK_URI = "https://www.kernel.org/pub/software/network/ethtool/" inherit autotools ptest bash-completion pkgconfig -RDEPENDS:${PN}-ptest += "make" +RDEPENDS:${PN}-ptest += "make bash" PACKAGECONFIG ?= "netlink" PACKAGECONFIG[netlink] = "--enable-netlink,--disable-netlink,libmnl," diff --git a/poky/meta/recipes-extended/findutils/findutils_4.9.0.bb b/poky/meta/recipes-extended/findutils/findutils_4.9.0.bb index e4ce8ee4eb..074817df27 100644 --- a/poky/meta/recipes-extended/findutils/findutils_4.9.0.bb +++ b/poky/meta/recipes-extended/findutils/findutils_4.9.0.bb @@ -14,7 +14,8 @@ CACHED_CONFIGUREVARS += "gl_cv_func_wcwidth_works=yes" EXTRA_OECONF += "ac_cv_path_SORT=${bindir}/sort" -RDEPENDS:${PN}-ptest += "bash sed grep" +# need od from coreutils for -t option +RDEPENDS:${PN}-ptest += "bash sed grep coreutils" do_install_ptest:class-target() { mkdir -p ${D}${PTEST_PATH}/tests/ diff --git a/poky/meta/recipes-extended/gawk/gawk_5.2.1.bb b/poky/meta/recipes-extended/gawk/gawk_5.2.1.bb index fbe6e7040b..e381bad148 100644 --- a/poky/meta/recipes-extended/gawk/gawk_5.2.1.bb +++ b/poky/meta/recipes-extended/gawk/gawk_5.2.1.bb @@ -64,6 +64,6 @@ do_install_ptest() { RDEPENDS:${PN}-ptest += "make" -RDEPENDS:${PN}-ptest:append:libc-glibc = " locale-base-en-us.iso-8859-1" +RDEPENDS:${PN}-ptest:append:libc-glibc = " locale-base-en-us locale-base-en-us.iso-8859-1" BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-extended/grep/grep_3.8.bb b/poky/meta/recipes-extended/grep/grep_3.9.bb index be2caaa920..3c39a5fb56 100644 --- a/poky/meta/recipes-extended/grep/grep_3.8.bb +++ b/poky/meta/recipes-extended/grep/grep_3.9.bb @@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464" SRC_URI = "${GNU_MIRROR}/grep/grep-${PV}.tar.xz" -SRC_URI[sha256sum] = "498d7cc1b4fb081904d87343febb73475cf771e424fb7e6141aff66013abc382" +SRC_URI[sha256sum] = "abcd11409ee23d4caf35feb422e53bbac867014cfeed313bb5f488aca170b599" inherit autotools gettext texinfo pkgconfig diff --git a/poky/meta/recipes-extended/iptables/iptables/0001-configure-Add-option-to-enable-disable-libnfnetlink.patch b/poky/meta/recipes-extended/iptables/iptables/0001-configure-Add-option-to-enable-disable-libnfnetlink.patch index 03c36ccbc2..0c2c97cdc8 100644 --- a/poky/meta/recipes-extended/iptables/iptables/0001-configure-Add-option-to-enable-disable-libnfnetlink.patch +++ b/poky/meta/recipes-extended/iptables/iptables/0001-configure-Add-option-to-enable-disable-libnfnetlink.patch @@ -1,7 +1,7 @@ -From c46db7c2e1f63ec525835553587e70c635565310 Mon Sep 17 00:00:00 2001 +From 698ed332e2c592235d2b737c545ac25ad0970e15 Mon Sep 17 00:00:00 2001 From: "Maxin B. John" <maxin.john@intel.com> Date: Tue, 21 Feb 2017 11:16:31 +0200 -Subject: [PATCH] configure: Add option to enable/disable libnfnetlink +Subject: [PATCH 1/4] configure: Add option to enable/disable libnfnetlink This changes the configure behaviour from autodetecting for libnfnetlink to having an option to disable it explicitly @@ -15,7 +15,7 @@ Signed-off-by: Maxin B. John <maxin.john@intel.com> 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/configure.ac b/configure.ac -index eda7871..03ddc50 100644 +index bc2ed47b..e27745e5 100644 --- a/configure.ac +++ b/configure.ac @@ -63,6 +63,9 @@ AC_ARG_WITH([pkgconfigdir], AS_HELP_STRING([--with-pkgconfigdir=PATH], @@ -28,7 +28,7 @@ index eda7871..03ddc50 100644 AC_ARG_ENABLE([connlabel], AS_HELP_STRING([--disable-connlabel], [Do not build libnetfilter_conntrack]), -@@ -115,9 +118,10 @@ if test "x$enable_bpfc" = "xyes" || test "x$enable_nfsynproxy" = "xyes"; then +@@ -117,9 +120,10 @@ if test "x$enable_bpfc" = "xyes" || test "x$enable_nfsynproxy" = "xyes"; then AC_CHECK_LIB(pcap, pcap_compile,, AC_MSG_ERROR(missing libpcap library required by bpf compiler or nfsynproxy tool)) fi @@ -43,5 +43,5 @@ index eda7871..03ddc50 100644 if test "x$enable_nftables" = "xyes"; then PKG_CHECK_MODULES([libmnl], [libmnl >= 1.0], [mnl=1], [mnl=0]) -- -2.4.0 +2.30.2 diff --git a/poky/meta/recipes-extended/iptables/iptables/0001-iptables-xshared.h-add-missing-sys.types.h-include.patch b/poky/meta/recipes-extended/iptables/iptables/0002-iptables-xshared.h-add-missing-sys.types.h-include.patch index 17dd032434..9621d46c09 100644 --- a/poky/meta/recipes-extended/iptables/iptables/0001-iptables-xshared.h-add-missing-sys.types.h-include.patch +++ b/poky/meta/recipes-extended/iptables/iptables/0002-iptables-xshared.h-add-missing-sys.types.h-include.patch @@ -1,7 +1,7 @@ -From 796b8f6fc1e584c27c42ba302f623fd1c5aa0667 Mon Sep 17 00:00:00 2001 +From d4699d2169fe2d91d0f1f4369d40d2e5f42b8877 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin <alex@linutronix.de> Date: Tue, 17 May 2022 10:56:59 +0200 -Subject: [PATCH] iptables/xshared.h: add missing sys.types.h include +Subject: [PATCH 2/4] iptables/xshared.h: add missing sys.types.h include This resolves the build error under musl: @@ -17,7 +17,7 @@ Signed-off-by: Alexander Kanavin <alex@linutronix.de> 1 file changed, 1 insertion(+) diff --git a/iptables/xshared.h b/iptables/xshared.h -index 14568bb..73b1017 100644 +index 0ed9f3c2..b1413834 100644 --- a/iptables/xshared.h +++ b/iptables/xshared.h @@ -6,6 +6,7 @@ @@ -28,3 +28,6 @@ index 14568bb..73b1017 100644 #include <linux/netfilter_arp/arp_tables.h> #include <linux/netfilter_ipv4/ip_tables.h> #include <linux/netfilter_ipv6/ip6_tables.h> +-- +2.30.2 + diff --git a/poky/meta/recipes-extended/iptables/iptables/0001-Makefile.am-do-not-install-etc-ethertypes.patch b/poky/meta/recipes-extended/iptables/iptables/0003-Makefile.am-do-not-install-etc-ethertypes.patch index aa51265822..cbc97572ec 100644 --- a/poky/meta/recipes-extended/iptables/iptables/0001-Makefile.am-do-not-install-etc-ethertypes.patch +++ b/poky/meta/recipes-extended/iptables/iptables/0003-Makefile.am-do-not-install-etc-ethertypes.patch @@ -1,7 +1,7 @@ -From a4ed9fc8da720585f853d2ca6ffd30e2fa4d1247 Mon Sep 17 00:00:00 2001 +From 28291b41bc3717f51e8d9d465f0100f1ca99dc26 Mon Sep 17 00:00:00 2001 From: Trevor Gamblin <trevor.gamblin@windriver.com> Date: Wed, 9 Mar 2022 12:50:39 -0500 -Subject: [PATCH] Makefile.am: do not install /etc/ethertypes +Subject: [PATCH 3/4] Makefile.am: do not install /etc/ethertypes The /etc/ethertypes is provided by netbase since 6.0[1]. Do not instal the file in ebtables, otherwise there would be a conflict: @@ -20,21 +20,22 @@ Upstream-Status: Inappropriate [embedded specific] Signed-off-by: Trevor Gamblin <trevor.gamblin@windriver.com> --- - Makefile.am | 1 - - 1 file changed, 1 deletion(-) + Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile.am b/Makefile.am -index 799bf8b8..2eb1843f 100644 +index 451c3cb2..5125238c 100644 --- a/Makefile.am +++ b/Makefile.am -@@ -18,7 +18,6 @@ SUBDIRS += iptables +@@ -20,7 +20,7 @@ EXTRA_DIST = autogen.sh iptables-test.py xlate-test.py if ENABLE_NFTABLES confdir = $(sysconfdir) --dist_conf_DATA = etc/ethertypes +-dist_conf_DATA = etc/ethertypes etc/xtables.conf ++dist_conf_DATA = etc/xtables.conf endif .PHONY: tarball -- -2.35.1 +2.30.2 diff --git a/poky/meta/recipes-extended/iptables/iptables/0002-configure.ac-only-check-conntrack-when-libnfnetlink-enabled.patch b/poky/meta/recipes-extended/iptables/iptables/0004-configure.ac-only-check-conntrack-when-libnfnetlink-.patch index 7842c6408a..20c40c4039 100644 --- a/poky/meta/recipes-extended/iptables/iptables/0002-configure.ac-only-check-conntrack-when-libnfnetlink-enabled.patch +++ b/poky/meta/recipes-extended/iptables/iptables/0004-configure.ac-only-check-conntrack-when-libnfnetlink-.patch @@ -1,7 +1,7 @@ -From 26090b3dbcdf6a11e60535da949b726a6e86426d Mon Sep 17 00:00:00 2001 +From e7aa1dd2831f9bb5d0603c5e5027387ad7721b00 Mon Sep 17 00:00:00 2001 From: "Maxin B. John" <maxin.john@intel.com> Date: Tue, 21 Feb 2017 11:49:07 +0200 -Subject: [PATCH] configure.ac: +Subject: [PATCH 4/4] configure.ac: only-check-conntrack-when-libnfnetlink-enabled.patch Package libnetfilter-conntrack depends on package libnfnetlink. iptables @@ -28,10 +28,10 @@ Signed-off-by: Maxin B. John <maxin.john@intel.com> 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/configure.ac b/configure.ac -index 03ddc50..523caea 100644 +index e27745e5..528f1bb5 100644 --- a/configure.ac +++ b/configure.ac -@@ -172,10 +172,12 @@ if test "$nftables" != 1; then +@@ -158,10 +158,12 @@ if test "$nftables" != 1; then fi if test "x$enable_connlabel" = "xyes"; then @@ -47,5 +47,5 @@ index 03ddc50..523caea 100644 blacklist_modules="$blacklist_modules connlabel"; echo "WARNING: libnetfilter_conntrack not found, connlabel match will not be built"; -- -2.4.0 +2.30.2 diff --git a/poky/meta/recipes-extended/iptables/iptables/format-security.patch b/poky/meta/recipes-extended/iptables/iptables/format-security.patch index be1e077b49..fae920f0a8 100644 --- a/poky/meta/recipes-extended/iptables/iptables/format-security.patch +++ b/poky/meta/recipes-extended/iptables/iptables/format-security.patch @@ -1,30 +1,31 @@ -From b72eb12ea5a61df0655ad99d5048994e916be83a Mon Sep 17 00:00:00 2001 +From ed4082a7405a5838c205a34c1559e289949200cc Mon Sep 17 00:00:00 2001 From: Phil Sutter <phil@nwl.cc> -Date: Fri, 13 May 2022 16:51:58 +0200 -Subject: xshared: Fix build for -Werror=format-security +Date: Thu, 12 Jan 2023 14:38:44 +0100 +Subject: extensions: NAT: Fix for -Werror=format-security -Gcc complains about the omitted format string. +Have to pass either a string literal or format string to xt_xlate_add(). +Fixes: f30c5edce0413 ("extensions: Merge SNAT, DNAT, REDIRECT and MASQUERADE") Signed-off-by: Phil Sutter <phil@nwl.cc> -Upstream-Status: Backport +Upstream-Status: Backport [https://git.netfilter.org/iptables/commit/?id=ed4082a7405a5838c205a34c1559e289949200cc] Signed-off-by: Alexander Kanavin <alex@linutronix.de> --- - iptables/xshared.c | 2 +- + extensions/libxt_NAT.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/iptables/xshared.c b/iptables/xshared.c -index fae5ddd5..a8512d38 100644 ---- a/iptables/xshared.c -+++ b/iptables/xshared.c -@@ -1307,7 +1307,7 @@ static void check_empty_interface(struct xtables_args *args, const char *arg) - return; +diff --git a/extensions/libxt_NAT.c b/extensions/libxt_NAT.c +index da9f2201..2a634398 100644 +--- a/extensions/libxt_NAT.c ++++ b/extensions/libxt_NAT.c +@@ -424,7 +424,7 @@ __NAT_xlate(struct xt_xlate *xl, const struct nf_nat_range2 *r, + if (r->flags & NF_NAT_RANGE_PROTO_OFFSET) + return 0; - if (args->family != NFPROTO_ARP) -- xtables_error(PARAMETER_PROBLEM, msg); -+ xtables_error(PARAMETER_PROBLEM, "%s", msg); - - fprintf(stderr, "%s", msg); - } +- xt_xlate_add(xl, tgt); ++ xt_xlate_add(xl, "%s", tgt); + if (strlen(range_str)) + xt_xlate_add(xl, " to %s", range_str); + if (r->flags & NF_NAT_RANGE_PROTO_RANDOM) { -- cgit v1.2.3 diff --git a/poky/meta/recipes-extended/iptables/iptables_1.8.8.bb b/poky/meta/recipes-extended/iptables/iptables_1.8.9.bb index 54d027220b..dc91973548 100644 --- a/poky/meta/recipes-extended/iptables/iptables_1.8.8.bb +++ b/poky/meta/recipes-extended/iptables/iptables_1.8.9.bb @@ -8,18 +8,18 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ file://iptables/iptables.c;beginline=13;endline=25;md5=c5cffd09974558cf27d0f763df2a12dc \ " -SRC_URI = "http://netfilter.org/projects/iptables/files/iptables-${PV}.tar.bz2 \ - file://0001-configure-Add-option-to-enable-disable-libnfnetlink.patch \ - file://0001-Makefile.am-do-not-install-etc-ethertypes.patch \ - file://0002-configure.ac-only-check-conntrack-when-libnfnetlink-enabled.patch \ - file://format-security.patch \ +SRC_URI = "http://netfilter.org/projects/iptables/files/iptables-${PV}.tar.xz \ file://iptables.service \ file://iptables.rules \ file://ip6tables.service \ file://ip6tables.rules \ - file://0001-iptables-xshared.h-add-missing-sys.types.h-include.patch \ + file://0001-configure-Add-option-to-enable-disable-libnfnetlink.patch \ + file://0002-iptables-xshared.h-add-missing-sys.types.h-include.patch \ + file://0003-Makefile.am-do-not-install-etc-ethertypes.patch \ + file://0004-configure.ac-only-check-conntrack-when-libnfnetlink-.patch \ + file://format-security.patch \ " -SRC_URI[sha256sum] = "71c75889dc710676631553eb1511da0177bbaaf1b551265b912d236c3f51859f" +SRC_URI[sha256sum] = "ef6639a43be8325a4f8ea68123ffac236cb696e8c78501b64e8106afb008c87f" SYSTEMD_SERVICE:${PN} = "\ iptables.service \ @@ -116,8 +116,10 @@ RDEPENDS:${PN}-apply = "${PN} bash" # Include the symlinks as well in respective packages FILES:${PN}-module-xt-conntrack += "${libdir}/xtables/libxt_state.so" FILES:${PN}-module-xt-ct += "${libdir}/xtables/libxt_NOTRACK.so ${libdir}/xtables/libxt_REDIRECT.so" +FILES:${PN}-module-xt-nat += "${libdir}/xtables/libxt_SNAT.so ${libdir}/xtables/libxt_DNAT.so ${libdir}/xtables/libxt_MASQUERADE.so" ALLOW_EMPTY:${PN}-modules = "1" INSANE_SKIP:${PN}-module-xt-conntrack = "dev-so" INSANE_SKIP:${PN}-module-xt-ct = "dev-so" +INSANE_SKIP:${PN}-module-xt-nat = "dev-so" diff --git a/poky/meta/recipes-extended/mc/mc_4.8.29.bb b/poky/meta/recipes-extended/mc/mc_4.8.29.bb index 7aac352ab5..e7f4aacc2e 100644 --- a/poky/meta/recipes-extended/mc/mc_4.8.29.bb +++ b/poky/meta/recipes-extended/mc/mc_4.8.29.bb @@ -14,9 +14,6 @@ SRC_URI = "http://www.midnight-commander.org/downloads/${BPN}-${PV}.tar.bz2 \ " SRC_URI[sha256sum] = "ba6b2d8752806ac23fe045c1b081eb66dcefa6159205c79f86c005dcaf9941c1" -# remove at next version upgrade or when output changes -HASHEQUIV_HASH_VERSION .= ".2" - inherit autotools gettext pkgconfig # diff --git a/poky/meta/recipes-extended/mdadm/files/0001-mdadm-Fix-optional-write-behind-parameter.patch b/poky/meta/recipes-extended/mdadm/files/0001-mdadm-Fix-optional-write-behind-parameter.patch new file mode 100644 index 0000000000..186d1e76f2 --- /dev/null +++ b/poky/meta/recipes-extended/mdadm/files/0001-mdadm-Fix-optional-write-behind-parameter.patch @@ -0,0 +1,45 @@ +From 41edf6f45895193f4a523cb0a08d639c9ff9ccc9 Mon Sep 17 00:00:00 2001 +From: Logan Gunthorpe <logang@deltatee.com> +Date: Wed, 22 Jun 2022 14:25:12 -0600 +Subject: [PATCH] mdadm: Fix optional --write-behind parameter + +The commit noted below changed the behaviour of --write-behind to +require an argument. This broke the 06wrmostly test with the error: + + mdadm: Invalid value for maximum outstanding write-behind writes: (null). + Must be between 0 and 16383. + +To fix this, check if optarg is NULL before parising it, as the origial +code did. + +Upstream-Status: Backport [https://git.kernel.org/pub/scm/utils/mdadm/mdadm.git/commit/?id=41edf6f45895193f4a523cb0a08d639c9ff9ccc9] + +Fixes: 60815698c0ac ("Refactor parse_num and use it to parse optarg.") +Cc: Mateusz Grzonka <mateusz.grzonka@intel.com> +Signed-off-by: Logan Gunthorpe <logang@deltatee.com> +Acked-by: Mariusz Tkaczyk <mariusz.tkaczyk@linux.intel.com> +Signed-off-by: Jes Sorensen <jes@trained-monkey.org> +Signed-off-by: Mingli Yu <mingli.yu@windriver.com> +--- + mdadm.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/mdadm.c b/mdadm.c +index d0c5e6de..56722ed9 100644 +--- a/mdadm.c ++++ b/mdadm.c +@@ -1201,8 +1201,9 @@ int main(int argc, char *argv[]) + case O(BUILD, WriteBehind): + case O(CREATE, WriteBehind): + s.write_behind = DEFAULT_MAX_WRITE_BEHIND; +- if (parse_num(&s.write_behind, optarg) != 0 || +- s.write_behind < 0 || s.write_behind > 16383) { ++ if (optarg && ++ (parse_num(&s.write_behind, optarg) != 0 || ++ s.write_behind < 0 || s.write_behind > 16383)) { + pr_err("Invalid value for maximum outstanding write-behind writes: %s.\n\tMust be between 0 and 16383.\n", + optarg); + exit(2); +-- +2.25.1 + diff --git a/poky/meta/recipes-extended/mdadm/files/0001-tests-00raid0-add-a-test-that-validates-raid0-with-l.patch b/poky/meta/recipes-extended/mdadm/files/0001-tests-00raid0-add-a-test-that-validates-raid0-with-l.patch new file mode 100644 index 0000000000..1c95834a7e --- /dev/null +++ b/poky/meta/recipes-extended/mdadm/files/0001-tests-00raid0-add-a-test-that-validates-raid0-with-l.patch @@ -0,0 +1,41 @@ +From 7539254342bc591717b0051734cc6c09c1b88640 Mon Sep 17 00:00:00 2001 +From: Sudhakar Panneerselvam <sudhakar.panneerselvam@oracle.com> +Date: Wed, 22 Jun 2022 14:25:13 -0600 +Subject: [PATCH] tests/00raid0: add a test that validates raid0 with layout + fails for 0.9 + +329dfc28debb disallows the creation of raid0 with layouts for 0.9 +metadata. This test confirms the new behavior. + +Upstream-Status: Backport [https://git.kernel.org/pub/scm/utils/mdadm/mdadm.git/commit/?id=7539254342bc591717b0051734cc6c09c1b88640] + +Signed-off-by: Sudhakar Panneerselvam <sudhakar.panneerselvam@oracle.com> +Signed-off-by: Himanshu Madhani <himanshu.madhani@oracle.com> +Signed-off-by: Logan Gunthorpe <logang@deltatee.com> +Signed-off-by: Jes Sorensen <jes@trained-monkey.org> +Signed-off-by: Mingli Yu <mingli.yu@windriver.com> +--- + tests/00raid0 | 6 ++---- + 1 file changed, 2 insertions(+), 4 deletions(-) + +diff --git a/tests/00raid0 b/tests/00raid0 +index 8bc18985..e6b21cc4 100644 +--- a/tests/00raid0 ++++ b/tests/00raid0 +@@ -6,11 +6,9 @@ check raid0 + testdev $md0 3 $mdsize2_l 512 + mdadm -S $md0 + +-# now with version-0.90 superblock ++# verify raid0 with layouts fail for 0.90 + mdadm -CR $md0 -e0.90 -l0 -n4 $dev0 $dev1 $dev2 $dev3 +-check raid0 +-testdev $md0 4 $mdsize0 512 +-mdadm -S $md0 ++check opposite_result + + # now with no superblock + mdadm -B $md0 -l0 -n5 $dev0 $dev1 $dev2 $dev3 $dev4 +-- +2.25.1 + diff --git a/poky/meta/recipes-extended/mdadm/files/0001-tests-00readonly-Run-udevadm-settle-before-setting-r.patch b/poky/meta/recipes-extended/mdadm/files/0001-tests-00readonly-Run-udevadm-settle-before-setting-r.patch new file mode 100644 index 0000000000..c621c082e8 --- /dev/null +++ b/poky/meta/recipes-extended/mdadm/files/0001-tests-00readonly-Run-udevadm-settle-before-setting-r.patch @@ -0,0 +1,39 @@ +From 39b381252c32275079344d30de18b76fda4bba26 Mon Sep 17 00:00:00 2001 +From: Logan Gunthorpe <logang@deltatee.com> +Date: Wed, 27 Jul 2022 15:52:45 -0600 +Subject: [PATCH] tests/00readonly: Run udevadm settle before setting ro + +In some recent kernel versions, 00readonly fails with: + + mdadm: failed to set readonly for /dev/md0: Device or resource busy + ERROR: array is not read-only! + +This was traced down to a race condition with udev holding a reference +to the block device at the same time as trying to set it read only. + +To fix this, call udevadm settle before setting the array read only. + +Upstream-Status: Backport [https://git.kernel.org/pub/scm/utils/mdadm/mdadm.git/commit/?id=39b381252c32275079344d30de18b76fda4bba26] + +Signed-off-by: Logan Gunthorpe <logang@deltatee.com> +Signed-off-by: Jes Sorensen <jsorensen@fb.com> +Signed-off-by: Mingli Yu <mingli.yu@windriver.com> +--- + tests/00readonly | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/tests/00readonly b/tests/00readonly +index 39202487..afe243b3 100644 +--- a/tests/00readonly ++++ b/tests/00readonly +@@ -12,6 +12,7 @@ do + $dev1 $dev2 $dev3 $dev4 --assume-clean + check nosync + check $level ++ udevadm settle + mdadm -ro $md0 + check readonly + state=$(cat /sys/block/md0/md/array_state) +-- +2.25.1 + diff --git a/poky/meta/recipes-extended/mdadm/files/0001-tests-02lineargrow-clear-the-superblock-at-every-ite.patch b/poky/meta/recipes-extended/mdadm/files/0001-tests-02lineargrow-clear-the-superblock-at-every-ite.patch new file mode 100644 index 0000000000..1a7104b76d --- /dev/null +++ b/poky/meta/recipes-extended/mdadm/files/0001-tests-02lineargrow-clear-the-superblock-at-every-ite.patch @@ -0,0 +1,33 @@ +From a2c832465fc75202e244327b2081231dfa974617 Mon Sep 17 00:00:00 2001 +From: Sudhakar Panneerselvam <sudhakar.panneerselvam@oracle.com> +Date: Wed, 22 Jun 2022 14:25:16 -0600 +Subject: [PATCH] tests/02lineargrow: clear the superblock at every iteration + +This fixes 02lineargrow test as prior metadata causes --add operation +to misbehave. + +Upstream-Status: Backport [https://git.kernel.org/pub/scm/utils/mdadm/mdadm.git/commit/?id=a2c832465fc75202e244327b2081231dfa974617] + +Signed-off-by: Sudhakar Panneerselvam <sudhakar.panneerselvam@oracle.com> +Signed-off-by: Himanshu Madhani <himanshu.madhani@oracle.com> +Signed-off-by: Logan Gunthorpe <logang@deltatee.com> +Signed-off-by: Jes Sorensen <jes@trained-monkey.org> +Signed-off-by: Mingli Yu <mingli.yu@windriver.com> +--- + tests/02lineargrow | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/tests/02lineargrow b/tests/02lineargrow +index e05c219d..595bf9f2 100644 +--- a/tests/02lineargrow ++++ b/tests/02lineargrow +@@ -20,4 +20,6 @@ do + testdev $md0 3 $sz 1 + + mdadm -S $md0 ++ mdadm --zero /dev/loop2 ++ mdadm --zero /dev/loop3 + done +-- +2.25.1 + diff --git a/poky/meta/recipes-extended/mdadm/files/0001-tests-04update-metadata-avoid-passing-chunk-size-to.patch b/poky/meta/recipes-extended/mdadm/files/0001-tests-04update-metadata-avoid-passing-chunk-size-to.patch new file mode 100644 index 0000000000..9098fb2540 --- /dev/null +++ b/poky/meta/recipes-extended/mdadm/files/0001-tests-04update-metadata-avoid-passing-chunk-size-to.patch @@ -0,0 +1,41 @@ +From de045db607b1ac4b70fc2a8878463e029c2ab1dc Mon Sep 17 00:00:00 2001 +From: Sudhakar Panneerselvam <sudhakar.panneerselvam@oracle.com> +Date: Wed, 22 Jun 2022 14:25:15 -0600 +Subject: [PATCH] tests/04update-metadata: avoid passing chunk size to raid1 + +'04update-metadata' test fails with error, "specifying chunk size is +forbidden for this level" added by commit, 5b30a34aa4b5e. Hence, +correcting the test to ignore passing chunk size to raid1. + +Upstream-Status: Backport [https://git.kernel.org/pub/scm/utils/mdadm/mdadm.git/commit/?id=de045db607b1ac4b70fc2a8878463e029c2ab1dc] + +Signed-off-by: Sudhakar Panneerselvam <sudhakar.panneerselvam@oracle.com> +Signed-off-by: Himanshu Madhani <himanshu.madhani@oracle.com> +[logang@deltatee.com: fix if/then style and dropped unrelated hunk] +Signed-off-by: Logan Gunthorpe <logang@deltatee.com> +Signed-off-by: Jes Sorensen <jes@trained-monkey.org> +Signed-off-by: Mingli Yu <mingli.yu@windriver.com> +--- + tests/04update-metadata | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/tests/04update-metadata b/tests/04update-metadata +index 08c14af7..2b72a303 100644 +--- a/tests/04update-metadata ++++ b/tests/04update-metadata +@@ -11,7 +11,11 @@ dlist="$dev0 $dev1 $dev2 $dev3" + for ls in linear/4 raid1/1 raid5/3 raid6/2 + do + s=${ls#*/} l=${ls%/*} +- mdadm -CR --assume-clean -e 0.90 $md0 --level $l -n 4 -c 64 $dlist ++ if [[ $l == 'raid1' ]]; then ++ mdadm -CR --assume-clean -e 0.90 $md0 --level $l -n 4 $dlist ++ else ++ mdadm -CR --assume-clean -e 0.90 $md0 --level $l -n 4 -c 64 $dlist ++ fi + testdev $md0 $s 19904 64 + mdadm -S $md0 + mdadm -A $md0 --update=metadata $dlist +-- +2.25.1 + diff --git a/poky/meta/recipes-extended/mdadm/files/0001-tests-fix-raid0-tests-for-0.90-metadata.patch b/poky/meta/recipes-extended/mdadm/files/0001-tests-fix-raid0-tests-for-0.90-metadata.patch new file mode 100644 index 0000000000..d2e7d8ee50 --- /dev/null +++ b/poky/meta/recipes-extended/mdadm/files/0001-tests-fix-raid0-tests-for-0.90-metadata.patch @@ -0,0 +1,102 @@ +From 14c2161edb77d7294199e8aa7daa9f9d1d0ad5d7 Mon Sep 17 00:00:00 2001 +From: Sudhakar Panneerselvam <sudhakar.panneerselvam@oracle.com> +Date: Wed, 22 Jun 2022 14:25:14 -0600 +Subject: [PATCH] tests: fix raid0 tests for 0.90 metadata + +Some of the test cases fail because raid0 creation fails with the error, +"0.90 metadata does not support layouts for RAID0" added by commit, +329dfc28debb. Fix some of the test cases by switching from raid0 to +linear level for 0.9 metadata where possible. + +Upstream-Status: Backport [https://git.kernel.org/pub/scm/utils/mdadm/mdadm.git/commit/?id=14c2161edb77d7294199e8aa7daa9f9d1d0ad5d7] + +Signed-off-by: Sudhakar Panneerselvam <sudhakar.panneerselvam@oracle.com> +Signed-off-by: Himanshu Madhani <himanshu.madhani@oracle.com> +Signed-off-by: Logan Gunthorpe <logang@deltatee.com> +Signed-off-by: Jes Sorensen <jes@trained-monkey.org> +Signed-off-by: Mingli Yu <mingli.yu@windriver.com> +--- + tests/00raid0 | 4 ++-- + tests/00readonly | 4 ++++ + tests/03r0assem | 6 +++--- + tests/04r0update | 4 ++-- + tests/04update-metadata | 2 +- + 5 files changed, 12 insertions(+), 8 deletions(-) + +diff --git a/tests/00raid0 b/tests/00raid0 +index e6b21cc4..9b8896cb 100644 +--- a/tests/00raid0 ++++ b/tests/00raid0 +@@ -20,8 +20,8 @@ mdadm -S $md0 + # now same again with different chunk size + for chunk in 4 32 256 + do +- mdadm -CR $md0 -e0.90 -l raid0 --chunk $chunk -n3 $dev0 $dev1 $dev2 +- check raid0 ++ mdadm -CR $md0 -e0.90 -l linear --chunk $chunk -n3 $dev0 $dev1 $dev2 ++ check linear + testdev $md0 3 $mdsize0 $chunk + mdadm -S $md0 + +diff --git a/tests/00readonly b/tests/00readonly +index 28b0fa13..39202487 100644 +--- a/tests/00readonly ++++ b/tests/00readonly +@@ -4,6 +4,10 @@ for metadata in 0.9 1.0 1.1 1.2 + do + for level in linear raid0 raid1 raid4 raid5 raid6 raid10 + do ++ if [[ $metadata == "0.9" && $level == "raid0" ]]; ++ then ++ continue ++ fi + mdadm -CR $md0 -l $level -n 4 --metadata=$metadata \ + $dev1 $dev2 $dev3 $dev4 --assume-clean + check nosync +diff --git a/tests/03r0assem b/tests/03r0assem +index 6744e322..44df0645 100644 +--- a/tests/03r0assem ++++ b/tests/03r0assem +@@ -68,9 +68,9 @@ mdadm -S $md2 + ### Now for version 0... + + mdadm --zero-superblock $dev0 $dev1 $dev2 +-mdadm -CR $md2 -l0 --metadata=0.90 -n3 $dev0 $dev1 $dev2 +-check raid0 +-tst="testdev $md2 3 $mdsize0 512" ++mdadm -CR $md2 -llinear --metadata=0.90 -n3 $dev0 $dev1 $dev2 ++check linear ++tst="testdev $md2 3 $mdsize0 1" + $tst + + uuid=`mdadm -Db $md2 | sed 's/.*UUID=//'` +diff --git a/tests/04r0update b/tests/04r0update +index 73ee3b9f..b95efb06 100644 +--- a/tests/04r0update ++++ b/tests/04r0update +@@ -1,7 +1,7 @@ + + # create a raid0, re-assemble with a different super-minor +-mdadm -CR -e 0.90 $md0 -l0 -n3 $dev0 $dev1 $dev2 +-testdev $md0 3 $mdsize0 512 ++mdadm -CR -e 0.90 $md0 -llinear -n3 $dev0 $dev1 $dev2 ++testdev $md0 3 $mdsize0 1 + minor1=`mdadm -E $dev0 | sed -n -e 's/.*Preferred Minor : //p'` + mdadm -S /dev/md0 + +diff --git a/tests/04update-metadata b/tests/04update-metadata +index 232fc1ff..08c14af7 100644 +--- a/tests/04update-metadata ++++ b/tests/04update-metadata +@@ -8,7 +8,7 @@ set -xe + + dlist="$dev0 $dev1 $dev2 $dev3" + +-for ls in raid0/4 linear/4 raid1/1 raid5/3 raid6/2 ++for ls in linear/4 raid1/1 raid5/3 raid6/2 + do + s=${ls#*/} l=${ls%/*} + mdadm -CR --assume-clean -e 0.90 $md0 --level $l -n 4 -c 64 $dlist +-- +2.25.1 + diff --git a/poky/meta/recipes-extended/mdadm/mdadm_4.2.bb b/poky/meta/recipes-extended/mdadm/mdadm_4.2.bb index 1c4397509b..14de9d88c2 100644 --- a/poky/meta/recipes-extended/mdadm/mdadm_4.2.bb +++ b/poky/meta/recipes-extended/mdadm/mdadm_4.2.bb @@ -26,6 +26,12 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/utils/raid/mdadm/${BPN}-${PV}.tar.xz \ file://0001-Makefile-install-mdcheck.patch \ file://0001-restripe.c-Use-_FILE_OFFSET_BITS-to-enable-largefile.patch \ file://0001-Define-alignof-using-_Alignof-when-using-C11-or-newe.patch \ + file://0001-mdadm-Fix-optional-write-behind-parameter.patch \ + file://0001-tests-02lineargrow-clear-the-superblock-at-every-ite.patch \ + file://0001-tests-00raid0-add-a-test-that-validates-raid0-with-l.patch \ + file://0001-tests-fix-raid0-tests-for-0.90-metadata.patch \ + file://0001-tests-00readonly-Run-udevadm-settle-before-setting-r.patch \ + file://0001-tests-04update-metadata-avoid-passing-chunk-size-to.patch \ " SRC_URI[sha256sum] = "461c215670864bb74a4d1a3620684aa2b2f8296dffa06743f26dda5557acf01d" diff --git a/poky/meta/recipes-extended/pam/libpam_1.3.1.bb b/poky/meta/recipes-extended/pam/libpam_1.3.1.bb index bede4412d9..db5410a7e5 100644 --- a/poky/meta/recipes-extended/pam/libpam_1.3.1.bb +++ b/poky/meta/recipes-extended/pam/libpam_1.3.1.bb @@ -30,7 +30,7 @@ SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/Linux-PAM-${PV}.tar.xz \ SRC_URI[md5sum] = "558ff53b0fc0563ca97f79e911822165" SRC_URI[sha256sum] = "eff47a4ecd833fbf18de9686632a70ee8d0794b79aecb217ebd0ce11db4cd0db" -DEPENDS = "bison-native flex flex-native cracklib libxml2-native virtual/crypt" +DEPENDS = "bison-native flex-native cracklib libxml2-native virtual/crypt" EXTRA_OECONF = "--includedir=${includedir}/security \ --libdir=${base_libdir} \ diff --git a/poky/meta/recipes-extended/perl/libconvert-asn1-perl_0.33.bb b/poky/meta/recipes-extended/perl/libconvert-asn1-perl_0.33.bb index 2714582957..d82692c033 100644 --- a/poky/meta/recipes-extended/perl/libconvert-asn1-perl_0.33.bb +++ b/poky/meta/recipes-extended/perl/libconvert-asn1-perl_0.33.bb @@ -15,7 +15,8 @@ inherit cpan ptest-perl EXTRA_PERLFLAGS = "-I ${PERLHOSTLIB}" -RDEPENDS:${PN} += "perl-module-exporter perl-module-constant perl-module-encode perl-module-encode-encoding perl-module-utf8 perl-module-socket perl-module-time-local perl-module-posix" +RDEPENDS:${PN} += "perl-module-exporter perl-module-constant perl-module-encode perl-module-encode-encoding perl-module-utf8 \ + perl-module-socket perl-module-time-local perl-module-posix perl-module-scalar-util perl-module-test-more" RDEPENDS:${PN}-ptest += "perl-module-math-bigint perl-module-io-socket perl-module-data-dumper perl-module-math-bigint-calc" BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-extended/perl/libxml-sax-perl_1.02.bb b/poky/meta/recipes-extended/perl/libxml-sax-perl_1.02.bb index bc2aa0821e..b5b111d227 100644 --- a/poky/meta/recipes-extended/perl/libxml-sax-perl_1.02.bb +++ b/poky/meta/recipes-extended/perl/libxml-sax-perl_1.02.bb @@ -29,7 +29,7 @@ do_install_ptest() { chown -R root:root ${D}${PTEST_PATH}/testfiles } -RDEPENDS:${PN} += "perl-module-encode perl-module-perlio" +RDEPENDS:${PN} += "perl-module-encode perl-module-perlio perl-module-encode-encoding" RDEPENDS:${PN}-ptest += " \ perl-module-base \ diff --git a/poky/meta/recipes-extended/procps/procps/0001-src-w.c-use-utmp.h-only.patch b/poky/meta/recipes-extended/procps/procps/0001-src-w.c-use-utmp.h-only.patch new file mode 100644 index 0000000000..23c91ec775 --- /dev/null +++ b/poky/meta/recipes-extended/procps/procps/0001-src-w.c-use-utmp.h-only.patch @@ -0,0 +1,65 @@ +From c41b3be62fbb78e0939fddaebad519360cbd8702 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex@linutronix.de> +Date: Mon, 6 Mar 2023 09:27:57 +0100 +Subject: [PATCH] src/w.c: use only utmpx + +Nowadays this works both on musl and glibc systems, however on musl +utmp.h is also needed to avoid the following failure: + +| ../git/src/w.c: In function 'print_from': +| ../git/src/w.c:73:28: error: '__UT_HOSTSIZE' undeclared (first use in this function); did you mean 'UT_HOSTSIZE'? +| 73 | # define UT_HOSTSIZE __UT_HOSTSIZE +| | ^~~~~~~~~~~~~ +| ../git/src/w.c:233:64: note: in expansion of macro 'UT_HOSTSIZE' +| 233 | print_display_or_interface(u->ut_host, UT_HOSTSIZE, fromlen - len); +| | ^~~~~~~~~~~ +| + +It is caused by including utmpx.h, but not utmp.h, which (on musl) +lacks the needed definitions. + +I have verified that both musl and glibc based builds continue to work. + +Upstream-Status: Submitted [https://gitlab.com/procps-ng/procps/-/merge_requests/171] +Signed-off-by: Alexander Kanavin <alex@linutronix.de> + +--- + src/w.c | 17 ++--------------- + 1 file changed, 2 insertions(+), 15 deletions(-) + +diff --git a/src/w.c b/src/w.c +index 5e878f04..912c5df3 100644 +--- a/src/w.c ++++ b/src/w.c +@@ -46,11 +46,8 @@ + #include <termios.h> + #include <time.h> + #include <unistd.h> +-#ifdef HAVE_UTMPX_H +-# include <utmpx.h> +-#else +-# include <utmp.h> +-#endif ++#include <utmp.h> ++#include <utmpx.h> + #include <arpa/inet.h> + + #include "c.h" +@@ -63,17 +60,7 @@ + static int ignoreuser = 0; /* for '-u' */ + static int oldstyle = 0; /* for '-o' */ + +-#ifdef HAVE_UTMPX_H + typedef struct utmpx utmp_t; +-#else +-typedef struct utmp utmp_t; +-#endif +- +-#if !defined(UT_HOSTSIZE) || defined(__UT_HOSTSIZE) +-# define UT_HOSTSIZE __UT_HOSTSIZE +-# define UT_LINESIZE __UT_LINESIZE +-# define UT_NAMESIZE __UT_NAMESIZE +-#endif + + #ifdef W_SHOWFROM + # define FROM_STRING "on" diff --git a/poky/meta/recipes-extended/procps/procps/0001-w.c-correct-musl-builds.patch b/poky/meta/recipes-extended/procps/procps/0001-w.c-correct-musl-builds.patch deleted file mode 100644 index c92ad28e4f..0000000000 --- a/poky/meta/recipes-extended/procps/procps/0001-w.c-correct-musl-builds.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 22f8d25567b8d64bdbab0fb0b4915b4362561d9b Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex.kanavin@gmail.com> -Date: Wed, 24 Feb 2021 21:14:31 +0000 -Subject: [PATCH] w.c: correct musl builds - -No need to redefine UT_ stuff to something that does not exist. - -UT_ is already provided in musl but via utmp.h header, so include -it always. - -Upstream-Status: Submitted [https://gitlab.com/procps-ng/procps/-/merge_requests/126] -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> ---- - w.c | 9 +-------- - 1 file changed, 1 insertion(+), 8 deletions(-) - -diff --git a/w.c b/w.c -index 9d07ac9..d10639b 100644 ---- a/w.c -+++ b/w.c -@@ -57,9 +57,8 @@ - #include <unistd.h> - #ifdef HAVE_UTMPX_H - # include <utmpx.h> --#else --# include <utmp.h> - #endif -+#include <utmp.h> - #include <arpa/inet.h> - - static int ignoreuser = 0; /* for '-u' */ -@@ -72,12 +71,6 @@ typedef struct utmpx utmp_t; - typedef struct utmp utmp_t; - #endif - --#if !defined(UT_HOSTSIZE) || defined(__UT_HOSTSIZE) --# define UT_HOSTSIZE __UT_HOSTSIZE --# define UT_LINESIZE __UT_LINESIZE --# define UT_NAMESIZE __UT_NAMESIZE --#endif -- - #ifdef W_SHOWFROM - # define FROM_STRING "on" - #else diff --git a/poky/meta/recipes-extended/procps/procps/0002-proc-escape.c-add-missing-include.patch b/poky/meta/recipes-extended/procps/procps/0002-proc-escape.c-add-missing-include.patch deleted file mode 100644 index 5fa1ac9d78..0000000000 --- a/poky/meta/recipes-extended/procps/procps/0002-proc-escape.c-add-missing-include.patch +++ /dev/null @@ -1,23 +0,0 @@ -From 4f964821398dff7ab21fec63da15e1e00b2e9277 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex.kanavin@gmail.com> -Date: Wed, 24 Feb 2021 21:16:14 +0000 -Subject: [PATCH] proc/escape.c: add missing include - -Upstream-Status: Submitted [https://gitlab.com/procps-ng/procps/-/merge_requests/126] -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> ---- - proc/escape.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/proc/escape.c b/proc/escape.c -index 2e8fb7d..e1f4612 100644 ---- a/proc/escape.c -+++ b/proc/escape.c -@@ -21,6 +21,7 @@ - #include <sys/types.h> - #include <string.h> - #include <limits.h> -+#include <langinfo.h> - #include "procps.h" - #include "escape.h" - #include "readproc.h" diff --git a/poky/meta/recipes-extended/procps/procps_3.3.17.bb b/poky/meta/recipes-extended/procps/procps_4.0.3.bb index 59ad89d326..cc3420df4e 100644 --- a/poky/meta/recipes-extended/procps/procps_3.3.17.bb +++ b/poky/meta/recipes-extended/procps/procps_4.0.3.bb @@ -14,14 +14,9 @@ inherit autotools gettext pkgconfig update-alternatives SRC_URI = "git://gitlab.com/procps-ng/procps.git;protocol=https;branch=master \ file://sysctl.conf \ - file://0001-w.c-correct-musl-builds.patch \ - file://0002-proc-escape.c-add-missing-include.patch \ + file://0001-src-w.c-use-utmp.h-only.patch \ " -SRCREV = "19a508ea121c0c4ac6d0224575a036de745eaaf8" -# 4.x version is an API incompatible rewrite -# until procps consumers are transitioned to it we need to stick with 3.x -# https://gitlab.com/procps-ng/procps/-/issues/239 -UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>3(\.\d+)+)" +SRCREV = "806eb270f217ff7e1e745c7bda2b002b5be74be4" S = "${WORKDIR}/git" diff --git a/poky/meta/recipes-extended/shadow/shadow_4.13.bb b/poky/meta/recipes-extended/shadow/shadow_4.13.bb index 40b11345c9..d1a3fd5593 100644 --- a/poky/meta/recipes-extended/shadow/shadow_4.13.bb +++ b/poky/meta/recipes-extended/shadow/shadow_4.13.bb @@ -9,3 +9,6 @@ BBCLASSEXTEND = "native nativesdk" # Severity is low and marked as closed and won't fix. # https://bugzilla.redhat.com/show_bug.cgi?id=884658 CVE_CHECK_IGNORE += "CVE-2013-4235" + +# This is an issue for a different shadow +CVE_CHECK_IGNORE += "CVE-2016-15024" diff --git a/poky/meta/recipes-extended/stress-ng/stress-ng/0001-Include-sys-futex.h-for-clock_adjtime.patch b/poky/meta/recipes-extended/stress-ng/stress-ng/0001-Include-sys-futex.h-for-clock_adjtime.patch deleted file mode 100644 index 87d2ead46a..0000000000 --- a/poky/meta/recipes-extended/stress-ng/stress-ng/0001-Include-sys-futex.h-for-clock_adjtime.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 57f207ec7fb39c8b502f40dbdabd568f6b866a82 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Mon, 13 Feb 2023 12:18:08 -0800 -Subject: [PATCH] Include sys/futex.h for clock_adjtime - -Fixes -core-shim.c:1942:9: error: call to undeclared function 'clock_adjtime'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] - -Upstream-Status: Submitted [https://github.com/ColinIanKing/stress-ng/pull/261] -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - core-shim.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/core-shim.c b/core-shim.c -index dc539c64..de38e908 100644 ---- a/core-shim.c -+++ b/core-shim.c -@@ -66,6 +66,10 @@ UNEXPECTED - #include <sys/prctl.h> - #endif - -+#if defined(HAVE_SYS_TIMEX_H) -+#include <sys/timex.h> -+#endif -+ - #if defined(HAVE_SYS_RANDOM_H) - #include <sys/random.h> - #endif --- -2.39.1 - diff --git a/poky/meta/recipes-extended/stress-ng/stress-ng/0001-Pass-LD_GOLD-1-via-makefile-to-enable-gold-linker.patch b/poky/meta/recipes-extended/stress-ng/stress-ng/0001-Pass-LD_GOLD-1-via-makefile-to-enable-gold-linker.patch deleted file mode 100644 index 821e4d910f..0000000000 --- a/poky/meta/recipes-extended/stress-ng/stress-ng/0001-Pass-LD_GOLD-1-via-makefile-to-enable-gold-linker.patch +++ /dev/null @@ -1,65 +0,0 @@ -From 32386c13420f676bd938a8b1ceaeab8a5da46d17 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Tue, 3 Jan 2023 11:00:09 -0800 -Subject: [PATCH] Pass LD_GOLD=1 via makefile to enable gold linker - -Current logic prefers gold if a toolchain has gold linker installed and -does not offer any option to chose default linker which might not be -gold linker. Its better to pass this control to user instead of auto -detecting and deciding. - -Upstream-Status: Submitted [https://github.com/ColinIanKing/stress-ng/pull/251] -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - Makefile | 7 +++++++ - Makefile.config | 9 +-------- - 2 files changed, 8 insertions(+), 8 deletions(-) - -diff --git a/Makefile b/Makefile -index f2fd4b6c..bff6b8ac 100644 ---- a/Makefile -+++ b/Makefile -@@ -69,6 +69,13 @@ endif - #CFLAGS += -Weverything - #endif - -+# -+# Use gold linker -+# -+ifeq ($(LD_GOLD),1) -+LDFLAGS += -fuse-ld=gold -+endif -+ - GREP = grep - # - # SunOS requires special grep for -e support -diff --git a/Makefile.config b/Makefile.config -index 394ed20d..48c94fa1 100644 ---- a/Makefile.config -+++ b/Makefile.config -@@ -241,7 +241,7 @@ define check_ld - $(call check_ld_tmp,$1,$2,$3) - endef - --all: linkers libraries headers cpufeatures types functions -+all: libraries headers cpufeatures types functions - @for I in $$(ls $(CONFIGS)); do \ - if [ -s $(CONFIGS)/$$I ]; then \ - echo "#define $$I"; \ -@@ -262,13 +262,6 @@ configdir: - clean: - @rm -rf $(CONFIGS) config config.h - --linkers: \ -- configdir \ -- LD_GOLD -- --LD_GOLD: -- $(call check_ld,test-ld,HAVE_LD_GOLD,gold) -- - libraries: \ - configdir \ - LIB_AIO LIB_APPARMOR LIB_BSD LIB_CRYPT LIB_DL \ --- -2.39.0 - diff --git a/poky/meta/recipes-extended/stress-ng/stress-ng/0001-test-float-Make-variables-global.patch b/poky/meta/recipes-extended/stress-ng/stress-ng/0001-test-float-Make-variables-global.patch deleted file mode 100644 index 2e598ca4f4..0000000000 --- a/poky/meta/recipes-extended/stress-ng/stress-ng/0001-test-float-Make-variables-global.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 958a86069c8d0149969b5c32212a28009c4a9ded Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Sat, 21 Jan 2023 23:18:18 -0800 -Subject: [PATCH] test-float: Make variables global - -Latest clang ( clang 16+ ) is able to optimize everything out when -O2 is used and as -a result build succeeds and test output comes out to be wrong. Therefore -make the variables global, so clang does not optimize away the functions - -Upstream-Status: Backport [https://github.com/ColinIanKing/stress-ng/commit/e299eb60a3a029e975304cc43045aea6ab1fad70] -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - test/test-float.c | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git a/test/test-float.c b/test/test-float.c -index d2800cd3..ad5503c3 100644 ---- a/test/test-float.c -+++ b/test/test-float.c -@@ -61,10 +61,9 @@ - /* Avoid implicit int in the definition of test even if FLOAT is not known. */ - typedef FLOAT float_type; - -+FLOAT a = 0.0, b = 0.0, c = 0.0, d = 0.0; - static float_type HOT OPTIMIZE3 test(void) - { -- FLOAT a = 0.0, b = 0.0, c = 0.0, d = 0.0; -- - float_ops(FLOAT, a, b, c, d, sin, cos); - float_ops(FLOAT, a, b, c, d, sinl, cosl); - --- -2.39.1 - diff --git a/poky/meta/recipes-extended/stress-ng/stress-ng_0.15.03.bb b/poky/meta/recipes-extended/stress-ng/stress-ng_0.15.06.bb index cd7f41a016..31cf2e8987 100644 --- a/poky/meta/recipes-extended/stress-ng/stress-ng_0.15.03.bb +++ b/poky/meta/recipes-extended/stress-ng/stress-ng_0.15.06.bb @@ -6,10 +6,8 @@ LICENSE = "GPL-2.0-only" LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" SRC_URI = "git://github.com/ColinIanKing/stress-ng.git;protocol=https;branch=master \ - file://0001-test-float-Make-variables-global.patch \ - file://0001-Include-sys-futex.h-for-clock_adjtime.patch \ - file://0001-Pass-LD_GOLD-1-via-makefile-to-enable-gold-linker.patch" -SRCREV = "f3be0447c10fd5652b4c3753d56bcaac13fd8917" + " +SRCREV = "f2a80e4fdba0aaf71d7d3687acb34e3827e68886" S = "${WORKDIR}/git" DEPENDS = "coreutils-native libbsd" diff --git a/poky/meta/recipes-extended/sudo/files/0001-sudo.conf.in-fix-conflict-with-multilib.patch b/poky/meta/recipes-extended/sudo/files/0001-sudo.conf.in-fix-conflict-with-multilib.patch index f4fc376bb8..041c717e00 100644 --- a/poky/meta/recipes-extended/sudo/files/0001-sudo.conf.in-fix-conflict-with-multilib.patch +++ b/poky/meta/recipes-extended/sudo/files/0001-sudo.conf.in-fix-conflict-with-multilib.patch @@ -1,4 +1,7 @@ -sudo.conf.in: fix conflict with multilib +From 6e835350b7413210c410d3578cfab804186b7a4f Mon Sep 17 00:00:00 2001 +From: Kai Kang <kai.kang@windriver.com> +Date: Tue, 17 Nov 2020 11:13:40 +0800 +Subject: [PATCH] sudo.conf.in: fix conflict with multilib When pass ${libdir} to --libexecdir of sudo, it fails to install sudo and lib32-sudo at same time: @@ -12,12 +15,13 @@ Update the comments in sudo.conf.in to avoid the conflict. Signed-off-by: Kai Kang <kai.kang@windriver.com> Upstream-Status: Inappropriate [OE configuration specific] + --- examples/sudo.conf.in | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/examples/sudo.conf.in b/examples/sudo.conf.in -index 6535d3a..50afc8f 100644 +index 2187457..0908d24 100644 --- a/examples/sudo.conf.in +++ b/examples/sudo.conf.in @@ -4,7 +4,7 @@ @@ -33,8 +37,8 @@ index 6535d3a..50afc8f 100644 # The compiled-in value is usually sufficient and should only be changed # if you rename or move the sudo_intercept.so file. # --#Path intercept @plugindir@/sudo_intercept.so -+#Path intercept $plugindir/sudo_intercept.so +-#Path intercept @intercept_file@ ++#Path intercept $intercept_file # # Sudo noexec: @@ -42,8 +46,8 @@ index 6535d3a..50afc8f 100644 # The compiled-in value is usually sufficient and should only be changed # if you rename or move the sudo_noexec.so file. # --#Path noexec @plugindir@/sudo_noexec.so -+#Path noexec $plugindir/sudo_noexec.so +-#Path noexec @noexec_file@ ++#Path noexec $noexec_file # # Sudo plugin directory: @@ -55,7 +59,4 @@ index 6535d3a..50afc8f 100644 +#Path plugin_dir $plugindir # - # Sudo developer mode: --- -2.17.1 - + # Core dumps: diff --git a/poky/meta/recipes-extended/sudo/sudo.inc b/poky/meta/recipes-extended/sudo/sudo.inc index 498d60d534..bedf713d2c 100644 --- a/poky/meta/recipes-extended/sudo/sudo.inc +++ b/poky/meta/recipes-extended/sudo/sudo.inc @@ -4,7 +4,7 @@ HOMEPAGE = "http://www.sudo.ws" BUGTRACKER = "http://www.sudo.ws/bugs/" SECTION = "admin" LICENSE = "ISC & BSD-3-Clause & BSD-2-Clause & Zlib" -LIC_FILES_CHKSUM = "file://LICENSE.md;md5=7aacba499777b719416b293d16f29c8c \ +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=5100e20d35f9015f9eef6bdb27ba194f \ file://plugins/sudoers/redblack.c;beginline=1;endline=46;md5=03e35317699ba00b496251e0dfe9f109 \ file://lib/util/reallocarray.c;beginline=3;endline=15;md5=397dd45c7683e90b9f8bf24638cf03bf \ file://lib/util/fnmatch.c;beginline=3;endline=27;md5=004d7d2866ba1f5b41174906849d2e0f \ diff --git a/poky/meta/recipes-extended/sudo/sudo_1.9.12p2.bb b/poky/meta/recipes-extended/sudo/sudo_1.9.13p3.bb index ae7207c081..2e11739470 100644 --- a/poky/meta/recipes-extended/sudo/sudo_1.9.12p2.bb +++ b/poky/meta/recipes-extended/sudo/sudo_1.9.13p3.bb @@ -8,7 +8,7 @@ SRC_URI = "https://www.sudo.ws/dist/sudo-${PV}.tar.gz \ PAM_SRC_URI = "file://sudo.pam" -SRC_URI[sha256sum] = "b9a0b1ae0f1ddd9be7f3eafe70be05ee81f572f6f536632c44cd4101bb2a8539" +SRC_URI[sha256sum] = "92334a12bb93e0c056b09f53e255ccb7d6f67c6350e2813cd9593ceeca78560b" DEPENDS += " virtual/crypt ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}" RDEPENDS:${PN} += " ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam-plugin-limits pam-plugin-keyinit', '', d)}" diff --git a/poky/meta/recipes-extended/timezone/timezone.inc b/poky/meta/recipes-extended/timezone/timezone.inc index 1834665a1e..14a1ce18f3 100644 --- a/poky/meta/recipes-extended/timezone/timezone.inc +++ b/poky/meta/recipes-extended/timezone/timezone.inc @@ -6,13 +6,15 @@ SECTION = "base" LICENSE = "PD & BSD-3-Clause" LIC_FILES_CHKSUM = "file://LICENSE;md5=c679c9d6b02bc2757b3eaf8f53c43fba" -PV = "2022g" +PV = "2023c" -SRC_URI =" http://www.iana.org/time-zones/repository/releases/tzcode${PV}.tar.gz;name=tzcode \ - http://www.iana.org/time-zones/repository/releases/tzdata${PV}.tar.gz;name=tzdata \ +SRC_URI =" http://www.iana.org/time-zones/repository/releases/tzcode${PV}.tar.gz;name=tzcode;subdir=tz \ + http://www.iana.org/time-zones/repository/releases/tzdata${PV}.tar.gz;name=tzdata;subdir=tz \ " +S = "${WORKDIR}/tz" + UPSTREAM_CHECK_URI = "http://www.iana.org/time-zones" -SRC_URI[tzcode.sha256sum] = "9610bb0b9656ff404c361a41f3286da53064b5469d84f00c9cb2314c8614da74" -SRC_URI[tzdata.sha256sum] = "4491db8281ae94a84d939e427bdd83dc389f26764d27d9a5c52d782c16764478" +SRC_URI[tzcode.sha256sum] = "46d17f2bb19ad73290f03a203006152e0fa0d7b11e5b71467c4a823811b214e7" +SRC_URI[tzdata.sha256sum] = "3f510b5d1b4ae9bb38e485aa302a776b317fb3637bdb6404c4adf7b6cadd965c" diff --git a/poky/meta/recipes-extended/timezone/tzcode-native.bb b/poky/meta/recipes-extended/timezone/tzcode-native.bb index e3582ba674..d0b23a9d80 100644 --- a/poky/meta/recipes-extended/timezone/tzcode-native.bb +++ b/poky/meta/recipes-extended/timezone/tzcode-native.bb @@ -1,10 +1,7 @@ require timezone.inc -# SUMMARY = "tzcode, timezone zoneinfo utils -- zic, zdump, tzselect" -S = "${WORKDIR}" - inherit native EXTRA_OEMAKE += "cc='${CC}'" diff --git a/poky/meta/recipes-extended/timezone/tzdata.bb b/poky/meta/recipes-extended/timezone/tzdata.bb index 7f4322d867..dd1960ffa7 100644 --- a/poky/meta/recipes-extended/timezone/tzdata.bb +++ b/poky/meta/recipes-extended/timezone/tzdata.bb @@ -4,8 +4,6 @@ DEPENDS = "tzcode-native" inherit allarch -S = "${WORKDIR}" - DEFAULT_TIMEZONE ?= "Universal" INSTALL_TIMEZONE_FILE ?= "1" @@ -18,17 +16,21 @@ TZONES = " \ # "fat" is needed by e.g. MariaDB's mysql_tzinfo_to_sql ZIC_FMT ?= "slim" +do_configure[cleandirs] = "${B}" +B = "${WORKDIR}/build" + do_compile() { for zone in ${TZONES}; do - ${STAGING_BINDIR_NATIVE}/zic -b ${ZIC_FMT} -d ${WORKDIR}${datadir}/zoneinfo -L /dev/null ${S}/${zone} - ${STAGING_BINDIR_NATIVE}/zic -b ${ZIC_FMT} -d ${WORKDIR}${datadir}/zoneinfo/posix -L /dev/null ${S}/${zone} - ${STAGING_BINDIR_NATIVE}/zic -b ${ZIC_FMT} -d ${WORKDIR}${datadir}/zoneinfo/right -L ${S}/leapseconds ${S}/${zone} + ${STAGING_BINDIR_NATIVE}/zic -b ${ZIC_FMT} -d ${B}/zoneinfo -L /dev/null ${S}/${zone} + ${STAGING_BINDIR_NATIVE}/zic -b ${ZIC_FMT} -d ${B}/zoneinfo/posix -L /dev/null ${S}/${zone} + ${STAGING_BINDIR_NATIVE}/zic -b ${ZIC_FMT} -d ${B}/zoneinfo/right -L ${S}/leapseconds ${S}/${zone} done } do_install() { - install -d ${D}$exec_prefix ${D}${datadir}/zoneinfo - cp -pPR ${WORKDIR}$exec_prefix ${D}${base_prefix} + install -d ${D}${datadir}/zoneinfo + cp -pPR ${B}/zoneinfo/* ${D}${datadir}/zoneinfo + # libc is removing zoneinfo files from package cp -pP "${S}/zone.tab" ${D}${datadir}/zoneinfo cp -pP "${S}/zone1970.tab" ${D}${datadir}/zoneinfo diff --git a/poky/meta/recipes-gnome/epiphany/epiphany_43.0.bb b/poky/meta/recipes-gnome/epiphany/epiphany_43.1.bb index 4a6007b0df..ea22723a97 100644 --- a/poky/meta/recipes-gnome/epiphany/epiphany_43.0.bb +++ b/poky/meta/recipes-gnome/epiphany/epiphany_43.1.bb @@ -31,7 +31,7 @@ SRC_URI = "${GNOME_MIRROR}/${GNOMEBN}/${@oe.utils.trim_version("${PV}", 1)}/${GN file://migrator.patch \ file://distributor.patch \ " -SRC_URI[archive.sha256sum] = "b66d499f9ee72696d83cf844125377181a954554a4bb3785b73293380ac0c227" +SRC_URI[archive.sha256sum] = "e86ead27cb9982815150664de3bf20faf375f77b8065b02b31180c65b6bbebb4" # Developer mode enables debugging PACKAGECONFIG[developer-mode] = "-Ddeveloper_mode=true,-Ddeveloper_mode=false" diff --git a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.74.0.bb b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.74.0.bb index ab9d2d35d9..781ed65da3 100644 --- a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.74.0.bb +++ b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.74.0.bb @@ -21,7 +21,7 @@ SRC_URI[sha256sum] = "347b3a719e68ba4c69ff2d57ee2689233ea8c07fc492205e573386779e SRC_URI:append:class-native = " file://0001-Relocate-the-repository-directory-for-native-builds.patch" -inherit meson pkgconfig gtk-doc python3native qemu gobject-introspection-data upstream-version-is-even multilib_script +inherit meson pkgconfig gtk-doc python3targetconfig qemu gobject-introspection-data upstream-version-is-even multilib_script GTKDOC_MESON_OPTION = "gtk_doc" diff --git a/poky/meta/recipes-gnome/gtk+/gtk4_4.8.3.bb b/poky/meta/recipes-gnome/gtk+/gtk4_4.10.0.bb index b367cb066b..d58fe149ec 100644 --- a/poky/meta/recipes-gnome/gtk+/gtk4_4.8.3.bb +++ b/poky/meta/recipes-gnome/gtk+/gtk4_4.10.0.bb @@ -37,7 +37,7 @@ MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}" UPSTREAM_CHECK_REGEX = "gtk-(?P<pver>\d+\.(\d*[02468])+(\.\d+)+)\.tar.xz" SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/gtk/${MAJ_VER}/gtk-${PV}.tar.xz" -SRC_URI[sha256sum] = "b362f968d085b4d3d9340d4d38c706377ded9d5374e694a2b6b7e6292e3cba74" +SRC_URI[sha256sum] = "8dc1e7c3b3a46772f0fa416a8ca3fd21d0d0b3b03fb307d2e7327ebee69626e4" S = "${WORKDIR}/gtk-${PV}" @@ -57,7 +57,7 @@ GTKDOC_MESON_OPTION = "gtk_doc" GIR_MESON_ENABLE_FLAG = 'enabled' GIR_MESON_DISABLE_FLAG = 'disabled' -EXTRA_OEMESON = " -Dbuild-tests=false -Ddemos=false" +EXTRA_OEMESON = " -Dbuild-tests=false -Dbuild-testsuite=false -Ddemos=false" PACKAGECONFIG ??= "gstreamer ${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11 vulkan', d)}" PACKAGECONFIG:class-native = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" diff --git a/poky/meta/recipes-gnome/libnotify/libnotify_0.8.1.bb b/poky/meta/recipes-gnome/libnotify/libnotify_0.8.2.bb index 3bdc70d224..bbfc217df1 100644 --- a/poky/meta/recipes-gnome/libnotify/libnotify_0.8.1.bb +++ b/poky/meta/recipes-gnome/libnotify/libnotify_0.8.2.bb @@ -15,14 +15,13 @@ PACKAGECONFIG ?= "" PACKAGECONFIG[tests] = "-Dtests=true,-Dtests=false,gtk+3" GNOMEBASEBUILDCLASS = "meson" -GTKDOC_MESON_OPTION = "gtk_doc" GIR_MESON_ENABLE_FLAG = "enabled" GIR_MESON_DISABLE_FLAG = "disabled" -inherit gnomebase gtk-doc features_check gobject-introspection +inherit gnomebase gi-docgen features_check gobject-introspection # depends on gtk+3 if tests are enabled ANY_OF_DISTRO_FEATURES = "${@bb.utils.contains('PACKAGECONFIG', 'tests', '${GTK3DISTROFEATURES}', '', d)}" -SRC_URI[archive.sha256sum] = "d033e6d4d6ccbf46a436c31628a4b661b36dca1f5d4174fe0173e274f4e62557" +SRC_URI[archive.sha256sum] = "c5f4ed3d1f86e5b118c76415aacb861873ed3e6f0c6b3181b828cf584fc5c616" EXTRA_OEMESON = "-Dman=false" diff --git a/poky/meta/recipes-graphics/harfbuzz/harfbuzz_7.0.1.bb b/poky/meta/recipes-graphics/harfbuzz/harfbuzz_7.1.0.bb index 55421ebcbe..4406e15df4 100644 --- a/poky/meta/recipes-graphics/harfbuzz/harfbuzz_7.0.1.bb +++ b/poky/meta/recipes-graphics/harfbuzz/harfbuzz_7.1.0.bb @@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b98429b8e8e3c2a67cfef01e99e4893d \ " SRC_URI = "${GITHUB_BASE_URI}/download/${PV}/${BPN}-${PV}.tar.xz" -SRC_URI[sha256sum] = "2cf4d3d8f225007511990a36a34195f0d6562ca56df0a8b0885b382837948199" +SRC_URI[sha256sum] = "f135a61cd464c9ed6bc9823764c188f276c3850a8dc904628de2a87966b7077b" inherit meson pkgconfig lib_package gtk-doc gobject-introspection github-releases diff --git a/poky/meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools/0001-Support-procps-4.x.patch b/poky/meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools/0001-Support-procps-4.x.patch new file mode 100644 index 0000000000..fe9663b6eb --- /dev/null +++ b/poky/meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools/0001-Support-procps-4.x.patch @@ -0,0 +1,502 @@ +From 524e58f3b2f9e4702293af66f6768755b300e8d3 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex@linutronix.de> +Date: Thu, 2 Mar 2023 13:59:13 +0100 +Subject: [PATCH] Support procps 4.x + +Upstream-Status: Submitted [https://gitlab.freedesktop.org/drm/igt-gpu-tools/-/issues/116#note_1785522] +Signed-off-by: Alexander Kanavin <alex@linutronix.de> +--- + lib/igt_aux.c | 238 ++++++++++++++++++++++++++++++++++++++++-------- + lib/meson.build | 7 +- + meson.build | 10 +- + 3 files changed, 215 insertions(+), 40 deletions(-) + +diff --git a/lib/igt_aux.c b/lib/igt_aux.c +index 15e30440..d23c9a40 100644 +--- a/lib/igt_aux.c ++++ b/lib/igt_aux.c +@@ -52,8 +52,16 @@ + #include <assert.h> + #include <grp.h> + ++#ifdef HAVE_LIBPROCPS + #include <proc/readproc.h> ++#endif ++#ifdef HAVE_LIBPROC2 ++#include <libproc2/pids.h> ++#endif ++ + #include <libudev.h> ++#include <linux/limits.h> ++#include <dirent.h> + + #include "drmtest.h" + #include "i915_drm.h" +@@ -1217,6 +1225,7 @@ void igt_unlock_mem(void) + */ + int igt_is_process_running(const char *comm) + { ++#if HAVE_LIBPROCPS + PROCTAB *proc; + proc_t *proc_info; + bool found = false; +@@ -1235,6 +1244,26 @@ int igt_is_process_running(const char *comm) + + closeproc(proc); + return found; ++#endif ++#ifdef HAVE_LIBPROC2 ++ enum pids_item Item[] = { PIDS_CMD }; ++ struct pids_info *info = NULL; ++ struct pids_stack *stack; ++ char *pid_comm; ++ bool found = false; ++ ++ if (procps_pids_new(&info, Item, 1) < 0) ++ return false; ++ while ((stack = procps_pids_get(info, PIDS_FETCH_TASKS_ONLY))) { ++ pid_comm = PIDS_VAL(0, str, stack, info); ++ if (!strncasecmp(pid_comm, comm, strlen(pid_comm))) { ++ found = true; ++ break; ++ } ++ } ++ procps_pids_unref(&info); ++ return found; ++#endif + } + + /** +@@ -1251,6 +1280,7 @@ int igt_is_process_running(const char *comm) + */ + int igt_terminate_process(int sig, const char *comm) + { ++#ifdef HAVE_LIBPROCPS + PROCTAB *proc; + proc_t *proc_info; + int err = 0; +@@ -1272,6 +1302,29 @@ int igt_terminate_process(int sig, const char *comm) + + closeproc(proc); + return err; ++#endif ++#ifdef HAVE_LIBPROC2 ++ enum pids_item Items[] = { PIDS_ID_PID, PIDS_CMD }; ++ struct pids_info *info = NULL; ++ struct pids_stack *stack; ++ char *pid_comm; ++ int pid; ++ int err = 0; ++ ++ if (procps_pids_new(&info, Items, 2) < 0) ++ return -errno; ++ while ((stack = procps_pids_get(info, PIDS_FETCH_TASKS_ONLY))) { ++ pid = PIDS_VAL(0, s_int, stack, info); ++ pid_comm = PIDS_VAL(1, str, stack, info); ++ if (!strncasecmp(pid_comm, comm, strlen(pid_comm))) { ++ if (kill(pid, sig) < 0) ++ err = -errno; ++ break; ++ } ++ } ++ procps_pids_unref(&info); ++ return err; ++#endif + } + + struct pinfo { +@@ -1341,9 +1394,9 @@ igt_show_stat_header(void) + } + + static void +-igt_show_stat(proc_t *info, int *state, const char *fn) ++igt_show_stat(const pid_t tid, const char *cmd, int *state, const char *fn) + { +- struct pinfo p = { .pid = info->tid, .comm = info->cmd, .fn = fn }; ++ struct pinfo p = { .pid = tid, .comm = cmd, .fn = fn }; + + if (!*state) + igt_show_stat_header(); +@@ -1353,7 +1406,7 @@ igt_show_stat(proc_t *info, int *state, const char *fn) + } + + static void +-__igt_lsof_fds(proc_t *proc_info, int *state, char *proc_path, const char *dir) ++__igt_lsof_fds(const pid_t tid, const char *cmd, int *state, char *proc_path, const char *dir) + { + struct dirent *d; + struct stat st; +@@ -1400,7 +1453,7 @@ again: + dirn = dirname(copy_fd_lnk); + + if (!strncmp(dir, dirn, strlen(dir))) +- igt_show_stat(proc_info, state, fd_lnk); ++ igt_show_stat(tid, cmd, state, fd_lnk); + + free(copy_fd_lnk); + free(fd_lnk); +@@ -1416,13 +1469,14 @@ again: + static void + __igt_lsof(const char *dir) + { +- PROCTAB *proc; +- proc_t *proc_info; +- + char path[30]; + char *name_lnk; + struct stat st; + int state = 0; ++#ifdef HAVE_LIBPROCPS ++ PROCTAB *proc; ++ proc_t *proc_info; ++ + + proc = openproc(PROC_FILLCOM | PROC_FILLSTAT | PROC_FILLARG); + igt_assert(proc != NULL); +@@ -1456,6 +1510,44 @@ __igt_lsof(const char *dir) + } + + closeproc(proc); ++#endif ++#ifdef HAVE_LIBPROC2 ++ enum pids_item Items[] = { PIDS_ID_PID, PIDS_CMD }; ++ struct pids_info *info = NULL; ++ struct pids_stack *stack; ++ ++ if (procps_pids_new(&info, Items, 2) < 0) ++ return; ++ while ((stack = procps_pids_get(info, PIDS_FETCH_TASKS_ONLY))) { ++ ssize_t read; ++ int tid = PIDS_VAL(0, s_int, stack, info); ++ char *pid_comm = PIDS_VAL(1, str, stack, info); ++ ++ /* check current working directory */ ++ memset(path, 0, sizeof(path)); ++ snprintf(path, sizeof(path), "/proc/%d/cwd", tid); ++ ++ if (stat(path, &st) == -1) ++ continue; ++ ++ name_lnk = malloc(st.st_size + 1); ++ ++ igt_assert((read = readlink(path, name_lnk, st.st_size + 1))); ++ name_lnk[read] = '\0'; ++ ++ if (!strncmp(dir, name_lnk, strlen(dir))) ++ igt_show_stat(tid, pid_comm, &state, name_lnk); ++ ++ /* check also fd, seems that lsof(8) doesn't look here */ ++ memset(path, 0, sizeof(path)); ++ snprintf(path, sizeof(path), "/proc/%d/fd", tid); ++ ++ __igt_lsof_fds(tid, pid_comm, &state, path, dir); ++ ++ free(name_lnk); ++ } ++ procps_pids_unref(&info); ++#endif + } + + /** +@@ -1490,7 +1582,7 @@ igt_lsof(const char *dpath) + free(sanitized); + } + +-static void pulseaudio_unload_module(proc_t *proc_info) ++static void pulseaudio_unload_module(const uid_t euid, const gid_t egid) + { + struct igt_helper_process pa_proc = {}; + char xdg_dir[PATH_MAX]; +@@ -1498,14 +1590,14 @@ static void pulseaudio_unload_module(proc_t *proc_info) + struct passwd *pw; + + igt_fork_helper(&pa_proc) { +- pw = getpwuid(proc_info->euid); ++ pw = getpwuid(euid); + homedir = pw->pw_dir; +- snprintf(xdg_dir, sizeof(xdg_dir), "/run/user/%d", proc_info->euid); ++ snprintf(xdg_dir, sizeof(xdg_dir), "/run/user/%d", euid); + + igt_info("Request pulseaudio to stop using audio device\n"); + +- setgid(proc_info->egid); +- setuid(proc_info->euid); ++ setgid(egid); ++ setuid(euid); + clearenv(); + setenv("HOME", homedir, 1); + setenv("XDG_RUNTIME_DIR",xdg_dir, 1); +@@ -1524,10 +1616,12 @@ static void pipewire_reserve_wait(void) + char xdg_dir[PATH_MAX]; + const char *homedir; + struct passwd *pw; +- proc_t *proc_info; +- PROCTAB *proc; ++ int tid=0, euid, egid; + ++#ifdef HAVE_LIBPROCPS + igt_fork_helper(&pw_reserve_proc) { ++ proc_t *proc_info; ++ PROCTAB *proc; + igt_info("Preventing pipewire-pulse to use the audio drivers\n"); + + proc = openproc(PROC_FILLCOM | PROC_FILLSTAT | PROC_FILLARG); +@@ -1539,21 +1633,44 @@ static void pipewire_reserve_wait(void) + freeproc(proc_info); + } + closeproc(proc); ++ tid = proc_info->tid; ++ euid = proc_info->euid; ++ egid = proc_info->egid; ++ freeproc(proc_info); ++#endif ++#ifdef HAVE_LIBPROC2 ++ igt_fork(child, 1) { ++ enum pids_item Items[] = { PIDS_ID_PID, PIDS_ID_EUID, PIDS_ID_EGID }; ++ enum rel_items { EU_PID, EU_EUID, EU_EGID }; ++ struct pids_info *info = NULL; ++ struct pids_stack *stack; ++ ++ igt_info("Preventing pipewire-pulse to use the audio drivers\n"); ++ ++ if (procps_pids_new(&info, Items, 3) < 0) ++ return; ++ while ((stack = procps_pids_get(info, PIDS_FETCH_TASKS_ONLY))) { ++ tid = PIDS_VAL(EU_PID, s_int, stack, info); ++ if (pipewire_pulse_pid == tid) ++ break; ++ } ++ euid = PIDS_VAL(EU_EUID, s_int, stack, info); ++ egid = PIDS_VAL(EU_EGID, s_int, stack, info); ++ procps_pids_unref(&info); ++#endif + + /* Sanity check: if it can't find the process, it means it has gone */ +- if (pipewire_pulse_pid != proc_info->tid) ++ if (pipewire_pulse_pid != tid) + exit(0); + +- pw = getpwuid(proc_info->euid); ++ pw = getpwuid(euid); + homedir = pw->pw_dir; +- snprintf(xdg_dir, sizeof(xdg_dir), "/run/user/%d", proc_info->euid); +- setgid(proc_info->egid); +- setuid(proc_info->euid); ++ snprintf(xdg_dir, sizeof(xdg_dir), "/run/user/%d", euid); ++ setgid(egid); ++ setuid(euid); + clearenv(); + setenv("HOME", homedir, 1); + setenv("XDG_RUNTIME_DIR",xdg_dir, 1); +- freeproc(proc_info); +- + /* + * pw-reserve will run in background. It will only exit when + * igt_kill_children() is called later on. So, it shouldn't +@@ -1570,9 +1687,7 @@ static void pipewire_reserve_wait(void) + int pipewire_pulse_start_reserve(void) + { + bool is_pw_reserve_running = false; +- proc_t *proc_info; + int attempts = 0; +- PROCTAB *proc; + + if (!pipewire_pulse_pid) + return 0; +@@ -1584,6 +1699,10 @@ int pipewire_pulse_start_reserve(void) + * pipewire version 0.3.50 or upper. + */ + for (attempts = 0; attempts < PIPEWIRE_RESERVE_MAX_TIME; attempts++) { ++#ifdef HAVE_LIBPROCPS ++ proc_t *proc_info; ++ PROCTAB *proc; ++ + usleep(1000); + proc = openproc(PROC_FILLCOM | PROC_FILLSTAT | PROC_FILLARG); + igt_assert(proc != NULL); +@@ -1598,6 +1717,25 @@ int pipewire_pulse_start_reserve(void) + freeproc(proc_info); + } + closeproc(proc); ++#endif ++#ifdef HAVE_LIBPROC2 ++ enum pids_item Items[] = { PIDS_ID_PID, PIDS_CMD }; ++ struct pids_info *info = NULL; ++ struct pids_stack *stack; ++ ++ usleep(1000); ++ ++ if (procps_pids_new(&info, Items, 2) < 0) ++ return 1; ++ while ((stack = procps_pids_get(info, PIDS_FETCH_TASKS_ONLY))) { ++ if (!strcmp(PIDS_VAL(1, str, stack, info), "pw-reserve")) { ++ is_pw_reserve_running = true; ++ pipewire_pw_reserve_pid = PIDS_VAL(0, s_int, stack, info); ++ break; ++ } ++ } ++ procps_pids_unref(&info); ++#endif + if (is_pw_reserve_running) + break; + } +@@ -1645,7 +1783,7 @@ void pipewire_pulse_stop_reserve(void) + * If the check fails, it means that the process can simply be killed. + */ + static int +-__igt_lsof_audio_and_kill_proc(proc_t *proc_info, char *proc_path) ++__igt_lsof_audio_and_kill_proc(const pid_t tid, const char *cmd, const uid_t euid, const gid_t egid, char *proc_path) + { + const char *audio_dev = "/dev/snd/"; + char path[PATH_MAX * 2]; +@@ -1670,10 +1808,10 @@ __igt_lsof_audio_and_kill_proc(proc_t *proc_info, char *proc_path) + * 2) unload/unbind the the audio driver(s); + * 3) stop the pw-reserve thread. + */ +- if (!strcmp(proc_info->cmd, "pipewire-pulse")) { ++ if (!strcmp(cmd, "pipewire-pulse")) { + igt_info("process %d (%s) is using audio device. Should be requested to stop using them.\n", +- proc_info->tid, proc_info->cmd); +- pipewire_pulse_pid = proc_info->tid; ++ tid, cmd); ++ pipewire_pulse_pid = tid; + return 0; + } + /* +@@ -1685,9 +1823,9 @@ __igt_lsof_audio_and_kill_proc(proc_t *proc_info, char *proc_path) + * will respawn them. So, just ignore here, they'll honor pw-reserve, + * when the time comes. + */ +- if (!strcmp(proc_info->cmd, "pipewire-media-session")) ++ if (!strcmp(cmd, "pipewire-media-session")) + return 0; +- if (!strcmp(proc_info->cmd, "wireplumber")) ++ if (!strcmp(cmd, "wireplumber")) + return 0; + + dp = opendir(proc_path); +@@ -1723,22 +1861,22 @@ __igt_lsof_audio_and_kill_proc(proc_t *proc_info, char *proc_path) + * enough to unbind audio modules and won't cause race issues + * with systemd trying to reload it. + */ +- if (!strcmp(proc_info->cmd, "pulseaudio")) { +- pulseaudio_unload_module(proc_info); ++ if (!strcmp(cmd, "pulseaudio")) { ++ pulseaudio_unload_module(euid, egid); + break; + } + + /* For all other processes, just kill them */ + igt_info("process %d (%s) is using audio device. Should be terminated.\n", +- proc_info->tid, proc_info->cmd); ++ tid, cmd); + +- if (kill(proc_info->tid, SIGTERM) < 0) { ++ if (kill(tid, SIGTERM) < 0) { + igt_info("Fail to terminate %s (pid: %d) with SIGTERM\n", +- proc_info->cmd, proc_info->tid); +- if (kill(proc_info->tid, SIGABRT) < 0) { ++ cmd, tid); ++ if (kill(tid, SIGABRT) < 0) { + fail++; + igt_info("Fail to terminate %s (pid: %d) with SIGABRT\n", +- proc_info->cmd, proc_info->tid); ++ cmd, tid); + } + } + +@@ -1760,9 +1898,10 @@ int + igt_lsof_kill_audio_processes(void) + { + char path[PATH_MAX]; ++ int fail = 0; ++#ifdef HAVE_LIBPROCPS + proc_t *proc_info; + PROCTAB *proc; +- int fail = 0; + + proc = openproc(PROC_FILLCOM | PROC_FILLSTAT | PROC_FILLARG); + igt_assert(proc != NULL); +@@ -1772,12 +1911,35 @@ igt_lsof_kill_audio_processes(void) + if (snprintf(path, sizeof(path), "/proc/%d/fd", proc_info->tid) < 1) + fail++; + else +- fail += __igt_lsof_audio_and_kill_proc(proc_info, path); ++ fail += __igt_lsof_audio_and_kill_proc(proc_info->pid, proc_info->cmd, proc_info->euid, proc_info->egid, path); + + freeproc(proc_info); + } + closeproc(proc); ++#endif ++#ifdef HAVE_LIBPROC2 ++ enum pids_item Items[] = { PIDS_ID_PID, PIDS_CMD, PIDS_ID_EUID, PIDS_ID_EGID }; ++ enum rel_items { EU_PID, EU_CMD, EU_EUID, EU_EGID }; ++ struct pids_info *info = NULL; ++ struct pids_stack *stack; ++ pid_t tid; ++ ++ if (procps_pids_new(&info, Items, 4) < 0) ++ return 1; ++ while ((stack = procps_pids_get(info, PIDS_FETCH_TASKS_ONLY))) { ++ tid = PIDS_VAL(EU_PID, s_int, stack, info); + ++ if (snprintf(path, sizeof(path), "/proc/%d/fd", tid) < 1) ++ fail++; ++ else ++ fail += __igt_lsof_audio_and_kill_proc(tid, ++ PIDS_VAL(EU_CMD, str, stack, info), ++ PIDS_VAL(EU_EUID, s_int, stack, info), ++ PIDS_VAL(EU_EGID, s_int, stack, info), ++ path); ++ } ++ procps_pids_unref(&info); ++#endif + return fail; + } + +diff --git a/lib/meson.build b/lib/meson.build +index cc784686..90591e0e 100644 +--- a/lib/meson.build ++++ b/lib/meson.build +@@ -105,7 +105,6 @@ lib_deps = [ + libdrm, + libdw, + libkmod, +- libprocps, + libudev, + math, + pciaccess, +@@ -169,6 +168,12 @@ if chamelium.found() + lib_sources += 'monitor_edids/monitor_edids_helper.c' + endif + ++if libprocps.found() ++ lib_deps += libprocps ++else ++ lib_deps += libproc2 ++endif ++ + if get_option('srcdir') != '' + srcdir = join_paths(get_option('srcdir'), 'tests') + else +diff --git a/meson.build b/meson.build +index e7a68503..309b0af3 100644 +--- a/meson.build ++++ b/meson.build +@@ -120,7 +120,15 @@ build_info += 'With libdrm: ' + ','.join(libdrm_info) + + pciaccess = dependency('pciaccess', version : '>=0.10') + libkmod = dependency('libkmod') +-libprocps = dependency('libprocps', required : true) ++libprocps = dependency('libprocps', required : false) ++libproc2 = dependency('libproc2', required : false) ++if libprocps.found() ++ config.set('HAVE_LIBPROCPS', 1) ++elif libproc2.found() ++ config.set('HAVE_LIBPROC2', 1) ++else ++ error('Either libprocps or libproc2 is required') ++endif + + libunwind = dependency('libunwind', required : get_option('libunwind')) + build_info += 'With libunwind: @0@'.format(libunwind.found()) diff --git a/poky/meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools_git.bb b/poky/meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools_git.bb index fbe5e1a4e7..f4799fbc77 100644 --- a/poky/meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools_git.bb +++ b/poky/meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools_git.bb @@ -12,7 +12,9 @@ inherit meson pkgconfig SRCREV = "2b29e8ac07fbcfadc48b9d60e4d736a6e3b289ab" PV = "1.27.1" -SRC_URI = "git://gitlab.freedesktop.org/drm/igt-gpu-tools.git;protocol=https;branch=master" +SRC_URI = "git://gitlab.freedesktop.org/drm/igt-gpu-tools.git;protocol=https;branch=master \ + file://0001-Support-procps-4.x.patch \ + " S = "${WORKDIR}/git" diff --git a/poky/meta/recipes-graphics/matchbox-wm/matchbox-wm/0001-Fix-build-with-gcc-10.patch b/poky/meta/recipes-graphics/matchbox-wm/matchbox-wm/0001-Fix-build-with-gcc-10.patch deleted file mode 100644 index 541b5c9c84..0000000000 --- a/poky/meta/recipes-graphics/matchbox-wm/matchbox-wm/0001-Fix-build-with-gcc-10.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 8a8f8446e803cad04d7bbceaab78ee45d9778c3c Mon Sep 17 00:00:00 2001 -From: Adrian Bunk <bunk@stusta.de> -Date: Tue, 12 May 2020 09:44:05 +0300 -Subject: Fix build with gcc 10 - -Upstream-Status: Pending -Signed-off-by: Adrian Bunk <bunk@stusta.de> ---- - src/mbtheme.h | 2 +- - src/structs.h | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/mbtheme.h b/src/mbtheme.h -index aa9a7c5..ad03bde 100644 ---- a/src/mbtheme.h -+++ b/src/mbtheme.h -@@ -46,7 +46,7 @@ typedef struct _mb_theme_param - - } MBThemeParam; - --enum { -+typedef enum { - LAYER_GRADIENT_HORIZ = 1, - LAYER_GRADIENT_VERT, - LAYER_LABEL, -diff --git a/src/structs.h b/src/structs.h -index 24985e7..8f53e72 100644 ---- a/src/structs.h -+++ b/src/structs.h -@@ -148,7 +148,7 @@ - - /* Atoms, if you change these check ewmh_init() first */ - --enum { -+typedef enum { - WM_STATE = 0, - WM_CHANGE_STATE, - WM_PROTOCOLS, --- -2.17.1 - diff --git a/poky/meta/recipes-graphics/matchbox-wm/matchbox-wm_1.2.2.bb b/poky/meta/recipes-graphics/matchbox-wm/matchbox-wm_1.2.3.bb index 81704beac4..8e9de0914e 100644 --- a/poky/meta/recipes-graphics/matchbox-wm/matchbox-wm_1.2.2.bb +++ b/poky/meta/recipes-graphics/matchbox-wm/matchbox-wm_1.2.3.bb @@ -3,17 +3,15 @@ HOMEPAGE = "http://matchbox-project.org" BUGTRACKER = "http://bugzilla.yoctoproject.org/" LICENSE = "GPL-2.0-or-later" -LIC_FILES_CHKSUM = "file://src/wm.h;endline=21;md5=a7e844465edbcf79c282369f93caa835 \ - file://src/main.c;endline=21;md5=3e5d9f832b527b0d72dbe8e3c4c60b95 \ - file://src/wm.c;endline=21;md5=8dc9d24477d87ef5dfbc2e4927146aab" +LIC_FILES_CHKSUM = "file://src/wm.h;endline=21;md5=ce20617ac10f26045cc57b8d977ab552 \ + file://src/main.c;endline=21;md5=508f280276140250ce483e0a44f7a9ec \ + file://src/wm.c;endline=21;md5=f54584fb0d48cfc2e6876e0f0e272e6c" SECTION = "x11/wm" DEPENDS = "libmatchbox virtual/libx11 libxext libxrender startup-notification expat gconf libxcursor libxfixes" -# SRCREV tagged 1.2.2 -SRCREV = "27da947e7fbdf9659f7e5bd1e92af92af6c03970" +SRCREV = "ce8c1053270d960a7235ab5c3435f707541810a4" SRC_URI = "git://git.yoctoproject.org/matchbox-window-manager;branch=master \ - file://0001-Fix-build-with-gcc-10.patch \ file://kbdconfig" S = "${WORKDIR}/git" diff --git a/poky/meta/recipes-graphics/mesa/files/0001-gbm-backend-fix-gbm-compile-without-dri.patch b/poky/meta/recipes-graphics/mesa/files/0001-gbm-backend-fix-gbm-compile-without-dri.patch deleted file mode 100644 index 6541671b7a..0000000000 --- a/poky/meta/recipes-graphics/mesa/files/0001-gbm-backend-fix-gbm-compile-without-dri.patch +++ /dev/null @@ -1,65 +0,0 @@ -From 25946100e21cf2095bea334e8d7096798561d0b7 Mon Sep 17 00:00:00 2001 -From: Vincent Davis Jr <vince@underview.tech> -Date: Wed, 28 Dec 2022 16:28:01 -0600 -Subject: [PATCH] gbm/backend: fix gbm compile without dri - -Upstream-Status: Backport - -https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20447 -https://gitlab.freedesktop.org/mesa/mesa/-/commit/842ca284650f066e58706741a7d22d67b5088e60 - -At mesa version 22.2.3 patch wasn't introduced until after. - -Commit introduces a fix that allows for gbm to be built with an empty -backend. There are situation especially in a Yocto/OE cross compilation -environment where you want to build with an empty backend. The particular -situation is as such: - -The mesa-gl recipe is the preferred provider for virtual/libgbm, virtual/libgl, -virtual/mesa, etc... But the x11 DISTRO_FEATURE in't included this leads to build -errors such as: - -| /../../../ld: src/gbm/libgbm.so.1.0.0.p/main_backend.c.o: in function `find_backend': -| backend.c:(.text.find_backend+0xa4): undefined reference to `gbm_dri_backend' -| /../../../ld: src/gbm/libgbm.so.1.0.0.p/main_backend.c.o:(.data.rel.ro.builtin_backends+0x4): - undefined reference to `gbm_dri_backend' -| collect2: error: ld returned 1 exit status - -Issue should be replicable by setting -Ddri3=disabled and -Dgbm=enabled - -Add fix to bypasses compilation issue by excluding gbm dri backend. If -HAVE_DRI || HAVE_DRIX not specified. - -Acked-by: David Heidelberg <david.heidelberg@collabora.com> -Signed-off-by: Vincent Davis Jr <vince@underview.tech> ---- - src/gbm/main/backend.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/src/gbm/main/backend.c b/src/gbm/main/backend.c -index 974d0a76a4e..feee0703495 100644 ---- a/src/gbm/main/backend.c -+++ b/src/gbm/main/backend.c -@@ -42,7 +42,9 @@ - #define ARRAY_SIZE(a) (sizeof(a)/sizeof((a)[0])) - #define VER_MIN(a, b) ((a) < (b) ? (a) : (b)) - -+#if defined(HAVE_DRI) || defined(HAVE_DRI2) || defined(HAVE_DRI3) - extern const struct gbm_backend gbm_dri_backend; -+#endif - - struct gbm_backend_desc { - const char *name; -@@ -51,7 +53,9 @@ struct gbm_backend_desc { - }; - - static const struct gbm_backend_desc builtin_backends[] = { -+#if defined(HAVE_DRI) || defined(HAVE_DRI2) || defined(HAVE_DRI3) - { "dri", &gbm_dri_backend }, -+#endif - }; - - #define BACKEND_LIB_SUFFIX "_gbm" --- -2.34.1 - diff --git a/poky/meta/recipes-graphics/mesa/files/0001-util-format-Check-for-NEON-before-using-it.patch b/poky/meta/recipes-graphics/mesa/files/0001-util-format-Check-for-NEON-before-using-it.patch deleted file mode 100644 index d22ff3c8a8..0000000000 --- a/poky/meta/recipes-graphics/mesa/files/0001-util-format-Check-for-NEON-before-using-it.patch +++ /dev/null @@ -1,47 +0,0 @@ -From f17e836ef9b1bbc6056790596420b699e48128c2 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Thu, 2 Dec 2021 19:57:42 -0800 -Subject: [PATCH] util/format: Check for NEON before using it - -This fixes build on rpi0-w and any other machine which does not have -neon unit and is not used as FPU unit - -Fixes errors e.g. - -In file included from ../mesa-21.3.0/src/util/format/u_format_unpack_neon.c:35: -/mnt/b/yoe/master/build/tmp/work/arm1176jzfshf-vfp-yoe-linux-gnueabi/mesa/2_21.3.0-r0/recipe-sysroot-native/usr/lib/clang/13.0.1/include/arm_neon.h:32:2: error: "NEON support not enabled" - -Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14032] -Signed-off-by: Khem Raj <raj.khem@gmail.com> - ---- - src/util/format/u_format.c | 2 +- - src/util/format/u_format_unpack_neon.c | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/util/format/u_format.c b/src/util/format/u_format.c -index c071250..0880984 100644 ---- a/src/util/format/u_format.c -+++ b/src/util/format/u_format.c -@@ -1184,7 +1184,7 @@ static void - util_format_unpack_table_init(void) - { - for (enum pipe_format format = PIPE_FORMAT_NONE; format < PIPE_FORMAT_COUNT; format++) { --#if (defined(PIPE_ARCH_AARCH64) || defined(PIPE_ARCH_ARM)) && !defined(NO_FORMAT_ASM) && !defined(__SOFTFP__) -+#if (defined(PIPE_ARCH_AARCH64) || (defined(__ARM_NEON) && defined(PIPE_ARCH_ARM))) && !defined(NO_FORMAT_ASM) - const struct util_format_unpack_description *unpack = util_format_unpack_description_neon(format); - if (unpack) { - util_format_unpack_table[format] = unpack; -diff --git a/src/util/format/u_format_unpack_neon.c b/src/util/format/u_format_unpack_neon.c -index a4a5cb1..1e4f794 100644 ---- a/src/util/format/u_format_unpack_neon.c -+++ b/src/util/format/u_format_unpack_neon.c -@@ -23,7 +23,7 @@ - - #include <u_format.h> - --#if (defined(PIPE_ARCH_AARCH64) || defined(PIPE_ARCH_ARM)) && !defined(NO_FORMAT_ASM) && !defined(__SOFTFP__) -+#if (defined(PIPE_ARCH_AARCH64) || (defined(__ARM_NEON) && defined(PIPE_ARCH_ARM))) && !defined(NO_FORMAT_ASM) - - /* armhf builds default to vfp, not neon, and refuses to compile neon intrinsics - * unless you tell it "no really". diff --git a/poky/meta/recipes-graphics/mesa/mesa-demos_8.5.0.bb b/poky/meta/recipes-graphics/mesa/mesa-demos_8.5.0.bb index 6e9b95e1e2..12f41d75a5 100644 --- a/poky/meta/recipes-graphics/mesa/mesa-demos_8.5.0.bb +++ b/poky/meta/recipes-graphics/mesa/mesa-demos_8.5.0.bb @@ -30,7 +30,7 @@ PACKAGECONFIG[gles1] = "-Dgles1=enabled,-Dgles1=disabled,virtual/libgles1" PACKAGECONFIG[gles2] = "-Dgles2=enabled,-Dgles2=disabled,virtual/libgles2" PACKAGECONFIG[glut] = "-Dwith-glut=${STAGING_EXECPREFIXDIR},,freeglut" PACKAGECONFIG[osmesa] = "-Dosmesa=enabled,-Dosmesa=disabled," -PACKAGECONFIG[wayland] = "-Dwayland=enabled,-Dwayland=disabled,virtual/libgl wayland wayland-native" +PACKAGECONFIG[wayland] = "-Dwayland=enabled,-Dwayland=disabled,virtual/libgl wayland wayland-native wayland-protocols" PACKAGECONFIG[x11] = "-Dx11=enabled,-Dx11=disabled,virtual/libx11 libglu" do_install:append() { diff --git a/poky/meta/recipes-graphics/mesa/mesa-gl_22.3.5.bb b/poky/meta/recipes-graphics/mesa/mesa-gl_23.0.0.bb index ca160f1bfc..ca160f1bfc 100644 --- a/poky/meta/recipes-graphics/mesa/mesa-gl_22.3.5.bb +++ b/poky/meta/recipes-graphics/mesa/mesa-gl_23.0.0.bb diff --git a/poky/meta/recipes-graphics/mesa/mesa.inc b/poky/meta/recipes-graphics/mesa/mesa.inc index 8a8a057c6b..8f72f25c17 100644 --- a/poky/meta/recipes-graphics/mesa/mesa.inc +++ b/poky/meta/recipes-graphics/mesa/mesa.inc @@ -17,11 +17,9 @@ PE = "2" SRC_URI = "https://mesa.freedesktop.org/archive/mesa-${PV}.tar.xz \ file://0001-meson.build-check-for-all-linux-host_os-combinations.patch \ file://0001-meson-misdetects-64bit-atomics-on-mips-clang.patch \ - file://0001-util-format-Check-for-NEON-before-using-it.patch \ - file://0001-gbm-backend-fix-gbm-compile-without-dri.patch \ " -SRC_URI[sha256sum] = "3eed2ecae2bc674494566faab9fcc9beb21cd804c7ba2b59a1694f3d7236e6a9" +SRC_URI[sha256sum] = "01f3cff3763f09e0adabcb8011e4aebc6ad48f6a4dd4bae904fe918707d253e4" UPSTREAM_CHECK_GITTAGREGEX = "mesa-(?P<pver>\d+(\.\d+)+)" @@ -50,7 +48,7 @@ inherit meson pkgconfig python3native gettext features_check BBCLASSEXTEND = "native nativesdk" -ANY_OF_DISTRO_FEATURES:class-target = "opengl vulkan" +ANY_OF_DISTRO_FEATURES = "opengl vulkan" PLATFORMS ??= "${@bb.utils.filter('PACKAGECONFIG', 'x11 wayland', d)}" @@ -88,6 +86,8 @@ PACKAGECONFIG = " \ ${@bb.utils.contains('LICENSE_FLAGS_ACCEPTED', 'commercial', 'video-codecs', '', d)} \ " +PACKAGECONFIG:append:class-native = "gallium-llvm r600" + # "gbm" requires "opengl" PACKAGECONFIG[gbm] = "-Dgbm=enabled,-Dgbm=disabled" @@ -101,8 +101,10 @@ PACKAGECONFIG[dri3] = "-Ddri3=enabled, -Ddri3=disabled, xorgproto libxshmfence" # Vulkan drivers need dri3 enabled # amd could be enabled as well but requires gallium-llvm with llvm >= 3.9 VULKAN_DRIVERS = "" -VULKAN_DRIVERS:append:x86:class-target = ",intel" -VULKAN_DRIVERS:append:x86-64:class-target = ",intel" +VULKAN_DRIVERS:append:x86 = ",intel" +VULKAN_DRIVERS:append:x86-64 = ",intel" +# i686 is a 32 bit override for mesa-native +VULKAN_DRIVERS:append:i686 = ",intel" VULKAN_DRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',freedreno', '', d)}" VULKAN_DRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'broadcom', ',broadcom', '', d)}" PACKAGECONFIG[vulkan] = "-Dvulkan-drivers=${@strip_comma('${VULKAN_DRIVERS}')}, -Dvulkan-drivers='',glslang-native vulkan-loader vulkan-headers" @@ -148,8 +150,10 @@ PACKAGECONFIG[zink] = "" GALLIUMDRIVERS = "swrast" # gallium swrast was found to crash Xorg on startup in x32 qemu GALLIUMDRIVERS:x86-x32 = "" -GALLIUMDRIVERS:append:x86:class-target = ",i915,iris,crocus" -GALLIUMDRIVERS:append:x86-64:class-target = ",i915,iris,crocus" +GALLIUMDRIVERS:append:x86 = ",i915,iris,crocus" +GALLIUMDRIVERS:append:x86-64 = ",i915,iris,crocus" +# i686 is a 32 bit override for mesa-native +GALLIUMDRIVERS:append:i686 = ",i915,iris,crocus" GALLIUMDRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'etnaviv', ',etnaviv', '', d)}" GALLIUMDRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',freedreno', '', d)}" @@ -161,8 +165,10 @@ GALLIUMDRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'zink', ',zink', ' # radeonsi requires LLVM GALLIUMDRIVERS_RADEONSI = "${@bb.utils.contains('PACKAGECONFIG', 'r600', ',radeonsi', '', d)}" GALLIUMDRIVERS_LLVM = "r300,nouveau${GALLIUMDRIVERS_RADEONSI}" -GALLIUMDRIVERS_LLVM:append:x86:class-target = ",svga" -GALLIUMDRIVERS_LLVM:append:x86-64:class-target = ",svga" +GALLIUMDRIVERS_LLVM:append:x86 = ",svga" +GALLIUMDRIVERS_LLVM:append:x86-64 = ",svga" +# i686 is a 32 bit override for mesa-native +GALLIUMDRIVERS_LLVM:append:i686 = ",svga" PACKAGECONFIG[r600] = "" PACKAGECONFIG[virgl] = "" @@ -238,9 +244,6 @@ do_install:append () { rm -f ${D}${libdir}/gallium-pipe/*.la rm -f ${D}${libdir}/gbm/*.la - # it was packaged in libdricore9.1.3-1 and preventing upgrades when debian.bbclass was used - chrpath --delete ${D}${libdir}/dri/*_dri.so || true - # libwayland-egl has been moved to wayland 1.15+ rm -f ${D}${libdir}/libwayland-egl* rm -f ${D}${libdir}/pkgconfig/wayland-egl.pc diff --git a/poky/meta/recipes-graphics/mesa/mesa_22.3.5.bb b/poky/meta/recipes-graphics/mesa/mesa_23.0.0.bb index 96e8aa38d6..96e8aa38d6 100644 --- a/poky/meta/recipes-graphics/mesa/mesa_22.3.5.bb +++ b/poky/meta/recipes-graphics/mesa/mesa_23.0.0.bb diff --git a/poky/meta/recipes-graphics/pango/pango_1.50.12.bb b/poky/meta/recipes-graphics/pango/pango_1.50.13.bb index 6779f39c4f..e673366dc7 100644 --- a/poky/meta/recipes-graphics/pango/pango_1.50.12.bb +++ b/poky/meta/recipes-graphics/pango/pango_1.50.13.bb @@ -24,7 +24,7 @@ SRC_URI += "file://run-ptest \ file://0001-Skip-running-test-layout-test.patch \ " -SRC_URI[archive.sha256sum] = "caef96d27bbe792a6be92727c73468d832b13da57c8071ef79b9df69ee058fe3" +SRC_URI[archive.sha256sum] = "5cdcf6d761d26a3eb9412b6cb069b32bd1d9b07abf116321167d94c2189299fd" DEPENDS = "glib-2.0 glib-2.0-native fontconfig freetype virtual/libiconv cairo harfbuzz fribidi" diff --git a/poky/meta/recipes-graphics/piglit/piglit_git.bb b/poky/meta/recipes-graphics/piglit/piglit_git.bb index edbca69413..78b47985bc 100644 --- a/poky/meta/recipes-graphics/piglit/piglit_git.bb +++ b/poky/meta/recipes-graphics/piglit/piglit_git.bb @@ -13,7 +13,7 @@ SRC_URI = "git://gitlab.freedesktop.org/mesa/piglit.git;protocol=https;branch=ma " UPSTREAM_CHECK_COMMITS = "1" -SRCREV = "590d81bb5fa219353104980108e9f1aa2b1d1b6b" +SRCREV = "0f4a875b05feb44426a2d43146f5e3c6ea5f8038" # (when PV goes above 1.0 remove the trailing r) PV = "1.0+gitr${SRCPV}" @@ -38,7 +38,7 @@ do_compile[dirs] =+ "${B}/temp/" PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11 glx', '', d)}" PACKAGECONFIG[freeglut] = "-DPIGLIT_USE_GLUT=1,-DPIGLIT_USE_GLUT=0,freeglut," PACKAGECONFIG[glx] = "-DPIGLIT_BUILD_GLX_TESTS=ON,-DPIGLIT_BUILD_GLX_TESTS=OFF" -PACKAGECONFIG[opencl] = "-DPIGLIT_BUILD_CL_TESTS=ON,-DPIGLIT_BUILD_CL_TESTS=OFF,opencl-icd-loader" +PACKAGECONFIG[opencl] = "-DPIGLIT_BUILD_CL_TESTS=ON,-DPIGLIT_BUILD_CL_TESTS=OFF,virtual/opencl-icd" PACKAGECONFIG[x11] = "-DPIGLIT_BUILD_GL_TESTS=ON,-DPIGLIT_BUILD_GL_TESTS=OFF,${X11_DEPS}, ${X11_RDEPS}" PACKAGECONFIG[vulkan] = "-DPIGLIT_BUILD_VK_TESTS=ON,-DPIGLIT_BUILD_VK_TESTS=OFF,vulkan-loader" diff --git a/poky/meta/recipes-graphics/ttf-fonts/ttf-bitstream-vera_1.10.bb b/poky/meta/recipes-graphics/ttf-fonts/ttf-bitstream-vera_1.10.bb index 1f1ad83e0b..d3d1cfde60 100644 --- a/poky/meta/recipes-graphics/ttf-fonts/ttf-bitstream-vera_1.10.bb +++ b/poky/meta/recipes-graphics/ttf-fonts/ttf-bitstream-vera_1.10.bb @@ -12,9 +12,6 @@ PR = "r8" inherit allarch fontcache -# remove at next version upgrade or when output changes -HASHEQUIV_HASH_VERSION .= ".1" - FONT_PACKAGES = "${PN}" SRC_URI = "${GNOME_MIRROR}/ttf-bitstream-vera/1.10/ttf-bitstream-vera-${PV}.tar.bz2" diff --git a/poky/meta/recipes-graphics/vulkan/vulkan-samples_git.bb b/poky/meta/recipes-graphics/vulkan/vulkan-samples_git.bb index 20f39905b1..05babf4c91 100644 --- a/poky/meta/recipes-graphics/vulkan/vulkan-samples_git.bb +++ b/poky/meta/recipes-graphics/vulkan/vulkan-samples_git.bb @@ -18,7 +18,7 @@ UPSTREAM_CHECK_GITTAGREGEX = "These are not the releases you're looking for" S = "${WORKDIR}/git" REQUIRED_DISTRO_FEATURES = 'vulkan' -COMPATIBLE_HOST = "(x86_64|aarch64|mips64|powerpc64|riscv64).*-linux" +COMPATIBLE_HOST = "(x86_64|aarch64|mips64|powerpc64|riscv64|loongarch64).*-linux" inherit cmake features_check diff --git a/poky/meta/recipes-graphics/xorg-font/encodings/nocompiler.patch b/poky/meta/recipes-graphics/xorg-font/encodings/nocompiler.patch deleted file mode 100644 index 9ee7abe775..0000000000 --- a/poky/meta/recipes-graphics/xorg-font/encodings/nocompiler.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 0c0790e90a68bf8290da5c0e57142bf7c620f039 Mon Sep 17 00:00:00 2001 -From: Richard Purdie <richard.purdie@linuxfoundation.org> -Date: Tue, 17 May 2011 23:03:02 +0000 -Subject: [PATCH] Improve handling of 'all' architecture recipes and their - -Upstream-Status: Inappropriate [configuration] - -XORG_DEFAULT_OPTIONS pulls in the following dependency chains: - -XORG_CWARNFLAGS -> AC_PROG_CC_C99 -XORG_STRICT_OPTION -> AC_PROG_CC_C99, XORG_CWARNFLAGS -XORG_MANPAGE_SECTIONS -> AC_CANONICAL_HOST -> Checks host - -each of which triggers the use of the host compiler. As an "all" -architecture package, it shouldn't need a compiler (and doesn't). - -RP 17/5/2011 - ---- - configure.ac | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/configure.ac b/configure.ac -index b80e3de..80208bb 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -3,12 +3,12 @@ AC_INIT([encodings], [1.0.6], - [https://gitlab.freedesktop.org/xorg/font/encodings/issues]) - AM_INIT_AUTOMAKE([foreign dist-xz]) - --# Require xorg-macros: XORG_DEFAULT_OPTIONS - m4_ifndef([XORG_MACROS_VERSION], - [m4_fatal([must install xorg-macros 1.3 or later before running autoconf/autogen])]) - XORG_MACROS_VERSION(1.3) --XORG_DEFAULT_OPTIONS -- -+XORG_RELEASE_VERSION -+XORG_CHANGELOG -+XORG_INSTALL - AC_PROG_INSTALL - - # Require X.Org's font util macros 1.2 or later diff --git a/poky/meta/recipes-graphics/xorg-font/encodings_1.0.6.bb b/poky/meta/recipes-graphics/xorg-font/encodings_1.0.7.bb index be82414eef..5906da416a 100644 --- a/poky/meta/recipes-graphics/xorg-font/encodings_1.0.6.bb +++ b/poky/meta/recipes-graphics/xorg-font/encodings_1.0.7.bb @@ -11,8 +11,7 @@ PE = "1" DEPENDS = "mkfontscale-native mkfontdir-native font-util-native" RDEPENDS:${PN} = "" -SRC_URI += "file://nocompiler.patch" -SRC_URI[sha256sum] = "77e301de661f35a622b18f60b555a7e7d8c4d5f43ed41410e830d5ac9084fc26" +SRC_URI[sha256sum] = "3a39a9f43b16521cdbd9f810090952af4f109b44fa7a865cd555f8febcea70a4" SRC_URI_EXT = "xz" diff --git a/poky/meta/recipes-graphics/xorg-font/font-alias-1.0.4/nocompiler.patch b/poky/meta/recipes-graphics/xorg-font/font-alias-1.0.4/nocompiler.patch deleted file mode 100644 index e54eee4ea9..0000000000 --- a/poky/meta/recipes-graphics/xorg-font/font-alias-1.0.4/nocompiler.patch +++ /dev/null @@ -1,42 +0,0 @@ -From fa2bbd48a55d54bd2dae30edf7936e3ab7587c96 Mon Sep 17 00:00:00 2001 -From: Richard Purdie <richard.purdie@linuxfoundation.org> -Date: Tue, 17 May 2011 23:03:02 +0000 -Subject: [PATCH] Improve handling of 'all' architecture recipes and their - -Upstream-Status: Inappropriate [configuration] - -XORG_DEFAULT_OPTIONS pulls in the following dependency chains: - -XORG_CWARNFLAGS -> AC_PROG_CC_C99 -XORG_STRICT_OPTION -> AC_PROG_CC_C99, XORG_CWARNFLAGS -XORG_MANPAGE_SECTIONS -> AC_CANONICAL_HOST -> Checks host - -each of which triggers the use of the host compiler. As an "all" -architecture package, it shouldn't need a compiler (and doesn't). - -RP 17/5/2011 - ---- - configure.ac | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 3407c69..9fe1f89 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -27,12 +27,12 @@ AC_INIT([font-alias], [1.0.4], - [font-alias]) - AM_INIT_AUTOMAKE([foreign dist-bzip2]) - --# Require xorg-macros: XORG_DEFAULT_OPTIONS - m4_ifndef([XORG_MACROS_VERSION], - [m4_fatal([must install xorg-macros 1.3 or later before running autoconf/autogen])]) - XORG_MACROS_VERSION(1.3) --XORG_DEFAULT_OPTIONS -- -+XORG_RELEASE_VERSION -+XORG_CHANGELOG -+XORG_INSTALL - AC_PROG_INSTALL - - # Require X.Org's font util macros 1.2 or later diff --git a/poky/meta/recipes-graphics/xorg-font/font-alias_1.0.4.bb b/poky/meta/recipes-graphics/xorg-font/font-alias_1.0.5.bb index d80ecbeb8f..03c39a4334 100644 --- a/poky/meta/recipes-graphics/xorg-font/font-alias_1.0.4.bb +++ b/poky/meta/recipes-graphics/xorg-font/font-alias_1.0.5.bb @@ -9,8 +9,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=bf0158b89be493d523d69d9f29265038 \ file://misc/fonts.alias;md5=1bdafa7c31aa54f87f3531f2ef8ed5a6 \ file://100dpi/fonts.alias;md5=85bebd6ca213aa656c301a72eb4397cb \ " - -SRC_URI += "file://nocompiler.patch" +SRC_URI_EXT = "xz" DEPENDS = "util-macros-native font-util-native" RDEPENDS:${PN} = "encodings font-util" @@ -20,4 +19,4 @@ inherit allarch PE = "1" -SRC_URI[sha256sum] = "f3111ae8bf2e980f5f56af400e8eefe5fc9f4207f4a412ea79637fd66c945276" +SRC_URI[sha256sum] = "9f89e217bb73e0e3636a0a493fbf8b7c995156e0c53d9a0476d201b67c2d6b6e" diff --git a/poky/meta/recipes-graphics/xorg-font/font-util_1.3.3.bb b/poky/meta/recipes-graphics/xorg-font/font-util_1.4.0.bb index 64c705770d..db82104afe 100644 --- a/poky/meta/recipes-graphics/xorg-font/font-util_1.3.3.bb +++ b/poky/meta/recipes-graphics/xorg-font/font-util_1.4.0.bb @@ -16,7 +16,7 @@ RDEPENDS:${PN}:class-native = "" BBCLASSEXTEND = "native" -SRC_URI[sha256sum] = "e791c890779c40056ab63aaed5e031bb6e2890a98418ca09c534e6261a2eebd2" +SRC_URI[sha256sum] = "9f724bf940128c7e39f7252bd961cd38cfac2359de2100a8bed696bf40d40f7d" SYSROOT_DIRS_IGNORE:remove = "${datadir}/fonts" diff --git a/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts.bb b/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts.bb index 88f534ccf7..babde4b099 100644 --- a/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts.bb +++ b/poky/meta/recipes-graphics/xorg-font/xorg-minimal-fonts.bb @@ -14,8 +14,6 @@ SOURCE_DATE_EPOCH = "1613559011" PE = "1" PR = "r4" -# remove at next version upgrade or when output changes -HASHEQUIV_HASH_VERSION .= ".1" inherit allarch features_check diff --git a/poky/meta/recipes-graphics/xorg-proto/xcb-proto/0001-Fix-install-conflict-when-enable-multilib.patch b/poky/meta/recipes-graphics/xorg-proto/xcb-proto/0001-Fix-install-conflict-when-enable-multilib.patch new file mode 100644 index 0000000000..4209139da8 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-proto/xcb-proto/0001-Fix-install-conflict-when-enable-multilib.patch @@ -0,0 +1,32 @@ +From fc28149b6b198042c8d29e0931415adad7ed3231 Mon Sep 17 00:00:00 2001 +From: Wang Mingyu <wangmy@fujitsu.com> +Date: Thu, 16 Mar 2023 08:03:47 +0000 +Subject: [PATCH] Fix install conflict when enable multilib. + +Automake defines pythondir in terms of libdir (rather than hardcode 'lib' or query it from python as automake upstream does) +https://git.yoctoproject.org/poky/tree/meta/recipes-devtools/automake/automake/0001-automake-Update-for-python.m4-to-respect-libdir.patch + +So libdir needs to be defined when pythondir is defined. + +Upstream-Status: Inappropriate + +Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> +--- + Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile.am b/Makefile.am +index 8b57a83..580f5bc 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -1,6 +1,6 @@ + SUBDIRS = src xcbgen + +-pkgconfigdir = $(datarootdir)/pkgconfig ++pkgconfigdir = $(libdir)/pkgconfig + pkgconfig_DATA = xcb-proto.pc + + EXTRA_DIST=doc xcb-proto.pc.in autogen.sh README.md +-- +2.34.1 + diff --git a/poky/meta/recipes-graphics/xorg-proto/xcb-proto_1.15.2.bb b/poky/meta/recipes-graphics/xorg-proto/xcb-proto_1.15.2.bb index 4e4472a9c1..e60e7958a7 100644 --- a/poky/meta/recipes-graphics/xorg-proto/xcb-proto_1.15.2.bb +++ b/poky/meta/recipes-graphics/xorg-proto/xcb-proto_1.15.2.bb @@ -13,6 +13,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d763b081cb10c223435b01e00dc0aba7 \ SRC_URI = "https://xorg.freedesktop.org/archive/individual/proto/${BP}.tar.xz \ file://0001-xcb-proto.pc.in-reinstate-libdir.patch \ + file://0001-Fix-install-conflict-when-enable-multilib.patch \ " SRC_URI[sha256sum] = "7072beb1f680a2fe3f9e535b797c146d22528990c72f63ddb49d2f350a3653ed" diff --git a/poky/meta/recipes-graphics/xorg-util/util-macros/0001-xorg-macros.m4.in-do-not-run-AC_CANONICAL_HOST-in-ma.patch b/poky/meta/recipes-graphics/xorg-util/util-macros/0001-xorg-macros.m4.in-do-not-run-AC_CANONICAL_HOST-in-ma.patch new file mode 100644 index 0000000000..e08b586bf0 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-util/util-macros/0001-xorg-macros.m4.in-do-not-run-AC_CANONICAL_HOST-in-ma.patch @@ -0,0 +1,28 @@ +From 6afaaf164ab9370204856961a92ad8ee523a8293 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex@linutronix.de> +Date: Fri, 3 Mar 2023 13:24:58 +0100 +Subject: [PATCH] xorg-macros.m4.in: do not run AC_CANONICAL_HOST in manpage + section macro + +This doesn't work when building allarch items, as it calls into +config.sub with the host triplet, and config.sub can't match +it against any architeture it knows. + +Upstream-Status: Inappropriate [oe specific] +Signed-off-by: Alexander Kanavin <alex@linutronix.de> +--- + xorg-macros.m4.in | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/xorg-macros.m4.in b/xorg-macros.m4.in +index 3b8b8e9..6541236 100644 +--- a/xorg-macros.m4.in ++++ b/xorg-macros.m4.in +@@ -111,7 +111,6 @@ AC_SUBST(TRADITIONALCPPFLAGS) + # Added AC_PROG_SED in version 1.8 + + AC_DEFUN([XORG_MANPAGE_SECTIONS],[ +-AC_REQUIRE([AC_CANONICAL_HOST]) + AC_REQUIRE([AC_PROG_SED]) + + case $host_os in diff --git a/poky/meta/recipes-graphics/xorg-util/util-macros_1.20.0.bb b/poky/meta/recipes-graphics/xorg-util/util-macros_1.20.0.bb index 60495ad0c8..cd4bc387a2 100644 --- a/poky/meta/recipes-graphics/xorg-util/util-macros_1.20.0.bb +++ b/poky/meta/recipes-graphics/xorg-util/util-macros_1.20.0.bb @@ -9,6 +9,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=42ba50748cb7ccf8739424e5e2072b02" PE = "1" +SRC_URI += "file://0001-xorg-macros.m4.in-do-not-run-AC_CANONICAL_HOST-in-ma.patch" + SRC_URI[sha256sum] = "8daf36913d551a90fd1013cb078401375dabae021cb4713b9b256a70f00eeb74" # ${PN} is empty so we need to tweak -dev and -dbg package dependencies diff --git a/poky/meta/recipes-kernel/linux/kernel-devsrc.bb b/poky/meta/recipes-kernel/linux/kernel-devsrc.bb index 683f182c43..b4ea5f756a 100644 --- a/poky/meta/recipes-kernel/linux/kernel-devsrc.bb +++ b/poky/meta/recipes-kernel/linux/kernel-devsrc.bb @@ -330,6 +330,13 @@ do_install() { # external modules can be built touch -r $kerneldir/build/Makefile $kerneldir/build/include/generated/uapi/linux/version.h + # This fixes a warning that the compilers don't match when building a module + # Change: CONFIG_CC_VERSION_TEXT="x86_64-poky-linux-gcc (GCC) 12.2.0" to "gcc (GCC) 12.2.0" + # #define CONFIG_CC_VERSION_TEXT "x86_64-poky-linux-gcc (GCC) 12.2.0" to "gcc (GCC) 12.2.0" + sed -i 's/CONFIG_CC_VERSION_TEXT=".*\(gcc.*\)"/CONFIG_CC_VERSION_TEXT="\1"/' "$kerneldir/build/.config" + sed -i 's/#define CONFIG_CC_VERSION_TEXT ".*\(gcc.*\)"/#define CONFIG_CC_VERSION_TEXT "\1"/' $kerneldir/build/include/generated/autoconf.h + sed -i 's/CONFIG_CC_VERSION_TEXT=".*\(gcc.*\)"/CONFIG_CC_VERSION_TEXT="\1"/' $kerneldir/build/include/config/auto.conf + # make sure these are at least as old as the .config, or rebuilds will trigger touch -r $kerneldir/build/.config $kerneldir/build/include/generated/autoconf.h 2>/dev/null || : touch -r $kerneldir/build/.config $kerneldir/build/include/config/auto.conf* 2>/dev/null || : @@ -375,6 +382,8 @@ RDEPENDS:${PN} = "bc python3 flex bison ${TCLIBC}-utils" RDEPENDS:${PN} += "openssl-dev util-linux" # and x86 needs a bit more for 4.15+ RDEPENDS:${PN} += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-dev', '', d)}" +# powerpc needs elfutils on 6.3+ +RDEPENDS:${PN} += "${@bb.utils.contains('ARCH', 'powerpc', 'elfutils-dev', '', d)}" # 5.8+ needs gcc-plugins libmpc-dev RDEPENDS:${PN} += "gcc-plugins libmpc-dev" # 5.13+ needs awk for arm64 diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb b/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb index 9ef5b80a37..52cd6f5f28 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb @@ -10,13 +10,11 @@ inherit kernel require recipes-kernel/linux/linux-yocto.inc -# for ncurses tests -inherit pkgconfig # provide this .inc to set specific revisions include recipes-kernel/linux/linux-yocto-dev-revisions.inc -KBRANCH = "v6.2/standard/base" +KBRANCH = "v6.3/standard/base" KMETA = "kernel-meta" SRC_URI = "git://git.yoctoproject.org/linux-yocto-dev.git;branch=${KBRANCH};name=machine \ @@ -30,13 +28,14 @@ SRC_URI = "git://git.yoctoproject.org/linux-yocto-dev.git;branch=${KBRANCH};name SRCREV_machine ?= '${@oe.utils.conditional("PREFERRED_PROVIDER_virtual/kernel", "linux-yocto-dev", "${AUTOREV}", "29594404d7fe73cd80eaa4ee8c43dcc53970c60e", d)}' SRCREV_meta ?= '${@oe.utils.conditional("PREFERRED_PROVIDER_virtual/kernel", "linux-yocto-dev", "${AUTOREV}", "29594404d7fe73cd80eaa4ee8c43dcc53970c60e", d)}' -LINUX_VERSION ?= "6.2" +LINUX_VERSION ?= "6.3" LINUX_VERSION_EXTENSION ?= "-yoctodev-${LINUX_KERNEL_TYPE}" PV = "${LINUX_VERSION}+git${SRCPV}" LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}" +DEPENDS += "${@bb.utils.contains('ARCH', 'powerpc', 'elfutils-native', '', d)}" DEPENDS += "openssl-native util-linux-native" DEPENDS += "gmp-native libmpc-native" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.15.bb b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.15.bb index 0f557ba2c5..38daab6bbe 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.15.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.15.bb @@ -11,13 +11,13 @@ python () { raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it") } -SRCREV_machine ?= "4d335265c1010cdf45dc0169b1b79638323a5109" -SRCREV_meta ?= "509f4b9d68337f103633d48b621c1c9aa0dc975d" +SRCREV_machine ?= "e1ca9a177aff19013178aa30a8eccb4d7b2b67d7" +SRCREV_meta ?= "441f5fe00073620cec471166cf6e94c4ef9c69b2" SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.15;destsuffix=${KMETA}" -LINUX_VERSION ?= "5.15.96" +LINUX_VERSION ?= "5.15.103" LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-rt_6.1.bb b/poky/meta/recipes-kernel/linux/linux-yocto-rt_6.1.bb index f0e3614c8a..5f79bc617b 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto-rt_6.1.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto-rt_6.1.bb @@ -11,13 +11,13 @@ python () { raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it") } -SRCREV_machine ?= "fb6c0ef43abf097dcb4c5c94f0609c2f3e3f339b" -SRCREV_meta ?= "e8d08fc4c02c80ef13d4e540f70364c27f8a310c" +SRCREV_machine ?= "8d55a90b757757f76ec124508fd2bcace5d276b5" +SRCREV_meta ?= "1a97a82e62ebf4ef3787768a1f5937e2d2f280ce" SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.1;destsuffix=${KMETA}" -LINUX_VERSION ?= "6.1.14" +LINUX_VERSION ?= "6.1.20" LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.15.bb b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.15.bb index 34ffaa5132..eb6af62015 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.15.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.15.bb @@ -5,7 +5,7 @@ KCONFIG_MODE = "--allnoconfig" require recipes-kernel/linux/linux-yocto.inc -LINUX_VERSION ?= "5.15.96" +LINUX_VERSION ?= "5.15.103" LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}" @@ -14,8 +14,8 @@ DEPENDS += "openssl-native util-linux-native" KMETA = "kernel-meta" KCONF_BSP_AUDIT_LEVEL = "2" -SRCREV_machine ?= "9c8ee16005f204f7f48d6699822dd5e89b01d4a5" -SRCREV_meta ?= "509f4b9d68337f103633d48b621c1c9aa0dc975d" +SRCREV_machine ?= "4ae6c9a73f4e6e356186a541e3fcbea4fa6a09f1" +SRCREV_meta ?= "441f5fe00073620cec471166cf6e94c4ef9c69b2" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_6.1.bb b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_6.1.bb index 7e372bce49..58357d00c7 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_6.1.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_6.1.bb @@ -5,7 +5,7 @@ KCONFIG_MODE = "--allnoconfig" require recipes-kernel/linux/linux-yocto.inc -LINUX_VERSION ?= "6.1.14" +LINUX_VERSION ?= "6.1.20" LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}" @@ -14,8 +14,8 @@ DEPENDS += "openssl-native util-linux-native" KMETA = "kernel-meta" KCONF_BSP_AUDIT_LEVEL = "2" -SRCREV_machine ?= "b05ca3429c1eef8cfff0b5638c8a5bb708b4e98a" -SRCREV_meta ?= "e8d08fc4c02c80ef13d4e540f70364c27f8a310c" +SRCREV_machine ?= "423e1996694b61fbfc8ec3bf062fc6461d64fde1" +SRCREV_meta ?= "1a97a82e62ebf4ef3787768a1f5937e2d2f280ce" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto.inc b/poky/meta/recipes-kernel/linux/linux-yocto.inc index 93eef9e946..934591ff1c 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto.inc +++ b/poky/meta/recipes-kernel/linux/linux-yocto.inc @@ -47,7 +47,6 @@ LINUX_VERSION_EXTENSION ??= "-yocto-${LINUX_KERNEL_TYPE}" # Pick up shared functions inherit kernel inherit kernel-yocto -inherit pkgconfig B = "${WORKDIR}/linux-${PACKAGE_ARCH}-${LINUX_KERNEL_TYPE}-build" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto_5.15.bb b/poky/meta/recipes-kernel/linux/linux-yocto_5.15.bb index 55580357d2..41f20c96dd 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto_5.15.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto_5.15.bb @@ -13,24 +13,24 @@ KBRANCH:qemux86 ?= "v5.15/standard/base" KBRANCH:qemux86-64 ?= "v5.15/standard/base" KBRANCH:qemumips64 ?= "v5.15/standard/mti-malta64" -SRCREV_machine:qemuarm ?= "5479084dba4fbe0e3db2a97b0ae00ff7651fb90b" -SRCREV_machine:qemuarm64 ?= "91bfb4191c2f19b98b0c724676a69ca9d61bb696" -SRCREV_machine:qemumips ?= "8be1d8e09c4b174ab4ef0fbd67263f9563967818" -SRCREV_machine:qemuppc ?= "6de606ff8d3eeba9f003557ebb37c94a2d0e6bc1" -SRCREV_machine:qemuriscv64 ?= "001e2930e6997f58dd98cda33908111506f53eb7" -SRCREV_machine:qemuriscv32 ?= "001e2930e6997f58dd98cda33908111506f53eb7" -SRCREV_machine:qemux86 ?= "001e2930e6997f58dd98cda33908111506f53eb7" -SRCREV_machine:qemux86-64 ?= "001e2930e6997f58dd98cda33908111506f53eb7" -SRCREV_machine:qemumips64 ?= "d2d2e93f5cea91969185ec1cc05d6833cd7e1412" -SRCREV_machine ?= "001e2930e6997f58dd98cda33908111506f53eb7" -SRCREV_meta ?= "509f4b9d68337f103633d48b621c1c9aa0dc975d" +SRCREV_machine:qemuarm ?= "21687086c27bb112f19b0aac455d800961c0b830" +SRCREV_machine:qemuarm64 ?= "7144f86a73fe2ffe4fe57c9e6cf28d8fc8db4b6a" +SRCREV_machine:qemumips ?= "557c06060cb218ade536fccc66f8f3e755537f31" +SRCREV_machine:qemuppc ?= "db19dbdcdf51b9d2a071dcf180ba9e20b8286e9b" +SRCREV_machine:qemuriscv64 ?= "024d08fb706170a9723e9751e505681f9d4c7ab6" +SRCREV_machine:qemuriscv32 ?= "024d08fb706170a9723e9751e505681f9d4c7ab6" +SRCREV_machine:qemux86 ?= "024d08fb706170a9723e9751e505681f9d4c7ab6" +SRCREV_machine:qemux86-64 ?= "024d08fb706170a9723e9751e505681f9d4c7ab6" +SRCREV_machine:qemumips64 ?= "6f1dbe8c258d49f4dba59827124dfe9aa2c151db" +SRCREV_machine ?= "024d08fb706170a9723e9751e505681f9d4c7ab6" +SRCREV_meta ?= "441f5fe00073620cec471166cf6e94c4ef9c69b2" # set your preferred provider of linux-yocto to 'linux-yocto-upstream', and you'll # get the <version>/base branch, which is pure upstream -stable, and the same # meta SRCREV as the linux-yocto-standard builds. Select your version using the # normal PREFERRED_VERSION settings. BBCLASSEXTEND = "devupstream:target" -SRCREV_machine:class-devupstream ?= "d383d0f28ecac0f3375bdfb9a0c4bfac979f6f8f" +SRCREV_machine:class-devupstream ?= "8020ae3c051d1c9ec7b7a872e226f9720547649b" PN:class-devupstream = "linux-yocto-upstream" KBRANCH:class-devupstream = "v5.15/base" @@ -38,7 +38,7 @@ SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;name=machine;branch=${KBRA git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.15;destsuffix=${KMETA}" LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" -LINUX_VERSION ?= "5.15.96" +LINUX_VERSION ?= "5.15.103" DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}" DEPENDS += "openssl-native util-linux-native" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto_6.1.bb b/poky/meta/recipes-kernel/linux/linux-yocto_6.1.bb index be31a22524..6f33032c00 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto_6.1.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto_6.1.bb @@ -14,25 +14,25 @@ KBRANCH:qemux86-64 ?= "v6.1/standard/base" KBRANCH:qemuloongarch64 ?= "v6.1/standard/base" KBRANCH:qemumips64 ?= "v6.1/standard/mti-malta64" -SRCREV_machine:qemuarm ?= "129155997616e25e7221ed259fa75282e46a00b6" -SRCREV_machine:qemuarm64 ?= "b05ca3429c1eef8cfff0b5638c8a5bb708b4e98a" -SRCREV_machine:qemuloongarch64 ?= "1caf99d56881e1510afca553cd4a057f80479973" -SRCREV_machine:qemumips ?= "aa98067af82a03ef5223e9c116506030a732eb24" -SRCREV_machine:qemuppc ?= "b05ca3429c1eef8cfff0b5638c8a5bb708b4e98a" -SRCREV_machine:qemuriscv64 ?= "b05ca3429c1eef8cfff0b5638c8a5bb708b4e98a" -SRCREV_machine:qemuriscv32 ?= "b05ca3429c1eef8cfff0b5638c8a5bb708b4e98a" -SRCREV_machine:qemux86 ?= "b05ca3429c1eef8cfff0b5638c8a5bb708b4e98a" -SRCREV_machine:qemux86-64 ?= "b05ca3429c1eef8cfff0b5638c8a5bb708b4e98a" -SRCREV_machine:qemumips64 ?= "dfe8ca1dc8dcd94f4959923650ccc6d84e94dc50" -SRCREV_machine ?= "b05ca3429c1eef8cfff0b5638c8a5bb708b4e98a" -SRCREV_meta ?= "e8d08fc4c02c80ef13d4e540f70364c27f8a310c" +SRCREV_machine:qemuarm ?= "fad8850ff15dfbf8fb2e7d71583fc54b809d10ef" +SRCREV_machine:qemuarm64 ?= "423e1996694b61fbfc8ec3bf062fc6461d64fde1" +SRCREV_machine:qemuloongarch64 ?= "423e1996694b61fbfc8ec3bf062fc6461d64fde1" +SRCREV_machine:qemumips ?= "dd663b72efce61f63f0b38403254eb52e6ad9a59" +SRCREV_machine:qemuppc ?= "423e1996694b61fbfc8ec3bf062fc6461d64fde1" +SRCREV_machine:qemuriscv64 ?= "423e1996694b61fbfc8ec3bf062fc6461d64fde1" +SRCREV_machine:qemuriscv32 ?= "423e1996694b61fbfc8ec3bf062fc6461d64fde1" +SRCREV_machine:qemux86 ?= "423e1996694b61fbfc8ec3bf062fc6461d64fde1" +SRCREV_machine:qemux86-64 ?= "423e1996694b61fbfc8ec3bf062fc6461d64fde1" +SRCREV_machine:qemumips64 ?= "587a945baf13cdca2421e280b7b07dead6ad2a77" +SRCREV_machine ?= "423e1996694b61fbfc8ec3bf062fc6461d64fde1" +SRCREV_meta ?= "a8881762b53231bb914329cac3c2cf8db8b6779b" # set your preferred provider of linux-yocto to 'linux-yocto-upstream', and you'll # get the <version>/base branch, which is pure upstream -stable, and the same # meta SRCREV as the linux-yocto-standard builds. Select your version using the # normal PREFERRED_VERSION settings. BBCLASSEXTEND = "devupstream:target" -SRCREV_machine:class-devupstream ?= "7d54cb2c26dad1264ecca85992bfe8984df4b7b5" +SRCREV_machine:class-devupstream ?= "7eaef76fbc4621ced374c85dbc000dd80dc681d7" PN:class-devupstream = "linux-yocto-upstream" KBRANCH:class-devupstream = "v6.1/base" @@ -40,7 +40,7 @@ SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;name=machine;branch=${KBRA git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.1;destsuffix=${KMETA}" LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" -LINUX_VERSION ?= "6.1.14" +LINUX_VERSION ?= "6.1.20" DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}" DEPENDS += "openssl-native util-linux-native" diff --git a/poky/meta/recipes-kernel/lttng/babeltrace2/run-ptest b/poky/meta/recipes-kernel/lttng/babeltrace2/run-ptest index 72fe223436..71a9c81bfb 100755 --- a/poky/meta/recipes-kernel/lttng/babeltrace2/run-ptest +++ b/poky/meta/recipes-kernel/lttng/babeltrace2/run-ptest @@ -6,4 +6,14 @@ # test plan to raise ERRORs; this is just noise. makeargs="LOG_DRIVER_FLAGS=--ignore-exit abs_top_srcdir=$PWD abs_top_builddir=$PWD GREP=grep SED=sed PYTHON=python3" -exec make -C tests -k -s $makeargs $target 2>/dev/null +exec 2> error.log +make -C tests -k -s $makeargs $target +exitcode=$? +if [ -e error.log ]; then + cat error.log +fi +if [ -e tests/test-suite.log ]; then + cat tests/test-suite.log +fi + +exit $exitcode
\ No newline at end of file diff --git a/poky/meta/recipes-kernel/lttng/babeltrace2_2.0.4.bb b/poky/meta/recipes-kernel/lttng/babeltrace2_2.0.4.bb index b48f07ea0d..04c2a27904 100644 --- a/poky/meta/recipes-kernel/lttng/babeltrace2_2.0.4.bb +++ b/poky/meta/recipes-kernel/lttng/babeltrace2_2.0.4.bb @@ -29,7 +29,8 @@ FILES:${PN} += "${libdir}/babeltrace2/plugins/*.so" ASNEEDED = "" -RDEPENDS:${PN}-ptest += "bash gawk python3" +# coreutils since we need full mktemp +RDEPENDS:${PN}-ptest += "bash gawk python3 make grep coreutils findutils" do_compile_ptest () { make -C tests all diff --git a/poky/meta/recipes-kernel/lttng/babeltrace_1.5.11.bb b/poky/meta/recipes-kernel/lttng/babeltrace_1.5.11.bb index 8e2fe4164d..194a773a24 100644 --- a/poky/meta/recipes-kernel/lttng/babeltrace_1.5.11.bb +++ b/poky/meta/recipes-kernel/lttng/babeltrace_1.5.11.bb @@ -21,7 +21,7 @@ EXTRA_OECONF = "--disable-debug-info" ASNEEDED = "" -RDEPENDS:${PN}-ptest += "bash gawk" +RDEPENDS:${PN}-ptest += "bash gawk make" addtask do_patch_ptest_path after do_patch before do_configure do_patch_ptest_path () { diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0001-fix-btrfs-move-accessor-helpers-into-accessors.h-v6..patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0001-fix-btrfs-move-accessor-helpers-into-accessors.h-v6..patch deleted file mode 100644 index 26ae605b31..0000000000 --- a/poky/meta/recipes-kernel/lttng/lttng-modules/0001-fix-btrfs-move-accessor-helpers-into-accessors.h-v6..patch +++ /dev/null @@ -1,45 +0,0 @@ -From 69d3aa79a641f539cfd5c11b46b2dd9b4df9b0f0 Mon Sep 17 00:00:00 2001 -From: Michael Jeanson <mjeanson@efficios.com> -Date: Mon, 16 Jan 2023 15:01:51 -0500 -Subject: [PATCH] fix: btrfs: move accessor helpers into accessors.h (v6.2) - -See upstream commit : - - commit 07e81dc94474eb62705c6f96d9ab1a5a797b8703 - Author: Josef Bacik <josef@toxicpanda.com> - Date: Wed Oct 19 10:51:00 2022 -0400 - - btrfs: move accessor helpers into accessors.h - - This is a large patch, but because they're all macros it's impossible to - split up. Simply copy all of the item accessors in ctree.h and paste - them in accessors.h, and then update any files to include the header so - everything compiles. - -Upstream-Status: Backport - -Change-Id: I1f0876dd8b7a8687f6802b60c3e3baabd017cc52 -Signed-off-by: Michael Jeanson <mjeanson@efficios.com> -Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> ---- - include/instrumentation/events/btrfs.h | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/include/instrumentation/events/btrfs.h b/include/instrumentation/events/btrfs.h -index 785f16ac..01157107 100644 ---- a/include/instrumentation/events/btrfs.h -+++ b/include/instrumentation/events/btrfs.h -@@ -9,6 +9,10 @@ - #include <linux/writeback.h> - #include <lttng/kernel-version.h> - -+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,2,0)) -+#include <../fs/btrfs/accessors.h> -+#endif -+ - #ifndef _TRACE_BTRFS_DEF_ - #define _TRACE_BTRFS_DEF_ - struct btrfs_root; --- -2.34.1 - diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0001-fix-mm-introduce-vma-vm_flags-wrapper-functions-v6.3.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0001-fix-mm-introduce-vma-vm_flags-wrapper-functions-v6.3.patch new file mode 100644 index 0000000000..976eecc3ab --- /dev/null +++ b/poky/meta/recipes-kernel/lttng/lttng-modules/0001-fix-mm-introduce-vma-vm_flags-wrapper-functions-v6.3.patch @@ -0,0 +1,82 @@ +From 939200ef160c95c8a9d71fd80c99f42a1de0a9f0 Mon Sep 17 00:00:00 2001 +From: Michael Jeanson <mjeanson@efficios.com> +Date: Tue, 7 Mar 2023 11:41:14 -0500 +Subject: [PATCH 1/4] fix: mm: introduce vma->vm_flags wrapper functions (v6.3) + +See upstream commit : + + commit bc292ab00f6c7a661a8a605c714e8a148f629ef6 + Author: Suren Baghdasaryan <surenb@google.com> + Date: Thu Jan 26 11:37:47 2023 -0800 + + mm: introduce vma->vm_flags wrapper functions + + vm_flags are among VMA attributes which affect decisions like VMA merging + and splitting. Therefore all vm_flags modifications are performed after + taking exclusive mmap_lock to prevent vm_flags updates racing with such + operations. Introduce modifier functions for vm_flags to be used whenever + flags are updated. This way we can better check and control correct + locking behavior during these updates. + +Upstream-Status: Backport + +Change-Id: I2cf662420d9d7748e5e310d3ea4bac98ba7d7f94 +Signed-off-by: Michael Jeanson <mjeanson@efficios.com> +Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> +--- + include/wrapper/mm.h | 16 ++++++++++++++++ + src/lib/ringbuffer/ring_buffer_mmap.c | 4 +++- + 2 files changed, 19 insertions(+), 1 deletion(-) + +diff --git a/include/wrapper/mm.h b/include/wrapper/mm.h +index d3bdda66..61ac8127 100644 +--- a/include/wrapper/mm.h ++++ b/include/wrapper/mm.h +@@ -13,6 +13,22 @@ + + #include <lttng/kernel-version.h> + ++#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,3,0)) ++static inline ++void wrapper_vm_flags_set(struct vm_area_struct *vma, ++ vm_flags_t flags) ++{ ++ vm_flags_set(vma, flags); ++} ++#else ++static inline ++void wrapper_vm_flags_set(struct vm_area_struct *vma, ++ vm_flags_t flags) ++{ ++ vma->vm_flags |= flags; ++} ++#endif ++ + #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,6,0) \ + || LTTNG_UBUNTU_KERNEL_RANGE(4,4,25,44, 4,5,0,0)) + +diff --git a/src/lib/ringbuffer/ring_buffer_mmap.c b/src/lib/ringbuffer/ring_buffer_mmap.c +index 25e2d8d5..d24b76a3 100644 +--- a/src/lib/ringbuffer/ring_buffer_mmap.c ++++ b/src/lib/ringbuffer/ring_buffer_mmap.c +@@ -17,6 +17,8 @@ + #include <ringbuffer/frontend.h> + #include <ringbuffer/vfs.h> + ++#include <wrapper/mm.h> ++ + /* + * fault() vm_op implementation for ring buffer file mapping. + */ +@@ -113,7 +115,7 @@ static int lib_ring_buffer_mmap_buf(struct lttng_kernel_ring_buffer *buf, + return -EINVAL; + + vma->vm_ops = &lib_ring_buffer_mmap_ops; +- vma->vm_flags |= VM_DONTEXPAND; ++ wrapper_vm_flags_set(vma, VM_DONTEXPAND); + vma->vm_private_data = buf; + + return 0; +-- +2.34.1 + diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0002-fix-uuid-Decouple-guid_t-and-uuid_le-types-and-respe.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0002-fix-uuid-Decouple-guid_t-and-uuid_le-types-and-respe.patch new file mode 100644 index 0000000000..00aa34ed9f --- /dev/null +++ b/poky/meta/recipes-kernel/lttng/lttng-modules/0002-fix-uuid-Decouple-guid_t-and-uuid_le-types-and-respe.patch @@ -0,0 +1,60 @@ +From b3756eaa49a3de2f388bc269b2928a0233358fea Mon Sep 17 00:00:00 2001 +From: Michael Jeanson <mjeanson@efficios.com> +Date: Tue, 7 Mar 2023 12:05:00 -0500 +Subject: [PATCH 2/4] fix: uuid: Decouple guid_t and uuid_le types and + respective macros (v6.3) + +See upstream commit : + + commit 5e6a51787fef20b849682d8c49ec9c2beed5c373 + Author: Andy Shevchenko <andriy.shevchenko@linux.intel.com> + Date: Tue Jan 24 15:38:38 2023 +0200 + + uuid: Decouple guid_t and uuid_le types and respective macros + + The guid_t type and respective macros are being used internally only. + The uuid_le has its user outside the kernel. Decouple these types and + macros, and make guid_t completely internal type to the kernel. + +Upstream-Status: Backport + +Change-Id: I8644fd139b0630e9cf18886b84e33bffab1e5abd +Signed-off-by: Michael Jeanson <mjeanson@efficios.com> +Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> +--- + include/lttng/events-internal.h | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/include/lttng/events-internal.h b/include/lttng/events-internal.h +index e31e6abb..a91a659e 100644 +--- a/include/lttng/events-internal.h ++++ b/include/lttng/events-internal.h +@@ -9,6 +9,7 @@ + #define _LTTNG_EVENTS_INTERNAL_H + + #include <wrapper/compiler_attributes.h> ++#include <wrapper/uuid.h> + + #include <lttng/events.h> + +@@ -289,7 +290,7 @@ struct lttng_metadata_cache { + atomic_t producing; /* Metadata being produced (incomplete) */ + struct kref refcount; /* Metadata cache usage */ + struct list_head metadata_stream; /* Metadata stream list */ +- uuid_le uuid; /* Trace session unique ID (copy) */ ++ guid_t uuid; /* Trace session unique ID (copy) */ + struct mutex lock; /* Produce/consume lock */ + uint64_t version; /* Current version of the metadata */ + }; +@@ -463,7 +464,7 @@ struct lttng_kernel_session_private { + struct list_head events; /* Event list head */ + struct list_head list; /* Session list */ + unsigned int free_chan_id; /* Next chan ID to allocate */ +- uuid_le uuid; /* Trace session unique ID */ ++ guid_t uuid; /* Trace session unique ID */ + struct lttng_metadata_cache *metadata_cache; + unsigned int metadata_dumped:1, + tstate:1; /* Transient enable state */ +-- +2.34.1 + diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0003-fix-btrfs-pass-find_free_extent_ctl-to-allocator-tra.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0003-fix-btrfs-pass-find_free_extent_ctl-to-allocator-tra.patch new file mode 100644 index 0000000000..8ecdccf609 --- /dev/null +++ b/poky/meta/recipes-kernel/lttng/lttng-modules/0003-fix-btrfs-pass-find_free_extent_ctl-to-allocator-tra.patch @@ -0,0 +1,116 @@ +From d0eeda3f84ba1643831561a2488ca2e99e9472b1 Mon Sep 17 00:00:00 2001 +From: Michael Jeanson <mjeanson@efficios.com> +Date: Tue, 7 Mar 2023 11:26:25 -0500 +Subject: [PATCH 3/4] fix: btrfs: pass find_free_extent_ctl to allocator + tracepoints (v6.3) + +See upstream commit : + + commit cfc2de0fce015d4249c674ef9f5e0b4817ba5c53 + Author: Boris Burkov <boris@bur.io> + Date: Thu Dec 15 16:06:31 2022 -0800 + + btrfs: pass find_free_extent_ctl to allocator tracepoints + + The allocator tracepoints currently have a pile of values from ffe_ctl. + In modifying the allocator and adding more tracepoints, I found myself + adding to the already long argument list of the tracepoints. It makes it + a lot simpler to just send in the ffe_ctl itself. + +Upstream-Status: Backport + +Change-Id: Iab4132a9d3df3a6369591a50fb75374b1e399fa4 +Signed-off-by: Michael Jeanson <mjeanson@efficios.com> +Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> +--- + include/instrumentation/events/btrfs.h | 60 +++++++++++++++++++++++++- + 1 file changed, 58 insertions(+), 2 deletions(-) + +diff --git a/include/instrumentation/events/btrfs.h b/include/instrumentation/events/btrfs.h +index 01157107..7c7b9b0c 100644 +--- a/include/instrumentation/events/btrfs.h ++++ b/include/instrumentation/events/btrfs.h +@@ -13,6 +13,10 @@ + #include <../fs/btrfs/accessors.h> + #endif + ++#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,3,0)) ++#include <../fs/btrfs/extent-tree.h> ++#endif ++ + #ifndef _TRACE_BTRFS_DEF_ + #define _TRACE_BTRFS_DEF_ + struct btrfs_root; +@@ -1963,7 +1967,26 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserved_extent, btrfs_reserved_extent_f + + #endif /* #else #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,10,0)) */ + +-#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,10,0) || \ ++#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,3,0)) ++LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent, ++ ++ btrfs_find_free_extent, ++ ++ TP_PROTO(const struct btrfs_root *root, ++ const struct find_free_extent_ctl *ffe_ctl), ++ ++ TP_ARGS(root, ffe_ctl), ++ ++ TP_FIELDS( ++ ctf_array(u8, fsid, root->lttng_fs_info_fsid, BTRFS_UUID_SIZE) ++ ctf_integer(u64, root_objectid, root->root_key.objectid) ++ ctf_integer(u64, num_bytes, ffe_ctl->num_bytes) ++ ctf_integer(u64, empty_size, ffe_ctl->empty_size) ++ ctf_integer(u64, flags, ffe_ctl->flags) ++ ) ++) ++ ++#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,10,0) || \ + LTTNG_KERNEL_RANGE(5,9,5, 5,10,0) || \ + LTTNG_KERNEL_RANGE(5,4,78, 5,5,0) || \ + LTTNG_UBUNTU_KERNEL_RANGE(5,8,18,44, 5,9,0,0)) +@@ -2102,7 +2125,40 @@ LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent, + ) + #endif + +-#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,5,0)) ++#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,3,0)) ++LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserve_extent, ++ ++ TP_PROTO(const struct btrfs_block_group *block_group, ++ const struct find_free_extent_ctl *ffe_ctl), ++ ++ TP_ARGS(block_group, ffe_ctl), ++ ++ TP_FIELDS( ++ ctf_array(u8, fsid, block_group->lttng_fs_info_fsid, BTRFS_UUID_SIZE) ++ ctf_integer(u64, bg_objectid, block_group->start) ++ ctf_integer(u64, flags, block_group->flags) ++ ctf_integer(u64, start, ffe_ctl->search_start) ++ ctf_integer(u64, len, ffe_ctl->num_bytes) ++ ) ++) ++ ++LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent, btrfs_reserve_extent, ++ ++ TP_PROTO(const struct btrfs_block_group *block_group, ++ const struct find_free_extent_ctl *ffe_ctl), ++ ++ TP_ARGS(block_group, ffe_ctl) ++) ++ ++LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent, btrfs_reserve_extent_cluster, ++ ++ TP_PROTO(const struct btrfs_block_group *block_group, ++ const struct find_free_extent_ctl *ffe_ctl), ++ ++ TP_ARGS(block_group, ffe_ctl) ++) ++ ++#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,5,0)) + LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserve_extent, + + TP_PROTO(const struct btrfs_block_group *block_group, u64 start, +-- +2.34.1 + diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0004-fix-net-add-location-to-trace_consume_skb-v6.3.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0004-fix-net-add-location-to-trace_consume_skb-v6.3.patch new file mode 100644 index 0000000000..59d96dc22d --- /dev/null +++ b/poky/meta/recipes-kernel/lttng/lttng-modules/0004-fix-net-add-location-to-trace_consume_skb-v6.3.patch @@ -0,0 +1,62 @@ +From 12f43cab7daceff0c73c78276b5a5b9cc1d5056f Mon Sep 17 00:00:00 2001 +From: Michael Jeanson <mjeanson@efficios.com> +Date: Tue, 7 Mar 2023 11:10:26 -0500 +Subject: [PATCH 4/4] fix: net: add location to trace_consume_skb() (v6.3) + +See upstream commit : + + commit dd1b527831a3ed659afa01b672d8e1f7e6ca95a5 + Author: Eric Dumazet <edumazet@google.com> + Date: Thu Feb 16 15:47:18 2023 +0000 + + net: add location to trace_consume_skb() + + kfree_skb() includes the location, it makes sense + to add it to consume_skb() as well. + +Upstream-Status: Backport + +Change-Id: I8d871187d90e7fe113a63e209b00aebe0df475f3 +Signed-off-by: Michael Jeanson <mjeanson@efficios.com> +Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> +--- + include/instrumentation/events/skb.h | 16 ++++++++++++++++ + 1 file changed, 16 insertions(+) + +diff --git a/include/instrumentation/events/skb.h b/include/instrumentation/events/skb.h +index 186732ea..3c43f32d 100644 +--- a/include/instrumentation/events/skb.h ++++ b/include/instrumentation/events/skb.h +@@ -61,6 +61,21 @@ LTTNG_TRACEPOINT_EVENT_MAP(kfree_skb, + ) + #endif + ++#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,3,0)) ++LTTNG_TRACEPOINT_EVENT_MAP(consume_skb, ++ ++ skb_consume, ++ ++ TP_PROTO(struct sk_buff *skb, void *location), ++ ++ TP_ARGS(skb, location), ++ ++ TP_FIELDS( ++ ctf_integer_hex(void *, skbaddr, skb) ++ ctf_integer_hex(void *, location, location) ++ ) ++) ++#else + LTTNG_TRACEPOINT_EVENT_MAP(consume_skb, + + skb_consume, +@@ -73,6 +88,7 @@ LTTNG_TRACEPOINT_EVENT_MAP(consume_skb, + ctf_integer_hex(void *, skbaddr, skb) + ) + ) ++#endif + + LTTNG_TRACEPOINT_EVENT(skb_copy_datagram_iovec, + +-- +2.34.1 + diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/fix-jbd2-upper-bound-for-v5.10.163.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/fix-jbd2-upper-bound-for-v5.10.163.patch deleted file mode 100644 index bfc49294b0..0000000000 --- a/poky/meta/recipes-kernel/lttng/lttng-modules/fix-jbd2-upper-bound-for-v5.10.163.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 4fd2615b87b3cac0fd5bdc5fc82db05f6fcfdecf Mon Sep 17 00:00:00 2001 -From: Michael Jeanson <mjeanson@efficios.com> -Date: Tue, 17 Jan 2023 12:16:04 -0500 -Subject: [PATCH] fix: jbd2 upper bound for v5.10.163 - -Use the correct upper bound of 5,11,0. - -Change-Id: I435b44b940c7346ed8c3ef0d445365ed156702d0 -Signed-off-by: Michael Jeanson <mjeanson@efficios.com> -Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> - -Upstream-Status: Backport -Signed-off-by: Armin Kuster <akuster@mvista.com> - ---- - include/instrumentation/events/jbd2.h | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/include/instrumentation/events/jbd2.h b/include/instrumentation/events/jbd2.h -index f7993511..9b77ab92 100644 ---- a/include/instrumentation/events/jbd2.h -+++ b/include/instrumentation/events/jbd2.h -@@ -28,7 +28,7 @@ LTTNG_TRACEPOINT_EVENT(jbd2_checkpoint, - ) - - #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,2,0) \ -- || LTTNG_KERNEL_RANGE(5,10,163, 6,0,0) \ -+ || LTTNG_KERNEL_RANGE(5,10,163, 5,11,0) \ - || LTTNG_KERNEL_RANGE(5,15,87, 5,16,0) \ - || LTTNG_KERNEL_RANGE(6,0,18, 6,1,0) \ - || LTTNG_KERNEL_RANGE(6,1,4, 6,2,0)) -@@ -97,7 +97,7 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(jbd2_commit, jbd2_drop_transaction, - #endif - - #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,2,0) \ -- || LTTNG_KERNEL_RANGE(5,10,163, 6,0,0) \ -+ || LTTNG_KERNEL_RANGE(5,10,163, 5,11,0) \ - || LTTNG_KERNEL_RANGE(5,15,87, 5,16,0) \ - || LTTNG_KERNEL_RANGE(6,0,18, 6,1,0) \ - || LTTNG_KERNEL_RANGE(6,1,4, 6,2,0)) -@@ -140,7 +140,7 @@ LTTNG_TRACEPOINT_EVENT(jbd2_submit_inode_data, - ) - - #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,2,0) \ -- || LTTNG_KERNEL_RANGE(5,10,163, 6,0,0) \ -+ || LTTNG_KERNEL_RANGE(5,10,163, 5,11,0) \ - || LTTNG_KERNEL_RANGE(5,15,87, 5,16,0) \ - || LTTNG_KERNEL_RANGE(6,0,18, 6,1,0) \ - || LTTNG_KERNEL_RANGE(6,1,4, 6,2,0)) --- -2.35.4 - diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/fix-jbd2-use-the-correct-print-format-v5.10.163.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/fix-jbd2-use-the-correct-print-format-v5.10.163.patch deleted file mode 100644 index 8067cffaab..0000000000 --- a/poky/meta/recipes-kernel/lttng/lttng-modules/fix-jbd2-use-the-correct-print-format-v5.10.163.patch +++ /dev/null @@ -1,61 +0,0 @@ -From dd7be14bd04c1de309ba267097b03a308da87dae Mon Sep 17 00:00:00 2001 -From: Michael Jeanson <mjeanson@efficios.com> -Date: Tue, 17 Jan 2023 11:03:12 -0500 -Subject: [PATCH] fix: jbd2: use the correct print format (v5.10.163) - -See upstream commit : - - commit d87a7b4c77a997d5388566dd511ca8e6b8e8a0a8 - Author: Bixuan Cui <cuibixuan@linux.alibaba.com> - Date: Tue Oct 11 19:33:44 2022 +0800 - - jbd2: use the correct print format - - The print format error was found when using ftrace event: - <...>-1406 [000] .... 23599442.895823: jbd2_end_commit: dev 252,8 transaction -1866216965 sync 0 head -1866217368 - <...>-1406 [000] .... 23599442.896299: jbd2_start_commit: dev 252,8 transaction -1866216964 sync 0 - - Use the correct print format for transaction, head and tid. - -Change-Id: I7601f5cbb86495c2607be7b11e02724c90b3ebf9 -Signed-off-by: Michael Jeanson <mjeanson@efficios.com> -Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> - -Upstream-Status: Backport -Signed-off-by: Armin Kuster <akuster@mvista.com> - ---- - include/instrumentation/events/jbd2.h | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/include/instrumentation/events/jbd2.h b/include/instrumentation/events/jbd2.h -index d5d8ea0c..f7993511 100644 ---- a/include/instrumentation/events/jbd2.h -+++ b/include/instrumentation/events/jbd2.h -@@ -28,6 +28,7 @@ LTTNG_TRACEPOINT_EVENT(jbd2_checkpoint, - ) - - #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,2,0) \ -+ || LTTNG_KERNEL_RANGE(5,10,163, 6,0,0) \ - || LTTNG_KERNEL_RANGE(5,15,87, 5,16,0) \ - || LTTNG_KERNEL_RANGE(6,0,18, 6,1,0) \ - || LTTNG_KERNEL_RANGE(6,1,4, 6,2,0)) -@@ -96,6 +97,7 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(jbd2_commit, jbd2_drop_transaction, - #endif - - #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,2,0) \ -+ || LTTNG_KERNEL_RANGE(5,10,163, 6,0,0) \ - || LTTNG_KERNEL_RANGE(5,15,87, 5,16,0) \ - || LTTNG_KERNEL_RANGE(6,0,18, 6,1,0) \ - || LTTNG_KERNEL_RANGE(6,1,4, 6,2,0)) -@@ -138,6 +140,7 @@ LTTNG_TRACEPOINT_EVENT(jbd2_submit_inode_data, - ) - - #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,2,0) \ -+ || LTTNG_KERNEL_RANGE(5,10,163, 6,0,0) \ - || LTTNG_KERNEL_RANGE(5,15,87, 5,16,0) \ - || LTTNG_KERNEL_RANGE(6,0,18, 6,1,0) \ - || LTTNG_KERNEL_RANGE(6,1,4, 6,2,0)) --- -2.35.4 - diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules_2.13.8.bb b/poky/meta/recipes-kernel/lttng/lttng-modules_2.13.9.bb index c04796be16..5197bf578f 100644 --- a/poky/meta/recipes-kernel/lttng/lttng-modules_2.13.8.bb +++ b/poky/meta/recipes-kernel/lttng/lttng-modules_2.13.9.bb @@ -11,15 +11,16 @@ include lttng-platforms.inc SRC_URI = "https://lttng.org/files/${BPN}/${BPN}-${PV}.tar.bz2 \ file://0009-Rename-genhd-wrapper-to-blkdev.patch \ - file://fix-jbd2-use-the-correct-print-format-v5.10.163.patch \ - file://fix-jbd2-upper-bound-for-v5.10.163.patch \ - file://0001-fix-btrfs-move-accessor-helpers-into-accessors.h-v6..patch \ + file://0001-fix-mm-introduce-vma-vm_flags-wrapper-functions-v6.3.patch \ + file://0002-fix-uuid-Decouple-guid_t-and-uuid_le-types-and-respe.patch \ + file://0003-fix-btrfs-pass-find_free_extent_ctl-to-allocator-tra.patch \ + file://0004-fix-net-add-location-to-trace_consume_skb-v6.3.patch \ " # Use :append here so that the patch is applied also when using devupstream SRC_URI:append = " file://0001-src-Kbuild-change-missing-CONFIG_TRACEPOINTS-to-warn.patch" -SRC_URI[sha256sum] = "f525d3d48ea3a475cb535339c201666d0e4c75ec8c46d29837bcf381ea02cb19" +SRC_URI[sha256sum] = "bf808b113544287cfe837a6382887fa66354ef5cc8216460cebbef3d27dc3581" export INSTALL_MOD_DIR="kernel/lttng-modules" diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools/run-ptest b/poky/meta/recipes-kernel/lttng/lttng-tools/run-ptest index c4dbe50f21..bf99322ef2 100755 --- a/poky/meta/recipes-kernel/lttng/lttng-tools/run-ptest +++ b/poky/meta/recipes-kernel/lttng/lttng-tools/run-ptest @@ -2,6 +2,19 @@ # Without --ignore-exit, the tap harness causes any FAILs within a # test plan to raise ERRORs; this is just noise. export LD_LIBRARY_PATH=FIXMEPTESTPATH/tests/utils/testapp/userspace-probe-elf-binary/.libs -makeargs="LOG_DRIVER_FLAGS=--ignore-exit top_srcdir=$PWD top_builddir=$PWD" -make -k -t all >/dev/null 2>&1 -exec make -k -s $makeargs check 2>/dev/null | sed -e 's#/tmp/tmp\...........#/tmp/tmp.XXXXXXXXXX#g' +makeargs="LOG_DRIVER_FLAGS=--ignore-exit top_srcdir=FIXMEPTESTPATH top_builddir=FIXMEPTESTPATH" +make -k -t all >error.log 2>&1 +# Can specify a test e.g.: +# -C tests/regression/ check TESTS='kernel/test_callstack' +make -k -s $makeargs check 2>error.log | sed -e 's#/tmp/tmp\...........#/tmp/tmp.XXXXXXXXXX#g' +exitcode=$? +if [ -e error.log ]; then + cat error.log +fi +if [ -e tests/unit/test-suite.log ]; then + cat tests/unit/test-suite.log +fi +if [ -e tests/regression/test-suite.log ]; then + cat tests/regression/test-suite.log +fi +exit $exitcode diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools_2.13.9.bb b/poky/meta/recipes-kernel/lttng/lttng-tools_2.13.9.bb index 340b254b46..58c0378d66 100644 --- a/poky/meta/recipes-kernel/lttng/lttng-tools_2.13.9.bb +++ b/poky/meta/recipes-kernel/lttng/lttng-tools_2.13.9.bb @@ -15,7 +15,7 @@ include lttng-platforms.inc DEPENDS = "liburcu popt libxml2 util-linux bison-native" RDEPENDS:${PN} = "libgcc" RRECOMMENDS:${PN} += "${LTTNGMODULES}" -RDEPENDS:${PN}-ptest += "make perl bash gawk babeltrace procps perl-module-overloading coreutils util-linux kmod ${LTTNGMODULES} sed python3-core grep" +RDEPENDS:${PN}-ptest += "make perl bash gawk babeltrace procps perl-module-overloading coreutils util-linux kmod ${LTTNGMODULES} sed python3-core grep binutils" RDEPENDS:${PN}-ptest:append:libc-glibc = " glibc-utils" RDEPENDS:${PN}-ptest:append:libc-musl = " musl-utils" # babelstats.pl wants getopt-long @@ -84,7 +84,7 @@ do_install_ptest () { done # Patch in the correct path for the custom libraries a helper executable needs - sed -i -e 's!FIXMEPTESTPATH!${PTEST_PATH}!' "${D}${PTEST_PATH}/run-ptest" + sed -i -e 's!FIXMEPTESTPATH!${PTEST_PATH}!g' "${D}${PTEST_PATH}/run-ptest" # Prevent 'make check' from recursing into non-test subdirectories. sed -i -e 's!^SUBDIRS = .*!SUBDIRS = tests!' "${D}${PTEST_PATH}/Makefile" diff --git a/poky/meta/recipes-kernel/perf/perf.bb b/poky/meta/recipes-kernel/perf/perf.bb index cddbfa725b..5fce30862e 100644 --- a/poky/meta/recipes-kernel/perf/perf.bb +++ b/poky/meta/recipes-kernel/perf/perf.bb @@ -81,7 +81,7 @@ EXTRA_OEMAKE = '\ LDSHARED="${CC} -shared" \ AR="${AR}" \ LD="${LD}" \ - EXTRA_CFLAGS="-ldw" \ + EXTRA_CFLAGS="-ldw -I${S}" \ YFLAGS='-y --file-prefix-map=${WORKDIR}=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}' \ EXTRA_LDFLAGS="${PERF_EXTRA_LDFLAGS}" \ perfexecdir=${libexecdir} \ @@ -280,6 +280,16 @@ do_configure:prepend () { sed -i -e "s#os.scandir(path)#sorted(os.scandir(path), key=lambda e: e.name)#g" \ "${S}/tools/perf/pmu-events/jevents.py" fi + if [ -e "${S}/tools/perf/arch/arm64/Makefile" ]; then + sed -i 's,sysdef := $(srctree)/,sysdef := ,' ${S}/tools/perf/arch/arm64/Makefile + sed -i 's,$(incpath) $(sysdef),$(incpath) $(srctree)/$(sysdef) $(sysdef),' ${S}/tools/perf/arch/arm64/Makefile + fi + if [ -e "${S}/tools/perf/arch/arm64/entry/syscalls/mksyscalltbl" ]; then + if ! grep -q input_rel ${S}/tools/perf/arch/arm64/entry/syscalls/mksyscalltbl; then + sed -i 's,input=$4,input=$4\ninput_rel=$5,' ${S}/tools/perf/arch/arm64/entry/syscalls/mksyscalltbl + fi + sed -i 's,#include \\"\$input\\",#include \\"\$input_rel\\",' ${S}/tools/perf/arch/arm64/entry/syscalls/mksyscalltbl + fi # end reproducibility substitutions # We need to ensure the --sysroot option in CC is preserved diff --git a/poky/meta/recipes-kernel/systemtap/systemtap_git.bb b/poky/meta/recipes-kernel/systemtap/systemtap_git.bb index 072fcb310a..d320a8a5e0 100644 --- a/poky/meta/recipes-kernel/systemtap/systemtap_git.bb +++ b/poky/meta/recipes-kernel/systemtap/systemtap_git.bb @@ -34,6 +34,9 @@ PACKAGECONFIG[python3-probes] = "--with-python3-probes,--without-python3-probes, inherit autotools gettext pkgconfig systemd inherit ${@bb.utils.contains('PACKAGECONFIG', 'python3-probes', 'setuptools3-base', '', d)} +# | ../git/elaborate.cxx:2601:21: error: storing the address of local variable 'sym' in '*s.systemtap_session::symbol_resolver' [-Werror=dangling-pointer=] +CXXFLAGS += "-Wno-dangling-pointer" + # exporter comes with python3-probes PACKAGES =+ "${PN}-exporter" FILES:${PN}-exporter = "${sysconfdir}/stap-exporter/* \ diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.22.0.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.22.0.bb index 2f80b9ee3e..11002e667d 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.22.0.bb +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.22.0.bb @@ -67,6 +67,8 @@ FILES:${PN}-dev += "${libdir}/gstreamer-1.0/*.a ${libdir}/gstreamer-1.0/include" FILES:${PN}-bash-completion += "${datadir}/bash-completion/completions/ ${datadir}/bash-completion/helpers/gst*" FILES:${PN}-dbg += "${datadir}/gdb ${datadir}/gstreamer-1.0/gdb" +RDEPENDS:${PN}-ptest:append:libc-glibc = " glibc-gconv-iso8859-5" + CVE_PRODUCT = "gstreamer" PTEST_BUILD_HOST_FILES = "" diff --git a/poky/meta/recipes-sato/matchbox-config-gtk/matchbox-config-gtk_0.2.bb b/poky/meta/recipes-sato/matchbox-config-gtk/matchbox-config-gtk_0.2.bb index d951baf361..d870ab211b 100644 --- a/poky/meta/recipes-sato/matchbox-config-gtk/matchbox-config-gtk_0.2.bb +++ b/poky/meta/recipes-sato/matchbox-config-gtk/matchbox-config-gtk_0.2.bb @@ -4,16 +4,16 @@ BUGTRACKER = "http://bugzilla.yoctoproject.org/" LICENSE = "GPL-2.0-or-later" LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ - file://appearance/mb-appearance.c;endline=25;md5=ea92333cf8a6802639d62d874c114a28" + file://appearance/mb-appearance.c;endline=25;md5=f49d7ae8b8634a94315410cd2e055bdf" DEPENDS = "gconf gtk+3" RDEPENDS:${PN} = "settings-daemon" -# SRCREV tagged 0.2 -SRCREV = "ef2192ce98d9374ffdad5f78544c3f8f353c16aa" +SRCREV = "7182e603357250952aa24d90f6d89345f93da7ce" SRC_URI = "git://git.yoctoproject.org/${BPN};branch=master \ file://no-handed.patch" UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+(\.\d+)+))" +PV = "0.2+git${SRCPV}" S = "${WORKDIR}/git" diff --git a/poky/meta/recipes-sato/matchbox-desktop/matchbox-desktop_2.2.bb b/poky/meta/recipes-sato/matchbox-desktop/matchbox-desktop_2.3.bb index b05a9c48ad..9d3a2eca33 100644 --- a/poky/meta/recipes-sato/matchbox-desktop/matchbox-desktop_2.2.bb +++ b/poky/meta/recipes-sato/matchbox-desktop/matchbox-desktop_2.3.bb @@ -5,14 +5,13 @@ BUGTRACKER = "http://bugzilla.yoctoproject.org/" LICENSE = "GPL-2.0-or-later & LGPL-2.0-or-later" LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ - file://src/desktop.c;endline=20;md5=36c9bf295e6007f3423095f405af5a2d \ - file://src/main.c;endline=19;md5=2044244f97a195c25b7dc602ac7e9a00" + file://src/desktop.c;endline=20;md5=2e488557570c7dee53bfd0567e4273a9 \ + file://src/main.c;endline=19;md5=5d2234b35efa927ab3ae36ebac52ba59" DEPENDS = "gtk+3 startup-notification dbus" SECTION = "x11/wm" -# SRCREV tagged 2.2 -SRCREV = "6bc67d09da4147e5552fe30011a05a2c59d2f777" +SRCREV = "0fd6a0c3f3b7bbf4f4b46190d71f7aef35d6bbfd" SRC_URI = "git://git.yoctoproject.org/${BPN}-2;branch=master \ file://vfolders/ \ " diff --git a/poky/meta/recipes-sato/matchbox-panel-2/matchbox-panel-2_2.11.bb b/poky/meta/recipes-sato/matchbox-panel-2/matchbox-panel-2_2.12.bb index 3dec68b963..29a1a36e12 100644 --- a/poky/meta/recipes-sato/matchbox-panel-2/matchbox-panel-2_2.11.bb +++ b/poky/meta/recipes-sato/matchbox-panel-2/matchbox-panel-2_2.12.bb @@ -6,8 +6,8 @@ BUGTRACKER = "http://bugzilla.yoctoproject.org/" LICENSE = "GPL-2.0-or-later" LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ - file://matchbox-panel/mb-panel.h;endline=10;md5=0b7db28f4b6863fb853d0467e590019a \ - file://applets/startup/startup.c;endline=22;md5=7cbcea60b667f609495222faf3e07917" + file://matchbox-panel/mb-panel.h;endline=10;md5=f007add2f09d6a1920ee5a28645e9ce1 \ + file://applets/startup/startup.c;endline=22;md5=9ee7a4192e53cc00041ef445d4ff6909" DEPENDS = "gtk+3 startup-notification dbus dbus-glib dbus-glib-native" DEPENDS += " ${@bb.utils.contains("MACHINE_FEATURES", "acpi", "libacpi", "",d)}" @@ -16,8 +16,7 @@ DEPENDS += " ${@bb.utils.contains("MACHINE_FEATURES", "apm", "apmd", "",d)}" # The startup-notification requires x11 in DISTRO_FEATURES REQUIRED_DISTRO_FEATURES = "x11" -# SRCREV tagged 2.11 plus some autotools fixes -SRCREV = "f82ca3f42510fb3ef10f598b393eb373a2c34ca7" +SRCREV = "39fdbc40888c1c75cd7bfd9fd341e6ad58487fce" RPROVIDES:${PN} = "matchbox-panel" RREPLACES:${PN} = "matchbox-panel" diff --git a/poky/meta/recipes-sato/matchbox-terminal/matchbox-terminal_0.2.bb b/poky/meta/recipes-sato/matchbox-terminal/matchbox-terminal_0.2.bb index 802ffa971b..c45c2d170e 100644 --- a/poky/meta/recipes-sato/matchbox-terminal/matchbox-terminal_0.2.bb +++ b/poky/meta/recipes-sato/matchbox-terminal/matchbox-terminal_0.2.bb @@ -4,15 +4,15 @@ BUGTRACKER = "http://bugzilla.yoctoproject.org/" LICENSE = "GPL-2.0-or-later" LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ - file://main.c;endline=20;md5=96e39176d9e355639a0b8b1c7a840820" + file://main.c;endline=20;md5=7d9d802a36298b5c74440a880e2f4817" DEPENDS = "gtk+3 vte" SECTION = "x11/utils" -#SRCREV tagged 0.2 -SRCREV = "161276d0f5d1be8187010fd0d9581a6feca70ea5" +SRCREV = "99e6eb7db1b5fef110973d96194eec992a2515a2" SRC_URI = "git://git.yoctoproject.org/${BPN};branch=master" UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+(\.\d+)+))" +PV = "0.2+git${SRCPV}" S = "${WORKDIR}/git" diff --git a/poky/meta/recipes-sato/puzzles/puzzles_git.bb b/poky/meta/recipes-sato/puzzles/puzzles_git.bb index 5998c23dcd..87b6fac024 100644 --- a/poky/meta/recipes-sato/puzzles/puzzles_git.bb +++ b/poky/meta/recipes-sato/puzzles/puzzles_git.bb @@ -10,7 +10,7 @@ REQUIRED_DISTRO_FEATURES = "x11" SRC_URI = "git://git.tartarus.org/simon/puzzles.git;branch=main" UPSTREAM_CHECK_COMMITS = "1" -SRCREV = "7364ce8e266d947be146d635958a7b282752aac6" +SRCREV = "5a491c5ad333ef34c1e7713f920f51cbb205af60" PE = "2" PV = "0.0+git${SRCPV}" diff --git a/poky/meta/recipes-support/attr/acl/run-ptest b/poky/meta/recipes-support/attr/acl/run-ptest index 4312823365..3af75c84fe 100644 --- a/poky/meta/recipes-support/attr/acl/run-ptest +++ b/poky/meta/recipes-support/attr/acl/run-ptest @@ -7,4 +7,10 @@ mkdir -p /tmp/acl-ptest/test cp test/test.* /tmp/acl-ptest/test +set +e make test-suite.log +exitcode=$? +if [ $exitcode -ne 0 -a -e test-suite.log ]; then + cat test-suite.log +fi +exit $exitcode diff --git a/poky/meta/recipes-support/attr/acl_2.3.1.bb b/poky/meta/recipes-support/attr/acl_2.3.1.bb index 5fb8f9ae35..9cb19ed72f 100644 --- a/poky/meta/recipes-support/attr/acl_2.3.1.bb +++ b/poky/meta/recipes-support/attr/acl_2.3.1.bb @@ -65,6 +65,7 @@ RDEPENDS:${PN}-ptest = "acl \ bash \ coreutils \ perl \ + perl-module-constant \ perl-module-filehandle \ perl-module-getopt-std \ perl-module-posix \ diff --git a/poky/meta/recipes-support/attr/attr.inc b/poky/meta/recipes-support/attr/attr.inc index a4e38f2b19..ab62563690 100644 --- a/poky/meta/recipes-support/attr/attr.inc +++ b/poky/meta/recipes-support/attr/attr.inc @@ -49,7 +49,9 @@ do_install_ptest() { } RDEPENDS:${PN}-ptest = "attr \ + bash \ coreutils \ + perl-module-constant \ perl-module-filehandle \ perl-module-getopt-std \ perl-module-posix \ diff --git a/poky/meta/recipes-support/attr/attr/run-ptest b/poky/meta/recipes-support/attr/attr/run-ptest index f64244f239..3e7a3a17a0 100644 --- a/poky/meta/recipes-support/attr/attr/run-ptest +++ b/poky/meta/recipes-support/attr/attr/run-ptest @@ -1,3 +1,10 @@ #!/bin/sh +set +e make test-suite.log +exitcode=$? +if [ $exitcode -ne 0 -a -e test-suite.log ]; then + cat test-suite.log +fi +exit $exitcode + diff --git a/poky/meta/recipes-support/bmap-tools/bmap-tools_git.bb b/poky/meta/recipes-support/bmap-tools/bmap-tools_git.bb index 78c51e7731..89b7bf2b93 100644 --- a/poky/meta/recipes-support/bmap-tools/bmap-tools_git.bb +++ b/poky/meta/recipes-support/bmap-tools/bmap-tools_git.bb @@ -9,7 +9,7 @@ SECTION = "console/utils" LICENSE = "GPL-2.0-only" LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" -SRC_URI = "git://github.com/intel/${BPN};branch=master;protocol=https" +SRC_URI = "git://github.com/intel/${BPN};branch=main;protocol=https" SRCREV = "c0673962a8ec1624b5189dc1d24f33fe4f06785a" S = "${WORKDIR}/git" diff --git a/poky/meta/recipes-support/curl/curl_7.88.1.bb b/poky/meta/recipes-support/curl/curl_8.0.1.bb index 0930d229d2..5cf044615f 100644 --- a/poky/meta/recipes-support/curl/curl_7.88.1.bb +++ b/poky/meta/recipes-support/curl/curl_8.0.1.bb @@ -14,7 +14,7 @@ SRC_URI = " \ file://run-ptest \ file://disable-tests \ " -SRC_URI[sha256sum] = "1dae31b2a7c1fe269de99c0c31bb488346aab3459b5ffca909d6938249ae415f" +SRC_URI[sha256sum] = "0a381cd82f4d00a9a334438b8ca239afea5bfefcfa9a1025f2bf118e79e0b5f0" # Curl has used many names over the years... CVE_PRODUCT = "haxx:curl haxx:libcurl curl:curl curl:libcurl libcurl:libcurl daniel_stenberg:curl" diff --git a/poky/meta/recipes-support/enchant/enchant2_2.3.3.bb b/poky/meta/recipes-support/enchant/enchant2_2.3.4.bb index c892f570c4..5a6a3157a6 100644 --- a/poky/meta/recipes-support/enchant/enchant2_2.3.3.bb +++ b/poky/meta/recipes-support/enchant/enchant2_2.3.4.bb @@ -7,12 +7,12 @@ BUGTRACKER = "https://github.com/AbiWord/enchant/issues/" LICENSE = "LGPL-2.1-or-later" LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c" -DEPENDS = "glib-2.0" +DEPENDS = "glib-2.0 groff-native" inherit autotools pkgconfig github-releases SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/enchant-${PV}.tar.gz" -SRC_URI[sha256sum] = "3da12103f11cf49c3cf2fd2ce3017575c5321a489e5b9bfa81dd91ec413f3891" +SRC_URI[sha256sum] = "1f7e26744db1c9a0fea61d2169f4e5c1ce435cf8c2731c37e3e4054119e994a0" GITHUB_BASE_URI = "https://github.com/AbiWord/enchant/releases" diff --git a/poky/meta/recipes-support/gnutls/gnutls_3.8.0.bb b/poky/meta/recipes-support/gnutls/gnutls_3.8.0.bb index 835ab122d8..7ddd2420bd 100644 --- a/poky/meta/recipes-support/gnutls/gnutls_3.8.0.bb +++ b/poky/meta/recipes-support/gnutls/gnutls_3.8.0.bb @@ -80,6 +80,8 @@ FILES:${PN}-openssl = "${libdir}/libgnutls-openssl.so.*" FILES:${PN}-xx = "${libdir}/libgnutlsxx.so.*" FILES:${PN}-fips = "${bindir}/fipshmac" +RDEPENDS:${PN}-ptest += "python3" + BBCLASSEXTEND = "native nativesdk" pkg_postinst_ontarget:${PN}-fips () { diff --git a/poky/meta/recipes-support/iso-codes/iso-codes_4.12.0.bb b/poky/meta/recipes-support/iso-codes/iso-codes_4.13.0.bb index 1c884a1174..1950583f59 100644 --- a/poky/meta/recipes-support/iso-codes/iso-codes_4.12.0.bb +++ b/poky/meta/recipes-support/iso-codes/iso-codes_4.13.0.bb @@ -9,7 +9,7 @@ LICENSE = "LGPL-2.1-only" LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" SRC_URI = "git://salsa.debian.org/iso-codes-team/iso-codes.git;protocol=https;branch=main;" -SRCREV = "5e4dddbd1f8902ab0252ccbb19b783cc0359505a" +SRCREV = "ab6b01d5b56af7da9f0d2d1619a3cf84e43ed76a" # inherit gettext cannot be used, because it adds gettext-native to BASEDEPENDS which # are inhibited by allarch diff --git a/poky/meta/recipes-support/libgit2/libgit2_1.5.1.bb b/poky/meta/recipes-support/libgit2/libgit2_1.6.3.bb index 59866ce385..554e18e4da 100644 --- a/poky/meta/recipes-support/libgit2/libgit2_1.5.1.bb +++ b/poky/meta/recipes-support/libgit2/libgit2_1.6.3.bb @@ -1,12 +1,12 @@ SUMMARY = "the Git linkable library" HOMEPAGE = "http://libgit2.github.com/" -LICENSE = "GPL-2.0-with-GCC-exception & MIT & OpenSSL & BSD-3-Clause" -LIC_FILES_CHKSUM = "file://COPYING;md5=112e6bb421dea73cd41de09e777f2d2c" +LICENSE = "GPL-2.0-with-GCC-exception & MIT & OpenSSL & BSD-3-Clause & Zlib & ISC & LGPL-2.1-or-later & CC0-1.0 & BSD-2-Clause" +LIC_FILES_CHKSUM = "file://COPYING;md5=5bdf47bbc9a39dc6ce076d59e322dc17" DEPENDS = "curl openssl zlib libssh2 libgcrypt libpcre2" -SRC_URI = "git://github.com/libgit2/libgit2.git;branch=maint/v1.5;protocol=https" -SRCREV = "42e5db98b963ae503229c63e44e06e439df50e56" +SRC_URI = "git://github.com/libgit2/libgit2.git;branch=maint/v1.6;protocol=https" +SRCREV = "c058aa87dce4c67a3b86b3349beebd64b7bedcd3" S = "${WORKDIR}/git" diff --git a/poky/meta/recipes-support/libgpg-error/libgpg-error_1.46.bb b/poky/meta/recipes-support/libgpg-error/libgpg-error_1.46.bb index 580fe208d4..e0f2d86303 100644 --- a/poky/meta/recipes-support/libgpg-error/libgpg-error_1.46.bb +++ b/poky/meta/recipes-support/libgpg-error/libgpg-error_1.46.bb @@ -26,7 +26,7 @@ BINCONFIG = "${bindir}/gpg-error-config" inherit autotools binconfig-disabled pkgconfig gettext multilib_header multilib_script ptest -RDEPENDS:${PN}-ptest:append = " make" +RDEPENDS:${PN}-ptest:append = " make bash" MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/gpgrt-config" diff --git a/poky/meta/recipes-support/libjitterentropy/libjitterentropy_3.4.1.bb b/poky/meta/recipes-support/libjitterentropy/libjitterentropy_3.4.1.bb index 3fb8c6b147..6cef8c068c 100644 --- a/poky/meta/recipes-support/libjitterentropy/libjitterentropy_3.4.1.bb +++ b/poky/meta/recipes-support/libjitterentropy/libjitterentropy_3.4.1.bb @@ -13,9 +13,6 @@ SRC_URI = "git://github.com/smuellerDD/jitterentropy-library.git;branch=master;p SRCREV = "4544e11320138ac02797af81766f4476a71bb09f" S = "${WORKDIR}/git" -# remove at next version upgrade or when output changes -HASHEQUIV_HASH_VERSION .= ".2" - do_configure[noexec] = "1" LDFLAGS += "-Wl,-O0" diff --git a/poky/meta/recipes-support/libmicrohttpd/libmicrohttpd_0.9.75.bb b/poky/meta/recipes-support/libmicrohttpd/libmicrohttpd_0.9.76.bb index 043fed367c..7bd66f63cf 100644 --- a/poky/meta/recipes-support/libmicrohttpd/libmicrohttpd_0.9.75.bb +++ b/poky/meta/recipes-support/libmicrohttpd/libmicrohttpd_0.9.76.bb @@ -7,7 +7,7 @@ SECTION = "net" DEPENDS = "file" SRC_URI = "${GNU_MIRROR}/libmicrohttpd/${BPN}-${PV}.tar.gz" -SRC_URI[sha256sum] = "9278907a6f571b391aab9644fd646a5108ed97311ec66f6359cebbedb0a4e3bb" +SRC_URI[sha256sum] = "f0b1547b5a42a6c0f724e8e1c1cb5ce9c4c35fb495e7d780b9930d35011ceb4c" inherit autotools lib_package pkgconfig gettext diff --git a/poky/meta/recipes-support/libunwind/libunwind/0001-src-Gtrace-remove-unguarded-print-calls.patch b/poky/meta/recipes-support/libunwind/libunwind/0001-src-Gtrace-remove-unguarded-print-calls.patch new file mode 100644 index 0000000000..fdadcd3b25 --- /dev/null +++ b/poky/meta/recipes-support/libunwind/libunwind/0001-src-Gtrace-remove-unguarded-print-calls.patch @@ -0,0 +1,52 @@ +From 87d24ee47fd0e0461fca32d17564f21d76cbcb92 Mon Sep 17 00:00:00 2001 +From: Ross Burton <ross.burton@arm.com> +Date: Fri, 24 Mar 2023 16:18:44 +0000 +Subject: [PATCH] src/Gtrace: remove unguarded print() calls + +There is a use of printf() without #include stdio.h in src/arm/Gtrace.c, +which results in a compiler error if clang 16 is used: + +src/arm/Gtrace.c:529:7: error: call to undeclared library function +'printf' with type 'int (const char *, ...)'; ISO C99 and later do not +support implicit function declarations [-Wimplicit-function-declaration] + +Replace the printf("XXX") with a Dprintf, so it doesn't pull stdio in +unless in a debug build, and reword the message to be clearer. + +Also there is another printf("XXX") inside a FreeBSD-specific block in +the UNW_ARM_FRAME_SIGRETURN case, replace this with a #error as the code +needs to be implemented. + +Fixes #482. + +Upstream-Status: Submitted [https://github.com/libunwind/libunwind/pull/483] +Signed-off-by: Ross Burton <ross.burton@arm.com> +--- + src/arm/Gtrace.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/arm/Gtrace.c b/src/arm/Gtrace.c +index 51fc281d..9e0f25af 100644 +--- a/src/arm/Gtrace.c ++++ b/src/arm/Gtrace.c +@@ -514,7 +514,7 @@ tdep_trace (unw_cursor_t *cursor, void **buffer, int *size) + if (likely(ret >= 0)) + ACCESS_MEM_FAST(ret, c->validate, d, cfa + LINUX_SC_LR_OFF, lr); + #elif defined(__FreeBSD__) +- printf("XXX\n"); ++ #error implement UNW_ARM_FRAME_SIGRETURN on FreeBSD + #endif + + /* Resume stack at signal restoration point. The stack is not +@@ -526,7 +526,7 @@ tdep_trace (unw_cursor_t *cursor, void **buffer, int *size) + break; + + case UNW_ARM_FRAME_SYSCALL: +- printf("XXX1\n"); ++ Dprintf ("%s: implement me\n", __FUNCTION__); + break; + + default: +-- +2.34.1 + diff --git a/poky/meta/recipes-support/libunwind/libunwind_1.6.2.bb b/poky/meta/recipes-support/libunwind/libunwind_1.6.2.bb index 716be9a452..d67862608c 100644 --- a/poky/meta/recipes-support/libunwind/libunwind_1.6.2.bb +++ b/poky/meta/recipes-support/libunwind/libunwind_1.6.2.bb @@ -5,6 +5,7 @@ SRC_URI = "http://download.savannah.nongnu.org/releases/libunwind/libunwind-${PV file://0004-Fix-build-on-mips-musl.patch \ file://0005-ppc32-Consider-ucontext-mismatches-between-glibc-and.patch \ file://0006-Fix-for-X32.patch \ + file://0001-src-Gtrace-remove-unguarded-print-calls.patch \ " SRC_URI:append:libc-musl = " file://musl-header-conflict.patch" diff --git a/poky/meta/recipes-support/rng-tools/rng-tools_6.16.bb b/poky/meta/recipes-support/rng-tools/rng-tools_6.16.bb index 02abe486bb..b31b2662cf 100644 --- a/poky/meta/recipes-support/rng-tools/rng-tools_6.16.bb +++ b/poky/meta/recipes-support/rng-tools/rng-tools_6.16.bb @@ -30,13 +30,22 @@ PACKAGECONFIG[libp11] = "--with-pkcs11,--without-pkcs11,libp11 openssl" PACKAGECONFIG[nistbeacon] = "--with-nistbeacon,--without-nistbeacon,curl libxml2" PACKAGECONFIG[qrypt] = "--with-qrypt,--without-qrypt,curl" -INITSCRIPT_NAME = "rng-tools" -INITSCRIPT_PARAMS = "start 03 2 3 4 5 . stop 30 0 6 1 ." +INITSCRIPT_PACKAGES = "${PN}-service" +INITSCRIPT_NAME:${PN}-service = "rng-tools" +INITSCRIPT_PARAMS:${PN}-service = "start 03 2 3 4 5 . stop 30 0 6 1 ." -SYSTEMD_SERVICE:${PN} = "rng-tools.service" +SYSTEMD_PACKAGES = "${PN}-service" +SYSTEMD_SERVICE:${PN}-service = "rng-tools.service" CFLAGS += " -DJENT_CONF_ENABLE_INTERNAL_TIMER " +PACKAGES =+ "${PN}-service" + +FILES:${PN}-service += " \ + ${sysconfdir}/init.d/rng-tools \ + ${sysconfdir}/default/rng-tools \ +" + # Refer autogen.sh in rng-tools do_configure:prepend() { cp ${S}/README.md ${S}/README diff --git a/poky/meta/recipes-support/sqlite/sqlite3_3.40.1.bb b/poky/meta/recipes-support/sqlite/sqlite3_3.41.0.bb index c9b6ca1c5f..f17c15e258 100644 --- a/poky/meta/recipes-support/sqlite/sqlite3_3.40.1.bb +++ b/poky/meta/recipes-support/sqlite/sqlite3_3.41.0.bb @@ -3,8 +3,8 @@ require sqlite3.inc LICENSE = "PD" LIC_FILES_CHKSUM = "file://sqlite3.h;endline=11;md5=786d3dc581eff03f4fd9e4a77ed00c66" -SRC_URI = "http://www.sqlite.org/2022/sqlite-autoconf-${SQLITE_PV}.tar.gz" -SRC_URI[sha256sum] = "2c5dea207fa508d765af1ef620b637dcb06572afa6f01f0815bd5bbf864b33d9" +SRC_URI = "http://www.sqlite.org/2023/sqlite-autoconf-${SQLITE_PV}.tar.gz" +SRC_URI[sha256sum] = "49f77ac53fd9aa5d7395f2499cb816410e5621984a121b858ccca05310b05c70" # -19242 is only an issue in specific development branch commits CVE_CHECK_IGNORE += "CVE-2019-19242" diff --git a/poky/meta/recipes-support/vim/vim.inc b/poky/meta/recipes-support/vim/vim.inc index fcb5cf6334..1e27415288 100644 --- a/poky/meta/recipes-support/vim/vim.inc +++ b/poky/meta/recipes-support/vim/vim.inc @@ -10,8 +10,7 @@ DEPENDS = "ncurses gettext-native" RSUGGESTS:${PN} = "diffutils" LICENSE = "Vim" -LIC_FILES_CHKSUM = "file://LICENSE;md5=6b30ea4fa660c483b619924bc709ef99 \ - file://runtime/doc/uganda.txt;md5=001ef779f422a0e9106d428c84495b4d" +LIC_FILES_CHKSUM = "file://LICENSE;md5=6b30ea4fa660c483b619924bc709ef99" SRC_URI = "git://github.com/vim/vim.git;branch=master;protocol=https \ file://disable_acl_header_check.patch \ @@ -20,8 +19,8 @@ SRC_URI = "git://github.com/vim/vim.git;branch=master;protocol=https \ file://no-path-adjust.patch \ " -PV .= ".1293" -SRCREV = "0caaf1e46511f7a92e036f05e6aa9d5992540117" +PV .= ".1429" +SRCREV = "1a08a3e2a584889f19b84a27672134649b73da58" # Remove when 8.3 is out UPSTREAM_VERSION_UNKNOWN = "1" @@ -33,7 +32,7 @@ S = "${WORKDIR}/git" VIMDIR = "vim${@d.getVar('PV').split('.')[0]}${@d.getVar('PV').split('.')[1]}" -inherit autotools-brokensep update-alternatives mime-xdg +inherit autotools-brokensep update-alternatives mime-xdg pkgconfig CLEANBROKEN = "1" @@ -82,6 +81,7 @@ EXTRA_OECONF = " \ --disable-netbeans \ --disable-desktop-database-update \ --with-tlib=ncurses \ + --with-modified-by='${MAINTAINER}' \ ac_cv_small_wchar_t=no \ ac_cv_path_GLIB_COMPILE_RESOURCES=no \ vim_cv_getcwd_broken=no \ diff --git a/poky/meta/recipes-support/vte/vte/0001-vtepty.cc-Do-not-typecast-to-GSpawnFlags.patch b/poky/meta/recipes-support/vte/vte/0001-vtepty.cc-Do-not-typecast-to-GSpawnFlags.patch deleted file mode 100644 index 16553b506f..0000000000 --- a/poky/meta/recipes-support/vte/vte/0001-vtepty.cc-Do-not-typecast-to-GSpawnFlags.patch +++ /dev/null @@ -1,58 +0,0 @@ -From 9c7654e063d65fb2645459a32fd14eebab484857 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Wed, 1 Mar 2023 15:50:26 -0800 -Subject: [PATCH] vtepty.cc: Do not typecast to GSpawnFlags - -GSpawnFlags is enum with max value 1 << 15 which means it fits into a -short int, however here we are OR'ing VTE_SPAWN_* as well which have -higher values - -Fixes error like -src/vtepty.cc:577:16: error: integer value 234881535 is outside the valid range of values [0, 4095] for this enumeration type [-Wenum-constexpr-conversion] - -Fixes issue https://gitlab.gnome.org/GNOME/vte/-/issues/2618 - -Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/vte/-/issues/2618] -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - src/vtepty.cc | 24 ++++++++++++------------ - 1 file changed, 12 insertions(+), 12 deletions(-) - -diff --git a/src/vtepty.cc b/src/vtepty.cc -index 3aaa0d6b..2da2675f 100644 ---- a/src/vtepty.cc -+++ b/src/vtepty.cc -@@ -574,18 +574,18 @@ catch (...) - static constexpr inline auto - all_spawn_flags() noexcept - { -- return GSpawnFlags(G_SPAWN_LEAVE_DESCRIPTORS_OPEN | -- G_SPAWN_DO_NOT_REAP_CHILD | -- G_SPAWN_SEARCH_PATH | -- G_SPAWN_STDOUT_TO_DEV_NULL | -- G_SPAWN_STDERR_TO_DEV_NULL | -- G_SPAWN_CHILD_INHERITS_STDIN | -- G_SPAWN_FILE_AND_ARGV_ZERO | -- G_SPAWN_SEARCH_PATH_FROM_ENVP | -- G_SPAWN_CLOEXEC_PIPES | -- VTE_SPAWN_NO_PARENT_ENVV | -- VTE_SPAWN_NO_SYSTEMD_SCOPE | -- VTE_SPAWN_REQUIRE_SYSTEMD_SCOPE); -+ return (G_SPAWN_LEAVE_DESCRIPTORS_OPEN | -+ G_SPAWN_DO_NOT_REAP_CHILD | -+ G_SPAWN_SEARCH_PATH | -+ G_SPAWN_STDOUT_TO_DEV_NULL | -+ G_SPAWN_STDERR_TO_DEV_NULL | -+ G_SPAWN_CHILD_INHERITS_STDIN | -+ G_SPAWN_FILE_AND_ARGV_ZERO | -+ G_SPAWN_SEARCH_PATH_FROM_ENVP | -+ G_SPAWN_CLOEXEC_PIPES | -+ VTE_SPAWN_NO_PARENT_ENVV | -+ VTE_SPAWN_NO_SYSTEMD_SCOPE | -+ VTE_SPAWN_REQUIRE_SYSTEMD_SCOPE); - } - - static constexpr inline auto --- -2.39.2 - diff --git a/poky/meta/recipes-support/vte/vte_0.70.2.bb b/poky/meta/recipes-support/vte/vte_0.72.0.bb index 001f413c19..c08ac879e1 100644 --- a/poky/meta/recipes-support/vte/vte_0.70.2.bb +++ b/poky/meta/recipes-support/vte/vte_0.72.0.bb @@ -20,9 +20,8 @@ GIDOCGEN_MESON_OPTION = "docs" inherit gnomebase gi-docgen features_check upstream-version-is-even gobject-introspection # vapigen.m4 is required when vala is not present (but the one from vala should be used normally) -SRC_URI += "file://0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch \ - file://0001-vtepty.cc-Do-not-typecast-to-GSpawnFlags.patch" -SRC_URI[archive.sha256sum] = "4d15b4380de3f564d57eabd006389c407c705df5b0c70030fdcc24971a334d80" +SRC_URI += "file://0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch" +SRC_URI[archive.sha256sum] = "40fe914d6c70db34176c922725b6c6ea15d5f3cb2a9b44c57e200a5f950a6736" ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" diff --git a/poky/scripts/buildstats-summary b/poky/scripts/buildstats-summary new file mode 100755 index 0000000000..f521d78650 --- /dev/null +++ b/poky/scripts/buildstats-summary @@ -0,0 +1,126 @@ +#! /usr/bin/python3 +# +# Dump a summary of the specified buildstats to the terminal, filtering and +# sorting by walltime. +# +# SPDX-License-Identifier: GPL-2.0-only + +import argparse +import dataclasses +import datetime +import enum +import os +import pathlib +import sys + +scripts_path = os.path.dirname(os.path.realpath(__file__)) +sys.path.append(os.path.join(scripts_path, "lib")) +import buildstats + + +@dataclasses.dataclass +class Task: + recipe: str + task: str + start: datetime.datetime + duration: datetime.timedelta + + +class Sorting(enum.Enum): + start = 1 + duration = 2 + + # argparse integration + def __str__(self) -> str: + return self.name + + def __repr__(self) -> str: + return self.name + + @staticmethod + def from_string(s: str): + try: + return Sorting[s] + except KeyError: + return s + + +def read_buildstats(path: pathlib.Path) -> buildstats.BuildStats: + if not path.exists(): + raise Exception(f"No such file or directory: {path}") + if path.is_file(): + return buildstats.BuildStats.from_file_json(path) + if (path / "build_stats").is_file(): + return buildstats.BuildStats.from_dir(path) + raise Exception(f"Cannot find buildstats in {path}") + + +def dump_buildstats(args, bs: buildstats.BuildStats): + tasks = [] + for recipe in bs.values(): + for task, stats in recipe.tasks.items(): + t = Task( + recipe.name, + task, + datetime.datetime.fromtimestamp(stats["start_time"]), + datetime.timedelta(seconds=int(stats.walltime)), + ) + tasks.append(t) + + tasks.sort(key=lambda t: getattr(t, args.sort.name)) + + minimum = datetime.timedelta(seconds=args.shortest) + highlight = datetime.timedelta(seconds=args.highlight) + + for t in tasks: + if t.duration >= minimum: + line = f"{t.duration} {t.recipe}:{t.task}" + if args.highlight and t.duration >= highlight: + print(f"\033[1m{line}\033[0m") + else: + print(line) + + +def main(argv=None) -> int: + parser = argparse.ArgumentParser( + formatter_class=argparse.ArgumentDefaultsHelpFormatter + ) + + parser.add_argument( + "buildstats", metavar="BUILDSTATS", help="Buildstats file", type=pathlib.Path + ) + parser.add_argument( + "--sort", + "-s", + type=Sorting.from_string, + choices=list(Sorting), + default=Sorting.start, + help="Sort tasks", + ) + parser.add_argument( + "--shortest", + "-t", + type=int, + default=1, + metavar="SECS", + help="Hide tasks shorter than SECS seconds", + ) + parser.add_argument( + "--highlight", + "-g", + type=int, + default=60, + metavar="SECS", + help="Highlight tasks longer than SECS seconds (0 disabled)", + ) + + args = parser.parse_args(argv) + + bs = read_buildstats(args.buildstats) + dump_buildstats(args, bs) + + return 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/poky/scripts/combo-layer b/poky/scripts/combo-layer index 7f2020fca7..2312cef9ac 100755 --- a/poky/scripts/combo-layer +++ b/poky/scripts/combo-layer @@ -19,7 +19,7 @@ import tempfile import configparser import re import copy -import pipes +import shlex import shutil from string import Template from functools import reduce @@ -1275,7 +1275,7 @@ def apply_commit(parent, rev, largs, wargs, dest_dir, file_filter=None): target = os.path.join(wargs["destdir"], dest_dir) if not os.path.isdir(target): os.makedirs(target) - quoted_target = pipes.quote(target) + quoted_target = shlex.quote(target) # os.sysconf('SC_ARG_MAX') is lying: running a command with # string length 629343 already failed with "Argument list too # long" although SC_ARG_MAX = 2097152. "man execve" explains @@ -1287,7 +1287,7 @@ def apply_commit(parent, rev, largs, wargs, dest_dir, file_filter=None): unquoted_args = [] cmdsize = 100 + len(quoted_target) while update: - quoted_next = pipes.quote(update[0]) + quoted_next = shlex.quote(update[0]) size_next = len(quoted_next) + len(dest_dir) + 1 logger.debug('cmdline length %d + %d < %d?' % (cmdsize, size_next, os.sysconf('SC_ARG_MAX'))) if cmdsize + size_next < max_cmdsize: diff --git a/poky/scripts/lib/buildstats.py b/poky/scripts/lib/buildstats.py index fa94c65539..6db60d5bcf 100644 --- a/poky/scripts/lib/buildstats.py +++ b/poky/scripts/lib/buildstats.py @@ -234,6 +234,7 @@ class BuildStats(dict): """ Parse the top-level build_stats file for build-wide start and duration. """ + start = elapsed = 0 with open(path) as fobj: for line in fobj.readlines(): key, val = line.split(':', 1) diff --git a/poky/scripts/lib/devtool/upgrade.py b/poky/scripts/lib/devtool/upgrade.py index 967d157077..6c4a62b558 100644 --- a/poky/scripts/lib/devtool/upgrade.py +++ b/poky/scripts/lib/devtool/upgrade.py @@ -125,11 +125,8 @@ def _write_append(rc, srctreebase, srctree, same_dir, no_same_dir, rev, copied, return af def _cleanup_on_error(rd, srctree): - rdp = os.path.split(rd)[0] # recipes folder if os.path.exists(rd): shutil.rmtree(rd) - if not len(os.listdir(rdp)): - os.rmdir(rdp) srctree = os.path.abspath(srctree) if os.path.exists(srctree): shutil.rmtree(srctree) diff --git a/poky/scripts/lib/resulttool/log.py b/poky/scripts/lib/resulttool/log.py index eb3927ec82..15148ca288 100644 --- a/poky/scripts/lib/resulttool/log.py +++ b/poky/scripts/lib/resulttool/log.py @@ -28,12 +28,10 @@ def show_reproducible(result, reproducible, logger): def log(args, logger): results = resultutils.load_resultsdata(args.source) - ptest_count = sum(1 for _, _, _, r in resultutils.test_run_results(results) if 'ptestresult.sections' in r) - if ptest_count > 1 and not args.prepend_run: - print("%i ptest sections found. '--prepend-run' is required" % ptest_count) - return 1 - for _, run_name, _, r in resultutils.test_run_results(results): + if args.list_ptest: + print('\n'.join(sorted(r['ptestresult.sections'].keys()))) + if args.dump_ptest: for sectname in ['ptestresult.sections', 'ltpposixresult.sections', 'ltpresult.sections']: if sectname in r: @@ -48,6 +46,9 @@ def log(args, logger): os.makedirs(dest_dir, exist_ok=True) dest = os.path.join(dest_dir, '%s.log' % name) + if os.path.exists(dest): + print("Overlapping ptest logs found, skipping %s. The '--prepend-run' option would avoid this" % name) + continue print(dest) with open(dest, 'w') as f: f.write(logdata) @@ -86,6 +87,8 @@ def register_commands(subparsers): parser.set_defaults(func=log) parser.add_argument('source', help='the results file/directory/URL to import') + parser.add_argument('--list-ptest', action='store_true', + help='list the ptest test names') parser.add_argument('--ptest', action='append', default=[], help='show logs for a ptest') parser.add_argument('--dump-ptest', metavar='DIR', diff --git a/poky/scripts/lib/resulttool/regression.py b/poky/scripts/lib/resulttool/regression.py index 74fd5f3895..1facbcd85e 100644 --- a/poky/scripts/lib/resulttool/regression.py +++ b/poky/scripts/lib/resulttool/regression.py @@ -190,11 +190,20 @@ def compare_result(logger, base_name, target_name, base_result, target_result): else: logger.error('Failed to retrieved base test case status: %s' % k) if result: - resultstring = "Regression: %s\n %s\n" % (base_name, target_name) - for k in sorted(result): - resultstring += ' %s: %s -> %s\n' % (k, result[k]['base'], result[k]['target']) + new_pass_count = sum(test['target'] is not None and test['target'].startswith("PASS") for test in result.values()) + # Print a regression report only if at least one test has a regression status (FAIL, SKIPPED, absent...) + if new_pass_count < len(result): + resultstring = "Regression: %s\n %s\n" % (base_name, target_name) + for k in sorted(result): + if not result[k]['target'] or not result[k]['target'].startswith("PASS"): + resultstring += ' %s: %s -> %s\n' % (k, result[k]['base'], result[k]['target']) + if new_pass_count > 0: + resultstring += f' Additionally, {new_pass_count} previously failing test(s) is/are now passing\n' + else: + resultstring = "Improvement: %s\n %s\n (+%d test(s) passing)" % (base_name, target_name, new_pass_count) + result = None else: - resultstring = "Match: %s\n %s" % (base_name, target_name) + resultstring = "Match: %s\n %s" % (base_name, target_name) return result, resultstring def get_results(logger, source): @@ -206,12 +215,38 @@ def regression(args, logger): regression_common(args, logger, base_results, target_results) +# Some test case naming is poor and contains random strings, particularly lttng/babeltrace. +# Truncating the test names works since they contain file and line number identifiers +# which allows us to match them without the random components. +def fixup_ptest_names(results, logger): + for r in results: + for i in results[r]: + tests = list(results[r][i]['result'].keys()) + for test in tests: + new = None + if test.startswith(("ptestresult.lttng-tools.", "ptestresult.babeltrace.", "ptestresult.babeltrace2")) and "_-_" in test: + new = test.split("_-_")[0] + elif test.startswith(("ptestresult.curl.")) and "__" in test: + new = test.split("__")[0] + elif test.startswith(("ptestresult.dbus.")) and "__" in test: + new = test.split("__")[0] + elif test.startswith("ptestresult.binutils") and "build-st-" in test: + new = test.split(" ")[0] + elif test.startswith("ptestresult.gcc") and "/tmp/runtest." in test: + new = ".".join(test.split(".")[:2]) + if new: + results[r][i]['result'][new] = results[r][i]['result'][test] + del results[r][i]['result'][test] + def regression_common(args, logger, base_results, target_results): if args.base_result_id: base_results = resultutils.filter_resultsdata(base_results, args.base_result_id) if args.target_result_id: target_results = resultutils.filter_resultsdata(target_results, args.target_result_id) + fixup_ptest_names(base_results, logger) + fixup_ptest_names(target_results, logger) + matches = [] regressions = [] notfound = [] @@ -243,29 +278,11 @@ def regression_common(args, logger, base_results, target_results): else: notfound.append("%s not found in target" % a) print("\n".join(sorted(matches))) + print("\n") print("\n".join(sorted(regressions))) print("\n".join(sorted(notfound))) - return 0 -# Some test case naming is poor and contains random strings, particularly lttng/babeltrace. -# Truncating the test names works since they contain file and line number identifiers -# which allows us to match them without the random components. -def fixup_ptest_names(results, logger): - for r in results: - for i in results[r]: - tests = list(results[r][i]['result'].keys()) - for test in tests: - new = None - if test.startswith(("ptestresult.lttng-tools.", "ptestresult.babeltrace.", "ptestresult.babeltrace2")) and "_-_" in test: - new = test.split("_-_")[0] - elif test.startswith(("ptestresult.curl.")) and "__" in test: - new = test.split("__")[0] - if new: - results[r][i]['result'][new] = results[r][i]['result'][test] - del results[r][i]['result'][test] - - def regression_git(args, logger): base_results = {} target_results = {} @@ -327,9 +344,6 @@ def regression_git(args, logger): base_results = resultutils.git_get_result(repo, revs[index1][2]) target_results = resultutils.git_get_result(repo, revs[index2][2]) - fixup_ptest_names(base_results, logger) - fixup_ptest_names(target_results, logger) - regression_common(args, logger, base_results, target_results) return 0 diff --git a/poky/scripts/lib/resulttool/resultutils.py b/poky/scripts/lib/resulttool/resultutils.py index 8917022d36..7666331ba2 100644 --- a/poky/scripts/lib/resulttool/resultutils.py +++ b/poky/scripts/lib/resulttool/resultutils.py @@ -142,7 +142,7 @@ def generic_get_log(sectionname, results, section): return decode_log(ptest['log']) def ptestresult_get_log(results, section): - return generic_get_log('ptestresuls.sections', results, section) + return generic_get_log('ptestresult.sections', results, section) def generic_get_rawlogs(sectname, results): if sectname not in results: diff --git a/poky/scripts/lib/wic/filemap.py b/poky/scripts/lib/wic/filemap.py index 4d9da28172..85b39d5d74 100644 --- a/poky/scripts/lib/wic/filemap.py +++ b/poky/scripts/lib/wic/filemap.py @@ -46,6 +46,13 @@ def get_block_size(file_obj): bsize = stat.st_blksize else: raise IOError("Unable to determine block size") + + # The logic in this script only supports a maximum of a 4KB + # block size + max_block_size = 4 * 1024 + if bsize > max_block_size: + bsize = max_block_size + return bsize class ErrorNotSupp(Exception): diff --git a/poky/scripts/postinst-intercepts/update_mandb b/poky/scripts/postinst-intercepts/update_mandb new file mode 100644 index 0000000000..a061bb426a --- /dev/null +++ b/poky/scripts/postinst-intercepts/update_mandb @@ -0,0 +1,16 @@ +#!/bin/sh +# +# SPDX-License-Identifier: MIT +# + +set -eu + +# Create a temporary man_db.conf with paths to the rootfs, as mandb needs absolute paths +CONFIG=$(mktemp --tmpdir update-mandb.XXXXX) +sed "s:\(\s\)/:\1$D/:g" $D${sysconfdir}/man_db.conf > $CONFIG + +PSEUDO_UNLOAD=1 ${binprefix}qemuwrapper -L $D $D${bindir}/mandb --config-file $CONFIG --create + +rm -f $CONFIG + +chown -R man:man $D${localstatedir}/cache/man/ diff --git a/poky/scripts/pybootchartgui/pybootchartgui/draw.py b/poky/scripts/pybootchartgui/pybootchartgui/draw.py index 4326361426..6d445aad4f 100644 --- a/poky/scripts/pybootchartgui/pybootchartgui/draw.py +++ b/poky/scripts/pybootchartgui/pybootchartgui/draw.py @@ -356,6 +356,12 @@ def extents(options, xscale, trace): h += 30 + bar_h if trace.disk_stats: h += 30 + bar_h + if trace.cpu_pressure: + h += 30 + bar_h + if trace.io_pressure: + h += 30 + bar_h + if trace.mem_pressure: + h += 30 + bar_h if trace.monitor_disk: h += 30 + bar_h if trace.mem_stats: diff --git a/poky/scripts/pybootchartgui/pybootchartgui/parsing.py b/poky/scripts/pybootchartgui/pybootchartgui/parsing.py index 362d5153e8..63a53b6b88 100644 --- a/poky/scripts/pybootchartgui/pybootchartgui/parsing.py +++ b/poky/scripts/pybootchartgui/pybootchartgui/parsing.py @@ -131,7 +131,7 @@ class Trace: def compile(self, writer): def find_parent_id_for(pid): - if pid is 0: + if pid == 0: return 0 ppid = self.parent_map.get(pid) if ppid: diff --git a/poky/scripts/runqemu b/poky/scripts/runqemu index 58b0c191e1..09b0ad5ed5 100755 --- a/poky/scripts/runqemu +++ b/poky/scripts/runqemu @@ -82,6 +82,7 @@ of the following environment variables (in any order): kvm-vhost - enable KVM with vhost when running x86/x86_64 (VT-capable CPU required) publicvnc - enable a VNC server open to all hosts audio - enable audio + guestagent - enable guest agent communication [*/]ovmf* - OVMF firmware file or base name for booting with UEFI tcpserial=<port> - specify tcp serial port number qemuparams=<xyz> - specify custom parameters to QEMU @@ -116,10 +117,10 @@ def check_tun(): if not os.access(dev_tun, os.W_OK): raise RunQemuError("TUN control device %s is not writable, please fix (e.g. sudo chmod 666 %s)" % (dev_tun, dev_tun)) -def get_first_file(cmds): - """Return first file found in wildcard cmds""" - for cmd in cmds: - all_files = glob.glob(cmd) +def get_first_file(globs): + """Return first file found in wildcard globs""" + for g in globs: + all_files = glob.glob(g) if all_files: for f in all_files: if not os.path.isdir(f): @@ -216,6 +217,8 @@ class BaseConfig(object): self.cleaned = False # Files to cleanup after run self.cleanup_files = [] + self.guest_agent = False + self.guest_agent_sockpath = '/tmp/qga.sock' def acquire_taplock(self, error=True): logger.debug("Acquiring lockfile %s..." % self.taplock) @@ -447,30 +450,16 @@ class BaseConfig(object): self.set("MACHINE", arg) def set_dri_path(self): - # As runqemu can be run within bitbake (when using testimage, for example), - # we need to ensure that we run host pkg-config, and that it does not - # get mis-directed to native build paths set by bitbake. - env = os.environ.copy() - try: - del env['PKG_CONFIG_PATH'] - del env['PKG_CONFIG_DIR'] - del env['PKG_CONFIG_LIBDIR'] - del env['PKG_CONFIG_SYSROOT_DIR'] - except KeyError: - pass - try: - dripath = subprocess.check_output("PATH=/bin:/usr/bin:$PATH pkg-config --variable=dridriverdir dri", shell=True, env=env) - except subprocess.CalledProcessError as e: - raise RunQemuError("Could not determine the path to dri drivers on the host via pkg-config.\nPlease install Mesa development files (particularly, dri.pc) on the host machine.") - self.qemu_environ['LIBGL_DRIVERS_PATH'] = dripath.decode('utf-8').strip() - - # This preloads uninative libc pieces and therefore ensures that RPATH/RUNPATH - # in host mesa drivers doesn't trick uninative into loading host libc. - preload_items = ['libdl.so.2', 'librt.so.1', 'libpthread.so.0'] - uninative_path = os.path.dirname(self.get("UNINATIVE_LOADER")) - if os.path.exists(uninative_path): - preload_paths = [os.path.join(uninative_path, i) for i in preload_items] - self.qemu_environ['LD_PRELOAD'] = " ".join(preload_paths) + drivers_path = os.path.join(self.bindir_native, '../lib/dri') + if not os.path.exists(drivers_path) or not os.listdir(drivers_path): + raise RunQemuError(""" +qemu has been built without opengl support and accelerated graphics support is not available. +To enable it, add: +DISTRO_FEATURES_NATIVE:append = " opengl" +DISTRO_FEATURES_NATIVESDK:append = " opengl" +to your build configuration. +""") + self.qemu_environ['LIBGL_DRIVERS_PATH'] = drivers_path def check_args(self): for debug in ("-d", "--debug"): @@ -526,6 +515,10 @@ class BaseConfig(object): elif arg == 'publicvnc': self.publicvnc = True self.qemu_opt_script += ' -vnc :0' + elif arg == 'guestagent': + self.guest_agent = True + elif arg.startswith('guestagent-sockpath='): + self.guest_agent_sockpath = '%s' % arg[len('guestagent-sockpath='):] elif arg.startswith('tcpserial='): self.tcpserial_portnum = '%s' % arg[len('tcpserial='):] elif arg.startswith('qemuparams='): @@ -591,11 +584,6 @@ class BaseConfig(object): if os.access(dev_kvm, os.W_OK|os.R_OK): self.qemu_opt_script += ' -enable-kvm' - if self.get('MACHINE') == "qemux86": - # Workaround for broken APIC window on pre 4.15 host kernels which causes boot hangs - # See YOCTO #12301 - # On 64 bit we use x2apic - self.kernel_cmdline_script += " clocksource=kvm-clock hpet=disable noapic nolapic" else: logger.error("You have no read or write permission on /dev/kvm.") logger.error("Please change the ownership of this file as described at:") @@ -676,12 +664,12 @@ class BaseConfig(object): self.rootfs, self.get('MACHINE'), self.fstype) elif not self.rootfs: - cmd_name = '%s/%s*.%s' % (self.get('DEPLOY_DIR_IMAGE'), self.get('IMAGE_NAME'), self.fstype) - cmd_link = '%s/%s*.%s' % (self.get('DEPLOY_DIR_IMAGE'), self.get('IMAGE_LINK_NAME'), self.fstype) - cmds = (cmd_name, cmd_link) - self.rootfs = get_first_file(cmds) + glob_name = '%s/%s*.%s' % (self.get('DEPLOY_DIR_IMAGE'), self.get('IMAGE_NAME'), self.fstype) + glob_link = '%s/%s*.%s' % (self.get('DEPLOY_DIR_IMAGE'), self.get('IMAGE_LINK_NAME'), self.fstype) + globs = (glob_name, glob_link) + self.rootfs = get_first_file(globs) if not self.rootfs: - raise RunQemuError("Failed to find rootfs: %s or %s" % cmds) + raise RunQemuError("Failed to find rootfs: %s or %s" % globs) if not os.path.exists(self.rootfs): raise RunQemuError("Can't find rootfs: %s" % self.rootfs) @@ -741,10 +729,10 @@ class BaseConfig(object): kernel_match_name = "%s/%s" % (deploy_dir_image, kernel_name) kernel_match_link = "%s/%s" % (deploy_dir_image, self.get('KERNEL_IMAGETYPE')) kernel_startswith = "%s/%s*" % (deploy_dir_image, self.get('KERNEL_IMAGETYPE')) - cmds = (kernel_match_name, kernel_match_link, kernel_startswith) - self.kernel = get_first_file(cmds) + globs = (kernel_match_name, kernel_match_link, kernel_startswith) + self.kernel = get_first_file(globs) if not self.kernel: - raise RunQemuError('KERNEL not found: %s, %s or %s' % cmds) + raise RunQemuError('KERNEL not found: %s, %s or %s' % globs) if not os.path.exists(self.kernel): raise RunQemuError("KERNEL %s not found" % self.kernel) @@ -761,13 +749,13 @@ class BaseConfig(object): dtb = self.get('QB_DTB') if dtb: deploy_dir_image = self.get('DEPLOY_DIR_IMAGE') - cmd_match = "%s/%s" % (deploy_dir_image, dtb) - cmd_startswith = "%s/%s*" % (deploy_dir_image, dtb) - cmd_wild = "%s/*.dtb" % deploy_dir_image - cmds = (cmd_match, cmd_startswith, cmd_wild) - self.dtb = get_first_file(cmds) + glob_match = "%s/%s" % (deploy_dir_image, dtb) + glob_startswith = "%s/%s*" % (deploy_dir_image, dtb) + glob_wild = "%s/*.dtb" % deploy_dir_image + globs = (glob_match, glob_startswith, glob_wild) + self.dtb = get_first_file(globs) if not os.path.exists(self.dtb): - raise RunQemuError('DTB not found: %s, %s or %s' % cmds) + raise RunQemuError('DTB not found: %s, %s or %s' % globs) def check_bios(self): """Check and set bios""" @@ -818,7 +806,7 @@ class BaseConfig(object): self.set('QB_MEM', qb_mem) mach = self.get('MACHINE') - if not mach.startswith(('qemumips', 'qemux86')): + if not mach.startswith(('qemumips', 'qemux86', 'qemuloongarch64')): self.kernel_cmdline_script += ' mem=%s' % self.get('QB_MEM').replace('-m','').strip() + 'M' self.qemu_opt_script += ' %s' % self.get('QB_MEM') @@ -1049,7 +1037,7 @@ class BaseConfig(object): cmd = ('runqemu-extract-sdk', src, dest) logger.info('Running %s...' % str(cmd)) if subprocess.call(cmd) != 0: - raise RunQemuError('Failed to run %s' % cmd) + raise RunQemuError('Failed to run %s' % str(cmd)) self.rootfs = dest self.cleanup_files.append(self.rootfs) self.cleanup_files.append('%s.pseudo_state' % self.rootfs) @@ -1058,7 +1046,7 @@ class BaseConfig(object): cmd = ('runqemu-export-rootfs', 'start', self.rootfs) logger.info('Running %s...' % str(cmd)) if subprocess.call(cmd) != 0: - raise RunQemuError('Failed to run %s' % cmd) + raise RunQemuError('Failed to run %s' % str(cmd)) self.nfs_running = True @@ -1067,7 +1055,7 @@ class BaseConfig(object): if cmd != '': logger.info('Running setup command %s' % str(cmd)) if subprocess.call(cmd, shell=True) != 0: - raise RunQemuError('Failed to run %s' % cmd) + raise RunQemuError('Failed to run %s' % str(cmd)) def setup_net_bridge(self): self.set('NETWORK_CMD', '-netdev bridge,br=%s,id=net0,helper=%s -device virtio-net-pci,netdev=net0 ' % ( @@ -1375,6 +1363,12 @@ class BaseConfig(object): except FileNotFoundError: raise RunQemuError("/dev/dri directory does not exist; no render nodes available on this machine. %s" %(render_hint)) + def setup_guest_agent(self): + if self.guest_agent == True: + self.qemu_opt += ' -chardev socket,path=' + self.guest_agent_sockpath + ',server,nowait,id=qga0 ' + self.qemu_opt += ' -device virtio-serial ' + self.qemu_opt += ' -device virtserialport,chardev=qga0,name=org.qemu.guest_agent.0 ' + def setup_vga(self): if self.nographic == True: if self.sdl == True: @@ -1506,6 +1500,7 @@ class BaseConfig(object): if self.snapshot: self.qemu_opt += " -snapshot" + self.setup_guest_agent() self.setup_serial() self.setup_vga() @@ -1554,7 +1549,7 @@ class BaseConfig(object): if cmd != '': logger.info('Running cleanup command %s' % str(cmd)) if subprocess.call(cmd, shell=True) != 0: - raise RunQemuError('Failed to run %s' % cmd) + raise RunQemuError('Failed to run %s' % str(cmd)) def cleanup(self): if self.cleaned: @@ -1663,7 +1658,7 @@ class BaseConfig(object): return result raise RunQemuError("Native sysroot directory %s doesn't exist" % result) else: - raise RunQemuError("Can't find STAGING_BINDIR_NATIVE in '%s' output" % cmd) + raise RunQemuError("Can't find STAGING_BINDIR_NATIVE in '%s' output" % str(cmd)) def main(): diff --git a/poky/scripts/yocto_testresults_query.py b/poky/scripts/yocto_testresults_query.py index 3df9d6015f..a5073736aa 100755 --- a/poky/scripts/yocto_testresults_query.py +++ b/poky/scripts/yocto_testresults_query.py @@ -38,18 +38,27 @@ def get_sha1(pokydir, revision): logger.error(f"Can not find SHA-1 for {revision} in {pokydir}") return None +def get_branch(tag): + # The tags in test results repository, as returned by git rev-list, have the following form: + # refs/tags/<branch>/<count>-g<sha1>/<num> + return '/'.join(tag.split("/")[2:-2]) + def fetch_testresults(workdir, sha1): logger.info(f"Fetching test results for {sha1} in {workdir}") rawtags = subprocess.check_output(["git", "ls-remote", "--refs", "--tags", "origin", f"*{sha1}*"], cwd=workdir).decode('utf-8').strip() if not rawtags: raise Exception(f"No reference found for commit {sha1} in {workdir}") + branch = "" for rev in [rawtag.split()[1] for rawtag in rawtags.splitlines()]: - logger.info(f"Fetching matching revisions: {rev}") + if not branch: + branch = get_branch(rev) + logger.info(f"Fetching matching revision: {rev}") subprocess.check_call(["git", "fetch", "--depth", "1", "origin", f"{rev}:{rev}"], cwd=workdir) + return branch -def compute_regression_report(workdir, baserevision, targetrevision): +def compute_regression_report(workdir, basebranch, baserevision, targetbranch, targetrevision): logger.info(f"Running resulttool regression between SHA1 {baserevision} and {targetrevision}") - report = subprocess.check_output([resulttool, "regression-git", "--commit", baserevision, "--commit2", targetrevision, workdir]).decode("utf-8") + report = subprocess.check_output([resulttool, "regression-git", "--branch", basebranch, "--commit", baserevision, "--branch2", targetbranch, "--commit2", targetrevision, workdir]).decode("utf-8") return report def print_report_with_header(report, baseversion, baserevision, targetversion, targetrevision): @@ -74,9 +83,9 @@ def regression(args): if not args.testresultsdir: subprocess.check_call(["rm", "-rf", workdir]) sys.exit(1) - fetch_testresults(workdir, baserevision) - fetch_testresults(workdir, targetrevision) - report = compute_regression_report(workdir, baserevision, targetrevision) + basebranch = fetch_testresults(workdir, baserevision) + targetbranch = fetch_testresults(workdir, targetrevision) + report = compute_regression_report(workdir, basebranch, baserevision, targetbranch, targetrevision) print_report_with_header(report, args.base, baserevision, args.target, targetrevision) finally: if not args.testresultsdir: |