From 738f8cb93b087ab76d3fb2494677e15d04815db3 Mon Sep 17 00:00:00 2001 From: Gyorgy Sarvari Date: Wed, 29 Oct 2025 14:40:49 +0100 Subject: [PATCH] libconfig-autoconf-perl: fix ptests Add missing dependencies. Also, fixing the tests have surfaced an actual bug: the module expects unversioned perl library to be present on the system (or at least present in Perl's $Config{libperl}), however the OE Perl build has a versioned library, which causes final linking to fail. A patch to correct this is part of this change, and it has been submitted upstream also. Signed-off-by: Gyorgy Sarvari --- .../files/0001-correct-libperl-regex.patch | 42 +++++++++++++++++++ .../libconfig-autoconf-perl_0.319.bb | 16 ++++++- 2 files changed, 56 insertions(+), 2 deletions(-) create mode 100644 meta-perl/recipes-perl/libconfig/files/0001-correct-libperl-regex.patch diff --git a/meta-perl/recipes-perl/libconfig/files/0001-correct-libperl-regex.patch b/meta-perl/recipes-perl/libconfig/files/0001-correct-libperl-regex.patch new file mode 100644 index 0000000000..373f773070 --- /dev/null +++ b/meta-perl/recipes-perl/libconfig/files/0001-correct-libperl-regex.patch @@ -0,0 +1,42 @@ +From 5ffd363a7acd4ef794eb265eaf6c42321097cd46 Mon Sep 17 00:00:00 2001 +From: Gyorgy Sarvari +Date: Sat, 25 Oct 2025 15:48:51 +0200 +Subject: [PATCH] correct libperl regex + +The module expects the libperl library's format (from $Config{libperl}) +to be versionless, just simply libperl.so. However this value in the +OE builds is versioned, causing some issues. + +The module transforms this value into a linker flag, and tries to link +with the library. The transformation is simple: cut off the "lib" from +the start, and everything after the last dot. + +With versionless version, the transformation works: libperl.so -> perl + +However with versioned library it looks like this: +libperl.so.5.99.9 -> perl.so.5.99 +which is just wrong. + +This patch changes this transformation in way that throws away everything +after the first dot (instead of the last one). + +Upstream-Status: Submitted [https://github.com/ambs/Config-AutoConf/pull/19] + +Signed-off-by: Gyorgy Sarvari +--- + lib/Config/AutoConf.pm | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lib/Config/AutoConf.pm b/lib/Config/AutoConf.pm +index 0bba5a4..a2e7099 100644 +--- a/lib/Config/AutoConf.pm ++++ b/lib/Config/AutoConf.pm +@@ -3001,7 +3001,7 @@ sub _check_link_perlapi + + my $libperl = $Config{libperl}; + $libperl =~ s/^lib//; +- $libperl =~ s/\.[^\.]*$//; ++ $libperl =~ s/^([^\.]*)\..*$/$1/; + + push @{$self->{extra_link_flags}}, "-L" . File::Spec->catdir($Config{installarchlib}, "CORE"); + push @{$self->{extra_libs}}, "$libperl"; diff --git a/meta-perl/recipes-perl/libconfig/libconfig-autoconf-perl_0.319.bb b/meta-perl/recipes-perl/libconfig/libconfig-autoconf-perl_0.319.bb index 5c3701f16b..c3cc388661 100644 --- a/meta-perl/recipes-perl/libconfig/libconfig-autoconf-perl_0.319.bb +++ b/meta-perl/recipes-perl/libconfig/libconfig-autoconf-perl_0.319.bb @@ -6,7 +6,7 @@ DESCRIPTION = "Config::AutoConf is intended to provide the same opportunities to developers as GNU Autoconf does for \ Shell developers." -HOMEPAGE= "https://metacpan.org/release/Config-AutoConf" +HOMEPAGE = "https://metacpan.org/release/Config-AutoConf" SECTION = "libs" LICENSE = "Artistic-1.0 | GPL-1.0-or-later" @@ -14,7 +14,8 @@ LICENSE = "Artistic-1.0 | GPL-1.0-or-later" LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Artistic-1.0;md5=cda03bbdc3c1951996392b872397b798 \ file://${COMMON_LICENSE_DIR}/GPL-1.0-or-later;md5=30c0b8a5048cc2f4be5ff15ef0d8cf61" -SRC_URI = "${CPAN_MIRROR}/authors/id/R/RE/REHSACK/Config-AutoConf-${PV}.tar.gz" +SRC_URI = "${CPAN_MIRROR}/authors/id/R/RE/REHSACK/Config-AutoConf-${PV}.tar.gz \ + file://0001-correct-libperl-regex.patch" SRC_URI[md5sum] = "eeeab8cc93eef7dd2e2c343ecdf247b7" SRC_URI[sha256sum] = "304f66cc2653264c0fe127d21669e86d3d18cd72f2574d8f5131beec31a0a33e" @@ -34,6 +35,17 @@ RDEPENDS:${PN} += "perl-module-text-parsewords" RDEPENDS:${PN} += "perl-module-warnings" RRECOMMENDS:${PN} += "libfile-slurper-perl" +RDEPENDS:${PN}-ptest += " \ + packagegroup-core-buildessential \ + perl-dev \ + perl-module-file-glob \ + perl-module-perl-ostype \ + perl-module-metadata" + +# One test requires perl headers (perl-dev) to compile some +# test application. +INSANE_SKIP:${PN}-ptest += "dev-deps" + S = "${WORKDIR}/Config-AutoConf-${PV}" inherit cpan ptest-perl