diff options
3 files changed, 60 insertions, 0 deletions
diff --git a/sys-boot/plymouth-openrc-plugin/Manifest b/sys-boot/plymouth-openrc-plugin/Manifest new file mode 100644 index 00000000..64681ef6 --- /dev/null +++ b/sys-boot/plymouth-openrc-plugin/Manifest @@ -0,0 +1 @@ +DIST plymouth-openrc-plugin-0.1.2.tar.bz2 8909 BLAKE2B 0ddebeb0d957cea672eca2faa4c4f12d348e38bf5e5d2947585bdc12c0f9188920a2359a88b2ada5c7872400c12fb224aca24e78ec2ac6bc7fba9bcdd2a0c5bc SHA512 a6c578dcdcc770cf55cf150fbf67e99ef4fac08db17fd8a84ec5f76f96172aa4cb071a0ee695a6d6fe6883e5117c95b096ba5ce8260d71bea33a26909719457d diff --git a/sys-boot/plymouth-openrc-plugin/files/plymouth-openrc-plugin-0.1.2-exit-at-mount-ro.patch b/sys-boot/plymouth-openrc-plugin/files/plymouth-openrc-plugin-0.1.2-exit-at-mount-ro.patch new file mode 100644 index 00000000..7dc5feb2 --- /dev/null +++ b/sys-boot/plymouth-openrc-plugin/files/plymouth-openrc-plugin-0.1.2-exit-at-mount-ro.patch @@ -0,0 +1,25 @@ +From 9d3485d73244eea61205c4c84b2c37d489d5bbcb Mon Sep 17 00:00:00 2001 +From: tlhonmey <lperkins@zagmail.gonzaga.edu> +Date: Wed, 31 Jan 2018 11:10:48 -0800 +Subject: [PATCH] Exit plymouth when we hit mount-ro rather than localmount. + +Newer versions of openrc appear to run localmount almost immediately upon shutdown, causing the plugin to send Plymouth the quit command before the splash is even displayed, resulting in no splash on shutdown. + +The job that cuts us off from writing to /var is now mount-ro, which runs near the end like it should and gives Plymouth time to show the splash. +--- + plymouth.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/plymouth.c b/plymouth.c +index e657e82..e9c925b 100644 +--- a/plymouth.c ++++ b/plymouth.c +@@ -240,7 +240,7 @@ int rc_plugin_hook(RC_HOOK hook, const char *name) + + case RC_HOOK_SERVICE_STOP_IN: + /* Quit Plymouth when we're going to lost write access to /var/... */ +- if(strcmp(name, "localmount") == 0 && ++ if(strcmp(name, "mount-ro") == 0 && + strcmp(runlevel, RC_LEVEL_SHUTDOWN) == 0) { + DBG("ply_quit(PLY_MODE_SHUTDOWN)"); + if(!ply_quit(PLY_MODE_SHUTDOWN)) diff --git a/sys-boot/plymouth-openrc-plugin/plymouth-openrc-plugin-0.1.2-r10.ebuild b/sys-boot/plymouth-openrc-plugin/plymouth-openrc-plugin-0.1.2-r10.ebuild new file mode 100644 index 00000000..a073ee75 --- /dev/null +++ b/sys-boot/plymouth-openrc-plugin/plymouth-openrc-plugin-0.1.2-r10.ebuild @@ -0,0 +1,34 @@ +# Copyright 1999-2018 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +DESCRIPTION="Plymouth plugin for OpenRC" +HOMEPAGE="https://github.com/aidecoe/plymouth-openrc-plugin" +SRC_URI="https://dev.gentoo.org/~aidecoe/distfiles/${CATEGORY}/${PN}/${P}.tar.bz2" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86" +IUSE="" + +DEPEND="sys-apps/openrc:=" +RDEPEND="${DEPEND} + sys-boot/plymouth" + +PATCHES=( "${FILESDIR}/${P}-exit-at-mount-ro.patch" ) + +src_install() { + insinto /$(get_libdir)/rc/plugins + doins plymouth.so +} + +pkg_postinst() { + ewarn "You need to disable 'rc_interactive' feature in /etc/rc.conf to make" + ewarn "Plymouth work properly with OpenRC init system." + + if has_version sys-apps/systemd; then + eerror "sys-apps/systemd is installed, please uninstall this package if you" + eerror "are booting with systemd" + fi +} |