Makefile.inc1: Fix INSTALLEXTRAKERNELS for one-kernel case
If BUILDKERNELS contains a single kernel, and NO_INSTALLEXTRAKERNELS=no,
then ${BUILDKERNELS:[2..-1]} returns the first kernel in the list and
that kernel ends up in both INSTALLKERNEL and INSTALLEXTRAKERNELS.
This breaks the package build because it means we generate that package
twice, once with an incorrect install path of /boot/kernel.NAME instead
of /boot/kernel.
Only set INSTALLEXTRAKERNELS if we're building at least two kernels.
Fixes: 2c0e9a76c1 ("Makefile.inc1: Make NO_INSTALLKERNEL less of a hack")
Reviewed by: jrtc27
Sponsored by: https://www.patreon.com/bsdivy
Differential Revision: https://reviews.freebsd.org/D54539
This commit is contained in:
+3
-1
@@ -1844,10 +1844,12 @@ NO_INSTALLEXTRAKERNELS?= no
|
||||
.if ${NO_INSTALLEXTRAKERNELS} != "yes"
|
||||
.if defined(NO_INSTALLKERNEL)
|
||||
INSTALLEXTRAKERNELS= ${BUILDKERNELS}
|
||||
.else
|
||||
.elif ${BUILDKERNELS:[#]} > 1
|
||||
# First kernel is installed separately by INSTALLKERNEL, typically to
|
||||
# /boot/kernel, rather than to a config-suffixed directory.
|
||||
INSTALLEXTRAKERNELS= ${BUILDKERNELS:[2..-1]}
|
||||
.else
|
||||
INSTALLEXTRAKERNELS=
|
||||
.endif
|
||||
.endif
|
||||
|
||||
|
||||
Reference in New Issue
Block a user