Bug#791907: [Pkg-sysvinit-devel] Bug#791907: bootlogd RC bug now on my radar.

2016-06-08 Thread Martin Pitt
Andreas Henriksson [2016-05-25 16:02 +0200]:
> Thanks for looking at this! I've pushed the changes to pkg-sysvinit git.
> Hopefully someone comes along and does an upload soon, but otherwise
> I might just go ahead with a NMU after a while to get these bug reports
> off my RC bug radar

I NMUed this change together with #826205 and #825937 to DELAYED/5.
I'll push the corresponding release commit/tags if/when this lands.

Thanks,

Martin
-- 
Martin Pitt| http://www.piware.de
Ubuntu Developer (www.ubuntu.com)  | Debian Developer  (www.debian.org)



Bug#791907: [Pkg-sysvinit-devel] Bug#791907: bootlogd RC bug now on my radar.

2016-05-25 Thread Andreas Henriksson
Hello!

On Mon, May 23, 2016 at 08:50:55PM +0200, Petter Reinholdtsen wrote:
[...]
> The approach look good to me. :)

Thanks for looking at this! I've pushed the changes to pkg-sysvinit git.
Hopefully someone comes along and does an upload soon, but otherwise
I might just go ahead with a NMU after a while to get these bug reports
off my RC bug radar

Regards,
Andreas Henriksson



Bug#791907: [Pkg-sysvinit-devel] Bug#791907: bootlogd RC bug now on my radar.

2016-05-23 Thread Petter Reinholdtsen
[Andreas Henriksson]
> I'm not a fan of saying RC bugs are solved by package description
> updates as in my experience few people read those anyway, but possibly
> this bug should not have RC severity to begin with...

To me getting bootlogd working with syslogd is more a wishlist bug.  Of
course it could be done by calling 'journalctl -b' at the end of the
boot and storing the output boot.log, but that kind of defeat the
purpose of bootlogd. :)

> Anyway, I've spent some time looking into this and would like to hear
> comments on the attached patch.

The approach look good to me. :)

-- 
Happy hacking
Petter Reinholdtsen



Bug#791907: [Pkg-sysvinit-devel] Bug#791907: bootlogd RC bug now on my radar.

2016-05-23 Thread Andreas Henriksson
Control: tags -1 + patch

Hello all.

On Thu, May 12, 2016 at 07:01:43PM +0200, Petter Reinholdtsen wrote:
> 
> I agree that the description update might be a good solution.  bootlogd
> solve a real problem with sysvinit, where it become possible to know
> what happened during boot because the log messages are available after
> boot, and also on headless boot.

Thanks for the information that it's still useful.

> This problem do not exist with systemd, so bootlogd do not have any
> purpose with systemd, as I see it.
> It do not do any harm, but it do not really solve anything either.
> Making this clear for the user should solve the RC bug, I believe.

I'm not a fan of saying RC bugs are solved by package description
updates as in my experience few people read those anyway, but possibly
this bug should not have RC severity to begin with...

Anyway, I've spent some time looking into this and would like to hear
comments on the attached patch. I've already discussed with pkg-systemd
about them dropping bootlogd.service masking for full effect once this
is uploaded Please see patch header for further information.
Hopefully the patch is simple enough while still leaving no user
in doubt about where to find the boot information.

Help with testing on a sysvinit system would also be much appreciated.

Regards,
Andreas Henriksson
>From 17a229641fb1acd3b11000ae528dac54deedd191 Mon Sep 17 00:00:00 2001
From: Andreas Henriksson 
Date: Mon, 23 May 2016 17:10:15 +0200
Subject: [PATCH] bootlogd: mention it won't do anything under systemd

Update package description as well as the initial log file that's
created under /var/log/boot to indicate that system console messages
aren't universally available.

Also make the main bootlogd init script writes a message to
/var/log/boot suggesting journalctl instead when starting.
This should avoid outdated and confusing boot logs lingering for
systems upgraded from wheezy or for people switching back and
forth between init systems.
Note that systemd package will need to drop the mask of bootlogd.service
for this to work. Also note that systemd package might not be carrying
the rcS support patch for much longer which means this script will
not be executed at all under systemd in the future.

