diff --git a/support-sysvinit.patch b/support-sysvinit.patch new file mode 100644 index 00000000..627a3082 --- /dev/null +++ b/support-sysvinit.patch @@ -0,0 +1,21 @@ +Index: systemd-36/src/systemctl.c +=================================================================== +--- systemd-36.orig/src/systemctl.c ++++ systemd-36/src/systemctl.c +@@ -4672,10 +4672,13 @@ static int parse_argv(int argc, char *ar + /* Hmm, so some other init system is + * running, we need to forward this + * request to it. For now we simply +- * guess that it is Upstart. */ +- +- execv("/lib/upstart/telinit", argv); ++ * guess that it is Sysvinit or Upstart. */ + ++ if (!access("/lib/sysvinit/telinit", X_OK)) { ++ execv("/lib/sysvinit/telinit", argv); ++ } else { ++ execv("/lib/upstart/telinit", argv); ++ } + log_error("Couldn't find an alternative telinit implementation to spawn."); + return -EIO; + } diff --git a/systemd.changes b/systemd.changes index 9891b612..b45fab37 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,20 @@ +------------------------------------------------------------------- +Tue Oct 11 13:57:32 UTC 2011 - coolo@suse.com + +- make sure updaters get in the /sbin/init from here - the sub package + of the split package will decide which init wins in update case + +------------------------------------------------------------------- +Tue Oct 11 13:10:27 UTC 2011 - coolo@suse.com + +- under openSUSE if it's not systemd, chances are good it's + sysvinit + +------------------------------------------------------------------- +Tue Oct 11 11:07:02 UTC 2011 - coolo@suse.com + +- do not list specific sbin_init providers + ------------------------------------------------------------------- Wed Oct 5 16:18:48 UTC 2011 - fcrozat@suse.com diff --git a/systemd.spec b/systemd.spec index 33a01022..bec7ce20 100644 --- a/systemd.spec +++ b/systemd.spec @@ -65,6 +65,7 @@ Patch6: 0001-handle-disable_caplock-and-compose_table-and-kbd_rat.patch Patch8: tty1.patch Patch10: 0001-service-Fix-dependencies-added-when-parsing-insserv..patch Patch13: 0001-service-flags-sysv-service-with-detected-pid-as-Rema.patch +Patch15: support-sysvinit.patch # Upstream First - Policy: # Never add any patches to this package without the upstream commit id @@ -84,7 +85,6 @@ transactional dependency-based service control logic. It can work as a drop-in replacement for sysvinit. %package devel -License: GPLv2+ Group: Development/Libraries/C and C++ Summary: Development headers for systemd Requires: %{name} = %{version} @@ -94,13 +94,11 @@ Requires: pkg-config Development headers and auxiliary files for developing applications for systemd. %package sysvinit -License: GPLv2+ -Group: System/Base Summary: System V init tools Requires: %{name} = %{version} Provides: sbin_init -Conflicts: sysvinit -Conflicts: upstart +Conflicts: otherproviders(sbin_init) +Provides: sysvinit:/sbin/init %description sysvinit Drop-in replacement of System V init tools. @@ -108,9 +106,6 @@ Drop-in replacement of System V init tools. %if %{build_plymouth} %package plymouth - -License: GPLv2+ -Group: System/Base Summary: Plymouth support for systemd Requires: %{name} = %{version} Requires: plymouth @@ -128,6 +123,7 @@ Plymouth integration for systemd %patch12 -p1 %patch13 -p1 %patch14 -p1 +%patch15 -p1 %build autoreconf -fiv