Re: git: 89c017d06870 - main - Makefile.inc1: Allow safe installkernel with pkgbase
- In reply to: Lexi Winter : "git: 89c017d06870 - main - Makefile.inc1: Allow safe installkernel with pkgbase"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 06 Jan 2026 14:40:27 UTC
On 1/5/26 12:59, Lexi Winter wrote:
> The branch main has been updated by ivy:
>
> URL: https://cgit.FreeBSD.org/src/commit/?id=89c017d068704c2bc3da9cb22f43da17a9ce8c24
>
> commit 89c017d068704c2bc3da9cb22f43da17a9ce8c24
> Author: Lexi Winter <ivy@FreeBSD.org>
> AuthorDate: 2026-01-05 17:39:47 +0000
> Commit: Lexi Winter <ivy@FreeBSD.org>
> CommitDate: 2026-01-05 17:39:47 +0000
>
> Makefile.inc1: Allow safe installkernel with pkgbase
>
> Commit 74a6bb524e5b added a check to install{world,kernel} to avoid
> people accidentally running this on pkgbase systems and leaving their
> system broken. This had two issues:
>
> (1) The warning was not sufficiently scary, leading people to think
> this was safe to do as long as they set DESTDIR=/.
>
> (2) The installkernel check was too strict, and prevented installing
> kernels that don't conflict with packaged kernels.
>
> Fix (1) by rewording the warning to be scarier, and while here, add
> two new variables (ALLOW_PKGBASE_INSTALL{WORLD,KERNEL}) which could
> be set in /etc/make.conf for people who want to break their systems
> by default.
>
> Fix (2) by improving the installkernel check to see if the kernel(s)
> we're actually installing are packaged. This means a new kernel can
> be installed to /boot/kernel as long as there's no packaged kernel
> installed there. This check understands INSTKERNNAME, so if there
> is a packaged kernel in /boot/kernel, the new kernel can still be
> installed using INSTKERNNAME=testkernel (or whatever).
>
> MFC after: 2 weeks
> Reported by: christos, jhb, others
> Reviewed by: emaste, christos (previous version)
> Sponsored by: https://www.patreon.com/bsdivy
> Differential Revision: https://reviews.freebsd.org/D54346
Thanks!
--
John Baldwin