Commit Graph

185 Commits

Author SHA1 Message Date
Changqing Li
0a7cfae22a version-check.conf: mute version mismatch warning for bpftrace
bpftrace set the version by "git describe --dirty", since we have local
patch for bpftrace, '-dirty' will be added into the version, set
CHECK_VERSION_PV to mute the version mismatch warning

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
(cherry picked from commit 219328f37c)
Signed-off-by: Ankur Tyagi <ankur.tyagi85@gmail.com>
Signed-off-by: Anuj Mittal <anuj.mittal@oss.qualcomm.com>
2025-12-17 13:57:16 +05:30
Changqing Li
f09c088416 version-check.conf: mute version mismatch warning for flite
* flite --version return 1 block version output for
  check-version-mismatch.bbclass
* even with version output flite-2.2-current, regular version match
  regexp cannot match the version

so mute version mismatch warning for flite

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
(cherry picked from commit d819512cb3)
Signed-off-by: Ankur Tyagi <ankur.tyagi85@gmail.com>
Signed-off-by: Anuj Mittal <anuj.mittal@oss.qualcomm.com>
2025-12-17 13:57:16 +05:30
Hongxu Jia
0e583d2830 thrift: support reproducible builds
In order to support reproducible builds [1], while using bison
to generate source code, add COMPILE_FLAGS --file-prefix-map [2]
to remove build path prefix and source path prefix in the generated
header file.

[1] https://reproducible-builds.org/
[2] https://cgit.git.savannah.gnu.org/cgit/bison.git/commit/?id=dd878d18519689c7bbcd72de4c9f9e53085a3cbf

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-11-19 21:20:52 -08:00
Gyorgy Sarvari
940c916c74 mariadb: skip failing test on musl
There is a timezone related ptest that fails using musl-libc.
This has been reported to the mariadb developers[1], who came up with
the backported patch that's the subject of this change.

This patch skips the timezone related tests with musl, in case the
testcase uses a timezone that behaves differently with musl than on
other platforms.

[1]: https://jira.mariadb.org/browse/MDEV-38029

Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-11-19 12:01:14 -08:00
Ankur Tyagi
a16c3b3c6b libplist: add ptest support
Signed-off-by: Ankur Tyagi <ankur.tyagi85@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-11-19 09:41:30 -08:00
Hongxu Jia
6d835df920 php: remove php-phar to support reproducible build
According to [1][2], generate phar.php during cross-compile can't be
done, but upstream test res of $(TEST_PHP_EXECUTABLE) is not suitable
for Yocto.

Explicitly set TEST_PHP_EXECUTABLE_RES = "1" to not generate phar.php
for target recipe

Drop 0005-sapi-cli-config.m4-fix-build-directory.patch which is obsolete
for generating phar.php

After apply this commit
...log.do_compile...
Generating phar.php
Skipping phar.php generating during cross compilation
Generating phar.phar
Skipping phar.phar generating during cross compilation
...log.do_compile...

Then php supports reproducible build

[1] https://github.com/php/php-src/issues/11099
[2] 93fa9613e1

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-11-18 08:23:47 -08:00
Gyorgy Sarvari
85ded08df0 audiofile: add ptest support
It's under 15 seconds to execute it.

Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-11-14 07:36:55 -08:00
Hongxu Jia
fdec68e4b1 mariadb: support reproducible builds
In order to support reproducible builds [1]

1. While using bison to generate source code, add option --file-prefix-map [2]
to remove build path prefix in the generated header file.

2. Remove link directories for Yocto to drop source path
from compile link option

[1] https://reproducible-builds.org/
[2] https://cgit.git.savannah.gnu.org/cgit/bison.git/commit/?id=dd878d18519689c7bbcd72de4c9f9e53085a3cbf

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-11-14 07:36:55 -08:00
Hongxu Jia
5375b936eb libhugetlbfs: support reproducible builds
When compressing docs, do not save the original file name and
timestamp by default (gzip -n). Make archives be reproducible
at each build

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-11-14 07:36:55 -08:00
Gyorgy Sarvari
d4e75e2bbd mariadb: move from PTESTS_PROBLEMS list to PTESTS_SLOW
The tests are executing and passing fine using glibc.
It takes a bit more than 5 minutes to run them.

