On Sat, Apr 30, 2011 at 22:09:22 +1000, Kel Modderman wrote: > On Thu, 28 Apr 2011 02:44:15 PM Andrew Pollock wrote: > > In short, I don't think the postinst should be creating an /etc/motd.tail > > if one doesn't exist already. > > I do not completely understand this statement. Do you mean: postinst should > never create /etc/motd.tail at all?
The code to create the /etc/motd.tail file was added as part of the migration from a "static" /etc/motd to the one found in /var/run/motd, as mentioned in this changelog entry: sysvinit (2.86.ds1-7) experimental; urgency=low [...] * bootmisc.sh: Shorten motd header (Closes: #340017) * bootmisc.sh: Store dynamic motd in /var/run/ and make /etc/motd a symbolic link. The EDITMOTD variable no longer has any effect; to disable updating of the motd just point the /etc/motd symlink to a static file such as /etc/motd.static. [...] -- Petter Reinholdtsen <p...@debian.org> Sat, 17 Dec 2005 21:26:03 +0100 Basically, it looks like the idea was that the package postinst script would preserve the existing file's contents into /etc/motd.tail, which would then be used going forward (by bootmisc.sh) to re-generate the /var/run/motd so that it looked like /etc/motd had looked prior to the move. (See http://anonscm.debian.org/viewvc/pkg-sysvinit/sysvinit/trunk/debian/initscripts.postinst?r1=365&r2=380 or http://snapshot.debian.org/archive/debian/20051219T000000Z/pool/main/s/sysvinit/sysvinit_2.86.ds1-7.diff.gz for the exact changes.) Unfortunately, this logic is still found in the postinst script, and it runs every time the package is upgraded... even if /etc/motd was already converted to a symlink to /var/run/motd on a prior upgrade. I guess this hasn't turned out to be a big issue on Debian systems because of the way the motd file generally gets used on those systems -- but even so, it seems like there's really no point for the postinst script to still be attempting this /etc/motd -> /etc/motd.tail migration processs these days.... > I'd be happy to look at/apply a patch if you could please whip one up? The simplest patch just removes the motd.tail logic completely (attached). (You can find patches implementing a couple other approaches attached to LP #659738: https://bugs.launchpad.net/ubuntu/+source/sysvinit/+bug/659738 , but off hand I don't see a compelling reason to use those over the "simple" patch in the Debian package....) Nathan
--- initscripts.postinst 2011-06-08 10:44:48.000000000 -0400 +++ initscripts.postinst_no_motd-tail 2011-06-08 10:47:10.000000000 -0400 @@ -288,14 +288,6 @@ # # Set up motd stuff, putting variable file in /var/run/ # -if [ ! -f /etc/motd.tail ] -then - if [ -f /etc/motd ] - then - sed 1d /etc/motd > /etc/motd.tail - [ -s /etc/motd.tail ] || rm -f /etc/motd.tail - fi -fi if [ ! -f /var/run/motd ] then if [ -f /etc/motd ]