Page MenuHomeFreeBSD

D25705.diff
No OneTemporary

D25705.diff

diff --git a/bin/freebsd-version/freebsd-version.1 b/bin/freebsd-version/freebsd-version.1
--- a/bin/freebsd-version/freebsd-version.1
+++ b/bin/freebsd-version/freebsd-version.1
@@ -25,7 +25,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd November 14, 2017
+.Dd October 1, 2021
.Dt FREEBSD-VERSION 1
.Os
.Sh NAME
@@ -34,6 +34,7 @@
.Sh SYNOPSIS
.Nm
.Op Fl kru
+.Op Fl j Ar jail
.Sh DESCRIPTION
The
.Nm
@@ -60,12 +61,20 @@
These are hardcoded into
.Nm
during the build.
+.It Fl j Ar jail
+Print the version and patch level of the installed userland in the
+given jail specified by
+.Va jid
+or
+.Va name .
+This option can be specified multiple times.
.El
.Pp
If several of the above options are specified,
.Nm
will print the installed kernel version first, then the running kernel
-version, and finally the userland version, on separate lines.
+version, next the userland version, and finally the userland version
+of the specified jails, on separate lines.
If neither is specified, it will print the userland version only.
.Sh IMPLEMENTATION NOTES
The
diff --git a/bin/freebsd-version/freebsd-version.sh.in b/bin/freebsd-version/freebsd-version.sh.in
--- a/bin/freebsd-version/freebsd-version.sh.in
+++ b/bin/freebsd-version/freebsd-version.sh.in
@@ -84,11 +84,20 @@
echo $USERLAND_VERSION
}
+#
+# Print the hardcoded userland version of a jail.
+#
+jail_version() {
+ for i in $jail; do
+ jexec -- $i freebsd-version
+ done
+}
+
#
# Print a usage string and exit.
#
usage() {
- echo "usage: $progname [-kru]" >&2
+ echo "usage: $progname [-kru] [-j jail]" >&2
exit 1
}
@@ -97,7 +106,8 @@
#
main() {
# parse command-line arguments
- while getopts "kru" option ; do
+ local OPTIND=1 OPTARG option
+ while getopts "kruj:" option ; do
case $option in
k)
opt_k=1
@@ -108,6 +118,14 @@
u)
opt_u=1
;;
+ j)
+ if [ $opt_j ] ; then
+ jail="$jail $OPTARG"
+ else
+ opt_j=1
+ jail="$OPTARG"
+ fi
+ ;;
*)
usage
;;
@@ -118,7 +136,7 @@
fi
# default is -u
- if [ $((opt_k + opt_r + opt_u)) -eq 0 ] ; then
+ if [ $((opt_k + opt_r + opt_u + opt_j)) -eq 0 ] ; then
opt_u=1
fi
@@ -136,6 +154,11 @@
if [ $opt_u ] ; then
userland_version
fi
+
+ # print jail version
+ if [ $opt_j ] ; then
+ jail_version
+ fi
}
main "$@"

File Metadata

Mime Type
text/plain
Expires
Tue, Jan 14, 5:14 PM (6 h, 46 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
15797649
Default Alt Text
D25705.diff (2 KB)

Event Timeline