When using musl, the timezone tests fail due to the different ways
glibc and musl handle posix timezones. It have been reported
upstream: https://jira.mariadb.org/browse/MDEV-38029

Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-11-06 16:00:52 -08:00
AshishKumar Mishra
96b97c0c64 imagemagick: adds ptest for imagemagick
The logic used is :
- We check if the required tools are present or not
- We used magick to create an raw RGB file
- The created RGB is then converted to PNG using convert
- We re-gerenate RGB from PNG and compare the original and re-generated RGB
- Enabled the ptest in ptest-packagelists-meta-oe.inc as
  suggested by Gyorgy Sarvari and incorporated logging suggestion
- This was done as standard imagemagick test like drawtest requires manual
  internetion to verify the file

Signed-off-by: AshishKumar Mishra <ashishkumar.mishra@bmwtechworks.in>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-11-06 16:00:52 -08:00
Etienne Cordonnier
7d909d1085 uutils-coreutils: add native and nativesdk
The project is getting more mature, and it's now doable to do a yocto build using uutils-coreutils-native.

Signed-off-by: Etienne Cordonnier <ecordonnier@snap.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-11-06 16:00:49 -08:00
Gyorgy Sarvari
008d12edde mbedtls: upgrade 3.6.4 -> 3.6.5
Contains fixes for CVE-2025-54764 and CVE-2025-59438

Also, add the recipe to the ptest image list, because it was missing.
Ptests passed successfully.

Changelog: https://github.com/Mbed-TLS/mbedtls/releases/tag/mbedtls-3.6.5

Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-11-04 16:52:47 -08:00
Gyorgy Sarvari
1b1efe5db7 libdbi-perl: from from PTESTS_PROBLEMS list to PTESTS_FAST
The tests are supposed to work now - they were not moved to the correct
ptest list with the last update.

Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-11-02 14:45:19 -08:00
Changqing Li
08f0cd4c5c layer.conf: add bpftool into NON_MULTILIB_RECIPES
Here is the setting in bpftool recipe:
COMPATIBLE_HOST = "(x86_64|aarch64|riscv64).*-linux"

bpftool only support 64 bit arch, so add it into NON_MULTILIB_RECIPES
to avoid expanding lib32- variant

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-10-28 23:31:29 -07:00
Gyorgy Sarvari
f955474be2 cli11: add ptest support
The tests take single digit seconds to execute.

Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-10-17 08:32:03 -07:00
Changqing Li
441873fdc5 doxygen: fix reproducibility issue of doxygen-src
[ snip of CMakeLists.txt ]
BISON_TARGET(constexp
             ${CMAKE_CURRENT_LIST_DIR}/constexp.y
             ${GENERATED_SRC}/ce_parse.cpp
             COMPILE_FLAGS "${YACC_FLAGS}")
[ end of snip ]

bison embeds full paths in its generated headers, eg:
bison -o /full/build/path/generated/example.cpp ...
The header will include:
 #ifndef YY_FULL_BUILD_PATH_GENERATED_MSCGEN_LANGUAGE_HPP_INCLUDED
 #define YY_FULL_BUILD_PATH_GENERATED_MSCGEN_LANGUAGE_HPP_INCLUDED

This make doxygen-src not reproducible, fix by replacing full build path

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-10-10 19:27:34 -07:00
Dmitry Baryshkov
87b44d29b6 opencl: rename virtual/opencl-icd to virtual/libopencl1
The ocl-icd and opencl-icd-loader provide libOpenCL.so.1 rather than the
OpenCL Installable Client Driver (ICD). Rename the virtual package
accordingly.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-09-17 20:07:03 -07:00
Dmitry Baryshkov
6547930f24 ocl-icd, opencl-icd-loader: drop RPROVIDES for virtual-opencl-icd
These two packages don't provide ICD drivers at runtime. They provide
the libOpenCL.so.1. Corresponding package is selected at the build time
via the PROVIDES_virtual/opencl-icd. Drop the useless and incorrect
RPROVIDES for virtual-opencl-icd.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-09-17 20:07:03 -07:00
Sunil Dora
f8498f2699 layer.conf: add bpftrace to NON_MULTILIB_RECIPES
bpftrace need line up with kernel architecture type,
so add it to NON_MULTILIB_RECIPES.

bpftrace must be built with the same architecture (32-bit/64-bit) as the kernel
to ensure compatibility when tracing kernel functions and using eBPF features.

