motd revision 121068
178344Sobrien#!/bin/sh
278344Sobrien#
378344Sobrien# $NetBSD: motd,v 1.5 2000/09/19 13:04:38 lukem Exp $
498184Sgordon# $FreeBSD: head/etc/rc.d/motd 121068 2003-10-13 08:44:07Z dougb $
578344Sobrien#
678344Sobrien
778344Sobrien# PROVIDE: motd
878344Sobrien# REQUIRE: mountcritremote
998184Sgordon# BEFORE:  LOGIN
1098184Sgordon# KEYWORD: FreeBSD NetBSD
1178344Sobrien
1278344Sobrien. /etc/rc.subr
1378344Sobrien
1478344Sobrienname="motd"
1578344Sobrienrcvar="update_motd"
1678344Sobrienstart_cmd="motd_start"
1778344Sobrienstop_cmd=":"
1878344Sobrien
19121068SdougbPERMS="644"
2098184Sgordon
2178344Sobrienmotd_start()
2278344Sobrien{
2378344Sobrien	#	Update kernel info in /etc/motd
2478344Sobrien	#	Must be done *before* interactive logins are possible
2578344Sobrien	#	to prevent possible race conditions.
2678344Sobrien	#
27121068Sdougb	echo -n 'Updating motd'
2878344Sobrien	if [ ! -f /etc/motd ]; then
2998184Sgordon		install -c -o root -g wheel -m ${PERMS} /dev/null /etc/motd
3078344Sobrien	fi
3198184Sgordon
32121068Sdougb	if [ ! -w /etc/motd ]; then
33121068Sdougb		echo ' ... /etc/motd is not writable, update failed.'
34121068Sdougb		return
35121068Sdougb	fi
36121068Sdougb
37121068Sdougb	T=`mktemp -t motd`
38121068Sdougb	uname -v | sed -e 's,^\([^#]*\) #\(.* [1-2][0-9][0-9][0-9]\).*/\([^\]*\) $,\1 (\3) #\2,' > ${T}
39121068Sdougb	awk '{if (NR == 1) {if ($1 == "FreeBSD") {next} else {print "\n"$0}} else {print}}' < /etc/motd >> ${T}
40121068Sdougb
4198184Sgordon	cmp -s $T /etc/motd || {
4298184Sgordon		cp $T /etc/motd
4398184Sgordon		chmod ${PERMS} /etc/motd
4498184Sgordon	}
4578344Sobrien	rm -f $T
46121068Sdougb
47121068Sdougb	echo .
4878344Sobrien}
4978344Sobrien
5078344Sobrienload_rc_config $name
5178344Sobrienrun_rc_command "$1"
52