NO_INSTALLEXTRAKERNELS and PkgBase
Ngie Cooper (yaneurabeya)
yaneurabeya at gmail.com
Sat May 7 08:16:49 UTC 2016
> On May 7, 2016, at 00:59, Ben Woods <woodsb02 at gmail.com> wrote:
> On 7 May 2016 at 09:48, Ngie Cooper (yaneurabeya) <yaneurabeya at gmail.com> wrote:
> glebius changed the defaults to fix POLA, but the naming per the behavior is confusing. Right now the behavior between ^/head and ^/stable/10 before/now match -- I just had to wrap my mind around the default being the affirmative of a negative (i.e. only install one kernel, as opposed to install all extra kernels by default).
> Indeed, I am not sure I understand the POLA violation entirely (ignoring the fact that this variable requires affirmation of a negative).
It’s tricky… KERNCONF with multiple kernel configurations wasn’t properly supported at install time until 2016 AFAIK (r291611, r293391), so again (AFAIK) it’s a new [functional] feature, even though make.conf(5) says one can specify multiple kernel configurations in KERNCONF at build time.
> If you list 2 kernels in the KERNCONF variable, why is it astonishing that 2 kernels get installed? Even if the old behaviour was to only install 1 kernel, if you are listing 2 kernels in KERNCONF presumably that is because you want to install 2 kernels?
From a literal perspective, it makes perfect sense. From a usability perspective though, or in terms of actual behavior, it makes less sense.
If FreeBSD required more explicit pathing for kernels like Linux in the boot loader (e.g. grub) on many distros (e.g. CentOS), this would likely be a non-issue.
> Regardless, perhaps it is ok to leave behaviour on stable 9/10 unchanged, but to make the behaviour on head to install multiple kernels by default? That is the option that makes sense for PkgBase (build multiple kernel packages if more than one are listed in KERNCONF).
Yes, but the knob should be renamed for clarity. imp@ had a very good point — NO_* options aren’t as flexible/intuitive as MK_* options and lead to confusing behavior.
More information about the freebsd-current