Signed-off-by: Sunil Dora <sunilkumar.dora@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-09-08 22:01:08 -07:00
Peter Marko
fd609bef6d utf8proc: add new recipe with ptest
It is needed for poco 1.14+
Ptest runs for less than a second.

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-09-04 18:11:00 -07:00
Yoann Congal
bf400cd73f reproducibility: move known non-repro list to layer.conf
The current include file that stores the known non-reproducible packages
is layer dependent and that forces the user of the layers to maintain
the list of the files (for example, see AB config[0]).

By moving the exclude list to each layer.conf and extending the common
OEQA_REPRODUCIBLE_EXCLUDED_PACKAGES variable, the known non-reproducible
packages will be automatically excluded for each layer used in the
reproducibility test without any special knowledge in the test
environment.

NB: the empty list for meta-initramfs was just removed not moved.

[0]: https://git.yoctoproject.org/yocto-autobuilder-helper/tree/config.json?id=7d8933e75bdf7fb821a25617cb2dcabf1f3f8700#n322

Suggested-by: Quentin Schulz <quentin.schulz@cherry.de>
Co-Developed-by: Guillaume Swaenepoel <guillaume.swaenepoel@smile.fr>
Signed-off-by: Guillaume Swaenepoel <guillaume.swaenepoel@smile.fr>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-06-20 10:34:11 -07:00
Changqing Li
5baf4b2341 version-check.conf: mute version mismatch warning for dialog
Refer [1], dialog's tarballs released with date, for convenient, PV also
end with date. Change to check without date suffix.

[1] https://invisible-mirror.net/archives/dialog/

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-05-29 21:07:31 -07:00
Changqing Li
f0d23b87f7 version-check.conf: mute version mismatch warning for jemalloc
jemalloc set the version by pass --with-version=${PV_LONG}, PV_LONG :=
"${PV}-171-g${SRCREV}", set match pattern for jemalloc to mute the
version mismatch warning

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-05-29 21:07:31 -07:00
Changqing Li
0282e63a84 version-check.conf: mute version mismatch warning for libusb-compat
Refer [1],  upstream set this version specially, so mute by skipp
checking

[1] 49057f6ce5

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-05-29 21:07:31 -07:00
Changqing Li
5028e52c4e version-check.conf: mute version mismatch warning for pps-tools
The version get by the version check tool is wrong, the output
include version of grep. Skip checking to mute the warning

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-05-29 21:07:31 -07:00
Changqing Li
3ce3d3bdb5 version-check.conf: mute version mismatch warning for libhugetlbfs
ld.libhugetlbfs --version return the ld version on the host, and cause
version mismatch warning, mute the warning by skip checking for this
package

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-05-29 21:07:31 -07:00
Changqing Li
96ef6227b8 version-check.conf: mute version mismatch warning for bpftool
bpftool is compiled from kernel source, we hope it has version
aligned with kernel version, but the sources will printout some
other versions,  skip this checking.

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-05-29 21:07:31 -07:00
Kéléfa Sané
df7e1b55d5 crash: fix reproducibility
Fix reproducibility issue by retrieving the compiler version from the CC
env variable, which define the compiler used in the build and not from
the native gcc compiler install in the host machine.

Signed-off-by: Kéléfa Sané <kelefa.sane@smile.fr>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-05-27 10:33:01 -07:00
Yoann Congal
e1fc0ed62e reproducibility: mark libbotan as known non-reproducible
libbotan packages are not reproducible.

Quick analysis: A path in /usr/lib/libbotan-3.so.7.7.1 changes:
-/etc/ssl/ca-bundle.pem
+/etc/ssl/certs/ca-certificates.crt
Look like the trusted TLS CA store full path. This path most likely
changes depending on host OS.

Relevant logs:
- https://autobuilder.yoctoproject.org/valkyrie/#/builders/87/builds/42/steps/32/logs/stdio
- https://valkyrie.yocto.io/pub/repro-fail-openembedded/meta-oe/oe-reproducible-20250426-pazz3nt5/packages/diff-html/#reproducibleA-tmp---reproducibleA-tmp-deploy---reproducibleA-tmp-deploy-deb---reproducibleA-tmp-deploy-deb-core-------reproducibleA-tmp-deploy-deb-core-----libbotan----_-.-.--r-_amd--.deb

Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-05-01 18:31:02 -07:00
Yoann Congal
d9a6049cc8 reproducibility: mark apitrace as known non-reproducible
apitrace packages are not reproducible.

