Accepting request 56226 from Base:System

Accepted submit request 56226 from user kay_sievers

OBS-URL: https://build.opensuse.org/request/show/56226
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=25
This commit is contained in:
Berthold Gunreben 2010-12-20 15:03:19 +00:00 committed by Git OBS Bridge
parent 3b7f6ab180
commit 1fcc0f789f
4 changed files with 79 additions and 3 deletions

View File

@ -0,0 +1,61 @@
From 81eca00461968aac09f9e8535f4327282698b495 Mon Sep 17 00:00:00 2001
From: Stefan Seyfried <seife+obs@b1-systems.com>
Date: Thu, 16 Dec 2010 11:30:17 +0100
Subject: [PATCH] Add bootsplash handling for password dialogs
openSUSE uses bootsplash.org, so add a crude handling for setting the
splash screen to verbose when a password is asked...
---
src/ask-password-api.c | 22 ++++++++++++++++++++++
1 files changed, 22 insertions(+), 0 deletions(-)
diff --git a/src/ask-password-api.c b/src/ask-password-api.c
index 9f7023e..2023441 100644
--- a/src/ask-password-api.c
+++ b/src/ask-password-api.c
@@ -47,6 +47,9 @@ int ask_password_tty(
int r, ttyfd = -1, notify = -1;
struct pollfd pollfd[2];
bool reset_tty = false;
+ bool splash_silent = false;
+ FILE *procsplash = NULL;
+ char *line = NULL;
enum {
POLL_TTY,
POLL_INOTIFY
@@ -90,6 +93,19 @@ int ask_password_tty(
}
reset_tty = true;
+ procsplash = fopen("/proc/splash", "r+");
+ if (procsplash) {
+ getline(&line, &p, procsplash);
+ p = 0; /* reset, just to make sure */
+ if (line &&
+ (strstr(line, "on\n") == line + strlen(line) - 3) &&
+ (strstr(line, "silent") != NULL)) {
+ splash_silent = true;
+ rewind(procsplash);
+ fprintf(procsplash, "verbose\n");
+ fflush(procsplash);
+ }
+ }
}
zero(pollfd);
@@ -201,6 +217,12 @@ finish:
close_nointr_nofail(ttyfd);
}
+ if (splash_silent) { /* only set if procsplash != NULL */
+ rewind(procsplash);
+ fprintf(procsplash, "silent\n");
+ fclose(procsplash);
+ }
+
return r;
}
--
1.7.3.1

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1 version https://git-lfs.github.com/spec/v1
oid sha256:f16e55e8a39169d609a102129ef05344026b0d5938c954d66309a1e1d767e229 oid sha256:414f2c94256aebaaceddef8dba1410026f4dd29d3e056be544dd44bcad01d1e8
size 765271 size 765361

View File

@ -1,7 +1,20 @@
-------------------------------------------------------------------
Thu Dec 16 16:52:04 CET 2010 - kay.sievers@novell.com
- new snapshot
- ifdef suse-only sysv script lookup code
-------------------------------------------------------------------
Thu Dec 16 12:49:00 UTC 2010 - seife@opensuse.org
- add bootsplash handling patch to be able to enter e.g.
crypto passphrases (bnc#659885)
------------------------------------------------------------------- -------------------------------------------------------------------
Thu Dec 9 18:54:15 CET 2010 - kay.sievers@novell.com Thu Dec 9 18:54:15 CET 2010 - kay.sievers@novell.com
- add LSB 'smtp' alias for mail-transport-agent.target - new snapshot
- add LSB 'smtp' alias for mail-transport-agent.target
------------------------------------------------------------------- -------------------------------------------------------------------
Wed Dec 8 12:43:53 CET 2010 - kay.sievers@novell.com Wed Dec 8 12:43:53 CET 2010 - kay.sievers@novell.com

View File

@ -43,6 +43,7 @@ Requires: fsck-with-dev-lock
Conflicts: mkinitrd < 2.6.0-5 Conflicts: mkinitrd < 2.6.0-5
Source0: http://www.freedesktop.org/software/systemd/releases/%{name}-%{version}.tar.bz2 Source0: http://www.freedesktop.org/software/systemd/releases/%{name}-%{version}.tar.bz2
Source1: systemd-rpmlintrc Source1: systemd-rpmlintrc
Patch42: 0001-Add-bootsplash-handling-for-password-dialogs.patch
%description %description
Systemd is a system and service manager, compatible with SysV and LSB Systemd is a system and service manager, compatible with SysV and LSB
@ -77,6 +78,7 @@ Drop-in replacement of System V init tools.
%prep %prep
%setup -q %setup -q
%patch42 -p1
%build %build
# prevent pre-generated and distributed files from re-building # prevent pre-generated and distributed files from re-building