| Message ID | 20251029233230.2522401-1-dmitry.baryshkov@oss.qualcomm.com |
|---|---|
| State | New |
| Headers | show |
| Series | [v2,1/2] libconfig: import recipe from meta-oe | expand |
On Thu Oct 30, 2025 at 12:32 AM CET, Dmitry Baryshkov via lists.openembedded.org wrote: > One of the freedreno tools in the Mesa package depends on libconfig. > Recipes from other layers also depend on libconfig. It makes sense to > move libconfig to OE-Core in order to reduce inter-layer dependencies. > > Changes between meta-oe and this recipe: > - Upgraded to 1.8.1 > - Switched to UPSTREAM_CHECK_GITTAGREGEX > - Switched from autotools-brokensep to autotools > - Added a patch fixing reproducibility issues > > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> > --- Hi Dmitry, Thanks for the new version, but the reproducibility test still fails, sorry. Same packages IIRC: AssertionError: The following deb packages are different and not in exclusion list: /srv/pokybuild/yocto-worker/reproducible/build/build-st/reproducibleB-extended/tmp/deploy/deb/./x86-64-v3/libconfig++15_1.8.1-r0_amd64.deb /srv/pokybuild/yocto-worker/reproducible/build/build-st/reproducibleB-extended/tmp/deploy/deb/./x86-64-v3/libconfig-dbg_1.8.1-r0_amd64.deb /srv/pokybuild/yocto-worker/reproducible/build/build-st/reproducibleB-extended/tmp/deploy/deb/./x86-64-v3/libconfig-src_1.8.1-r0_amd64.deb /srv/pokybuild/yocto-worker/reproducible/build/build-st/reproducibleB-extended/tmp/deploy/deb/./x86-64-v3/libconfig15_1.8.1-r0_amd64.deb https://autobuilder.yoctoproject.org/valkyrie/#/builders/37/builds/2801 https://valkyrie.yocto.io/pub/repro-fail/oe-reproducible-20251030-hmneez8f/packages/diff-html/ Thanks, Mathieu
On Thu, 30 Oct 2025 at 11:29, Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> wrote: > > On Thu Oct 30, 2025 at 12:32 AM CET, Dmitry Baryshkov via lists.openembedded.org wrote: > > One of the freedreno tools in the Mesa package depends on libconfig. > > Recipes from other layers also depend on libconfig. It makes sense to > > move libconfig to OE-Core in order to reduce inter-layer dependencies. > > > > Changes between meta-oe and this recipe: > > - Upgraded to 1.8.1 > > - Switched to UPSTREAM_CHECK_GITTAGREGEX > > - Switched from autotools-brokensep to autotools > > - Added a patch fixing reproducibility issues > > > > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> > > --- > > Hi Dmitry, > > Thanks for the new version, but the reproducibility test still fails, > sorry. Same packages IIRC: Interesting. I can no longer reproduce the issue locally. Let me try another attempt in v3. > > AssertionError: The following deb packages are different and not in exclusion list: > /srv/pokybuild/yocto-worker/reproducible/build/build-st/reproducibleB-extended/tmp/deploy/deb/./x86-64-v3/libconfig++15_1.8.1-r0_amd64.deb > /srv/pokybuild/yocto-worker/reproducible/build/build-st/reproducibleB-extended/tmp/deploy/deb/./x86-64-v3/libconfig-dbg_1.8.1-r0_amd64.deb > /srv/pokybuild/yocto-worker/reproducible/build/build-st/reproducibleB-extended/tmp/deploy/deb/./x86-64-v3/libconfig-src_1.8.1-r0_amd64.deb > /srv/pokybuild/yocto-worker/reproducible/build/build-st/reproducibleB-extended/tmp/deploy/deb/./x86-64-v3/libconfig15_1.8.1-r0_amd64.deb > > https://autobuilder.yoctoproject.org/valkyrie/#/builders/37/builds/2801 > https://valkyrie.yocto.io/pub/repro-fail/oe-reproducible-20251030-hmneez8f/packages/diff-html/
diff --git a/meta/conf/distro/include/maintainers.inc b/meta/conf/distro/include/maintainers.inc index c4142e2b7215..d4ec0ddcc852 100644 --- a/meta/conf/distro/include/maintainers.inc +++ b/meta/conf/distro/include/maintainers.inc @@ -329,6 +329,7 @@ RECIPE_MAINTAINER:pn-libcgroup = "Unassigned <unassigned@yoctoproject.org>" RECIPE_MAINTAINER:pn-libcheck = "Yi Zhao <yi.zhao@windriver.com>" RECIPE_MAINTAINER:pn-libclc = "Khem Raj <raj.khem@gmail.com>" RECIPE_MAINTAINER:pn-libcomps = "Unassigned <unassigned@yoctoproject.org>" +RECIPE_MAINTAINER:pn-libconfig = "Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>" RECIPE_MAINTAINER:pn-libconvert-asn1-perl = "Tim Orling <tim.orling@konsulko.com>" RECIPE_MAINTAINER:pn-libcxx = "Khem Raj <raj.khem@gmail.com>" RECIPE_MAINTAINER:pn-libdaemon = "Unassigned <unassigned@yoctoproject.org>" diff --git a/meta/recipes-extended/libconfig/libconfig/0001-Add-missing-dependency-for-scanner.h.patch b/meta/recipes-extended/libconfig/libconfig/0001-Add-missing-dependency-for-scanner.h.patch new file mode 100644 index 000000000000..6e6a9419aeb1 --- /dev/null +++ b/meta/recipes-extended/libconfig/libconfig/0001-Add-missing-dependency-for-scanner.h.patch @@ -0,0 +1,33 @@ +From b9afffcee8809e47d0564f3d6376de724ae820ae Mon Sep 17 00:00:00 2001 +From: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> +Date: Wed, 29 Oct 2025 22:26:16 +0200 +Subject: [PATCH] Add missing dependency for scanner.h + +Automake doesn't handle the header -> source dependency for lex +scanners. This might result in the out-of-date header or it not being +rebuilt in time. Provide a rule to make sure that the header is built +properly. + +Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> +Upstream-Status: Submitted [https://github.com/hyperrealm/libconfig/pull/277] +--- + lib/Makefile.am | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/lib/Makefile.am b/lib/Makefile.am +index 9ef984323af3..bd5d3dbe5aa3 100644 +--- a/lib/Makefile.am ++++ b/lib/Makefile.am +@@ -36,6 +36,9 @@ libinc_cpp = libconfig.h++ + + BUILT_SOURCES = scanner.c scanner.h grammar.c grammar.h + ++scanner.h: scanner.c ++ @if test ! -f $@; then rm -f scanner.c; $(MAKE) $(AM_MAKEFLAGS) scanner.c; else :; fi ++ + ## Build mode: C-only or C & C++ + lib_LTLIBRARIES = libconfig.la + +-- +2.51.0 + diff --git a/meta/recipes-extended/libconfig/libconfig_1.8.1.bb b/meta/recipes-extended/libconfig/libconfig_1.8.1.bb new file mode 100644 index 000000000000..591aedef4371 --- /dev/null +++ b/meta/recipes-extended/libconfig/libconfig_1.8.1.bb @@ -0,0 +1,24 @@ +SUMMARY = "C/C++ Configuration File Library" +DESCRIPTION = "Library for manipulating structured configuration files" +HOMEPAGE = "https://hyperrealm.github.io/libconfig/" +BUGTRACKER = "https://github.com/hyperrealm/libconfig/issues" +SECTION = "libs" + +LICENSE = "LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=17c8e32f0f72580cc2906b409d46b5ac" + +SRC_URI = " \ + git://github.com/hyperrealm/libconfig.git;protocol=https;branch=master;tag=v${PV} \ + file://0001-Add-missing-dependency-for-scanner.h.patch \ +" +SRCREV = "47ec93c588f534d20f6ee8704d2a2cec339db7b7" + +# needed when we modify grammar.y with patches +DEPENDS += "bison-native flex-native" + +UPSTREAM_CHECK_GITTAGREGEX = "^v(?P<pver>\d+(\.\d+)+)$" + +inherit autotools pkgconfig + +PACKAGE_BEFORE_PN = "${PN}++" +FILES:${PN}++ = "${libdir}/${BPN}++*${SOLIBS}"
One of the freedreno tools in the Mesa package depends on libconfig. Recipes from other layers also depend on libconfig. It makes sense to move libconfig to OE-Core in order to reduce inter-layer dependencies. Changes between meta-oe and this recipe: - Upgraded to 1.8.1 - Switched to UPSTREAM_CHECK_GITTAGREGEX - Switched from autotools-brokensep to autotools - Added a patch fixing reproducibility issues Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> --- meta/conf/distro/include/maintainers.inc | 1 + ...Add-missing-dependency-for-scanner.h.patch | 33 +++++++++++++++++++ .../libconfig/libconfig_1.8.1.bb | 24 ++++++++++++++ 3 files changed, 58 insertions(+) create mode 100644 meta/recipes-extended/libconfig/libconfig/0001-Add-missing-dependency-for-scanner.h.patch create mode 100644 meta/recipes-extended/libconfig/libconfig_1.8.1.bb