From 20b8ac86a1d3dfffbc5700e4f53fbc3980f2b230 Mon Sep 17 00:00:00 2001 From: Changqing Li Date: Thu, 20 Nov 2025 14:12:01 +0800 Subject: [PATCH] libtracefs: support reproducible builds [snip of Makefile] # bison will create both sqlhist.tab.c and sqlhist.tab.h sqlhist.tab.h: sqlhist.tab.c: sqlhist.y sqlhist.tab.h bison --debug -v --report-file=bison.report -d -o $@ $< [snip] sources of libtracefs is fetched by git, the mtime of sqlhist.y, sqlhist.tab.c is random. so sometimes, sqlhist.tab.c is regenerated, sometimes, sqlhist.tab.c in original sources in used. bison used to gernerate sqlhist.tab.c by upstream libtracefs maybe has different version with the build host one. This make the final libtracefs.so not reproducible. This fix touch sqlhist.tab.c to make it has the newest mtime, and sqlhist.tab.c is not regenerated during build. Signed-off-by: Changqing Li Signed-off-by: Khem Raj --- meta-oe/recipes-kernel/libtracefs/libtracefs_1.8.2.bb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/meta-oe/recipes-kernel/libtracefs/libtracefs_1.8.2.bb b/meta-oe/recipes-kernel/libtracefs/libtracefs_1.8.2.bb index b6bae96896..35eabc7b11 100644 --- a/meta-oe/recipes-kernel/libtracefs/libtracefs_1.8.2.bb +++ b/meta-oe/recipes-kernel/libtracefs/libtracefs_1.8.2.bb @@ -16,6 +16,10 @@ SRC_URI = "git://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git;branch=${BP inherit pkgconfig bash-completion +do_compile:prepend() { + touch ${S}/src/sqlhist.tab.c +} + do_install() { oe_runmake install DESTDIR=${D} pkgconfig_dir=${libdir}/pkgconfig }