Merge pull request #71064 from worldofpeace/lightdm-kill-plymouth

lightdm: hardcode path to plymouth
This commit is contained in:
Florian Klink 2019-10-13 23:11:02 +02:00 committed by GitHub
commit 933a5c89fd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 55 additions and 5 deletions

View File

@ -1,8 +1,32 @@
{ stdenv, fetchFromGitHub, pam, pkgconfig, autoconf, automake, libtool, libxcb { stdenv
, glib, libXdmcp, itstool, intltool, libxklavier, libgcrypt, audit, busybox , fetchFromGitHub
, polkit, accountsservice, gtk-doc, gnome3, gobject-introspection, vala, fetchpatch , substituteAll
, withQt4 ? false, qt4 , plymouth
, withQt5 ? false, qtbase , pam
, pkgconfig
, autoconf
, automake
, libtool
, libxcb
, glib
, libXdmcp
, itstool
, intltool
, libxklavier
, libgcrypt
, audit
, busybox
, polkit
, accountsservice
, gtk-doc
, gnome3
, gobject-introspection
, vala
, fetchpatch
, withQt4 ? false
, qt4
, withQt5 ? false
, qtbase
}: }:
with stdenv.lib; with stdenv.lib;
@ -53,11 +77,20 @@ stdenv.mkDerivation rec {
url = "https://src.fedoraproject.org/rpms/lightdm/raw/4cf0d2bed8d1c68970b0322ccd5dbbbb7a0b12bc/f/lightdm-1.25.1-disable_dmrc.patch"; url = "https://src.fedoraproject.org/rpms/lightdm/raw/4cf0d2bed8d1c68970b0322ccd5dbbbb7a0b12bc/f/lightdm-1.25.1-disable_dmrc.patch";
sha256 = "06f7iabagrsiws2l75sx2jyljknr9js7ydn151p3qfi104d1541n"; sha256 = "06f7iabagrsiws2l75sx2jyljknr9js7ydn151p3qfi104d1541n";
}) })
# Don't use etc/dbus-1/system.d # Don't use etc/dbus-1/system.d
(fetchpatch { (fetchpatch {
url = "https://github.com/canonical/lightdm/commit/a99376f5f51aa147aaf81287d7ce70db76022c47.patch"; url = "https://github.com/canonical/lightdm/commit/a99376f5f51aa147aaf81287d7ce70db76022c47.patch";
sha256 = "1zyx1qqajrmqcf9hbsapd39gmdanswd9l78rq7q6rdy4692il3yn"; sha256 = "1zyx1qqajrmqcf9hbsapd39gmdanswd9l78rq7q6rdy4692il3yn";
}) })
# Hardcode plymouth to fix transitions.
# For some reason it can't find `plymouth`
# even when it's in PATH in environment.systemPackages.
(substituteAll {
src = ./fix-paths.patch;
plymouth = "${plymouth}/bin/plymouth";
})
]; ];
preConfigure = "NOCONFIGURE=1 ./autogen.sh"; preConfigure = "NOCONFIGURE=1 ./autogen.sh";
@ -83,6 +116,10 @@ stdenv.mkDerivation rec {
--replace /bin/rm ${busybox}/bin/rm --replace /bin/rm ${busybox}/bin/rm
''; '';
postInstall = ''
rm -rf $out/etc/apparmor.d $out/etc/init $out/etc/pam.d
'';
meta = { meta = {
homepage = https://github.com/CanonicalLtd/lightdm; homepage = https://github.com/CanonicalLtd/lightdm;
description = "A cross-desktop display manager"; description = "A cross-desktop display manager";

View File

@ -0,0 +1,13 @@
diff --git a/src/plymouth.c b/src/plymouth.c
index d1ed91f4..318f9409 100644
--- a/src/plymouth.c
+++ b/src/plymouth.c
@@ -24,7 +24,7 @@ static gboolean has_active_vt = FALSE;
static gboolean
plymouth_run_command (const gchar *command, gint *exit_status)
{
- g_autofree gchar *command_line = g_strdup_printf ("plymouth %s", command);
+ g_autofree gchar *command_line = g_strdup_printf ("@plymouth@ %s", command);
g_autoptr(GError) error = NULL;
gboolean result = g_spawn_command_line_sync (command_line, NULL, NULL, exit_status, &error);