Package: grub-common
Version: 2.02~beta2-36
Tags: patch
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu ubuntu-patch yakkety
There is some ongoing effort to stop installing "initscripts" by
default, as it's not necessary under systemd [1].
I noticed that without initscripts, the only failed service at boot is
/etc/init.d/grub-common:
| ● grub-common.service - LSB: Record successful boot for GRUB
|Loaded: loaded (/etc/init.d/grub-common; bad; vendor preset: enabled)
|Active: failed (Result: exit-code) since Fr 2016-05-20 18:17:46 CEST; 23s
ago
| Docs: man:systemd-sysv-generator(8)
| Process: 761 ExecStart=/etc/init.d/grub-common start (code=exited, status=2)
|
| Mai 20 18:17:46 donald systemd[1]: Starting LSB: Record successful boot for
GRUB...
| Mai 20 18:17:46 donald grub-common[761]: /etc/init.d/grub-common: 17: .:
Can't open /lib/init/vars.sh
| Mai 20 18:17:46 donald systemd[1]: grub-common.service: Control process
exited, code=exited status=2
| Mai 20 18:17:46 donald systemd[1]: Failed to start LSB: Record successful
boot for GRUB.
| Mai 20 18:17:46 donald systemd[1]: grub-common.service: Unit entered failed
state.
| Mai 20 18:17:46 donald systemd[1]: grub-common.service: Failed with result
'exit-code'.
Indeed /etc/init.d/grub-common unconditionally sources /lib/init/vars.sh
without depending on initscripts. Of course we don't actually want to add this
dependency, but robustify the init.d script to get along without vars.sh.
It only uses this to conditionalize the log_action_msg call. I think
this is unjustified -- the backend/consumer of these log messages,
(like plymouth or just console) should decide what to do with the
messages, and most other packages that I know unconditionally do the
log_* LSB calls.
I attach a patch which removes the /lib/init/vars.sh sourcing and thus
the initscripts dependency.
Thanks,
Martin
[1]
https://bugs.debian.org/cgi-bin/pkgreport.cgi?users=pkg-systemd-maintain...@lists.alioth.debian.org;dist=unstable;tag=initscripts-dep
--
Martin Pitt| http://www.piware.de
Ubuntu Developer (www.ubuntu.com) | Debian Developer (www.debian.org)
* debian/grub-common.init: Don't source /lib/init/vars.sh, we don't depend
on initscripts (and don't want to). There is no reason why we would not
use the LSB log_action_msg in non-verbose (default) mode, most other
packages use it unconditionally. (LP: #1584134)
diff -Nru grub2-2.02~beta2/debian/grub-common.init
grub2-2.02~beta2/debian/grub-common.init
--- grub2-2.02~beta2/debian/grub-common.init2016-03-15 19:08:17.0
+0100
+++ grub2-2.02~beta2/debian/grub-common.init2016-05-20 18:33:30.0
+0200
@@ -13,20 +13,17 @@
which grub-editenv >/dev/null 2>&1 || exit 0
-# Load the VERBOSE setting and other rcS variables
-. /lib/init/vars.sh
-
# Define LSB log_* functions.
# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
. /lib/lsb/init-functions
case $1 in
start|restart|force-reload)
- [ "$VERBOSE" != no ] && log_action_msg "Recording successful boot for
GRUB"
+ log_action_msg "Recording successful boot for GRUB"
[ -s /boot/grub/grubenv ] || rm -f /boot/grub/grubenv
mkdir -p /boot/grub
grub-editenv /boot/grub/grubenv unset recordfail
- [ "$VERBOSE" != no ] && log_end_msg $?
+ log_end_msg $?
;;
stop)
;;
signature.asc
Description: PGP signature