diff --git a/etc/defaults/rc.conf b/etc/defaults/rc.conf index ad9e40dacc8a..edb0b3de455b 100644 --- a/etc/defaults/rc.conf +++ b/etc/defaults/rc.conf @@ -1,4 +1,4 @@ -# $NetBSD: rc.conf,v 1.151.2.1 2019/09/27 09:18:38 martin Exp $ +# $NetBSD: rc.conf,v 1.159 2020/09/11 09:59:35 kim Exp $ # # /etc/defaults/rc.conf -- # default configuration of /etc/rc.conf @@ -132,6 +132,7 @@ per_user_tmp=NO # per-user /tmp directories per_user_tmp_dir="/private/tmp" # real storage for /tmp clear_tmp=YES # clear /tmp after reboot update_motd=YES # updates /etc/motd +update_motd_release=NO motd_release_tag="" # release info in /etc/motd dmesg=YES dmesg_flags="-t" # write /var/run/dmesg.boot accounting=NO # uses /var/account/acct newsyslog=NO newsyslog_flags="" # trim log files diff --git a/etc/rc.d/motd b/etc/rc.d/motd index 818d811c431c..56e837208b82 100755 --- a/etc/rc.d/motd +++ b/etc/rc.d/motd @@ -1,6 +1,6 @@ #!/bin/sh # -# $NetBSD: motd,v 1.9 2004/08/13 18:08:03 mycroft Exp $ +# $NetBSD: motd,v 1.10 2020/09/11 09:59:35 kim Exp $ # # PROVIDE: motd @@ -16,7 +16,7 @@ stop_cmd=":" motd_start() { - # Update kernel info in /etc/motd + # Update kernel and release info in /etc/motd # Must be done *before* interactive logins are possible # to prevent possible race conditions. # @@ -27,7 +27,16 @@ motd_start() ( umask 022 T=/etc/_motd sysctl -n kern.version | while read i; do echo $i; break; done > $T - sed '1{/^NetBSD.*/{d;};};' < /etc/motd >> $T + if checkyesno update_motd_release; then + local t="${motd_release_tag}" + sed -En '1{/^NetBSD/{s/^/'"$t"'/;h;d;};q;} + /^ *Build ID */{s//(/;s/$/)/;H;g;y/\n/ /;p;q;} + ${g;p;}' < /etc/release >> $T + sed -E '1,2{/^'"${t+(${t})?}"'NetBSD/{d;};};' \ + < /etc/motd >> $T + else + sed '1{/^NetBSD.*/{d;};};' < /etc/motd >> $T + fi cmp -s $T /etc/motd || cp $T /etc/motd rm -f $T )