Page MenuHomeFreeBSD

bsdinstall: do pkgbase installations with the "script" command
Needs ReviewPublic

Authored by asomers on Wed, Apr 29, 7:50 PM.

Details

Reviewers
cperciva
ziaee
ivy
Summary

"bsdinstall script" will now do a pkgbase installation unless the
script file contains "PKGBASE=no". The system components to install can
be specified in the COMPONENTS variable, and have the same names as
those used in the interactive installer.

MFC: 2 weeks
PR: 290375
Sponsored by: ConnectWise

Test Plan

Ran bsdinstall manually. Also, built a DVD and installed a VM from that image.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 72642
Build 69525: arc lint + arc unit

Event Timeline

Should this not do the same as 9134ed157388f3e34374322a5de06449a031f1ec?

It's not the same thing. That older revision changed the default interactive installation to pkgbase. What my change is is for the non-interactive installations. That is, the installations that the CD will do if you put an /etc/installerconfig file on the CD.

We're trying to avoid making pkgbase a proper user facing noun

We're trying to avoid making pkgbase a proper user facing noun

What do you suggest instead? Is there a different phrase to use, or should I make pkgbase mandatory in bsdinstall and remove mention from the man page?

Should this not do the same as 9134ed157388f3e34374322a5de06449a031f1ec?

It's not the same thing. That older revision changed the default interactive installation to pkgbase. What my change is is for the non-interactive installations. That is, the installations that the CD will do if you put an /etc/installerconfig file on the CD.

My point is, that commit made the default depend on what's on the installation media. Should this change not do the same, rather than make it always pkgbase?

Should this not do the same as 9134ed157388f3e34374322a5de06449a031f1ec?

It's not the same thing. That older revision changed the default interactive installation to pkgbase. What my change is is for the non-interactive installations. That is, the installations that the CD will do if you put an /etc/installerconfig file on the CD.

My point is, that commit made the default depend on what's on the installation media. Should this change not do the same, rather than make it always pkgbase?

Well, it does still depend on the installation media. But it's based on the /etc/installerconfig file. If /etc/installerconfig specifies distsets, but the installation media doesn't include those, then I suppose the installation might be broken. Are you suggesting that a single installerconfig file ought to be usable for either pkgbase or distset-based installation, and which is actually done ought to be based on whether the media includes base packages? I actually tried that first. But it doesn't work, because there's no 1:1 correspondence between distsets and pkgbase components.
So if you want a distset installation, you must specify DISTRIBUTIONS=... and PKGBASE=no in the installerconfig. Otherwise, you must specify COMPONENTS=... .

We're trying to avoid making pkgbase a proper user facing noun

What do you suggest instead? Is there a different phrase to use, or should I make pkgbase mandatory in bsdinstall and remove mention from the man page?

I recently learned that the official term is freebsd-base(7).

However, we (NanoBSD GSoC) are (also?) using the NOPKGBASE nomenclature (double negative is worse). Regardless, we plan to align with the outcome of this review.
We have yet to test this approach of only using sets and report back.

So if you want a distset installation, you must specify DISTRIBUTIONS=... and PKGBASE=no in the installerconfig. Otherwise, you must specify COMPONENTS=... .

Could we not do

  1. If COMPONENTS is set and packages are on the install media, use packages
  2. If DISTRIBUTIONS is set and dist sets are on the install media, use dist sets
  3. Error