Ross Burton [Mon, 9 Aug 2021 13:49:32 +0000 (14:49 +0100)]
buildtools-tarball: add testsdk task
Add a testsdk task, which is essentially the same as testsdk.bbclass but
the test case directory is changed. This lets us exercise the
buildtools tarballs at build time.
Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ross Burton [Mon, 9 Aug 2021 15:36:49 +0000 (16:36 +0100)]
wic: don't forcibly pass -T default
This reverts part of oe-core eecbe62555, which was a previous attempt
to solve the Y2038 problem. This is now solved centrally in e2fsprogs,
so doesn't need to be dealt with in wic.
We don't revert the commit entirely, to retain the warning if a
filesystem has small inodes.
Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ross Burton [Mon, 9 Aug 2021 15:36:48 +0000 (16:36 +0100)]
e2fsprogs: ensure small images have 256-byte inodes
e2fsprogs calls filesystems larger than 3MB but smaller than 512MB
"small", which has some implications:
- blocksize 1024 instead of 4096
- inode_ratio 4096 instead of 16384
- inode_size 128 instead of 256
The outcome of the inode size dropping to 128 bytes is that they cannot
store 64-bit timestamps, so are not Y2038-safe.
A previous attempt to solve this problem[1] changed some of the canned
wic files to pass -T default to mkfs.ext4, but this only covered wic
images and not traditional images. Also, actually small filesystems,
for example a core-image-minimal, will happily be tens of megabytes and
with the "default" options will result in an image which runs out of
blocks before it runs out of space:
mkfs.ext4: Could not allocate block in ext2 filesystem while populating file system
Considering that many OpenEmbedded images are in fact "small", being
2038-safe is worth the marginal increase is disk usage. This patch
alters the small configuration in native builds so that it also has
256-byte inodes. Target is unchanged so that standard behaviour is
maintained outside of the build.
This is actually the same underlying patch that Mathieu Dubois-Briand
sent in April, but the wic change in [1] was accepted instead. I believe
that is the wrong approach and this approach covers more cases.
It's often desired in Embedded System design to have a read-only rootfs.
But a lot of different applications might want to have a read-write access
to some parts of a filesystem. It can be especially useful when your update
mechanism overwrites the whole rootfs, but you want your application data
to be preserved between updates. This class provides a way to achieve that
by means of overlayfs and at the same time keeping the base rootfs read-only.
Signed-off-by: Vyacheslav Yurkov <uvv.mail@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Tony Tascioglu [Tue, 10 Aug 2021 22:48:29 +0000 (15:48 -0700)]
valgrind: skip broken ptests for glibc 2.34
Skip tests that are problematic for glibc-2.34.
The list of problematic ptests was found by Richard after
patching several to work with the new glibc version.
bump localedef to get __attr_access_none and __attr_access definitions
replace /bin/bash instead of @BASH@ in ldd as @BASH@ has been substituted with /bin/bash now
This implements various fixes in comments in cve-check.bbclass
In particular, the "whitlisted" typo is important as the "whitelisted"
word is going to be replaced in a near future.
Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Wed, 2 Jun 2021 21:46:27 +0000 (22:46 +0100)]
oeqa/runtime/cases/ptest: Increase test timeout from 300s to 450s
Some tests such as lttng-tools are marginal and timing out on the autobuilder
with the current 300s default. Increase to avoid this noise in the ptest
failures list.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Tony Battersby [Tue, 27 Jul 2021 13:35:25 +0000 (09:35 -0400)]
lto.inc: disable LTO for grub
With gcc 11.1, compiling grub with LTO causes an internal compiler error
(ICE), and with gcc 10.2, files under /usr/lib/grub/i386-pc/*.mod are not
binary reproducible.
Martin Jansa [Wed, 4 Aug 2021 21:44:11 +0000 (23:44 +0200)]
systemd-boot: use ld.bfd as efi-ld even when gold or lld is used in ${LD}
* since the upgrade to 249.1 in:
https://git.openembedded.org/openembedded-core/commit/?id=323ec445dfe22860cd450c303db5ed8fcb4e791c
the builds with ld-is-gold are failing with:
[17/21] Generating linuxx64.elf.stub with a custom command
FAILED: src/boot/efi/linuxx64.elf.stub
/OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/systemd-boot/249.1-r0/recipe-sysroot-native/usr/bin/x86_64-oe-linux/x86_64-oe-linux-ld -o src/boot/efi/linuxx64.elf.stub -T /OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/systemd-boot/249.1-r0/recipe-sysroot/usr/lib/elf_x86_64_efi.lds -shared -Bsymbolic -nostdlib -znocombreloc --build-id=sha1 -L /OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/systemd-boot/249.1-r0/recipe-sysroot/usr/lib /OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/systemd-boot/249.1-r0/recipe-sysroot/usr/lib/crt0-efi-x86_64.o src/boot/efi/string-util-fundamental.c.o src/boot/efi/disk.c.o src/boot/efi/graphics.c.o src/boot/efi/measure.c.o src/boot/efi/pe.c.o src/boot/efi/secure-boot.c.o src/boot/efi/util.c.o src/boot/efi/linux.c.o src/boot/efi/splash.c.o src/boot/efi/stub.c.o -lefi -lgnuefi /OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/systemd-boot/249.1-r0/recipe-sysroot/usr/lib/../lib/x86_64-oe-linux/11.2.0/libgcc.a
/OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/systemd-boot/249.1-r0/recipe-sysroot-native/usr/bin/x86_64-oe-linux/x86_64-oe-linux-ld: internal error in segment_precedes, at ../../gold/layout.cc:3721
[18/21] Generating boot.c.o with a custom command
ninja: build stopped: subcommand failed.
WARNING: exit code 1 from a shell command.
as reported in:
https://lists.openembedded.org/g/openembedded-core/message/154246
otherwise first ld.bfd it will find will be from HOSTTOOLS_NONFATAL and
fail when host's binutils isn't compatible as in:
https://autobuilder.yoctoproject.org/typhoon/#/builders/104/builds/2673/steps/11/logs/stdio
FAILED: src/boot/efi/linuxx64.elf.stub
/home/pokybuild/yocto-worker/genericx86-64-alt/build/build/tmp/hosttools/ld.bfd -o src/boot/efi/linuxx64.elf.stub -T /home/pokybuild/yocto-worker/genericx86-64-alt/build/build/tmp/work/core2-64-poky-linux/systemd-boot/249.1-r0/recipe-sysroot/usr/lib/elf_x86_64_efi.lds -shared -Bsymbolic -nostdlib -znocombreloc --build-id=sha1 -L /home/pokybuild/yocto-worker/genericx86-64-alt/build/build/tmp/work/core2-64-poky-linux/systemd-boot/249.1-r0/recipe-sysroot/usr/lib /home/pokybuild/yocto-worker/genericx86-64-alt/build/build/tmp/work/core2-64-poky-linux/systemd-boot/249.1-r0/recipe-sysroot/usr/lib/crt0-efi-x86_64.o src/boot/efi/string-util-fundamental.c.o src/boot/efi/disk.c.o src/boot/efi/graphics.c.o src/boot/efi/measure.c.o src/boot/efi/pe.c.o src/boot/efi/secure-boot.c.o src/boot/efi/util.c.o src/boot/efi/linux.c.o src/boot/efi/splash.c.o src/boot/efi/stub.c.o -lefi -lgnuefi /home/pokybuild/yocto-worker/genericx86-64-alt/build/build/tmp/work/core2-64-poky-linux/systemd-boot/249.1-r0/recipe-sysroot/usr/lib/../lib/x86_64-poky-linux/11.2.0/libgcc.a
/home/pokybuild/yocto-worker/genericx86-64-alt/build/build/tmp/hosttools/ld.bfd: warning: /home/pokybuild/yocto-worker/genericx86-64-alt/build/build/tmp/work/core2-64-poky-linux/systemd-boot/249.1-r0/recipe-sysroot/usr/lib/crt0-efi-x86_64.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0010002
/home/pokybuild/yocto-worker/genericx86-64-alt/build/build/tmp/hosttools/ld.bfd: warning: /home/pokybuild/yocto-worker/genericx86-64-alt/build/build/tmp/work/core2-64-poky-linux/systemd-boot/249.1-r0/recipe-sysroot/usr/lib/crt0-efi-x86_64.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0010001
/home/pokybuild/yocto-worker/genericx86-64-alt/build/build/tmp/hosttools/ld.bfd: /home/pokybuild/yocto-worker/genericx86-64-alt/build/build/tmp/work/core2-64-poky-linux/systemd-boot/249.1-r0/recipe-sysroot/usr/lib/crt0-efi-x86_64.o: unable to initialize decompress status for section .debug_line
/home/pokybuild/yocto-worker/genericx86-64-alt/build/build/tmp/hosttools/ld.bfd: /home/pokybuild/yocto-worker/genericx86-64-alt/build/build/tmp/work/core2-64-poky-linux/systemd-boot/249.1-r0/recipe-sysroot/usr/lib/crt0-efi-x86_64.o: unable to initialize decompress status for section .debug_line
/home/pokybuild/yocto-worker/genericx86-64-alt/build/build/tmp/work/core2-64-poky-linux/systemd-boot/249.1-r0/recipe-sysroot/usr/lib/crt0-efi-x86_64.o: file not recognized: File format not recognized
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Tim Orling [Wed, 4 Aug 2021 20:57:21 +0000 (20:57 +0000)]
python3-hypothesis: upgrade 6.14.3 -> 6.14.5
6.14.5 - 2021-07-27
This patch fixes hypothesis.strategies._internal.types.is_a_new_type. It
was failing on Python 3.10.0b4, where NewType is a function.
6.14.4 - 2021-07-26
This patch fixes from_type() and register_type_strategy() for
typing.NewType on Python 3.10, which changed the underlying
implementation (see bpo-44353 for details).
References:
https://bugs.python.org/issue44353
Signed-off-by: Tim Orling <timothy.t.orling@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Recent tests have shown that prelinking works only when PIE is not
enabled [0], and as PIE is both a desirable security feature, and the only
configuration provided and tested by Yocto, there is simply no sense
in continuing to enable prelink.
There's also a concern that no one is maintaining the code, and there
are open bugs (including serious ones such as [1]). Given that prelink
does intricate address arithmetic and rewriting of binaries the best
option is to disable the feature.
hongxu [Wed, 4 Aug 2021 13:08:35 +0000 (21:08 +0800)]
createrepo-c: fix createrepo-c failed in nativesdk
In sdk, call createrepo-c failed with:
...
$ createrepo_c --update ./test_repo/rpm
Directory walk started Critical: Failed to detect compression for file
./test_repo/rpm/cortexa72/hello-2.10-r0.cortexa72.rpm: magic_load() failed: could not find any valid magic files!
...
Since commit [ea666fbc74 createrepo-c: set path to magic database for
native and nativesdk] applied, the MAGIC is incorrectly assigned.
The variable datadir will be expanded automatically for nativesdk,
do not need to add prefix ${SDKPATHNATIVE} to MAGIC
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Martin Jansa [Wed, 4 Aug 2021 14:24:18 +0000 (16:24 +0200)]
convert-overrides.py: allow dots before override in vars_re and shortvars_re
e.g. VIRTUAL-RUNTIME_com.webos.service.flowmanager_armv4 weren't replaced
with VIRTUAL-RUNTIME_com.webos.service.flowmanager:armv4 or when package
name contains a dot like in:
RDEPENDS:gstreamer1.0-meta-base:remove
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Wed, 4 Aug 2021 12:57:33 +0000 (13:57 +0100)]
image/image_types: Convert CONVERSION_CMD/COMPRESS_CMD to new override syntax
For consistency, use override syntax for these variables as well since
it is more consistent with the rest of the image code. We may be able to use
these as proper overrides in due course.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Chen Qi [Tue, 3 Aug 2021 08:11:54 +0000 (01:11 -0700)]
iputils: fix do_configure failure of missing ip command
If 'testimage' and 'testsdk' are not inherited, the 'ip'
comamnd will not be in HOSTTOOLS. This results in do_configure
failure of iputils. Backport a patch and skipping building
tests to fix the problem.
Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This recipe was ported from another layer, which had special handling for rpi.
OE-Core doesn't have 'rpi' override, doesn't define 'vc4graphics' DISTRO_FEATURES
and overall, BSP-specifics should be handled in downstream layers, not in OE-Core.
Signed-off-by: Denys Dmytriyenko <denis@denix.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Chen Qi [Wed, 4 Aug 2021 08:10:13 +0000 (01:10 -0700)]
insane.bbclass: fix the file-rdeps QA message for the new override syntax
Instead of replacing '_<pkg>', we should be replacing ':<pkg>'.
Otherwise, when we meet a 'file-rdeps' QA error, the error message would be
like below.
QA Issue: /usr/lib64/libatopology.so.2.0.0:libatopology contained in package libatopology ...
The ':libatopology' should not be in the error message.
Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Barker [Mon, 2 Aug 2021 10:44:30 +0000 (11:44 +0100)]
kernel-yocto: Simplify no git repo case in do_kernel_checkout
If the kernel sources are not fetched via git, a local git repository is
created in do_kernel_checkout. In this case we know that there will be
no remote branches and we will already be on the correct branch (since
only one branch will exist). So we can simplify things by skipping these
steps.
This also removes the assumption that the default git branch name will
be "master". Prior to this change, the final git checkout command in
do_kernel_checkout could fail if a local git repo was created and the
user had changed init.defaultBranch in their gitconfig.
Signed-off-by: Paul Barker <paul@pbarker.dev> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Mon, 2 Aug 2021 15:37:03 +0000 (16:37 +0100)]
vim: Clarify where RDEPENDS/RRECOMMENDS apply
The tricky of using BPN in a common inc file is rather hard to understand.
Simplfy this by moving it to the base vim recipe and use the standard
variable form.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Kai Kang [Sun, 1 Aug 2021 11:41:30 +0000 (19:41 +0800)]
python3-pytest: display correct version info
It does not show correct version info of python3-pytest:
$ pip3 list | grep pytest
pytest 0.0.0
pytest requires setuptools-scm in setup.cfg. It could be met by adding
python3-setuptools-scm-native to dependency and then it will not
download egg file of setuptools-scm during do_compile any more. So
remove 0001-setup.py-remove-the-setup_requires-for-setuptools-scm.patch
and depend on python3-setuptools-scm-native to make it show the correct
version info.
Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Sun, 1 Aug 2021 13:04:15 +0000 (14:04 +0100)]
populate_sdk_ext: Fix handling of TOOLCHAIN_HOST_TASK in the eSDK case
The current way TOOLCHAIN_HOST_TASK is handled within eSDK builds is
causing much confusion, even to people who should understand the code.
For a normal SDK, some layers append to TOOLCHAIN_HOST_TASK unconditionally
which is fine, until the eSDK tries to override the variable to it's own
values. It does not support or use packages installed using this variable
and would use native recipes instead, it is a very different approach.
In the referenced bug, binaries are added but not relocated leading to
confusing errors.
To fix this, add a new variables for the eSDK TOOLCHAIN_HOST_TASK
to be explict and force the eSDK code to use this instead. The setVar
in non-parsing context will clear out any appends resolving the current
issues. The patch also gets rid of some dubious task override use.
[YCOTO #14047]
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Sun, 1 Aug 2021 12:47:21 +0000 (13:47 +0100)]
sstate: Fix rebuilds when changing layer config
When adding a layer which changed SSTATE_EXCLUDEDEPS_SYSROOT, the state
hashes were changing when they should not. This was caused by wider use
of setscene_depvalid which means the dependency on the variable was seen
when it was previously not.
Exclude the variable since this should be be included in the hashes.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Fri, 30 Jul 2021 15:44:56 +0000 (16:44 +0100)]
sdk: Decouple default install path from built in path
Add SDKPATHINSTALL which is used as the default install location of the SDK
instead of SDKPATH. This means the default install path isn't encoded into
every SDK binary, meaning if a date is used there the entire SDK doesn't
have to rebuild. Most distros can switch to only customise SDKPATHINSTALL
meaning more sstate reuse too.
[YOCTO #14100]
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Thu, 29 Jul 2021 23:20:47 +0000 (00:20 +0100)]
dropbear: Fix incorrect package override for postrm
This bug has been around for a long time (2011) but fix it to do
what was intended originally. The postrm is changed by classes but
those should append to existing entries.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta-skeleton: add recipe examples from documentation sources
This adds three examples previously located in the yocto-docs
repository (under documentation/ref-manual/examples).
The examples were not used for building the documentation
so it's better to keep them here where they can automatically be
tested.
Fixed the "hello-single" to add a version number to the .bb file.
After this, all examples build fine with the "master" branch of Poky.
Note that the "mtd-utils" example, and example of a recipe
for an Autotools page, was not copied over. It doesn't build any
more, and anyway, we already have an official recipe for a recent version
of "mtd-utils" in OE-core.
Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
4.3 (2021-07-22)
decode-dimms: Attempt to decode LPDDR3 modules
eeprom, eepromer: Removed the tools in favor of eeprog
i2cdetect: Sort the bus list by number
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5671. [bug] A race condition could occur where two threads were
competing for the same set of key file locks, leading to
a deadlock. This has been fixed. [GL #2786]
5670. [bug] create_keydata() created an invalid placeholder keydata
record upon a refresh failure, which prevented the
database of managed keys from subsequently being read
back. This has been fixed. [GL #2686]
5669. [func] KASP support was extended with the "check DS" feature.
Zones with "dnssec-policy" and "parental-agents"
configured now check for DS presence and can perform
automatic KSK rollovers. [GL #1126]
5668. [bug] Rescheduling a setnsec3param() task when a zone failed
to load on startup caused a hang on shutdown. This has
been fixed. [GL #2791]
5667. [bug] The configuration-checking code failed to account for
the inheritance rules of the "dnssec-policy" option.
This has been fixed. [GL #2780]
5666. [doc] The safe "edns-udp-size" value was tweaked to match the
probing value from BIND 9.16 for better compatibility.
[GL #2183]
5665. [bug] If nsupdate sends an SOA request and receives a REFUSED
response, it now fails over to the next available
server. [GL #2758]
5664. [func] For UDP messages larger than the path MTU, named now
sends an empty response with the TC (TrunCated) bit set.
In addition, setting the DF (Don't Fragment) flag on
outgoing UDP sockets was re-enabled. [GL #2790]
5662. [bug] Views with recursion disabled are now configured with a
default cache size of 2 MB unless "max-cache-size" is
explicitly set. This prevents cache RBT hash tables from
being needlessly preallocated for such views. [GL #2777]
5661. [bug] Change 5644 inadvertently introduced a deadlock: when
locking the key file mutex for each zone structure in a
different view, the "in-view" logic was not considered.
This has been fixed. [GL #2783]
5658. [bug] Increasing "max-cache-size" for a running named instance
(using "rndc reconfig") did not cause the hash tables
used by cache databases to be grown accordingly. This
has been fixed. [GL #2770]
5655. [bug] Signed, insecure delegation responses prepared by named
either lacked the necessary NSEC records or contained
duplicate NSEC records when both wildcard expansion and
CNAME chaining were required to prepare the response.
This has been fixed. [GL #2759]
5653. [bug] A bug that caused the NSEC3 salt to be changed on every
restart for zones using KASP has been fixed. [GL #2725]
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Drop 0002-Allow-for-setting-password-in-clear-text.patch;
what it adds is horribly insecure and AB testing didn't reveal any
regressions or use cases for it.
Drop /etc/default/ tweaks as files are no longer installed there.
Drop manpage alternatives as manpages are no longer installed.
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
selftest: add core-image-weston to no-gpl3-no-meta-gpl2 image test
This demonstrates more of the tricks and techniques that can be used
to achieve gpl3-free images withough having to roll back to ancient
versions of various core items via meta-gpl2.
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This avoids pulling in perl, python and (especially) bash;
rpm building functionality should be neither hard nor soft
dependency of rpm package management.
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>