diff --git a/fastboot-forcefsck.patch b/fastboot-forcefsck.patch new file mode 100644 index 0000000..4d76eb2 --- /dev/null +++ b/fastboot-forcefsck.patch @@ -0,0 +1,13 @@ +Index: systemd-44/src/fsck.c +=================================================================== +--- systemd-44.orig/src/fsck.c ++++ systemd-44/src/fsck.c +@@ -127,7 +127,7 @@ static int parse_proc_cmdline(void) { + arg_skip = true; + else if (startswith(w, "fsck.mode")) + log_warning("Invalid fsck.mode= parameter. Ignoring."); +-#if defined(TARGET_FEDORA) || defined(TARGET_MANDRIVA) || defined(TARGET_MAGEIA) ++#if defined(TARGET_FEDORA) || defined(TARGET_MANDRIVA) || defined(TARGET_MAGEIA) || defined(TARGET_SUSE) + else if (strneq(w, "fastboot", l)) + arg_skip = true; + else if (strneq(w, "forcefsck", l)) diff --git a/fix-tty-startup.patch b/fix-tty-startup.patch new file mode 100644 index 0000000..293839c --- /dev/null +++ b/fix-tty-startup.patch @@ -0,0 +1,40 @@ +From d55248d6a6f69f3b6c86cfc0d11aff8831590a4f Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Thu, 12 Apr 2012 17:29:42 +0200 +Subject: [PATCH] getty: VC devices are always available, we don't need to + wait until they show up + +--- + src/99-systemd.rules.in | 1 - + units/getty@.service.m4 | 3 +-- + 2 files changed, 1 insertions(+), 3 deletions(-) + +diff --git a/src/99-systemd.rules.in b/src/99-systemd.rules.in +index d306f71..8cc7523 100644 +--- a/src/99-systemd.rules.in ++++ b/src/99-systemd.rules.in +@@ -7,7 +7,6 @@ + + ACTION=="remove", GOTO="systemd_end" + +-SUBSYSTEM=="tty", KERNEL=="tty[0-9]|tty1[0-2]", TAG+="systemd" + SUBSYSTEM=="tty", KERNEL=="tty[a-zA-Z]*|hvc*|xvc*|hvsi*", TAG+="systemd" + + KERNEL=="vport*", TAG+="systemd" +diff --git a/units/getty@.service.m4 b/units/getty@.service.m4 +index a02838d..c397a4d 100644 +--- a/units/getty@.service.m4 ++++ b/units/getty@.service.m4 +@@ -7,8 +7,7 @@ + + [Unit] + Description=Getty on %I +-BindTo=dev-%i.device +-After=dev-%i.device systemd-user-sessions.service plymouth-quit-wait.service ++After=systemd-user-sessions.service plymouth-quit-wait.service + m4_ifdef(`TARGET_FEDORA', + After=rc-local.service + )m4_dnl +-- +1.7.7 + diff --git a/fix-write-user-state-file.patch b/fix-write-user-state-file.patch new file mode 100644 index 0000000..e0cd289 --- /dev/null +++ b/fix-write-user-state-file.patch @@ -0,0 +1,99 @@ +From 0753f9b016f144a6ebe11cd8a2c377e5a0345443 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Tue, 22 May 2012 16:46:11 +0200 +Subject: [PATCH] logind: fix write out of user state file + +--- + src/login/logind-user.c | 65 ++++++++++++++++++++++++++++++---------------- + 1 files changed, 42 insertions(+), 23 deletions(-) + +diff --git a/src/login/logind-user.c b/src/login/logind-user.c +index 717f0e2..b7f579c 100644 +--- a/src/login/logind-user.c ++++ b/src/login/logind-user.c +@@ -136,40 +136,59 @@ int user_save(User *u) { + + if (u->sessions) { + Session *i; ++ bool first; + + fputs("SESSIONS=", f); ++ first = true; + LIST_FOREACH(sessions_by_user, i, u->sessions) { +- fprintf(f, +- "%s%c", +- i->id, +- i->sessions_by_user_next ? ' ' : '\n'); ++ if (first) ++ first = false; ++ else ++ fputc(' ', f); ++ ++ fputs(i->id, f); + } + +- fputs("SEATS=", f); ++ fputs("\nSEATS=", f); ++ first = true; + LIST_FOREACH(sessions_by_user, i, u->sessions) { +- if (i->seat) +- fprintf(f, +- "%s%c", +- i->seat->id, +- i->sessions_by_user_next ? ' ' : '\n'); ++ if (!i->seat) ++ continue; ++ ++ if (first) ++ first = false; ++ else ++ fputc(' ', f); ++ ++ fputs(i->seat->id, f); + } + +- fputs("ACTIVE_SESSIONS=", f); +- LIST_FOREACH(sessions_by_user, i, u->sessions) +- if (session_is_active(i)) +- fprintf(f, +- "%lu%c", +- (unsigned long) i->user->uid, +- i->sessions_by_user_next ? ' ' : '\n'); ++ fputs("\nACTIVE_SESSIONS=", f); ++ first = true; ++ LIST_FOREACH(sessions_by_user, i, u->sessions) { ++ if (!session_is_active(i)) ++ continue; ++ ++ if (first) ++ first = false; ++ else ++ fputc(' ', f); ++ ++ fputs(i->id, f); ++ } + +- fputs("ACTIVE_SEATS=", f); ++ fputs("\nACTIVE_SEATS=", f); ++ first = true; + LIST_FOREACH(sessions_by_user, i, u->sessions) { +- if (session_is_active(i) && i->seat) +- fprintf(f, +- "%s%c", +- i->seat->id, +- i->sessions_by_user_next ? ' ' : '\n'); ++ if (!session_is_active(i) || !i->seat) ++ continue; ++ ++ if (first) ++ first = false; ++ else ++ fputs(i->seat->id, f); + } ++ fputc('\n', f); + } + + fflush(f); +-- +1.7.7 + diff --git a/systemd.changes b/systemd.changes index b18c52f..87a604d 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,17 @@ +------------------------------------------------------------------- +Tue Jul 10 16:48:20 UTC 2012 - fcrozat@suse.com + +- Add fastboot-forcefsck.patch: ensure fastboot and forcefsck on + kernel commandline are handled. +- Add fix-write-user-state-file.patch: write logind state file + correctly. +- Disable logind-logout.patch: cause too many issues (bnc#769531). + +------------------------------------------------------------------- +Mon Jul 9 11:01:20 UTC 2012 - fcrozat@suse.com + +- Add fix-tty-startup.patch: don't limit tty VT to 12 (bnc#770182). + ------------------------------------------------------------------- Tue Jul 3 20:07:47 CEST 2012 - sbrabec@suse.cz diff --git a/systemd.spec b/systemd.spec index 27e8006..b377ded 100644 --- a/systemd.spec +++ b/systemd.spec @@ -83,6 +83,7 @@ Patch33: crypt-loop-file.patch Patch36: sysctl-modules.patch Patch38: dm-lvm-after-local-fs-pre-target.patch Patch41: 0001-add-sparse-support-to-detect-endianness-bug.patch +Patch53: fastboot-forcefsck.patch # Upstream First - Policy: # Never add any patches to this package without the upstream commit id @@ -98,6 +99,8 @@ Patch47: fix-dir-noatime-tmpfiles.patch Patch48: journal-bugfixes.patch Patch49: ulimit-support.patch Patch50: change-terminal.patch +Patch51: fix-tty-startup.patch +Patch52: fix-write-user-state-file.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -150,7 +153,8 @@ Drop-in replacement of System V init tools. %patch40 -p1 %patch41 -p1 %patch42 -p1 -%patch43 -p1 +# this one causes too many trouble for now, disabling (bnc#769531) +#patch43 -p1 %patch44 -p1 %patch45 -p1 %patch46 -p1 @@ -158,6 +162,9 @@ Drop-in replacement of System V init tools. %patch48 -p1 %patch49 -p1 %patch50 -p1 +%patch51 -p1 +%patch52 -p1 +%patch53 -p1 #needed by patch49 rm man/systemd.conf.5