diff --git a/fix-enable-disable-boot-initscript.patch b/fix-enable-disable-boot-initscript.patch index 84efd6b..a89b595 100644 --- a/fix-enable-disable-boot-initscript.patch +++ b/fix-enable-disable-boot-initscript.patch @@ -7,11 +7,11 @@ Subject: [PATCH] fix support for boot prefixed initscript (bnc#746506) src/systemctl.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) -Index: systemd-193/src/systemctl/systemctl.c +Index: systemd-195/src/systemctl/systemctl.c =================================================================== ---- systemd-193.orig/src/systemctl/systemctl.c -+++ systemd-193/src/systemctl/systemctl.c -@@ -3475,7 +3475,27 @@ static int enable_sysv_units(char **args +--- systemd-195.orig/src/systemctl/systemctl.c ++++ systemd-195/src/systemctl/systemctl.c +@@ -3453,7 +3453,27 @@ static int enable_sysv_units(char **args if (!found_sysv) { free(p); diff --git a/storage-after-cryptsetup.patch b/storage-after-cryptsetup.patch index 51c5a0b..3f92ecb 100644 --- a/storage-after-cryptsetup.patch +++ b/storage-after-cryptsetup.patch @@ -54,7 +54,7 @@ Index: systemd-194/src/cryptsetup/cryptsetup-generator.c + "RemainAfterExit=true\n" + "Type=oneshot\n" + "TimeoutSec=0\n" -+ "ExecStart=/bin/systemctl restart lvm.service\n"); ++ "ExecStart=/usr/bin/systemctl restart lvm.service\n"); + + fflush(f); + diff --git a/systemd-194.tar.xz b/systemd-194.tar.xz deleted file mode 100644 index 9317049..0000000 --- a/systemd-194.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a275ce044f66f28c5ed0846e7019438ce8b5f596e8255f3455e32b3c0db5f631 -size 1409672 diff --git a/systemd-195.tar.xz b/systemd-195.tar.xz new file mode 100644 index 0000000..c1ce220 --- /dev/null +++ b/systemd-195.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e9041a8b84ed971d08df2b96f1b7dbb1d49b788e275c7cc39912f656bd826303 +size 1441308 diff --git a/systemd-mini.changes b/systemd-mini.changes index fa78071..5360889 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,37 @@ +------------------------------------------------------------------- +Mon Oct 29 13:01:20 UTC 2012 - fcrozat@suse.com + +- Add var-run-lock.patch: make sure /var/run and /var/lock are + handled as bind mount if they aren't symlinks. +- Update storage-after-cryptsetup.patch with new systemctl path. +- Migrate broken symlinks in /etc/systemd/system due to new systemd + location. + +------------------------------------------------------------------- +Fri Oct 26 13:37:52 UTC 2012 - fcrozat@suse.com + +- Update to release 195: + + journalctl agained --since and --until, as well as filtering + for units with --unit=/-u. + + allow ExecReload properly for Type=oneshot (needed for + iptables.service, rpc-nfsd.service). + + journal daemon supports time-based rotation and vaccuming. + + journalctl -F allow to list all values of a certain field in + journal database. + + new commandline clients for timedated, locald and hostnamed + + new tool systemd-coredumpctl to list and extract coredumps from + journal. + + improve gatewayd: follow mode, filtering, support for + HTML5/JSON Server-Sent-Events. + + reload support in SysV initscripts is now detected when file is + parted. + + "systemctl status --follow" as been removed, use "journalctl -fu + instead" + + journald.conf RuntimeMinSize and PersistentMinSize settings + have been removed. +- Add compatibility symlink for systemd-ask-password and systemctl + in /bin. + ------------------------------------------------------------------- Thu Oct 18 12:27:07 UTC 2012 - fcrozat@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index f9b8321..8ba9a45 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -25,7 +25,7 @@ Name: systemd-mini Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 194 +Version: 195 Release: 0 Summary: A System and Session Manager License: LGPL-2.1+ @@ -88,6 +88,8 @@ Requires: kbd Requires: pam-config >= 0.79-5 Requires: systemd-presets-branding Requires: util-linux >= 2.21 +Requires(post): coreutils +Requires(post): findutils %endif Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 @@ -123,6 +125,7 @@ Patch38: dm-lvm-after-local-fs-pre-target.patch Patch53: fastboot-forcefsck.patch Patch56: support-suse-clock-sysconfig.patch Patch59: fix-enable-disable-boot-initscript.patch +Patch60: var-run-lock.patch # Upstream First - Policy: # Never add any patches to this package without the upstream commit id @@ -298,6 +301,7 @@ provides GObject access to udev device information. %patch53 -p1 %patch56 -p1 %patch59 -p1 +%patch60 -p1 %build %if ! 0%{?bootstrap} @@ -328,6 +332,8 @@ make %{?_smp_mflags} mkdir -p $RPM_BUILD_ROOT/{sbin,lib,bin} ln -sf %{_bindir}/udevadm $RPM_BUILD_ROOT/sbin/udevadm +ln -sf %{_bindir}/systemd-ask-password $RPM_BUILD_ROOT/bin/systemd-ask-password +ln -sf %{_bindir}/systemctl $RPM_BUILD_ROOT/bin/systemctl ln -sf %{_prefix}/lib/systemd/systemd-udevd $RPM_BUILD_ROOT/sbin/udevd mkdir -p $RPM_BUILD_ROOT/%{_prefix}/usr/lib/firmware/updates ln -sf /lib/firmware $RPM_BUILD_ROOT/usr/lib/firmware @@ -395,6 +401,9 @@ rm %{buildroot}/%{_prefix}/lib/systemd/system/local-fs.target.wants/tmp.mount # journal. rm -f %{buildroot}%{_libdir}/../lib/sysctl.d/coredump.conf +# remove README files for now +rm -f %{buildroot}/var/log/README %{buildroot}/etc/init.d/README + # legacy links ln -s loginctl %{buildroot}%{_bindir}/systemd-loginctl ln -s journalctl %{buildroot}%{_bindir}/systemd-journalctl @@ -420,8 +429,8 @@ mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/syslog.target.wants %post /usr/sbin/pam-config -a --systemd >/dev/null 2>&1 || : /sbin/ldconfig -/bin/systemd-machine-id-setup >/dev/null 2>&1 || : -/bin/systemctl daemon-reexec >/dev/null 2>&1 || : +/usr/bin/systemd-machine-id-setup >/dev/null 2>&1 || : +/usr/bin/systemctl daemon-reexec >/dev/null 2>&1 || : # Try to read default runlevel from the old inittab if it exists if [ ! -e /etc/systemd/system/default.target -a -e /etc/inittab ]; then @@ -434,17 +443,24 @@ fi # Later package updates should not overwrite these settings. if [ "$1" -eq 1 ]; then # Enable these services by default. - /bin/systemctl enable \ + /usr/bin/systemctl enable \ getty@.service \ systemd-readahead-collect.service \ systemd-readahead-replay.service \ remote-fs.target >/dev/null 2>&1 || : +else +# migrate any symlink which may refer to the old path +for f in $(find /etc/systemd/system -type l -xtype l); do + new_target="/usr$(readlink $f)" + [ -f "$new_target" ] && ln -s -f $new_target $f || : +done + fi %postun /sbin/ldconfig if [ $1 -ge 1 ]; then - /bin/systemctl try-restart systemd-logind.service >/dev/null 2>&1 || : + /usr/bin/systemctl try-restart systemd-logind.service >/dev/null 2>&1 || : fi if [ $1 -eq 0 ]; then /usr/sbin/pam-config -d --systemd >/dev/null 2>&1 || : @@ -452,7 +468,7 @@ fi %preun if [ $1 -eq 0 ]; then - /bin/systemctl disable \ + /usr/bin/systemctl disable \ getty@.service \ systemd-readahead-collect.service \ systemd-readahead-replay.service \ @@ -482,12 +498,12 @@ rm -f /etc/sysconfig/udev rm -f /etc/udev/rules.d/20-cdrom.rules rm -f /etc/udev/rules.d/55-cdrom.rules rm -f /etc/udev/rules.d/65-cdrom.rules -/bin/systemctl daemon-reload >/dev/null 2>&1 || : +/usr/bin/systemctl daemon-reload >/dev/null 2>&1 || : # start daemon if we are not in a chroot if test -f /proc/1/exe -a -d /proc/1/root; then if test "$(stat -Lc '%%D-%%i' /)" = "$(stat -Lc '%%D-%%i' /proc/1/root)"; then - /bin/systemctl start systemd-udevd.service >/dev/null 2>&1 || : - /sbin/udevd --daemon >/dev/null 2>&1 || : + /usr/bin/systemctl start systemd-udevd.service >/dev/null 2>&1 || : + /usr/lib/systemd/systemd-udevd --daemon >/dev/null 2>&1 || : fi fi @@ -501,7 +517,7 @@ fi %postun -n %{udevpkgname} %insserv_cleanup -/bin/systemctl daemon-reload >/dev/null 2>&1 || : +/usr/bin/systemctl daemon-reload >/dev/null 2>&1 || : [ -x /sbin/mkinitrd_setup ] && /sbin/mkinitrd_setup if [ -e /var/lib/no_initrd_recreation_by_suspend ]; then @@ -528,7 +544,12 @@ rm -rf %{buildroot} %files %defattr(-,root,root) /bin/systemd +/bin/systemd-ask-password +/bin/systemctl +%{_bindir}/hostnamectl +%{_bindir}/localectl %{_bindir}/systemctl +%{_bindir}/systemd-coredumpctl %{_bindir}/systemd-delta %{_bindir}/systemd-notify %{_bindir}/systemd-journalctl @@ -543,6 +564,7 @@ rm -rf %{buildroot} %{_bindir}/systemd-nspawn %{_bindir}/systemd-stdio-bridge %{_bindir}/systemd-detect-virt +%{_bindir}/timedatectl %{_sbindir}/systemd-sysv-convert %{_libdir}/libsystemd-daemon.so.* %{_libdir}/libsystemd-login.so.* diff --git a/systemd.changes b/systemd.changes index fa78071..5360889 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,37 @@ +------------------------------------------------------------------- +Mon Oct 29 13:01:20 UTC 2012 - fcrozat@suse.com + +- Add var-run-lock.patch: make sure /var/run and /var/lock are + handled as bind mount if they aren't symlinks. +- Update storage-after-cryptsetup.patch with new systemctl path. +- Migrate broken symlinks in /etc/systemd/system due to new systemd + location. + +------------------------------------------------------------------- +Fri Oct 26 13:37:52 UTC 2012 - fcrozat@suse.com + +- Update to release 195: + + journalctl agained --since and --until, as well as filtering + for units with --unit=/-u. + + allow ExecReload properly for Type=oneshot (needed for + iptables.service, rpc-nfsd.service). + + journal daemon supports time-based rotation and vaccuming. + + journalctl -F allow to list all values of a certain field in + journal database. + + new commandline clients for timedated, locald and hostnamed + + new tool systemd-coredumpctl to list and extract coredumps from + journal. + + improve gatewayd: follow mode, filtering, support for + HTML5/JSON Server-Sent-Events. + + reload support in SysV initscripts is now detected when file is + parted. + + "systemctl status --follow" as been removed, use "journalctl -fu + instead" + + journald.conf RuntimeMinSize and PersistentMinSize settings + have been removed. +- Add compatibility symlink for systemd-ask-password and systemctl + in /bin. + ------------------------------------------------------------------- Thu Oct 18 12:27:07 UTC 2012 - fcrozat@suse.com diff --git a/systemd.spec b/systemd.spec index ffae0f9..67fc4e0 100644 --- a/systemd.spec +++ b/systemd.spec @@ -23,7 +23,7 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 194 +Version: 195 Release: 0 Summary: A System and Session Manager License: LGPL-2.1+ @@ -83,6 +83,8 @@ Requires: kbd Requires: pam-config >= 0.79-5 Requires: systemd-presets-branding Requires: util-linux >= 2.21 +Requires(post): coreutils +Requires(post): findutils %endif Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 @@ -118,6 +120,7 @@ Patch38: dm-lvm-after-local-fs-pre-target.patch Patch53: fastboot-forcefsck.patch Patch56: support-suse-clock-sysconfig.patch Patch59: fix-enable-disable-boot-initscript.patch +Patch60: var-run-lock.patch # Upstream First - Policy: # Never add any patches to this package without the upstream commit id @@ -293,6 +296,7 @@ provides GObject access to udev device information. %patch53 -p1 %patch56 -p1 %patch59 -p1 +%patch60 -p1 %build %if ! 0%{?bootstrap} @@ -323,6 +327,8 @@ make %{?_smp_mflags} mkdir -p $RPM_BUILD_ROOT/{sbin,lib,bin} ln -sf %{_bindir}/udevadm $RPM_BUILD_ROOT/sbin/udevadm +ln -sf %{_bindir}/systemd-ask-password $RPM_BUILD_ROOT/bin/systemd-ask-password +ln -sf %{_bindir}/systemctl $RPM_BUILD_ROOT/bin/systemctl ln -sf %{_prefix}/lib/systemd/systemd-udevd $RPM_BUILD_ROOT/sbin/udevd mkdir -p $RPM_BUILD_ROOT/%{_prefix}/usr/lib/firmware/updates ln -sf /lib/firmware $RPM_BUILD_ROOT/usr/lib/firmware @@ -390,6 +396,9 @@ rm %{buildroot}/%{_prefix}/lib/systemd/system/local-fs.target.wants/tmp.mount # journal. rm -f %{buildroot}%{_libdir}/../lib/sysctl.d/coredump.conf +# remove README files for now +rm -f %{buildroot}/var/log/README %{buildroot}/etc/init.d/README + # legacy links ln -s loginctl %{buildroot}%{_bindir}/systemd-loginctl ln -s journalctl %{buildroot}%{_bindir}/systemd-journalctl @@ -415,8 +424,8 @@ mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/syslog.target.wants %post /usr/sbin/pam-config -a --systemd >/dev/null 2>&1 || : /sbin/ldconfig -/bin/systemd-machine-id-setup >/dev/null 2>&1 || : -/bin/systemctl daemon-reexec >/dev/null 2>&1 || : +/usr/bin/systemd-machine-id-setup >/dev/null 2>&1 || : +/usr/bin/systemctl daemon-reexec >/dev/null 2>&1 || : # Try to read default runlevel from the old inittab if it exists if [ ! -e /etc/systemd/system/default.target -a -e /etc/inittab ]; then @@ -429,17 +438,24 @@ fi # Later package updates should not overwrite these settings. if [ "$1" -eq 1 ]; then # Enable these services by default. - /bin/systemctl enable \ + /usr/bin/systemctl enable \ getty@.service \ systemd-readahead-collect.service \ systemd-readahead-replay.service \ remote-fs.target >/dev/null 2>&1 || : +else +# migrate any symlink which may refer to the old path +for f in $(find /etc/systemd/system -type l -xtype l); do + new_target="/usr$(readlink $f)" + [ -f "$new_target" ] && ln -s -f $new_target $f || : +done + fi %postun /sbin/ldconfig if [ $1 -ge 1 ]; then - /bin/systemctl try-restart systemd-logind.service >/dev/null 2>&1 || : + /usr/bin/systemctl try-restart systemd-logind.service >/dev/null 2>&1 || : fi if [ $1 -eq 0 ]; then /usr/sbin/pam-config -d --systemd >/dev/null 2>&1 || : @@ -447,7 +463,7 @@ fi %preun if [ $1 -eq 0 ]; then - /bin/systemctl disable \ + /usr/bin/systemctl disable \ getty@.service \ systemd-readahead-collect.service \ systemd-readahead-replay.service \ @@ -477,12 +493,12 @@ rm -f /etc/sysconfig/udev rm -f /etc/udev/rules.d/20-cdrom.rules rm -f /etc/udev/rules.d/55-cdrom.rules rm -f /etc/udev/rules.d/65-cdrom.rules -/bin/systemctl daemon-reload >/dev/null 2>&1 || : +/usr/bin/systemctl daemon-reload >/dev/null 2>&1 || : # start daemon if we are not in a chroot if test -f /proc/1/exe -a -d /proc/1/root; then if test "$(stat -Lc '%%D-%%i' /)" = "$(stat -Lc '%%D-%%i' /proc/1/root)"; then - /bin/systemctl start systemd-udevd.service >/dev/null 2>&1 || : - /sbin/udevd --daemon >/dev/null 2>&1 || : + /usr/bin/systemctl start systemd-udevd.service >/dev/null 2>&1 || : + /usr/lib/systemd/systemd-udevd --daemon >/dev/null 2>&1 || : fi fi @@ -496,7 +512,7 @@ fi %postun -n %{udevpkgname} %insserv_cleanup -/bin/systemctl daemon-reload >/dev/null 2>&1 || : +/usr/bin/systemctl daemon-reload >/dev/null 2>&1 || : [ -x /sbin/mkinitrd_setup ] && /sbin/mkinitrd_setup if [ -e /var/lib/no_initrd_recreation_by_suspend ]; then @@ -523,7 +539,12 @@ rm -rf %{buildroot} %files %defattr(-,root,root) /bin/systemd +/bin/systemd-ask-password +/bin/systemctl +%{_bindir}/hostnamectl +%{_bindir}/localectl %{_bindir}/systemctl +%{_bindir}/systemd-coredumpctl %{_bindir}/systemd-delta %{_bindir}/systemd-notify %{_bindir}/systemd-journalctl @@ -538,6 +559,7 @@ rm -rf %{buildroot} %{_bindir}/systemd-nspawn %{_bindir}/systemd-stdio-bridge %{_bindir}/systemd-detect-virt +%{_bindir}/timedatectl %{_sbindir}/systemd-sysv-convert %{_libdir}/libsystemd-daemon.so.* %{_libdir}/libsystemd-login.so.* diff --git a/var-run-lock.patch b/var-run-lock.patch new file mode 100644 index 0000000..8d645de --- /dev/null +++ b/var-run-lock.patch @@ -0,0 +1,97 @@ +Index: systemd-195/Makefile.am +=================================================================== +--- systemd-195.orig/Makefile.am ++++ systemd-195/Makefile.am +@@ -294,6 +294,7 @@ dist_systemunit_DATA = \ + units/sys-kernel-config.mount \ + units/sys-kernel-debug.mount \ + units/sys-fs-fuse-connections.mount \ ++ units/var-run.mount \ + units/tmp.mount \ + units/printer.target \ + units/sound.target \ +@@ -308,6 +309,11 @@ dist_systemunit_DATA = \ + units/systemd-udevd-kernel.socket \ + units/system-update.target + ++if HAVE_SYSV_COMPAT ++dist_systemunit_DATA += \ ++ units/var-lock.mount ++endif ++ + nodist_systemunit_DATA = \ + units/getty@.service \ + units/serial-getty@.service \ +@@ -3864,9 +3870,11 @@ systemd-install-data-hook: + ( cd $(DESTDIR)$(systemunitdir)/local-fs.target.wants && \ + rm -f systemd-remount-fs.service \ + systemd-fsck-root.service \ ++ var-run.mount \ + tmp.mount && \ + $(LN_S) ../systemd-remount-fs.service systemd-remount-fs.service && \ + $(LN_S) ../systemd-fsck-root.service systemd-fsck-root.service && \ ++ $(LN_S) ../var-run.mount var-run.mount && \ + $(LN_S) ../tmp.mount tmp.mount ) + ( cd $(DESTDIR)$(userunitdir) && \ + rm -f shutdown.target sockets.target bluetooth.target printer.target sound.target && \ +@@ -3954,6 +3962,12 @@ if TARGET_MAGEIA + rm -f display-manager.service ) + endif + ++if HAVE_SYSV_COMPAT ++ ( cd $(DESTDIR)$(systemunitdir)/local-fs.target.wants && \ ++ rm -f var-lock.mount && \ ++ $(LN_S) ../var-lock.mount var-lock.mount ) ++endif ++ + install-exec-hook: $(INSTALL_EXEC_HOOKS) + + uninstall-hook: $(UNINSTALL_EXEC_HOOKS) +Index: systemd-195/units/var-lock.mount +=================================================================== +--- /dev/null ++++ systemd-195/units/var-lock.mount +@@ -0,0 +1,19 @@ ++# This file is part of systemd. ++# ++# systemd is free software; you can redistribute it and/or modify it ++# under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 2 of the License, or ++# (at your option) any later version. ++ ++[Unit] ++Description=Lock Directory ++Before=local-fs.target ++# skip mounting if the directory does not exist or is a symlink ++ConditionPathIsDirectory=/var/lock ++ConditionPathIsSymbolicLink=!/var/lock ++ ++[Mount] ++What=/run/lock ++Where=/var/lock ++Type=bind ++Options=bind +Index: systemd-195/units/var-run.mount +=================================================================== +--- /dev/null ++++ systemd-195/units/var-run.mount +@@ -0,0 +1,19 @@ ++# This file is part of systemd. ++# ++# systemd is free software; you can redistribute it and/or modify it ++# under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 2 of the License, or ++# (at your option) any later version. ++ ++[Unit] ++Description=Runtime Directory ++Before=local-fs.target ++# skip mounting if the directory does not exist or is a symlink ++ConditionPathIsDirectory=/var/run ++ConditionPathIsSymbolicLink=!/var/run ++ ++[Mount] ++What=/run ++Where=/var/run ++Type=bind ++Options=bind