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 <changqing.li@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
Changqing Li 2025-11-20 14:12:01 +08:00 committed by Khem Raj
parent 3e44699820
commit 20b8ac86a1
No known key found for this signature in database
GPG Key ID: BB053355919D3314

View File

@ -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
}