Page MenuHomeFreeBSD

D25711.diff
No OneTemporary

D25711.diff

diff --git a/usr.sbin/freebsd-update/freebsd-update.8 b/usr.sbin/freebsd-update/freebsd-update.8
--- a/usr.sbin/freebsd-update/freebsd-update.8
+++ b/usr.sbin/freebsd-update/freebsd-update.8
@@ -25,7 +25,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd November 14, 2020
+.Dd October 1, 2021
.Dt FREEBSD-UPDATE 8
.Os
.Sh NAME
@@ -37,6 +37,7 @@
.Op Fl d Ar workdir
.Op Fl f Ar conffile
.Op Fl F
+.Op Fl j Ar jail
.Op Fl k Ar KEY
.Op Fl r Ar newrelease
.Op Fl s Ar server
@@ -90,6 +91,14 @@
Force
.Nm Cm fetch
to proceed in the case of an unfinished upgrade.
+.It Fl j Ar jail
+Operate on the given jail specified by
+.Va jid
+or
+.Va name .
+(The version of the installed userland is detected and the
+.Fl -currently-running
+option is no more required.)
.It Fl k Ar KEY
Trust an RSA key with SHA256 of
.Ar KEY .
diff --git a/usr.sbin/freebsd-update/freebsd-update.sh b/usr.sbin/freebsd-update/freebsd-update.sh
--- a/usr.sbin/freebsd-update/freebsd-update.sh
+++ b/usr.sbin/freebsd-update/freebsd-update.sh
@@ -36,7 +36,7 @@
# --no-stats -- don't show progress statistics while fetching files
usage () {
cat <<EOF
-usage: `basename $0` [options] command ... [path]
+usage: `basename $0` [options] command ...
Options:
-b basedir -- Operate on a system mounted at basedir
@@ -47,6 +47,7 @@
(default: /etc/freebsd-update.conf)
-F -- Force a fetch operation to proceed in the
case of an unfinished upgrade
+ -j jail -- Operate on the given jail specified by jid or name
-k KEY -- Trust an RSA key with SHA256 hash of KEY
-r release -- Target for upgrade (e.g., 11.1-RELEASE)
-s server -- Server from which to fetch updates
@@ -324,6 +325,19 @@
export UNAME_r
}
+# Get the Jail's path and the version of its installed userland
+config_TargetJail () {
+ JAIL=$1
+ UNAME_r=$(freebsd-version -j ${JAIL})
+ BASEDIR=$(jls -j ${JAIL} -h path | awk 'NR == 2 {print}')
+ if [ -z ${BASEDIR} ] || [ -z ${UNAME_r} ]; then
+ echo "The specified jail either doesn't exist or" \
+ "does not have freebsd-version."
+ exit 1
+ fi
+ export UNAME_r
+}
+
# Define what happens to output of utilities
config_VerboseLevel () {
if [ -z ${VERBOSELEVEL} ]; then
@@ -492,6 +506,10 @@
if [ $# -eq 1 ]; then usage; fi; shift
config_WorkDir $1 || usage
;;
+ -j)
+ if [ $# -eq 1 ]; then usage; fi; shift
+ config_TargetJail $1 || usage
+ ;;
-k)
if [ $# -eq 1 ]; then usage; fi; shift
config_KeyPrint $1 || usage

File Metadata

Mime Type
text/plain
Expires
Tue, Sep 24, 4:00 AM (21 h, 28 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
12626000
Default Alt Text
D25711.diff (2 KB)

Event Timeline