Closes: #791907
---
 debian/bootlogd.postinst| 2 +-
 debian/control  | 4 
 debian/src/bootlogd/etc/init.d/bootlogd | 8 
 debian/src/bootlogd/etc/init.d/stop-bootlogd| 1 +
 debian/src/bootlogd/etc/init.d/stop-bootlogd-single | 1 +
 5 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/debian/bootlogd.postinst b/debian/bootlogd.postinst
index cc0dedb..eddd421 100644
--- a/debian/bootlogd.postinst
+++ b/debian/bootlogd.postinst
@@ -18,7 +18,7 @@ for F in /var/log/boot
 do
 	if [ ! -f "$F" ] && touch "$F" >/dev/null 2>&1
 	then
-		echo "(Nothing has been logged yet.)" >| "$F"
+		echo "(Nothing has been logged yet. If you're still seeing this message your current init system might not write bootup messages to the system console at all.)" >| "$F"
 		chown root:adm "$F"
 		chmod 640 "$F"
 	fi
diff --git a/debian/control b/debian/control
index f9efc03..7add446 100644
--- a/debian/control
+++ b/debian/control
@@ -153,3 +153,7 @@ Breaks: sysvinit-utils (<< 2.88dsf-17), initscripts (<< 2.88dsf-17)
 Description: daemon to log boot messages
  bootlogd logs all messages printed to the system console during system boot,
  and records those messages to a logfile.
+ .
+ Note that not all init systems print messages to the system console,
+ so that the logfile may remain empty; this is the case with systemd
+ (the default init system). Try "journalctl -b" instead.
diff --git a/debian/src/bootlogd/etc/init.d/bootlogd b/debian/src/bootlogd/etc/init.d/bootlogd
index 3460b2d..3615eb2 100644
--- a/debian/src/bootlogd/etc/init.d/bootlogd
+++ b/debian/src/bootlogd/etc/init.d/bootlogd
@@ -35,6 +35,14 @@ case "$0" in
 	;;
 esac
 
+if [ -d /run/system/system ]; then
+	if [ "$ACTION" = start ] && [ -f /var/log/boot ]; then
+		echo "(Booted up using systemd which doesn't write logs to system console. Please check 'journalctl -b' instead.)" > /var/log/boot
+	fi
+	log_daemon_msg "Skipping $NAME while running systemd"
+	exit 0
+fi
+
 case "$ACTION" in
   start)
   	# PATH is set above
diff --git a/debian/src/bootlogd/etc/init.d/stop-bootlogd b/debian/src/bootlogd/etc/init.d/stop-bootlogd
index 1797b7d..7c17328 100644
--- a/debian/src/bootlogd/etc/init.d/stop-bootlogd
+++ b/debian/src/bootlogd/etc/init.d/stop-bootlogd
@@ -13,6 +13,7 @@ NAME=stop-bootlogd
 DAEMON=/sbin/bootlogd
 
 [ -x "$DAEMON" ] || exit 0
+[ -d /run/systemd/system ] && exit 0
 
 case "$1" in
   start)
diff --git a/debian/src/bootlogd/etc/init.d/stop-bootlogd-single b/debian/src/bootlogd/etc/init.d/stop-bootlogd-single
index 2e76f16..a926158 100644
--- a/debian/src/bootlogd/etc/init.d/stop-bootlogd-single
+++ 

Bug#791907: [Pkg-sysvinit-devel] Bug#791907: bootlogd RC bug now on my radar.

2016-05-12 Thread Petter Reinholdtsen

I agree that the description update might be a good solution.  bootlogd
solve a real problem with sysvinit, where it become possible to know
what happened during boot because the log messages are available after
boot, and also on headless boot.  This problem do not exist with
systemd, so bootlogd do not have any purpose with systemd, as I see it.
It do not do any harm, but it do not really solve anything either.
Making this clear for the user should solve the RC bug, I believe.

-- 
Happy hacking
Petter Reinholdtsen