2826da432c
Update login(1), its manual pages, similar utilities, and motd.5 to refer to the new location. Suggested by: delphij@ (re: r349256) Reviewed by: bcr (manpages), delphij Differential Revision: https://reviews.freebsd.org/D20721
59 lines
1.3 KiB
Bash
Executable File
59 lines
1.3 KiB
Bash
Executable File
#!/bin/sh
|
|
#
|
|
# $FreeBSD$
|
|
#
|
|
|
|
# PROVIDE: motd
|
|
# REQUIRE: mountcritremote FILESYSTEMS
|
|
# BEFORE: LOGIN
|
|
|
|
. /etc/rc.subr
|
|
|
|
name="motd"
|
|
desc="Update /var/run/motd"
|
|
rcvar="update_motd"
|
|
start_cmd="motd_start"
|
|
stop_cmd=":"
|
|
|
|
COMPAT_MOTD="/etc/motd"
|
|
TARGET="/var/run/motd"
|
|
TEMPLATE="/etc/motd.template"
|
|
PERMS="644"
|
|
|
|
motd_start()
|
|
{
|
|
# Update kernel info in /var/run/motd
|
|
# Must be done *before* interactive logins are possible
|
|
# to prevent possible race conditions.
|
|
#
|
|
check_startmsgs && echo -n 'Updating motd:'
|
|
if [ ! -f "${TEMPLATE}" ]; then
|
|
# Create missing template from existing regular motd file, if
|
|
# one exists.
|
|
if [ -f "${COMPAT_MOTD}" ]; then
|
|
sed '1{/^FreeBSD.*/{d;};};' "${COMPAT_MOTD}" > "${TEMPLATE}"
|
|
chmod $PERMS "${TEMPLATE}"
|
|
rm -f "${COMPAT_MOTD}"
|
|
else
|
|
# Otherwise, create an empty template file.
|
|
install -c -o root -g wheel -m ${PERMS} /dev/null "${TEMPLATE}"
|
|
fi
|
|
# Provide compatibility symlink:
|
|
if [ ! -h "${COMPAT_MOTD}" ]; then
|
|
ln -sF "${TARGET}" "${COMPAT_MOTD}"
|
|
fi
|
|
fi
|
|
|
|
T=`mktemp -t motd`
|
|
uname -v | sed -e 's,^\([^#]*\) #\(.* [1-2][0-9][0-9][0-9]\).*/\([^\]*\) $,\1 (\3) #\2,' > ${T}
|
|
cat "${TEMPLATE}" >> ${T}
|
|
|
|
install -C -o root -g wheel -m "${PERMS}" "$T" "${TARGET}"
|
|
rm -f "$T"
|
|
|
|
check_startmsgs && echo '.'
|
|
}
|
|
|
|
load_rc_config $name
|
|
run_rc_command "$1"
|