diff options
Diffstat (limited to 'release')
31 files changed, 42 insertions, 46 deletions
diff --git a/release/Makefile b/release/Makefile index 12f5114f8b22..13532097d56c 100644 --- a/release/Makefile +++ b/release/Makefile @@ -448,9 +448,7 @@ release: real-release vm-release cloudware-release oci-release release-done: touch release -real-release: - ${MAKE} -C ${.CURDIR} ${.MAKEFLAGS} obj - ${MAKE} -C ${.CURDIR} ${.MAKEFLAGS} ${RELEASE_TARGETS} +real-release: obj .WAIT ${RELEASE_TARGETS} install: release-install vm-install oci-install .WAIT cloud-install diff --git a/release/arm64/RPI.conf b/release/arm64/RPI.conf index b973687c535d..d418dae28d3a 100644 --- a/release/arm64/RPI.conf +++ b/release/arm64/RPI.conf @@ -3,8 +3,9 @@ # DTB_DIR="/usr/local/share/rpi-firmware" -DTB="bcm2710-rpi-2-b.dtb bcm2710-rpi-3-b.dtb bcm2710-rpi-3-b-plus.dtb bcm2710-rpi-cm3.dtb \ - bcm2711-rpi-4-b.dtb bcm2711-rpi-cm4-io.dtb bcm2711-rpi-cm4.dtb" +DTB="bcm2710-rpi-2-b.dtb bcm2710-rpi-3-b.dtb bcm2710-rpi-3-b-plus.dtb \ + bcm2710-rpi-cm3.dtb bcm2710-rpi-zero-2-w.dtb bcm2711-rpi-4-b.dtb \ + bcm2711-rpi-cm4-io.dtb bcm2711-rpi-cm4.dtb" EMBEDDED_TARGET_ARCH="aarch64" EMBEDDED_TARGET="arm64" EMBEDDEDBUILD=1 diff --git a/release/packages/generate-set-ucl.lua b/release/packages/generate-set-ucl.lua index 3c8474bf8e68..9ba7026b75df 100755 --- a/release/packages/generate-set-ucl.lua +++ b/release/packages/generate-set-ucl.lua @@ -1,4 +1,10 @@ #!/usr/libexec/flua +-- +-- Copyright (c) 2024-2025 Baptiste Daroussin <bapt@FreeBSD.org> +-- Copyright (c) 2025 Lexi Winter <ivy@FreeBSD.org> +-- +-- SPDX-License-Identifier: BSD-2-Clause +-- --[[ usage: generate-set-ucl.lua <template> [<variablename> <variablevalue>] @@ -75,15 +81,15 @@ end -- Add dependencies from SET_DEPENDS. for dep in string.gmatch(pkgdeps, "[^%s]+") do obj["deps"][dep] = { - ["origin"] = "base" + ["origin"] = "base/"..dep } end --- Add a version key to all dependencies, otherwise pkg doesn't like it. +-- Add a version and origin 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 + obj["deps"][dep]["origin"] = obj["deps"][dep]["origin"] or "base/"..dep + obj["deps"][dep]["version"] = obj["deps"][dep]["version"] or pkgversion end -- If there are no dependencies, remove the deps key, otherwise pkg raises an diff --git a/release/packages/generate-ucl.lua b/release/packages/generate-ucl.lua index c61cbb251d8b..19a9a95d5d38 100755 --- a/release/packages/generate-ucl.lua +++ b/release/packages/generate-ucl.lua @@ -1,4 +1,10 @@ #!/usr/libexec/flua +-- +-- Copyright (c) 2024-2025 Baptiste Daroussin <bapt@FreeBSD.org> +-- Copyright (c) 2025 Lexi Winter <ivy@FreeBSD.org> +-- +-- SPDX-License-Identifier: BSD-2-Clause +-- --[[ usage: generate-ucl.lua [<variablename> <variablevalue>]... <sourceucl> <destucl> @@ -161,7 +167,7 @@ if add_gen_dep(pkgname, pkggenname) then end obj["deps"][pkggenname] = { ["version"] = pkgversion, - ["origin"] = "base" + ["origin"] = "base/"..pkgprefix.."-"..pkggenname, } end @@ -217,6 +223,8 @@ if pkgprefix ~= nil and obj["deps"] ~= nil then newdeps = {} for dep, opts in pairs(obj["deps"]) do local newdep = pkgprefix .. "-" .. dep + -- Make sure origin is set. + opts["origin"] = opts["origin"] or "base/"..newdep newdeps[newdep] = opts end obj["deps"] = newdeps diff --git a/release/packages/set-template.ucl b/release/packages/set-template.ucl index b7ea2b830168..ff2c2d3e6057 100644 --- a/release/packages/set-template.ucl +++ b/release/packages/set-template.ucl @@ -4,7 +4,7 @@ name = "${PKG_NAME_PREFIX}-set-${PKGNAME}" prefix = "/" -origin = "base" +origin = "base/${PKG_NAME_PREFIX}-set-${PKGNAME}" categories = [ base ] version = "${VERSION}" maintainer = "${PKG_MAINTAINER}" diff --git a/release/packages/sets/base-dbg.ucl b/release/packages/sets/base-dbg.ucl index d9eeb2c49677..79e5de22522e 100644 --- a/release/packages/sets/base-dbg.ucl +++ b/release/packages/sets/base-dbg.ucl @@ -25,10 +25,8 @@ EOD deps { "set-minimal-dbg" { version = "${VERSION}" - origin = "base" }, "set-devel-dbg" { version = "${VERSION}" - origin = "base" } } diff --git a/release/packages/sets/base-jail-dbg.ucl b/release/packages/sets/base-jail-dbg.ucl index 7996b9afbb21..56a130367fa3 100644 --- a/release/packages/sets/base-jail-dbg.ucl +++ b/release/packages/sets/base-jail-dbg.ucl @@ -25,10 +25,8 @@ EOD deps { "set-minimal-jail-dbg" { version = "${VERSION}" - origin = "base" }, "set-devel-dbg" { version = "${VERSION}" - origin = "base" } } diff --git a/release/packages/sets/base-jail.ucl b/release/packages/sets/base-jail.ucl index d1dc17bc9860..88861510f954 100644 --- a/release/packages/sets/base-jail.ucl +++ b/release/packages/sets/base-jail.ucl @@ -28,14 +28,11 @@ EOD deps { "set-minimal-jail" { 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 823e2342fab8..6a970668c13e 100644 --- a/release/packages/sets/base.ucl +++ b/release/packages/sets/base.ucl @@ -31,14 +31,11 @@ EOD deps { "set-minimal" { version = "${VERSION}" - origin = "base" }, "set-optional" { version = "${VERSION}" - origin = "base" }, "set-devel" { version = "${VERSION}" - origin = "base" } } diff --git a/release/packages/sets/optional-dbg.ucl b/release/packages/sets/optional-dbg.ucl index a221327518f9..882469c3ad57 100644 --- a/release/packages/sets/optional-dbg.ucl +++ b/release/packages/sets/optional-dbg.ucl @@ -26,6 +26,5 @@ EOD deps { "set-minimal-dbg" { version = "${VERSION}" - origin = "base" }, } diff --git a/release/packages/sets/optional-jail-dbg.ucl b/release/packages/sets/optional-jail-dbg.ucl index 84c76fa407fe..54e7309abdf1 100644 --- a/release/packages/sets/optional-jail-dbg.ucl +++ b/release/packages/sets/optional-jail-dbg.ucl @@ -26,6 +26,5 @@ EOD 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 index da6d5fb00825..877023a10eed 100644 --- a/release/packages/sets/optional-jail.ucl +++ b/release/packages/sets/optional-jail.ucl @@ -29,6 +29,5 @@ EOD deps { "set-minimal-jail" { version = "${VERSION}" - origin = "base" }, } diff --git a/release/packages/sets/optional.ucl b/release/packages/sets/optional.ucl index f50fa17e4297..8b44dfe1f3ea 100644 --- a/release/packages/sets/optional.ucl +++ b/release/packages/sets/optional.ucl @@ -28,6 +28,5 @@ EOD deps { "set-minimal" { version = "${VERSION}" - origin = "base" }, } diff --git a/release/packages/ucl/at.ucl b/release/packages/ucl/at.ucl index 25724adfd7af..1e2495028b30 100644 --- a/release/packages/ucl/at.ucl +++ b/release/packages/ucl/at.ucl @@ -20,13 +20,11 @@ deps { # atrun relies on cron to work. "cron" { version = "${VERSION}" - origin = "base" }, # at(1) passes the command to /bin/sh "runtime" { version = "${VERSION}" - origin = "base" }, } diff --git a/release/packages/ucl/bluetooth.ucl b/release/packages/ucl/bluetooth.ucl index c87d5e9c8420..e9c4787fdbfb 100644 --- a/release/packages/ucl/bluetooth.ucl +++ b/release/packages/ucl/bluetooth.ucl @@ -20,7 +20,6 @@ deps { # rfcomm_pppd(8) uses ppp(8) "ppp" { version = "${VERSION}" - origin = "base" }, } diff --git a/release/packages/ucl/bsdconfig.ucl b/release/packages/ucl/bsdconfig.ucl index 752c352ae904..98981f65bea4 100644 --- a/release/packages/ucl/bsdconfig.ucl +++ b/release/packages/ucl/bsdconfig.ucl @@ -20,6 +20,5 @@ deps { # bsdconfig is written in shell script, so it needs /bin/sh "runtime" { version = "${VERSION}" - origin = "base" }, } diff --git a/release/packages/ucl/bsdinstall.ucl b/release/packages/ucl/bsdinstall.ucl index 6e5cbce4e342..7fe8898b9427 100644 --- a/release/packages/ucl/bsdinstall.ucl +++ b/release/packages/ucl/bsdinstall.ucl @@ -20,6 +20,5 @@ deps { # bsdinstall is written in shell script, so it needs /bin/sh "runtime" { version = "${VERSION}" - origin = "base" }, } diff --git a/release/packages/ucl/caroot.ucl b/release/packages/ucl/caroot.ucl index 4d2b52d300fc..e43c9d0771f2 100644 --- a/release/packages/ucl/caroot.ucl +++ b/release/packages/ucl/caroot.ucl @@ -1,7 +1,6 @@ deps { "certctl": { version = "${VERSION}" - origin = "base" } } scripts: { diff --git a/release/packages/ucl/certctl.ucl b/release/packages/ucl/certctl.ucl index f12158459c5e..d2b4790946ec 100644 --- a/release/packages/ucl/certctl.ucl +++ b/release/packages/ucl/certctl.ucl @@ -19,6 +19,5 @@ deps { "openssl": { version = "${VERSION}" - origin = "base" } } diff --git a/release/packages/ucl/clang.ucl b/release/packages/ucl/clang.ucl index 956b769a1ee7..3c15d9b7ef03 100644 --- a/release/packages/ucl/clang.ucl +++ b/release/packages/ucl/clang.ucl @@ -1,11 +1,9 @@ deps { "lld" { version = "${VERSION}" - origin = "base" } "libcompiler_rt-dev" { version = "${VERSION}" - origin = "base" } } diff --git a/release/packages/ucl/devd.ucl b/release/packages/ucl/devd.ucl index 8d83ab9ee020..c5fcfef1c368 100644 --- a/release/packages/ucl/devd.ucl +++ b/release/packages/ucl/devd.ucl @@ -20,6 +20,5 @@ deps { # devd uses /bin/sh to invoke hooks. "runtime" { version = "${VERSION}" - origin = "base" }, } diff --git a/release/packages/ucl/ncurses-all.ucl b/release/packages/ucl/ncurses-all.ucl index c0d52e046e78..3963eb98aa72 100644 --- a/release/packages/ucl/ncurses-all.ucl +++ b/release/packages/ucl/ncurses-all.ucl @@ -17,3 +17,7 @@ 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 + +annotations { + set = "minimal,minimal-jail" +} diff --git a/release/packages/ucl/newsyslog.ucl b/release/packages/ucl/newsyslog.ucl index b1dfa8253737..27b212a42b77 100644 --- a/release/packages/ucl/newsyslog.ucl +++ b/release/packages/ucl/newsyslog.ucl @@ -2,6 +2,5 @@ deps { # newsyslog uses bzip2 to compress log files. "bzip2" { version = "${VERSION}" - origin = "base" } } diff --git a/release/packages/ucl/periodic.ucl b/release/packages/ucl/periodic.ucl index c8b8ac57c676..2a8a482f959f 100644 --- a/release/packages/ucl/periodic.ucl +++ b/release/packages/ucl/periodic.ucl @@ -19,6 +19,5 @@ deps { "cron" { version = "${VERSION}" - origin = "base" } } diff --git a/release/packages/ucl/rc.ucl b/release/packages/ucl/rc.ucl index 1a734aaa187c..854963a81ca1 100644 --- a/release/packages/ucl/rc.ucl +++ b/release/packages/ucl/rc.ucl @@ -19,7 +19,6 @@ deps { "runtime": { version = "${VERSION}" - origin = "base" } } diff --git a/release/packages/ucl/rcmds.ucl b/release/packages/ucl/rcmds.ucl index b572ff25e6c3..de608487e07d 100644 --- a/release/packages/ucl/rcmds.ucl +++ b/release/packages/ucl/rcmds.ucl @@ -20,7 +20,6 @@ deps { # The RPC daemons require rpcbind. "utilities" { version = "${VERSION}" - origin = "base" } } diff --git a/release/packages/ucl/sendmail.ucl b/release/packages/ucl/sendmail.ucl index 62d0a1f2bc61..318fd5aabbe5 100644 --- a/release/packages/ucl/sendmail.ucl +++ b/release/packages/ucl/sendmail.ucl @@ -20,6 +20,5 @@ deps { # sendmail requires make to build its configuration file. "bmake": { version = "${VERSION}" - origin = "base" } } diff --git a/release/packages/ucl/tests-all.ucl b/release/packages/ucl/tests-all.ucl index 1f3b027b7037..3ad2d0f50e6b 100644 --- a/release/packages/ucl/tests-all.ucl +++ b/release/packages/ucl/tests-all.ucl @@ -27,20 +27,17 @@ deps { # Nearly all the tests require atf to run. "atf": { version = "${VERSION}" - origin = "base" }, # The test framework requires Kyua. "kyua": { version = "${VERSION}" - origin = "base" }, # Since the purpose of the tests is to test the base system, the base # system must be installed. "set-base": { version = "${VERSION}" - origin = "base" } } diff --git a/release/packages/ucl/yp.ucl b/release/packages/ucl/yp.ucl index be4310c85591..9babdbe98fb1 100644 --- a/release/packages/ucl/yp.ucl +++ b/release/packages/ucl/yp.ucl @@ -20,6 +20,5 @@ deps { # YP requires bmake to rebuild the database. "bmake": { version = "${VERSION}" - origin = "base" } } diff --git a/release/scripts/make-oci-image.sh b/release/scripts/make-oci-image.sh index 6e5ad69741f7..f8ea679bfd18 100644 --- a/release/scripts/make-oci-image.sh +++ b/release/scripts/make-oci-image.sh @@ -39,10 +39,18 @@ install_packages() { local abi=$1; shift local workdir=$1; shift local rootdir=${workdir}/rootfs + + # Make sure we have the keys needed for verifying package integrity if + # not already added by a parent image. if [ ! -d ${rootdir}/usr/share/keys/pkg/trusted ]; then mkdir -p ${rootdir}/usr/share/keys/pkg/trusted fi - cp /usr/share/keys/pkg/trusted/* ${rootdir}/usr/share/keys/pkg/trusted + for i in ${curdir}/../share/keys/pkg/trusted/pkg.*; do + if [ ! -f ${rootdir}/usr/share/keys/pkg/trusted/$(basename $i) ]; then + cp $i ${rootdir}/usr/share/keys/pkg/trusted + fi + done + # We install the packages and then remove repository metadata (keeping the # metadata for what was installed). This trims more than 40Mb from the # resulting image. diff --git a/release/tools/oci-image-runtime.conf b/release/tools/oci-image-runtime.conf index 93aad1e39250..db99e5640040 100644 --- a/release/tools/oci-image-runtime.conf +++ b/release/tools/oci-image-runtime.conf @@ -9,6 +9,10 @@ OCI_BASE_IMAGE=dynamic oci_image_build() { set_cmd ${workdir} /bin/sh + # The static image installed termcap.small into /usr/share/misc/termcap + # and we are replacing it with the full termcap file. We remove the + # small one first to avoid creating a .pkgsave file. + rm ${workdir}/rootfs/usr/share/misc/termcap install_packages ${abi} ${workdir} \ FreeBSD-runtime \ FreeBSD-certctl \ |