[grubcfg] fix inter-module dependency with plymouthcfg modules

The plymouthcfg Calamares module is optional. Distributions which
  write filesystems with a full plymouth configuration won't even
  want to use it (see plymouthcfg docs).

  However, now grubcfg depends on plymouthcfg to run because
  the globalstorage value to trigger setting  'splash' in grub,
  is set in the plymouthcfg module.

  Just check for plymouth existence separately in the grub module.

  Fixes ea1c8a0e5d
main
Gabriel Craciunescu 7 years ago committed by Adriaan de Groot
parent db7edf719b
commit 0ccca6902b

@ -44,16 +44,21 @@ def modify_grub_default(partitions, root_mount_point, distributor):
dracut_bin = libcalamares.utils.target_env_call(
["sh", "-c", "which dracut"]
)
have_dracut = dracut_bin == 0 # Shell exit value 0 means success
plymouth_bin = libcalamares.utils.target_env_call(
["sh", "-c", "which plymouth"]
)
# Shell exit value 0 means success
have_plymouth = plymouth_bin == 0
have_dracut = dracut_bin == 0
use_splash = ""
swap_uuid = ""
swap_outer_uuid = ""
swap_outer_mappername = None
if libcalamares.globalstorage.contains("hasPlymouth"):
if libcalamares.globalstorage.value("hasPlymouth"):
use_splash = "splash"
if have_plymouth:
use_splash = "splash"
cryptdevice_params = []

@ -40,14 +40,9 @@ class PlymouthController:
"/etc/plymouth/plymouthd.conf"])
def detect(self):
isPlymouth = target_env_call(["which", "plymouth"])
isPlymouth = target_env_call(["sh", "-c", "which plymouth"])
debug("which plymouth exit code: {!s}".format(isPlymouth))
if isPlymouth == 0:
libcalamares.globalstorage.insert("hasPlymouth", True)
else:
libcalamares.globalstorage.insert("hasPlymouth", False)
return isPlymouth
def run(self):

Loading…
Cancel
Save