aboutsummaryrefslogtreecommitdiff
path: root/release
diff options
context:
space:
mode:
Diffstat (limited to 'release')
-rw-r--r--release/Makefile4
-rw-r--r--release/arm64/RPI.conf5
-rwxr-xr-xrelease/packages/generate-set-ucl.lua16
-rwxr-xr-xrelease/packages/generate-ucl.lua10
-rw-r--r--release/packages/set-template.ucl2
-rw-r--r--release/packages/sets/base-dbg.ucl2
-rw-r--r--release/packages/sets/base-jail-dbg.ucl2
-rw-r--r--release/packages/sets/base-jail.ucl3
-rw-r--r--release/packages/sets/base.ucl3
-rw-r--r--release/packages/sets/optional-dbg.ucl1
-rw-r--r--release/packages/sets/optional-jail-dbg.ucl1
-rw-r--r--release/packages/sets/optional-jail.ucl1
-rw-r--r--release/packages/sets/optional.ucl1
-rw-r--r--release/packages/ucl/at.ucl2
-rw-r--r--release/packages/ucl/bluetooth.ucl1
-rw-r--r--release/packages/ucl/bsdconfig.ucl1
-rw-r--r--release/packages/ucl/bsdinstall.ucl1
-rw-r--r--release/packages/ucl/caroot.ucl1
-rw-r--r--release/packages/ucl/certctl.ucl1
-rw-r--r--release/packages/ucl/clang.ucl2
-rw-r--r--release/packages/ucl/devd.ucl1
-rw-r--r--release/packages/ucl/ncurses-all.ucl4
-rw-r--r--release/packages/ucl/newsyslog.ucl1
-rw-r--r--release/packages/ucl/periodic.ucl1
-rw-r--r--release/packages/ucl/rc.ucl1
-rw-r--r--release/packages/ucl/rcmds.ucl1
-rw-r--r--release/packages/ucl/sendmail.ucl1
-rw-r--r--release/packages/ucl/tests-all.ucl3
-rw-r--r--release/packages/ucl/yp.ucl1
-rw-r--r--release/scripts/make-oci-image.sh10
-rw-r--r--release/tools/oci-image-runtime.conf4
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 \