Quick analysis: A string changes in /usr/bin/apitrace
-/srv/pokybuild/yocto-worker/meta-oe/build/buildtools/sysroots/x86_64-pokysdk-linux/usr/bin/python3
+/srv/pokybuild/buildbot-venv/bin/python3
Looks like the full path of the python3 interpreter which changes from
hosts to hosts.

Relevant logs:
- https://autobuilder.yoctoproject.org/valkyrie/#/builders/87/builds/42/steps/32/logs/stdio
- https://valkyrie.yocto.io/pub/repro-fail-openembedded/meta-oe/oe-reproducible-20250426-pazz3nt5/packages/diff-html/#reproducibleA-tmp---reproducibleA-tmp-deploy---reproducibleA-tmp-deploy-deb---reproducibleA-tmp-deploy-deb-core-------reproducibleA-tmp-deploy-deb-core-----apitrace_--.----.--git------fc--bb-r-_amd--.deb

Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-05-01 18:31:02 -07:00
Yoann Congal
c9da3eb68a reproducibility: mark libsource-highlight as known non-reproducible
libsource-highlight packages are not reproducible.

Quick analysis: A path in a generated file changes:
/usr/include/srchilite/langdefparser.h:
-#line·95·"../../../git/lib/srchilite/langdefparser.yy"
+#line·95·"../../../lib/srchilite/langdefparser.yy"

Relevant logs:
- https://autobuilder.yoctoproject.org/valkyrie/#/builders/87/builds/41/steps/32/logs/stdio
- https://valkyrie.yocto.io/pub/repro-fail-openembedded/meta-oe/oe-reproducible-20250419-ye3feamr/packages/diff-html/

Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-05-01 18:31:01 -07:00
Yoann Congal
e08ffebc34 reproducibility: mark ipmiutil as known non-reproducible
ipmiutil packages are not reproducible.

Quick analysis: Depending whether build host OS is Debian or not, some
files are present or not in packages. (e.g /usr/lib/libipmiutil.so.1 and
others)

Relevant logs:
- https://autobuilder.yoctoproject.org/valkyrie/#/builders/87/builds/42/steps/32/logs/stdio
- https://valkyrie.yocto.io/pub/repro-fail-openembedded/meta-oe/oe-reproducible-20250426-pazz3nt5/packages/diff-html/#reproducibleA-tmp---reproducibleA-tmp-deploy---reproducibleA-tmp-deploy-deb---reproducibleA-tmp-deploy-deb-core-------reproducibleA-tmp-deploy-deb-core-----ipmiutil-dbg_-.-.--r-_amd--.deb

Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-05-01 18:31:01 -07:00
Kéléfa Sané
6a4170ef09 reproducilibility: remove cjson-ptest package from non reproducible list
The reproducibility issue has been fixed by the commit "cjson: fix
buildpath warnings (0cc7315408)"
which replace the build path present in files:
- CTestTestfile.cmake
- tests/CTestTestfile.cmake
- fuzzing/CTestTestfile.cmake

by PTEST_PATH (/usr/lib/cjson/ptest).

Signed-off-by: Kéléfa Sané <kelefa.sane@smile.fr>
Reviewed-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-04-24 00:13:49 -07:00
Kéléfa Sané
a23f229207 Reproducilibility: Remove boinc-client-dev package from non reproducible list
Last modification on boinc-client recipe (see commit "boinc-client: Fix
contains reference to TMPDIR [buildpaths] warning"
3e38af7e8b) fix the repoducibility issue,
with a do_install:append task which remove the build path present in the
header source file svn_version.h.

Signed-off-by: Kéléfa Sané <kelefa.sane@smile.fr>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-04-19 14:36:07 -07:00
Chen Qi
a232d95455 conf/version-check.conf: skip version check for a few recipes
Now check-version-mismatch.bbclass can check scripts' output
beside elf binaries output. We need to skip a few recipe.
These recipes' scripts give some version information, but they
are version information of scripts themselves instead of the package.
There's no executable in these packages that can give out useful
version information.

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-04-19 14:36:05 -07:00
Chen Qi
301a5fd516 conf/version-check.conf: skip piglit
piglit is an open-source test suite for OpenGL implementations. It
contains a whole lot of programs which all do not give out any version
information. Running version check for piglit is a waste of time (~1h),
so setting a '%' to skip it.

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-04-19 14:36:04 -07:00
Changqing Li
d6c334c526 turbostat: make turbostat's version align with kernel version
* Current PV 3.4 is the kernel version when the recipe is newly added,
set PKGV to KERNEL_VERSION to make it always align with kernel version
* turbostat has its runtime version, set CHECK_VERSION_PV to this version to mute
the version mismatch warning
[snip of turbostat.c]
void print_version()
{
    fprintf(outf, "turbostat version 2024.07.26 - Len Brown <lenb@kernel.org>\n");
}
[snip]

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-04-15 12:52:20 -07:00
Changqing Li
a9cf464662 version-check.conf: mute bridge-utils version mismatch warning
Runtime version of brctl is 1.7.1, but the configure.ac set version as
1.7 (AC_INIT([bridge-utils],[1.7])). And refer [1], this utility is
DEPRECATED, only critical bug fixes only, so it is nearly not possible
to correct from upstream, so mute this warning since it has no critical
influence.

