Merge branch 'evilham-motd' into 'master'

[__motd] Improve documentation and support for FreeBSD

See merge request ungleich-public/cdist!864
This commit is contained in:
poljakowski 2020-04-26 09:47:54 +02:00
commit b40b95d758
3 changed files with 37 additions and 1 deletions

View File

@ -29,7 +29,18 @@ case "$os" in
echo "uname -snrvm > /var/run/motd" echo "uname -snrvm > /var/run/motd"
echo "cat /etc/motd.tail >> /var/run/motd" echo "cat /etc/motd.tail >> /var/run/motd"
;; ;;
freebsd)
# FreeBSD only updates /etc/motd on boot,
# as seen in /etc/rc.d/motd
echo "uname -sri > /etc/motd"
echo "cat /etc/motd.template >> /etc/motd"
# FreeBSD 13 starts treating motd slightly different from previous
# versions this ensures hosts have the expected config.
echo "rm /etc/motd.template || true"
echo "service motd start"
;;
*) *)
# Other OS tend to treat /etc/motd statically
exit 0 exit 0
;; ;;
esac esac

View File

@ -10,6 +10,13 @@ DESCRIPTION
----------- -----------
This cdist type allows you to easily setup /etc/motd. This cdist type allows you to easily setup /etc/motd.
.. note::
In some OS, motd is a bit special, check `motd(5)`.
Currently Debian, Devuan, Ubuntu and FreeBSD are taken into account.
If your OS of choice does something besides /etc/motd, check the source
and contribute support for it.
Otherwise it will likely just work.
REQUIRED PARAMETERS REQUIRED PARAMETERS
------------------- -------------------
@ -20,6 +27,7 @@ OPTIONAL PARAMETERS
------------------- -------------------
source source
If supplied, copy this file from the host running cdist to the target. If supplied, copy this file from the host running cdist to the target.
If source is '-' (dash), take what was written to stdin as the file content.
If not supplied, a default message will be placed onto the target. If not supplied, a default message will be placed onto the target.
@ -34,6 +42,15 @@ EXAMPLES
# Supply source file from a different type # Supply source file from a different type
__motd --source "$__type/files/my-motd" __motd --source "$__type/files/my-motd"
# Supply source from stdin
__motd --source "-" <<EOF
Take this kiss upon the brow!
And, in parting from you now,
Thus much let me avow-
You are not wrong, who deem
That my days have been a dream
EOF
AUTHORS AUTHORS
------- -------
@ -42,7 +59,7 @@ Nico Schottelius <nico-cdist--@--schottelius.org>
COPYING COPYING
------- -------
Copyright \(C) 2011 Nico Schottelius. You can redistribute it Copyright \(C) 2020 Nico Schottelius. You can redistribute it
and/or modify it under the terms of the GNU General Public License as and/or modify it under the terms of the GNU General Public License as
published by the Free Software Foundation, either version 3 of the published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version. License, or (at your option) any later version.

View File

@ -34,9 +34,17 @@ os=$(cat "$__global/explorer/os")
case "$os" in case "$os" in
debian|ubuntu|devuan) debian|ubuntu|devuan)
# Debian-based systems use /etc/motd.tail as a template
destination=/etc/motd.tail destination=/etc/motd.tail
;; ;;
freebsd)
# FreeBSD uses motd.template to prepend system information on boot
# (this actually only applies starting with version 13,
# but we fix that for whatever version in gencode-remote)
destination=/etc/motd.template
;;
*) *)
# Most UNIX systems, including other Linux and OpenBSD just use /etc/motd
destination=/etc/motd destination=/etc/motd
;; ;;
esac esac