Page MenuHomeFreeBSD

D52412.id161678.diff
No OneTemporary

D52412.id161678.diff

diff --git a/Makefile.inc1 b/Makefile.inc1
--- a/Makefile.inc1
+++ b/Makefile.inc1
@@ -2097,6 +2097,14 @@
DESTDIR=${WSTAGEDIR} \
PKG_VERSION=${PKG_VERSION} create-world-packages
+.ORDER: create-packages-world create-packages-sets
+.ORDER: create-packages-kernel create-packages-sets
+create-packages-sets: _pkgbootstrap _repodir .PHONY
+ ${_+_}@cd ${.CURDIR}; \
+ ${MAKE} -f Makefile.inc1 \
+ DESTDIR=${WSTAGEDIR} \
+ PKG_VERSION=${PKG_VERSION} create-sets-packages
+
create-packages-kernel: _pkgbootstrap _repodir .PHONY
${_+_}@cd ${.CURDIR}; \
${MAKE} -f Makefile.inc1 \
@@ -2109,6 +2117,8 @@
create-packages-world-repo: .PHONY create-packages-world sign-packages
+create-packages-sets-repo: .PHONY create-packages-sets sign-packages
+
create-packages-source: _pkgbootstrap _repodir .PHONY
${_+_}@cd ${.CURDIR}; \
${MAKE} -f Makefile.inc1 \
@@ -2117,7 +2127,7 @@
SOURCE_DATE_EPOCH=${SOURCE_DATE_EPOCH} \
create-source-packages
-create-packages: .PHONY create-packages-world create-packages-kernel create-packages-source
+create-packages: .PHONY create-packages-world create-packages-kernel create-packages-source create-packages-sets
create-source-src-package: _pkgbootstrap .PHONY
rm -f ${SSTAGEDIR}/src.plist 2>/dev/null || :
@@ -2214,6 +2224,24 @@
-o ${REPODIR}/${PKG_ABI}/${PKG_OUTPUT_DIR}
.endfor
+create-sets-packages-jobs: .PHONY create-sets-packages
+create-sets-packages: .PHONY
+ @echo "==> Creating set metapackages."
+ sh "${SRCDIR}/release/packages/create-sets.sh" "${SRCDIR}" \
+ "${WSTAGEDIR}" "${REPODIR}/${PKG_ABI}/${PKG_OUTPUT_DIR}" \
+ VERSION "${PKG_VERSION}" \
+ PKG_NAME_PREFIX "${PKG_NAME_PREFIX}" \
+ PKG_MAINTAINER "${PKG_MAINTAINER}" \
+ PKG_WWW "${PKG_WWW}"
+ @for manifest in ${WSTAGEDIR}/set-*.ucl; do \
+ echo "--> Processing manifest: $$manifest"; \
+ ${PKG_CMD} -o ABI=${PKG_ABI} -o OSVERSION="${SRCRELDATE}" \
+ create -f ${PKG_FORMAT} ${PKG_CLEVEL} \
+ -M $$manifest \
+ -o "${REPODIR}/${PKG_ABI}/${PKG_OUTPUT_DIR}" \
+ || exit 1; \
+ done
+
_default_flavor= -default
.if make(*package*) && exists(${KSTAGEDIR}/kernel.meta)
. if ${MK_DEBUG_FILES} != "no"
diff --git a/release/packages/create-sets.sh b/release/packages/create-sets.sh
new file mode 100755
--- /dev/null
+++ b/release/packages/create-sets.sh
@@ -0,0 +1,45 @@
+#! /bin/sh
+
+# Generate metapackage sets. We do this by examining the annotations field
+# of the packages we previously built.
+
+set -e
+
+if [ $# -lt 3 ]; then
+ printf >&2 'usage: %s <srcdir> <wstagedir> <repodir>\n' "$0"
+ exit 1
+fi
+
+srcdir="$1"; shift
+wstagedir="$1"; shift
+repodir="$1"; shift
+# Everything after the first three arguments is UCL variables we pass to
+# generate-set-ucl.lua.
+UCL_VARS="$@"
+
+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
+ # packages.
+ { echo "$pkg" | grep -q '-'; } || continue
+
+ set -- $(pkg query -F "$pkg" '%At %n %Av' | grep '^set ')
+ pkgname="$2"
+ set="$3"
+ SETS="$SETS $set"
+ setvar="$(echo "$set" | tr - _)"
+ eval PKGS_${setvar}=\"\$PKGS_${setvar} $pkgname\"
+done
+
+for set in $(echo $SETS | tr ' ' '\n' | sort | uniq); do
+ setvar="$(echo "$set" | tr - _)"
+ eval deps=\"\$PKGS_${setvar}\"
+
+ "${srcdir}/release/packages/generate-set-ucl.lua" \
+ "${srcdir}/release/packages/set-template.ucl" \
+ PKGNAME "$set" \
+ SET_DEPENDS "$deps" \
+ UCLFILES "${srcdir}/release/packages/sets" \
+ $UCL_VARS \
+ > "${wstagedir}/set-${set}.ucl"
+done
diff --git a/release/packages/generate-set-ucl.lua b/release/packages/generate-set-ucl.lua
new file mode 100755
--- /dev/null
+++ b/release/packages/generate-set-ucl.lua
@@ -0,0 +1,96 @@
+#!/usr/libexec/flua
+
+--[[ usage:
+generare-set-ucl.lua <template> [<variablename> <variablevalue>]
+
+Generate the UCL for a set metapackage. The variables provided will be
+substituted as UCL variables.
+]]--
+
+local ucl = require("ucl")
+
+-- This parser is the output UCL we want to build.
+local parser = ucl.parser()
+
+if #arg < 1 then
+ io.stderr:write(arg[0] .. ": missing template filename\n")
+ os.exit(1)
+end
+
+local template = table.remove(arg, 1)
+
+-- Set any $VARIABLES from the command line in the parser. This causes ucl to
+-- automatically replace them when we load the source ucl.
+if #arg % 2 ~= 0 then
+ io.stderr:write(arg[0] .. ": expected an even number of arguments, "
+ .. "got " .. #arg .. "\n")
+ os.exit(1)
+end
+
+local pkgprefix = nil
+local pkgversion = nil
+local pkgdeps = ""
+
+for i = 2, #arg, 2 do
+ local varname = arg[i - 1]
+ local varvalue = arg[i]
+
+ if varname == "PKG_NAME_PREFIX" and #varvalue > 0 then
+ pkgprefix = varvalue
+ elseif varname == "VERSION" and #varvalue > 0 then
+ pkgversion = varvalue
+ elseif varname == "SET_DEPENDS" and #varvalue > 0 then
+ pkgdeps = varvalue
+ end
+
+ parser:register_variable(varname, varvalue)
+end
+
+-- Load the source template.
+local res,err = parser:parse_file(template)
+if not res then
+ io.stderr:write(arg[0] .. ": fail to parse(" .. template .. "): "
+ .. err .. "\n")
+ os.exit(1)
+end
+
+local obj = parser:get_object()
+
+-- Dependency handling.
+obj["deps"] = obj["deps"] or {}
+
+-- If PKG_NAME_PREFIX is provided, rewrite the names of dependency packages.
+-- We can't do this in UCL since variable substitution doesn't work in array
+-- keys. Note that this only applies to dependencies from the set UCL files,
+-- because SET_DEPENDS already have the correct prefix.
+if pkgprefix ~= nil then
+ newdeps = {}
+ for dep, opts in pairs(obj["deps"]) do
+ local newdep = pkgprefix .. "-" .. dep
+ newdeps[newdep] = opts
+ end
+ obj["deps"] = newdeps
+end
+
+-- Add dependencies from SET_DEPENDS.
+for dep in string.gmatch(pkgdeps, "[^%s]+") do
+ obj["deps"][dep] = {
+ ["origin"] = "base"
+ }
+end
+
+-- Add a version key to all dependencies, otherwise pkg doesn't like it.
+for dep, opts in pairs(obj["deps"]) do
+ if obj["deps"][dep]["version"] == nil then
+ obj["deps"][dep]["version"] = pkgversion
+ end
+end
+
+-- If there are no dependencies, remove the deps key, otherwise pkg raises an
+-- error trying to read the manifest.
+if next(obj["deps"]) == nil then
+ obj["deps"] = nil
+end
+
+-- Write the output.
+io.stdout:write(ucl.to_format(obj, 'ucl', true))
diff --git a/release/packages/generate-ucl.lua b/release/packages/generate-ucl.lua
--- a/release/packages/generate-ucl.lua
+++ b/release/packages/generate-ucl.lua
@@ -165,6 +165,40 @@
}
end
+--
+-- Handle the 'set' annotation.
+--
+-- Ensure we have an annotations table to work with.
+obj["annotations"] = obj["annotations"] or {}
+-- If no set is provided, use the default set which is "base".
+set = obj["annotations"]["set"] or "base"
+-- For subpackages, we may need to rewrite the set name. This is done a little
+-- differently from the normal pkg suffix processing, because we don't need sets
+-- to be as a granular as the base packages.
+--
+-- Create a single lib32 set for all lib32 packages. Most users don't need
+-- lib32, so this avoids creating a large number of unnecessary lib32 sets.
+-- However, lib32 debug symbols still go into their own package since they're
+-- quite large.
+if pkgname:match("%-dbg%-lib32$") then
+ set = "lib32-dbg"
+elseif pkgname:match("%-lib32$") then
+ set = "lib32"
+-- If this is a -dev package, put it in a single set called "devel" which
+-- contains all development files. Also include lib*-man packages, which
+-- contain manpages for libraries. Having a separate <set>-dev for every
+-- set is not necessary, because generally you either want development
+-- support or you don't.
+elseif pkgname:match("%-dev$") or pkgname:match("^lib.*%-man$") then
+ set = "devel"
+-- If this is a -dbg package, it goes in <set>-dbg, which means the user can
+-- install debug symbols only for the sets they have installed.
+elseif pkgname:match("%-dbg$") then
+ set = set .. "-dbg"
+end
+-- Put our new set back into the package.
+obj["annotations"]["set"] = set
+
-- If PKG_NAME_PREFIX is provided, rewrite the names of dependency packages.
-- We can't do this in UCL since variable substitution doesn't work in array
-- keys.
diff --git a/release/packages/set-template.ucl b/release/packages/set-template.ucl
new file mode 100644
--- /dev/null
+++ b/release/packages/set-template.ucl
@@ -0,0 +1,15 @@
+# This is the default set of options applied to the set metapackages.
+# The options are the same as template.ucl, but we don't include any
+# additional UCL files.
+
+name = "${PKG_NAME_PREFIX}-set-${PKGNAME}"
+prefix = "/"
+origin = "base"
+categories = [ base ]
+version = "${VERSION}"
+maintainer = "${PKG_MAINTAINER}"
+www = "${PKG_WWW}"
+licenselogic = "single"
+licenses = [ BSD2CLAUSE ]
+
+.include(try=false,duplicate=merge) "${UCLFILES}/${PKGNAME}.ucl"
diff --git a/release/packages/sets/base-dbg.ucl b/release/packages/sets/base-dbg.ucl
new file mode 100644
--- /dev/null
+++ b/release/packages/sets/base-dbg.ucl
@@ -0,0 +1,16 @@
+comment = "Base system debug symbols (metapackage)"
+
+desc = <<EOD
+This metapackage installs debugging symbols for the complete base system.
+EOD
+
+deps {
+ "set-minimal-dbg" {
+ version = "${VERSION}"
+ origin = "base"
+ },
+ "set-devel-dbg" {
+ version = "${VERSION}"
+ origin = "base"
+ }
+}
diff --git a/release/packages/sets/base.ucl b/release/packages/sets/base.ucl
new file mode 100644
--- /dev/null
+++ b/release/packages/sets/base.ucl
@@ -0,0 +1,16 @@
+comment = "Base system (metapackage)"
+
+desc = <<EOD
+This metapackage installs all packages which are part of the base system.
+EOD
+
+deps {
+ "set-minimal" {
+ version = "${VERSION}"
+ origin = "base"
+ },
+ "set-devel" {
+ version = "${VERSION}"
+ origin = "base"
+ }
+}
diff --git a/release/packages/sets/devel-dbg.ucl b/release/packages/sets/devel-dbg.ucl
new file mode 100644
--- /dev/null
+++ b/release/packages/sets/devel-dbg.ucl
@@ -0,0 +1,13 @@
+comment = "Developments tools debugging symbols (metapackage)"
+
+desc = <<EOD
+This metapackage installs debugging symbols for the base system compiler and
+toolchain.
+EOD
+
+deps {
+ "set-minimal-dbg" {
+ version = "${VERSION}"
+ origin = "base"
+ },
+}
diff --git a/release/packages/sets/devel.ucl b/release/packages/sets/devel.ucl
new file mode 100644
--- /dev/null
+++ b/release/packages/sets/devel.ucl
@@ -0,0 +1,13 @@
+comment = "Developments tools (metapackage)"
+
+desc = <<EOD
+This metapackage installs development support for the base system, including
+compilers, toolchain utilities, header files, and static libraries.
+EOD
+
+deps {
+ "set-minimal" {
+ version = "${VERSION}"
+ origin = "base"
+ },
+}
diff --git a/release/packages/sets/kernels-dbg.ucl b/release/packages/sets/kernels-dbg.ucl
new file mode 100644
--- /dev/null
+++ b/release/packages/sets/kernels-dbg.ucl
@@ -0,0 +1,6 @@
+comment = "Base system kernels debugging symbols (metapackage)"
+
+desc = <<EOD
+This metapackage installs debugging symbols for the operating system kernels
+provided with the base system.
+EOD
diff --git a/release/packages/sets/kernels.ucl b/release/packages/sets/kernels.ucl
new file mode 100644
--- /dev/null
+++ b/release/packages/sets/kernels.ucl
@@ -0,0 +1,6 @@
+comment = "Base system kernels (metapackage)"
+
+desc = <<EOD
+This metapackage installs the operating system kernels provided with the
+base system.
+EOD
diff --git a/release/packages/sets/lib32-dbg.ucl b/release/packages/sets/lib32-dbg.ucl
new file mode 100644
--- /dev/null
+++ b/release/packages/sets/lib32-dbg.ucl
@@ -0,0 +1,6 @@
+comment = "32-bit compatibility library debugging symbols (metapackage)"
+
+desc = <<EOD
+This metapackage installs debugging symbols for the compatibility libraries
+required for building and running 32-bit applications on a 64-bit host system.
+EOD
diff --git a/release/packages/sets/lib32.ucl b/release/packages/sets/lib32.ucl
new file mode 100644
--- /dev/null
+++ b/release/packages/sets/lib32.ucl
@@ -0,0 +1,6 @@
+comment = "32-bit compatibility libraries (metapackage)"
+
+desc = <<EOD
+This metapackage installs compatibility libraries required for building and
+running 32-bit applications on a 64-bit host system.
+EOD
diff --git a/release/packages/sets/minimal-dbg.ucl b/release/packages/sets/minimal-dbg.ucl
new file mode 100644
--- /dev/null
+++ b/release/packages/sets/minimal-dbg.ucl
@@ -0,0 +1,6 @@
+comment = "Basic multi-user system debugging symbols (metapackage)"
+
+desc = <<EOD
+This metapackage installs debugging symbols for the packages required to bring
+up a basic multi-user system.
+EOD
diff --git a/release/packages/sets/minimal.ucl b/release/packages/sets/minimal.ucl
new file mode 100644
--- /dev/null
+++ b/release/packages/sets/minimal.ucl
@@ -0,0 +1,6 @@
+comment = "Basic multi-user system (metapackage)"
+
+desc = <<EOD
+This metapackage installs the packages required to bring up a basic multi-user
+system.
+EOD
diff --git a/release/packages/template.ucl b/release/packages/template.ucl
--- a/release/packages/template.ucl
+++ b/release/packages/template.ucl
@@ -1,19 +1,36 @@
-#
-#
+# This is the default set of options applied to all packages, unless overridden
+# in the package-specific manifests.
+# The name of the package. $PKG_NAME_PREFIX is "FreeBSD", or might be replaced
+# by a downstream packager.
name = "${PKG_NAME_PREFIX}-${PKGNAME}"
+
+# Base packages always install to /.
+prefix = "/"
+
+# For base packages, origin is always "base".
origin = "base"
-version = "${VERSION}"
-comment = "${PKGNAME} package"
categories = [ base ]
+
+# $VERSION is the version of the base system being built.
+version = "${VERSION}"
+
+# Maintainer and WWW point to freebsd.org by default. This should not be
+# changed in package-specific manifests even for third-party packages.
maintainer = "${PKG_MAINTAINER}"
www = "${PKG_WWW}"
-prefix = "/"
+
+# Default the license to BSD2CLAUSE since this is the standard license for
+# the base system.
licenselogic = "single"
licenses = [ BSD2CLAUSE ]
-desc = <<EOD
-${PKGNAME} package
-EOD
+
+# By default, packages go in the "base" set which includes everything.
+annotations {
+ set = base
+}
+
+# Include the package-specific UCL.
.include(try=false,duplicate=rewrite) "${UCLFILES}/${PKGGENNAME}-all.ucl"
.include(try=true,duplicate=rewrite) "${UCLFILES}/${PKGNAME}.ucl"
.include(try=true,duplicate=rewrite) "${UCLFILES}/${FORCEINCLUDE}.ucl"
diff --git a/release/packages/ucl/README b/release/packages/ucl/README
new file mode 100644
--- /dev/null
+++ b/release/packages/ucl/README
@@ -0,0 +1,21 @@
+This directory contains package manifests for the base packages in UCL format.
+There are two types of manifest: "<package>.ucl" applies specifically to the
+package called "<package>", and "<package>-all.ucl" applies to all of that
+package's subpackages.
+
+For example, if a Makefile sets PACKAGE=foo, then the build might generate the
+following packages:
+
+ FreeBSD-foo
+ FreeBSD-foo-dev
+ FreeBSD-foo-lib32
+ FreeBSD-foo-man
+
+All of these packages will include "foo-all.ucl", but "foo.ucl" will only be
+included by FreeBSD-foo, "foo-dev.ucl" will only be included by FreeBSD-foo-dev,
+and so on.
+
+In general, dependencies and post-install scripts should be added in the
+package-specific manifests, while comment and description should be set
+in the "-all" manifest.
+
diff --git a/release/packages/ucl/at-all.ucl b/release/packages/ucl/at-all.ucl
--- a/release/packages/ucl/at-all.ucl
+++ b/release/packages/ucl/at-all.ucl
@@ -2,3 +2,7 @@
desc = <<EOD
AT Utilities
EOD
+
+annotations {
+ set = minimal
+}
diff --git a/release/packages/ucl/bmake-all.ucl b/release/packages/ucl/bmake-all.ucl
--- a/release/packages/ucl/bmake-all.ucl
+++ b/release/packages/ucl/bmake-all.ucl
@@ -1,5 +1,10 @@
comment = "Program maintenance utility"
+
desc = <<EOD
make(1) allows programs to be built from source files based on a specification
of the program's dependencies called a Makefile.
EOD
+
+annotations {
+ set = devel
+}
diff --git a/release/packages/ucl/bootloader-all.ucl b/release/packages/ucl/bootloader-all.ucl
--- a/release/packages/ucl/bootloader-all.ucl
+++ b/release/packages/ucl/bootloader-all.ucl
@@ -2,3 +2,7 @@
desc = <<EOD
Bootloader and configuration files
EOD
+
+annotations {
+ set = minimal
+}
diff --git a/release/packages/ucl/caroot-all.ucl b/release/packages/ucl/caroot-all.ucl
--- a/release/packages/ucl/caroot-all.ucl
+++ b/release/packages/ucl/caroot-all.ucl
@@ -2,3 +2,7 @@
desc = <<EOD
SSL Certificates
EOD
+
+annotations {
+ set = minimal
+}
diff --git a/release/packages/ucl/certctl-all.ucl b/release/packages/ucl/certctl-all.ucl
--- a/release/packages/ucl/certctl-all.ucl
+++ b/release/packages/ucl/certctl-all.ucl
@@ -2,3 +2,7 @@
desc = <<EOD
SSL Certificate Utility
EOD
+
+annotations {
+ set = minimal
+}
diff --git a/release/packages/ucl/clang-all.ucl b/release/packages/ucl/clang-all.ucl
--- a/release/packages/ucl/clang-all.ucl
+++ b/release/packages/ucl/clang-all.ucl
@@ -3,3 +3,7 @@
Clang Utilities
EOD
licenses = [ NCSA ]
+
+annotations {
+ set = devel
+}
diff --git a/release/packages/ucl/clibs-all.ucl b/release/packages/ucl/clibs-all.ucl
--- a/release/packages/ucl/clibs-all.ucl
+++ b/release/packages/ucl/clibs-all.ucl
@@ -1,4 +1,9 @@
comment = "Core C Libraries"
+
desc = <<EOD
Core C Libraries
EOD
+
+annotations {
+ set = minimal
+}
diff --git a/release/packages/ucl/cron-all.ucl b/release/packages/ucl/cron-all.ucl
--- a/release/packages/ucl/cron-all.ucl
+++ b/release/packages/ucl/cron-all.ucl
@@ -2,3 +2,7 @@
desc = <<EOD
cron(8) and crontab(1)
EOD
+
+annotations {
+ set = minimal
+}
diff --git a/release/packages/ucl/ctf-tools-all.ucl b/release/packages/ucl/ctf-tools-all.ucl
--- a/release/packages/ucl/ctf-tools-all.ucl
+++ b/release/packages/ucl/ctf-tools-all.ucl
@@ -1,4 +1,9 @@
comment = "CTF Utilities"
+
desc = <<EOD
CTF Utilities
EOD
+
+annotations {
+ set = devel
+}
diff --git a/release/packages/ucl/devd-all.ucl b/release/packages/ucl/devd-all.ucl
--- a/release/packages/ucl/devd-all.ucl
+++ b/release/packages/ucl/devd-all.ucl
@@ -1,4 +1,9 @@
comment = "Devd Utility and scripts"
+
desc = <<EOD
Devd Utility and scripts
EOD
+
+annotations {
+ set = minimal
+}
diff --git a/release/packages/ucl/dhclient-all.ucl b/release/packages/ucl/dhclient-all.ucl
--- a/release/packages/ucl/dhclient-all.ucl
+++ b/release/packages/ucl/dhclient-all.ucl
@@ -1,4 +1,9 @@
comment = "DHCP Client"
+
desc = <<EOD
DHCP Client
EOD
+
+annotations {
+ set = minimal
+}
diff --git a/release/packages/ucl/dtb-all.ucl b/release/packages/ucl/dtb-all.ucl
--- a/release/packages/ucl/dtb-all.ucl
+++ b/release/packages/ucl/dtb-all.ucl
@@ -1,4 +1,9 @@
comment = "FreeBSD Devicetree Blobs"
+
desc = <<EOD
FreeBSD Devicetree Blobs
EOD
+
+annotations {
+ set = minimal
+}
diff --git a/release/packages/ucl/fetch-all.ucl b/release/packages/ucl/fetch-all.ucl
--- a/release/packages/ucl/fetch-all.ucl
+++ b/release/packages/ucl/fetch-all.ucl
@@ -1,4 +1,10 @@
-comment = "Fetch Utility"
+comment = "Retrieve a file from a remote URL"
+
desc = <<EOD
-Fetch Utility
+The fetch(1) utility can be used to retieve files from a remote URL via
+HTTP or FTP.
EOD
+
+annotations {
+ set = minimal
+}
diff --git a/release/packages/ucl/firmware-iwm-all.ucl b/release/packages/ucl/firmware-iwm-all.ucl
--- a/release/packages/ucl/firmware-iwm-all.ucl
+++ b/release/packages/ucl/firmware-iwm-all.ucl
@@ -1,4 +1,10 @@
-comment = "iwm(4) firmwares"
+comment = "Firmware for iwm(4) Intel 802.11ac network interfaces"
+
desc = <<EOD
-iwm(4) firmwares
+This firmware is required for Intel 802.11ac wireless network cards supported
+by the iwm(4) driver.
EOD
+
+annotations {
+ set = minimal
+}
diff --git a/release/packages/ucl/fwget-all.ucl b/release/packages/ucl/fwget-all.ucl
--- a/release/packages/ucl/fwget-all.ucl
+++ b/release/packages/ucl/fwget-all.ucl
@@ -1,4 +1,10 @@
-comment = "FWGET Utility"
+comment = "Install firmware packages for the running system"
+
desc = <<EOD
-FWGET Utility
+The fwget(8) utility can be used to detect and install firmware packages for
+hardware devices present on a running system.
EOD
+
+annotations {
+ set = minimal
+}
diff --git a/release/packages/ucl/geom-all.ucl b/release/packages/ucl/geom-all.ucl
--- a/release/packages/ucl/geom-all.ucl
+++ b/release/packages/ucl/geom-all.ucl
@@ -1,4 +1,11 @@
-comment = "GEOM Utilitites"
+comment = "GEOM configuration utilities"
+
desc = <<EOD
-GEOM Utilitites
+The geom(4) subsystem provides a modular, generic interface to manage disk
+devices, including disk partitioning, basic RAID, and block-level encryption.
+This package provides the command-line utilities used to manage GEOM.
EOD
+
+annotations {
+ set = minimal
+}
diff --git a/release/packages/ucl/hyperv-tools-all.ucl b/release/packages/ucl/hyperv-tools-all.ucl
--- a/release/packages/ucl/hyperv-tools-all.ucl
+++ b/release/packages/ucl/hyperv-tools-all.ucl
@@ -1,4 +1,10 @@
-comment = "Microsoft HyperV Utilities"
+comment = "Microsoft Hyper-V utilities"
+
desc = <<EOD
-Microsoft HyperV Utilities
+This package provides utilities used when running on the Microsoft Hyper-V
+virtualisation platform.
EOD
+
+annotations {
+ set = minimal
+}
diff --git a/release/packages/ucl/inetd-all.ucl b/release/packages/ucl/inetd-all.ucl
--- a/release/packages/ucl/inetd-all.ucl
+++ b/release/packages/ucl/inetd-all.ucl
@@ -1,4 +1,11 @@
comment = "Internet super-server"
+
desc = <<EOD
-Internet super-server
+The inetd(8) server listens for incoming network connections and spawns a
+process to handle the connection based on its configuration file. Some
+built-in servers for basic services are also provided.
EOD
+
+annotations {
+ set = minimal
+}
diff --git a/release/packages/ucl/kernel-all.ucl b/release/packages/ucl/kernel-all.ucl
--- a/release/packages/ucl/kernel-all.ucl
+++ b/release/packages/ucl/kernel-all.ucl
@@ -1,4 +1,9 @@
comment = "FreeBSD ${KERNEL_NAME} Kernel ${KERNEL_FLAVOR}"
+
desc = <<EOD
FreeBSD ${KERNEL_NAME} Kernel ${KERNEL_FLAVOR}
EOD
+
+annotations {
+ set = kernels
+}
diff --git a/release/packages/ucl/lld-all.ucl b/release/packages/ucl/lld-all.ucl
--- a/release/packages/ucl/lld-all.ucl
+++ b/release/packages/ucl/lld-all.ucl
@@ -4,3 +4,7 @@
EOD
licenses = [ NCSA ]
+
+annotations {
+ set = devel
+}
diff --git a/release/packages/ucl/lldb-all.ucl b/release/packages/ucl/lldb-all.ucl
--- a/release/packages/ucl/lldb-all.ucl
+++ b/release/packages/ucl/lldb-all.ucl
@@ -4,3 +4,7 @@
EOD
licenses = [ NCSA ]
+
+annotations {
+ set = devel
+}
diff --git a/release/packages/ucl/locales-all.ucl b/release/packages/ucl/locales-all.ucl
--- a/release/packages/ucl/locales-all.ucl
+++ b/release/packages/ucl/locales-all.ucl
@@ -1,4 +1,9 @@
comment = "Locale definitions"
+
desc = <<EOD
Provides the locale definitions (LC_*) for supported locales.
EOD
+
+annotations {
+ set = minimal
+}
diff --git a/release/packages/ucl/mtree-all.ucl b/release/packages/ucl/mtree-all.ucl
--- a/release/packages/ucl/mtree-all.ucl
+++ b/release/packages/ucl/mtree-all.ucl
@@ -1,4 +1,9 @@
comment = "MTREE Files"
+
desc = <<EOD
MTREE Files
EOD
+
+annotations {
+ set = devel
+}
diff --git a/release/packages/ucl/newsyslog-all.ucl b/release/packages/ucl/newsyslog-all.ucl
--- a/release/packages/ucl/newsyslog-all.ucl
+++ b/release/packages/ucl/newsyslog-all.ucl
@@ -1,4 +1,10 @@
-comment = "Newsyslog Utility"
+comment = "Create and rotate system log files"
+
desc = <<EOD
-Newsyslog Utility
+The newsyslog(8) utility, usually run automatically from cron(8), is used to
+create log files in /var/log and periodically rotate existing log files.
EOD
+
+annotations {
+ set = minimal
+}
diff --git a/release/packages/ucl/nuageinit-all.ucl b/release/packages/ucl/nuageinit-all.ucl
--- a/release/packages/ucl/nuageinit-all.ucl
+++ b/release/packages/ucl/nuageinit-all.ucl
@@ -1,4 +1,9 @@
comment = "CloudInit support scripts"
+
desc = <<EOD
CloudInit support scripts
EOD
+
+annotations {
+ set = minimal
+}
diff --git a/release/packages/ucl/periodic-all.ucl b/release/packages/ucl/periodic-all.ucl
--- a/release/packages/ucl/periodic-all.ucl
+++ b/release/packages/ucl/periodic-all.ucl
@@ -1,4 +1,11 @@
-comment = "Periodic Utility"
+comment = "Run periodic system functions"
+
desc = <<EOD
-Periodic Utility
+The periodic(8) utility, usually run from cron(8), provides a system for
+scheduling regular system maintenance tasks. This package also provides
+the base periodic tasks for the base system.
EOD
+
+annotations {
+ set = minimal
+}
diff --git a/release/packages/ucl/pkg-bootstrap-all.ucl b/release/packages/ucl/pkg-bootstrap-all.ucl
--- a/release/packages/ucl/pkg-bootstrap-all.ucl
+++ b/release/packages/ucl/pkg-bootstrap-all.ucl
@@ -1,4 +1,11 @@
-comment = "pkg bootstrap Utility"
+comment = "pkg(7) bootstrap utility"
+
desc = <<EOD
-pkg bootstrap Utility
+/usr/sbin/pkg is a minimal bootstrap tool used to install the full pkg(8)
+package management system. This package also contains the PGP keys for
+the FreeBSD.org package repository.
EOD
+
+annotations {
+ set = minimal
+}
diff --git a/release/packages/ucl/ppp-all.ucl b/release/packages/ucl/ppp-all.ucl
--- a/release/packages/ucl/ppp-all.ucl
+++ b/release/packages/ucl/ppp-all.ucl
@@ -1,5 +1,10 @@
comment = "Userland PPP implementation"
+
desc = <<EOD
ppp(8) is a userland implementations of the Point to Point Protocol for serial
lines and Ethernet (PPPoE).
EOD
+
+annotations {
+ set = minimal
+}
diff --git a/release/packages/ucl/rc-all.ucl b/release/packages/ucl/rc-all.ucl
--- a/release/packages/ucl/rc-all.ucl
+++ b/release/packages/ucl/rc-all.ucl
@@ -1,4 +1,11 @@
-comment = "RC Scripts"
+comment = "rc(8) subsystem"
+
desc = <<EOD
-RC Scripts
+The rc(8) subsystem provides a method to start services at system startup and
+stop them at shutdown. This package provides the rc(8) subsystem itself and
+the service scripts for the base system.
EOD
+
+annotations {
+ set = minimal
+}
diff --git a/release/packages/ucl/rdma-all.ucl b/release/packages/ucl/rdma-all.ucl
--- a/release/packages/ucl/rdma-all.ucl
+++ b/release/packages/ucl/rdma-all.ucl
@@ -1 +1,4 @@
comment = "RDMA Utilities"
+desc = <<EOD
+RDMA Utilities
+EOD
diff --git a/release/packages/ucl/rescue-all.ucl b/release/packages/ucl/rescue-all.ucl
--- a/release/packages/ucl/rescue-all.ucl
+++ b/release/packages/ucl/rescue-all.ucl
@@ -1,4 +1,11 @@
-comment = "Rescue Utilities"
+comment = "Rescue system"
+
desc = <<EOD
-Rescue Utilities
+The rescue system, installed in /rescue, provides a basic set of tools that
+may be used to recover from a system failure which prevents the standard
+utilities from working.
EOD
+
+annotations {
+ set = minimal
+}
diff --git a/release/packages/ucl/resolvconf-all.ucl b/release/packages/ucl/resolvconf-all.ucl
--- a/release/packages/ucl/resolvconf-all.ucl
+++ b/release/packages/ucl/resolvconf-all.ucl
@@ -1,4 +1,11 @@
-comment = "Resolvconf Utility and scripts"
+comment = "A framework for managing multiple DNS configurations"
+
desc = <<EOD
-Resolvconf Utility and scripts
+resolvconf(8) is used to manage /etc/resolv.conf for systems which move between
+different networks, such as laptops. It is typically invoked by dhclient(8) to
+provide new nameservers when connecting to a network.
EOD
+
+annotations {
+ set = minimal
+}
diff --git a/release/packages/ucl/runtime-all.ucl b/release/packages/ucl/runtime-all.ucl
--- a/release/packages/ucl/runtime-all.ucl
+++ b/release/packages/ucl/runtime-all.ucl
@@ -1,4 +1,10 @@
-comment = "FreeBSD Base System"
+comment = "Core system"
+
desc = <<EOD
-FreeBSD Base System
+This is the core system, including utilities, libraries and configuration files
+required for basic multi-user operation.
EOD
+
+annotations {
+ set = minimal
+}
diff --git a/release/packages/ucl/runtime.ucl b/release/packages/ucl/runtime.ucl
--- a/release/packages/ucl/runtime.ucl
+++ b/release/packages/ucl/runtime.ucl
@@ -1,4 +1,5 @@
vital: true
+
scripts: {
post-install = <<EOD
pwd_mkdb -i -p -d ${PKG_ROOTDIR}/etc ${PKG_ROOTDIR}/etc/master.passwd
diff --git a/release/packages/ucl/syslogd-all.ucl b/release/packages/ucl/syslogd-all.ucl
--- a/release/packages/ucl/syslogd-all.ucl
+++ b/release/packages/ucl/syslogd-all.ucl
@@ -1,4 +1,10 @@
-comment = "Syslog Daemon"
+comment = "System logging daemon"
+
desc = <<EOD
-Syslog Daemon
+The syslogd(8) daemon receives log messages from local and remote processes and
+writes them to an appropriate log file.
EOD
+
+annotations {
+ set = minimal
+}
diff --git a/release/packages/ucl/toolchain-all.ucl b/release/packages/ucl/toolchain-all.ucl
--- a/release/packages/ucl/toolchain-all.ucl
+++ b/release/packages/ucl/toolchain-all.ucl
@@ -1,4 +1,9 @@
comment = "Utilities for program development"
+
desc = <<EOD
Utilities for program development.
EOD
+
+annotations {
+ set = devel
+}
diff --git a/release/packages/ucl/ufs-all.ucl b/release/packages/ucl/ufs-all.ucl
--- a/release/packages/ucl/ufs-all.ucl
+++ b/release/packages/ucl/ufs-all.ucl
@@ -1,4 +1,9 @@
comment = "UFS Libraries and Utilities"
+
desc = <<EOD
UFS Libraries and Utilities
EOD
+
+annotations {
+ set = minimal
+}
diff --git a/release/packages/ucl/utilities-all.ucl b/release/packages/ucl/utilities-all.ucl
--- a/release/packages/ucl/utilities-all.ucl
+++ b/release/packages/ucl/utilities-all.ucl
@@ -1,4 +1,9 @@
comment = "Non-vital programs and libraries"
+
desc = <<EOD
Non-vital programs and libraries
EOD
+
+annotations {
+ set = minimal
+}
diff --git a/release/packages/ucl/vi-all.ucl b/release/packages/ucl/vi-all.ucl
--- a/release/packages/ucl/vi-all.ucl
+++ b/release/packages/ucl/vi-all.ucl
@@ -1,4 +1,10 @@
-comment = "Vi Editor"
+comment = "Text editor"
+
desc = <<EOD
-Vi Editor
+This package provides ex(1), an extended version of the ed(1) line-oriented
+text editor, and vi(1), a user-friendly full-screen text editor based on ex.
EOD
+
+annotations {
+ set = minimal
+}
diff --git a/release/packages/ucl/vt-data-all.ucl b/release/packages/ucl/vt-data-all.ucl
--- a/release/packages/ucl/vt-data-all.ucl
+++ b/release/packages/ucl/vt-data-all.ucl
@@ -1,4 +1,9 @@
comment = "vt(4) fonts and keymaps"
+
desc = <<EOD
Fonts and keymaps for use with the vt(4) video console driver.
EOD
+
+annotations {
+ set = minimal
+}
diff --git a/release/packages/ucl/wpa-all.ucl b/release/packages/ucl/wpa-all.ucl
--- a/release/packages/ucl/wpa-all.ucl
+++ b/release/packages/ucl/wpa-all.ucl
@@ -1,4 +1,9 @@
comment = "802.11 Supplicant"
+
desc = <<EOD
802.11 Supplicant
EOD
+
+annotations {
+ set = minimal
+}
diff --git a/release/packages/ucl/zfs-all.ucl b/release/packages/ucl/zfs-all.ucl
--- a/release/packages/ucl/zfs-all.ucl
+++ b/release/packages/ucl/zfs-all.ucl
@@ -1,4 +1,9 @@
comment = "ZFS Libraries and Utilities"
+
desc = <<EOD
ZFS Libraries and Utilities
EOD
+
+annotations {
+ set = minimal
+}
diff --git a/release/packages/ucl/zoneinfo-all.ucl b/release/packages/ucl/zoneinfo-all.ucl
--- a/release/packages/ucl/zoneinfo-all.ucl
+++ b/release/packages/ucl/zoneinfo-all.ucl
@@ -1,5 +1,10 @@
comment = "Timezone database"
+
desc = <<EOD
The timezone database allows applications to convert dates and times between
UTC and local timezones.
EOD
+
+annotations {
+ set = minimal
+}

File Metadata

Mime Type
text/plain
Expires
Tue, Dec 23, 11:11 PM (8 h, 42 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
27199544
Default Alt Text
D52412.id161678.diff (30 KB)

Event Timeline