Commit Graph

4532 Commits

Author SHA1 Message Date
Alexander Kanavin
d08104ba14 maintainers.inc: unassign myself (don't panic!)
For a very long time my focus hasn't been these recipes
in particular; rather I'm trying to ensure oe-core as a whole
doesn't fall too far behind upstream releases. To better reflect
this reality, I wish to be no longer listed for any specific
recipes.

(From OE-Core rev: b420b575fef9111a264a9ecc3b34a341ee604d97)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-12-05 17:07:10 +00:00
Peter Marko
b767890b51 default-providers: define keymaps virtual runtime provider
VIRTUAL-RUNTIME_keymaps is defined in busybox init manager and also in
some package groups. Defining distro features in recipes is wrong.
Also this is not directly related to init manager.
So move all these definitions to default-providers.inc

(From OE-Core rev: 00f667bb5007a372950a137bf9e8b0e62f44f7d6)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-11-28 12:27:11 +00:00
Peter Marko
d5655569e1 init-manager: define dev_manager for all init managers
Currently VIRTUAL-RUNTIME_dev_manager is defined by some init managers
with "??=" and in packagegroup-core-boot with "?=".
This means that this variable is different in this package group and in
all other the recipes.
This was discovered when trying to use new feature INIT_MANAGER when
migrating to scarthgap and using systemd distro. After deleting all
VIRTUAL_RUNTIME providers defined in init-manager-systemd udev was
installed additionally via packagegroup-core-boot.

Having a distro settings overriden in single recipe is wrong and needs
to be corrected. Therefore let's define the setting in all init managers
and remove it from packagegroup-core-boot.

core-image-tiny-initramfs has a dilemma - use busybox-mdev even if
distro does not enable it in busybox recipe to keep the image tiny, or
rather not install it even if distro enables it in busybox.
This patch chooses the first option.

(From OE-Core rev: 89e2652ac83f2602d6dd60623a225b88dc67d288)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-11-28 12:27:11 +00:00
Guðni Már Gilbert
a0ce6ada45 python3-isodate: move to meta-python
python3-rdflib was the last consumer of this recipe in oe-core.

(From OE-Core rev: 72cc499429b0869385223ba21fe03849c6145b89)

Signed-off-by: Guðni Már Gilbert <gudni.m.g@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-11-28 00:07:30 +00:00
Hiago De Franco
0b1edfb884 libdisplay-info: add recipe
libdisplay-info is a EDID and DisplayID library. Goals:

- Provide a set of high-level, easy-to-use, opinionated functions as
  well as low-level functions to access detailed information.
- Simplicity and correctness over performance and resource usage.
- Well-tested and fuzzed.

Since commit a16598b038b2 ("backend-drm: make libdisplay-info
mandatory") from Weston, this library is now mandatory in order to
build weston 14.0.1 and newer.

(From OE-Core rev: aa3fe5a5c00085f5455a66c1033f4124e76239ec)

Signed-off-by: Hiago De Franco <hiago.franco@toradex.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-11-27 16:44:47 +00:00
Hiago De Franco
84a297d823 hwdata: add recipe from meta-openembedded
Move hwdata recipe from meta-openembedded to openembedded-core.

libdisplay-info is now a requirement for Weston, since commit
a16598b038b2 ("backend-drm: make libdisplay-info mandatory"). However,
in order to build libdisplay-info, hwdata is required. Since Weston is
built inside openembedded-core, move hwdata in order to be able to
upgrade Weston, so oe-core has no dependency on meta-oe.

hwdata contains various hardware identification and configuration data.

(From OE-Core rev: 3e5d5ba74beace1669ff04a7b0334aaa2693bdb6)

Signed-off-by: Hiago De Franco <hiago.franco@toradex.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-11-27 16:44:47 +00:00
Alexander Kanavin
f6046d6465 liburi-perl: move to meta-perl
liburi-perl was added in 2010 to support lsb testing, never had
any other consumers in core, and since 2019 lsb testing is gone as well:
https://git.yoctoproject.org/poky/commit/?h=master-next&id=bac4bc9aa6a1f2fcf2ce9644925615185cc8e847

(From OE-Core rev: 945e77e789c93ed889ceca75d61ab7cfd39fb1b8)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-11-27 14:58:48 +00:00
Bruce Ashfield
6e66d8b16e linux-libc-headers: update to v6.12
Updating linux-libc-headers to the 6.12 LTS release, we drop
6.10 and make 6.12 the default.

(From OE-Core rev: ac76d281e28cf0cb42dd76869572fa01716198ca)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-11-22 16:53:37 +00:00
Richard Purdie
0b674b09c1 qemu/testimage: Ensure GNU tar is in test images
We've seen cases where a ptest (strace) has a 43GB sparse file in the test
directory. busybox tar doesn't work well with this. The resulting 1.4GB archive
takes hours to extract too.

Ensure tar is added to our full images and use the sparse option to collect
files for debugging. This stops crazy build hangs.

Since tar is GPLv3, we have to exclude it from that test code. We don't boot
any of those images so the debug collection code is safe there, at least for now.

(From OE-Core rev: fefeb919696b6ac76f0997acfb0f612203ef7f1b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-11-21 12:16:28 +00:00
Alexander Kanavin
263468c351 bitbake.conf: make ZSTD_COMPRESSION_LEVEL a number rather than a dash-prefixed option
This allows using it where only a number is needed, such as rpm compression
setting.

(From OE-Core rev: 9c284b4c661566855f15ba3f4508982c2a60b147)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-11-21 12:16:28 +00:00
Richard Purdie
a48f435d75 bitbake/documentation.conf: Show warnings for BB_DANGLINGAPPENDS_WARNONLY usage
Following bitbake "cooker: Drop support for BB_DANGLINGAPPENDS_WARNONLY",
show warnings for use of the variable.

(From OE-Core rev: ab0f6898a0f3892a9c4536919adaa1d8d847bb7c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-11-21 12:16:28 +00:00
Harish Sadineni
30bf8dcc25 rust: Upgrade 1.79.0->1.80.0
Update the patch files with rust v1.80.0.

The patch repro-issue-fix-with-cc-crate-hashmap.patch addresses the rust
 reprouciblity issue by correcting the way hash values are generated for
 different build paths.

https://blog.rust-lang.org/2024/07/25/Rust-1.80.0.html

(From OE-Core rev: d68449da0df795abe3233383a82d0b6b7908d736)

Signed-off-by: Sunil Dora <SunilKumar.Dora@windriver.com>
Signed-off-by: Harish Sadineni <Harish.Sadineni@windriver.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-11-18 22:09:02 +00:00
Ross Burton
2531779256 default-providers.conf: add virtual-x-terminal-emulator
We have multiple recipes in core that  RPROVIDE virtual-x-terminal-emulator,
so we should pick one to be the default for deterministic builds.

Pick rxvt, as it's the lightest.  Sato can depend on matchbox-terminal
explicitly and rxvt will not be added.

(From OE-Core rev: 0c362390127fa30f6932558ebcd9cbe1e21e8467)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-11-14 11:56:54 +00:00
Alexander Kanavin
eca49ca726 tcl8: re-add tcl 8 to support building expect
I'd be happy to remove expect from core as it has been unmaintained for years,
but sadly gcc/binutils test suites are basically written in it (via dejagnu),
and ltp makes use of it as well.

I attempted porting expect to tcl 9, but it's a tcl extension and makes
extensive use of features that have been deprecated in tcl 8 and removed
in tcl 9, and even pokes into tcl internals.

At some point hopefully the GNU toolchain upstreams are going to notice;
for now we'll carry tcl (latest) and tcl8 recipes.

tcl and tcl8 packages can be co-installed, the latter is adjusted
to contain tclsh8.

tcl-dev and tcl8-dev packages can also be co-installed, a few files
in tcl8-dev are renamed to avoid clashes with tcl-dev (tcl.pc -> tcl8.pc,
and similar for tclConfig.sh and tclooConfig.sh).

(From OE-Core rev: 8ec7bfc6644aff011545dfb0f5a415e79d7b0844)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-11-12 11:19:44 +00:00
Justin Bronder
226ec2ce74 bitbake.conf: require lz4 instead of lz4c
With bitbake commit 'bb: compress: use lz4 instead of lz4c' we require
lz4, not lz4c [1].  Going as far back as Ubuntu 16.04/Fedora 25, they
are packaged together so it should be safe to simply adjust the
requirement from lz4c to lz4.

Note that the two are largely the same, but upstream has considered lz4c
deprecated since at least 2018 [2].

1. https://git.openembedded.org/bitbake/commit/?id=907472034b344e4eb73cfd43059a413469f52e1c
2. https://github.com/lz4/lz4/pull/553

(From OE-Core rev: fe167e082cbde1c6d186ecdda531abef610ac2ac)

Signed-off-by: Justin Bronder <jsbronder@cold-front.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-11-07 22:17:24 +00:00
Richard Purdie
016d10d9ab bitbake.conf: Enable ipv6/acl/xattr for nativesdk
I was surprised to realise our buildtools doesn't support IPv6 which breaks
usage in our own autobuilder, let alone anywhere else.

Enable ipv6 in our SDKs and enable acl/xattr as well before we have the same
kind of issues with those, these features are now common on most linux systems
and we should be defaulting to including them.

(From OE-Core rev: e86686cbdbaf5368fae0a490d52a043f8ed4fa0f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-11-06 12:18:05 +00:00
Ross Burton
b67dce7ed0 lib/oe/package: remove PACKAGE_SNAP_LIB_SYMLINKS
This was added to OpenEmbedded in 2011[1] for the micro distro[2] and
subsequently ported to oe-core[3].  This feature aims to improve runtime
link speed by removing intermediate symlinks, i.e. libstdc++.so.6 is not
a symlink but the actual library.

However, there are several issues here:
- The meta-micro distribution has been unmaintained since 2012[4]
- The original creator of this function has confirmed that it is not in
  use anymore because the renaming doesn't affect the -dev packages, so
  on-target development or use of SDKs isn't possible.

Whilst the latter is possible to fix, the performance impact of removing
a single symlink resolution is negliable at best and the packaging code
is already very complex.

So, remove this functionality as it is known to be broken, isn't tested,
and removing it reduces complexity.

[1] https://git.openembedded.org/openembedded/commit/?id=cf7114179ead8ddff8f66e84d630811920ac9add
[2] https://git.openembedded.org/openembedded/tree/conf/distro/micro.conf
[3] https://git.openembedded.org/openembedded-core/commit/?id=600dbb7cb384c2290af38b993a9bea3a4dfc4494
[4] https://git.openembedded.org/meta-micro/

(From OE-Core rev: 9bfdf4c9eff16804588942a13ac7484059197f99)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-11-01 12:13:18 +00:00
Richard Purdie
366294d72d time64: Fix incorrect recipe override syntax
The original commit incorrectly missed off the pn- override prefix, fix it.

(From OE-Core rev: 766ebeec6fa56305606df3dcf901053dd58c1a95)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-10-25 21:45:21 +01:00
Richard Purdie
3ad0baf6fd time64.inc: Exclude pseudo from the 32bit-time warnings
pseudo has to wrap all glibc calls including the 32 bit ones so
this warning is a false positive.

(From OE-Core rev: 13f8b50f055be219aed50c62c5f7552c4c2f18f2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-10-24 15:18:54 +01:00
Jagadeesh Krishnanjanappa
67cf5e5bde tune-cortexa32: set tune feature as armv8a
Cortexa32 is a 32-bit armv8a architecture processor, so set the tune feature
as armv8a instead of aarch64 which is 64-bit armv8a architecture.

It solves the following build error while compiling libgcc-initial
and libssp-nonshared.
-- snip --
aarch64-poky-linux-musl-gcc: error: unrecognized command-line option '-mfpu=neon'
aarch64-poky-linux-musl-gcc: error: unrecognized command-line option '-mfloat-abi=hard'
-- snip --

(From OE-Core rev: 3b898270aca62559dfa42ed71d296fe8a8b46a41)

Signed-off-by: Jagadeesh Krishnanjanappa <workjagadeesh@gmail.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-10-22 12:28:17 +01:00
Richard Purdie
131c972071 qemu: Upgrade 9.0.1 -> 9.1.0
Drop the gnutls patch since something equivalent was merged upsteam.

(From OE-Core rev: 3e1b5805906dc3b2f7c79d26224a7a732123af97)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-10-22 11:39:58 +01:00
Marek Vasut
066108377d maintainers: Switch U-Boot to Fabio
Fabio has been keeping the U-Boot recipe up to date for a long time
in a timely manner, doing a great job there, update the maintainers
file.

(From OE-Core rev: ba8d7c7d066ae4923a7494775077f23939183d21)

Signed-off-by: Marek Vasut <marex@denx.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-10-15 21:35:48 +01:00
Etienne Cordonnier
acd8c9528f makedumpfile: import 1.7.5 from meta-openembedded
The kdump script from kexec-tools does not work without makedumpfile (see https://git.yoctoproject.org/poky/tree/meta/recipes-kernel/kexec/kexec-tools/kdump#n14 ).
Thus, let's import makedumpfile from meta-openembedded/meta-oe/recipes-kernel/makedumpfile and make kexec-tools RDEPENDS on makedumpfile.

makedumpfile is the utility which reads /proc/vmcore after a kernel panic and creates a kdump file under /var/crash/.

(From OE-Core rev: 8534e6427622ec76e100b7d10ee11d180cf5980a)

Signed-off-by: Etienne Cordonnier <ecordonnier@snap.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-10-15 11:47:24 +01:00
Niko Mauno
ca5472cd2c bitbake.conf: Mark VOLATILE_TMP_DIR as obsolete
This variable was removed in
https://git.yoctoproject.org/poky/commit/?id=2f46b6f27dfa3a9d5ad177900fcecfe64c3536f1
("bitbake.conf: drop VOLATILE_TMP_DIR, use FILESYSTEM_PERMS_TABLES instead")
so ensure that distributions become aware that it no longer has any
effect.

(From OE-Core rev: ec032dd13a19e4d4a332f06ace87f1f02143c3b2)

Signed-off-by: Niko Mauno <niko.mauno@vaisala.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-10-15 11:47:24 +01:00
Niko Mauno
7d4880435d bitbake.conf: Mark VOLATILE_LOG_DIR as obsolete
This variable was removed in
https://git.yoctoproject.org/poky/commit/?id=2f8806deb7655b37d6f8d12ff54680d6acf7a298
("bitbake.conf: drop VOLATILE_LOG_DIR, use FILESYSTEM_PERMS_TABLES instead")
so ensure that distributions become aware that it no longer has any
effect.

(From OE-Core rev: a951a900ce459191a9796a7069a1d3b658dda88f)

Signed-off-by: Niko Mauno <niko.mauno@vaisala.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-10-15 11:47:24 +01:00
Hongxu Jia
68d165b873 gcc-source: Fix racing on building gcc-source-14.2.0 and lib32-gcc-source-14.2.0
While enabling multilib, build gcc-source-14.2.0 and lib32-gcc-source-14.2.0
at the same time:

    $ MACHINE = "qemux86-64"
    $ require conf/multilib.conf
    $ MULTILIBS = "multilib:lib32"
    $ DEFAULTTUNE:virtclass-multilib-lib32 = "x86"
    $ bitbake gcc-source-14.2.0 lib32-gcc-source-14.2.0
    ...
    $ cat tmp-glibc/work-shared/gcc-14.2.0-r0.vr2401/temp/log.task_order
    20241012-064533.415426 do_recipe_qa (2688052): log.do_recipe_qa.2688052
    20241012-064533.463783 do_recipe_qa (2688051): log.do_recipe_qa.2688051
    20241012-064533.805164 do_fetch (2688257): log.do_fetch.2688257
    20241012-064533.852955 do_fetch (2688256): log.do_fetch.2688256
    20241012-064617.823714 do_unpack (2698542): log.do_unpack.2698542
    20241012-064617.871730 do_unpack (2698541): log.do_unpack.2698541
    ...

There are two tasks for do_fetch, do_unpack and others, so there are race issues.

Both of them have the same hardcode 'gcc' prefix in ${WORKDIR} and
${S}, explicitly disable lib32-gcc-source-14.2.0 for multilib

Set gcc-source as BPN of gcc-source-14.2.0

(From OE-Core rev: 901c47877e0710af50639f688e0bfdb851b762b5)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-10-15 11:47:24 +01:00
Enrico Jorns
776c12c5c8 barebox: set default BAREBOX_CONFIG for qemu machines
These are set in the barebox class rather in the corresponding machines
(where they would belong otherwise) to keep the impact of barebox to
oe-core minimal for now.

"multi_v7_defconfig" is used for qemuarm since this is the default
barebox armv7 config that just enables all supported platforms.

"multi_v8_defconfig" is used for qemuarm64 sine this is the default
barebox armv8 config that just enables all supported platforms.

"efi_defconfig" is used for qemux86-64 which is the primary platform
where barebox will not be the first stage bootloader but an EFI payload.

Since these changes make barebox a provider for virtual/bootloader,
explicitly default to u-boot in the corresponding MACHINE configs to not
unnecessarily surprise users.

(From OE-Core rev: 93da14f8f85202bad3dec9d979d01f4e8f9708d6)

Signed-off-by: Enrico Jorns <ejo@pengutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-10-11 15:57:44 +01:00
Marco Felsch
a9531159c5 barebox-tools: add initial barebox tools support
Add initial support to build the barebox tools for the host and the
target.

Some of the tools are generic barebox utilities (like 'bareboximd' for
image meta data inspection or 'bareboxenv' for accessing the barebox
environment) some are SoC family-specific specific utilities (like
'imx-usb-loader' or 'omap3-usb-loader').

(From OE-Core rev: cb3de34a28cde3f9ebd52ba842da9f91c6f0fa66)

Signed-off-by: Marco Felsch <m.felsch@pengutronix.de>
Signed-off-by: Enrico Jorns <ejo@pengutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-10-11 15:57:44 +01:00
Marco Felsch
8ca1fd0b72 barebox: add initial support
This adds the support for the barebox bootloader to oe-core. The recipe
is inspired by meta-ptx [1] but is a major rework of the one found there.

Barebox comes with a wide range of supported architectures and follows
the concepts of Linux in various aspects like the driver model, the
shell, or the virtual file system.
This not only eases porting Linux drivers but also makes barebox a
developer-friendly and feature-rich bootloader alternative [2].

For barebox (like for the kernel or other bootloaders) it is quite
likely that people will not just build the original recipe but need to
adapt it, point to custom repositories, apply patch stacks,
COMPATIBLE_MACHINE etc. They may also choose to have different recipe
names for different variants.
Having only a single .bb file and requiring to copy or .bbappend it is
inconvenient and results in unnecessary code duplication. Therefore, the
base support for building barebox is encapsulated in barebox.bbclass
(like kernel.bbclass for the kernel).

Adds barebox to maintainers.inc but excludes it from the maintainers
check since with the current check mechanism barebox would be skipped
(and making the check fail) due to not being the PREFERRED_PROVIDER for
virtual/bootloader.

[1] https://github.com/pengutronix/meta-ptx/tree/master/recipes-bsp/barebox
[2] https://www.barebox.org/demo/?graphic=0

(From OE-Core rev: 5c69f5626278a6e9756188a5771b18075380f52d)

Signed-off-by: Marco Felsch <m.felsch@pengutronix.de>
Signed-off-by: Enrico Jorns <ejo@pengutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-10-11 15:57:44 +01:00
Richard Purdie
35c3b9132d migrate_localcount: Drop long obsolete code
If BB_URI_LOCALCOUNT isn't set, the code does nothing. That code was removed in 2012:

https://git.yoctoproject.org/poky/commit/?id=d0f35207f9e19b440393a79ebf621649c495738d

Therefore drop the rest of it!

(From OE-Core rev: fca25fc4d7721f85f64c942307ebe7ba9f2fad3e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-10-08 13:26:39 +01:00
Deepthi Hemraj
64e1d81be2 gdb: Upgrade 15.1 -> 15.2
GDB 15.2 brings the following fixes:
 * PR gdb/31727 (-exec-next fails in mingw (infrun.c:2794: internal-error: resume_1: Assertion `pc_in_thread_step_range (pc, tp)' failed))
 * PR c++/31900 (libstdc++-prettyprinters/debug.cc print redirected fails since gdb-14-branchpoint-2123-g4e417d7bb1c)
 * PR python/31946 (sys.exit from Python no longer exits the GDB process)
 * PR record/31971 (Loading a saved record file asserts if we try to execute the inferior)
 * PR gdb/32005 (frv_current_sos doesn't set solib::lm_info)
 * PR exp/32015 (GDB crashes while printing large D array)
 * PR gdb/32025 (Fatal error when the disassemble command is interrupted with SIGINT)
 * PR gdb/32143 ([15 Regression] arch/amd64.c:71: internal-error: amd64_create_target_description: Assertion `!is_x32' failed)
 * PR symtab/32158 ([gdb/symtab] enum class enumerator has incorrect parent in cooked index)
 * PR symtab/32160 ([gdb/symtab] Parent map: die parent or scope parent?)

(From OE-Core rev: 76567e7a0e1d133b5878a0254a9dcc87b3a15bc1)

Signed-off-by: Deepthi Hemraj <Deepthi.Hemraj@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-10-08 13:26:39 +01:00
Jon Mason
9377886a7d default-distrovars: Have KERNEL_CONSOLE reference SERIAL_CONSOLES
Currently, KERNEL_CONSOLE has a default value of "ttyS0".  However, Arm
machines and those using virtio serial prefer to use "ttyAMA0" or "hvc0"
(or something else).  These are usually defined by the machine config
file as SERIAL_CONSOLES, which has one or more entries.  Take the first
one of those instead of ttyS0, but default back to ttyS0 if nothing is
set.

Also, use this variable in the efi wic file instead of "ttyS0".
Of note, this changes the default speed of the default kernel console
from undefined (9600) to 115200.  This allows for users of the
mkefidisk.wks to work as before but any users of this variable could see
changed behavior and would now need to define this as:
KERNEL_CONSOLE ?= "ttyS0,9600"

This includes revisions suggested by Quentin Schulz and Ross Burton.

(From OE-Core rev: da42fc9ad55d1d60a04e38ff94c965f711f60cd6)

Signed-off-by: Jon Mason <jdmason@kudzu.us>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-10-08 13:26:39 +01:00
Richard Purdie
f4cd284ad7 layer.conf: Update to new layer/release series post-release
Switch from styhead to walnascar (aka walna).

(From OE-Core rev: 86999b5da960cbaa75eda1a75e3c42de22786677)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-10-01 12:40:48 +01:00
Mikko Rapeli
135ac0609e maintainers.inc: add python3-pefile
Recipe moved from meta-oe to oe-core and
Khem Raj <raj.khem@gmail.com> agreed to continue
as maintainer.

(From OE-Core rev: ea18f44d81e95cd14ebfbc24c6089b556486aab3)

Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-10-01 12:40:48 +01:00
Mikko Rapeli
996146db8f python3-pefile: add recipe from meta-openembedded
It is needed by systemd ukify tool and uki.bbclass to generate
UEFI boot binaries. Added to fast list in ptest-packagelists.inc.

(From OE-Core rev: 4069c485046fe6d008dd0c48269f29d92146d923)

Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-10-01 12:40:48 +01:00
Richard Purdie
76285e5aff bitbake.conf: Add mingw32 SOLIBS and SOLIBSDEV definitions
We may as well define the dll output for mingw alongside the darwin dylib
definitions. There are some recipes which output .so files even on mingw
but those can be handled specifically in mingw.

(From OE-Core rev: bb3101fffceacfa4c021c33affb7c785da8d859f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-09-20 15:59:03 +01:00
Benjamin Grossschartner
a7da5d525b security-flags: Re-enable pie for power pc
pie now works with gcc on powerpc, see:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81170

(From OE-Core rev: f9ef9af3874bf435e2f92fdf1ebe852b099fa7b5)

Signed-off-by: Benjamin Grossschartner <benjamin.grossschartner@urbanandmainlines.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-09-20 14:01:02 +01:00
Ross Burton
099c09be3c bitbake.conf: mark TCLIBCAPPEND as deprecated
In oe-core ebcd355 TCLIBCAPPEND (a string that is appended to TMPDIR) was
removed entirely.  Warn if this is being set by the distro as it will no
longer have any effect.

(From OE-Core rev: 992ba784c168710328749fd61a0e2869df519dea)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-09-17 12:16:00 +01:00
Richard Purdie
fa3cfb3a6b layer.conf: Drop scarthgap namespace from LAYERSERIES
As we move to release, drop the scarthgap namespace and prepare for
styhead.

(From OE-Core rev: b4cf6d5236a3eacaf56ca2f805b006efac65b26c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-09-06 16:20:57 +01:00
Richard Purdie
bd102d1275 conf/defaultsetup.conf: Drop TCLIBCAPPEND
We've been able to run musl and glibc builds in the same TMPDIR for
many years and a separate directory is not required. Most distros disable
this value for that reason.

Drop support for the variable to make it clear and easy for distros
to be able to set multiconfigs which behave consistently for distros
which do and don't clear it by dropping it entirely.

(From OE-Core rev: ebcd355a32e2711263e22d9b45b502696ecbb4d2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-09-05 21:50:10 +01:00
Martin Jansa
3d029dff3e bitbake.conf: DEBUG_PREFIX_MAP: add -fmacro-prefix-map for STAGING_DIR_NATIVE
* the default STAGING_DIR_NATIVE starts with STAGING_DIR_HOST and the
  only difference is '-native' suffix at the end

* this can lead into replacing STAGING_DIR_NATIVE path with just "-native"
  in FILE macros

* I've noticed this by accident in python3-matplotlib where buildpaths
  QA warning was triggered only for lib32-python3-matplotlib and it was
  because pybind11 path to STAGING_DIR_NATIVE was mapped to only
  '-native/<path>' in python3-matplotlib build (which doesn't trigger
  buildpaths QA and lib32-python3-matplotlib the macro path wasn't
  replaced at all, because of 'lib32-' prefix in:
  -fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/i586-oemllib32-linux/lib32-python3-matplotlib/3.7.2/lib32-recipe-sysroot= \
  -fmacro-prefix-map=/OE/build/oe-core/tmp-glibc/work/i586-oemllib32-linux/lib32-python3-matplotlib/3.7.2/lib32-recipe-sysroot= \
  -fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/i586-oemllib32-linux/lib32-python3-matplotlib/3.7.2/recipe-sysroot-native= \

* more details in meta-python fix for lib32-python3-matplotlib:
  https://lists.openembedded.org/g/openembedded-devel/message/112074

* the order of *-prefix-map options still seems to be that the last
  one matching wins and this works with gcc and clang, see:
  https://reviews.llvm.org/D148975?id=516863
  https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109591

* some components might sometimes be built with -coverage and could use
  -fcoverage-prefix-map:
  https://reviews.llvm.org/D148757
  or -fprofile-prefix-map:
  https://gcc.gnu.org/onlinedocs/gcc/Instrumentation-Options.html#index-fprofile-prefix-map
  but will leave that to recipes which actually use -coverage for now

(From OE-Core rev: 90dea34cb624af744a7d5deabdd5cbfb3c10db87)

Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-09-05 21:48:47 +01:00
Andrew Oppelt
413f327baa testexport: support for executing tests over serial
Uses TEST_SERIALCONTROL_CMD to open a serial connection to the target
and execute commands. This is a drop in replacement for the ssh target,
fully supporting the same API. Supported with testexport.

To use, set the following in local.conf:
- TEST_TARGET to "serial"
- TEST_SERIALCONTROL_CMD to a shell command or script which connects to
  the serial console of the target and forwards that connection to
  standard input/output.
- TEST_SERIALCONTROL_EXTRA_ARGS (optional) any parameters that must be
  passed to the serial control command.
- TEST_SERIALCONTROL_PS1 (optional) A regex string representing an empty
  prompt on the target terminal. Example: "root@target:.*# ". This is
  used to find an empty shell after each command is run. This field is
  optional and will default to "root@{MACHINE}:.*# " if no other value is
  given.
- TEST_SERIALCONTROL_CONNECT_TIMEOUT (optional) Specifies the timeout in
  seconds for the initial connection to the target. Defaults to 10 if no
  other value is given.

The serial target does have some additional limitations over the ssh
target.
1. Only supports one "run" command at a time. If two threads attempt to
   call "run", one will block until it finishes. This is a limitation of
   the serial link, since two connections cannot be opened at once.
2. For file transfer, the target needs a shell and the base32 program.
   The file transfer implementation was chosen to be as generic as
   possible, so it could support as many targets as possible.
3. Transferring files is significantly slower. On a 115200 baud serial
   connection, the fastest observed speed was 30kbps. This is due to
   overhead in the implementation due to decisions documented in #2
   above.

(From OE-Core rev: d817b27d73d29ba2beffa2e0a4e31a14dbe0f1bf)

Signed-off-by: Andrew Oppelt <andrew.j.oppelt@boeing.com>
Signed-off-by: Matthew Weber <matthew.l.weber3@boeing.com>
Signed-off-by: Chuck Wolber <chuck.wolber@boeing.com>

--

Tested with core-image-sato on real hardware. TEST_SERIALCONTROL_CMD
was set to a bash script which connected with telnet to the target.

Additionally tested with QEMU by setting TEST_SERIALCONTROL_CMD to
"ssh -o StrictHostKeyChecking=no root@192.168.7.2". This imitates
a serial connection to the QEMU instance.

Steps:
1) Set the following in local.conf:
  - IMAGE_CLASSES += "testexport"
  - TEST_TARGET = "serial"
  - TEST_SERIALCONTROL_CMD="ssh -o StrictHostKeyChecking=no root@192.168.7.2"
2) Build an image
  - bitbake core-image-sato
3) Run the test export
  - bitbake -c testexport core-image-sato
4) Run the image in qemu
  - runqemu nographic core-image-sato
5) Navigate to the test export directory
6) Run the exported tests with target-type set to serial
 - ./oe-test runtime --test-data-file ./data/testdata.json --packages-manifest ./data/manifest --debug --target-type serial

Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-09-01 12:28:10 +01:00
Richard Purdie
8621dbc2af abi-version/ssate: Bump to avoid systemd hash corruption issue
Unfortunately some recent patches caused non-deterministic output.
One input hash lead to both good and bad output and whilst that patch
has been fixed, the problematic hash 'cross' linkage remains. Bump to
a new sstate and hash equivalence version to avoid this and work from
a clean slate.

(From OE-Core rev: 639e42b9c14dff516688964dba4ab25bba7b8a55)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-09-01 11:05:20 +01:00
Yash Shinde
caa36ffb08 rust: Upgrade 1.78.0->1.79.0
Update the patch files with rust v1.79.0.

Drop the following backported patch which is merged
with rust v1.79 upgrade.

- cross-targets-backport.patch

https://blog.rust-lang.org/2024/06/13/Rust-1.79.0.html

(From OE-Core rev: 0e20d8e0a292f720c9ed419547d8f6d738c5d4d8)

Signed-off-by: Yash Shinde <Yash.Shinde@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-29 21:58:19 +01:00
Changqing Li
2f46b6f27d bitbake.conf: drop VOLATILE_TMP_DIR, use FILESYSTEM_PERMS_TABLES instead
* Drop VOLATILE_TMP_DIR, use FILESYSTEM_PERMS_TABLES instead. By default,
FILESYSTEM_PERMS_TABLES ?=  "files/fs-perms.txt \
                             files/fs-perms-volatile-log.txt \
                             files/fs-perms-volatile-tmp.txt"
it contains 'files/fs-perms-volatile-tmp.txt', which means volatile tmp
is enabled. User can disable volatile tmp by remove
'files/fs-perms-volatile-tmp.txt' from FILESYSTEM_PERMS_TABLES.
* If volatile tmp is disabled, both /tmp and /var/tmp are persistent

(From OE-Core rev: 8d1ae67b89c45f78162e070228086c7ef88c3264)

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-28 09:14:26 +01:00
Changqing Li
2f8806deb7 bitbake.conf: drop VOLATILE_LOG_DIR, use FILESYSTEM_PERMS_TABLES instead
Drop VOLATILE_LOG_DIR, use FILESYSTEM_PERMS_TABLES instead. By default,
it contains 'files/fs-perms-volatile-log.txt', which means volatile log
is enabled. User can disable volatile log by remove
'files/fs-perms-volatile-log.txt' from FILESYSTEM_PERMS_TABLES.

(From OE-Core rev: 91128c6517066715f2afe6b46aa3206c7cf3653e)

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-28 09:14:26 +01:00
Marta Rybczynska
72dd8c0d56 cve-check-map: add new statuses
Add 'fix-file-included', 'version-not-in-range' and 'version-in-range' generated
by the cve-check.

'fix-file-included' means that a fix file for the CVE has been located.

'version-not-in-range' means that the product version has been found outside of
the vulnerable range.

'version-in-range' means that the product version has been found inside of the
vulnerable range.

(From OE-Core rev: d25f1817752bc8a84c40dcbef75f7559801ce15e)

Signed-off-by: Marta Rybczynska <marta.rybczynska@syslinbit.com>
Signed-off-by: Samantha Jalabert <samantha.jalabert@syslinbit.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-20 14:12:40 +01:00
Marta Rybczynska
ebc8724416 cve-extra-inclusions: encode CPEs of affected packages
Add the new cpe:vendor:product tagging to entries in cve-extra-inclusions, using
product/vendor combinations that are already present in OE-core (usually there
is no specific vendor).

(From OE-Core rev: e1bf43561093b3b9215cde9e9f7d80b4ffcdc64e)

Signed-off-by: Marta Rybczynska <marta.rybczynska@syslinbit.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-20 14:12:40 +01:00
Yash Shinde
f0b62cf9a8 rust: Upgrade 1.77.2->1.78.0
* Drop the following backported patches which are merged
with rust v1.78 upgrade.

- 0001-Revert-Map-source-absolute-paths-to-OUT_DIR-as-relat.patch
- repro-issue-fix-with-v175.patch
- deadcode-backport.patch

https://blog.rust-lang.org/2024/05/02/Rust-1.78.0.html

(From OE-Core rev: a3fb378afcc1fb01e9813fe902dbd6090ded75d7)

Signed-off-by: Yash Shinde <Yash.Shinde@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-20 11:55:36 +01:00
Richard Purdie
6f0a78e04b bitbake.conf: Include cve-check-map earlier, before distro
It makes sense for the distro to be able to override "policy" from cve-check-map
which is intented to provide defaults. Tweak the ordering to allow for this,
ensuring it is included before the distro includes.

(From OE-Core rev: fb22a7e7ee38a0e923e86a68d0e9b86d479f264d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-13 09:29:15 +01:00