motd revision 114198
155714Skris#!/bin/sh
255714Skris#
355714Skris# $NetBSD: motd,v 1.5 2000/09/19 13:04:38 lukem Exp $
455714Skris# $FreeBSD: head/etc/rc.d/motd 114198 2003-04-29 06:56:40Z dougb $
555714Skris#
655714Skris
755714Skris# PROVIDE: motd
8296465Sdelphij# REQUIRE: mountcritremote
955714Skris# BEFORE:  LOGIN
1055714Skris# KEYWORD: FreeBSD NetBSD
1155714Skris
1255714Skris. /etc/rc.subr
1355714Skris
1455714Skrisname="motd"
15296465Sdelphijrcvar="update_motd"
1655714Skrisstart_cmd="motd_start"
1755714Skrisstop_cmd=":"
1855714Skris
1955714Skriscase ${OSTYPE} in
2055714SkrisFreeBSD)
2155714Skris	PERMS="644"
22296465Sdelphij	;;
2355714SkrisNetBSD)
2455714Skris	PERMS="664"
2555714Skris	;;
2655714Skrisesac
2755714Skris
2855714Skrismotd_start()
2955714Skris{
3055714Skris	#	Update kernel info in /etc/motd
3155714Skris	#	Must be done *before* interactive logins are possible
3255714Skris	#	to prevent possible race conditions.
3355714Skris	#
3455714Skris	echo "Updating motd."
3555714Skris	if [ ! -f /etc/motd ]; then
3655714Skris		install -c -o root -g wheel -m ${PERMS} /dev/null /etc/motd
37296465Sdelphij	fi
3855714Skris
3955714Skris	case ${OSTYPE} in
40296465Sdelphij	FreeBSD)
4155714Skris		T=`mktemp /tmp/_motd.XXXXXX`
4255714Skris		uname -v | sed -e 's,^\([^#]*\) #\(.* [1-2][0-9][0-9][0-9]\).*/\([^\]*\) $,\1 (\3) #\2,' > ${T}
4355714Skris		awk '{if (NR == 1) {if ($1 == "FreeBSD") {next} else {print "\n"$0}} else {print}}' < /etc/motd >> ${T}
4455714Skris		;;
4555714Skris	NetBSD)
4655714Skris		T='/etc/_motd'
4755714Skris		sysctl -n kern.version | while read i; do echo $i; break; done > $T
4855714Skris		sed '1{/^NetBSD.*/{d;};};' < /etc/motd >> $T
4955714Skris		;;
5055714Skris	esac
5155714Skris	cmp -s $T /etc/motd || {
52296465Sdelphij		cp $T /etc/motd
5355714Skris		chmod ${PERMS} /etc/motd
5455714Skris	}
5555714Skris	rm -f $T
5655714Skris}
5755714Skris
5855714Skrisload_rc_config $name
5955714Skrisrun_rc_command "$1"
6055714Skris