DragonFly BSD
DragonFly submit List (threaded) for 2004-01
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: motd update


From: Dylan Reinhold <dylan@xxxxxxxxxxxxxxxx>
Date: Fri, 30 Jan 2004 19:07:20 -0800

Matthew Dillon wrote:
:
:>     ?  It works for me.  If you want to augment it to not update the
:>     motd if the motd does not already have a DragonFly line I think that's
:>     fine, but don't just turn it off.
:
:I don't see why the uname output should be in motd. Every sysadmin out there
:knows how to use uname if they want to see what OS/version its running.

The solution is clear... the code should be adjusted such that if there is a DragonFly release string in the motd, the boot code adjusts
it, and if there is no DragonFly release string in the motd, the boot
code doesn't mess with it.


    The default motd has a DragonFly release string so insofar as new
    installs go, the motd will have the release.  But if the sysop doesn't
    like it he can just delete it from the motd without messing with rc.conf.

Would someone like to have a go at 'fixing' /etc/rc.d/motd to generate this behavior?

-Matt
Matthew Dillon <dillon@xxxxxxxxxxxxx>

Ok here it is...
This was only tested on a FreeBSD-5.2 system, I haven't had a chance to install DragonFly (Soon..). /etc/motd will only be updated if the first work of the first line is DragonFly..


Dylan
Index: motd
===================================================================
RCS file: /home/dragonfly/cvsroot/src/etc/rc.d/motd,v
retrieving revision 1.5
diff -u -r1.5 motd
--- motd        27 Jan 2004 00:42:45 -0000      1.5
+++ motd        31 Jan 2004 02:59:54 -0000
@@ -29,14 +29,20 @@
                install -c -o root -g wheel -m ${PERMS} /dev/null /etc/motd
        fi

-       T=`mktemp -t motd`
-       uname -v | sed -e 's,^\([^#]*\) #\(.* [1-2][0-9][0-9][0-9]\).*/\([^\]*\) $,\1 (\3) #\2,' > ${T}
-       awk '{if (NR == 1) {if ($1 == "DragonFly") {next} else {print "\n"$0}} else {print}}' < /etc/motd >> ${T}
-       cmp -s $T /etc/motd || {
-               cp $T /etc/motd
-               chmod ${PERMS} /etc/motd
+       T1=`mktemp -t motd`
+       awk 'NR == 1 {if ($1 == "DragonFly") {print} else {exit 1}}' < /etc/motd > $T1 && {
+
+               T2=`mktemp -t motd`
+               uname -v | sed -e 's,^\([^#]*\) #\(.* [1-2][0-9][0-9][0-9]\).*/\([^\]*\) $,\1 (\3) #\2,' > ${T2}
+               cmp -s $T1 $T2 || {
+                       awk '{if (NR == 1) {next} else {print}}' < /etc/motd >> ${T2}
+                       cp $T2 /etc/motd
+                       chmod ${PERMS} /etc/motd
+                       rm -f $T2
+               }
+               rm -f $T1
        }
-       rm -f $T
+
 }

 load_rc_config $name


[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]