#!/bin/sh # # $NetBSD: motd,v 1.5 2000/09/19 13:04:38 lukem Exp $ # $FreeBSD$ # # PROVIDE: motd # REQUIRE: mountcritremote # BEFORE: LOGIN # KEYWORD: FreeBSD NetBSD . /etc/rc.subr name="motd" rcvar="update_motd" start_cmd="motd_start" stop_cmd=":" case ${OSTYPE} in FreeBSD) T=`mktemp /tmp/_motd.XXXXXX` PERMS="644" ;; NetBSD) T="/etc/_motd" PERMS="664" ;; esac motd_start() { # Update kernel 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 ${PERMS} /dev/null /etc/motd fi case ${OSTYPE} in FreeBSD) uname -v | sed -e 's,^\([^#]*\) #\(.* [1-2][0-9][0-9][0-9]\).*/\([^\]*\) $,\1 (\3) #\2,' > ${T} awk '{if (NR == 1) {if ($1 == "FreeBSD") {next} else {print "\n"$0}} else {print}}' < /etc/motd >> ${T} ;; NetBSD) sysctl -n kern.version | while read i; do echo $i; break; done > $T sed '1{/^NetBSD.*/{d;};};' < /etc/motd >> $T ;; esac cmp -s $T /etc/motd || { cp $T /etc/motd chmod ${PERMS} /etc/motd } rm -f $T } load_rc_config $name run_rc_command "$1"