178344Sobrien#!/bin/sh 278344Sobrien# 398184Sgordon# $FreeBSD$ 478344Sobrien# 578344Sobrien 678344Sobrien# PROVIDE: motd 778344Sobrien# REQUIRE: mountcritremote 898184Sgordon# BEFORE: LOGIN 978344Sobrien 1078344Sobrien. /etc/rc.subr 1178344Sobrien 1278344Sobrienname="motd" 13298514Slmedesc="Update /etc/motd" 1478344Sobrienrcvar="update_motd" 1578344Sobrienstart_cmd="motd_start" 1678344Sobrienstop_cmd=":" 1778344Sobrien 18121068SdougbPERMS="644" 1998184Sgordon 2078344Sobrienmotd_start() 2178344Sobrien{ 2278344Sobrien # Update kernel info in /etc/motd 2378344Sobrien # Must be done *before* interactive logins are possible 2478344Sobrien # to prevent possible race conditions. 2578344Sobrien # 26197947Sdougb check_startmsgs && echo -n 'Updating motd:' 2778344Sobrien if [ ! -f /etc/motd ]; then 2898184Sgordon install -c -o root -g wheel -m ${PERMS} /dev/null /etc/motd 2978344Sobrien fi 3098184Sgordon 31121068Sdougb if [ ! -w /etc/motd ]; then 32179945Smtm echo ' /etc/motd is not writable, update failed.' 33121068Sdougb return 34121068Sdougb fi 35121068Sdougb 36121068Sdougb T=`mktemp -t motd` 37121068Sdougb uname -v | sed -e 's,^\([^#]*\) #\(.* [1-2][0-9][0-9][0-9]\).*/\([^\]*\) $,\1 (\3) #\2,' > ${T} 38121068Sdougb awk '{if (NR == 1) {if ($1 == "FreeBSD") {next} else {print "\n"$0}} else {print}}' < /etc/motd >> ${T} 39121068Sdougb 4098184Sgordon cmp -s $T /etc/motd || { 4198184Sgordon cp $T /etc/motd 4298184Sgordon chmod ${PERMS} /etc/motd 4398184Sgordon } 4478344Sobrien rm -f $T 45121068Sdougb 46197947Sdougb check_startmsgs && echo '.' 4778344Sobrien} 4878344Sobrien 4978344Sobrienload_rc_config $name 5078344Sobrienrun_rc_command "$1" 51