[1] https://git.kernel.org/pub/scm/network/bridge/bridge-utils.git/commit/?h=main&id=ab8a2cc330253321be7bc69dea88bfaa3d48415e

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-04-15 12:52:19 -07:00
Changqing Li
e3b7463fc1 version-check.conf: add CHECK_VERSION_PV for pn-netperf
For netperf, current PV is 2.7.0+git, and the SRCREV is newer than 2.7.0,
and there is no tag 2.7.1, the latest tag is in 2015, refer [1], so it
is not possile for us to make PV align with the runtime version below
by update SRCREV now, add CHECK_VERSION_PV for pn-netperf to mute the
version mismatch waring

$netserver -V
Netperf version 2.7.1

[1] https://github.com/HewlettPackard/netperf

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-04-15 12:52:19 -07:00
Khem Raj
90383092e1 meta-oe: Move tests out or into problematic test lists
This is based on current results

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-04-12 10:06:23 -07:00
Khem Raj
b019b4bd68 layers: Add whinlatter (5.3) to compatible layer series
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-04-11 20:51:29 -07:00
Sofiane HAMAM
6d67cc96c8 reproducibility: Remove OpenOCD from non reproducible list
OpenOCD non reproducible build has been fixed.
See commit : 60d88818646dc418c3b505ea8b2e24c9a7e48ef0
Remove OpenOCD from the known non reproducibles.

Signed-off-by: Sofiane HAMAM <sofiane.hamam@smile.fr>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-04-07 12:21:23 -07:00
Chen Qi
14ff80c9dc version-check.conf: add mechanism for checking version mismatch
Add a mechanism to check mismatch between runtime version and build time version.

To use, add the following line to local.conf:

  include conf/version-check.conf

Ideally, layers will have their own conf/version-check.conf to establish
some baseline, so that any future warning indicates some error. In such
case, users can use include_all:

  include_all conf/version-check.conf

The basic idea is to use qemu to run executables at build time, extract
possible versions, and check if there's a mismatch found.

Python meta data and .pc files are also checked for quick match. This
is because such info are also easy to be checked by users.

check-version-mismatch.bbclass is the class that does the actual work.
A new variable, CHECK_VERSION_PV, is introduced. It defaults to ${PKGV},
but also allows override. This allows us to handle special cases in each
layer.

version-check.conf is the configuration file that makes this functionality
easier to use and draws some baseline. It contains some override settings
for some recipes. With these overrides, all recipes in oe-core are handled
well. All warnings are valid warnings.

Note that 'ps' is added to HOSTTOOLS in version-check.conf. This is because
we need 'ps' to find stale processes and then clean them.

The warnings are like below:

  WARNING: time-1.9-r0 do_package_check_version_mismatch: Possible runtime versions ['UNKNOWN'] do not match recipe version 1.9
  WARNING: python3-unittest-automake-output-0.2-r0 do_package_check_version_mismatch: Possible runtime versions ['0.1'] do not match recipe version 0.2
  WARNING: pinentry-1.3.1-r0 do_package_check_version_mismatch: Possible runtime versions ['1.3.1-unknown'] do not match recipe version 1.3.1
  ...

