Page MenuHomeFreeBSD

release: Build the release media from packages
Needs ReviewPublic

Authored by ivy on Mon, Jan 5, 10:30 PM.
Tags
None
Referenced Files
F141890533: D54542.diff
Mon, Jan 12, 1:53 AM
Unknown Object (File)
Sat, Jan 10, 3:36 PM
Unknown Object (File)
Sat, Jan 10, 5:08 AM
Unknown Object (File)
Sat, Jan 10, 4:49 AM
Unknown Object (File)
Sat, Jan 10, 4:42 AM
Unknown Object (File)
Sat, Jan 10, 4:33 AM
Unknown Object (File)
Sat, Jan 10, 2:48 AM
Unknown Object (File)
Sat, Jan 10, 12:04 AM

Details

Reviewers
None
Group Reviewers
releng
pkgbase
Summary
Instead of using installworld to build the release media, use the
base package repository we already created.  This is much faster
than running installworld again, and in future will allow us to
build install media from an external package repository.

The sets used for each medium are:

* disc1: kernels, optional.  This provides a basic live system.

* bootonly: kernels, minimal.  This saves about 100MB compared to
installing optional.

* dvd: kernels, optional, devel.  We might want to drop devel in
the future to include more packages, but for now, this matches
the current contents of the medium.

Since the new install-system target always installs pkg, we can also
simplify the target-specific logic a bit to only handle the extra
packages.

Keep the existing non-package method for the NOPKGBASE case so that
downstream users can continue building distset install media without
having to depend on pkg.  This should be removed once we vendor pkg.

Add a warning about distset support being deprecated.  This is only
printed if NOPKGBASE is set and can be disabled entirely by setting
RELEASE_SKIP_DISTSET_WARNING.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 69670
Build 66553: arc lint + arc unit

Event Timeline

ivy requested review of this revision.Mon, Jan 5, 10:30 PM

fix the metalog mode for /var/db/services.db

(although this doesn't really matter as /var is tmpfs in the installer environment.)

emaste added inline comments.
release/Makefile
48

Is this because we can use the dvd as a somewhat usable live system as well?

50

IMO we should uncomment this - the bootonly is intended to be as small as possible including only what is necessary for remote installation.

329

When we switch to building release images from pkgbase this code path will start to bitrot. We should probably emit a warning indicating that this is no longer regularly tested.

release/Makefile
48

i did wonder about that - does anyone actually use the compiler on the DVD? would it be useful to remove it (all the devel libraries are quite big) and put more packages on there?

i'm happy to remove devel, but i thought it was best to start by replicating what we already have.

cperciva added inline comments.
release/Makefile
48

I agree with replicating what we already have as a starting point; but yes, we should have a conversation about release images, possibly in the direction of separating "install media" from "live system".

Yes, agreed on starting with an approximation that is as close as possible w/ pkgbase to what we have today.

use minimal for bootonly by default

print a warning about distsets if NOPKGBASE is set

instead of hardcoding bsdinstall and bsdconfig in install-system, add
a new variable, RELEASE_BASE_PACKAGES

ivy marked 2 inline comments as done.Tue, Jan 6, 6:53 PM

use a "." form for the release sets, so RELEASE_MEDIA_SETS_BOOTONLY
becomes RELEASE_MEDIA_SETS.bootonly. this makes it more clear that
it can be set for any media type.