Index: etc/Makefile =================================================================== --- etc/Makefile +++ 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: libexec/rc/rc.d/Makefile =================================================================== --- libexec/rc/rc.d/Makefile +++ libexec/rc/rc.d/Makefile @@ -77,6 +77,7 @@ nsswitch \ ntpdate \ ${_opensm} \ + os-release \ pf \ pflog \ pfsync \ Index: libexec/rc/rc.d/os-release =================================================================== --- /dev/null +++ libexec/rc/rc.d/os-release @@ -0,0 +1,42 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# PROVIDE: os-release +# REQUIRE: mountcritremote FILESYSTEMS +# BEFORE: LOGIN + +. /etc/rc.subr + +name="osrelease" +desc="Update /var/run/os-release" +start_cmd="osrelease_start" +stop_cmd=":" +: ${osrelease_file:=/var/run/os-release} +: ${osrelease_perms:=444} + +osrelease_start() +{ + check_startmsgs && echo -n 'Updating ${osrelease_file} ' + VERSION=$(freebsd-version -u) + VERSION_ID=${VERSION%%[^0-9.]*} + t=$(mktemp -t motd) + 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"