Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F107390296
D25711.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
2 KB
Referenced Files
None
Subscribers
None
D25711.diff
View Options
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
Details
Attached
Mime Type
text/plain
Expires
Tue, Jan 14, 11:47 AM (18 h, 32 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
15793841
Default Alt Text
D25711.diff (2 KB)
Attached To
Mode
D25711: freebsd-update(8): Add -j flag to support jails
Attached
Detach File
Event Timeline
Log In to Comment