There will be a data directory containing all details: tmp/check-version-mismatch.
This directory contains detailed data for each recipe that is built.
If users don't want it, they can set DEBUG_VERSION_MISMATCH_CHECK to 0.

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-04-04 19:18:46 -07:00
Mingli Yu
aea21d5a39 minizip-ng: Add ptest support
# ./run-ptest
[==========] Running 55 tests from 6 test suites.
[----------] Global test environment set-up.
[----------] 22 tests from crypt
PASS:  crypt.rand
PASS:  crypt.sha1
PASS:  crypt.sha224
PASS:  crypt.sha256
PASS:  crypt.sha384
PASS:  crypt.sha512
PASS:  crypt.aes128
PASS:  crypt.aes128_cbc
PASS:  crypt.aes128_gcm
PASS:  crypt.aes194
PASS:  crypt.aes256
PASS:  crypt.hmac_sha1
PASS:  crypt.hmac_sha1_short_password
PASS:  crypt.hmac_sha256
PASS:  crypt.pbkdf2
PASS:  crypt.pbkdf2_long_odd_password
PASS:  crypt.pbkdf2_short_password
PASS:  crypt.pbkdf2_rfc6070_v1
PASS:  crypt.pbkdf2_rfc6070_v2
PASS:  crypt.pbkdf2_rfc6070_v3
PASS:  crypt.pbkdf2_rfc6070_v4
PASS:  crypt.pbkdf2_rfc6070_v5
[----------] 1 test from os
PASS:  os.utf8_unicode_string
[----------] 2 tests from encrypt
PASS:  encrypt.pkcrypt
PASS:  encrypt.aes
[----------] 2 tests from stream
bzip compressed from 877 to 505
bzip uncompressed from 505 to 877
PASS:  stream.bzip
lzma compressed from 877 to 526
lzma uncompressed from 526 to 877
PASS:  stream.lzma
[----------] 20 tests from os/path_resolve
PASS:  os/path_resolve.os/0
PASS:  os/path_resolve.os/1
PASS:  os/path_resolve.os/2
PASS:  os/path_resolve.os/3
PASS:  os/path_resolve.os/4
PASS:  os/path_resolve.os/5
PASS:  os/path_resolve.os/6
PASS:  os/path_resolve.os/7
PASS:  os/path_resolve.os/8
PASS:  os/path_resolve.os/9
PASS:  os/path_resolve.os/10
PASS:  os/path_resolve.os/11
PASS:  os/path_resolve.os/12
PASS:  os/path_resolve.os/13
PASS:  os/path_resolve.os/14
PASS:  os/path_resolve.os/15
PASS:  os/path_resolve.os/16
PASS:  os/path_resolve.os/17
PASS:  os/path_resolve.os/18
PASS:  os/path_resolve.os/19
[----------] 8 tests from stream/stream_find
PASS:  stream/stream_find.find/0
PASS:  stream/stream_find.find/1
PASS:  stream/stream_find.find/2
PASS:  stream/stream_find.find/3
PASS:  stream/stream_find.find/4
PASS:  stream/stream_find.find/5
PASS:  stream/stream_find.find/6
PASS:  stream/stream_find.find/7
[----------] Global test environment tear-down
[==========] 55 tests from 6 test suites ran.
[  PASSED  ] 55 tests.

Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-04-02 07:27:48 -07:00
Khem Raj
f4a96810ba Drop styhead from LAYERSERIES_COMPAT
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-03-31 07:41:47 -07:00
Yoann Congal
6be4067178 reproducibility: Mark fsverity, libsdl2 packages as known non-reproducible
From AB run:
https://autobuilder.yoctoproject.org/valkyrie/#/builders/87/builds/36/steps/32/logs/stdio

Diffoscope output is at:
https://valkyrie.yocto.io/pub/repro-fail-openembedded/meta-oe/oe-reproducible-20250315-8_7ama2q/packages/diff-html/

Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-03-15 23:05:32 -07:00
Yoann Congal
d7cef19fcc reproducibility: update known non-reproducible packages
Those reproducible failures are from AB runs:
* https://autobuilder.yoctoproject.org/valkyrie/#/builders/87/builds/34
* https://autobuilder.yoctoproject.org/valkyrie/#/builders/87/builds/35

https://valkyrie.yocto.io/pub/repro-fail-openembedded/

NB: diffoscope output can be found in
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-03-11 19:34:55 -07:00
Yi Zhao
59b904920b hiredis: set rdepends on virtual-redis
Now hiredis can be used not only with Redis, but also with Valkey, an
open source key/value datastore that is fully compatible with Redis. As
Redis changed its license, many users have switched to Valkey. Add
RPROVIDES virtual-redis in both redis and valkey, and set it as the
runtime dependency of hiredis.

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-03-11 19:34:55 -07:00
Robert Yang
e5abf9a3b9 conf/layer.conf: meta-clang -> clang-layer
It should be clang-layer, not meta-clang.

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-02-24 21:31:38 -08:00