From ea9a92d21007de1d445dc0539331ad6632eb4ad3 Mon Sep 17 00:00:00 2001 From: Ed Maste Date: Thu, 10 Feb 2022 15:42:05 -0500 Subject: [PATCH] Makefile.inc1: synthesize PKG_ABI from newvers.sh variables Previously we inspected ${WSTAGEDIR}/usr/bin/uname to determine PKG_ABI, but the file will not exist in some cases - for example, if building only kernel packages. We can instead synthesize the PKG_ABI from information already provided by newvers.sh. Reviewed by: kevans, manu (both earlier rev) Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D34249 --- Makefile.inc1 | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/Makefile.inc1 b/Makefile.inc1 index d27a81d7904d..cbbb2bc83ffc 100644 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -522,7 +522,7 @@ OSRELDATE= 0 .endif # Set VERSION for CTFMERGE to use via the default CTFFLAGS=-L VERSION. -.for _V in BRANCH REVISION +.for _V in BRANCH REVISION TYPE .if !defined(_${_V}) _${_V}!= eval $$(awk '/^${_V}=/{print}' ${SRCTOP}/sys/conf/newvers.sh); echo $$${_V} .export _${_V} @@ -1882,12 +1882,10 @@ _pkgbootstrap: .PHONY .endif # -# Allow overriding PKG_ABI, this allow to create kernel packages without having -# to build world first. -# If it's not provided resolv it from the uname binary in the world stage. +# Determine PKG_ABI from newvers.sh if not already set. # .if !defined(PKG_ABI) && (make(create-world-packages-jobs) || make(create-kernel-packages*) || make(real-update-packages) || make(sign-packages)) -PKG_ABI!=${PKG_CMD} -o ABI_FILE=${WSTAGEDIR}/usr/bin/uname config ABI +PKG_ABI=${_TYPE}:${_REVISION:S/\..*$//}:${TARGET_ARCH} .endif PKG_BIN_VERSION!=${PKG_CMD} --version /dev/null |\ awk -F. '/^[0-9.]+$$/ {print $$1 * 10000 + $$2 * 100 + $$3}'