Page MenuHomeFreeBSD

D22271.id64654.diff
No OneTemporary

D22271.id64654.diff

Index: head/etc/Makefile
===================================================================
--- head/etc/Makefile
+++ head/etc/Makefile
@@ -57,6 +57,8 @@
${_+_}cd ${.CURDIR}/mtree; ${MAKE} install
${_+_}cd ${SRCTOP}/share/termcap; ${MAKE} etc-termcap
${_+_}cd ${SRCTOP}/usr.sbin/rmt; ${MAKE} etc-rmt
+ ${INSTALL_SYMLINK} ../var/run/os-release \
+ ${DESTDIR}/etc/os-release
.if ${MK_UNBOUND} != "no"
if [ ! -e ${DESTDIR}/etc/unbound ]; then \
${INSTALL_SYMLINK} -T "package=unbound" \
Index: head/libexec/rc/rc.conf
===================================================================
--- head/libexec/rc/rc.conf
+++ head/libexec/rc/rc.conf
@@ -678,6 +678,9 @@
entropy_save_num="8" # Number of entropy cache files to save.
harvest_mask="511" # Entropy device harvests all but the very invasive sources.
# (See 'sysctl kern.random.harvest' and random(4))
+osrelease_enable="YES" # Update /var/run/os-release on boot (or NO).
+osrelease_file="/var/run/os-release" # File to update for os-release.
+osrelease_perms="444" # Default permission for os-release file.
dmesg_enable="YES" # Save dmesg(8) to /var/run/dmesg.boot
watchdogd_enable="NO" # Start the software watchdog daemon
watchdogd_flags="" # Flags to watchdogd (if enabled)
Index: head/libexec/rc/rc.d/Makefile
===================================================================
--- head/libexec/rc/rc.d/Makefile
+++ head/libexec/rc/rc.d/Makefile
@@ -77,6 +77,7 @@
nsswitch \
ntpdate \
${_opensm} \
+ os-release \
pf \
pflog \
pfsync \
Index: head/libexec/rc/rc.d/os-release
===================================================================
--- head/libexec/rc/rc.d/os-release
+++ head/libexec/rc/rc.d/os-release
@@ -0,0 +1,44 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+
+# PROVIDE: os-release
+# REQUIRE: mountcritremote FILESYSTEMS
+# BEFORE: LOGIN
+
+. /etc/rc.subr
+
+: ${osrelease_file:=/var/run/os-release}
+: ${osrelease_perms:=444}
+name="osrelease"
+desc="Update ${osrelease_file}"
+start_cmd="osrelease_start"
+stop_cmd=":"
+
+osrelease_start()
+{
+ local _version _version_id
+
+ check_startmsgs && echo -n "Updating ${osrelease_file} "
+ _version=$(freebsd-version -u)
+ _version_id=${_version%%[^0-9.]*}
+ t=$(mktemp -t os-release)
+ cat > "$t" <<-__EOF__
+ NAME=FreeBSD
+ VERSION=$_version
+ VERSION_ID=$_version_id
+ ID=freebsd
+ ANSI_COLOR="0;31"
+ PRETTY_NAME="FreeBSD $_version"
+ CPE_NAME=cpe:/o:freebsd:freebsd:$_version_id
+ HOME_URL=https://FreeBSD.org/
+ BUG_REPORT_URL=https://bugs.FreeBSD.org/
+__EOF__
+ install -C -o root -g wheel -m ${osrelease_perms} "$t" "${osrelease_file}"
+ rm -f "$t"
+ check_startmsgs && echo 'done.'
+}
+
+load_rc_config $name
+run_rc_command "$1"
Index: head/share/man/man5/Makefile
===================================================================
--- head/share/man/man5/Makefile
+++ head/share/man/man5/Makefile
@@ -46,6 +46,7 @@
nsmb.conf.5 \
nsswitch.conf.5 \
nullfs.5 \
+ os-release.5 \
passwd.5 \
pbm.5 \
periodic.conf.5 \
Index: head/share/man/man5/os-release.5
===================================================================
--- head/share/man/man5/os-release.5
+++ head/share/man/man5/os-release.5
@@ -0,0 +1,130 @@
+.\" Copyright (c) 2019 M. Warner Losh.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" $FreeBSD$
+.\"
+.Dd November 9, 2019
+.Dt OS-RELEASE 5
+.Os
+.Sh NAME
+.Nm os-release
+.Nd file describing the current OS and some of its attributes
+.Sh DESCRIPTION
+The
+.Nm
+file is a new-line separated list of key value pairs.
+The syntax of this file is a reduced
+.Xr sh 1
+variable assignment with the
+following restrictions:
+.Bl -bullet
+.It
+Strings cannot be concatenated together
+.It
+No variable expansion is done
+.It
+All shell special characters must be quoted as documented in
+.Xr sh 1
+.It
+Variable assignments must be included inside of double quotes
+if they contain characters outside of A-Z, a-z and 0-9
+.It
+All strings should be UTF-8 format
+.It
+Non-printable characters should not be used in the strings
+.El
+.Pp
+Lines starting with the character
+.Ql #
+are ignored as comments.
+.Sh VARIABLES
+The following variables are defined by the standard.
+.Bl -tag -width XXXXXXXXXX -compact
+.It Dv NAME
+A string describing the preferred OS name.
+.It Dv VERSION
+Version string for the OS, in its usual and customary format.
+.It Dv ID
+Lower case version of the name with only a-z, 0-9,
+.Ql . ,
+.Ql - ,
+and
+.Ql _ .
+.It Dv VERSION_ID
+Lower case version of the version with only a-z, 0-9,
+.Ql . ,
+.Ql - ,
+and
+.Ql _ .
+.It Dv PRETTY_NAME
+A pretty version of the name presented to the user.
+May contain release information.
+.It Dv ANSI_COLOR
+Suggested color presentation for the OS.
+This string should be suitable for inclusion within an ESC [ m ANSI/ECMA-48
+escape sequence to render the OS in its preferred color.
+This variable is optional.
+.It Dv CPE_NAME
+A CPE name for the operating system.
+This field shall follow the NIST Common Platform Enumeration specification.
+.It Dv HOME_URL
+.It Dv SUPPORT_URL
+.It Dv BUG_REPORT_URL
+.It Dv PRIVACY_POLICY_URL
+Links on the internet, in RFC 3986 format for different aspects of this OS.
+These variables are optional.
+.It Dv BUILD_ID
+A string identifying the build.
+This variable is optional.
+.It Dv VARIANT
+A string describing the variant of this operating system.
+This variable is optional.
+.It Dv VARIANT_ID
+Lower case version of the variant with only a-z, 0-9,
+.Ql . ,
+.Ql - ,
+and
+.Ql _ .
+This variable is optional.
+.El
+.Pp
+All other variables have no standard-defined meaning.
+.Sh FILES
+.Bl -tag -width XXXXXXXXXX -compact
+.It Pa /etc/os-release
+Symbolic link to actual
+.Pa os-release
+file.
+.It Pa /var/run/os-release
+Generated os-release file describing the currently running system.
+.Sh SEE ALSO
+.Bl -tag -width XXXXXXXXXX -compact
+.It CPE Specification
+.Lk https://csrc.nist.gov/projects/security-content-automation-protocol/scap-specifications/cpe
+.It RFC 3986
+.Lk https://tools.ietf.org/html/rfc3986
+.It os-release Specification
+.Lk https://www.linux.org/docs/man5/os-release.html
+.Sh HISTORY
+This file first appeared in
+.Fx 13.0 .
Index: head/sys/sys/param.h
===================================================================
--- head/sys/sys/param.h
+++ head/sys/sys/param.h
@@ -60,7 +60,7 @@
* in the range 5 to 9.
*/
#undef __FreeBSD_version
-#define __FreeBSD_version 1300059 /* Master, propagated to newvers */
+#define __FreeBSD_version 1300060 /* Master, propagated to newvers */
/*
* __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD,

File Metadata

Mime Type
text/plain
Expires
Wed, Jan 22, 11:43 AM (4 h, 40 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
16029367
Default Alt Text
D22271.id64654.diff (7 KB)

Event Timeline