Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 25 Sep 2025 18:25:27 GMT
From:      Lexi Winter <ivy@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: 72bf56e273cb - main - freebsd-base.7: New manpage describing pkgbase
Message-ID:  <202509251825.58PIPRIq047993@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by ivy:

URL: https://cgit.FreeBSD.org/src/commit/?id=72bf56e273cb914e3b00f98e35e7270efd4edddb

commit 72bf56e273cb914e3b00f98e35e7270efd4edddb
Author:     Lexi Winter <ivy@FreeBSD.org>
AuthorDate: 2025-09-25 17:41:00 +0000
Commit:     Lexi Winter <ivy@FreeBSD.org>
CommitDate: 2025-09-25 18:25:10 +0000

    freebsd-base.7: New manpage describing pkgbase
    
    This covers the basic structure of pkgbase, how packages are
    distributed, how package sets work, and provides a few example
    of actually using pkgbase.
    
    MFC after:      6 hours
    Approved by:    re (cperciva)
    Reviewed by:    ziaee, cperciva
    Differential Revision:  https://reviews.freebsd.org/D52644
---
 share/man/man7/Makefile       |   2 +
 share/man/man7/freebsd-base.7 | 189 ++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 191 insertions(+)

diff --git a/share/man/man7/Makefile b/share/man/man7/Makefile
index ef8a5a555a07..6a426cc29b15 100644
--- a/share/man/man7/Makefile
+++ b/share/man/man7/Makefile
@@ -23,6 +23,7 @@ MAN=	arch.7 \
 	named_attribute.7 \
 	operator.7 \
 	orders.7 \
+	freebsd-base.7 \
 	ports.7 \
 	release.7 \
 	sdoc.7 \
@@ -38,6 +39,7 @@ MAN=	arch.7 \
 
 MLINKS=	intro.7 miscellaneous.7
 MLINKS+= growfs.7 growfs_fstab.7
+MLINKS+= freebsd-base.7 pkgbase.7
 MLINKS+= security.7 securelevel.7
 MLINKS+= c.7 c78.7
 MLINKS+= c.7 c89.7
