Khem Raj [Sat, 27 Feb 2021 07:41:30 +0000 (23:41 -0800)]
llvm: Fix build with c++17
Fixes
/benchmark_register.h:17:30: error: 'numeric_limits' is not a member of 'std'
| static const T kmax = std::numeric_limits<T>::max();
| ^~~~~~~~~~~~~~
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Wang Mingyu [Sat, 27 Feb 2021 04:48:13 +0000 (12:48 +0800)]
ccache: upgrade 4.1 -> 4.2
0001-Improve-SIMD-detection-735.patch
0001-blake3-Remove-asm-checks-for-sse-avx.patch
0002-Always-use-64bit-to-print-time_t.patch
removed since they'are included in 4.2
-License-Update: Copyright year updated to 2021.
Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Sun, 28 Feb 2021 12:05:14 +0000 (12:05 +0000)]
gstreamer1.0-python: Set internal python library path correcty
The library hardcodes paths to the python library internally and currently
these are build paths. Fix this to use the correct target path and
fix reproducibility in the process.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Sat, 27 Feb 2021 14:15:24 +0000 (14:15 +0000)]
bootchart2: Fix manpage reproducibility issue
The compressed docs contained a timestamp of the original file which
meant the SDE clamping during package creation didn't work. The
benefits of compression are minor, decompress the files to avoid
the reproducibility issues.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Martin Jansa [Thu, 25 Feb 2021 17:45:16 +0000 (18:45 +0100)]
glib-2.0: replace THISDIR instead of COREBASE in find_meson_cross_files --cross-file paths
* COREBASE works correctly only as long as this recipe is inside of
COREBASE directory and leaves the full absolute paths if you copy
this recipe into your own layer (e.g. to backport newer version)
* use THISDIR as all FILESPATH should be relative to that, unless
there is a .bbappend not only extending FILESPATH, but also adding
meson.cross.d files there (at which point it also didn't work with
COREBASE replacements as well already) - show an ERROR in such case,
I don't think it's common scenario to spend more time to support that.
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diego Santa Cruz [Fri, 26 Feb 2021 11:33:32 +0000 (12:33 +0100)]
createrepo-c: set path to magic database for native and nativesdk
The modifyrepo_c tool can use the magic database for input files
(e.g., if the file has no recognized extension) and fails if none
can be found.
This adds a wrapper that sets MAGIC to point to the proper place,
it also sets up MAGIC in the createrepo_c wrapper since that tool
also takes input files.
Signed-off-by: Diego Santa Cruz <Diego.SantaCruz@spinetix.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Khem Raj [Thu, 25 Feb 2021 23:29:16 +0000 (15:29 -0800)]
oeqa/pam: Need shadow installed for the tests
Distros may not use shadow for login manager
secondly login --help returns 1 only with shadow provided login
utility, with busybox it returns normal 0, the testcase clearly
assumes shadow being part of image, therefore add needed
checks to ensure the pre-requisites are met
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Thu, 25 Feb 2021 14:52:32 +0000 (14:52 +0000)]
epiphany: Fix reproducibility issue
We don't want to encide BUILD_ROOT into target packages. This is used
for build time tests but in our case those would be on target anyway
do use the target paths.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diego Santa Cruz [Thu, 25 Feb 2021 16:03:56 +0000 (17:03 +0100)]
sysklogd: do not open any network sockets by default
The default in sysklogd 2.x is to open listening network sockets,
unlike sysklogd 1.5 where the default was the opposite.
This is contrary to a "secure by default" design, so set up the
init script to pass the -ss option to prevent syslogd from opening
any network sockets. It can be overridden in /etc/default/syslogd.
Signed-off-by: Diego Santa Cruz <Diego.SantaCruz@spinetix.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diego Santa Cruz [Thu, 25 Feb 2021 20:23:27 +0000 (21:23 +0100)]
packagegroup-base: do not force hdparm and e2fsprogs
The hdparm and (base) e2fsprogs are not always useful in all machines
having ext2 in MACHINE_FEATURES, so do not force them to b installed,
make them recommendations instead.
Signed-off-by: Diego Santa Cruz <Diego.SantaCruz@spinetix.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diego Santa Cruz [Thu, 25 Feb 2021 20:23:26 +0000 (21:23 +0100)]
packagegroup-base: use amixer instead of alsamixer
Including alsamixer, which is an ncurses based interactive program,
does not seem to make sense as a base package in embedded systems,
replace it by the command line mixer utility amixer instead; it is
scriptable and has no ncurses dependencies.
Signed-off-by: Diego Santa Cruz <Diego.SantaCruz@spinetix.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Florian Bezdeka [Thu, 25 Feb 2021 08:22:02 +0000 (09:22 +0100)]
wic: Warn if an ext filesystem affected by the Y2038 problem is used
We are getting closer and closer to the year 2038 where the 32 bit
time_t overflow will happen. While products (= embedded systems) with an
expected life time of 15 years are still save the situation may change
if your system has to survive the next 20 years.
ext2 and ext3 filesystems are always affected by the time overflow, so
let's warn the user if these filesystems are still being used.
If ext4 is affected depends on the inode size chosen during filesystem
creation. At least 256 bytes are necessary to be safe. As ext4 is
used very often (and partitions may be created small first and extended
later) this might be an issue for many users.
Some filesystems created during CI runs were already affected by the Y2038
problem. By using `--mkfs-extraopts "-T default"` we tell mke2fs not to
auto-detect the usage type based on the filesystem size. mke2fs will use
the default values for tuning parameters instead. The inode size is one
of these parameters.
Signed-off-by: Florian Bezdeka <florian.bezdeka@siemens.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Martin Jansa [Tue, 23 Feb 2021 13:35:53 +0000 (14:35 +0100)]
sstatesig.py: show an error instead of warning when sstate manifest isn't found
* not sure if there are some valid use-cases for missing manifest, but
recently I'm seeing increasing number of build failures where something
from native recipe is missing (seen it with pseudo, autoconf, nodejs
recently) and the only indication that something is wrong (before showing
sometimes misleading error like:
recipe-sysroot-native/usr/bin/node: No such file or directory
is this warning:
NOTE: Running task 7844 of 12431 (/meta-oe/meta-oe/recipes-devtools/nodejs/nodejs_12.20.2.bb:do_prepare_recipe_sysroot)
NOTE: recipe nodejs-12.20.2-r0: task do_prepare_recipe_sysroot: Started
WARNING: nodejs-12.20.2-r0 do_prepare_recipe_sysroot: Manifest /BUILD/sstate-control/manifest-x86_64_ubuntu-18.04-nodejs-native.populate_sysroot not found in x86_64 x86_64_ubuntu-18.04 (variant '')?
NOTE: Running task 7845 of 12431 (/meta-oe/meta-oe/recipes-devtools/nodejs/nodejs_12.20.2.bb:do_unpack)
NOTE: recipe nodejs-12.20.2-r0: task do_unpack: Started
WARNING: nodejs-12.20.2-r0 do_prepare_recipe_sysroot: Manifest /BUILD/sstate-control/manifest-x86_64_ubuntu-18.04-nodejs-native.populate_sysroot not found in x86_64 x86_64_ubuntu-18.04 (variant '')?
NOTE: recipe nodejs-12.20.2-r0: task do_prepare_recipe_sysroot: Succeeded
if I rebuild that native dependency, then it gets fixed and I don't
see these failures in clean builds (as without sstate and with empty
TMPDIR), only in incremental builds
* but if there isn't valid reason for missing manifest file, then I think
it would be better to error early (or even bb.fatal())
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Stefan Ghinea [Tue, 23 Feb 2021 19:20:28 +0000 (21:20 +0200)]
wpa-supplicant: fix CVE-2021-0326
In p2p_copy_client_info of p2p.c, there is a possible out of bounds write
due to a missing bounds check. This could lead to remote code execution
if the target device is performing a Wi-Fi Direct search, with no
additional execution privileges needed. User interaction is not needed
for exploitation.Product: AndroidVersions: Android-10 Android-11
Android-8.1 Android-9 Android ID: A-172937525
Richard Purdie [Thu, 25 Feb 2021 21:54:14 +0000 (21:54 +0000)]
fonts: Bump HASHEQUIV_HASH_VERSION after rpmdeps change
After the rpmdeps change, the output didn't change in the correct
case and hence hashes were cross-linked. We bump the hashequiv
version to avoid problems from this.
Also bump PR to force a rebuild.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Wed, 24 Feb 2021 21:51:08 +0000 (21:51 +0000)]
package/package_rpm: Disable font_provides configuration for reproducibilty
The host may or may not have fc-cache which is used for find provides
information by rpmdeps. This lead to non-deterministic build output.
Disable the font provides code so we have deterministic builds,
we have nothing using/relying on it at this point.
Need to disable this in both the rpmdeps code and in package_rpm
itself although the latter shouldn't be being used.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Khem Raj [Wed, 24 Feb 2021 22:08:46 +0000 (14:08 -0800)]
selftest: Replace building dep tool with direnv
dep tool is now deprecated and its replaced with go modules so using
this as sample for testing is also getting arcane. Replace it with
another project direnv[1] which is quite active and uptodate
[1] https://github.com/direnv/direnv
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Sat, 20 Feb 2021 17:52:27 +0000 (17:52 +0000)]
selftest/reproducible: Remove exclusions for recipes which now reproduce
git, libproxy, libcap-ng(-python), babeltrace2, rsync and groff
have their reproducibility issues fixed, remove from the exclusion
list. Also fix whitespace.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ensure the fallback value if used is written to the SDE file
and hence stored in sstate, reducing any confusion within the
code over '0' values.
Bump the HASHEQUIV_VERSION since we've had a ton of trouble
with ensuring this rolls out correctly on the autobuilder so
others may too, take a clean slate for it.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Jan-Simon Möller [Sat, 20 Feb 2021 17:29:33 +0000 (18:29 +0100)]
reproducible_builds: SOURCE_DATE_EPOCH should not be 0
A SOURCE_DATE_EPOCH of 0 might be misinterpreted by namely rpm as no SDE.
e.g.:
char *srcdate = getenv(SOURCE_DATE_EPOCH);
if (srcdate && rpmExpandNumeric(%{?clamp_mtime_to_source_date_epoch}))
Solve this by:
- providing a SOURCE_DATE_EPOCH_FALLBACK variable != 0
- changing defaults to use it
- using SOURCE_DATE_EPOCH_FALLBACK also when reading 0 out of sstate-cache
Signed-off-by: Jan-Simon Möller <jsmoeller@linuxfoundation.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Tue, 23 Feb 2021 13:34:25 +0000 (13:34 +0000)]
babeltrace2: Fix reproducibility
babeltrace2-ptest was referencing the host's python version in it's
makefiles. Whilst this could be fixed, its easier to correct the
python version being found to the target one which works much
more effectively and solves the issue.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Tue, 23 Feb 2021 18:44:22 +0000 (18:44 +0000)]
diffoscope: Ensure the correct magic file is used
diffoscope uses libmagic and it was searching in file-native's sysroot
for the magic file. Wrap it and set MAGIC in the environment to
ensure the file is found correctly and avoid build failures.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Milan Shah [Wed, 6 Jan 2021 13:38:37 +0000 (19:08 +0530)]
report-error.bbclass: Add layer and bitbake version info to error report
Instead of just providing local.conf info, add layer names and their
revisions with bitbake version information into error report
makes it easier to understand and reproduce failed build.
[YOCTO #9700]
Signed-off-by: Milan Shah <mshah@mvista.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ross Burton [Mon, 22 Feb 2021 18:06:37 +0000 (18:06 +0000)]
grub: shuffle packaging for aarch64 builds
Even in grub-efi platforms we need to build grub for the the common
tools. On x86 this isn't a problem because grub builds legacy boot and
grub-efi builds EFI, but on aarch64 there is no legacy boot supported by
grub.
To ensure that the common tools are built the grub recipe also builds
EFI binaries, but this now means that grub and grub-efi ship the same
binaries.
oe-core 933286 fixed this conflict by deleting the binaries from
grub-efi and putting the aarch64 modules into grub-common (relying on
dependencies to pull grub-common in). This seems backwards: grub-efi no
longer contains the binaries and they're in different packages on arm or
x86. Also, SDK generation is broken as the grub package itself is now
empty as the binaries are in grub-common.
Resolve all of these issues by reversing the logic: grub-efi is the
package which holds the EFI binaries on all platforms. grub only builds
for EFI on aarch64 as a way to build the common binaries, so delete them
in that recipe to avoid conflicts. And finally as the grub recipe is
empty on aarch64 but needed by dependencies, set ALLOW_EMPTY.
Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Mingli Yu [Mon, 22 Feb 2021 01:21:31 +0000 (09:21 +0800)]
python3: Fix python interpreter line length for nativesdk
Make sure the python interpreter is "#!/usr/bin/env python3" for
nativesdk to avoid the shebang path exceeding the limit when install
the sdk under the directory with long path.
Before:
$ cd ${target_sdk_dir}
$ vi ./sysroots/x86_64-oesdk-linux/usr/bin/2to3
#!${target_sdk_dir}/sysroots/${SDK_SYS}/usr/bin/python3.9
[snip]
After:
$ cd ${target_sdk_dir}
$ vi ./sysroots/x86_64-oesdk-linux/usr/bin/2to3
#!/usr/bin/env python3
[snip]
Signed-off-by: Mingli Yu <mingli.yu@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Joel Stanley [Mon, 22 Feb 2021 01:47:10 +0000 (12:17 +1030)]
conf/machine-sdk: Add ppc64le SDK machine
Previously SDKMACHINE would default to x86_64. Commit 539cd4a5fbb9
("bitbake.conf: default SDKMACHINE to the build host architecture")
changed it to default to the build machine, causing the build to
fail on a ppc64le host.
Richard Purdie [Sun, 21 Feb 2021 15:15:19 +0000 (15:15 +0000)]
libpcre: Drop old/stale patch
According to my tests this incorrect symbols resolution at runtime no
longer happens. Ubuntu is still carrying the patch but also probably
doesn't need to, they are also on a much older version. It sounds
like there was once a linkage bug somewhere which has likely been
resolved since.
Drop the patch as it doesn't seem needed anymore. If it were a real
issue it should be submitted upstream too, the status is incorrect.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Mon, 22 Feb 2021 12:35:03 +0000 (12:35 +0000)]
rsync: Fix group name determinism issue
configure falls back to inspecting the host#s /etc/group for the
nobody/nogroup naming. Pass the correct value to configure to
ensure host differences don't sneak in.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Khem Raj [Sat, 20 Feb 2021 22:52:21 +0000 (14:52 -0800)]
runqemu: Add new option to disable vga emulation
When using nographic, explicitly disabling vga is needed some cases
since some qemu firmware (OpenFirmware ) defaults to std vga, and
when vga is enabled then it disables output to serial and redirects
that to vga which is by design, hwoever we expect the console output
to go to serial when using nographic, therefore its important to
disable vga with nographic especially on qemu based ppc platforms
Signed-off-by: Khem Raj <raj.khem@gmail.com> Cc: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>