#!/bin/sh # # $NetBSD: motd,v 1.11 2020/09/11 12:50:14 kim Exp $ # # PROVIDE: motd # REQUIRE: mountcritremote # BEFORE: LOGIN $_rc_subr_loaded . /etc/rc.subr name="motd" rcvar="update_motd" start_cmd="motd_start" stop_cmd=":" motd_start() { # Update kernel and release info in /etc/motd # Must be done *before* interactive logins are possible # to prevent possible race conditions. # echo "Updating motd." if [ ! -f /etc/motd ]; then install -c -o root -g wheel -m 664 /dev/null /etc/motd fi ( umask 022 T=/etc/_motd sysctl -n kern.version | while read i; do echo "$i"; break; done > $T if checkyesno update_motd_release; then local t=$(echo "${motd_release_tag%%:*}" | tr -d /) sed -En '1{/^NetBSD/{'"${t:+s/^/${t}: /;}"'h;d;};q;} /^ *Build ID */{s//(/;s/$/)/;H;g;y/\n/ /;p;q;} ${g;p;}' < /etc/release >> $T sed -E '1,2{/^([^:]*: )?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 ) } load_rc_config $name run_rc_command "$1"