diff --git a/systemd-use-plymouth b/systemd-use-plymouth new file mode 100644 index 00000000..77da5a72 --- /dev/null +++ b/systemd-use-plymouth @@ -0,0 +1,107 @@ +From: Jeff Mahoney +Subject: systemd: Allow plymouth support from other distros than Fedora + + This patch allows plymouth support to be included when building + on distros other than Fedora. Specifically, it allows openSUSE. + +Signed-off-by: Jeff Mahoney +--- + + Makefile.am | 27 +++++++++++++++++---------- + configure.ac | 3 +++ + units/fedora/plymouth-start.service | 7 +++++-- + 3 files changed, 25 insertions(+), 12 deletions(-) + +--- a/Makefile.am ++++ b/Makefile.am +@@ -331,7 +331,11 @@ if TARGET_FEDORA + dist_systemunit_DATA += \ + units/fedora/prefdm.service \ + units/fedora/rc-local.service \ +- units/fedora/halt-local.service \ ++ units/fedora/halt-local.service ++endif ++ ++if HAVE_PLYMOUTH ++dist_systemunit_DATA += \ + units/fedora/plymouth-start.service \ + units/fedora/plymouth-read-write.service \ + units/fedora/plymouth-quit.service \ +@@ -1271,20 +1275,13 @@ install-data-hook: + ( cd $(DESTDIR)$(dbussessionservicedir) && \ + rm -f org.freedesktop.systemd1.service && \ + $(LN_S) ../system-services/org.freedesktop.systemd1.service org.freedesktop.systemd1.service ) +-if TARGET_FEDORA ++if HAVE_PLYMOUTH + $(MKDIR_P) -m 0755 \ + $(DESTDIR)$(SYSTEM_SYSVINIT_PATH) \ + $(DESTDIR)$(systemunitdir)/reboot.target.wants \ + $(DESTDIR)$(systemunitdir)/kexec.target.wants \ + $(DESTDIR)$(systemunitdir)/poweroff.target.wants \ +- $(DESTDIR)$(systemunitdir)/halt.target.wants \ +- $(DESTDIR)$(systemunitdir)/final.target.wants +- ( cd $(DESTDIR)$(systemunitdir)/multi-user.target.wants && \ +- rm -f rc-local.service && \ +- $(LN_S) $(systemunitdir)/rc-local.service rc-local.service ) +- ( cd $(DESTDIR)$(systemunitdir)/final.target.wants && \ +- rm -f halt-local.service && \ +- $(LN_S) $(systemunitdir)/halt-local.service halt-local.service ) ++ $(DESTDIR)$(systemunitdir)/halt.target.wants + ( cd $(DESTDIR)$(systemunitdir)/sysinit.target.wants && \ + rm -f plymouth-start.service plymouth-read-write.service && \ + $(LN_S) ../plymouth-start.service plymouth-start.service && \ +@@ -1304,6 +1301,16 @@ if TARGET_FEDORA + ( cd $(DESTDIR)$(systemunitdir)/halt.target.wants && \ + rm -f plymouth-halt.service && \ + $(LN_S) ../plymouth-halt.service plymouth-halt.service ) ++endif ++ ++if TARGET_FEDORA ++ $(MKDIR_P) -m 0755 $(DESTDIR)$(systemunitdir)/final.target.wants ++ ( cd $(DESTDIR)$(systemunitdir)/multi-user.target.wants && \ ++ rm -f rc-local.service && \ ++ $(LN_S) $(systemunitdir)/rc-local.service rc-local.service ) ++ ( cd $(DESTDIR)$(systemunitdir)/final.target.wants && \ ++ rm -f halt-local.service && \ ++ $(LN_S) $(systemunitdir)/halt-local.service halt-local.service ) + ( cd $(DESTDIR)$(systemunitdir) && \ + rm -f display-manager.service && \ + $(LN_S) prefdm.service display-manager.service ) +--- a/configure.ac ++++ b/configure.ac +@@ -321,11 +321,13 @@ case $with_distro in + SPECIAL_SYSLOG_SERVICE=rsyslog.service + AC_DEFINE(TARGET_FEDORA, [], [Target is Fedora/RHEL]) + M4_DISTRO_FLAG=-DTARGET_FEDORA=1 ++ have_plymouth=true + ;; + suse) + SYSTEM_SYSVRCND_PATH=/etc/init.d + AC_DEFINE(TARGET_SUSE, [], [Target is openSUSE/SLE]) + M4_DISTRO_FLAG=-DTARGET_SUSE=1 ++ have_plymouth=true + ;; + debian) + SYSTEM_SYSVRCND_PATH=/etc +@@ -421,6 +423,7 @@ AM_CONDITIONAL(TARGET_ARCH, test x"$with + AM_CONDITIONAL(TARGET_GENTOO, test x"$with_distro" = xgentoo) + AM_CONDITIONAL(TARGET_SLACKWARE, test x"$with_distro" = xslackware) + AM_CONDITIONAL(TARGET_FRUGALWARE, test x"$with_distro" = xfrugalware) ++AM_CONDITIONAL(HAVE_PLYMOUTH, test -n "$have_plymouth") + + AC_DEFINE_UNQUOTED(SPECIAL_SYSLOG_SERVICE, ["$SPECIAL_SYSLOG_SERVICE"], [Syslog service name]) + +--- a/units/fedora/plymouth-start.service ++++ b/units/fedora/plymouth-start.service +@@ -13,6 +13,9 @@ After=systemd-vconsole-setup.service ude + Before=systemd-ask-password-plymouth.service + + [Service] +-ExecStart=/sbin/plymouthd --mode=boot +-ExecStartPost=-/bin/plymouth --show-splash ++ExecStart=/bin/true ++ ++# We'd need these if we didn't start plymouth in the initramfs ++#ExecStart=/sbin/plymouthd --mode=boot ++#ExecStartPost=-/bin/plymouth --show-splash + Type=forking diff --git a/systemd.changes b/systemd.changes index c5c7af1d..cd45c81a 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Fri Feb 4 21:24:11 CET 2011 - jeffm@suse.de + +- Split plymouth support into systemd-plymouth package. + ------------------------------------------------------------------- Sat Jan 22 14:42:34 CET 2011 - kay.sievers@novell.com @@ -49,7 +54,7 @@ Wed Jan 19 12:55:40 CET 2011 - kay.sievers@novell.com - drop mtab symlink creation which is done in util-linux ------------------------------------------------------------------- -Sat Jan 8 19:25:40 CET 2011 - kay.sievers@novell.com +Sat Jan 8 19:25:40 CET 2011 - kay.sievers@novell.com - version 16 - device: don't warn if we cannot bump the udev socket buffer @@ -84,6 +89,11 @@ Sat Jan 8 19:25:40 CET 2011 - kay.sievers@novell.com - util: invoke sync() implicitly on freeze() - tmpfiles: do no follow symlinks when cleaning up dirs +------------------------------------------------------------------- +Tue Dec 28 22:08:28 CET 2010 - jeffm@suse.de + +- Add support for building plymouth support with openSUSE + ------------------------------------------------------------------- Mon Dec 27 22:15:41 CET 2010 - kay.sievers@novell.com @@ -107,13 +117,13 @@ Thu Dec 16 12:49:00 UTC 2010 - seife@opensuse.org 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 - 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 - new snapshot - path: fix watching the root directory diff --git a/systemd.spec b/systemd.spec index beeab891..ab9d3a6c 100644 --- a/systemd.spec +++ b/systemd.spec @@ -21,7 +21,7 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd Version: 17 -Release: 1 +Release: 2 License: GPLv2+ Group: System/Base Summary: A System and Session Manager @@ -42,7 +42,8 @@ Requires: util-linux >= 2.18.91 Conflicts: mkinitrd < 2.6.0-5 Source0: http://www.freedesktop.org/software/systemd/releases/%{name}-%{version}.tar.bz2 Source1: systemd-rpmlintrc -Patch42: 0001-Add-bootsplash-handling-for-password-dialogs.patch +Patch1: systemd-use-plymouth +Patch42: 0001-Add-bootsplash-handling-for-password-dialogs.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -69,17 +70,29 @@ Group: System/Base Summary: System V init tools Requires: %{name} = %{version}-%{release} Provides: sbin_init -Conflicts: sysvinit +Obsoletes: sysvinit Conflicts: upstart %description sysvinit Drop-in replacement of System V init tools. +%package plymouth +License: GPLv2+ +Group: System/Base +Summary: Plymouth support for systemd +Requires: %{name} = %{version}-%{release} +Requires: plymouth + +%description plymouth +Plymouth integration for systemd + %prep %setup -q %patch42 -p1 +%patch1 -p1 %build +autoreconf -fiv # prevent pre-generated and distributed files from re-building find . -name "*.[1-8]" -exec touch '{}' \; touch src/systemadm.c @@ -116,6 +129,8 @@ ln -s /dev/null $RPM_BUILD_ROOT/lib/systemd/system/localfs.service ln -s /dev/null $RPM_BUILD_ROOT/lib/systemd/system/crypto-early.service ln -s /dev/null $RPM_BUILD_ROOT/lib/systemd/system/crypto.service +(cd $RPM_BUILD_ROOT && find . -name '*plymouth*') > files.plymouth + %post /bin/systemctl daemon-reexec >/dev/null 2>&1 || : @@ -177,6 +192,10 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/polkit-1/actions/org.freedesktop.systemd1.policy %{_datadir}/systemd %{_datadir}/pkgconfig/systemd.pc +# Packaged in plymouth subpackage +%exclude /lib/systemd/system/plymouth-*.service +%exclude /lib/systemd/system/*.wants/plymouth-*.service +%exclude /lib/systemd/system/systemd-ask-password-plymouth.* # Packaged in gtk subpackage %exclude %{_mandir}/man1/systemadm.1* # Packaged in sysvinit subpackage @@ -207,6 +226,12 @@ rm -rf $RPM_BUILD_ROOT %{_bindir}/systemd-gnome-ask-password-agent %{_mandir}/man1/systemadm.1* +%files plymouth +%defattr(-,root,root,-) +/lib/systemd/system/plymouth-*.service +/lib/systemd/system/*.wants/plymouth-*.service +/lib/systemd/system/systemd-ask-password-plymouth.* + %files sysvinit %defattr(-,root,root,-) /sbin/init