diff options
Diffstat (limited to 'release')
117 files changed, 501 insertions, 225 deletions
diff --git a/release/Makefile b/release/Makefile index 82617c1f4dd7..12f5114f8b22 100644 --- a/release/Makefile +++ b/release/Makefile @@ -75,14 +75,22 @@ VOLUME_LABEL= ${REVISION:C/[.-]/_/g}_${BRANCH:C/[.-]/_/g}_${TARGET_ARCH} .endfor .endif +.if !defined(NOPKGBASE) || empty(NOPKGBASE) +PKGBASE_REPO_DIR= pkgbase-repo-dir +WSTAGEDIR!= ${IMAKE} -f Makefile.inc1 -C ${WORLDDIR} -V WSTAGEDIR +PKG_ABI_FILE= ${WSTAGEDIR}/usr/bin/uname +PKG_ABI= $$(${PKG_CMD} -o ABI_FILE=${PKG_ABI_FILE} config ABI) +.endif + .if ${.MAKE.OS} == "FreeBSD" # For installing packages into the release media. PKG_ENV+= INSTALL_AS_USER=yes PKG_ENV+= ASSUME_ALWAYS_YES=yes PKG_ARGS+= -o METALOG=METALOG +PKG_ARGS+= -o ABI=${PKG_ABI} PKG_ARGS+= -r ${.TARGET} PKG_REPO_ARGS= -o REPOS_DIR=${.CURDIR}/pkg_repos -PKGBASE_REPO_ARGS=-o REPOS_DIR=${.OBJDIR}/pkgbase-repo-conf +PKGBASE_REPO_ARGS=-o REPOS_DIR=${.OBJDIR}/pkgbase-repo-dir # Pass -f to make sure pkg writes to the METALOG even if the package # is already installed from a previous build PKG_INSTALL= env ${PKG_ENV} ${PKG_CMD} ${PKG_ARGS} ${PKG_REPO_ARGS} install -f @@ -108,7 +116,10 @@ DISTRIBUTIONS+= ports.txz DISTRIBUTIONS+= src.txz .endif -RELEASE_TARGETS= ftp +RELEASE_TARGETS= +.if !defined(NODISTSETS) || empty(NODISTSETS) +RELEASE_TARGETS+= ftp +.endif IMAGES= .if exists(${.CURDIR}/${TARGET}/mkisoimages.sh) RELEASE_TARGETS+= cdrom @@ -124,6 +135,9 @@ RELEASE_TARGETS+= mini-memstick.img IMAGES+= memstick.img IMAGES+= mini-memstick.img .endif +.if !defined(NOPKGBASE) || empty(NOPKGBASE) +RELEASE_TARGETS+= pkgbase-repo.tar +.endif CLEANFILES= packagesystem *.txz MANIFEST release ${IMAGES} .if defined(WITH_COMPRESSED_IMAGES) && !empty(WITH_COMPRESSED_IMAGES) @@ -134,7 +148,7 @@ CLEANFILES+= ${I}.xz .if defined(WITH_DVD) && !empty(WITH_DVD) CLEANFILES+= pkg-stage .endif -CLEANDIRS= dist pkgdb-dvd pkgdb-disc1 pkgbase-repo pkgbase-repo-dir ftp disc1 disc1-disc1 disc1-memstick bootonly bootonly-bootonly bootonly-memstick dvd +CLEANDIRS= dist pkgdb-dvd pkgdb-disc1 pkgbase-repo pkgbase-repo-dir ftp disc1 disc1-disc1 disc1-memstick bootonly bootonly-bootonly bootonly-memstick dvd pkgbase-repo.tar beforeclean: chflags -R noschg . .include <bsd.obj.mk> @@ -188,17 +202,15 @@ packagesystem: ${DISTRIBUTIONS} sh ${.CURDIR}/scripts/make-manifest.sh $$(ls *.txz | grep -v container) > MANIFEST touch ${.TARGET} -.if !defined(NODISTSETS) +.if !defined(NODISTSETS) || empty(NODISTSETS) disc1: packagesystem bootonly: packagesystem dvd: packagesystem .endif - .if !defined(NOPKGBASE) || empty(NOPKGBASE) -PKGBASE_REPO_DIR= pkgbase-repo-dir -WSTAGEDIR!= ${IMAKE} -f Makefile.inc1 -C ${WORLDDIR} -V WSTAGEDIR -PKG_ABI_FILE= ${WSTAGEDIR}/usr/bin/uname -PKG_ABI= $$(${PKG_CMD} -o ABI_FILE=${PKG_ABI_FILE} config ABI) +disc1: pkgbase-repo-dir +bootonly: pkgbase-repo-dir +dvd: pkgbase-repo-dir .endif pkgbase-repo: @@ -207,13 +219,16 @@ pkgbase-repo: ( ${IMAKE} -C ${WORLDDIR} packages REPODIR=${.OBJDIR}/pkgbase-repo \ INCLUDE_PKG_IN_PKGBASE_REPO=YES BOOTSTRAP_PKG_FROM_PORTS=YES ) +pkgbase-repo.tar: pkgbase-repo + tar -cf pkgbase-repo.tar -C pkgbase-repo . + pkgbase-repo-dir: pkgbase-repo mkdir -p pkgbase-repo-dir printf "FreeBSD-base: { url: "file://%s", enabled: yes }" \ ${.OBJDIR}/pkgbase-repo/${PKG_ABI}/latest \ > pkgbase-repo-dir/FreeBSD-base.conf -disc1: ${PKGBASE_REPO_DIR} +disc1: # Install system mkdir -p ${.TARGET} ( cd ${WORLDDIR} && ${IMAKE} installworld installkernel distribution \ @@ -236,7 +251,7 @@ disc1: ${PKGBASE_REPO_DIR} mtree -C -k type,mode,link,size | \ sed 's|^\.|./usr/freebsd-packages|g' >> ${.TARGET}/METALOG .endif -.if !defined(NODISTSETS) +.if !defined(NODISTSETS) || empty(NODISTSETS) # Copy MANIFEST to provide legacy dist checksums in both modes mkdir -p ${.TARGET}/usr/freebsd-dist echo "./usr/freebsd-dist type=dir uname=root gname=wheel mode=0755" >> ${.TARGET}/METALOG @@ -289,7 +304,7 @@ bootonly: MK_TOOLCHAIN=no \ MK_RESCUE=no MK_DICT=no \ MK_KERNEL_SYMBOLS=no MK_TESTS=no MK_DEBUG_FILES=no) -.if !defined(NODISTSETS) +.if !defined(NODISTSETS) || empty(NODISTSETS) # Copy manifest only (no distfiles) to get checksums mkdir -p ${.TARGET}/usr/freebsd-dist cp MANIFEST ${.TARGET}/usr/freebsd-dist @@ -297,7 +312,12 @@ bootonly: echo "./usr/freebsd-dist/MANIFEST type=file uname=root gname=wheel mode=0644" >> ${.TARGET}/METALOG .endif .if ${.MAKE.OS} == "FreeBSD" && (!defined(NOPKG) || empty(NOPKG)) - ${PKG_INSTALL} pkg || true +.if !defined(NOPKGBASE) || empty(NOPKGBASE) + ${PKGBASE_INSTALL} pkg + ${PKGBASE_CLEAN} +.else + ${PKG_INSTALL} pkg +.endif ${PKG_INSTALL} wifi-firmware-iwlwifi-kmod wifi-firmware-rtw88-kmod || true ${PKG_CLEAN} || true .endif @@ -317,7 +337,7 @@ bootonly: echo "./boot/loader.conf type=file uname=root gname=wheel mode=0644" >> ${.TARGET}/METALOG echo "./etc/rc.local type=file uname=root gname=wheel mode=0644" >> ${.TARGET}/METALOG -dvd: ${PKGBASE_REPO_DIR} +dvd: # Install system mkdir -p ${.TARGET} ( cd ${WORLDDIR} && ${IMAKE} installworld installkernel distribution \ @@ -336,7 +356,7 @@ dvd: ${PKGBASE_REPO_DIR} mtree -C -k type,mode,link,size | \ sed 's|^\.|./usr/freebsd-packages|g' >> ${.TARGET}/METALOG .endif -.if !defined(NODISTSETS) +.if !defined(NODISTSETS) || empty(NODISTSETS) # Copy MANIFEST to provide legacy dist checksums in both modes mkdir -p ${.TARGET}/usr/freebsd-dist echo "./usr/freebsd-dist type=dir uname=root gname=wheel mode=0755" >> ${.TARGET}/METALOG @@ -438,7 +458,9 @@ release-install: .if defined(DESTDIR) && !empty(DESTDIR) mkdir -p ${DESTDIR} .endif +.if !defined(NODISTSETS) || empty(NODISTSETS) cp -a ftp ${DESTDIR}/ +.endif .if !empty(IMAGES) .for I in ${IMAGES} cp -p ${I} ${DESTDIR}/${OSRELEASE}-${I} @@ -449,6 +471,12 @@ release-install: ( cd ${DESTDIR} && sha512 ${OSRELEASE}* > ${DESTDIR}/CHECKSUM.SHA512 ) ( cd ${DESTDIR} && sha256 ${OSRELEASE}* > ${DESTDIR}/CHECKSUM.SHA256 ) .endif +.if !defined (NOPKGBASE) || empty(NOPKGBASE) + mkdir -p ${DESTDIR}/pkgbase + cp -p pkgbase-repo.tar ${DESTDIR}/pkgbase/ + ( cd ${DESTDIR}/pkgbase && sha256 pkgbase-repo.tar > CHECKSUM.SHA256 ) + ( cd ${DESTDIR}/pkgbase && sha512 pkgbase-repo.tar > CHECKSUM.SHA512 ) +.endif .include "${.CURDIR}/Makefile.inc1" .include "${.CURDIR}/Makefile.vm" diff --git a/release/Makefile.azure b/release/Makefile.azure index 577221ee3899..09dcde6af636 100644 --- a/release/Makefile.azure +++ b/release/Makefile.azure @@ -39,7 +39,7 @@ azure-check-depends: .endif .for _FS in ${AZURE_FSLIST} -AZURE_IMG_${_FS}= ${.OBJDIR}/azure.${_FS}.vhdf +AZURE_IMG_${_FS}= ${.OBJDIR}/azure.${_FS}.vhd AZURE_TARGET_${_FS}= ${OSRELEASE}-${_FS}${SNAPSHOT_DATE} azure-do-upload-${_FS}: diff --git a/release/Makefile.mirrors b/release/Makefile.mirrors index 5e65bfbe8b3f..ed9420e926ce 100644 --- a/release/Makefile.mirrors +++ b/release/Makefile.mirrors @@ -63,6 +63,13 @@ STAGE_TARGETS+= oci-images-stage OCI_DIR= ${TLD}/OCI-IMAGES/${REVISION}-${BRANCH}/${TARGET_ARCH} .endif +.if !defined(EMBEDDED) || empty(EMBEDDED) +.if !defined(NOPKGBASE) || empty(NOPKGBASE) +STAGE_TARGETS+= pkgbase-repo-stage +PKGBASE_DIR= ${TLD}/PKGBASE-REPOS/${REVISION}-${BRANCH}/${TARGET_ARCH} +.endif +.endif + CLEANFILES+= ${STAGE_TARGETS} CHECKSUM_FILES?= SHA512 SHA256 SNAP_SUFFIX!= echo ${_SNAP_SUFFIX:S,^-,,1} | tr -d ' ' @@ -366,5 +373,48 @@ oci-images-stage: . endfor .endif +pkgbase-repo-stage: + mkdir -p ${PKGBASE_DIR} +.if defined(SNAPSHOT) && !empty(SNAPSHOT) +. if exists(${PKGBASE_DIR}/Latest) + rm -rf ${PKGBASE_DIR}/Latest +. endif + mkdir -p ${PKGBASE_DIR}/Latest + mkdir -p ${PKGBASE_DIR}/${BUILDDATE} + cd ${RELEASEDIR}/pkgbase && \ + mv pkgbase-repo.tar ${OSRELEASE}-pkgbase-repo-${SNAP_SUFFIX}.tar + cp -p ${RELEASEDIR}/pkgbase/${OSRELEASE}-pkgbase-repo-${SNAP_SUFFIX}.tar \ + ${PKGBASE_DIR}/${BUILDDATE}/${OSRELEASE}-pkgbase-repo-${SNAP_SUFFIX}.tar + cd ${PKGBASE_DIR}/Latest && \ + ln -s ../${BUILDDATE}/${OSRELEASE}-pkgbase-repo-${SNAP_SUFFIX}.tar \ + ${OSRELEASE}-pkgbase-repo.tar + cd ${RELEASEDIR}/pkgbase && rm -f CHECKSUM.* +. for CHECKSUM in ${CHECKSUM_FILES} + cd ${RELEASEDIR}/pkgbase && \ + ${CHECKSUM:tl} ${OSRELEASE}-pkgbase-repo-*.tar > CHECKSUM.${CHECKSUM}-${SNAP_SUFFIX} + cp -p ${RELEASEDIR}/pkgbase/CHECKSUM.${CHECKSUM}-${SNAP_SUFFIX} \ + ${PKGBASE_DIR}/${BUILDDATE}/CHECKSUM.${CHECKSUM}-${SNAP_SUFFIX} + cd ${PKGBASE_DIR}/Latest && \ + ln -s ../${BUILDDATE}/CHECKSUM.${CHECKSUM}-${SNAP_SUFFIX} \ + CHECKSUM.${CHECKSUM} +. endfor +.else # not snapshot +. if exists(${PKGBASE_DIR}/Latest) + rm -rf ${PKGBASE_DIR}/Latest +. endif + mkdir -p ${PKGBASE_DIR}/Latest + cd ${RELEASEDIR}/pkgbase && \ + mv pkgbase-repo.tar ${OSRELEASE}-pkgbase-repo.tar + cp -p ${RELEASEDIR}/pkgbase/${OSRELEASE}-pkgbase-repo.tar \ + ${PKGBASE_DIR}/Latest/${OSRELEASE}-pkgbase-repo.tar +. endfor +. for CHECKSUM in ${CHECKSUM_FILES} + cd ${RELEASEDIR}/pkgbase && \ + ${CHECKSUM:tl} ${OSRELEASE}-pkgbase-repo.tar > CHECKSUM.${CHECKSUM} + cp -p ${RELEASEDIR}/pkgbase/CHECKSUM.${CHECKSUM} \ + ${PKGBASE_DIR}/Latest/CHECKSUM.${CHECKSUM} +. endfor +.endif + ftp-stage: remove-old-bits ${STAGE_TARGETS} diff --git a/release/Makefile.vm b/release/Makefile.vm index eafd1d6abf71..336e8fc82299 100644 --- a/release/Makefile.vm +++ b/release/Makefile.vm @@ -134,6 +134,7 @@ cw-${_CW:tl}-${_FS}-${_FMT}: ${QEMUTGT} ${PKGBASE_REPO_DIR} ${WITHOUT_QEMU:DWITHOUT_QEMU=true} \ ${NO_ROOT:DNO_ROOT=true} \ PKG_CMD=${PKG_CMD:Upkg} \ + PKG_ABI=${PKG_ABI} \ PKG_REPOS_DIR=${PKG_REPOS_DIR:U${.OBJDIR}/${.TARGET}/etc/pkg} \ PKG_REPO_NAME=${PKG_REPO_NAME:UFreeBSD-ports} \ PKG_INSTALL_EPOCH=${PKG_INSTALL_EPOCH:U${GITEPOCH}} \ @@ -192,6 +193,7 @@ vm-image: ${QEMUTGT} ${PKGBASE_REPO_DIR} ${WITHOUT_QEMU:DWITHOUT_QEMU=true} \ ${NO_ROOT:DNO_ROOT=true} \ PKG_CMD=${PKG_CMD:Upkg} \ + PKG_ABI=${PKG_ABI} \ PKG_REPOS_DIR=${PKG_REPOS_DIR:U${.OBJDIR}/${.TARGET}-${FORMAT}-${FS}/etc/pkg} \ PKG_REPO_NAME=${PKG_REPO_NAME:UFreeBSD-ports} \ PKG_INSTALL_EPOCH=${PKG_INSTALL_EPOCH:U${GITEPOCH}} \ diff --git a/release/packages/create-sets.sh b/release/packages/create-sets.sh index 8c564ecfeb92..3780e8ee46c6 100755 --- a/release/packages/create-sets.sh +++ b/release/packages/create-sets.sh @@ -1,4 +1,20 @@ #! /bin/sh +# +# SPDX-License-Identifier: ISC +# +# Copyright (c) 2025 Lexi Winter <ivy@FreeBSD.org> +# +# 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. # Generate metapackage sets. We do this by examining the annotations field # of the packages we previously built. @@ -17,6 +33,10 @@ repodir="$1"; shift # generate-set-ucl.lua. UCL_VARS="$@" +# Nothing is explicitly added to set-base, so it wouldn't get built unless +# we list it here. +SETS="base base-dbg base-jail base-jail-dbg" + for pkg in "$repodir"/*.pkg; do # If the package name doesn't containing a '-', then it's # probably data.pkg or packagesite.pkg, which are not real diff --git a/release/packages/generate-set-ucl.lua b/release/packages/generate-set-ucl.lua index b1b70053b02a..3c8474bf8e68 100755 --- a/release/packages/generate-set-ucl.lua +++ b/release/packages/generate-set-ucl.lua @@ -1,7 +1,7 @@ #!/usr/libexec/flua --[[ usage: -generare-set-ucl.lua <template> [<variablename> <variablevalue>] +generate-set-ucl.lua <template> [<variablename> <variablevalue>] Generate the UCL for a set metapackage. The variables provided will be substituted as UCL variables. diff --git a/release/packages/generate-ucl.lua b/release/packages/generate-ucl.lua index ea3743894740..c61cbb251d8b 100755 --- a/release/packages/generate-ucl.lua +++ b/release/packages/generate-ucl.lua @@ -1,7 +1,7 @@ #!/usr/libexec/flua --[[ usage: -generare-ucl.lua [<variablename> <variablevalue>]... <sourceucl> <destucl> +generate-ucl.lua [<variablename> <variablevalue>]... <sourceucl> <destucl> Build a package's UCL configuration by loading the template UCL file <sourceucl>, replacing any $VARIABLES in the UCL based on the provided diff --git a/release/packages/sets/base-jail.ucl b/release/packages/sets/base-jail.ucl index e6c52349d3cb..d1dc17bc9860 100644 --- a/release/packages/sets/base-jail.ucl +++ b/release/packages/sets/base-jail.ucl @@ -16,7 +16,7 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -comment = "Base jail system (metapackage)" +comment = "Base system for jails (metapackage)" vital = true @@ -30,6 +30,10 @@ deps { version = "${VERSION}" origin = "base" }, + "set-optional-jail" { + version = "${VERSION}" + origin = "base" + }, "set-devel" { version = "${VERSION}" origin = "base" diff --git a/release/packages/sets/base.ucl b/release/packages/sets/base.ucl index 7b86450ae5b2..823e2342fab8 100644 --- a/release/packages/sets/base.ucl +++ b/release/packages/sets/base.ucl @@ -21,7 +21,11 @@ comment = "Base system (metapackage)" vital = true desc = <<EOD -This metapackage installs all packages which are part of the base system. +This metapackage installs all packages which are part of the base system, +excluding 32-bit compatibility libraries, tests, debugging symbols, and +source code. + +This is equivalent to installing the legacy "base.txz" distribution set. EOD deps { @@ -29,6 +33,10 @@ deps { version = "${VERSION}" origin = "base" }, + "set-optional" { + version = "${VERSION}" + origin = "base" + }, "set-devel" { version = "${VERSION}" origin = "base" diff --git a/release/packages/ucl/libstdthreads-all.ucl b/release/packages/sets/optional-dbg.ucl index 0ac43e7576a2..a221327518f9 100644 --- a/release/packages/ucl/libstdthreads-all.ucl +++ b/release/packages/sets/optional-dbg.ucl @@ -16,13 +16,16 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -comment = "C11 threading library" +comment = "Optional software debug symbols (metapackage)" desc = <<EOD -libstdthreads provides the thread-control interface defined in the -ISO/IEC 9899:2011 (C11) standard. +This metapackage installs debugging symbols for optional software +which is not part of the minimal set. EOD -annotations { - set = "base,base-jail" +deps { + "set-minimal-dbg" { + version = "${VERSION}" + origin = "base" + }, } diff --git a/release/packages/ucl/liblzma-all.ucl b/release/packages/sets/optional-jail-dbg.ucl index 61424c86febb..84c76fa407fe 100644 --- a/release/packages/ucl/liblzma-all.ucl +++ b/release/packages/sets/optional-jail-dbg.ucl @@ -16,13 +16,16 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -comment = "XZ LZMA library" +comment = "Optional software debug symbols for jails (metapackage)" desc = <<EOD -liblzma allows applications to compress and decompress data using the XZ -compression algorithm. +This metapackage installs debugging symbols for optional software +which is not part of the minimal set. EOD -annotations { - set = "base,base-jail" +deps { + "set-minimal-jail-dbg" { + version = "${VERSION}" + origin = "base" + }, } diff --git a/release/packages/sets/optional-jail.ucl b/release/packages/sets/optional-jail.ucl new file mode 100644 index 000000000000..da6d5fb00825 --- /dev/null +++ b/release/packages/sets/optional-jail.ucl @@ -0,0 +1,34 @@ +/* + * SPDX-License-Identifier: ISC + * + * Copyright (c) 2025 Lexi Winter <ivy@FreeBSD.org> + * + * 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. + */ + +comment = "Optional base system software for jails (metapackage)" + +vital = true + +desc = <<EOD +This metapackage installs all optional software which is part of the +base system but not installed by the minimal set, other than compilers +and software which is not generally useful in a jail(8) environment. +EOD + +deps { + "set-minimal-jail" { + version = "${VERSION}" + origin = "base" + }, +} diff --git a/release/packages/sets/optional.ucl b/release/packages/sets/optional.ucl new file mode 100644 index 000000000000..f50fa17e4297 --- /dev/null +++ b/release/packages/sets/optional.ucl @@ -0,0 +1,33 @@ +/* + * SPDX-License-Identifier: ISC + * + * Copyright (c) 2025 Lexi Winter <ivy@FreeBSD.org> + * + * 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. + */ + +comment = "Optional base system software (metapackage)" + +vital = true + +desc = <<EOD +This metapackage installs all optional software, other than compilers, +which is part of the base system but not installed by the minimal set. +EOD + +deps { + "set-minimal" { + version = "${VERSION}" + origin = "base" + }, +} diff --git a/release/packages/ucl/acct-all.ucl b/release/packages/ucl/acct-all.ucl index f4c7119af798..e6c98c3180ce 100644 --- a/release/packages/ucl/acct-all.ucl +++ b/release/packages/ucl/acct-all.ucl @@ -31,5 +31,5 @@ system provided in the $PKG_NAME_PREFIX-audit package for that. EOD annotations { - set = "base,base-jail" + set = "optional,optional-jail" } diff --git a/release/packages/ucl/acpi-all.ucl b/release/packages/ucl/acpi-all.ucl index c459f0004f5d..9e75822a8a04 100644 --- a/release/packages/ucl/acpi-all.ucl +++ b/release/packages/ucl/acpi-all.ucl @@ -34,3 +34,7 @@ ACPI implementation in the kernel: * acpidump(8) dumps the system's raw ACPI data. * iasl(8) is the Intel ACPI compiler/decompiler EOD + +annotations { + set = "optional" +} diff --git a/release/packages/ucl/apm-all.ucl b/release/packages/ucl/apm-all.ucl index 1318befc4273..a0ade7fb8a5f 100644 --- a/release/packages/ucl/apm-all.ucl +++ b/release/packages/ucl/apm-all.ucl @@ -27,3 +27,7 @@ This package provides apm(8), a utility which can be used to monitor the APM state and change the system power mode, and the /etc/rc.d/apm service which can enable and disable APM at system startup and shutdown. EOD + +annotations { + set = "optional" +} diff --git a/release/packages/ucl/atf-all.ucl b/release/packages/ucl/atf-all.ucl index 3014163c95bd..6e86955fb539 100644 --- a/release/packages/ucl/atf-all.ucl +++ b/release/packages/ucl/atf-all.ucl @@ -35,5 +35,5 @@ interface. EOD annotations { - set = "base,base-jail" + set = "optional,optional-jail" } diff --git a/release/packages/ucl/audit-all.ucl b/release/packages/ucl/audit-all.ucl index 43074b3bf299..3324795d8d9c 100644 --- a/release/packages/ucl/audit-all.ucl +++ b/release/packages/ucl/audit-all.ucl @@ -44,5 +44,5 @@ used to manage the auditing system and work with audit data. EOD annotations { - set = "base,base-jail" + set = "optional,optional-jail" } diff --git a/release/packages/ucl/autofs-all.ucl b/release/packages/ucl/autofs-all.ucl index 63261b9ce8d1..d45949847ce1 100644 --- a/release/packages/ucl/autofs-all.ucl +++ b/release/packages/ucl/autofs-all.ucl @@ -29,5 +29,5 @@ managing this, as well as the management utility automount(8). EOD annotations { - set = "base,base-jail" + set = "optional,optional-jail" } diff --git a/release/packages/ucl/bhyve-all.ucl b/release/packages/ucl/bhyve-all.ucl index c4e450a47934..c01a826a123f 100644 --- a/release/packages/ucl/bhyve-all.ucl +++ b/release/packages/ucl/bhyve-all.ucl @@ -42,5 +42,5 @@ which can be used to run simple virtual machines. EOD annotations { - set = "base,base-jail" + set = "optional,optional-jail" } diff --git a/release/packages/ucl/blocklist-all.ucl b/release/packages/ucl/blocklist-all.ucl index 6e94b3822cf0..92f304ac9151 100644 --- a/release/packages/ucl/blocklist-all.ucl +++ b/release/packages/ucl/blocklist-all.ucl @@ -28,5 +28,5 @@ only daemons which have had blacklist support added will work. EOD annotations { - set = "base,base-jail" + set = "optional,optional-jail" } diff --git a/release/packages/ucl/bluetooth-all.ucl b/release/packages/ucl/bluetooth-all.ucl index a2376996ec60..55ce4f37f475 100644 --- a/release/packages/ucl/bluetooth-all.ucl +++ b/release/packages/ucl/bluetooth-all.ucl @@ -24,3 +24,7 @@ network devices, including the /etc/rc.d/bluetooth service which manages the Bluetooth stack when Bluetooth devices are attached or removed, and the rfcomm_pppd(8) daemon which manages PPP connections over Bluetooth. EOD + +annotations { + set = "optional" +} diff --git a/release/packages/ucl/bsdconfig-all.ucl b/release/packages/ucl/bsdconfig-all.ucl index 944dc0a259da..42e4114ba20d 100644 --- a/release/packages/ucl/bsdconfig-all.ucl +++ b/release/packages/ucl/bsdconfig-all.ucl @@ -27,5 +27,5 @@ the rc.conf(5) configuration. EOD annotations { - set = "base,base-jail" + set = "optional,optional-jail" } diff --git a/release/packages/ucl/bsdinstall-all.ucl b/release/packages/ucl/bsdinstall-all.ucl index 2e01cbcb51ca..a3fa820e1383 100644 --- a/release/packages/ucl/bsdinstall-all.ucl +++ b/release/packages/ucl/bsdinstall-all.ucl @@ -37,5 +37,5 @@ images and jails. EOD annotations { - set = "base,base-jail" + set = "optional,optional-jail" } diff --git a/release/packages/ucl/bsnmp-all.ucl b/release/packages/ucl/bsnmp-all.ucl index 88a777b3181d..9d02968b0ebf 100644 --- a/release/packages/ucl/bsnmp-all.ucl +++ b/release/packages/ucl/bsnmp-all.ucl @@ -42,5 +42,5 @@ bsnmpd can be used in unexpected ways. EOD annotations { - set = "base,base-jail" + set = "optional,optional-jail" } diff --git a/release/packages/ucl/ccdconfig-all.ucl b/release/packages/ucl/ccdconfig-all.ucl index 8f7d1e4300a5..7c23c56d9a29 100644 --- a/release/packages/ucl/ccdconfig-all.ucl +++ b/release/packages/ucl/ccdconfig-all.ucl @@ -22,3 +22,7 @@ desc = <<EOD ccdconfig(8) is used to configure the concatenated disk driver, ccd(4). ccdconfig(8) may also be started on boot using the "ccd" rc(8) service. EOD + +annotations { + set = "optional" +} diff --git a/release/packages/ucl/clang-all.ucl b/release/packages/ucl/clang-all.ucl index e0372940ed42..86cac409fa9e 100644 --- a/release/packages/ucl/clang-all.ucl +++ b/release/packages/ucl/clang-all.ucl @@ -25,7 +25,7 @@ This package provides the clang(1) frontend as well as related utilities for working with object files. EOD -licenses = [ NCSA ] +licenses = [ "Apache-2.0 WITH LLVM-exception" ] annotations { set = devel diff --git a/release/packages/ucl/console-tools-all.ucl b/release/packages/ucl/console-tools-all.ucl index fee09a1ea3f5..1eef02d8370d 100644 --- a/release/packages/ucl/console-tools-all.ucl +++ b/release/packages/ucl/console-tools-all.ucl @@ -29,3 +29,7 @@ to the system: * moused(8) can be used to interface with a mouse and provide a graphical mouse cursor on the video console. EOD + +annotations { + set = "optional" +} diff --git a/release/packages/ucl/csh-all.ucl b/release/packages/ucl/csh-all.ucl index 787c43bdb82b..1df758ed29ec 100644 --- a/release/packages/ucl/csh-all.ucl +++ b/release/packages/ucl/csh-all.ucl @@ -40,5 +40,5 @@ a history mechanism, job control, and a C-like syntax. EOD annotations { - set = "base,base-jail" + set = "optional,optional-jail" } diff --git a/release/packages/ucl/ctf-tools-all.ucl b/release/packages/ucl/ctf-all.ucl index df2955dafab5..970ac3ffb4fa 100644 --- a/release/packages/ucl/ctf-tools-all.ucl +++ b/release/packages/ucl/ctf-all.ucl @@ -21,7 +21,7 @@ * text is licensed under the CDDL. */ -comment = "Compact C Type Format (CTF) utilities" +comment = "Compact C Type Format (CTF)" desc = <<EOD The Compact C Type Format (CTF) is a method of encoding type information for C @@ -29,7 +29,8 @@ programs inside ELF objects. Compared to the common DWARF debug symbol format, CTF is intended specifically for runtime program analyzers such as DTrace. This package provides the ctfconvert(1), ctfdump(1) and ctfmerge(1) utilities -which are used to work with CTF data. +which are used to work with CTF data, and the libctf library which allows +applications to access CTF debugging information programmatically. EOD licenses = [ "CDDL-1.0" ] diff --git a/release/packages/ucl/ctl-all.ucl b/release/packages/ucl/ctl-all.ucl index 22eebb7a2eee..9aa4de455df7 100644 --- a/release/packages/ucl/ctl-all.ucl +++ b/release/packages/ucl/ctl-all.ucl @@ -39,3 +39,7 @@ the CAM Target Layer configuration, accepting incoming iSCSI connections, performing authentication and passing connections to the kernel part of the native iSCSI target. EOD + +annotations { + set = "optional" +} diff --git a/release/packages/ucl/cxgbe-tools-all.ucl b/release/packages/ucl/cxgbe-tools-all.ucl index 33701ae96951..34e1718bb83e 100644 --- a/release/packages/ucl/cxgbe-tools-all.ucl +++ b/release/packages/ucl/cxgbe-tools-all.ucl @@ -25,3 +25,7 @@ state of the interface, loading firmware, and configuring features such as the hardware packet filter, Quality-of-Service (QoS) scheduler, and TCP offload engine. EOD + +annotations { + set = "optional" +} diff --git a/release/packages/ucl/diff3-all.ucl b/release/packages/ucl/diff3-all.ucl new file mode 100644 index 000000000000..b4e53e63c67f --- /dev/null +++ b/release/packages/ucl/diff3-all.ucl @@ -0,0 +1,15 @@ +/* + * SPDX-License-Identifier: ISC + */ + +comment = "GNU 3-way file comparison and merge utility" + +desc = <<EOD +Compares three files line by line, optionally merging them. +EOD + +licenses = [ "GPL-2.0-or-later" ] + +annotations { + set = "optional,optional-jail" +} diff --git a/release/packages/ucl/dma-all.ucl b/release/packages/ucl/dma-all.ucl index 7b52c48a6def..1465fa44f5f1 100644 --- a/release/packages/ucl/dma-all.ucl +++ b/release/packages/ucl/dma-all.ucl @@ -48,5 +48,5 @@ the $PKG_NAME_PREFIX-sendmail package instead. EOD annotations { - set = "base,base-jail" + set = "optional,optional-jail" } diff --git a/release/packages/ucl/dtrace-all.ucl b/release/packages/ucl/dtrace-all.ucl index 7969ed59c144..c41ca59621de 100644 --- a/release/packages/ucl/dtrace-all.ucl +++ b/release/packages/ucl/dtrace-all.ucl @@ -27,3 +27,7 @@ This package provides the dtrace(1) utility for executing DTrace scripts written in the D language, the utilities lockstat(1) and plockstat(1), and several example D scripts installed in /usr/share/dtrace. EOD + +annotations { + set = "optional" +} diff --git a/release/packages/ucl/dwatch-all.ucl b/release/packages/ucl/dwatch-all.ucl index d4646c78101e..c4a6527677f7 100644 --- a/release/packages/ucl/dwatch-all.ucl +++ b/release/packages/ucl/dwatch-all.ucl @@ -35,3 +35,7 @@ DTrace scripts to coalesce trace output by date/time, process info, and [optionally] probe-specific data. dwatch also includes a set of pre-defined profiles for tracing common system operations. EOD + +annotations { + set = "optional" +} diff --git a/release/packages/ucl/ee-all.ucl b/release/packages/ucl/ee-all.ucl index fbad921e7ef8..93f9d5e056af 100644 --- a/release/packages/ucl/ee-all.ucl +++ b/release/packages/ucl/ee-all.ucl @@ -25,5 +25,5 @@ new users. EOD annotations { - set = "base,base-jail" + set = "optional,optional-jail" } diff --git a/release/packages/ucl/efi-tools-all.ucl b/release/packages/ucl/efi-tools-all.ucl index 52c966d7cda1..d6dc71dc616c 100644 --- a/release/packages/ucl/efi-tools-all.ucl +++ b/release/packages/ucl/efi-tools-all.ucl @@ -35,3 +35,7 @@ the UEFI firmware from a running system: * efitable(8) can dump UEFI tables. EOD + +annotations { + set = minimal +} diff --git a/release/packages/ucl/examples-all.ucl b/release/packages/ucl/examples-all.ucl index 027c65427924..15b0b8aadd0f 100644 --- a/release/packages/ucl/examples-all.ucl +++ b/release/packages/ucl/examples-all.ucl @@ -26,5 +26,5 @@ Some useful graphics data related to the "Beastie" mascot are also provided. EOD annotations { - set = "base,base-jail" + set = "optional,optional-jail" } diff --git a/release/packages/ucl/fd-all.ucl b/release/packages/ucl/fd-all.ucl index 768dac3c1a0c..ff87148049ef 100644 --- a/release/packages/ucl/fd-all.ucl +++ b/release/packages/ucl/fd-all.ucl @@ -26,3 +26,7 @@ by the fdc(4) driver: * fdformat(8) is used to format disks. * fdread(1) and fdwrite(1) read and write data to or from floppy disks. EOD + +annotations { + set = "optional" +} diff --git a/release/packages/ucl/fetch-all.ucl b/release/packages/ucl/fetch-all.ucl index d14f22cb74a5..5a3c0be826fa 100644 --- a/release/packages/ucl/fetch-all.ucl +++ b/release/packages/ucl/fetch-all.ucl @@ -19,13 +19,13 @@ comment = "Retrieve a file from a remote URL" desc = <<EOD -The fetch(1) utility retieves one or more files from a remote URL via +The fetch(1) utility retrieves one or more files from a remote URL via HTTP or FTP. fetch(1) includes support for TLS, HTTP proxies, .netrc files, and includes a "mirror" mode which only downloads files which are newer on the remote site. Also provided is fetch(3), a library which allows applications to use -this functionality programatically. +this functionality programmatically. EOD annotations { diff --git a/release/packages/ucl/ftp-all.ucl b/release/packages/ucl/ftp-all.ucl index 285bf72529b5..626feabc69af 100644 --- a/release/packages/ucl/ftp-all.ucl +++ b/release/packages/ucl/ftp-all.ucl @@ -24,5 +24,5 @@ protocol (RFC 959) to upload and download files. EOD annotations { - set = "base,base-jail" + set = "optional,optional-jail" } diff --git a/release/packages/ucl/games-all.ucl b/release/packages/ucl/games-all.ucl index 80339ef6cdea..0716b0c79c19 100644 --- a/release/packages/ucl/games-all.ucl +++ b/release/packages/ucl/games-all.ucl @@ -28,5 +28,5 @@ Games distributed with the system: EOD annotations { - set = "base,base-jail" + set = "optional,optional-jail" } diff --git a/release/packages/ucl/ggate-all.ucl b/release/packages/ucl/ggate-all.ucl index 9b968e1b1239..9a8ba37f0f66 100644 --- a/release/packages/ucl/ggate-all.ucl +++ b/release/packages/ucl/ggate-all.ucl @@ -30,3 +30,7 @@ such as iSCSI. This package provides the ggated(8) server used to export devices, and the ggatec(8) client used to access them. EOD + +annotations { + set = "optional" +} diff --git a/release/packages/ucl/gssd-all.ucl b/release/packages/ucl/gssd-all.ucl index dfd2958d143e..c3e76e365ac4 100644 --- a/release/packages/ucl/gssd-all.ucl +++ b/release/packages/ucl/gssd-all.ucl @@ -30,5 +30,5 @@ This daemon is required when using Kerberos authentication with NFS. EOD annotations { - set = "base,base-jail" + set = "optional,optional-jail" } diff --git a/release/packages/ucl/hast-all.ucl b/release/packages/ucl/hast-all.ucl index f4eed4eb81bd..9fb4ed1a350d 100644 --- a/release/packages/ucl/hast-all.ucl +++ b/release/packages/ucl/hast-all.ucl @@ -23,3 +23,7 @@ The Highly Available Storage daemon, hastd(8), provides replication of block storage devices between two machines on a network. HAST can be used by itself or as part of an HA cluster to provide redundant cluster storage. EOD + +annotations { + set = "optional" +} diff --git a/release/packages/ucl/hostapd-all.ucl b/release/packages/ucl/hostapd-all.ucl index a2639c464935..cb25beab4f58 100644 --- a/release/packages/ucl/hostapd-all.ucl +++ b/release/packages/ucl/hostapd-all.ucl @@ -24,3 +24,7 @@ IEEE Std 802.11 wireless network interface configured in Access Point (AP) mode. hostapd can authenticate clients itself via 802.11i (WPA), or via 802.1X (EAP) using an external RADIUS server. EOD + +annotations { + set = "optional" +} diff --git a/release/packages/ucl/inetd-all.ucl b/release/packages/ucl/inetd-all.ucl index be1e44fbaa3d..bff3393e5f73 100644 --- a/release/packages/ucl/inetd-all.ucl +++ b/release/packages/ucl/inetd-all.ucl @@ -25,5 +25,5 @@ built-in servers for basic services are also provided. EOD annotations { - set = "base,base-jail" + set = "optional,optional-jail" } diff --git a/release/packages/ucl/ipf-all.ucl b/release/packages/ucl/ipf-all.ucl index 04a0a8ef7469..d9ca0424a442 100644 --- a/release/packages/ucl/ipf-all.ucl +++ b/release/packages/ucl/ipf-all.ucl @@ -27,5 +27,5 @@ of configuring IP Filter are also provided in /usr/share/examples/ipfilter. EOD annotations { - set = "base,base-jail" + set = "optional,optional-jail" } diff --git a/release/packages/ucl/ipfw-all.ucl b/release/packages/ucl/ipfw-all.ucl index 4eec24194633..1a76aca68987 100644 --- a/release/packages/ucl/ipfw-all.ucl +++ b/release/packages/ucl/ipfw-all.ucl @@ -30,5 +30,5 @@ at system startup. EOD annotations { - set = "base,base-jail" + set = "optional,optional-jail" } diff --git a/release/packages/ucl/iscsi-all.ucl b/release/packages/ucl/iscsi-all.ucl index 928dfe2d0176..c59345a0e147 100644 --- a/release/packages/ucl/iscsi-all.ucl +++ b/release/packages/ucl/iscsi-all.ucl @@ -24,3 +24,7 @@ network. This package provides iscsid(8), the userland component of the iSCSI initiator, the iscsictl(8) utility used to monitor and configure the initiator, and rc(8) services to configure the initiator during system startup. EOD + +annotations { + set = "optional" +} diff --git a/release/packages/ucl/jail-all.ucl b/release/packages/ucl/jail-all.ucl index 6cd085581240..d2f069f2eb52 100644 --- a/release/packages/ucl/jail-all.ucl +++ b/release/packages/ucl/jail-all.ucl @@ -32,5 +32,5 @@ the /etc/jail.conf configuration file. EOD annotations { - set = "base,base-jail" + set = "optional,optional-jail" } diff --git a/release/packages/ucl/kerberos-all.ucl b/release/packages/ucl/kerberos-all.ucl index a62be895e96d..c888ff5be6e0 100644 --- a/release/packages/ucl/kerberos-all.ucl +++ b/release/packages/ucl/kerberos-all.ucl @@ -34,5 +34,5 @@ sometimes called Kerberos V. EOD annotations { - set = "base,base-jail" + set = "optional,optional-jail" } diff --git a/release/packages/ucl/kerberos-kdc-all.ucl b/release/packages/ucl/kerberos-kdc-all.ucl index 7c2d412460ec..21b0d2121be7 100644 --- a/release/packages/ucl/kerberos-kdc-all.ucl +++ b/release/packages/ucl/kerberos-kdc-all.ucl @@ -29,5 +29,5 @@ manages the Kerberos database and issues tickets to Kerberos users. EOD annotations { - set = "base,base-jail" + set = "optional,optional-jail" } diff --git a/release/packages/ucl/kernel-man.ucl b/release/packages/ucl/kernel-man.ucl index 90257693b97b..4f56bd12cd92 100644 --- a/release/packages/ucl/kernel-man.ucl +++ b/release/packages/ucl/kernel-man.ucl @@ -24,5 +24,5 @@ developer manual pages (section 9). EOD annotations { - set = "minimal" + set = "minimal,minimal-jail" } diff --git a/release/packages/ucl/kyua-all.ucl b/release/packages/ucl/kyua-all.ucl index e7a26de7ea6d..2b38efc30d96 100644 --- a/release/packages/ucl/kyua-all.ucl +++ b/release/packages/ucl/kyua-all.ucl @@ -54,5 +54,5 @@ TAP-compliant test programs can also be executed through kyua. EOD annotations { - set = "base,base-jail" + set = "devel" } diff --git a/release/packages/ucl/lib9p-all.ucl b/release/packages/ucl/lib9p-all.ucl index 9eb030bd7a0c..2cc31d4a3889 100644 --- a/release/packages/ucl/lib9p-all.ucl +++ b/release/packages/ucl/lib9p-all.ucl @@ -24,5 +24,5 @@ of the 9P protocol. EOD annotations { - set = "base,base-jail" + set = "optional,optional-jail" } diff --git a/release/packages/ucl/libarchive-all.ucl b/release/packages/ucl/libarchive-all.ucl index 79a80b6a4c54..742734bf8b62 100644 --- a/release/packages/ucl/libarchive-all.ucl +++ b/release/packages/ucl/libarchive-all.ucl @@ -34,5 +34,5 @@ such as gzip and bzip2. EOD annotations { - set = "base,base-jail" + set = "optional,optional-jail" } diff --git a/release/packages/ucl/libbegemot-all.ucl b/release/packages/ucl/libbegemot-all.ucl index c1080de8f253..812e94f72eaf 100644 --- a/release/packages/ucl/libbegemot-all.ucl +++ b/release/packages/ucl/libbegemot-all.ucl @@ -46,5 +46,5 @@ and, in addition to select(2) and poll(2) also support timers. EOD annotations { - set = "base,base-jail" + set = "optional,optional-jail" } diff --git a/release/packages/ucl/libblocksruntime-all.ucl b/release/packages/ucl/libblocksruntime-all.ucl index 4b4085d9d0da..72f1fca68a99 100644 --- a/release/packages/ucl/libblocksruntime-all.ucl +++ b/release/packages/ucl/libblocksruntime-all.ucl @@ -25,5 +25,5 @@ support for lambda expressions and closures. EOD annotations { - set = "base,base-jail" + set = "optional,optional-jail" } diff --git a/release/packages/ucl/libbsdstat-all.ucl b/release/packages/ucl/libbsdstat-all.ucl index acfb77fd6242..144d4200fed9 100644 --- a/release/packages/ucl/libbsdstat-all.ucl +++ b/release/packages/ucl/libbsdstat-all.ucl @@ -24,5 +24,5 @@ statistics. EOD annotations { - set = "base,base-jail" + set = "optional,optional-jail" } diff --git a/release/packages/ucl/libbsm-all.ucl b/release/packages/ucl/libbsm-all.ucl deleted file mode 100644 index 76852b310e8f..000000000000 --- a/release/packages/ucl/libbsm-all.ucl +++ /dev/null @@ -1,40 +0,0 @@ -/* - * SPDX-License-Identifier: BSD-2-Clause - * - * Copyright (c) 2005-2007 Robert N. M. Watson - * Copyright (c) 2008-2009 Apple Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -comment = "Basic Security Module (BSM) audit library" - -desc = <<EOD -The libbsm library routines provide an interface to BSM audit record streams, -allowing both the parsing of existing audit streams, as well as the creation -of new audit records and streams. -EOD - -annotations { - set = "base,base-jail" -} diff --git a/release/packages/ucl/libcasper-all.ucl b/release/packages/ucl/libcasper-all.ucl index 4f839ef6fc46..387200b6d1bf 100644 --- a/release/packages/ucl/libcasper-all.ucl +++ b/release/packages/ucl/libcasper-all.ucl @@ -26,5 +26,5 @@ helper process to allow restricted access to system and network resources. EOD annotations { - set = "base,base-jail" + set = "optional,optional-jail" } diff --git a/release/packages/ucl/libcompat-all.ucl b/release/packages/ucl/libcompat-all.ucl index 1fb209f4cafc..f78c54d93216 100644 --- a/release/packages/ucl/libcompat-all.ucl +++ b/release/packages/ucl/libcompat-all.ucl @@ -24,5 +24,5 @@ cuserid(3), re_comp(3), re_exec(3) and rexec(3). EOD annotations { - set = "base,base-jail" + set = "optional,optional-jail" } diff --git a/release/packages/ucl/libcompiler_rt-all.ucl b/release/packages/ucl/libcompiler_rt-all.ucl index 02be19aa0b7d..af7890c61639 100644 --- a/release/packages/ucl/libcompiler_rt-all.ucl +++ b/release/packages/ucl/libcompiler_rt-all.ucl @@ -4,5 +4,5 @@ The libcompiler_rt library from LLVM. EOD annotations { - set = "base,base-jail" + set = "optional,optional-jail" } diff --git a/release/packages/ucl/libcuse-all.ucl b/release/packages/ucl/libcuse-all.ucl index 4be6e8d32a16..422fcb6d3d90 100644 --- a/release/packages/ucl/libcuse-all.ucl +++ b/release/packages/ucl/libcuse-all.ucl @@ -35,5 +35,5 @@ userspace. EOD annotations { - set = "base,base-jail" + set = "optional,optional-jail" } diff --git a/release/packages/ucl/libdwarf-all.ucl b/release/packages/ucl/libdwarf-all.ucl index 84905e103dc3..00ec7fcdc452 100644 --- a/release/packages/ucl/libdwarf-all.ucl +++ b/release/packages/ucl/libdwarf-all.ucl @@ -34,5 +34,5 @@ information accessible through this API is defined by the DWARF standard. EOD annotations { - set = "base,base-jail" + set = "optional,optional-jail" } diff --git a/release/packages/ucl/libevent1-all.ucl b/release/packages/ucl/libevent1-all.ucl index 4c4f2957d829..31fdf055d8dc 100644 --- a/release/packages/ucl/libevent1-all.ucl +++ b/release/packages/ucl/libevent1-all.ucl @@ -23,5 +23,5 @@ A private library used by applications in the base system. EOD annotations { - set = "base,base-jail" + set = "optional,optional-jail" } diff --git a/release/packages/ucl/libexecinfo-all.ucl b/release/packages/ucl/libexecinfo-all.ucl index ce826cb647d9..5cdbea8153d1 100644 --- a/release/packages/ucl/libexecinfo-all.ucl +++ b/release/packages/ucl/libexecinfo-all.ucl @@ -24,5 +24,5 @@ examine its current call stack. EOD annotations { - set = "base,base-jail" + set = "optional,optional-jail" } diff --git a/release/packages/ucl/libipt-all.ucl b/release/packages/ucl/libipt-all.ucl index 4bea833f0557..21f8cf29d437 100644 --- a/release/packages/ucl/libipt-all.ucl +++ b/release/packages/ucl/libipt-all.ucl @@ -6,5 +6,5 @@ or it can be partially or fully integrated into your tool. EOD annotations { - set = "base,base-jail" + set = "optional,optional-jail" } diff --git a/release/packages/ucl/libldns-all.ucl b/release/packages/ucl/libldns-all.ucl index e4b39caff868..98aa86f9bc53 100644 --- a/release/packages/ucl/libldns-all.ucl +++ b/release/packages/ucl/libldns-all.ucl @@ -24,5 +24,5 @@ use by applications in the base system. EOD annotations { - set = "base,base-jail" + set = "optional,optional-jail" } diff --git a/release/packages/ucl/libmagic-all.ucl b/release/packages/ucl/libmagic-all.ucl index c3741ba935df..dc623a14b57e 100644 --- a/release/packages/ucl/libmagic-all.ucl +++ b/release/packages/ucl/libmagic-all.ucl @@ -24,5 +24,5 @@ using the magic(5) magic number database. EOD annotations { - set = "base,base-jail" + set = "optional,optional-jail" } diff --git a/release/packages/ucl/libmilter-all.ucl b/release/packages/ucl/libmilter-all.ucl index fea39408e58c..336e9f8c2c78 100644 --- a/release/packages/ucl/libmilter-all.ucl +++ b/release/packages/ucl/libmilter-all.ucl @@ -7,5 +7,5 @@ applications implementing the milter interface. EOD annotations { - set = "base,base-jail" + set = "optional,optional-jail" } diff --git a/release/packages/ucl/libpathconv-all.ucl b/release/packages/ucl/libpathconv-all.ucl index a88bf3d017c2..985774986514 100644 --- a/release/packages/ucl/libpathconv-all.ucl +++ b/release/packages/ucl/libpathconv-all.ucl @@ -24,5 +24,5 @@ absolute and relative pathnames. EOD annotations { - set = "base,base-jail" + set = "optional,optional-jail" } diff --git a/release/packages/ucl/librpcsec_gss-all.ucl b/release/packages/ucl/librpcsec_gss-all.ucl index 37ee057b6fd7..a520b75be179 100644 --- a/release/packages/ucl/librpcsec_gss-all.ucl +++ b/release/packages/ucl/librpcsec_gss-all.ucl @@ -43,5 +43,5 @@ RPCSEC_GSS security mechanism. EOD annotations { - set = "base,base-jail" + set = "optional,optional-jail" } diff --git a/release/packages/ucl/librss-all.ucl b/release/packages/ucl/librss-all.ucl index fac6d9ff5c42..68b1ae5fbb11 100644 --- a/release/packages/ucl/librss-all.ucl +++ b/release/packages/ucl/librss-all.ucl @@ -6,5 +6,5 @@ system RSS configuration and interacting with RSS aware sockets. EOD annotations { - set = "base,base-jail" + set = "optional,optional-jail" } diff --git a/release/packages/ucl/libsdp-all.ucl b/release/packages/ucl/libsdp-all.ucl index ec9d3319b063..e4f848c3281c 100644 --- a/release/packages/ucl/libsdp-all.ucl +++ b/release/packages/ucl/libsdp-all.ucl @@ -24,5 +24,5 @@ Protocol. EOD annotations { - set = "base,base-jail" + set = "optional,optional-jail" } diff --git a/release/packages/ucl/libsqlite3-all.ucl b/release/packages/ucl/libsqlite3-all.ucl index 39364d6804f3..8b770e1ce5ee 100644 --- a/release/packages/ucl/libsqlite3-all.ucl +++ b/release/packages/ucl/libsqlite3-all.ucl @@ -23,5 +23,5 @@ A private version of SQLite for use by applications in the base system. EOD annotations { - set = "base,base-jail" + set = "optional,optional-jail" } diff --git a/release/packages/ucl/libstdbuf-all.ucl b/release/packages/ucl/libstdbuf-all.ucl deleted file mode 100644 index c9b1e807fe2b..000000000000 --- a/release/packages/ucl/libstdbuf-all.ucl +++ /dev/null @@ -1,39 +0,0 @@ -/* - * SPDX-License-Identifier: BSD-2-Clause - * - * Copyright (c) 2012 Jeremie Le Hen <jlh@FreeBSD.org> - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code and documentation must retain the above - * copyright notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -comment = "Preloaded library to change standard streams initial buffering" - -desc = <<EOD -The libstdbuf library can be preloaded with the LD_PRELOAD environment variable -to change the initial buffering of standard input, standard output and standard -error streams. -EOD - -annotations { - set = "base,base-jail" -} diff --git a/release/packages/ucl/libthread_db-all.ucl b/release/packages/ucl/libthread_db-all.ucl index fdae1e70ba41..540e155ccd99 100644 --- a/release/packages/ucl/libthread_db-all.ucl +++ b/release/packages/ucl/libthread_db-all.ucl @@ -24,5 +24,5 @@ multithreaded process being debugged. EOD annotations { - set = "base,base-jail" + set = "optional,optional-jail" } diff --git a/release/packages/ucl/libucl-all.ucl b/release/packages/ucl/libucl-all.ucl index aacfe67343f2..4763038a8668 100644 --- a/release/packages/ucl/libucl-all.ucl +++ b/release/packages/ucl/libucl-all.ucl @@ -24,5 +24,5 @@ in the base system. EOD annotations { - set = "base,base-jail" + set = "optional,optional-jail" } diff --git a/release/packages/ucl/libvgl-all.ucl b/release/packages/ucl/libvgl-all.ucl index c45ef13a9433..88fd51fffffd 100644 --- a/release/packages/ucl/libvgl-all.ucl +++ b/release/packages/ucl/libvgl-all.ucl @@ -47,5 +47,5 @@ on different virtual consoles. EOD annotations { - set = "base,base-jail" + set = "optional,optional-jail" } diff --git a/release/packages/ucl/libvmmapi-all.ucl b/release/packages/ucl/libvmmapi-all.ucl index 2e748501246e..1246a488d4be 100644 --- a/release/packages/ucl/libvmmapi-all.ucl +++ b/release/packages/ucl/libvmmapi-all.ucl @@ -23,5 +23,5 @@ libvmmapi provides an interface for applications to access the vmm(4) driver. EOD annotations { - set = "base,base-jail" + set = "optional,optional-jail" } diff --git a/release/packages/ucl/libyaml-all.ucl b/release/packages/ucl/libyaml-all.ucl index 1446e226cc09..abfded908a87 100644 --- a/release/packages/ucl/libyaml-all.ucl +++ b/release/packages/ucl/libyaml-all.ucl @@ -24,5 +24,5 @@ files. This library is not intended for use outside of the base system. EOD annotations { - set = "base,base-jail" + set = "optional,optional-jail" } diff --git a/release/packages/ucl/lp-all.ucl b/release/packages/ucl/lp-all.ucl index 00afb70ba61f..6c4e55dbdfef 100644 --- a/release/packages/ucl/lp-all.ucl +++ b/release/packages/ucl/lp-all.ucl @@ -29,5 +29,5 @@ Some sample lp filters for common printers are also provided in EOD annotations { - set = "base,base-jail" + set = "optional,optional-jail" } diff --git a/release/packages/ucl/mlx-tools-all.ucl b/release/packages/ucl/mlx-tools-all.ucl index ef02c60ae8b2..3b254bf51577 100644 --- a/release/packages/ucl/mlx-tools-all.ucl +++ b/release/packages/ucl/mlx-tools-all.ucl @@ -33,3 +33,7 @@ The mlx5tool utility is provided for management of the Connect-X4, 5 and 6 network adapters in the aspects not covered by the generic ifconfig(8) command, mostly related to the PCIe attachment and internal card working. EOD + +annotations { + set = "optional" +} diff --git a/release/packages/ucl/natd-all.ucl b/release/packages/ucl/natd-all.ucl index 4fd0a3d30c40..95f8e8cff031 100644 --- a/release/packages/ucl/natd-all.ucl +++ b/release/packages/ucl/natd-all.ucl @@ -28,5 +28,5 @@ or IRC protocols. EOD annotations { - set = "base,base-jail" + set = "optional,optional-jail" } diff --git a/release/packages/ucl/ncurses-all.ucl b/release/packages/ucl/ncurses-all.ucl new file mode 100644 index 000000000000..c0d52e046e78 --- /dev/null +++ b/release/packages/ucl/ncurses-all.ucl @@ -0,0 +1,19 @@ +/* + * Copyright 2018-2023,2024 Thomas E. Dickey + * Copyright 1998-2017,2018 Free Software Foundation, Inc. + * + * SPDX-License-Identifier: X11 + * + * See contrib/ncurses/COPYING for the full license text. + */ + +comment = "ncurses terminal control library" +desc = <<EOD +The ncurses package is a subroutine library for terminal-independent +screen-painting and input-event handling which presents a high level screen +model to the programmer. ncurses implements the System V Release 4.0 (SVR4) +curses interface, and is also backward compatible with traditional BSD curses. + +This package ships with a limited termcap database, but it is designed to use +a terminfo database provided by ports, such as in misc/terminfo-db. +EOD diff --git a/release/packages/ucl/netmap-all.ucl b/release/packages/ucl/netmap-all.ucl index 69a7df614d09..e0770c14c0f2 100644 --- a/release/packages/ucl/netmap-all.ucl +++ b/release/packages/ucl/netmap-all.ucl @@ -29,5 +29,5 @@ with netmap, and valectl(8), a utility to manage vale(4) network switches. EOD annotations { - set = "base,base-jail" + set = "optional,optional-jail" } diff --git a/release/packages/ucl/nfs-all.ucl b/release/packages/ucl/nfs-all.ucl index d48a4ef2efe2..0c9141f2076c 100644 --- a/release/packages/ucl/nfs-all.ucl +++ b/release/packages/ucl/nfs-all.ucl @@ -34,5 +34,5 @@ be necessary depending on the NFS configuration. EOD annotations { - set = "base,base-jail" + set = "optional,optional-jail" } diff --git a/release/packages/ucl/ntp-all.ucl b/release/packages/ucl/ntp-all.ucl index 60a5d57ecc26..c0a3fb688d97 100644 --- a/release/packages/ucl/ntp-all.ucl +++ b/release/packages/ucl/ntp-all.ucl @@ -39,5 +39,5 @@ A periodic(8) script to monitor the status of the NTP daemon is also provided. EOD annotations { - set = "base,base-jail" + set = "optional,optional-jail" } diff --git a/release/packages/ucl/nvme-tools-all.ucl b/release/packages/ucl/nvme-tools-all.ucl index 910936f6e70c..ca4d8daff0d2 100644 --- a/release/packages/ucl/nvme-tools-all.ucl +++ b/release/packages/ucl/nvme-tools-all.ucl @@ -23,3 +23,7 @@ This package provides the nvmecontrol(8) utility, which is used to monitor and configure NVMe devices connected to the local system, and to discover and connect to remote NVMe over Fabrics (NVMe-oF) targets. EOD + +annotations { + set = optional +} diff --git a/release/packages/ucl/openssl-all.ucl b/release/packages/ucl/openssl-all.ucl index 398b5165330e..4c393efe3b89 100644 --- a/release/packages/ucl/openssl-all.ucl +++ b/release/packages/ucl/openssl-all.ucl @@ -26,7 +26,7 @@ protocols such as HTTP, SMTP and DNS. OpenSSL provides openssl(1), a command-line utility used for testing TLS clients and servers, managing certificate used in TLS authentication, and -performing various miscallenous cryptographic operations. +performing various miscellaneous cryptographic operations. Also provided are two libraries, libcrypto and libssl, which can be used by applications to provide generic cryptographic functionality, and to implement @@ -37,5 +37,5 @@ protocol, which was commonly used prior to the standardisation of TLS. EOD annotations { - set = "base,base-jail" + set = "optional,optional-jail" } diff --git a/release/packages/ucl/pf-all.ucl b/release/packages/ucl/pf-all.ucl index f8898dd490f1..b1d0ca915d72 100644 --- a/release/packages/ucl/pf-all.ucl +++ b/release/packages/ucl/pf-all.ucl @@ -34,5 +34,5 @@ Several example pf rulesets are also provided in /usr/share/examples/pf. EOD annotations { - set = "base,base-jail" + set = "optional,optional-jail" } diff --git a/release/packages/ucl/pmc-all.ucl b/release/packages/ucl/pmc-all.ucl index b4474b8a0e49..1562bde741a0 100644 --- a/release/packages/ucl/pmc-all.ucl +++ b/release/packages/ucl/pmc-all.ucl @@ -12,5 +12,5 @@ command-line access to the facilities provided by libpmc. EOD annotations { - set = "base,base-jail" + set = "optional,optional-jail" } diff --git a/release/packages/ucl/quotacheck-all.ucl b/release/packages/ucl/quotacheck-all.ucl index d9577624668c..de29ff373f0c 100644 --- a/release/packages/ucl/quotacheck-all.ucl +++ b/release/packages/ucl/quotacheck-all.ucl @@ -43,5 +43,5 @@ latter only occurs if an active file system is checked). EOD annotations { - set = "base,base-jail" + set = "optional,optional-jail" } diff --git a/release/packages/ucl/rcmds-all.ucl b/release/packages/ucl/rcmds-all.ucl index 9514c8d752e6..c2295af91f9e 100644 --- a/release/packages/ucl/rcmds-all.ucl +++ b/release/packages/ucl/rcmds-all.ucl @@ -26,5 +26,5 @@ rpc.rusersd, and rpc.rwalld. EOD annotations { - set = "base,base-jail" + set = "optional,optional-jail" } diff --git a/release/packages/ucl/rdma-all.ucl b/release/packages/ucl/rdma-all.ucl index be6854780b48..c12104170731 100644 --- a/release/packages/ucl/rdma-all.ucl +++ b/release/packages/ucl/rdma-all.ucl @@ -25,5 +25,5 @@ network functionality. EOD annotations { - set = "base,base-jail" + set = "optional,optional-jail" } diff --git a/release/packages/ucl/rip-all.ucl b/release/packages/ucl/rip-all.ucl index ca9d2ec80d8e..f3cfc2c80211 100644 --- a/release/packages/ucl/rip-all.ucl +++ b/release/packages/ucl/rip-all.ucl @@ -27,5 +27,5 @@ RIP and RIPng support is deprecated and will be removed in FreeBSD 16.0. EOD annotations { - set = "base,base-jail" + set = "optional,optional-jail" } diff --git a/release/packages/ucl/sendmail-all.ucl b/release/packages/ucl/sendmail-all.ucl index 2879431446bf..2b26f982db7d 100644 --- a/release/packages/ucl/sendmail-all.ucl +++ b/release/packages/ucl/sendmail-all.ucl @@ -34,5 +34,5 @@ not receive) mail over SMTP. EOD annotations { - set = "base,base-jail" + set = "optional,optional-jail" } diff --git a/release/packages/ucl/smbutils-all.ucl b/release/packages/ucl/smbutils-all.ucl index 746441d83f73..719afd295d89 100644 --- a/release/packages/ucl/smbutils-all.ucl +++ b/release/packages/ucl/smbutils-all.ucl @@ -26,3 +26,7 @@ Message Block (SMB) protocol, sometimes called CIFS. This facility only supports SMB version 1, which is strongly deprecated and not supported by most SMB servers. EOD + +annotations { + set = optional +} diff --git a/release/packages/ucl/sound-all.ucl b/release/packages/ucl/sound-all.ucl new file mode 100644 index 000000000000..6a8ad098c6b1 --- /dev/null +++ b/release/packages/ucl/sound-all.ucl @@ -0,0 +1,42 @@ +/* + * SPDX-License-Identifier: ISC + * + * Copyright (c) 2025 Lexi Winter <ivy@FreeBSD.org> + * + * 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. + */ + +comment = "Audio utilities" + +desc = <<EOD +The sound(4) facility provides an API based on the Open Sound System (OSS) +to allow applications to play and record audio through physical or virtual +audio devices. + +This package provides several sound-related userland utilities: + +* mixer(8) can adjust the playback and recording levels of audio devices. + +* sndctl(8) can display and modify audio device configuration. + +* The virtual_oss(8) daemon can be used to configure flexible virtual audio + devices which can be used by any application. + +* beep(1) can play a beep sound. + +* mididump(1) can monitor the incoming MIDI events on a MIDI port. +EOD + +annotations { + set = "optional" +} diff --git a/release/packages/ucl/ssh-all.ucl b/release/packages/ucl/ssh-all.ucl index 274f9db3ffc5..1bf93f85dbbf 100644 --- a/release/packages/ucl/ssh-all.ucl +++ b/release/packages/ucl/ssh-all.ucl @@ -37,5 +37,5 @@ EOD licenses = [ ISCL ] annotations { - set = "base,base-jail" + set = "optional,optional-jail" } diff --git a/release/packages/ucl/syscons-data-all.ucl b/release/packages/ucl/syscons-data-all.ucl index 5284b8f6dc10..140eebc42a73 100644 --- a/release/packages/ucl/syscons-data-all.ucl +++ b/release/packages/ucl/syscons-data-all.ucl @@ -21,3 +21,7 @@ comment = "syscons(4) fonts and keymaps" desc = <<EOD Fonts and keymaps for use with the legacy syscons(4) video console driver. EOD + +annotations { + set = optional +} diff --git a/release/packages/ucl/tcpd-all.ucl b/release/packages/ucl/tcpd-all.ucl index fd659507a44e..c9cdcab9dde1 100644 --- a/release/packages/ucl/tcpd-all.ucl +++ b/release/packages/ucl/tcpd-all.ucl @@ -33,5 +33,5 @@ activity. EOD annotations { - set = "base,base-jail" + set = "optional,optional-jail" } diff --git a/release/packages/ucl/telnet-all.ucl b/release/packages/ucl/telnet-all.ucl index 426985642560..af4c9001be0f 100644 --- a/release/packages/ucl/telnet-all.ucl +++ b/release/packages/ucl/telnet-all.ucl @@ -29,5 +29,5 @@ In most situations, the Secure Shell protocol is preferred over TELNET. EOD annotations { - set = "base,base-jail" + set = "optional,optional-jail" } diff --git a/release/packages/ucl/ufs-all.ucl b/release/packages/ucl/ufs-all.ucl index d9302bd0e3f9..b35e0f3d1dc7 100644 --- a/release/packages/ucl/ufs-all.ucl +++ b/release/packages/ucl/ufs-all.ucl @@ -32,7 +32,7 @@ utilities used to check the consistency of an existing filesystem after an unclean shutdown or panic. The libufs library is also provided, which allows applications to access -UFS filesystems programatically. +UFS filesystems programmatically. EOD annotations { diff --git a/release/packages/ucl/unbound-all.ucl b/release/packages/ucl/unbound-all.ucl index 40a292bc9685..e66f00be16a7 100644 --- a/release/packages/ucl/unbound-all.ucl +++ b/release/packages/ucl/unbound-all.ucl @@ -31,5 +31,5 @@ EOD licenses = [ BSD4CLAUSE ] annotations { - set = "base,base-jail" + set = "optional,optional-jail" } diff --git a/release/packages/ucl/liby-all.ucl b/release/packages/ucl/xz-all.ucl index a2698faec0b0..8a7c33bcce46 100644 --- a/release/packages/ucl/liby-all.ucl +++ b/release/packages/ucl/xz-all.ucl @@ -16,13 +16,14 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -comment = "YACC runtime library" +comment = "LZMA2 data compression" desc = <<EOD -liby provides default implementations of main() and yyerror() for applications -which use the yacc(1) parser generator. +xz compresses data using the LZMA2 data compression algorithm. This package +provides the front-end xz(1) utility, and the liblzma library which allows +applications to use this functionality programmatically. EOD annotations { - set = "base,base-jail" + set = "optional,optional-jail" } diff --git a/release/packages/ucl/yp-all.ucl b/release/packages/ucl/yp-all.ucl index 0cdea7e130c4..f361f319b730 100644 --- a/release/packages/ucl/yp-all.ucl +++ b/release/packages/ucl/yp-all.ucl @@ -26,5 +26,5 @@ utilities and a sample Makefile for building the YP database. EOD annotations { - set = "base,base-jail" + set = "optional,optional-jail" } diff --git a/release/packages/ucl/zfs-all.ucl b/release/packages/ucl/zfs-all.ucl index 70ebcdacdb57..9d166452188d 100644 --- a/release/packages/ucl/zfs-all.ucl +++ b/release/packages/ucl/zfs-all.ucl @@ -39,7 +39,7 @@ This package provides the zfs(8) and zpool(8) utilities used to manage ZFS filesystems, the zfsd(8) self-healing daemon, and several other utilities, as well as the runtime libraries used internally by ZFS itself, and the libzfs_core library providing a stable interface for -managing ZFS programatically. +managing ZFS programmatically. EOD licenses = [ "CDDL-1.0" ] diff --git a/release/scripts/make-pkg-package.sh b/release/scripts/make-pkg-package.sh index a1e006bd6964..3a1b163bd591 100755 --- a/release/scripts/make-pkg-package.sh +++ b/release/scripts/make-pkg-package.sh @@ -8,6 +8,13 @@ PKG_ABI=$(${PKG_CMD} -o ABI_FILE=${WSTAGEDIR}/bin/sh config ABI) unset PKG_VERSION unset MAKEFLAGS unset PKGBASE +# Ports interprets CROSS_TOOLCHAIN differently from src, and having this set +# breaks the package-pkg build. For now, forcibly unset this and hope ports +# can find a working compiler. +if [ -n "$CROSS_TOOLCHAIN" ]; then + printf >&2 '%s: WARNING: CROSS_TOOLCHAIN will be ignored for the pkg build.\n' "$0" + unset CROSS_TOOLCHAIN +fi export WRKDIRPREFIX=/tmp/ports.${TARGET} export DISTDIR=/tmp/distfiles export WRKDIR=$(make -C ${PORTSDIR}/ports-mgmt/pkg I_DONT_CARE_IF_MY_BUILDS_TARGET_THE_WRONG_RELEASE=YES -V WRKDIR) diff --git a/release/tools/ec2-builder.conf b/release/tools/ec2-builder.conf index cf4276fc80ec..a55485fec0cd 100644 --- a/release/tools/ec2-builder.conf +++ b/release/tools/ec2-builder.conf @@ -7,17 +7,16 @@ export VMSIZE=8000m # Flags to installworld/kernel: We don't want debug symbols (kernel or -# userland), 32-bit libraries, tests, or the debugger. +# userland), 32-bit libraries, or tests. export INSTALLOPTS="WITHOUT_DEBUG_FILES=YES WITHOUT_KERNEL_SYMBOLS=YES \ - WITHOUT_LIB32=YES WITHOUT_TESTS=YES WITHOUT_LLDB=YES" + WITHOUT_LIB32=YES WITHOUT_TESTS=YES" # Equivalent to INSTALLOPTS for pkgbase vm_extra_filter_base_packages() { grep -v \ -e '.*-dbg$' \ -e '.*-lib32$' \ - -e '^FreeBSD-tests.*' \ - -e '^FreeBSD-lldb.*' + -e '^FreeBSD-set-tests' } # Packages to install into the image we're creating. In addition to packages diff --git a/release/tools/ec2-small.conf b/release/tools/ec2-small.conf index 32d02cbb79e4..acaffbbc0c42 100644 --- a/release/tools/ec2-small.conf +++ b/release/tools/ec2-small.conf @@ -10,17 +10,16 @@ export VMSIZE=5000m # Flags to installworld/kernel: We don't want debug symbols (kernel or -# userland), 32-bit libraries, tests, or the debugger. +# userland), 32-bit libraries, or tests. export INSTALLOPTS="WITHOUT_DEBUG_FILES=YES WITHOUT_KERNEL_SYMBOLS=YES \ - WITHOUT_LIB32=YES WITHOUT_TESTS=YES WITHOUT_LLDB=YES" + WITHOUT_LIB32=YES WITHOUT_TESTS=YES" # Equivalent to INSTALLOPTS for pkgbase vm_extra_filter_base_packages() { grep -v \ -e '.*-dbg$' \ -e '.*-lib32$' \ - -e '^FreeBSD-tests.*' \ - -e '^FreeBSD-lldb.*' + -e '^FreeBSD-set-tests' } # Packages to install into the image we're creating. In addition to packages diff --git a/release/tools/oci-image-notoolchain.conf b/release/tools/oci-image-notoolchain.conf index e251281a7357..a769b53f9ff6 100644 --- a/release/tools/oci-image-notoolchain.conf +++ b/release/tools/oci-image-notoolchain.conf @@ -24,7 +24,6 @@ oci_image_build() { FreeBSD-fd \ FreeBSD-fetch \ FreeBSD-ftp \ - FreeBSD-ftpd \ FreeBSD-inetd \ FreeBSD-ipf \ FreeBSD-ipfw \ diff --git a/release/tools/vagrant.conf b/release/tools/vagrant.conf index 7ab0e1238693..5b0f38b740a6 100644 --- a/release/tools/vagrant.conf +++ b/release/tools/vagrant.conf @@ -14,14 +14,16 @@ export VM_EXTRA_PACKAGES="${VM_EXTRA_PACKAGES} shells/bash \ export VM_RC_LIST="firstboot_freebsd_update firstboot_pkgs growfs" vagrant_common () { - # The firstboot_pkgs rc.d script will download the repository - # catalogue and install or update pkg when the instance first - # launches, so these files would just be replaced anyway; removing - # them from the image allows it to boot faster. - env ASSUME_ALWAYS_YES=yes pkg -c ${DESTDIR} clean -y -a - env ASSUME_ALWAYS_YES=yes pkg -c ${DESTDIR} delete -f -y pkg - rm -r ${DESTDIR}/var/db/pkg/repos/FreeBSD-ports - rm -r ${DESTDIR}/var/db/pkg/repos/FreeBSD-ports-kmods + if [ -z "${NO_ROOT}" ]; then + # The firstboot_pkgs rc.d script will download the repository + # catalogue and install or update pkg when the instance first + # launches, so these files would just be replaced anyway; + # removing them from the image allows it to boot faster. + pkg -c ${DESTDIR} clean -y -a + pkg -c ${DESTDIR} delete -f -y pkg + rm -r ${DESTDIR}/var/db/pkg/repos/FreeBSD-ports + rm -r ${DESTDIR}/var/db/pkg/repos/FreeBSD-ports-kmods + fi # Vagrant instances use DHCP to get their network configuration. echo 'ifconfig_DEFAULT="SYNCDHCP"' >> ${DESTDIR}/etc/rc.conf @@ -40,8 +42,7 @@ vagrant_common () { # Create the vagrant user with a password of vagrant /usr/sbin/pw -R ${DESTDIR} \ groupadd vagrant -g 1001 - chroot ${DESTDIR} mkdir -p /home/vagrant - /usr/sbin/pw -R ${DESTDIR} \ + /usr/sbin/pw -R ${DESTDIR} -M ${DESTDIR}/METALOG \ useradd vagrant \ -m -M 0755 -w yes -n vagrant -u 1001 -g 1001 -G 0 \ -c 'Vagrant User' -d '/home/vagrant' -s '/bin/csh' @@ -58,11 +59,11 @@ vagrant_common () { echo "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA6NF8iallvQVp22WDkTkyrtvp9eWW6A8YVr+kz4TjGYe7gHzIw+niNltGEFHzD8+v1I2YJ6oXevct1YeS0o9HZyN1Q9qgCgzUFtdOKLv6IedplqoPkcmF0aYet2PkEDo3MlTBckFXPITAMzF8dJSIFo9D8HfdOV0IAdx4O7PtixWKn5y2hMNG0zQPyUecp4pzC6kivAIhyfHilFR61RGL+GPXQ2MWZWFYbAGjyiYJnAmCP3NOTd0jMZEnDkbUvxhMmBYSdETk1rRgm+R4LOzFUGaHqHDLKLX+FIPKcF96hrucXzcWyLbIbEgE98OHlnVYCzRdK8jlqm8tehUc9c9WhQ== vagrant insecure public key" > ${DESTDIR}/home/vagrant/.ssh/authorized_keys echo "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIN1YdxBpNlzxDqfJyw/QKow1F+wvG9hXGoqiysfJOn5Y vagrant insecure public key" >> ${DESTDIR}/home/vagrant/.ssh/authorized_keys chmod 600 ${DESTDIR}/home/vagrant/.ssh/authorized_keys - metalog_add_data ./home/vagrant/.ssh/authorized_keys 0600 chmod 700 ${DESTDIR}/home/vagrant/.ssh chown -R 1001 ${DESTDIR}/home/vagrant/.ssh - echo "./home/vagrant/.ssh type=dir uid=1001 gid=1001 mode=0700" >> METALOG + echo "./home/vagrant/.ssh type=dir uid=1001 gid=1001 mode=0700" >> ${DESTDIR}/METALOG + echo "./home/vagrant/.ssh/authorized_keys type=file uid=1001 gid=1001 mode=0600" >> ${DESTDIR}/METALOG # Reboot quickly, Don't wait at the panic screen echo 'debug.trace_on_panic=1' >> ${DESTDIR}/etc/sysctl.conf diff --git a/release/tools/vmimage.subr b/release/tools/vmimage.subr index 577abaac73cf..131ebe37db6c 100644 --- a/release/tools/vmimage.subr +++ b/release/tools/vmimage.subr @@ -70,15 +70,15 @@ vm_copy_base() { return 0 } -vm_filter_base_packages() { - # Reads a list of all base system packages from stdin. - # Writes a list of base system packages to install to stdout. - grep -v -e '^FreeBSD-src.*' -e '^FreeBSD-kernel.*' - # There are several kernel variants available in separate packages. - # For VMs it is sufficient to install only the generic kernel. - echo "FreeBSD-kernel-man" - echo "FreeBSD-kernel-generic" - echo "FreeBSD-kernel-generic-dbg" +vm_base_packages_list() { + # Output a list of package sets equivalent to what we get from + # "installworld installkernel distribution", aka. the full base + # system. + for S in base lib32 kernels; do + echo FreeBSD-set-$S + echo FreeBSD-set-$S-dbg + done + echo FreeBSD-set-tests } vm_extra_filter_base_packages() { @@ -94,10 +94,12 @@ vm_install_base() { local pkg_cmd pkg_cmd="pkg --rootdir ${DESTDIR} --repo-conf-dir ${PKGBASE_REPO_DIR} -o ASSUME_ALWAYS_YES=yes -o IGNORE_OSVERSION=yes - -o INSTALL_AS_USER=yes " + -o ABI=${PKG_ABI} -o INSTALL_AS_USER=yes " + if [ -n "${NO_ROOT}" ]; then + pkg_cmd="$pkg_cmd -o METALOG=METALOG" + fi $pkg_cmd update - selected=$($pkg_cmd rquery -U -r FreeBSD-base %n | \ - vm_filter_base_packages | vm_extra_filter_base_packages) + selected=$(vm_base_packages_list | vm_extra_filter_base_packages) $pkg_cmd install -U -r FreeBSD-base $selected else cd ${WORLDDIR} && \ @@ -198,6 +200,7 @@ vm_extra_install_packages() { for pkg in ${VM_EXTRA_PACKAGES}; do INSTALL_AS_USER=yes \ ${PKG_CMD} \ + -o ABI=${PKG_ABI} \ -o METALOG=${DESTDIR}/METALOG.pkg \ -o REPOS_DIR=${PKG_REPOS_DIR} \ -o PKG_DBDIR=${DESTDIR}/var/db/pkg \ @@ -249,9 +252,17 @@ vm_emulation_cleanup() { } vm_extra_pkg_rmcache() { - if [ -e ${DESTDIR}/usr/local/sbin/pkg ]; then - chroot ${DESTDIR} ${EMULATOR} env ASSUME_ALWAYS_YES=yes \ - /usr/local/sbin/pkg clean -y -a + if [ -n "${NO_ROOT}" ]; then + ${PKG_CMD} \ + -o ASSUME_ALWAYS_YES=yes \ + -o INSTALL_AS_USER=yes \ + -r ${DESTDIR} \ + clean -y -a + else + if [ -e ${DESTDIR}/usr/local/sbin/pkg ]; then + chroot ${DESTDIR} ${EMULATOR} env ASSUME_ALWAYS_YES=yes \ + /usr/local/sbin/pkg clean -y -a + fi fi return 0 |