0ccca6902b
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
59 lines
1.9 KiB
Python
59 lines
1.9 KiB
Python
#!/usr/bin/env python3
|
|
# -*- coding: utf-8 -*-
|
|
#
|
|
# === This file is part of Calamares - <https://github.com/calamares> ===
|
|
#
|
|
# Copyright 2016, Artoo <artoo@manjaro.org>
|
|
# Copyright 2017, Alf Gaida <agaida@siduction.org>
|
|
#
|
|
# Calamares is free software: you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation, either version 3 of the License, or
|
|
# (at your option) any later version.
|
|
#
|
|
# Calamares is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with Calamares. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
import libcalamares
|
|
|
|
from libcalamares.utils import debug, target_env_call
|
|
|
|
|
|
class PlymouthController:
|
|
|
|
def __init__(self):
|
|
self.__root = libcalamares.globalstorage.value('rootMountPoint')
|
|
|
|
@property
|
|
def root(self):
|
|
return self.__root
|
|
|
|
def setTheme(self):
|
|
plymouth_theme = libcalamares.job.configuration["plymouth_theme"]
|
|
target_env_call(["sed", "-e", 's|^.*Theme=.*|Theme=' +
|
|
plymouth_theme + '|', "-i",
|
|
"/etc/plymouth/plymouthd.conf"])
|
|
|
|
def detect(self):
|
|
isPlymouth = target_env_call(["sh", "-c", "which plymouth"])
|
|
debug("which plymouth exit code: {!s}".format(isPlymouth))
|
|
|
|
return isPlymouth
|
|
|
|
def run(self):
|
|
if self.detect() == 0:
|
|
if (("plymouth_theme" in libcalamares.job.configuration) and
|
|
(libcalamares.job.configuration["plymouth_theme"] is not None)):
|
|
self.setTheme()
|
|
return None
|
|
|
|
|
|
def run():
|
|
pc = PlymouthController()
|
|
return pc.run()
|