Tim Orling [Sat, 12 Mar 2022 20:53:54 +0000 (12:53 -0800)]
python3-cryptography: move from meta-python
* inherit new setuptools_rust class (which inherits new pyo3 class, which
inherits cargo and python3-dir).
* RDEPENDS on python3-pytest-subtests for ptest
* Copy pyproject.toml for ptest as it defines the pytest.marker(s) needed
* Use 'cargo bitbake' to generate the crate:// SRC_URIs
- Needed some hacks to the Cargo.toml in src/rust/ to make this work (probably
only package.repository was strictly required):
[package]
description = "cryptography includes both high level recipes and low level interfaces to common cryptographic algorithms such as symmetric ciphers, message digests, and key derivation functions."
homepage = "https://github.com/pyca/cryptography"
repository = "https://github.com/pyca/cryptography"
* Add patches to src/rust/Cargo.toml to fix cargo errors including pem version
* Add check-memfree.py to ptest to check for sufficient free memory
Signed-off-by: Tim Orling <tim.orling@konsulko.com>
Tim Orling [Sat, 12 Mar 2022 20:50:43 +0000 (12:50 -0800)]
setuptools3_rust.bbclass: move from meta-python
setuptools-rust is a plugin for setuptools to build Rust Python extensions
implemented with PyO3 or rust-cpython.
Compile and distribute Python extensions written in Rust as easily as if
they were written in C.
This class inherits pyo3.bbclass (and therefore cargo.bbclass) and
setuptools3.bbclass to make it easier to build Python modules with Rust
extensions.
Need to call pyo3_do_configure to properly setup the PyO3 environment
for cross-compiling.
Need to call cargo_common_do_configure to setup cargo_home/config so
that the linker properly finds e.g. crti.o and crtbeginS.o
It is strongly recommended to provide crates needed for your recipe
using the crate:// fetcher. This can be helped with the cargo-bitbake
command [1].
If you choose not to use the crate fetcher, bitbake vendoring will not
work with setuptools-rust, as it errors out immediately because it cannot
find pyo3 or some other crate. The (strongly discouraged) workaround for
this is to set:
CARGO_DISABLE_BITBAKE_VENDORING = "1"
[1] https://crates.io/crates/cargo-bitbake
Signed-off-by: Tim Orling <tim.orling@konsulko.com>
Tim Orling [Sat, 12 Mar 2022 20:49:24 +0000 (12:49 -0800)]
pyo3.bbclass: move from meta-python
PyO3 provides Rust bindings for Python, including tools for creating native
Python extension modules. Running and interacting with Python code from a
Rust binary is also supported.
This class sets up the cross-compilation environment.
Export PYO3_CROSS, PYO3_CROSS_LIB_DIR, PYO3_CROSS_INCLUDE_DIR and CARGO_BUILD_TARGET
to inform tools like setuptools-rust we are cross-compiling.
Export RUSTFLAGS so cargo can find 'std' and 'core' for target
Dynamically generate PyO3 config file and export PYO3_CONFIG_FILE
absolute path. This is the trick that finally made pyo3 work.
Signed-off-by: Tim Orling <tim.orling@konsulko.com>
Khem Raj [Tue, 8 Mar 2022 15:52:50 +0000 (07:52 -0800)]
piglit: Remove virtual/libgl
virtual/libgl is usually provided by same package that provides
virtual/egl by the stacks which implement it, removing virtual/libgl
means we can build it on stacks not implementing GL
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paulo Neves [Sun, 6 Feb 2022 13:45:07 +0000 (14:45 +0100)]
selftest/lic_checksum: Add test for filename containing space
A fix is being added to bitbake to correctly handle spaces inside
checksum filenames. Add a test to oe-selftest to ensure this is
tested and doesn't regress in future.
Signed-off-by: Paulo Neves <ptsneves@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Khem Raj [Sun, 13 Mar 2022 19:52:04 +0000 (12:52 -0700)]
erofs-utils: Use __SANE_USERSPACE_TYPES__ on ppc64
ppc64 historically has used l64 for defining u64 types in kernel
asm/types.h defaults to use l64 by default but kernel uses ll64 now a
days, therefore lets use same int-ll64.h to provide these defines like
other architectures
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Mon, 14 Mar 2022 17:53:29 +0000 (17:53 +0000)]
shadow-native: Simplify and fix syslog disable patch
Shadow is happily spamming the host syslog with messages and shouldn't be
which suggests the patch isn't working. Redo it to work at the configure
level which is simpler and hopefully more effective.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Mon, 14 Mar 2022 13:35:00 +0000 (13:35 +0000)]
scripts/runqemu: Fix memory limits for qemux86-64
When setting memory to 4GB, qemu is only running with 2GB for x86_64.
Avoid this by removing the mem= option to the kernel and letting the
qemu configuration handle it for x86 in a similar way to mips.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Khem Raj [Sun, 13 Mar 2022 07:59:32 +0000 (23:59 -0800)]
binutils: Bump to latest 2.38 release branch
Fixes building ppc32 kernels
Brings following fixes
* 2d92604cd30 Revert "Check thin archive element file size against archive header"
* ed9b2e40ebf binutils 2.38 vs. ppc32 linux kernel
* 40d32f56f63 Updated Serbian translations for the bfd, gold, ld and opcodes directories
* 6aa1b7df2fc ld: Keep indirect symbol from IR if referenced from shared object
* ae1cab7d3f3 i386: Update I386_NEED_DYNAMIC_RELOC_TYPE_P for DT_TEXTREL
* df9071487a8 PR28882, build failure with gcc-4.2 due to use of 0b literals
* caa6172de4b x86: Disallow invalid relocation against protected symbol
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Khem Raj [Sat, 12 Mar 2022 19:18:22 +0000 (11:18 -0800)]
ppc/siteinfo: Fix differences between musl and glibc
There is a key difference between glibc and musl when it comes to
ppc/ppc64 and that is that musl does not support 128-bit long IBM doubles format
it only supports 128-bit long double IEEE format on ppc64 alone.
this change ensures that we account for this change, so far we have been
doing it a bit wrong for ppc/musl case.
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Khem Raj [Sat, 12 Mar 2022 19:18:21 +0000 (11:18 -0800)]
powerpc32-linux: Remove libc cached variables
libc_cv_ppc_machine and no longer exists in glibc
others are detected correctly in configure. They
perhaps made sense in past when the toolchain build has several
bootstrap stages
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Markus Volk [Sat, 12 Mar 2022 08:01:58 +0000 (09:01 +0100)]
x86-base.inc: replace intel i965 driver with crocus
this fixes do_rootfs for core-image-sato after mesa update:
Problem: package packagegroup-core-x11-base-1.0-r1.noarch requires packagegroup-core-x11-xserver, but none of the providers can be installed
- conflicting requests
- nothing provides mesa-driver-i965 needed by packagegroup-core-x11-xserver-1.0-r40.intel_corei7_64
(try to add '--skip-broken' to skip uninstallable packages)
Signed-off-by: Markus Volk <f_l_k@t-online.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The reason it was separate is that there is a peculiar circular
dependency: dbus tests require glib, while some of glib's gdbus tests
require dbus. So dbus was built with tests disabled and without glib
dependency, then glib was built with dbus dependency, then dbus was
built again with glib dependency and tests enabled, only for the purpose
of installing those tests. I find that brittle and hacky, so this
removes dbus dependecy from glib (the fallout is that some gdbus tests
are no longer being executed), and dbus and its tests are built once,
after glib. Conversely, dbus is now dependent on glib for the purpose
of building the tests.
Also, dbus ptest installation is no longer using custom code, and dbus
run-ptest simply uses standard installed tests execution mechanism from
gnome.
Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Sat, 12 Mar 2022 13:44:03 +0000 (13:44 +0000)]
oeqa/runtime/ping: Improve failure message to include more detail
When the ping test fails due to a timeout we only get limited debug
information. Tweak the code to improve that in case it sheds any light
on intermittent failures.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ming Liu [Sat, 12 Mar 2022 14:10:56 +0000 (15:10 +0100)]
weston-init: add use-pixman PACKAGECONFIG
Fbdev backend has been deprecated since weston 10.0.0, and it could be
replaced by passing --use-pixman to drm backend, add a use-pixman
PACKAGECONFIG for convenience.
Signed-off-by: Ming Liu <liu.ming50@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ming Liu [Sat, 12 Mar 2022 11:53:03 +0000 (12:53 +0100)]
image.bbclass: make sure do_rootfs run from a clean workspace
Add ${IMAGE_ROOTFS} and ${IMGDEPLOYDIR} to do_rootfs[dirs] and
do_rootfs[cleandirs], this ensures do_rootfs run from a clean
workspace, with this change, we can now remove two bb.utils.mkdirhier
lines from meta/lib/oe/rootfs.py.
Signed-off-by: Ming Liu <liu.ming50@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ralph Siemsen [Fri, 11 Mar 2022 16:58:54 +0000 (11:58 -0500)]
libxml2: move to gitlab.gnome.org
The project has migrated from www.xmlsoft.org to gitlab.gnome.org.
Update the homepage accordingly, and use gnomebase to construct the
download URL, rather than including it in SRC_URI explicitly.
Note that the download is now in .xz format rather than .gz, so the
sha256sum is updated accordingly. Post-decompression tarballs are
identical, so there is no change to the libxml2 code.
Signed-off-by: Ralph Siemsen <ralph.siemsen@linaro.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ross Burton [Fri, 11 Mar 2022 12:03:02 +0000 (12:03 +0000)]
meta: rename pip_install_wheel.bbclass to python_pep517.bbclass
pip_install_wheel shouldn't restricted to just using Pip to install
wheels (the installer module is simplier and likely a better option),
and in the future may be extended to also provide do_compile() using
the build module.
Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diego Sueiro [Fri, 11 Mar 2022 18:07:12 +0000 (18:07 +0000)]
grub-efi: Add option to include all available modules
Include all available modules If 'all' is present in GRUB_BUILDIN variable.
To achieve this we need to search for all .mod files in ${B}/grub-core/ and
pass them to grub-mkimage command.
Also, add the verbose option to grub-mkimage.
Signed-off-by: Diego Sueiro <diego.sueiro@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Trevor Gamblin [Thu, 10 Mar 2022 14:10:03 +0000 (09:10 -0500)]
iptables: do not install /etc/ethertypes
Take inspiration from the ebtables recipe in meta-networking and omit
installation of etc/ethertypes, since it is provided by netbase. If we
don't do this, the following error occurs during build:
Error: Transaction test error:
file /etc/ethertypes conflicts between attempted installs of
iptables-1.8.7-r0.core2_64 and netbase-1:6.3-r0.noarch
Signed-off-by: Trevor Gamblin <trevor.gamblin@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ross Burton [Thu, 10 Mar 2022 11:40:33 +0000 (11:40 +0000)]
pip_install_wheel: add a generic do_install for bootstrapping
Several recipes are duplicating the same bootstrap logic for installing
a wheel without using any tools. Add an implementation to
pip_install_wheel to centralise the code, and remove the duplicated code
from the following recipes:
Claudius Heine [Wed, 9 Mar 2022 12:05:26 +0000 (13:05 +0100)]
overlayfs-etc: add condition to package-management feature conflict
The conflict with the `package-managment` only happens if the
`overlayfs-etc` class overwrites `/sbin/init`, which is not the case
when `OVERLAYFS_ETC_USE_ORIG_INIT_NAME` is set to `0`.
Signed-off-by: Claudius Heine <ch@denx.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Claudius Heine [Wed, 9 Mar 2022 14:29:46 +0000 (15:29 +0100)]
overlayfs: add systemd unit path prefix to FILES:${PN} array
The 'FILES:${PN}' array is missing the systemd unit dir prefix causing
them to not be packaged and the build fails with the
`installed-vs-shipped` error.
This adds the `systemd_system_unitdir` variable in front of every unit
file added with this class.
Signed-off-by: Claudius Heine <ch@denx.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Khem Raj [Wed, 9 Mar 2022 17:07:52 +0000 (09:07 -0800)]
webkitgtk: Fix build when x11 is not in distro features
ANGLE's copy of khrplatform.h is not uptodate with mesa/khronos khrplatform.h
which uses MESA_EGL_NO_X11_HEADERS which is now renamed in newer headers to
EGL_NO_X11 from mesa/khronos headers, however this define is
relatively new and 3D stacks do not have this adopted but apps
like qemu and bunch of others depend on it, I guess they assume mesa.
One can argue that its better to fix the 3D stacks to behave
like mesa but this means every BSP using these stacks will need to
carry such a fix.
Khem Raj [Wed, 9 Mar 2022 17:07:51 +0000 (09:07 -0800)]
qemu: Fix build when x11 is not in distro features
There is use of MESA_EGL_NO_X11_HEADERS which is now renamed in newer headers to
EGL_NO_X11 from mesa/khronos headers, however this define is
relatively new and 3D stacks do not have this adopted but apps
like qemu and bunch of others depend on it, I guess they assume mesa.
One can argue that its better to fix the 3D stacks to behave
like mesa but this means every BSP using these stacks will need to
carry such a fix.
wangmy [Tue, 8 Mar 2022 10:36:08 +0000 (18:36 +0800)]
sudo: upgrade 1.9.9 -> 1.9.10
Changelog:
=========
Added new log_passwords and passprompt_regex sudoers options.
Added new log_passwords and passprompt_regex settings to sudo_logsrvd that
operate like the sudoers options when logging terminal input.
Fixed several few bugs in the cvtsudoers utility when merging multiple
sudoers sources.
Fixed a bug in sudo_logsrvd parsing the sudo_logsrvd.conf file, where the
retry_interval in the [relay] section was not being recognized.
Restored the pre-1.9.9 behavior of not performing authentication when sudo's
-n option is specified.
On systems with /proc, if the /proc/self/stat (Linux) or /proc/pid/psinfo
(other systems) file is missing or invalid, sudo will now check file
descriptors 0-2 to determine the user's terminal. Bug #1020.
Fixed a compilation problem on Debian kFreeBSD. Bug #1021.
Fixed a crash in sudo_logsrvd when running in relay mode if an alert message
is received.
Fixed an issue that resulting in "problem with defaults entries" email to
be sent if a user ran sudo when the sudoers entry in the nsswitch.conf file
includes "sss" but no sudo provider is configured in /etc/sssd/sssd.conf. Bug #1022.
Updated the warning displayed when the invoking user is not allowed to run sudo.
Fixed a bug where the user-specified command timeout was not being honored if
the sudoers rule did not also specify a timeout.
Added support for using POSIX extended regular expressions in sudoers rules.
A user may now only run sudo -U otheruser -l if they have a "sudo ALL"
privilege where the RunAs user contains either root or otheruser.
The sudo lecture is now displayed immediately before the password prompt.
Sudo now uses its own closefrom() emulation on Linux systems.
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
wangmy [Tue, 8 Mar 2022 10:34:35 +0000 (18:34 +0800)]
python3-pycairo: upgrade 1.20.1 -> 1.21.0
Changelog:
=========
* Require Python 3.7+ :pr:'250'
* Require meson 0.53+
* Using 'setup.py' directly to build/install pycairo is deprecated.
Use meson instead.
* 'setup.py' now requires setuptools. Previously it was optional.
* The complete API reference is now included in the typing stubs,
so it can be consumed/shown by IDEs. :pr:'236' :pr:'252'
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ross Burton [Wed, 9 Mar 2022 16:51:13 +0000 (16:51 +0000)]
pip_install_wheel: install wheel with a glob
Now that the build systems that use pip_install_wheel are all building
their wheel into a directory that we knew was empty before, we can just
install *.whl and not need to know the precise names.
By design a pyproject.toml will always build a single wheel, so there
shouldn't be any way for this to end up installing more than expected.
This obsoletes PIP_INSTALL_PACKAGE and PYPA_WHEEL, neither of which are
needed anymore.
Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ross Burton [Tue, 8 Mar 2022 14:30:34 +0000 (14:30 +0000)]
setuptools_build_meta: add variable to control where pyproject.toml is located
The PEP517[1] pyproject.toml doesn't have to be located at the top-level
of the source tree (for example, in recipes with multiple components), so
add a variable PEP517_SOURCE_PATH to set where the file is.
In the future there should be a pep517.bbclass to centralise the common
logic, but for now this can be defined in each of the relevant classes.
[1] https://www.python.org/dev/peps/pep-0517/
Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ross Burton [Tue, 8 Mar 2022 14:30:33 +0000 (14:30 +0000)]
flit_core: add variable to control where pyproject.toml is located
The PEP517[1] pyproject.toml doesn't have to be located at the top-level
of the source tree (for example, in recipes with multiple components), so
add a variable PEP517_SOURCE_PATH to set where the file is.
In the future there should be a pep517.bbclass to centralise the common
logic, but for now this can be defined in each of the relevant classes.
[1] https://www.python.org/dev/peps/pep-0517/
Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>