| Message ID | 20251029002918.3728797-1-dmitry.baryshkov@oss.qualcomm.com |
|---|---|
| State | New |
| Headers | show |
| Series | [1/3] libconfig: import recipe from meta-oe | expand |
On Wed, 29 Oct 2025 at 01:29, Dmitry Baryshkov via lists.openembedded.org <dmitry.baryshkov=oss.qualcomm.com@lists.openembedded.org> wrote: > +RECIPE_MAINTAINER:pn-libconfig = "Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>" You don't have to do the below straight away, but there are a couple possible cleanups. > +UPSTREAM_CHECK_URI = "https://github.com/hyperrealm/libconfig/releases" > +UPSTREAM_CHECK_REGEX = "Version (?P<pver>\d+(\.\d+)+)" As the recipe is fetching from git, these have no effect. > +inherit autotools-brokensep pkgconfig Can you look into why building in a separate build directory is broken? Maybe it used to be, but the issues have been since fixed? It's much preferred to build separately, so the source tree doesn't get cluttered (and autotools are very good at that). Alex
On Wed, 29 Oct 2025 at 11:44, Alexander Kanavin <alex.kanavin@gmail.com> wrote: > > On Wed, 29 Oct 2025 at 01:29, Dmitry Baryshkov via > lists.openembedded.org > <dmitry.baryshkov=oss.qualcomm.com@lists.openembedded.org> wrote: > > +RECIPE_MAINTAINER:pn-libconfig = "Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>" > > You don't have to do the below straight away, but there are a couple > possible cleanups. > > > +UPSTREAM_CHECK_URI = "https://github.com/hyperrealm/libconfig/releases" > > +UPSTREAM_CHECK_REGEX = "Version (?P<pver>\d+(\.\d+)+)" Oh, and: the latest upstream version is 1.8.1. Putting that into oe-core would be much preferred from the start. Alex
On Wed, 29 Oct 2025 at 11:45, Alexander Kanavin via lists.openembedded.org <alex.kanavin=gmail.com@lists.openembedded.org> wrote: > > > +UPSTREAM_CHECK_URI = "https://github.com/hyperrealm/libconfig/releases" > > > +UPSTREAM_CHECK_REGEX = "Version (?P<pver>\d+(\.\d+)+)" > > Oh, and: the latest upstream version is 1.8.1. Putting that into > oe-core would be much preferred from the start. This ^^^ nevermind :) Alex
On Wed Oct 29, 2025 at 1:29 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. > > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> > --- Hi Dmitry, Thanks for your patch. Sadly, it looks like libconfig is failing the reproducibility test: 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/2797 https://valkyrie.yocto.io/pub/repro-fail/oe-reproducible-20251029-xhw4aiy9/packages/diff-html/ Can you have a look at why the builds differ? Thanks, Mathieu
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-Fix-declarations-to-allow-build-with-gcc-15.patch b/meta/recipes-extended/libconfig/libconfig/0001-Fix-declarations-to-allow-build-with-gcc-15.patch new file mode 100644 index 000000000000..00ceadb10d6c --- /dev/null +++ b/meta/recipes-extended/libconfig/libconfig/0001-Fix-declarations-to-allow-build-with-gcc-15.patch @@ -0,0 +1,38 @@ +From 0511e285f3c886a388b8e9c6a4829752d60ab44c Mon Sep 17 00:00:00 2001 +From: Rudi Heitbaum <rudi@heitbaum.com> +Date: Thu, 5 Dec 2024 06:47:40 +0000 +Subject: [PATCH] Fix declarations to allow build with gcc 15 + +Signed-off-by: Martin Jansa <martin.jansa@gmail.com> + +Upstream-Status: Backport [690342b Fix declarations to allow build with gcc 15] +--- + lib/grammar.y | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +diff --git a/lib/grammar.y b/lib/grammar.y +index 87dac00..0e9d0bb 100644 +--- a/lib/grammar.y ++++ b/lib/grammar.y +@@ -40,8 +40,7 @@ + #include "wincompat.h" + + /* These declarations are provided to suppress compiler warnings. */ +-extern int libconfig_yylex(); +-extern int libconfig_yyget_lineno(); ++extern int libconfig_yyget_lineno(void *); + + static const char *err_array_elem_type = "mismatched element type in array"; + static const char *err_duplicate_setting = "duplicate setting name"; +@@ -80,6 +79,11 @@ void libconfig_yyerror(void *scanner, struct parse_context *ctx, + char *sval; + } + ++%{ ++/* These declarations are provided to suppress compiler warnings. */ ++extern int libconfig_yylex(YYSTYPE *, void *); ++%} ++ + %token <ival> TOK_BOOLEAN TOK_INTEGER TOK_HEX + %token <llval> TOK_INTEGER64 TOK_HEX64 + %token <fval> TOK_FLOAT diff --git a/meta/recipes-extended/libconfig/libconfig_1.7.3.bb b/meta/recipes-extended/libconfig/libconfig_1.7.3.bb new file mode 100644 index 000000000000..bd7d7e64b889 --- /dev/null +++ b/meta/recipes-extended/libconfig/libconfig_1.7.3.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=fad9b3332be894bab9bc501572864b29" + +SRC_URI = "git://github.com/hyperrealm/libconfig.git;protocol=https;branch=master;tag=v${PV} \ + file://0001-Fix-declarations-to-allow-build-with-gcc-15.patch \ +" +SRCREV = "525922a6b49ca19235cdf307376e7c9c539d1b93" + +# needed when we modify grammar.y with above patch +DEPENDS += "bison-native" + +UPSTREAM_CHECK_URI = "https://github.com/hyperrealm/libconfig/releases" +UPSTREAM_CHECK_REGEX = "Version (?P<pver>\d+(\.\d+)+)" + +inherit autotools-brokensep 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. Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> --- meta/conf/distro/include/maintainers.inc | 1 + ...larations-to-allow-build-with-gcc-15.patch | 38 +++++++++++++++++++ .../libconfig/libconfig_1.7.3.bb | 24 ++++++++++++ 3 files changed, 63 insertions(+) create mode 100644 meta/recipes-extended/libconfig/libconfig/0001-Fix-declarations-to-allow-build-with-gcc-15.patch create mode 100644 meta/recipes-extended/libconfig/libconfig_1.7.3.bb