git: 97388e7215e0 - main - OpenSSL: install .pc files from the exporters subdir
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 17 Oct 2025 06:46:16 UTC
The branch main has been updated by ngie:
URL: https://cgit.FreeBSD.org/src/commit/?id=97388e7215e080f2cb9fd446f4be4e46a9aeb114
commit 97388e7215e080f2cb9fd446f4be4e46a9aeb114
Author: Enji Cooper <ngie@FreeBSD.org>
AuthorDate: 2025-10-11 20:47:20 +0000
Commit: Enji Cooper <ngie@FreeBSD.org>
CommitDate: 2025-10-17 06:42:13 +0000
OpenSSL: install .pc files from the exporters subdir
The .pc files generated in the root directory are used as part of the
build; they should never be installed. Use the versions from the
exporters subdirectory--which should be installed--as the .pc files
which are distributed with FreeBSD. This avoids the need for "fixing up"
these files after the fact (see `crypto/openssl/BSDmakefile` for more
details as part of this change).
Garbage collect `secure/lib/libcrypto/Makefile.version`, et al,
as they're orphaned files. They were technically unused prior to this
change as the vendor process properly embeds the version numbers in
various files, but this commit formalizes the removal.
This correction/clarification on the .pc files will be made in an
upcoming release of OpenSSL [1].
References:
1. https://github.com/openssl/openssl/issues/28803
Suggested by: Richard Levitte (OpenSSL project)
MFC after: 3 days
Differential Revision: https://reviews.freebsd.org/D53043
---
crypto/openssl/BSDmakefile | 20 --------------------
.../openssl/freebsd/dump_version_from_configdata.pl | 21 ---------------------
secure/lib/libcrypto/Makefile.inc | 12 +++---------
secure/lib/libcrypto/Makefile.version | 2 --
4 files changed, 3 insertions(+), 52 deletions(-)
diff --git a/crypto/openssl/BSDmakefile b/crypto/openssl/BSDmakefile
index d260808ffac3..a45dc2b532f3 100644
--- a/crypto/openssl/BSDmakefile
+++ b/crypto/openssl/BSDmakefile
@@ -48,32 +48,12 @@ configure:
enable-sctp \
--openssldir=etc \
--prefix=/usr)
- @echo "Building configdata.pm for later use."
- @(cd ${.CURDIR} && \
- ${SETENVI} ${WRK_ENV} ${GMAKE} -j ${.MAKE.JOBS} configdata.pm)
-
- @echo "Populating Makefile.version with release information"
- @(cd ${LCRYPTO_SRC} && ${SETENVI} ${WRK_ENV} ${PERL} \
- ${LCRYPTO_SRC}/freebsd/dump_version_from_configdata.pl > \
- ${SRCTOP}/secure/lib/libcrypto/Makefile.version)
all: patch
@echo "==> Building generated files (headers, manpages, etc)"
@(cd ${.CURDIR} && \
${SETENVI} ${WRK_ENV} ${GMAKE} -j ${.MAKE.JOBS} build_all_generated)
- # 1. Fix --prefix.
- # a. Not sure why --prefix isn't honored properly, even though it's
- # passed to Configure; the files might be getting rebuilt
- # post-Configure, somehow.
- # 2. Remove duplicate path in CFLAGS.
- # 3. Remove duplicate path in includedir(s).
- @echo "==> Fixing pkgconfig files"
- @find . -name \*.pc -print -exec sed -i '' -E \
- -e 's,^prefix=.+,prefix=/usr,' \
- -e 's,[[:space:]]+(\-I)?\$\{prefix\}/\./include[[:space:]]*,,g' \
- {} +
-
@echo "==> Cleaning / rebuilding ASM"
@(cd ${SRCTOP}/secure/lib/libcrypto && \
${SETENVI} ${WRK_ENV} ${MAKE} cleanasm && \
diff --git a/crypto/openssl/freebsd/dump_version_from_configdata.pl b/crypto/openssl/freebsd/dump_version_from_configdata.pl
deleted file mode 100644
index b6137718ba54..000000000000
--- a/crypto/openssl/freebsd/dump_version_from_configdata.pl
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/usr/bin/env perl
-#
-# This dumps out the values needed to generate manpages and other artifacts
-# which include the release version/date.
-#
-# See also: `secure/lib/libcrypto/Makefile.version`.
-
-use Cwd qw(realpath);
-use File::Basename qw(dirname);
-use Time::Piece;
-
-use lib dirname(dirname(realpath($0)));
-
-use configdata qw(%config);
-
-$OPENSSL_DATE = Time::Piece->strptime($config{"release_date"}, "%d %b %Y")->strftime("%Y-%m-%d");
-
-$OPENSSL_VER = "$config{'major'}.$config{'minor'}.$config{'patch'}";
-
-print("OPENSSL_VER=\t${OPENSSL_VER}\n");
-print("OPENSSL_DATE=\t${OPENSSL_DATE}\n");
diff --git a/secure/lib/libcrypto/Makefile.inc b/secure/lib/libcrypto/Makefile.inc
index 4d5e9c68a1fe..5b281166df61 100644
--- a/secure/lib/libcrypto/Makefile.inc
+++ b/secure/lib/libcrypto/Makefile.inc
@@ -3,9 +3,6 @@
PACKAGE= openssl
LIB_PACKAGE=
-# OpenSSL version used for manual page generation
-.include "Makefile.version"
-
LCRYPTO_SRC= ${SRCTOP}/crypto/openssl
LCRYPTO_DOC= ${LCRYPTO_SRC}/doc
@@ -15,10 +12,7 @@ CFLAGS+= -I${LCRYPTO_SRC}/providers/common/include
CFLAGS+= -I${LCRYPTO_SRC}/providers/fips/include
CFLAGS+= -I${LCRYPTO_SRC}/providers/implementations/include
-.include "Makefile.common"
+.SUFFIXES: .pc
+.PATH.pc: ${LCRYPTO_SRC}/exporters
-.for pcfile in ${PCFILES}
-${pcfile}: ${pcfile}.in
- sed -e 's,@openssl_ver@,${OPENSSL_VER},g' ${.ALLSRC} > ${.TARGET}
-.endfor
-CLEANFILES+= ${PCFILES}
+.include "Makefile.common"
diff --git a/secure/lib/libcrypto/Makefile.version b/secure/lib/libcrypto/Makefile.version
deleted file mode 100644
index 81636b8adfe8..000000000000
--- a/secure/lib/libcrypto/Makefile.version
+++ /dev/null
@@ -1,2 +0,0 @@
-OPENSSL_VER= 3.5.4
-OPENSSL_DATE= 2025-09-30