diff mbox series

openssl: fix pkgconfig path problems

Message ID 20240503105921.3734301-1-ross.burton@arm.com
State Accepted, archived
Commit f5e931c5e5932e35113d13ba053419283f472f43
Headers show
Series openssl: fix pkgconfig path problems | expand

Commit Message

Ross Burton May 3, 2024, 10:59 a.m. UTC
OpenSSL 3.3.0 introduced new pkgconfig generators which interact badly
with our incorrect setting of --libdir, which is documented as being
the name of the directory _under $prefix_, not an absolute path.  This
resulted in the pkgconfig files have libdir=/usr which mostly works as
the actual library directory is on the search path, but can break other
recipes (such as tpm2-openssl).

Pass the correct value for --libdir, and also remove the odd handling of
an empty ${prefix} which is very historical[1] and can't happen anymore
as all build variations have a prefix.

[1] Added in oe-classic f725a81c, 2009

Signed-off-by: Ross Burton <ross.burton@arm.com>
---
 meta/recipes-connectivity/openssl/openssl_3.3.0.bb | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

Comments

Mikko Rapeli May 3, 2024, 2:46 p.m. UTC | #1
Hi,

On Fri, May 03, 2024 at 10:59:21AM +0000, Ross Burton via lists.openembedded.org wrote:
> OpenSSL 3.3.0 introduced new pkgconfig generators which interact badly
> with our incorrect setting of --libdir, which is documented as being
> the name of the directory _under $prefix_, not an absolute path.  This
> resulted in the pkgconfig files have libdir=/usr which mostly works as
> the actual library directory is on the search path, but can break other
> recipes (such as tpm2-openssl).

This fixes tpm2-openssl build for me. Thanks!

Cheers,

-Mikko
diff mbox series

Patch

diff --git a/meta/recipes-connectivity/openssl/openssl_3.3.0.bb b/meta/recipes-connectivity/openssl/openssl_3.3.0.bb
index 2cdaf4c75d5..37a2b6e31b4 100644
--- a/meta/recipes-connectivity/openssl/openssl_3.3.0.bb
+++ b/meta/recipes-connectivity/openssl/openssl_3.3.0.bb
@@ -136,16 +136,12 @@  do_configure () {
 		;;
 	esac
 
-	useprefix=${prefix}
-	if [ "x$useprefix" = "x" ]; then
-		useprefix=/
-	fi
 	# WARNING: do not set compiler/linker flags (-I/-D etc.) in EXTRA_OECONF, as they will fully replace the
 	# environment variables set by bitbake. Adjust the environment variables instead.
 	PERLEXTERNAL="$(realpath ${S}/external/perl/Text-Template-*/lib)"
 	test -d "$PERLEXTERNAL" || bberror "PERLEXTERNAL '$PERLEXTERNAL' not found!"
 	HASHBANGPERL="/usr/bin/env perl" PERL=perl PERL5LIB="$PERLEXTERNAL" \
-	perl ${S}/Configure ${EXTRA_OECONF} ${PACKAGECONFIG_CONFARGS} ${DEPRECATED_CRYPTO_FLAGS} --prefix=$useprefix --openssldir=${libdir}/ssl-3 --libdir=${libdir} $target
+	perl ${S}/Configure ${EXTRA_OECONF} ${PACKAGECONFIG_CONFARGS} ${DEPRECATED_CRYPTO_FLAGS} --prefix=${prefix} --openssldir=${libdir}/ssl-3 --libdir=${baselib} $target
 	perl ${B}/configdata.pm --dump
 }