diff --git a/share/man/man7/freebsd-base.7 b/share/man/man7/freebsd-base.7
new file mode 100644
index 000000000000..f84cc7239a1d
--- /dev/null
+++ b/share/man/man7/freebsd-base.7
@@ -0,0 +1,189 @@
+.\" SPDX-License-Identifier: ISC
+.\"
+.\" Copyright (c) 2025 Lexi Winter.
+.\"
+.\" Permission to use, copy, modify, and distribute this software for any
+.\" purpose with or without fee is hereby granted, provided that the above
+.\" copyright notice and this permission notice appear in all copies.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.Dd September 25, 2025
+.Dt FREEBSD-BASE 7
+.Os
+.Sh NAME
+.\" .Nm pkgbase
+.Nm freebsd-base
+.Nd base system packages
+.Sh DESCRIPTION
+The
+.Fx
+base system may be installed as a set of
+.Xr pkg 8
+packages, which supersedes the traditional method of installing using
+.Xr tar 1
+archives.
+.Pp
+All base packages have names beginning with the string
+.Dq "FreeBSD-" ,
+and have an origin beginning with
+.Dq base/ .
+In the default system configuration, the repository containing these
+packages is called
+.Dq FreeBSD-base ,
+but any name may be used.
+The repository name can be used with
+.Xr pkg 8
+to restrict package operations to the base system packages.
+.Pp
+Packages for all supported
+.Fx
+releases as well as active
+.Dq STABLE
+and
+.Dq CURRENT
+.\" re@ will provide their own repository before release, at which
+.\" point this text will need updating.
+branches are hosted on the Internet at 
+.Lk https://pkg.freebsd.org .
+These packages are updated when new errata or security updates are
+released (for supported release versions), or twice daily for
+development branches.
+.Pp
+Alternatively, packages may be built from the system source tree
+according to the instructions in
+.Xr build 7 ,
+allowing the system to be updated from source code using packages.
+.Sh PACKAGE ORGANISATION
+To allow customisation of the installed system, each package is split
+into several subpackages which contain different components of the
+package.
+For the package
+.Sy FreeBSD-foo ,
+the following subpackages may be available:
+.Bl -column "FreeBSD-foo-dev-lib32" "Description"
+.It Sy "Package name" Ta Sy "Description"
+.It FreeBSD-foo Ta Base files for the package (typically executables)
+.It FreeBSD-foo-lib Ta Native runtime libraries
+.It FreeBSD-foo-lib32 Ta 32-bit compatibility runtime libraries
+.It FreeBSD-foo-dev Ta Development files (headers and static libraries)
+.It FreeBSD-foo-dev-lib32 Ta 32-bit development files
+.It FreeBSD-foo-dbg Ta Debugging symbols
+.It FreeBSD-foo-man Ta Manual pages.
+Manual pages are only packaged separately if the
+.Sy WITH_MANSPLITPKG
+.Xr src.conf 5
+option was enabled when building the system, which is not the default.
+.El
+.Pp
+The exact set of available subpackages differs for each individual
+package.  For example, some packages may not provide any development
+files, in which case the
+.Sy -dev
+subpackage is not present.
+.Sh PACKAGE SETS
+Package sets are meta-packages which do not contain any files
+themselves, but depend on a selection of other packages, such that each
+package set allows the complete set of packages for a supported workload
+to be installed.
+.Pp
+Package sets are provided as packages named
+.Sy FreeBSD-set-<name> .
+The following package sets are available in the base system:
+.Bl -tag -width "minimal-jail"
+.It minimal
+The minimal set of packages required to bring up a multi-user
+.Fx
+system.
+This includes the core system, along with packages required for
+hardware support (such as
+.Xr devmatch 8
+and downloadable firmware), and basic networking, including DHCP and
+IEEE Std 802.11\(tm wireless networks.
+.It minimal-jail
+The equivalent of
+.Sy minimal
+for systems running in a
+.Xr jail 8
+environment.
+This set excludes hardware support not typically required for jails.
+.It devel
+Development tools, including C/C++ compilers, the link loader, and
+other tools such as
+.Xr ar 1
+and
+.Xr nm 1 .
+This set also includes native development files (headers and static
+libraries) for all packages.
+.It lib32
+32-compatibility libraries, for running 32-bit applications on a
+64-bit host system.
+This set includes both runtime libraries and development files.
+.It base
+The complete base system, excluding tests, the system source code,
+and debugging symbols.
+.It base-jail
+The equivalent of
+.Sy base
+for systems running in a
+.Xr jail 8
+environment.
+This set excludes system functionality which typically does not work
+or is not useful in a jail.
+.It src
+The system source tree for the userland and kernel, installed in
+.Pa /usr/src .
+.It tests
+The system test suite, installed in
+.Pa /usr/tests .
+.It kernels
+All available system kernels.
+.El
+.Sh EXAMPLES
+Install the
+.Xr vi 1
+text editor on the running system:
+.Bd -literal -offset indent
+pkg install FreeBSD-vi
+.Ed
+.Pp
+Install a new
+.Xr jail 8
+system using the
+.Sy minimal-jail
+package set:
+.Bd -literal -offset indent
+pkg -r /jails/myjail install FreeBSD-set-minimal-jail
+.Ed
+.Pp
+Install C/C++ compilers on the running system:
+.Bd -literal -offset indent
+pkg install FreeBSD-set-devel
+.Ed
+.Pp
+Apply available updates to the running system:
+.Bd -literal -offset indent
+pkg update -r FreeBSD-base
+.Ed
+.Pp
+Install the development toolchain for FreeBSD/powerpc64le in an
+alternate root (for example, to support cross-compiling software
+for a different target than the host system):
+.Bd -literal -offset indent
+pkg -r /ppcdev -oABI=FreeBSD:16:powerpc64le \e
+    install -r FreeBSD-set-devel
+.Ed
+.Sh SEE ALSO
+.Xr build 7 ,
+.Xr pkg 8 ,
+.Xr src.conf 5
+.Sh HISTORY
+Support for installing the base system as packages was introduced in
+.Fx 15.0 .
+Earlier releases supported a subset of this functionality.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202509251825.58PIPRIq047993>