Hello community, here is the log from the commit of package systemd-rpm-macros for openSUSE:Factory checked in at 2014-02-07 14:56:41 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/systemd-rpm-macros (Old) and /work/SRC/openSUSE:Factory/.systemd-rpm-macros.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "systemd-rpm-macros" Changes: -------- New Changes file: --- /dev/null 2013-11-25 01:44:08.036031256 +0100 +++ /work/SRC/openSUSE:Factory/.systemd-rpm-macros.new/systemd-mini.changes 2014-02-07 14:56:44.000000000 +0100 @@ -0,0 +1,3871 @@ +------------------------------------------------------------------- +Wed Feb 5 11:19:28 UTC 2014 - werner@suse.de + +- Change and extend patch + 0001-On_s390_con3270_disable_ANSI_colour_esc.patch + to disable the workaround to find /dev/3270/tty1 as this now + should be done by a) the kernel patch + http://lkml.indiana.edu/hypermail/linux/kernel/1402.0/02319.html + and the changed udev rule 99-systemd.rules + +------------------------------------------------------------------- +Sun Feb 2 08:53:17 UTC 2014 - ohering@suse.com + +- Remove PreReq pidof from udev, nothing in this pkg uses it + +------------------------------------------------------------------- +Fri Jan 31 14:24:35 UTC 2014 - werner@suse.de + +- Change and extend patch + 0001-On_s390_con3270_disable_ANSI_colour_esc.patch + to re-enable colouring if 3270 console was enforced on the kernel + command line as 3270 cna handle colour ANSI escape sequences. + Also let the serial getty generator find the /dev/3270/tty1 + character device (bnc#861316) + +------------------------------------------------------------------- +Thu Jan 30 12:33:08 UTC 2014 - werner@suse.de + +- Add patch 0001-On_s390_con3270_disable_ANSI_colour_esc.patch + to strip the colouring ANSI escape sequences from the console + messages (bnc#860937) + +------------------------------------------------------------------- +Thu Jan 30 08:29:00 UTC 2014 - werner@suse.de + +- Change patch 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch + to skip already by the kernel managed devices + +------------------------------------------------------------------- +Wed Jan 29 18:03:39 UTC 2014 - arvidjaar@gmail.com + +- fix timeout stopping user@.service (bnc#841544) + * 0001-core-introduce-new-KillMode-mixed-which-sends-SIGTER.patch + * 0002-service-allow-KillMode-mixed-in-conjunction-with-PAM.patch + * 0003-core-make-sure-to-always-go-through-both-SIGTERM-and.patch + +------------------------------------------------------------------- +Tue Jan 28 12:44:07 UTC 2014 - werner@suse.de + +- Add patch 0001-upstream-systemctl-halt-reboot-error-handling.patch + to be able to detect if the sysctl reboot() returns. +- Add patch 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch + A check for unmaintained disk like devices is added to be able to + flush and maybe shut them down. Also the missing sync() system + call is added for the direct halt/reboot systemctl command. Then + the system halt is used as fallback if poweroff fails for both + the direct poweroff systemctl command as well as for the + systemd-shutdown utility. + +------------------------------------------------------------------- +Thu Jan 23 13:24:53 UTC 2014 - werner@suse.de + +- Make systemd-mini build + +------------------------------------------------------------------- +Thu Jan 23 13:18:39 UTC 2014 - werner@suse.de + +- Make requires bash-completion a recommends + +------------------------------------------------------------------- +Tue Jan 21 13:05:59 UTC 2014 - werner@suse.de + +- Add patch 1017-skip-native-unit-handling-if-sysv-already-handled.patch + to avoid that enabled boot scripts will be handled as unit files + by systemctl status command (bnc#818044) + +------------------------------------------------------------------- +Tue Jan 21 12:51:20 UTC 2014 - werner@suse.de + +- Drop patch 1017-enforce-sufficient-shutdown-warnings.patch + as the original code behaves exactly as the shutdown code of + the old SysVinit (bnc#750845) +- Rename support-powerfail-with-powerstatus.patch to + 1016-support-powerfail-with-powerstatus.patch + +------------------------------------------------------------------- +Mon Jan 20 10:18:20 UTC 2014 - fcrozat@suse.com + +- Add analyze-fix-crash-in-command-line-parsing.patch: fix crash in + systemd-analyze (bnc#859365) + +------------------------------------------------------------------- +Fri Jan 17 16:09:24 UTC 2014 - werner@suse.de + +- Add patch + 1019-make-completion-smart-to-be-able-to-redirect.patch + to make redirections work with the bash command completions for + for systemd command tools (bnc#856858, bnc#859072) + +------------------------------------------------------------------- +Fri Jan 17 12:24:13 UTC 2014 - werner@suse.de + +- Add patch + 1018-Make-LSB-Skripts-know-about-Required-and-Should.patch + to support the "+" to tag wanted dependencies as well as make + sure that required dependencies are handles as required ones. + This should fix bnc#858864 and bnc#857204. + +------------------------------------------------------------------- +Thu Jan 16 16:08:00 UTC 2014 - lnussel@suse.de + +- apply preset also to service files that are new in upgrade + +------------------------------------------------------------------- +Wed Jan 15 14:11:02 UTC 2014 - werner@suse.de + +- Change support-powerfail-with-powerstatus.patch to use BindsTo + instead of BindTo + +------------------------------------------------------------------- +Wed Jan 15 12:34:53 UTC 2014 - werner@suse.de + +- Add patch 1017-enforce-sufficient-shutdown-warnings.patch + Warn once per hour in the last 3 hours, then all 30 minutes in last + hour, all 15 minutes in the last 45 minutes, all 10 minutes in the + last 15 minutes, and then all minute in the last 10 minutes (bnc#750845) + +------------------------------------------------------------------- +Tue Jan 14 18:28:09 UTC 2014 - werner@suse.de + +- Add patch support-powerfail-with-powerstatus.patch and source + file systemd-powerfail to implement SIGPWR support with evaluation + of the file /var/run/powerstatus (bnc#737690) + +------------------------------------------------------------------- +Fri Dec 20 12:06:18 UTC 2013 - werner@suse.de + +- Adapt patch + 1011-check-4-valid-kmsg-device.patch + to fit current upstream version maybe related to bnc#854884 +- Change patch + 1012-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch + to check if XDG_RUNTIME_DIR is set before the call of pam_putenv() + may fix bnc#855160 + +------------------------------------------------------------------- +Fri Dec 20 09:40:01 UTC 2013 - lbsousajr@gmail.com + +- Disable multi-seat-x build, since package xorg-x11-server + currently in Factory no longer needs it. + +------------------------------------------------------------------- +Wed Dec 18 18:56:01 UTC 2013 - hrvoje.senjan@gmail.com + +- Added 0001-logind-garbage-collect-stale-users.patch: Don't stop a + running user manager from garbage-collecting the user. Original + behavior caused bnc#849870 + +------------------------------------------------------------------- +Mon Dec 16 11:08:33 UTC 2013 - lbsousajr@gmail.com + +- Add build-sys-make-multi-seat-x-optional.patch + * See: http://cgit.freedesktop.org/systemd/systemd/commit/?id=bd441fa27a22b7c6e11d9... + * Now systemd-multi-seat-x build can be disabled with configure option + --disable-multi-seat-x. It should be done when xorg-x11-server + no longer needs it (work in progress). + +------------------------------------------------------------------- +Mon Dec 16 09:43:29 UTC 2013 - fcrozat@suse.com + +- Update insserv-generator.patch: fix crash in insserv generator + (bnc#854314). +- Update apply-ACL-for-nvidia-device-nodes.patch with latest fixes + for Nvidia cards (bnc#808319). + +------------------------------------------------------------------- +Fri Dec 6 13:30:19 UTC 2013 - werner@suse.de + +- Add patch + 1014-journald-with-journaling-FS.patch + which now uses the file system ioctls for switching off atime, + compression, and copy-on-write of the journal directory of the + the systemd-journald (bnc#838475) +- Let us build require the package config for libpcre (bnc#853293) + +------------------------------------------------------------------- +Sat Nov 30 08:16:02 UTC 2013 - arvidjaar@gmail.com + +- Add patch + 0001-core-replace-OnFailureIsolate-setting-by-a-more-gene.patch + Make sure emergency shell is not killed by attempt to start another unit + (bnc#852021). Backported from d420282b28f50720e233ccb1c02547c562195653. +- Add patch + make-emergency.service-conflict-with-syslog.socket.patch + Previous patch did not fix problem if syslog connection request came + after emergency shell was already started. So forcibly stop syslog.socket + when starting emergency.service. (bnc#852232) ++++ 3674 more lines (skipped) ++++ between /dev/null ++++ and /work/SRC/openSUSE:Factory/.systemd-rpm-macros.new/systemd-mini.changes New Changes file: --- /dev/null 2013-11-25 01:44:08.036031256 +0100 +++ /work/SRC/openSUSE:Factory/.systemd-rpm-macros.new/systemd-rpm-macros.changes 2014-02-07 14:56:44.000000000 +0100 @@ -0,0 +1,11 @@ +------------------------------------------------------------------- +Thu Jul 4 13:59:43 CEST 2013 - fcrozat@suse.com + +- Resync with systemd v205 macros + +------------------------------------------------------------------- +Mon Jun 17 10:49:50 UTC 2013 - mhrusecky@suse.com + +- New package with systemd rpm macros to avoid unnecessary build time + dependencies + New Changes file: --- /dev/null 2013-11-25 01:44:08.036031256 +0100 +++ /work/SRC/openSUSE:Factory/.systemd-rpm-macros.new/systemd.changes 2014-02-07 14:56:44.000000000 +0100 @@ -0,0 +1,3871 @@ +------------------------------------------------------------------- +Wed Feb 5 11:19:28 UTC 2014 - werner@suse.de + +- Change and extend patch + 0001-On_s390_con3270_disable_ANSI_colour_esc.patch + to disable the workaround to find /dev/3270/tty1 as this now + should be done by a) the kernel patch + http://lkml.indiana.edu/hypermail/linux/kernel/1402.0/02319.html + and the changed udev rule 99-systemd.rules + +------------------------------------------------------------------- +Sun Feb 2 08:53:17 UTC 2014 - ohering@suse.com + +- Remove PreReq pidof from udev, nothing in this pkg uses it + +------------------------------------------------------------------- +Fri Jan 31 14:24:35 UTC 2014 - werner@suse.de + +- Change and extend patch + 0001-On_s390_con3270_disable_ANSI_colour_esc.patch + to re-enable colouring if 3270 console was enforced on the kernel + command line as 3270 cna handle colour ANSI escape sequences. + Also let the serial getty generator find the /dev/3270/tty1 + character device (bnc#861316) + +------------------------------------------------------------------- +Thu Jan 30 12:33:08 UTC 2014 - werner@suse.de + +- Add patch 0001-On_s390_con3270_disable_ANSI_colour_esc.patch + to strip the colouring ANSI escape sequences from the console + messages (bnc#860937) + +------------------------------------------------------------------- +Thu Jan 30 08:29:00 UTC 2014 - werner@suse.de + +- Change patch 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch + to skip already by the kernel managed devices + +------------------------------------------------------------------- +Wed Jan 29 18:03:39 UTC 2014 - arvidjaar@gmail.com + +- fix timeout stopping user@.service (bnc#841544) + * 0001-core-introduce-new-KillMode-mixed-which-sends-SIGTER.patch + * 0002-service-allow-KillMode-mixed-in-conjunction-with-PAM.patch + * 0003-core-make-sure-to-always-go-through-both-SIGTERM-and.patch + +------------------------------------------------------------------- +Tue Jan 28 12:44:07 UTC 2014 - werner@suse.de + +- Add patch 0001-upstream-systemctl-halt-reboot-error-handling.patch + to be able to detect if the sysctl reboot() returns. +- Add patch 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch + A check for unmaintained disk like devices is added to be able to + flush and maybe shut them down. Also the missing sync() system + call is added for the direct halt/reboot systemctl command. Then + the system halt is used as fallback if poweroff fails for both + the direct poweroff systemctl command as well as for the + systemd-shutdown utility. + +------------------------------------------------------------------- +Thu Jan 23 13:24:53 UTC 2014 - werner@suse.de + +- Make systemd-mini build + +------------------------------------------------------------------- +Thu Jan 23 13:18:39 UTC 2014 - werner@suse.de + +- Make requires bash-completion a recommends + +------------------------------------------------------------------- +Tue Jan 21 13:05:59 UTC 2014 - werner@suse.de + +- Add patch 1017-skip-native-unit-handling-if-sysv-already-handled.patch + to avoid that enabled boot scripts will be handled as unit files + by systemctl status command (bnc#818044) + +------------------------------------------------------------------- +Tue Jan 21 12:51:20 UTC 2014 - werner@suse.de + +- Drop patch 1017-enforce-sufficient-shutdown-warnings.patch + as the original code behaves exactly as the shutdown code of + the old SysVinit (bnc#750845) +- Rename support-powerfail-with-powerstatus.patch to + 1016-support-powerfail-with-powerstatus.patch + +------------------------------------------------------------------- +Mon Jan 20 10:18:20 UTC 2014 - fcrozat@suse.com + +- Add analyze-fix-crash-in-command-line-parsing.patch: fix crash in + systemd-analyze (bnc#859365) + +------------------------------------------------------------------- +Fri Jan 17 16:09:24 UTC 2014 - werner@suse.de + +- Add patch + 1019-make-completion-smart-to-be-able-to-redirect.patch + to make redirections work with the bash command completions for + for systemd command tools (bnc#856858, bnc#859072) + +------------------------------------------------------------------- +Fri Jan 17 12:24:13 UTC 2014 - werner@suse.de + +- Add patch + 1018-Make-LSB-Skripts-know-about-Required-and-Should.patch + to support the "+" to tag wanted dependencies as well as make + sure that required dependencies are handles as required ones. + This should fix bnc#858864 and bnc#857204. + +------------------------------------------------------------------- +Thu Jan 16 16:08:00 UTC 2014 - lnussel@suse.de + +- apply preset also to service files that are new in upgrade + +------------------------------------------------------------------- +Wed Jan 15 14:11:02 UTC 2014 - werner@suse.de + +- Change support-powerfail-with-powerstatus.patch to use BindsTo + instead of BindTo + +------------------------------------------------------------------- +Wed Jan 15 12:34:53 UTC 2014 - werner@suse.de + +- Add patch 1017-enforce-sufficient-shutdown-warnings.patch + Warn once per hour in the last 3 hours, then all 30 minutes in last + hour, all 15 minutes in the last 45 minutes, all 10 minutes in the + last 15 minutes, and then all minute in the last 10 minutes (bnc#750845) + +------------------------------------------------------------------- +Tue Jan 14 18:28:09 UTC 2014 - werner@suse.de + +- Add patch support-powerfail-with-powerstatus.patch and source + file systemd-powerfail to implement SIGPWR support with evaluation + of the file /var/run/powerstatus (bnc#737690) + +------------------------------------------------------------------- +Fri Dec 20 12:06:18 UTC 2013 - werner@suse.de + +- Adapt patch + 1011-check-4-valid-kmsg-device.patch + to fit current upstream version maybe related to bnc#854884 +- Change patch + 1012-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch + to check if XDG_RUNTIME_DIR is set before the call of pam_putenv() + may fix bnc#855160 + +------------------------------------------------------------------- +Fri Dec 20 09:40:01 UTC 2013 - lbsousajr@gmail.com + +- Disable multi-seat-x build, since package xorg-x11-server + currently in Factory no longer needs it. + +------------------------------------------------------------------- +Wed Dec 18 18:56:01 UTC 2013 - hrvoje.senjan@gmail.com + +- Added 0001-logind-garbage-collect-stale-users.patch: Don't stop a + running user manager from garbage-collecting the user. Original + behavior caused bnc#849870 + +------------------------------------------------------------------- +Mon Dec 16 11:08:33 UTC 2013 - lbsousajr@gmail.com + +- Add build-sys-make-multi-seat-x-optional.patch + * See: http://cgit.freedesktop.org/systemd/systemd/commit/?id=bd441fa27a22b7c6e11d9... + * Now systemd-multi-seat-x build can be disabled with configure option + --disable-multi-seat-x. It should be done when xorg-x11-server + no longer needs it (work in progress). + +------------------------------------------------------------------- +Mon Dec 16 09:43:29 UTC 2013 - fcrozat@suse.com + +- Update insserv-generator.patch: fix crash in insserv generator + (bnc#854314). +- Update apply-ACL-for-nvidia-device-nodes.patch with latest fixes + for Nvidia cards (bnc#808319). + +------------------------------------------------------------------- +Fri Dec 6 13:30:19 UTC 2013 - werner@suse.de + +- Add patch + 1014-journald-with-journaling-FS.patch + which now uses the file system ioctls for switching off atime, + compression, and copy-on-write of the journal directory of the + the systemd-journald (bnc#838475) +- Let us build require the package config for libpcre (bnc#853293) + +------------------------------------------------------------------- +Sat Nov 30 08:16:02 UTC 2013 - arvidjaar@gmail.com + +- Add patch + 0001-core-replace-OnFailureIsolate-setting-by-a-more-gene.patch + Make sure emergency shell is not killed by attempt to start another unit + (bnc#852021). Backported from d420282b28f50720e233ccb1c02547c562195653. +- Add patch + make-emergency.service-conflict-with-syslog.socket.patch + Previous patch did not fix problem if syslog connection request came + after emergency shell was already started. So forcibly stop syslog.socket + when starting emergency.service. (bnc#852232) ++++ 3674 more lines (skipped) ++++ between /dev/null ++++ and /work/SRC/openSUSE:Factory/.systemd-rpm-macros.new/systemd.changes Old: ---- _link New: ---- 0001-Fix-bad-assert-in-show_pid_array.patch 0001-Never-call-qsort-on-potentially-NULL-arrays.patch 0001-On_s390_con3270_disable_ANSI_colour_esc.patch 0001-acpi-fptd-fix-memory-leak-in-acpi_get_boot_usec.patch 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch 0001-analyze-set-text-on-side-with-most-space.patch 0001-analyze-set-white-background.patch 0001-core-introduce-new-KillMode-mixed-which-sends-SIGTER.patch 0001-core-replace-OnFailureIsolate-setting-by-a-more-gene.patch 0001-core-unify-the-way-we-denote-serialization-attribute.patch 0001-dbus-common-avoid-leak-in-error-path.patch 0001-do-not-accept-garbage-from-acpi-firmware-performance.patch 0001-drop-ins-check-return-value.patch 0001-gpt-auto-generator-exit-immediately-if-in-container.patch 0001-journald-fix-minor-memory-leak.patch 0001-journald-remove-rotated-file-from-hashmap-when-rotat.patch 0001-login-fix-invalid-free-in-sd_session_get_vt.patch 0001-login-make-sd_session_get_vt-actually-work.patch 0001-logind-fix-bus-introspection-data-for-TakeControl.patch 0001-logind-garbage-collect-stale-users.patch 0001-manager-when-verifying-whether-clients-may-change-en.patch 0001-mount-check-for-NULL-before-reading-pm-what.patch 0001-shared-util-Fix-glob_extend-argument.patch 0001-shared-util-fix-off-by-one-error-in-tag_to_udev_node.patch 0001-systemd-order-remote-mounts-from-mountinfo-before-re.patch 0001-systemd-serialize-deserialize-forbid_restart-value.patch 0001-upstream-systemctl-halt-reboot-error-handling.patch 0002-fix-lingering-references-to-var-lib-backlight-random.patch 0002-service-allow-KillMode-mixed-in-conjunction-with-PAM.patch 0003-acpi-make-sure-we-never-free-an-uninitialized-pointe.patch 0003-core-make-sure-to-always-go-through-both-SIGTERM-and.patch 0004-systemctl-fix-name-mangling-for-sysv-units.patch 0005-cryptsetup-fix-OOM-handling-when-parsing-mount-optio.patch 0006-journald-add-missing-error-check.patch 0007-bus-fix-potentially-uninitialized-memory-access.patch 0008-dbus-fix-return-value-of-dispatch_rqueue.patch 0009-modules-load-fix-error-handling.patch 0010-efi-never-call-qsort-on-potentially-NULL-arrays.patch 0011-strv-don-t-access-potentially-NULL-string-arrays.patch 0012-mkdir-pass-a-proper-function-pointer-to-mkdir_safe_i.patch 0014-tmpfiles.d-include-setgid-perms-for-run-log-journal.patch 1001-re-enable-by_path-links-for-ata-devices.patch 1002-rules-create-by-id-scsi-links-for-ATA-devices.patch 1003-udev-netlink-null-rules.patch 1005-create-default-links-for-primary-cd_dvd-drive.patch 1006-udev-always-rename-network.patch 1007-physical-hotplug-cpu-and-memory.patch 1008-add-msft-compability-rules.patch 1009-make-xsltproc-use-correct-ROFF-links.patch 1010-do-not-install-sulogin-unit-with-poweroff.patch 1011-check-4-valid-kmsg-device.patch 1012-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch 1014-journald-with-journaling-FS.patch 1016-support-powerfail-with-powerstatus.patch 1017-skip-native-unit-handling-if-sysv-already-handled.patch 1018-Make-LSB-Skripts-know-about-Required-and-Should.patch 1019-make-completion-smart-to-be-able-to-redirect.patch Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch Forward-suspend-hibernate-calls-to-pm-utils.patch Revert-service-drop-support-for-SysV-scripts-for-the-early.patch U_logind_revert_lazy_session_activation_on_non_vt_seats.patch after-local.service allow-multiple-sulogin-to-be-started.patch analyze-fix-crash-in-command-line-parsing.patch apply-ACL-for-nvidia-device-nodes.patch avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch baselibs.conf boot.udev build-sys-make-multi-seat-x-optional.patch delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch disable-nss-myhostname-warning-bnc-783841.patch ensure-DM-and-LVM-are-started-before-local-fs-pre-target.patch ensure-ask-password-wall-starts-after-getty-tty1.patch ensure-shortname-is-set-as-hostname-bnc-820213.patch ensure-sysctl-are-applied-after-modules-are-loaded.patch fix-owner-of-var-log-btmp.patch fix-support-for-boot-prefixed-initscript-bnc-746506.patch handle-SYSTEMCTL_OPTIONS-environment-variable.patch handle-disable_caplock-and-compose_table-and-kbd_rate.patch handle-etc-HOSTNAME.patch handle-numlock-value-in-etc-sysconfig-keyboard.patch handle-root_uses_lang-value-in-etc-sysconfig-language.patch insserv-generator.patch libgcrypt.m4 localfs.service macros.systemd macros.systemd.upstream make-emergency.service-conflict-with-syslog.socket.patch module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch nss-myhostname-config optionally-warn-if-nss-myhostname-is-called.patch plymouth-quit-and-wait-for-emergency-service.patch pre_checkin.sh remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch sysctl-handle-boot-sysctl.conf-kernel_release.patch systemd-208.tar.xz systemd-dbus-system-bus-address.patch systemd-journald.init systemd-mini-rpmlintrc systemd-mini.changes systemd-mini.spec systemd-pam_config.patch systemd-powerfail systemd-rpm-macros.changes systemd-rpm-macros.spec systemd-rpmlintrc systemd-sysv-convert systemd-tmp-safe-defaults.patch systemd-udev-root-symlink systemd.changes systemd.spec timedate-add-support-for-openSUSE-version-of-etc-sysconfig.patch use-usr-sbin-sulogin-for-emergency-service.patch write_dev_root_rule ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ systemd-mini.spec ++++++ ++++ 1324 lines (skipped) ++++++ systemd-rpm-macros.spec ++++++ # # spec file for package systemd-rpm-macros # # Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # #!BuildIgnore: util-linux Name: systemd-rpm-macros Version: 2 Release: 0 Summary: RPM macros for systemd License: LGPL-2.1+ Group: System/Base Url: http://en.opensuse.org/openSUSE:Systemd_packaging_guidelines Source0: macros.systemd BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildArch: noarch %description Starting with openSUSE 12.1, several RPM macros must be used to package systemd services files. This package provides these macros. %prep %build %install mkdir -p %{buildroot}%{_sysconfdir}/rpm install -m644 %{S:0} %{buildroot}%{_sysconfdir}/rpm UNITDIR="`cat %{S:0} | sed -n 's|.*_unitdir[[:blank:]]*||p'`" for i in $UNITDIR `dirname $UNITDIR`; do mkdir -p %{buildroot}$i echo $i >> unitdir done %post %postun %files -f unitdir %defattr(-,root,root) %{_sysconfdir}/rpm/macros.systemd %changelog ++++++ systemd.spec ++++++ ++++ 1319 lines (skipped) ++++++ 0001-Fix-bad-assert-in-show_pid_array.patch ++++++
From a0551d26ab5c6e0d5089b42a6319baef0e28ad92 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?=
Date: Mon, 14 Oct 2013 19:15:24 -0400 Subject: [PATCH] Fix bad assert in show_pid_array
This function should get the same treatment as other qsort uses
did in 7ff7394 "Never call qsort on potentially NULL arrays".
Reported-by: Oleksii Shevchuk
From 7ff7394d9e4e9189c30fd018235e6b1728c6f2d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?=
Date: Fri, 11 Oct 2013 19:33:13 -0400 Subject: [PATCH] Never call qsort on potentially NULL arrays
This extends 62678ded 'efi: never call qsort on potentially NULL arrays' to all other places where qsort is used and it is not obvious that the count is non-zero. --- src/analyze/systemd-analyze.c | 2 +- src/cgtop/cgtop.c | 2 +- src/core/namespace.c | 38 ++++++++++++++++++++------------------ src/journal/catalog.c | 2 +- src/journal/journal-file.c | 2 +- src/journal/journal-vacuum.c | 3 +-- src/journal/journalctl.c | 2 +- src/libsystemd-bus/bus-match.c | 2 +- src/libudev/libudev-enumerate.c | 2 +- src/nss-myhostname/netlink.c | 3 ++- src/readahead/readahead-collect.c | 39 ++++++++++++++++++++++----------------- src/shared/cgroup-show.c | 2 ++ src/shared/conf-files.c | 2 +- src/shared/efivars.c | 3 +-- src/shared/fileio.c | 1 + src/shared/util.h | 12 ++++++++++++ src/systemctl/systemctl.c | 10 +++++----- 17 files changed, 74 insertions(+), 53 deletions(-) diff --git a/src/analyze/systemd-analyze.c b/src/analyze/systemd-analyze.c index 27d063c..a4f15eb 100644 --- a/src/analyze/systemd-analyze.c +++ b/src/analyze/systemd-analyze.c @@ -768,7 +768,7 @@ static int list_dependencies_one(DBusConnection *bus, const char *name, unsigned if (r < 0) return r; - qsort(deps, strv_length(deps), sizeof (char*), list_dependencies_compare); + qsort_safe(deps, strv_length(deps), sizeof (char*), list_dependencies_compare); r = acquire_boot_times(bus, &boot); if (r < 0) diff --git a/src/cgtop/cgtop.c b/src/cgtop/cgtop.c index cacf705..293a211 100644 --- a/src/cgtop/cgtop.c +++ b/src/cgtop/cgtop.c @@ -461,7 +461,7 @@ static int display(Hashmap *a) { if (g->n_tasks_valid || g->cpu_valid || g->memory_valid || g->io_valid) array[n++] = g; - qsort(array, n, sizeof(Group*), group_compare); + qsort_safe(array, n, sizeof(Group*), group_compare); /* Find the longest names in one run */ for (j = 0; j < n; j++) { diff --git a/src/core/namespace.c b/src/core/namespace.c index 16b132b..936f368 100644 --- a/src/core/namespace.c +++ b/src/core/namespace.c @@ -222,7 +222,7 @@ int setup_namespace(char** read_write_dirs, strv_length(read_only_dirs) + strv_length(inaccessible_dirs) + (private_tmp ? 2 : 0); - BindMount *m, *mounts; + BindMount *m, *mounts = NULL; int r = 0; if (!mount_flags) @@ -231,27 +231,29 @@ int setup_namespace(char** read_write_dirs, if (unshare(CLONE_NEWNS) < 0) return -errno; - m = mounts = (BindMount *) alloca(n * sizeof(BindMount)); - if ((r = append_mounts(&m, read_write_dirs, READWRITE)) < 0 || - (r = append_mounts(&m, read_only_dirs, READONLY)) < 0 || - (r = append_mounts(&m, inaccessible_dirs, INACCESSIBLE)) < 0) - return r; + if (n) { + m = mounts = (BindMount *) alloca(n * sizeof(BindMount)); + if ((r = append_mounts(&m, read_write_dirs, READWRITE)) < 0 || + (r = append_mounts(&m, read_only_dirs, READONLY)) < 0 || + (r = append_mounts(&m, inaccessible_dirs, INACCESSIBLE)) < 0) + return r; + + if (private_tmp) { + m->path = "/tmp"; + m->mode = PRIVATE_TMP; + m++; + + m->path = "/var/tmp"; + m->mode = PRIVATE_VAR_TMP; + m++; + } - if (private_tmp) { - m->path = "/tmp"; - m->mode = PRIVATE_TMP; - m++; + assert(mounts + n == m); - m->path = "/var/tmp"; - m->mode = PRIVATE_VAR_TMP; - m++; + qsort(mounts, n, sizeof(BindMount), mount_path_compare); + drop_duplicates(mounts, &n); } - assert(mounts + n == m); - - qsort(mounts, n, sizeof(BindMount), mount_path_compare); - drop_duplicates(mounts, &n); - /* Remount / as SLAVE so that nothing now mounted in the namespace shows up in the parent */ if (mount(NULL, "/", NULL, MS_SLAVE|MS_REC, NULL) < 0) diff --git a/src/journal/catalog.c b/src/journal/catalog.c index 7738d24..90ca008 100644 --- a/src/journal/catalog.c +++ b/src/journal/catalog.c @@ -399,7 +399,7 @@ int catalog_update(const char* database, const char* root, const char* const* di } assert(n == hashmap_size(h)); - qsort(items, n, sizeof(CatalogItem), catalog_compare_func); + qsort_safe(items, n, sizeof(CatalogItem), catalog_compare_func); r = write_catalog(database, h, sb, items, n); if (r < 0) diff --git a/src/journal/journal-file.c b/src/journal/journal-file.c index 78b937b..901e71b 100644 --- a/src/journal/journal-file.c +++ b/src/journal/journal-file.c @@ -1344,7 +1344,7 @@ int journal_file_append_entry(JournalFile *f, const dual_timestamp *ts, const st /* Order by the position on disk, in order to improve seek * times for rotating media. */ - qsort(items, n_iovec, sizeof(EntryItem), entry_item_cmp); + qsort_safe(items, n_iovec, sizeof(EntryItem), entry_item_cmp); r = journal_file_append_entry_internal(f, ts, xor_hash, items, n_iovec, seqnum, ret, offset); diff --git a/src/journal/journal-vacuum.c b/src/journal/journal-vacuum.c index 8d5effb..d4a1c6c 100644 --- a/src/journal/journal-vacuum.c +++ b/src/journal/journal-vacuum.c @@ -299,8 +299,7 @@ int journal_directory_vacuum( n_list ++; } - if (n_list > 0) - qsort(list, n_list, sizeof(struct vacuum_info), vacuum_compare); + qsort_safe(list, n_list, sizeof(struct vacuum_info), vacuum_compare); for (i = 0; i < n_list; i++) { struct statvfs ss; diff --git a/src/journal/journalctl.c b/src/journal/journalctl.c index 2f8be1b..275458c 100644 --- a/src/journal/journalctl.c +++ b/src/journal/journalctl.c @@ -761,7 +761,7 @@ static int get_relative_boot_id(sd_journal *j, sd_id128_t *boot_id, int relative sd_journal_flush_matches(j); } - qsort(all_ids, count, sizeof(boot_id_t), boot_id_cmp); + qsort_safe(all_ids, count, sizeof(boot_id_t), boot_id_cmp); if (sd_id128_equal(*boot_id, SD_ID128_NULL)) { if (relative > (int) count || relative <= -(int)count) diff --git a/src/libsystemd-bus/bus-match.c b/src/libsystemd-bus/bus-match.c index 1411167..916682a 100644 --- a/src/libsystemd-bus/bus-match.c +++ b/src/libsystemd-bus/bus-match.c @@ -768,7 +768,7 @@ int bus_match_parse( } /* Order the whole thing, so that we always generate the same tree */ - qsort(components, n_components, sizeof(struct bus_match_component), match_component_compare); + qsort_safe(components, n_components, sizeof(struct bus_match_component), match_component_compare); /* Check for duplicates */ for (i = 0; i+1 < n_components; i++) diff --git a/src/libudev/libudev-enumerate.c b/src/libudev/libudev-enumerate.c index 8146f27..e71d766 100644 --- a/src/libudev/libudev-enumerate.c +++ b/src/libudev/libudev-enumerate.c @@ -276,7 +276,7 @@ _public_ struct udev_list_entry *udev_enumerate_get_list_entry(struct udev_enume size_t move_later_prefix = 0; udev_list_cleanup(&udev_enumerate->devices_list); - qsort(udev_enumerate->devices, udev_enumerate->devices_cur, sizeof(struct syspath), syspath_cmp); + qsort_safe(udev_enumerate->devices, udev_enumerate->devices_cur, sizeof(struct syspath), syspath_cmp); max = udev_enumerate->devices_cur; for (i = 0; i < max; i++) { diff --git a/src/nss-myhostname/netlink.c b/src/nss-myhostname/netlink.c index b1ef912..47a41f5 100644 --- a/src/nss-myhostname/netlink.c +++ b/src/nss-myhostname/netlink.c @@ -197,7 +197,8 @@ finish: return r; } - qsort(list, n_list, sizeof(struct address), address_compare); + if (n_list) + qsort(list, n_list, sizeof(struct address), address_compare); *_list = list; *_n_list = n_list; diff --git a/src/readahead/readahead-collect.c b/src/readahead/readahead-collect.c index 32888ad..6b74866 100644 --- a/src/readahead/readahead-collect.c +++ b/src/readahead/readahead-collect.c @@ -536,8 +536,7 @@ done: HASHMAP_FOREACH_KEY(q, p, files, i) pack_file(pack, p, on_btrfs); } else { - struct item *ordered, *j; - unsigned k, n; + unsigned n; /* On rotating media, order things by the block * numbers */ @@ -545,25 +544,31 @@ done: log_debug("Ordering..."); n = hashmap_size(files); - if (!(ordered = new(struct item, n))) { - r = log_oom(); - goto finish; - } - - j = ordered; - HASHMAP_FOREACH_KEY(q, p, files, i) { - memcpy(j, q, sizeof(struct item)); - j++; - } + if (n) { + _cleanup_free_ struct item *ordered; + struct item *j; + unsigned k; + + ordered = new(struct item, n); + if (!ordered) { + r = log_oom(); + goto finish; + } - assert(ordered + n == j); + j = ordered; + HASHMAP_FOREACH_KEY(q, p, files, i) { + memcpy(j, q, sizeof(struct item)); + j++; + } - qsort(ordered, n, sizeof(struct item), qsort_compare); + assert(ordered + n == j); - for (k = 0; k < n; k++) - pack_file(pack, ordered[k].path, on_btrfs); + qsort(ordered, n, sizeof(struct item), qsort_compare); - free(ordered); + for (k = 0; k < n; k++) + pack_file(pack, ordered[k].path, on_btrfs); + } else + log_warning("No pack files"); } log_debug("Finalizing..."); diff --git a/src/shared/cgroup-show.c b/src/shared/cgroup-show.c index e971f36..cc44ab4 100644 --- a/src/shared/cgroup-show.c +++ b/src/shared/cgroup-show.c @@ -44,6 +44,8 @@ static void show_pid_array(int pids[], unsigned n_pids, const char *prefix, unsi unsigned i, m, pid_width; pid_t biggest = 0; + assert(n_pids > 0); + /* Filter duplicates */ m = 0; for (i = 0; i < n_pids; i++) { diff --git a/src/shared/conf-files.c b/src/shared/conf-files.c index 6d99739..ed4070c 100644 --- a/src/shared/conf-files.c +++ b/src/shared/conf-files.c @@ -127,7 +127,7 @@ static int conf_files_list_strv_internal(char ***strv, const char *suffix, const return -ENOMEM; } - qsort(files, hashmap_size(fh), sizeof(char *), base_cmp); + qsort_safe(files, hashmap_size(fh), sizeof(char *), base_cmp); *strv = files; hashmap_free(fh); diff --git a/src/shared/efivars.c b/src/shared/efivars.c index c015b16..f3eb6a6 100644 --- a/src/shared/efivars.c +++ b/src/shared/efivars.c @@ -384,8 +384,7 @@ int efi_get_boot_options(uint16_t **options) { list[count ++] = id; } - if (list) - qsort(list, count, sizeof(uint16_t), cmp_uint16); + qsort_safe(list, count, sizeof(uint16_t), cmp_uint16); *options = list; return count; diff --git a/src/shared/fileio.c b/src/shared/fileio.c index 603a1c7..733b320 100644 --- a/src/shared/fileio.c +++ b/src/shared/fileio.c @@ -662,6 +662,7 @@ int get_status_field(const char *filename, const char *pattern, char **field) { int r; assert(filename); + assert(pattern); assert(field); r = read_full_file(filename, &status, NULL); diff --git a/src/shared/util.h b/src/shared/util.h index 26af5b3..09e556d 100644 --- a/src/shared/util.h +++ b/src/shared/util.h @@ -772,3 +772,15 @@ bool id128_is_valid(const char *s) _pure_; void parse_user_at_host(char *arg, char **user, char **host); int split_pair(const char *s, const char *sep, char **l, char **r); + +/** + * Normal qsort requires base to be nonnull. Here were require + * that only if nmemb > 0. + */ +static inline void qsort_safe(void *base, size_t nmemb, size_t size, + int (*compar)(const void *, const void *)) { + if (nmemb) { + assert(base); + qsort(base, nmemb, size, compar); + } +} diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c index d75281f..036828b 100644 --- a/src/systemctl/systemctl.c +++ b/src/systemctl/systemctl.c @@ -471,7 +471,7 @@ static int list_units(DBusConnection *bus, char **args) { if (r < 0) return r; - qsort(unit_infos, c, sizeof(struct unit_info), compare_unit_info); + qsort_safe(unit_infos, c, sizeof(struct unit_info), compare_unit_info); output_units_list(unit_infos, c); @@ -733,8 +733,8 @@ static int list_sockets(DBusConnection *bus, char **args) { listen = triggered = NULL; /* avoid cleanup */ } - qsort(socket_infos, cs, sizeof(struct socket_info), - (__compar_fn_t) socket_info_compare); + qsort_safe(socket_infos, cs, sizeof(struct socket_info), + (__compar_fn_t) socket_info_compare); output_sockets_list(socket_infos, cs); @@ -1108,7 +1108,7 @@ static int list_dependencies_one(DBusConnection *bus, const char *name, int leve if (r < 0) return r; - qsort(deps, strv_length(deps), sizeof (char*), list_dependencies_compare); + qsort_safe(deps, strv_length(deps), sizeof (char*), list_dependencies_compare); STRV_FOREACH(c, deps) { if (strv_contains(u, *c)) { @@ -3532,7 +3532,7 @@ static int show_all(const char* verb, if (r < 0) return r; - qsort(unit_infos, c, sizeof(struct unit_info), compare_unit_info); + qsort_safe(unit_infos, c, sizeof(struct unit_info), compare_unit_info); for (u = unit_infos; u < unit_infos + c; u++) { _cleanup_free_ char *p = NULL; -- 1.8.4 ++++++ 0001-On_s390_con3270_disable_ANSI_colour_esc.patch ++++++ --- rules/99-systemd.rules.in | 2 - src/getty-generator/getty-generator.c | 2 - src/shared/util.c | 62 ++++++++++++++++++++++++++++++++-- 3 files changed, 61 insertions(+), 5 deletions(-) --- systemd-208/rules/99-systemd.rules.in +++ systemd-208/rules/99-systemd.rules.in 2014-02-05 10:34:17.346235540 +0000 @@ -7,7 +7,7 @@ ACTION=="remove", GOTO="systemd_end" -SUBSYSTEM=="tty", KERNEL=="tty[a-zA-Z]*|hvc*|xvc*|hvsi*", TAG+="systemd" +SUBSYSTEM=="tty", KERNEL=="tty[a-zA-Z]*|hvc*|xvc*|hvsi*|ttysclp*|sclp_line*|3270/tty*", TAG+="systemd" KERNEL=="vport*", TAG+="systemd" --- systemd-208/src/shared/util.c +++ systemd-208/src/shared/util.c 2014-01-31 11:54:07.222235280 +0000 @@ -2967,6 +2967,7 @@ int status_vprintf(const char *status, b struct iovec iovec[6] = {}; int n = 0; static bool prev_ephemeral; + static int cached_on_tty = -1; assert(format); @@ -2980,6 +2981,51 @@ int status_vprintf(const char *status, b if (fd < 0) return fd; + if (_unlikely_(cached_on_tty < 0)) { + cached_on_tty = isatty(fd) > 0; + if (cached_on_tty) { + const char *e = getenv("TERM"); + if (e && (strcmp(e, "dumb") == 0 || strcmp(e, "ibm327x") == 0)) { + char *mode = NULL; + int r = parse_env_file("/proc/cmdline", WHITESPACE, "conmode", &mode, NULL); + if (r < 0 || !mode || !streq(mode, "3270")) + cached_on_tty = 0; + } + } + } + + if (status && !cached_on_tty) { + const char *esc, *ptr; + esc = strchr(status, 0x1B); + if (esc && (ptr = strpbrk(esc, "SOFDTI*"))) { + switch(*ptr) { + case 'S': + status = " SKIP "; + break; + case 'O': + status = " OK "; + break; + case 'F': + status = "FAILED"; + break; + case 'D': + status = "DEPEND"; + break; + case 'T': + status = " TIME "; + break; + case 'I': + status = " INFO "; + break; + case '*': + status = " BUSY "; + break; + default: + break; + } + } + } + if (ellipse) { char *e; size_t emax, sl; @@ -3002,8 +3048,12 @@ int status_vprintf(const char *status, b } } - if (prev_ephemeral) - IOVEC_SET_STRING(iovec[n++], "\r" ANSI_ERASE_TO_END_OF_LINE); + if (prev_ephemeral) { + if (cached_on_tty) + IOVEC_SET_STRING(iovec[n++], "\r" ANSI_ERASE_TO_END_OF_LINE); + else + IOVEC_SET_STRING(iovec[n++], "\r"); + } prev_ephemeral = ephemeral; if (status) { @@ -3267,8 +3317,14 @@ void columns_lines_cache_reset(int signu bool on_tty(void) { static int cached_on_tty = -1; - if (_unlikely_(cached_on_tty < 0)) + if (_unlikely_(cached_on_tty < 0)) { cached_on_tty = isatty(STDOUT_FILENO) > 0; + if (cached_on_tty) { + const char *e = getenv("TERM"); + if (e && (strcmp(e, "dumb") == 0)) + cached_on_tty = 0; + } + } return cached_on_tty; } --- systemd-208/src/getty-generator/getty-generator.c +++ systemd-208/src/getty-generator/getty-generator.c 2014-02-05 10:41:29.502245927 +0000 @@ -149,9 +149,9 @@ int main(int argc, char *argv[]) { * only for non-VC terminals. */ k = add_serial_getty(tty); + free(tty); if (k < 0) { - free(tty); free(active); r = EXIT_FAILURE; goto finish; ++++++ 0001-acpi-fptd-fix-memory-leak-in-acpi_get_boot_usec.patch ++++++
From 7e326fb5b2c1a839bbe7f879c7efa2af2ed33420 Mon Sep 17 00:00:00 2001 From: Lukas Nykryn
Date: Wed, 2 Oct 2013 13:39:49 +0200 Subject: [PATCH 01/15] acpi-fptd: fix memory leak in acpi_get_boot_usec
---
src/shared/acpi-fpdt.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/shared/acpi-fpdt.c b/src/shared/acpi-fpdt.c
index b094f34..a7c83ed 100644
--- a/src/shared/acpi-fpdt.c
+++ b/src/shared/acpi-fpdt.c
@@ -81,7 +81,7 @@ struct acpi_fpdt_boot {
};
int acpi_get_boot_usec(usec_t *loader_start, usec_t *loader_exit) {
- char *buf;
+ _cleanup_free_ char *buf;
struct acpi_table_header *tbl;
size_t l;
struct acpi_fpdt_header *rec;
--
1.8.4
++++++ 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch ++++++
This seems to be a SUSE specific patch. Here we add the check for unmaintained
disk like devices to be able to flush and maybe shut them down. Also we add the
missing sync() system call for the direct halt/reboot systemctl command. Then we
use the system halt as gfallback if poweroff fails for both the direct poweroff
systemctl command as well as for the systemd-shutdown utility.
---
Makefile.am | 2
Makefile.in | 7
src/core/shutdown.c | 8 -
src/shared/hdflush.c | 365 ++++++++++++++++++++++++++++++++++++++++++++++
src/shared/hdflush.h | 25 +++
src/systemctl/systemctl.c | 17 +-
6 files changed, 416 insertions(+), 8 deletions(-)
--- systemd-208/Makefile.am
+++ systemd-208/Makefile.am 2014-01-28 11:06:55.638238060 +0000
@@ -680,6 +680,8 @@ libsystemd_shared_la_SOURCES = \
src/shared/strbuf.h \
src/shared/strxcpyx.c \
src/shared/strxcpyx.h \
+ src/shared/hdflush.c \
+ src/shared/hdflush.h \
src/shared/conf-parser.c \
src/shared/conf-parser.h \
src/shared/log.c \
--- systemd-208/Makefile.in
+++ systemd-208/Makefile.in 2014-01-28 11:06:33.942246196 +0000
@@ -1509,7 +1509,7 @@ am_libsystemd_shared_la_OBJECTS = src/sh
src/shared/hashmap.lo src/shared/set.lo src/shared/fdset.lo \
src/shared/prioq.lo src/shared/sleep-config.lo \
src/shared/strv.lo src/shared/env-util.lo src/shared/strbuf.lo \
- src/shared/strxcpyx.lo src/shared/conf-parser.lo \
+ src/shared/strxcpyx.lo src/shared/hdflush.lo src/shared/conf-parser.lo \
src/shared/log.lo src/shared/ratelimit.lo \
src/shared/exit-status.lo src/shared/utf8.lo \
src/shared/pager.lo src/shared/socket-util.lo \
@@ -4137,6 +4137,8 @@ libsystemd_shared_la_SOURCES = \
src/shared/strbuf.h \
src/shared/strxcpyx.c \
src/shared/strxcpyx.h \
+ src/shared/hdflush.c \
+ src/shared/hdflush.h \
src/shared/conf-parser.c \
src/shared/conf-parser.h \
src/shared/log.c \
@@ -7073,6 +7075,8 @@ src/shared/strbuf.lo: src/shared/$(am__d
src/shared/$(DEPDIR)/$(am__dirstamp)
src/shared/strxcpyx.lo: src/shared/$(am__dirstamp) \
src/shared/$(DEPDIR)/$(am__dirstamp)
+src/shared/hdflush.lo: src/shared/$(am__dirstamp) \
+ src/shared/$(DEPDIR)/$(am__dirstamp)
src/shared/conf-parser.lo: src/shared/$(am__dirstamp) \
src/shared/$(DEPDIR)/$(am__dirstamp)
src/shared/log.lo: src/shared/$(am__dirstamp) \
@@ -9236,6 +9240,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@src/shared/$(DEPDIR)/strbuf.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/shared/$(DEPDIR)/strv.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/shared/$(DEPDIR)/strxcpyx.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/shared/$(DEPDIR)/hdflush.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/shared/$(DEPDIR)/time-dst.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/shared/$(DEPDIR)/time-util.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/shared/$(DEPDIR)/unit-name.Plo@am__quote@
--- systemd-208/src/shared/hdflush.c
+++ systemd-208/src/shared/hdflush.c 2014-01-28 10:58:56.490735704 +0000
@@ -0,0 +1,365 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+/***
+ This file is part of systemd.
+
+ Copyright 2014 Werner Fink
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see http://www.gnu.org/licenses/.
+***/
+
+/*
+ * Find all disks on the system, list out IDE, unmanaged ATA disks, and
+ * USB sticks flush the cache of those and optional shut them down.
+ */
+
+#include
From 95168f7d55181475946ad93db30255c4d709df03 Mon Sep 17 00:00:00 2001 From: Thomas Hindoe Paaboel Andersen
Date: Fri, 01 Nov 2013 21:57:47 +0000 Subject: analyze: plot: place the text on the side with most space
Set the width of the svg to always fit the longest string while taking its starting position into consideration. Place the text on the right while the starting point is in the first half of the screen. After that we put it on the left to save the svg from being wider that it has to. --- diff --git a/src/analyze/analyze.c b/src/analyze/analyze.c index 6bfe13d..8730723 100644 --- a/src/analyze/systemd-analyze.c +++ b/src/analyze/systemd-analyze.c @@ -509,7 +509,7 @@ static int analyze_plot(sd_bus *bus) { m++; for (u = times; u < times + n; u++) { - double len; + double text_start, text_width; if (u->ixt < boot->userspace_time || u->ixt > boot->finish_time) { @@ -517,10 +517,14 @@ static int analyze_plot(sd_bus *bus) { u->name = NULL; continue; } - len = ((boot->firmware_time + u->ixt) * SCALE_X) - + (10.0 * strlen(u->name)); - if (len > width) - width = len; + + /* If the text cannot fit on the left side then + * increase the svg width so it fits on the right. + * TODO: calculate the text width more accurately */ + text_width = 8.0 * strlen(u->name); + text_start = (boot->firmware_time + u->ixt) * SCALE_X; + if (text_width > text_start && text_width + text_start > width) + width = text_width + text_start; if (u->iet > u->ixt && u->iet <= boot->finish_time && u->aet == 0 && u->axt == 0) @@ -608,7 +612,7 @@ static int analyze_plot(sd_bus *bus) { svg_bar("active", boot->userspace_time, boot->finish_time, y); svg_bar("generators", boot->generators_start_time, boot->generators_finish_time, y); svg_bar("unitsload", boot->unitsload_start_time, boot->unitsload_finish_time, y); - svg_text("left", boot->userspace_time, y, "systemd"); + svg_text(true, boot->userspace_time, y, "systemd"); y++; for (u = times; u < times + n; u++) { @@ -622,7 +626,8 @@ static int analyze_plot(sd_bus *bus) { svg_bar("active", u->aet, u->axt, y); svg_bar("deactivating", u->axt, u->iet, y); - b = u->ixt * SCALE_X > width * 2 / 3; + /* place the text on the left if we have passed the half of the svg width */ + b = u->ixt * SCALE_X < width / 2; if (u->time) svg_text(b, u->ixt, y, "%s (%s)", u->name, format_timespan(ts, sizeof(ts), u->time, USEC_PER_MSEC)); @@ -634,19 +639,19 @@ static int analyze_plot(sd_bus *bus) { /* Legend */ y++; svg_bar("activating", 0, 300000, y); - svg_text("right", 400000, y, "Activating"); + svg_text(true, 400000, y, "Activating"); y++; svg_bar("active", 0, 300000, y); - svg_text("right", 400000, y, "Active"); + svg_text(true, 400000, y, "Active"); y++; svg_bar("deactivating", 0, 300000, y); - svg_text("right", 400000, y, "Deactivating"); + svg_text(true, 400000, y, "Deactivating"); y++; svg_bar("generators", 0, 300000, y); - svg_text("right", 400000, y, "Generators"); + svg_text(true, 400000, y, "Generators"); y++; svg_bar("unitsload", 0, 300000, y); - svg_text("right", 400000, y, "Loading unit files"); + svg_text(true, 400000, y, "Loading unit files"); y++; svg("</g>\n\n"); -- cgit v0.9.0.2-2-gbebe ++++++ 0001-analyze-set-white-background.patch ++++++
From 418e37506e6a419a808a82081ca1616caa03a206 Mon Sep 17 00:00:00 2001 From: Thomas Hindoe Paaboel Andersen
Date: Mon, 21 Oct 2013 19:29:23 +0000 Subject: analyze: set white backgound
In programs like eog and gimp the transparant background did not look very good. https://bugs.freedesktop.org/show_bug.cgi?id=70720 --- diff --git a/src/analyze/systemd-analyze.c b/src/analyze/systemd-analyze.c index 26769d6..0cc4de7 100644 --- a/src/analyze/systemd-analyze.c +++ b/src/analyze/systemd-analyze.c @@ -507,6 +507,7 @@ static int analyze_plot(DBusConnection *bus) { /* style sheet */ svg("<defs>\n