Hello community,
here is the log from the commit of package systemd for openSUSE:Factory checked in at 2015-03-27 09:39:40
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/systemd (Old)
and /work/SRC/openSUSE:Factory/.systemd.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "systemd"
Changes:
--------
--- /work/SRC/openSUSE:Factory/systemd/systemd-mini.changes 2015-03-09 09:20:54.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.systemd.new/systemd-mini.changes 2015-03-27 09:39:44.000000000 +0100
@@ -1,0 +2,94 @@
+Tue Mar 3 16:03:07 UTC 2015 - jengelh@inai.de
+
+- Add 0001-core-rework-device-state-logic.patch to fix spurious
+ automated umount after mount.
+
+-------------------------------------------------------------------
+Wed Feb 18 12:13:52 UTC 2015 - meissner@suse.com
+
+- mark more subpackages as !bootstrap for systemd-mini usage.
+
+-------------------------------------------------------------------
+Wed Feb 18 05:01:38 UTC 2015 - crrodriguez@opensuse.org
+
+- spec : remove --with-firmware-path, firmware loader was removed in v217
+- spec: remove --disable-multi-seat-x, gone.(fixed in xorg)
+- spec: Do not enable systemd-readahead-collect.service and
+systemd-readahead-replay.service as these do not exist anymore.
+- spec: drop timedate-add-support-for-openSUSE-version-of-etc-sysconfig.patch
+ Yast was fixed to write all timezone changes exactly how timedated expects
+ things to be done.
+- spec: remove handle-etc-HOSTNAME.patch, since late 2014 the netcfg
+ package handles the migration from /etc/HOSTNAME to /etc/hostname
+ and owns both files.
+-spec: remove boot.udev and systemd-journald.init as they currently
+ serve no purpose.
+- suse-sysv-bootd-support.diff: Remove HAVE_SYSVINIT conditions, we
+ are in sysvcompat-only codepath, also remove the code targetting other
+ distributions, never compiled as the TARGET_$DISTRO macros are never defined.
+- systemd-powerd-initctl-support.patch guard with HAVE_SYSV_COMPAT
+- set-and-use-default-logconsole.patch: fix HAVE_SYSV_COMPAT guards
+- insserv-generator.patch: Only build when sysvcompat is enabled
+- vhangup-on-all-consoles.patch add a comment indicating this is a workaround
+ for a kernel bug.
+- spec: Add option to allow disabling sysvinit compat at build time.
+- spec: Add option to enable resolved at build time.
+- spec: Remove all %ifs for !factory products, current systemd releases can
+ neither be built nor installed in older products without upgrading
+ several components of the base system.
+ (removed: 1008-add-msft-compability-rules.patch was only for =< 13.1)
+- spec: remove all dummy "aliases" to /etc/init.d, that made sense only when
+ those init scripts still existed. (dummy localfs.service source: gone)
+- systemd-sleep-grub: moved to the grub2 package where it belongs as a
+ suspend/resume hook (SR#286533) (drops prepare-suspend-to-disk.patch)
+- remove LFS_CFLAGS from CFLAGS, never needed in systemd as it force feds
+ config.h everywhere in the preprocessor cmdline.
+
+-------------------------------------------------------------------
+Mon Feb 16 23:46:11 UTC 2015 - jengelh@inai.de
+
+- Update to new upstream release 219
+* systemd units can now be "unsupported" (like, for example,
+ .device in a containers), similar to the "skipped" state in
+ SUSE's prior sysvinit scripts.
+* tmpfiles gained the 'v' type for creating btrfs subvolumes.
+* tmpfiles gained the 'a' type for setting ACLs.
+* systemd-nspawn gained new switches: --ephemeral, --template
+* The /var/lib/containers location is deprecated and replaced by
+ /var/lib/machines.
+* machinectl gained the copy-from and copy-to commands.
+* machinectl now knows a "bind" command (for use with nspawn)
+* new "systemd-importd" daemon to download container images and run
+ them as nspawn containers.
+* networkd collects LLDP network announcements, if available, and
+ so shown in networkctl.
+* The fallback terminal type was changed from "vt102" to "vt220",
+ allowing PgUp/PgDn keys to work.
+* Pressing Ctrl-Alt-Del 7x in 2 seconds forces a umount+reboot now,
+ useful should the regular shutdown hang.
+* Removing storage will cause systemd to unmount the associated
+ mountpoints so that they don't linger around.
+
+-------------------------------------------------------------------
+Mon Feb 16 11:47:04 UTC 2015 - jengelh@inai.de
+
+- Add suse-sysv-bootd-support.diff (reinstate old
+ Revert-service-drop-support-for-SysV-scripts-for-the-early.patch)
+
+-------------------------------------------------------------------
+Mon Feb 16 10:18:18 UTC 2015 - jengelh@inai.de
+
+- Update to systemd v218-1050-g38ab096
+- Remove patches
+ use-usr-sbin-sulogin-for-emergency-service.patch (upstream fixed it)
+- Reinstate and improve (remove huge indents from)
+ tty-ask-password-agent-on-console.patch,
+ 0014-journald-with-journaling-FS.patch, rootsymlink_generator.
+
+-------------------------------------------------------------------
+Mon Feb 16 09:42:48 UTC 2015 - meissner@suse.com
+
+- disable systemd-resolved for now as it interacts not well with
+ our methods and security has concerns regarding spoofing. bsc#917781
+
+-------------------------------------------------------------------
@@ -5,0 +100,472 @@
+
+-------------------------------------------------------------------
+Fri Jan 9 18:48:28 UTC 2015 - jengelh@inai.de
+
+- Update to new upstream release 218
+* New utilities: systemd-timesyncd (SNTP client),
+ systemd-resolved, systemd-networkd, networkctl,
+ systemd-sysusers
+* machinectl gained a "poweroff" command for clean container shutdown
+* The udev hwdb now contains DPI information for mice.
+* Userspace firmware loading support has been removed and
+ the minimum supported kernel version is thus bumped to 3.7.
+- Remove patches:
+ G=gone locally, is upstream;
+ D=dropped: no longer needed;
+ N=no longer applies to source nor is it deemed needed;
+ K=killed: no longer applicable and too complex to resolve:
+ ----
+ G 0002-rfkill-rework-how-we-generate-file-names-from-rfkill.patch
+ G avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch
+ K service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch
+ K remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch
+ K handle-SYSTEMCTL_OPTIONS-environment-variable.patch
+ K 0018-Make-LSB-Skripts-know-about-Required-and-Should.patch
+ K log-target-null-instead-kmsg.patch
+ K tty-ask-password-agent-on-console.patch
+ K 513-nspawn-veth.patch
+ K 1087-infinit-timeout-for-kmod-loaded-modules.patch
+ D module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch
+ D avoid-leaking-socket-descriptors.patch
+ D 0001-make-fortify-happy-with-ppoll.patch
+ N fix-owner-of-var-log-btmp.patch
+ N disable-nss-myhostname-warning-bnc-783841.patch
+ N Revert-service-drop-support-for-SysV-scripts-for-the-early.patch
+ N 0001-make-209-working-on-older-dist.patch
+ N 0001-Don-t-snprintf-a-potentially-NULL-pointer.patch
+ N tmpfiles-do-not-clean-for-mandb-index-files.patch
+ G 0001-sd-bus-don-t-look-for-a-64bit-value-when-we-only-hav.patch
+ G avoid-assertion-if-invalid-address-familily-is-passed-to-g.patc
+ G optionally-warn-if-nss-myhostname-is-called.patch
+ G 0001-units-systemd-sysctl.service.in-run-after-load-modul.patch
+ G 0004-getty-generator-properly-escape-instance-names.patch
+ G rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch
+ G 0008-Reset-signal-mask-on-re-exec-to-init.patch
+ G 0001-login-fix-pos-array-allocation.patch
+ G 0002-login-set-pos-slot-to-fallback-on-pos-eviction.patch
+ G 0003-login-Allow-calling-org.freedesktop.login1.Seat.Swit.patch
+ G 0004-fix-typo-in-iDRAC-network-interface-name-irdac-idrac.patch
+ G 0005-Replace-var-run-with-run-in-remaining-places.patch
+ G 0006-Revert-back-to-var-run-at-a-couple-of-problems.patch
+ G 0007-README-document-that-var-run-must-be-a-symlink-run.patch
+ G 0008-Use-var-run-dbus-system_bus_socket-for-the-D-Bus-soc.patch
+ G 0009-mount-don-t-send-out-PropertiesChanged-message-if-ac.patch
+ G 0010-mount-don-t-fire-PropertiesChanged-signals-for-mount.patch
+ G 0011-logs-show-fix-corrupt-output-with-empty-messages.patch
+ G 0012-journalctl-refuse-extra-arguments-with-verify-and-si.patch
+ G 0014-nspawn-fix-detection-of-missing-proc-self-loginuid.patch
+ G 0001-Fix-systemd-stdio-bridge-symlink.patch
+ G 0002-execute-free-directory-path-if-we-fail-to-remove-it-.patch
+ G 0003-Do-not-print-invalid-UTF-8-in-error-messages.patch
+ G 0004-man-document-missing-options-of-systemd-run.patch
+ G 0005-systemd-run-add-some-extra-safety-checks.patch
+ G 0006-journal-assume-that-next-entry-is-after-previous-ent.patch
+ G 0007-journal-forget-file-after-encountering-an-error.patch
+ G 0008-core-correctly-unregister-PIDs-from-PID-hashtables.patch
+ G 0009-logind-fix-reference-to-systemd-user-sessions.servic.patch
+ G 0010-man-update-link-to-LSB.patch
+ G 0011-man-systemd-bootchart-fix-spacing-in-command.patch
+ G 0012-man-add-missing-comma.patch
+ G 0013-units-Do-not-unescape-instance-name-in-systemd-backl.patch
+ G 0001-core-busname-add-lookup-string-for-BUSNAME_FAILURE_S.patch
+ G 0002-manager-flush-memory-stream-before-using-the-buffer.patch
+ G 0003-busname-don-t-drop-service-from-the-result-string.patch
+ G 0004-fix-off-by-one-error-in-array-index-assertion.patch
+ G 0005-logind-fix-policykit-checks.patch
+ G 0006-rules-mark-loop-device-as-SYSTEMD_READY-0-if-no-file.patch
+ G 0008-man-multiple-sleep-modes-are-to-be-separated-by-whit.patch
+ G 0001-gpt-auto-generator-don-t-return-OOM-on-parentless-de.patch
+ G 0002-bus-fix-memory-leak-when-kdbus-is-not-enabled.patch
+ G 0006-Do-not-return-1-EINVAL-on-allocation-error.patch
+ G 0007-networkd-fix-typo.patch
+ G 0008-sd-bus-don-t-access-invalid-memory-if-a-signal-match.patch
+ G 0009-sd-bus-don-t-choke-if-somebody-sends-us-a-message-wi.patch
+ G 0012-journald-remove-stray-reset-of-error-return-value.patch
+ G 0013-core-libsystemd-systemd-timedate-udev-spelling-fixes.patch
+ G 0001-cgroup-it-s-not-OK-to-invoke-alloca-in-loops.patch
+ G 0002-machined-fix-Kill-bus-call-on-machine-objects-when-w.patch
+ G 0003-sd-bus-don-t-use-assert_return-to-check-for-disconne.patch
+ G 0004-core-don-t-try-to-relabel-mounts-before-we-loaded-th.patch
+ G 0005-sd-daemon-fix-incorrect-variable-access.patch
+ G 0006-sd-event-initialization-perturbation-value-right-bef.patch
+ G 0007-sd-event-don-t-accidentally-turn-of-watchdog-timer-e.patch
+ G 0008-systemctl-kill-mode-is-long-long-gone-don-t-mention-.patch
+ G 0009-ask-password-when-the-user-types-a-overly-long-passw.patch
+ G 0001-journal-fix-export-of-messages-containing-newlines.patch
+ G 0002-systemctl-update-NAME-to-PATTERN-in-help.patch
+ G 0003-tty-ask-password-agent-return-negative-errno.patch
+ G 0004-systemd-python-use-.hex-instead-of-.get_hex.patch
+ G 0005-systemd-python-fix-failing-assert.patch
+ G 0007-dbus-suppress-duplicate-and-misleading-messages.patch
+ G 0001-reduce-the-amount-of-messages-logged-to-dev-kmsg-whe.patch
+ G 0001-bash-completion-fix-__get_startable_units.patch
++++ 370 more lines (skipped)
++++ between /work/SRC/openSUSE:Factory/systemd/systemd-mini.changes
++++ and /work/SRC/openSUSE:Factory/.systemd.new/systemd-mini.changes
systemd.changes: same change
Old:
----
0001-Clear-up-confusion-wrt.-ENTRY_SIZE_MAX-and-DATA_SIZE.patch
0001-Do-not-unescape-unit-names-in-Install-section.patch
0001-Don-t-snprintf-a-potentially-NULL-pointer.patch
0001-Fix-systemd-stdio-bridge-symlink.patch
0001-Fix-warning-about-unused-variable-with-SELINUX.patch
0001-activate-fix-fd-leak-in-do_accept.patch
0001-architecture-Add-tilegx.patch
0001-backlight-Avoid-restoring-brightness-to-an-unreadabl.patch
0001-bash-completion-fix-__get_startable_units.patch
0001-bash-completion-p-option-for-journalctl.patch
0001-build-sys-use-glibc-s-xattr-support-instead-of-requi.patch
0001-bus-proxyd-fix-incorrect-comparison.patch
0001-cgroup-it-s-not-OK-to-invoke-alloca-in-loops.patch
0001-completion-filter-templates-from-restartable-units.patch
0001-conf-parser-silently-ignore-sections-starting-with-X.patch
0001-core-busname-add-lookup-string-for-BUSNAME_FAILURE_S.patch
0001-core-close-socket-fds-asynchronously.patch
0001-core-don-t-allow-enabling-if-unit-is-masked.patch
0001-core-fix-invalid-free-in-killall.patch
0001-core-fix-resource-leak-in-manager_environment_add.patch
0001-core-swap-only-make-configured-units-part-of-swap.ta.patch
0001-core-sysvcompat-network-should-be-equivalent-to-netw.patch
0001-core-use-correct-format-string-for-UIDs.patch
0001-detect-virt-Fix-Xen-domU-discovery.patch
0001-errno-make-sure-to-handle-the-3-errnos-that-are-alia.patch
0001-event-pull-in-sd-event.h-from-event-util.h.patch
0001-gpt-auto-generator-don-t-return-OOM-on-parentless-de.patch
0001-hwdb-Update-database-of-Bluetooth-company-identifier.patch
0001-hwdb-fix-case-sensitive-match.patch
0001-hwdb-keymaps-for-Samsung-900X3E-900X3F.patch
0001-hwdb-update.patch
0001-initrd-parse-etc.service-ignore-return-code-of-daemo.patch
0001-journal-Do-not-count-on-the-compiler-initializing-fo.patch
0001-journal-cleanup-up-error-handling-in-update_catalog.patch
0001-journal-compress-return-early-in-uncompress_startswi.patch
0001-journal-fix-export-of-messages-containing-newlines.patch
0001-journalctl-do-not-output-reboot-markers-when-running.patch
0001-keymap-Add-Lenovo-Enhanced-USB-Keyboard.patch
0001-keymap-Add-support-for-IBM-ThinkPad-X41-Tablet.patch
0001-keymap-Fix-touchpad-toggle-on-Toshiba-Satellite-P75-.patch
0001-login-fix-memory-leak-on-DropController.patch
0001-login-fix-pos-array-allocation.patch
0001-login-pause-devices-before-acknowledging-VT-switches.patch
0001-login-rerun-vconsole-setup-when-switching-from-vgaco.patch
0001-login-simplify-controller-handling.patch
0001-logind-add-support-for-Triton2-Power-Button.patch
0001-logind-allow-switching-to-unused-VTs-via-SwitchTo.patch
0001-logind-ignore-lid-switch-if-more-than-1-display-is-c.patch
0001-machine-don-t-return-uninitialized-variable.patch
0001-main-uid_to_name-might-fail-due-to-OOM-protect-again.patch
0001-make-209-working-on-older-dist.patch
0001-make-fortify-happy-with-ppoll.patch
0001-manager-Linux-on-hppa-has-fewer-rtsigs-hence-avoid-u.patch
0001-nspawn-allow-to-bind-mount-journal-on-top-of-a-non-e.patch
0001-nspawn-don-t-try-to-create-veth-link-with-too-long-i.patch
0001-nspawn-fix-network-interface.patch
0001-nspawn-fix-truncation-of-machine-names-in-interface-.patch
0001-parse_uid-return-ENXIO-for-1-uids.patch
0001-po-add-Ukrainian-translation.patch
0001-reduce-the-amount-of-messages-logged-to-dev-kmsg-whe.patch
0001-replace-more-dup-by-F_DUPFD_CLOEXEC.patch
0001-sd-bus-don-t-look-for-a-64bit-value-when-we-only-hav.patch
0001-sd-bus-properly-handle-removals-of-non-existing-matc.patch
0001-sd-event-don-t-require-a-signal-event-source-to-be-e.patch
0001-sd-event-restore-correct-timeout-behaviour.patch
0001-sd-rtnl-message-append-fix-uninitialized-memory.patch
0001-selinux-access-fix-broken-ternary-operator.patch
0001-shell-completion-fix-completion-of-inactive-units.patch
0001-shutdownd-clean-up-initialization-of-struct.patch
0001-socket-introduce-SELinuxContextFromNet-option.patch
0001-strv-add-an-additional-overflow-check-when-enlarging.patch
0001-systemctl-Correct-error-message-printed-when-bus_pro.patch
0001-systemctl-allow-to-change-the-default-target-without.patch
0001-systemctl-let-list-units-unit-files-honour-type.patch
0001-systemctl-when-mangle-unit-names-for-the-isolate-suf.patch
0001-systemd-continue-switch-root-even-if-umount-fails.patch
0001-systemd-detect-virt-detect-s390-virtualization.patch
0001-systemd-tmpfiles-Fix-IGNORE_DIRECTORY_PATH-age-handl.patch
0001-sysv-order-initscripts-which-provide-network-before-.patch
0001-tmpfiles-compare-return-against-correct-errno.patch
0001-tmpfiles-fix-permissions-on-new-journal-files.patch
0001-umount-modernizations.patch
0001-units-introduce-network-pre.target-as-place-to-hook-.patch
0001-units-make-ExecStopPost-action-part-of-ExecStart.patch
0001-units-make-sure-rfkill-service-is-bount-to-the-actua.patch
0001-units-order-network-online.target-after-network.targ.patch
0001-units-systemd-sysctl.service.in-run-after-load-modul.patch
0001-units-tmpfiles-setup-dev-allow-unsafe-file-creation-.patch
0001-util-consider-0x7F-a-control-chracter-which-it-is-DE.patch
0001-vconsole-also-copy-character-maps-not-just-fonts-fro.patch
0001-virt-detect-that-we-are-running-inside-the-docker-co.patch
0001-virt-rework-container-detection-logic.patch
0002-Add-hwdb-entry-for-Samsung-Series-7-Ultra.patch
0002-Be-more-verbose-when-bind-or-listen-fails.patch
0002-analyze-avoid-a-null-dereference.patch
0002-analyze-run-use-bus_open_transport_systemd-instead-o.patch
0002-architecture-Add-cris.patch
0002-backlight-do-nothing-if-max_brightness-is-0.patch
0002-bootchart-use-n-a-if-PRETTY_NAME-is-not-found.patch
0002-bus-fix-memory-leak-when-kdbus-is-not-enabled.patch
0002-bus-make-use-of-sd_bus_try_close-in-exit-on-idle-ser.patch
0002-bus-remove-unused-check.patch
0002-core-make-sure-Environment-fields-passed-in-for-tran.patch
0002-core-transaction-fix-cycle-break-attempts-outside-tr.patch
0002-core-watchdog-bus-properties-cannot-be-both-writable.patch
0002-execute-free-directory-path-if-we-fail-to-remove-it-.patch
0002-fsck-include-device-name-in-the-message-about-missin.patch
0002-hostnamed-add-a-new-chassis-type-for-watches.patch
0002-hwdb-Add-mapping-for-special-keys-on-compaq-ku-0133-.patch
0002-hwdb-Update-database-of-Bluetooth-company-identifier.patch
0002-hwdb-update.patch
0002-include-fcntl.h-rather-than-sys-fcntl.h.patch
0002-journal-compress-improve-xz-compression-performance.patch
0002-journal-properly-detect-language-specified-in-line.patch
0002-journalctl-man-allow-only-between-terms.patch
0002-journald-make-MaxFileSec-really-default-to-1month.patch
0002-keymap-Add-microphone-mute-keymap-for-Dell-Latitude.patch
0002-keymap-Asus-EeePC-touchpad-toggle-key.patch
0002-keymap-Fix-special-keys-on-ThinkPad-X60-X61-Tablet.patch
0002-keymap-Fix-touchpad-toggle-key-on-Asus-laptops.patch
0002-keymap-Ignore-brightness-keys-on-Dell-Inspiron-1520-.patch
0002-login-set-pos-slot-to-fallback-on-pos-eviction.patch
0002-logind-add-support-for-TPS65217-Power-Button.patch
0002-logind-bring-polkit-policy-for-hibernate-in-line-wit.patch
0002-logind-fix-printf-format.patch
0002-machined-fix-Kill-bus-call-on-machine-objects-when-w.patch
0002-man-document-yearly-and-annually-in-systemd.time-7.patch
0002-man-note-that-entire-sections-can-now-be-ignored.patch
0002-man-tmpfiles.d-recommend-using-b-and-c.patch
0002-manager-flush-memory-stream-before-using-the-buffer.patch
0002-namespace-fix-uninitialized-memory-access.patch
0002-namespace-when-setting-up-an-inaccessible-mount-poin.patch
0002-nspawn-restore-journal-directory-is-empty-check.patch
0002-pam_systemd-use-F_DUPFD_CLOEXEC-when-dupping-session.patch
0002-rfkill-rework-how-we-generate-file-names-from-rfkill.patch
0002-shell-completion-prevent-mangling-unit-names.patch
0002-shell-completion-propose-templates-for-disable-re-en.patch
0002-shutdown-fix-arguments-to-run-initramfs-shutdown.patch
0002-shutdown-pass-own-argv-to-run-initramfs-shutdown.patch
0002-snapshot-return-error-when-snapshot-exists.patch
0002-switch-root-umount-the-old-root-correctly.patch
0002-sysctl-replaces-some-slashes-with-dots.patch
0002-systemctl-obey-state-in-list-unit-files.patch
0002-systemctl-show-BindsTo-BoundBy-in-list-dependencies.patch
0002-systemctl-update-NAME-to-PATTERN-in-help.patch
0002-systemd-fix-error-message.patch
0002-systemd-try-harder-to-bind-to-notify-socket.patch
0002-time-also-support-infinity-syntax-in-parse_nsec.patch
0002-udev-hwdb-New-Entry-for-Dell-XPS12-9Q33-keyboard.patch
0002-units-add-missing-caps-so-that-GetAddresses-can-work.patch
0002-units-order-systemd-fsck-.service-after-local-fs-pre.patch
0002-units-serial-getty-.service-use-the-default-RestartS.patch
0002-util-avoid-non-portable-__WORDSIZE.patch
0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch
0002-util-fix-has-cc-check-and-add-test.patch
0002-util-fix-minimal-race-where-we-might-miss-SIGTERMs-w.patch
0002-util-remove-a-unnecessary-check.patch
0002-util-when-unescaping-strings-don-t-allow-smuggling-i.patch
0002-vconsole-setup-run-setfont-before-loadkeys.patch
0003-Add-quotes-to-warning-message.patch
0003-Always-check-asprintf-return-code.patch
0003-Do-not-print-invalid-UTF-8-in-error-messages.patch
0003-Quote-unit-names-in-suggested-systemctl-commandlines.patch
0003-analyze-fix-mem-leak.patch
0003-analyze-fix-plot-with-bad-y-size.patch
0003-arch-add-crisv32-to-uname-check.patch
0003-architecture-add-string-table-entries-for-mips-le-ar.patch
0003-backlight-unify-error-messages.patch
0003-bootchart-it-s-not-OK-to-return-1-from-a-main-progra.patch
0003-bootchart-parse-userinput-with-safe_atoi.patch
0003-busname-don-t-drop-service-from-the-result-string.patch
0003-core-You-can-not-put-the-cached-result-of-use_smack-.patch
0003-core-allow-transient-mount-units.patch
0003-core-make-sure-to-serialize-jobs-for-all-units.patch
0003-core-never-consider-failure-when-reading-drop-ins-fa.patch
0003-core-nicer-message-when-inotify-watches-are-exhauste.patch
0003-cryptsetup-default-to-no-hash-when-keyfile-is-specif.patch
0003-delta-do-not-use-unicode-chars-in-C-locale.patch
0003-fileio-label-return-error-when-writing-fails.patch
0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch
0003-hwdb-PCI-include-primary-model-string-in-subsystem-m.patch
0003-hwdb-Update-database-of-Bluetooth-company-identifier.patch
0003-install-fix-invalid-free-in-unit_file_mask.patch
0003-journald-add-CAP_MAC_OVERRIDE-in-journald-for-SMACK-.patch
0003-keymap-Adjust-for-more-Samsung-900X4-series.patch
0003-keymap-Annotate-all-micmute-workarounds.patch
0003-keymap-Fix-HP-Pavillon-DV7.patch
0003-localed-consider-an-unset-model-as-a-wildcard.patch
0003-login-Allow-calling-org.freedesktop.login1.Seat.Swit.patch
0003-logind-ignore-lid-switch-events-for-30s-after-each-s.patch
0003-man-mention-XDG_CONFIG_HOME-in-systemd.unit.patch
0003-man-we-don-t-have-Wanted-dependency.patch
0003-mount-order-options-before-other-arguments-to-mount.patch
0003-namespace-make-sure-tmp-var-tmp-and-dev-are-writable.patch
0003-sd-bus-check-return-value-of-vasprintf.patch
0003-sd-bus-don-t-use-assert_return-to-check-for-disconne.patch
0003-sd-bus-refuse-properties-that-claim-to-be-both-writa.patch
0003-sd-event-always-call-epoll_ctl-on-mask-updates-if-ed.patch
0003-sd-journal-properly-convert-object-size-on-big-endia.patch
0003-shared-install-avoid-prematurely-rejecting-missing-u.patch
0003-systemd-use-pager-for-test-and-help.patch
0003-time-earlier-exit-from-format_timestamp_relative-on-.patch
0003-tty-ask-password-agent-return-negative-errno.patch
0003-udev-event-explicitly-don-t-read-from-invalid-fd.patch
0003-units-order-systemd-tmpfiles-clean.service-after-tim.patch
0003-units-remove-RefuseManualStart-from-units-which-are-.patch
0003-units-use-KillMode-mixed-for-systemd-nspawn-.service.patch
0003-utf8-when-looking-at-the-next-unichar-honour-the-siz.patch
0004-Raise-level-of-Found-dependency.-lines.patch
0004-architecture-remove-cris-from-uname-list.patch
0004-backlight-Avoid-error-when-state-restore-is-disabled.patch
0004-backlight-warn-if-kernel-exposes-backlight-device-wi.patch
0004-bash-completion-use-list-unit-files-to-get-all-units.patch
0004-bootchart-check-return-of-strftime.patch
0004-config-parser-fix-mem-leak.patch
0004-core-Added-support-for-ERRNO-NOTIFY_SOCKET-message-p.patch
0004-core-don-t-try-to-relabel-mounts-before-we-loaded-th.patch
0004-core-fix-transaction-destructiveness-check-once-more.patch
0004-core-map-the-rescue-argument-to-rescue.target.patch
0004-cryptsetup-don-t-add-unit-dependency-on-dev-null-dev.patch
0004-fileio-quote-more-shell-characters-in-envfiles.patch
0004-fix-off-by-one-error-in-array-index-assertion.patch
0004-fix-typo-in-iDRAC-network-interface-name-irdac-idrac.patch
0004-getty-generator-properly-escape-instance-names.patch
0004-hwdb-Update-database-of-Bluetooth-company-identifier.patch
0004-hwdb-update-format-description-and-document-reloadin.patch
0004-hwdb-update.patch
0004-implement-a-union-to-pad-out-file_handle.patch
0004-job-add-waiting-jobs-to-run-queue-in-unit_coldplug.patch
0004-journal-do-server_vacuum-for-sigusr1.patch
0004-login-set_controller-should-fail-if-prepare_vt-fails.patch
0004-logind-Do-not-fail-display-count-if-a-device-has-no-.patch
0004-machined-make-sure-GetMachineAddresses-is-available-.patch
0004-man-document-missing-options-of-systemd-run.patch
0004-sd-bus-if-we-don-t-manage-to-properly-allocate-the-e.patch
0004-sd-bus-when-an-event-loop-terminates-explicitly-clos.patch
0004-sd-event-check-the-value-of-received-signal.patch
0004-sd-journal-verify-that-object-start-with-the-field-n.patch
0004-selinux-fix-potential-double-free-crash-in-child-pro.patch
0004-shared-conf-parser.patch
0004-shared-wtmp-utmp-don-t-clear-store_wtmp-in-utmp_put_.patch
0004-socket-properly-handle-if-our-service-vanished-durin.patch
0004-systemd-detect-virt-only-discover-Xen-domU.patch
0004-systemd-python-use-.hex-instead-of-.get_hex.patch
0004-systemd-return-the-first-error-from-manager_startup.patch
0004-util-ignore_file-should-not-allow-files-ending-with.patch
0004-util-refuse-considering-UID-0xFFFF-and-0xFFFFFFFF-va.patch
0005-Replace-var-run-with-run-in-remaining-places.patch
0005-backlight-Do-not-clamp-brightness-for-LEDs.patch
0005-backlight-handle-saved-brightness-exceeding-max-brig.patch
0005-bootchart-Do-not-try-to-access-data-for-non-existing.patch
0005-bus-avoid-using-m-kdbus-after-freeing-it.patch
0005-bus-close-a-bus-that-failed-to-connect.patch
0005-core-Filter-by-state-behind-the-D-Bus-API-not-in-the.patch
0005-core-only-set-the-kernel-s-timezone-when-the-RTC-run.patch
0005-cryptsetup-fix-an-OOM-check.patch
0005-hwdb-Update-database-of-Bluetooth-company-identifier.patch
0005-hwdb-update.patch
0005-job-always-add-waiting-jobs-to-run-queue-during-cold.patch
0005-journalctl-correct-help-text-for-until.patch
0005-login-fix-mem-leak.patch
0005-logind-fix-policykit-checks.patch
0005-logind-fix-typo.patch
0005-logind-move-lid-switch-handling-from-logind-main-to-.patch
0005-man-fix-path-in-crypttab-5.patch
0005-nspawn-block-open_by_handle_at-and-others-via-seccom.patch
0005-po-add-Greek-translation.patch
0005-sd-daemon-fix-incorrect-variable-access.patch
0005-sd-id128-do-stricter-checking-of-random-boot-id.patch
0005-sd-resolve-fix-allocation-if-query-ids-never-reuse-t.patch
0005-service-don-t-accept-negative-ERRNO-notification-mes.patch
0005-shared-label.h-add-missing-stdio.h-include.patch
0005-systemd-python-fix-failing-assert.patch
0005-systemd-run-add-some-extra-safety-checks.patch
0005-units-order-sd-journal-flush-after-sd-remount-fs.patch
0005-util-avoid-double-close-of-fd.patch
0006-Do-not-return-1-EINVAL-on-allocation-error.patch
0006-Revert-back-to-var-run-at-a-couple-of-problems.patch
0006-bus-unref-buscreds-on-failure.patch
0006-calendarspec-fix-typo-in-annually.patch
0006-hwdb-Update-database-of-Bluetooth-company-identifier.patch
0006-hwdb-update.patch
0006-journal-assume-that-next-entry-is-after-previous-ent.patch
0006-journald-fix-minor-memory-leak.patch
0006-log-honour-the-kernel-s-quiet-cmdline-argument.patch
0006-login-add-mir-to-the-list-of-session-types.patch
0006-login-share-VT-signal-handler-between-sessions.patch
0006-man-clarify-that-the-ExecReload-command-should-be-sy.patch
0006-parse_boolean-require-exact-matches.patch
0006-rules-mark-loop-device-as-SYSTEMD_READY-0-if-no-file.patch
0006-sd-event-initialization-perturbation-value-right-bef.patch
0006-shared-sparse-endian.h-add-missing-byteswap.h-includ.patch
0006-systemctl-fix-resource-leak-CID-1237747.patch
0006-systemctl-show-StatusErrno-value-in-systemctl-status.patch
0006-tmpfiles-don-t-do-automatic-cleanup-in-XDG_RUNTIME_D.patch
0006-tty-ask-password-agent-Do-tell-what-directory-we-fai.patch
0007-README-document-that-var-run-must-be-a-symlink-run.patch
0007-core-fix-a-potential-mem-leak.patch
0007-dbus-suppress-duplicate-and-misleading-messages.patch
0007-drop_duplicates-copy-full-BindMount-struct.patch
0007-hwdb-Update-database-of-Bluetooth-company-identifier.patch
0007-hwdb-update.patch
0007-journal-forget-file-after-encountering-an-error.patch
0007-journald-also-check-journal-file-size-to-deduce-if-i.patch
0007-journald-also-increase-the-SendBuffer-of-dev-log-to-.patch
0007-keyboard-add-Plantronics-.Audio-mute-button.patch
0007-libudev-monitor-warn-if-we-fail-to-request-SO_PASSCR.patch
0007-logind-fix-Display-property-of-user-objects.patch
0007-man-readahead-fix-cmdline-switch-inconsistency-betwe.patch
0007-networkd-fix-typo.patch
0007-po-add-German-translation.patch
0007-sd-event-don-t-accidentally-turn-of-watchdog-timer-e.patch
0007-service-flush-status-text-and-errno-values-each-time.patch
0007-systemctl-do-not-ignore-errors-in-symlink-removal.patch
0007-units-skip-mounting-tmp-if-it-is-a-symlink.patch
0008-Reset-signal-mask-on-re-exec-to-init.patch
0008-Use-var-run-dbus-system_bus_socket-for-the-D-Bus-soc.patch
0008-core-correctly-unregister-PIDs-from-PID-hashtables.patch
0008-core-smack-setup-Actually-allow-for-succesfully-load.patch
0008-hwdb-Update-database-of-Bluetooth-company-identifier.patch
0008-hwdb-update.patch
0008-journald-fix-memory-leak-on-error-path.patch
0008-man-multiple-sleep-modes-are-to-be-separated-by-whit.patch
0008-man-update-journald-rate-limit-defaults.patch
0008-mount-setup-fix-counting-of-early-mounts-without-SMA.patch
0008-sd-bus-don-t-access-invalid-memory-if-a-signal-match.patch
0008-shared-conf-parser-don-t-leak-memory-on-error-in-DEF.patch
0008-shell-completion-prevent-mangling-unit-names-bash.patch
0008-systemctl-kill-mode-is-long-long-gone-don-t-mention-.patch
0008-util-introduce-sethostname_idempotent.patch
0009-ask-password-when-the-user-types-a-overly-long-passw.patch
0009-bus-fix-bus_print_property-to-use-int-for-booleans.patch
0009-core-clean-up-signal-reset-logic-when-reexec.patch
0009-hwdb-Update-database-of-Bluetooth-company-identifier.patch
0009-hwdb-update.patch
0009-journal-do-not-leak-mmaps-on-OOM.patch
0009-journald-Fix-off-by-one-error-in-Missed-X-kernel-mes.patch
0009-journald-always-add-syslog-facility-for-messages-com.patch
0009-logind-fix-reference-to-systemd-user-sessions.servic.patch
0009-mount-don-t-send-out-PropertiesChanged-message-if-ac.patch
0009-nspawn-properly-format-container_uuid-in-UUID-format.patch
0009-sd-bus-don-t-choke-if-somebody-sends-us-a-message-wi.patch
0009-units-make-systemd-journald.service-Type-notify.patch
0009-util-fix-copy-paste-error-and-actually-set-the-new-h.patch
0010-hwdb-Update-database-of-Bluetooth-company-identifier.patch
0010-logind-allow-suspending-if-there-are-no-displays.patch
0010-machine_kill-Don-t-kill-the-unit-when-killing-the-le.patch
0010-man-update-link-to-LSB.patch
0010-manager-use-correct-cleanup-function.patch
0010-mount-don-t-fire-PropertiesChanged-signals-for-mount.patch
0010-shutdown-do-final-unmounting-only-if-not-running-ins.patch
0010-util-treat-fuse.sshfs-as-a-network-filesystem.patch
0011-build-sys-add-pthread-flag-for-libsystemd-shared.patch
0011-logs-show-fix-corrupt-output-with-empty-messages.patch
0011-man-systemd-bootchart-fix-spacing-in-command.patch
0011-selinux-make-sure-we-do-not-try-to-print-missing-fie.patch
0011-units-fix-BindsTo-logic-when-applied-relative-to-ser.patch
0012-core-transaction-avoid-misleading-error-message-when.patch
0012-journalctl-refuse-extra-arguments-with-verify-and-si.patch
0012-journald-remove-stray-reset-of-error-return-value.patch
0012-man-add-missing-comma.patch
0012-manager-do-not-print-anything-while-passwords-are-be.patch
0012-util-try-to-be-a-bit-more-NFS-compatible-when-checki.patch
0013-core-libsystemd-systemd-timedate-udev-spelling-fixes.patch
0013-units-Do-not-unescape-instance-name-in-systemd-backl.patch
0014-nspawn-fix-detection-of-missing-proc-self-loginuid.patch
0018-Make-LSB-Skripts-know-about-Required-and-Should.patch
1008-add-msft-compability-rules.patch
1009-cdrom_id-use-the-old-MMC-fallback.patch
1010-udev-increase-result-size-for-programs.patch
1014-udev-update-net_id-comments.patch
1015-udev-persistent-naming-we-cannot-use-virtio-numbers-.patch
1016-udev-warn-when-name_to_handle_at-is-not-implemented.patch
1017-udev-serialize-synchronize-block-device-event-handli.patch
1018-udev-do-not-skip-the-execution-of-RUN-when-renaming-.patch
1019-udev-avoid-use-of-uninitialized-err.patch
1020-udev-keyboard-also-hook-into-change-events.patch
1022-udev-remove-seqnum-API-and-all-assumptions-about-seq.patch
1023-udev-builtin-keyboard-do-tell-on-which-device-EVIOCS.patch
1024-udev-always-close-lock-file-descriptor.patch
1025-udev-exclude-device-mapper-from-block-device-ownersh.patch
1026-udevd-inotify-modernizations.patch
1027-udev-synthesize-change-events-for-partitions-when-to.patch
1028-udev-link-config-fix-mem-leak.patch
1029-udev-try-first-re-reading-the-partition-table.patch
1030-udev-guard-REREADP-logic-with-open-O_ECXL.patch
1031-udev-make-sure-we-always-get-change-for-the-disk.patch
1032-udev-guard-REREADPT-by-exclusive-lock-instead-of-O_E.patch
1033-udev-really-exclude-device-mapper-from-block-device.patch
1034-udev-check-the-return-value-from-udev_enumerate_scan.patch
1038-udev-fix-invalid-free-in-enable_name_policy.patch
1039-udevadm-settle-fixed-return-code-for-empty-queue.patch
1041-libudev-fix-udev_queue_get_queue_is_empty-logic.patch
1042-libudev-queue-provide-file-descriptor-to-watch-busy-.patch
1043-libudev-queue-watch-entire-directory-to-allow-the-re.patch
1044-rules-update-qemu-hid-rules.patch
1045-rules-don-t-enable-usb-pm-for-Avocent-devices.patch
1047-udev-net_setup_link-builtin-should-print-the-reason-.patch
1048-udev-net_setup_link-add-a-bit-more-logging.patch
1049-udev-link_config-ignore-errors-due-to-missing-MAC-ad.patch
1052-rules-uaccess-add-ID_SOFTWARE_RADIO.patch
1054-udev-exclude-MD-from-block-device-ownership-event-lo.patch
1056-udevd-add-event-timeout-commandline-option.patch
1057-udev-unify-event-timeout-handling.patch
1058-udev-unify-event-timeout-handling.patch
1059-udev-fixup-commit-dd5eddd28a74a49607a8fffcaf960040db.patch
1061-rules-allow-systemd-to-manage-loop-device-partitions.patch
1063-udev-path_id-suppress-ID_PATH-for-devices-with-an-un.patch
1064-udev-hwdb-do-not-look-at-usb_device-parents.patch
1065-udev-bump-event-timeout-to-60-seconds.patch
1067-udev-always-resolve-correctly-database-names-on-chan.patch
1068-udev-net_setup_link-export-the-.link-filename-applie.patch
1069-rules-net-setup-link-preserve-ID_NET_LINK_FILE-and-I.patch
1070-rules-net-setup-link-remove-stray-linebreak.patch
1071-udev-import-the-full-db-on-MOVE-events-for-devices-w.patch
1072-udev-netif_rename-don-t-log-to-kmsg.patch
1073-udev-drop-print_kmsg.patch
1074-udev-fix-copy-paste-error-in-log-message.patch
1075-udev-timeout-increase-timeout.patch
1076-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch
1077-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch
1078-udev-remove-userspace-firmware-loading-support.patch
1079-udev-remove-userspace-firmware-loading-support.patch
1080-udevd-parse_argv-warn-if-argumens-are-invalid.patch
1081-udevd-check-return-of-various-functions.patch
1082-udevadm-hwdb-check-return-value-of-fseeko.patch
1083-udev-node-warn-if-chmod-chown-fails.patch
1084-udev-ctrl-log-if-setting-SO_PASSCRED-fails.patch
1085-udev-fix-typos.patch
1086-udevd-don-t-fail-if-run-udev-exists.patch
1087-infinit-timeout-for-kmod-loaded-modules.patch
1089-fix-cgroup-device-controller.patch
1090-udev-path_id-set-supported_parent-for-well-known-SCS.patch
1091-udev-path_id-update-comments.patch
1092-libudev-do-not-accept-invalid-log-levels.patch
1093-udev-Fix-parsing-of-udev.event-timeout-kernel-parame.patch
1094-udev-avoid-magic-constants-in-kernel-cmdline-parsers.patch
1098-udev-link_setup-respect-kernel-name-assign-policy.patch
513-nspawn-veth.patch
Revert-service-drop-support-for-SysV-scripts-for-the-early.patch
avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch
avoid-leaking-socket-descriptors.patch
boot.udev
disable-nss-myhostname-warning-bnc-783841.patch
fix-owner-of-var-log-btmp.patch
handle-SYSTEMCTL_OPTIONS-environment-variable.patch
handle-etc-HOSTNAME.patch
localfs.service
log-target-null-instead-kmsg.patch
module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch
optionally-warn-if-nss-myhostname-is-called.patch
prepare-suspend-to-disk.patch
remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch
service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch
shut-up-annoying-assertion-monotonic-clock-message.patch
systemd-210.tar.xz
systemd-journald.init
systemd-sleep-grub
timedate-add-support-for-openSUSE-version-of-etc-sysconfig.patch
tmpfiles-do-not-clean-for-mandb-index-files.patch
use-usr-sbin-sulogin-for-emergency-service.patch
New:
----
0001-core-rework-device-state-logic.patch
suse-sysv-bootd-support.diff
systemd-219.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ systemd-mini.spec ++++++
++++ 2296 lines (skipped)
++++ between /work/SRC/openSUSE:Factory/systemd/systemd-mini.spec
++++ and /work/SRC/openSUSE:Factory/.systemd.new/systemd-mini.spec
systemd.spec: same change
++++++ 0001-On_s390_con3270_disable_ANSI_colour_esc.patch ++++++
--- /var/tmp/diff_new_pack.VaiRfi/_old 2015-03-27 09:39:51.000000000 +0100
+++ /var/tmp/diff_new_pack.VaiRfi/_new 2015-03-27 09:39:51.000000000 +0100
@@ -1,25 +1,29 @@
---
rules/99-systemd.rules.in | 2
- src/core/manager.c | 24 ++++++++--
- src/shared/util.c | 101 ++++++++++++++++++++++++++++++++++++++++++++--
+ src/core/manager.c | 24 ++++++++---
+ src/shared/util.c | 99 ++++++++++++++++++++++++++++++++++++++++++++--
src/shared/util.h | 1
- 4 files changed, 118 insertions(+), 10 deletions(-)
+ 4 files changed, 116 insertions(+), 10 deletions(-)
---- systemd-208/rules/99-systemd.rules.in
-+++ systemd-208/rules/99-systemd.rules.in 2014-02-05 10:34:17.346235540 +0000
+Index: systemd/rules/99-systemd.rules.in
+===================================================================
+--- systemd.orig/rules/99-systemd.rules.in
++++ systemd/rules/99-systemd.rules.in
@@ -7,7 +7,7 @@
ACTION=="remove", GOTO="systemd_end"
--SUBSYSTEM=="tty", KERNEL=="tty[a-zA-Z]*|hvc*|xvc*|hvsi*|ttysclp*|sclp_line*", TAG+="systemd"
+-SUBSYSTEM=="tty", KERNEL=="tty[a-zA-Z]*|hvc*|xvc*|hvsi*|ttysclp*|sclp_line*|3270/tty[0-9]*", TAG+="systemd"
+SUBSYSTEM=="tty", KERNEL=="tty[a-zA-Z]*|hvc*|xvc*|hvsi*|ttysclp*|sclp_line*|3270/tty*", TAG+="systemd"
KERNEL=="vport*", TAG+="systemd"
---- systemd-210/src/core/manager.c
-+++ systemd-210/src/core/manager.c 2014-04-30 10:51:43.398735332 +0000
-@@ -110,7 +110,7 @@ static int manager_watch_jobs_in_progres
+Index: systemd/src/core/manager.c
+===================================================================
+--- systemd.orig/src/core/manager.c
++++ systemd/src/core/manager.c
+@@ -113,7 +113,7 @@ static int manager_watch_jobs_in_progres
#define CYLON_BUFFER_EXTRA (2*(sizeof(ANSI_RED_ON)-1) + sizeof(ANSI_HIGHLIGHT_RED_ON)-1 + 2*(sizeof(ANSI_HIGHLIGHT_OFF)-1))
@@ -28,7 +32,7 @@
char *p = buffer;
assert(buflen >= CYLON_BUFFER_EXTRA + width + 1);
-@@ -119,12 +119,14 @@ static void draw_cylon(char buffer[], si
+@@ -122,12 +122,14 @@ static void draw_cylon(char buffer[], si
if (pos > 1) {
if (pos > 2)
p = mempset(p, ' ', pos-2);
@@ -45,7 +49,7 @@
*p++ = '*';
}
-@@ -135,7 +137,8 @@ static void draw_cylon(char buffer[], si
+@@ -138,7 +140,8 @@ static void draw_cylon(char buffer[], si
*p++ = '*';
if (pos < width-1)
p = mempset(p, ' ', width-1-pos);
@@ -55,7 +59,7 @@
}
}
-@@ -150,6 +153,7 @@ void manager_flip_auto_status(Manager *m
+@@ -155,6 +158,7 @@ void manager_flip_auto_status(Manager *m
}
static void manager_print_jobs_in_progress(Manager *m) {
@@ -63,7 +67,7 @@
_cleanup_free_ char *job_of_n = NULL;
Iterator i;
Job *j;
-@@ -174,10 +178,20 @@ static void manager_print_jobs_in_progre
+@@ -180,10 +184,20 @@ static void manager_print_jobs_in_progre
assert(counter == print_nr + 1);
assert(j);
@@ -85,9 +89,11 @@
m->jobs_in_progress_iteration++;
---- systemd-210/src/shared/util.c
-+++ systemd-210/src/shared/util.c 2014-04-30 10:39:17.154736438 +0000
-@@ -2886,6 +2886,7 @@ int status_vprintf(const char *status, b
+Index: systemd/src/shared/util.c
+===================================================================
+--- systemd.orig/src/shared/util.c
++++ systemd/src/shared/util.c
+@@ -3212,6 +3212,7 @@ int status_vprintf(const char *status, b
struct iovec iovec[6] = {};
int n = 0;
static bool prev_ephemeral;
@@ -95,12 +101,12 @@
assert(format);
-@@ -2899,6 +2900,41 @@ int status_vprintf(const char *status, b
+@@ -3225,6 +3226,41 @@ int status_vprintf(const char *status, b
if (fd < 0)
return fd;
+ if (_unlikely_(is_ansi_console < 0))
-+ is_ansi_console = (int)ansi_console(fd);
++ is_ansi_console = ansi_console(fd);
+
+ if (status && !is_ansi_console) {
+ const char *esc, *ptr;
@@ -137,7 +143,7 @@
if (ellipse) {
char *e;
size_t emax, sl;
-@@ -2921,8 +2957,12 @@ int status_vprintf(const char *status, b
+@@ -3247,8 +3283,12 @@ int status_vprintf(const char *status, b
}
}
@@ -152,7 +158,7 @@
prev_ephemeral = ephemeral;
if (status) {
-@@ -3169,12 +3209,47 @@ void columns_lines_cache_reset(int signu
+@@ -3504,8 +3544,22 @@ void columns_lines_cache_reset(int signu
bool on_tty(void) {
static int cached_on_tty = -1;
@@ -176,6 +182,9 @@
return cached_on_tty;
}
+@@ -3523,6 +3577,27 @@ int files_same(const char *filea, const
+ a.st_ino == b.st_ino;
+ }
+bool ansi_console(int fd) {
+ static int cached_ansi_console = -1;
@@ -199,13 +208,13 @@
+}
+
int running_in_chroot(void) {
- struct stat a = {}, b = {};
+ int ret;
-@@ -3630,7 +3705,25 @@ bool tty_is_vc_resolve(const char *tty)
+@@ -4006,7 +4081,23 @@ bool tty_is_vc_resolve(const char *tty)
const char *default_term_for_tty(const char *tty) {
assert(tty);
-- return tty_is_vc_resolve(tty) ? "TERM=linux" : "TERM=vt102";
+- return tty_is_vc_resolve(tty) ? "TERM=linux" : "TERM=vt220";
+ if (tty_is_vc_resolve(tty))
+ return "TERM=linux";
+
@@ -221,16 +230,16 @@
+ if (streq(mode, "3270"))
+ return "TERM=ibm327x";
+ }
-+ if (streq(tty, "ttyS1"))
-+ return "TERM=vt220";
+#endif
-+ return "TERM=vt102";
++ return "TERM=vt220";
}
bool dirent_is_file(const struct dirent *de) {
---- systemd-210/src/shared/util.h
-+++ systemd-210/src/shared/util.h 2014-04-30 10:24:51.134235665 +0000
-@@ -418,6 +418,7 @@ unsigned lines(void);
+Index: systemd/src/shared/util.h
+===================================================================
+--- systemd.orig/src/shared/util.h
++++ systemd/src/shared/util.h
+@@ -475,6 +475,7 @@ unsigned lines(void);
void columns_lines_cache_reset(int _unused_ signum);
bool on_tty(void);
++++++ 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch ++++++
--- /var/tmp/diff_new_pack.VaiRfi/_old 2015-03-27 09:39:51.000000000 +0100
+++ /var/tmp/diff_new_pack.VaiRfi/_new 2015-03-27 09:39:51.000000000 +0100
@@ -1,11 +1,13 @@
---
- systemd-209/src/core/shutdown.c | 4 ++++
- systemd-209/src/systemctl/systemctl.c | 22 +++++++++++++++-------
- 2 files changed, 19 insertions(+), 7 deletions(-)
+ src/core/shutdown.c | 4 ++++
+ src/systemctl/systemctl.c | 18 ++++++++++++------
+ 2 files changed, 16 insertions(+), 6 deletions(-)
---- systemd-209/src/core/shutdown.c
-+++ systemd-209/src/core/shutdown.c 2014-02-28 11:17:22.000000000 +0000
-@@ -449,6 +449,10 @@ int main(int argc, char *argv[]) {
+Index: systemd-218/src/core/shutdown.c
+===================================================================
+--- systemd-218.orig/src/core/shutdown.c
++++ systemd-218/src/core/shutdown.c
+@@ -400,6 +400,10 @@ int main(int argc, char *argv[]) {
}
reboot(cmd);
@@ -16,9 +18,11 @@
if (errno == EPERM && in_container) {
/* If we are in a container, and we lacked
* CAP_SYS_BOOT just exit, this will kill our
---- systemd-209/src/systemctl/systemctl.c
-+++ systemd-209/src/systemctl/systemctl.c 2014-02-28 11:19:35.000000000 +0000
-@@ -93,6 +93,7 @@ static bool arg_no_pager = false;
+Index: systemd-218/src/systemctl/systemctl.c
+===================================================================
+--- systemd-218.orig/src/systemctl/systemctl.c
++++ systemd-218/src/systemctl/systemctl.c
+@@ -94,6 +94,7 @@ static bool arg_no_pager = false;
static bool arg_no_wtmp = false;
static bool arg_no_wall = false;
static bool arg_no_reload = false;
@@ -26,7 +30,7 @@
static bool arg_show_types = false;
static bool arg_ignore_inhibitors = false;
static bool arg_dry = false;
-@@ -5578,6 +5579,7 @@ static int halt_parse_argv(int argc, cha
+@@ -6813,6 +6814,7 @@ static int halt_parse_argv(int argc, cha
{ "reboot", no_argument, NULL, ARG_REBOOT },
{ "force", no_argument, NULL, 'f' },
{ "wtmp-only", no_argument, NULL, 'w' },
@@ -34,7 +38,7 @@
{ "no-wtmp", no_argument, NULL, 'd' },
{ "no-wall", no_argument, NULL, ARG_NO_WALL },
{}
-@@ -5629,10 +5631,13 @@ static int halt_parse_argv(int argc, cha
+@@ -6865,10 +6867,13 @@ static int halt_parse_argv(int argc, cha
case 'i':
case 'h':
@@ -49,17 +53,17 @@
case '?':
return -EINVAL;
-@@ -6274,20 +6279,23 @@ done:
-
- static int halt_now(enum action a) {
-
--/* Make sure C-A-D is handled by the kernel from this
+@@ -7511,7 +7516,8 @@ static int halt_now(enum action a) {
+ /* The kernel will automaticall flush ATA disks and suchlike
+ * on reboot(), but the file systems need to be synce'd
+ * explicitly in advance. */
+- sync();
+ if (!arg_no_sync)
+ sync();
-+
-+ /* Make sure C-A-D is handled by the kernel from this
- * point on... */
- reboot(RB_ENABLE_CAD);
+
+ /* Make sure C-A-D is handled by the kernel from this point
+ * on... */
+@@ -7519,14 +7525,14 @@ static int halt_now(enum action a) {
switch (a) {
@@ -67,12 +71,11 @@
- log_info("Halting.");
- reboot(RB_HALT_SYSTEM);
- return -errno;
--
+
case ACTION_POWEROFF:
log_info("Powering off.");
reboot(RB_POWER_OFF);
-+ /* Fall through */
-+
++ /* fall-through */
+ case ACTION_HALT:
+ log_info("Halting.");
+ reboot(RB_HALT_SYSTEM);
++++++ 0001-add-network-device-after-NFS-mount-units.patch ++++++
--- /var/tmp/diff_new_pack.VaiRfi/_old 2015-03-27 09:39:51.000000000 +0100
+++ /var/tmp/diff_new_pack.VaiRfi/_new 2015-03-27 09:39:51.000000000 +0100
@@ -11,19 +11,23 @@
src/shared/util.c | 1
5 files changed, 234 insertions(+), 2 deletions(-)
---- systemd-210/Makefile.am
-+++ systemd-210/Makefile.am 2014-02-26 12:44:20.000000000 +0000
-@@ -994,6 +994,8 @@ libsystemd_core_la_SOURCES = \
+Index: systemd-218/Makefile.am
+===================================================================
+--- systemd-218.orig/Makefile.am
++++ systemd-218/Makefile.am
+@@ -1134,6 +1134,8 @@ libsystemd_core_la_SOURCES = \
src/core/machine-id-setup.h \
src/core/mount-setup.c \
src/core/mount-setup.h \
+ src/core/mount-iface.c \
+ src/core/mount-iface.h \
+ src/core/kmod-setup.c \
+ src/core/kmod-setup.h \
src/core/loopback-setup.h \
- src/core/loopback-setup.c \
- src/core/condition.c \
---- systemd-210/src/core/mount-iface.c
-+++ systemd-210/src/core/mount-iface.c 2014-02-26 10:18:36.000000000 +0000
+Index: systemd-218/src/core/mount-iface.c
+===================================================================
+--- /dev/null
++++ systemd-218/src/core/mount-iface.c
@@ -0,0 +1,173 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
@@ -166,7 +170,7 @@
+ continue;
+
+ ret = ifa->ifa_name;
-+ break;
++ break;
+ } else if (ifa->ifa_addr->sa_family == AF_INET6) {
+ struct in6_addr *addr, *mask, dest, ip6;
+ unsigned int prefix;
@@ -198,8 +202,10 @@
+ freeifaddrs(ifa_list);
+ ifa_list = NULL;
+}
---- systemd-210/src/core/mount-iface.h
-+++ systemd-210/src/core/mount-iface.h 2014-02-26 10:08:20.000000000 +0000
+Index: systemd-218/src/core/mount-iface.h
+===================================================================
+--- /dev/null
++++ systemd-218/src/core/mount-iface.h
@@ -0,0 +1,25 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
@@ -226,9 +232,11 @@
+
+char *host2iface(const char *ip);
+void freeroutes(void);
---- systemd-210/src/core/mount.c
-+++ systemd-210/src/core/mount.c 2014-03-03 12:13:23.406246117 +0000
-@@ -36,6 +36,7 @@
+Index: systemd-218/src/core/mount.c
+===================================================================
+--- systemd-218.orig/src/core/mount.c
++++ systemd-218/src/core/mount.c
+@@ -38,6 +38,7 @@
#include "mkdir.h"
#include "path-util.h"
#include "mount-setup.h"
@@ -236,7 +244,7 @@
#include "unit-name.h"
#include "dbus-mount.h"
#include "special.h"
-@@ -1388,8 +1389,9 @@ static int mount_add_one(
+@@ -1365,8 +1366,9 @@ static int mount_add_one(
_cleanup_free_ char *e = NULL, *w = NULL, *o = NULL, *f = NULL;
bool load_extras = false;
MountParameters *p;
@@ -247,7 +255,7 @@
int r;
assert(m);
-@@ -1414,6 +1416,8 @@ static int mount_add_one(
+@@ -1391,6 +1393,8 @@ static int mount_add_one(
if (!e)
return -ENOMEM;
@@ -256,16 +264,16 @@
u = manager_get_unit(m, e);
if (!u) {
delete = true;
-@@ -1442,7 +1446,7 @@ static int mount_add_one(
+@@ -1419,7 +1423,7 @@ static int mount_add_one(
if (m->running_as == SYSTEMD_SYSTEM) {
const char* target;
-- target = fstype_is_network(fstype) ? SPECIAL_REMOTE_FS_TARGET : SPECIAL_LOCAL_FS_TARGET;
+- target = mount_needs_network(options, fstype) ? SPECIAL_REMOTE_FS_TARGET : SPECIAL_LOCAL_FS_TARGET;
+ target = isnetwork ? SPECIAL_REMOTE_FS_TARGET : SPECIAL_LOCAL_FS_TARGET;
-
r = unit_add_dependency_by_name(u, UNIT_BEFORE, target, NULL, true);
if (r < 0)
-@@ -1519,6 +1523,32 @@ static int mount_add_one(
+ goto fail;
+@@ -1505,6 +1509,32 @@ static int mount_add_one(
goto fail;
}
@@ -288,7 +296,7 @@
+ else {
+ r = unit_add_dependency_by_name(u, UNIT_AFTER, target, NULL, true);
+ if (r < 0)
-+ log_error_unit(u->id, "Failed to add dependency on %s, ignoring: %s",
++ log_unit_error(u->id, "Failed to add dependency on %s, ignoring: %s",
+ target, strerror(-r));
+ }
+ }
@@ -298,21 +306,23 @@
if (changed)
unit_add_to_dbus_queue(u);
-@@ -1583,6 +1613,7 @@ static int mount_load_proc_self_mountinf
- if (k < 0)
+@@ -1560,6 +1590,7 @@ static int mount_load_proc_self_mountinf
+ if (r == 0 && k < 0)
r = k;
}
+ freeroutes(); /* Just in case of using the routing table with host2iface() */
return r;
}
---- systemd-210/src/shared/util.c
-+++ systemd-210/src/shared/util.c 2014-02-24 15:17:42.000000000 +0000
-@@ -1502,6 +1502,7 @@ bool fstype_is_network(const char *fstyp
+Index: systemd-218/src/shared/util.c
+===================================================================
+--- systemd-218.orig/src/shared/util.c
++++ systemd-218/src/shared/util.c
+@@ -1667,6 +1667,7 @@ bool fstype_is_network(const char *fstyp
"ncp\0"
"nfs\0"
"nfs4\0"
+ "afs\0"
"gfs\0"
- "gfs2\0";
-
+ "gfs2\0"
+ "glusterfs\0";
++++++ 0001-bnc888612-logind-polkit-acpi.patch ++++++
--- /var/tmp/diff_new_pack.VaiRfi/_old 2015-03-27 09:39:51.000000000 +0100
+++ /var/tmp/diff_new_pack.VaiRfi/_new 2015-03-27 09:39:51.000000000 +0100
@@ -3,11 +3,11 @@
src/login/logind-dbus.c | 20 ++++++++++++++++----
2 files changed, 21 insertions(+), 4 deletions(-)
-Index: systemd-210/src/login/logind-action.c
+Index: systemd-218/src/login/logind-action.c
===================================================================
---- systemd-210.orig/src/login/logind-action.c
-+++ systemd-210/src/login/logind-action.c
-@@ -101,6 +101,11 @@ int manager_handle_action(
+--- systemd-218.orig/src/login/logind-action.c
++++ systemd-218/src/login/logind-action.c
+@@ -83,6 +83,11 @@ int manager_handle_action(
/* If the key handling is inhibited, don't do anything */
if (inhibit_key > 0) {
@@ -19,11 +19,11 @@
if (manager_is_inhibited(m, inhibit_key, INHIBIT_BLOCK, NULL, true, false, 0, NULL)) {
log_debug("Refusing operation, %s is inhibited.", inhibit_what_to_string(inhibit_key));
return 0;
-Index: systemd-210/src/login/logind-dbus.c
+Index: systemd-218/src/login/logind-dbus.c
===================================================================
---- systemd-210.orig/src/login/logind-dbus.c
-+++ systemd-210/src/login/logind-dbus.c
-@@ -1469,9 +1469,11 @@ static int method_do_shutdown_or_sleep(
+--- systemd-218.orig/src/login/logind-dbus.c
++++ systemd-218/src/login/logind-dbus.c
+@@ -1487,9 +1487,11 @@ static int method_do_shutdown_or_sleep(
sd_bus_error *error) {
_cleanup_bus_creds_unref_ sd_bus_creds *creds = NULL;
@@ -36,7 +36,7 @@
assert(m);
assert(message);
-@@ -1515,7 +1517,17 @@ static int method_do_shutdown_or_sleep(
+@@ -1533,7 +1535,17 @@ static int method_do_shutdown_or_sleep(
multiple_sessions = r > 0;
blocked = manager_is_inhibited(m, w, INHIBIT_BLOCK, NULL, false, true, uid, NULL);
@@ -52,24 +52,24 @@
+
+
+ if (multiple_sessions && !shutdown_through_acpi) {
- r = bus_verify_polkit_async(m->bus, &m->polkit_registry, message,
- action_multiple_sessions, interactive, error, method, m);
+ r = bus_verify_polkit_async(message, CAP_SYS_BOOT, action_multiple_sessions, interactive, &m->polkit_registry, error);
if (r < 0)
-@@ -1524,7 +1536,7 @@ static int method_do_shutdown_or_sleep(
+ return r;
+@@ -1541,7 +1553,7 @@ static int method_do_shutdown_or_sleep(
return 1; /* No authorization for now, but the async polkit stuff will call us again when it has it */
}
- if (blocked) {
+ if (blocked && !shutdown_through_acpi) {
- r = bus_verify_polkit_async(m->bus, &m->polkit_registry, message,
- action_ignore_inhibit, interactive, error, method, m);
+ r = bus_verify_polkit_async(message, CAP_SYS_BOOT, action_ignore_inhibit, interactive, &m->polkit_registry, error);
if (r < 0)
-@@ -1533,7 +1545,7 @@ static int method_do_shutdown_or_sleep(
+ return r;
+@@ -1549,7 +1561,7 @@ static int method_do_shutdown_or_sleep(
return 1; /* No authorization for now, but the async polkit stuff will call us again when it has it */
}
- if (!multiple_sessions && !blocked) {
+ if (!multiple_sessions && !blocked && !shutdown_through_acpi) {
- r = bus_verify_polkit_async(m->bus, &m->polkit_registry, message,
- action, interactive, error, method, m);
+ r = bus_verify_polkit_async(message, CAP_SYS_BOOT, action, interactive, &m->polkit_registry, error);
if (r < 0)
+ return r;
++++++ 0001-core-rework-device-state-logic.patch ++++++
++++ 917 lines (skipped)
++++++ 0001-let-systemctl-completion-ignore-at-names.patch ++++++
--- /var/tmp/diff_new_pack.VaiRfi/_old 2015-03-27 09:39:51.000000000 +0100
+++ /var/tmp/diff_new_pack.VaiRfi/_new 2015-03-27 09:39:51.000000000 +0100
@@ -1,5 +1,5 @@
---- systemd-210/shell-completion/bash/systemctl
-+++ systemd-210/shell-completion/bash/systemctl 2014-08-20 15:01:04.502736981 +0000
+--- systemd-210/shell-completion/bash/systemctl.in
++++ systemd-210/shell-completion/bash/systemctl.in 2014-08-20 15:01:04.502736981 +0000
@@ -43,7 +43,7 @@ __filter_units_by_property () {
local units=("$@")
local props
++++++ 0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch ++++++
--- /var/tmp/diff_new_pack.VaiRfi/_old 2015-03-27 09:39:51.000000000 +0100
+++ /var/tmp/diff_new_pack.VaiRfi/_new 2015-03-27 09:39:51.000000000 +0100
@@ -8,11 +8,11 @@
This belongs to BNC#852015 and also to BNC#855160
---
- pam-module.c | 19 +++++++++++++++++++
+ pam_systemd.c | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
---- systemd-209/src/login/pam-module.c
-+++ systemd-209/src/login/pam-module.c 2014-02-26 14:31:30.158235525 +0000
+--- systemd-209/src/login/pam_systemd.c
++++ systemd-209/src/login/pam_systemd.c 2014-02-26 14:31:30.158235525 +0000
@@ -447,6 +447,25 @@ _public_ PAM_EXTERN int pam_sm_open_sess
r = export_legacy_dbus_address(handle, pw->pw_uid, runtime_path);
if (r != PAM_SUCCESS)
++++++ 0014-journald-with-journaling-FS.patch ++++++
--- /var/tmp/diff_new_pack.VaiRfi/_old 2015-03-27 09:39:51.000000000 +0100
+++ /var/tmp/diff_new_pack.VaiRfi/_new 2015-03-27 09:39:51.000000000 +0100
@@ -1,5 +1,22 @@
---- systemd-208/src/journal/journald-server.c
-+++ systemd-208/src/journal/journald-server.c 2013-12-10 16:31:50.770235717 +0000
+From: werner@suse.de
+Upstream: marked as openSUSE-specific fix originally, but may well
+ worth be to be sent upstream.
+
+Original description:
+ (none)
+
+Augmented description [jengelh@inai.de]:
+Disable COW on journal files, as that is naturally leading to a lot
+of unwanted fragmentation on btrfs.
+No word on compression…
+---
+ src/journal/journald-server.c | 34 ++++++++++++++++++++++++++++++++++
+ 1 file changed, 34 insertions(+)
+
+Index: systemd/src/journal/journald-server.c
+===================================================================
+--- systemd.orig/src/journal/journald-server.c
++++ systemd/src/journal/journald-server.c
@@ -21,6 +21,7 @@
#include
@@ -8,45 +25,50 @@
#include
#include
#include
-@@ -878,7 +879,7 @@ finish:
+@@ -917,6 +918,38 @@ finish:
+ dispatch_message_real(s, iovec, n, m, ucred, tv, label, label_len, unit_id, priority, object_pid);
+ }
-
- static int system_journal_open(Server *s) {
-- int r;
-+ int r, fd;
- char *fn;
- sd_id128_t machine;
- char ids[33];
-@@ -905,7 +906,31 @@ static int system_journal_open(Server *s
- (void) mkdir("/var/log/journal/", 0755);
-
- fn = strappenda("/var/log/journal/", ids);
-- (void) mkdir(fn, 0755);
-+ (void)mkdir(fn, 0755);
++/*
++ * On journaling and/or compressing file systems, avoid doubling the efforts
++ * for the system, that is, set NOCOW and NOCOMP inode flags. Check for every
++ * single flag, as otherwise, some of the file systems may return EOPNOTSUPP on
++ * a single unkown flag (like BtrFS does).
++ *
++ * …but src/journal/journal-file.c already sets NOCOW too…⸘
++ */
++static void disable_cow(const char *dir, const Server *serv)
++{
++ unsigned long flags;
++ int fd = open(dir, O_DIRECTORY);
+
-+ /*
-+ * On journaling and/or compressing file systems avoid doubling the
-+ * efforts for the system, that is set NOCOW and NOCOMP inode flags.
-+ * Check for every single flag as otherwise some of the file systems
-+ * may return EOPNOTSUPP on one unkown flag (like BtrFS does).
-+ */
-+ if ((fd = open(fn, O_DIRECTORY)) >= 0) {
-+ long flags;
-+ if (ioctl(fd, FS_IOC_GETFLAGS, &flags) == 0) {
-+ int old = flags;
-+ if (!(flags&FS_NOATIME_FL) && ioctl(fd, FS_IOC_SETFLAGS, flags|FS_NOATIME_FL) == 0)
-+ flags |= FS_NOATIME_FL;
-+ if (!(flags&FS_NOCOW_FL) && ioctl(fd, FS_IOC_SETFLAGS, flags|FS_NOCOW_FL) == 0)
-+ flags |= FS_NOCOW_FL;
-+ if (!(flags&FS_NOCOMP_FL) && s->compress) {
-+ flags &= ~FS_COMPR_FL;
-+ flags |= FS_NOCOMP_FL;
-+ }
-+ if (old != flags)
-+ ioctl(fd, FS_IOC_SETFLAGS, flags);
-+ }
-+ close(fd);
++ if (fd < 0)
++ return;
++ if (ioctl(fd, FS_IOC_GETFLAGS, &flags) == 0) {
++ unsigned long old = flags;
++ if (!(flags & FS_NOATIME_FL) &&
++ ioctl(fd, FS_IOC_SETFLAGS, flags | FS_NOATIME_FL) == 0)
++ flags |= FS_NOATIME_FL;
++ if (!(flags & FS_NOCOW_FL) &&
++ ioctl(fd, FS_IOC_SETFLAGS, flags | FS_NOCOW_FL) == 0)
++ flags |= FS_NOCOW_FL;
++ if (!(flags & FS_NOCOMP_FL) && serv->compress) {
++ flags &= ~FS_COMPR_FL;
++ flags |= FS_NOCOMP_FL;
+ }
++ if (old != flags)
++ ioctl(fd, FS_IOC_SETFLAGS, flags);
++ }
++ close(fd);
++}
+
+ static int system_journal_open(Server *s, bool flush_requested) {
+ int r;
+@@ -946,6 +979,7 @@ static int system_journal_open(Server *s
+
+ fn = strjoina("/var/log/journal/", ids);
+ (void) mkdir(fn, 0755);
++ disable_cow(fn, s);
- fn = strappenda(fn, "/system.journal");
+ fn = strjoina(fn, "/system.journal");
r = journal_file_open_reliably(fn, O_RDWR|O_CREAT, 0640, s->compress, s->seal, &s->system_metrics, s->mmap, NULL, &s->system_journal);
++++++ 0019-make-completion-smart-to-be-able-to-redirect.patch ++++++
--- /var/tmp/diff_new_pack.VaiRfi/_old 2015-03-27 09:39:51.000000000 +0100
+++ /var/tmp/diff_new_pack.VaiRfi/_new 2015-03-27 09:39:51.000000000 +0100
@@ -1,8 +1,45 @@
---- systemd-208/shell-completion/bash/hostnamectl
-+++ systemd-208/shell-completion/bash/hostnamectl 2014-01-17 14:27:16.183272019 +0000
+---
+ shell-completion/bash/coredumpctl | 6 +++++-
+ shell-completion/bash/hostnamectl | 6 +++++-
+ shell-completion/bash/journalctl | 6 +++++-
+ shell-completion/bash/kernel-install | 13 ++++++++++++-
+ shell-completion/bash/localectl | 6 +++++-
+ shell-completion/bash/loginctl | 6 +++++-
+ shell-completion/bash/systemctl.in | 6 +++++-
+ shell-completion/bash/systemd-analyze | 6 +++++-
+ shell-completion/bash/systemd-run | 14 +++++++++++++-
+ shell-completion/bash/timedatectl | 6 +++++-
+ shell-completion/bash/udevadm | 6 +++++-
+ 11 files changed, 70 insertions(+), 11 deletions(-)
+
+Index: systemd/shell-completion/bash/coredumpctl
+===================================================================
+--- systemd.orig/shell-completion/bash/coredumpctl
++++ systemd/shell-completion/bash/coredumpctl
+@@ -44,6 +44,10 @@ _coredumpctl() {
+ [DUMP]='dump gdb'
+ )
+
++ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then
++ return 0
++ fi
++
+ if __contains_word "$prev" '--output -o'; then
+ comps=$( compgen -A file -- "$cur" )
+ compopt -o filenames
+@@ -82,4 +86,4 @@ _coredumpctl() {
+ return 0
+ }
+
+-complete -F _coredumpctl coredumpctl
++complete -o default -o bashdefault -F _coredumpctl coredumpctl
+Index: systemd/shell-completion/bash/hostnamectl
+===================================================================
+--- systemd.orig/shell-completion/bash/hostnamectl
++++ systemd/shell-completion/bash/hostnamectl
@@ -30,6 +30,10 @@ _hostnamectl() {
local OPTS='-h --help --version --transient --static --pretty
- --no-ask-password -H --host'
+ --no-ask-password -H --host --machine'
+ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then
+ return 0
@@ -11,16 +48,18 @@
if [[ $cur = -* ]]; then
COMPREPLY=( $(compgen -W '${OPTS[*]}' -- "$cur") )
return 0
-@@ -58,4 +62,4 @@ _hostnamectl() {
+@@ -61,4 +65,4 @@ _hostnamectl() {
return 0
}
-complete -F _hostnamectl hostnamectl
+complete -o default -o bashdefault -F _hostnamectl hostnamectl
---- systemd-208/shell-completion/bash/journalctl
-+++ systemd-208/shell-completion/bash/journalctl 2014-01-17 14:34:30.338737694 +0000
-@@ -49,6 +49,10 @@ _journalctl() {
- --verify-key'
+Index: systemd/shell-completion/bash/journalctl
+===================================================================
+--- systemd.orig/shell-completion/bash/journalctl
++++ systemd/shell-completion/bash/journalctl
+@@ -55,6 +55,10 @@ _journalctl() {
+ --root --machine'
)
+ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then
@@ -30,14 +69,16 @@
if __contains_word "$prev" ${OPTS[ARG]} ${OPTS[ARGUNKNOWN]}; then
case $prev in
--boot|--this-boot|-b)
-@@ -107,4 +111,4 @@ _journalctl() {
+@@ -120,4 +124,4 @@ _journalctl() {
fi
}
-complete -F _journalctl journalctl
+complete -o default -o bashdefault -F _journalctl journalctl
---- systemd-208/shell-completion/bash/kernel-install
-+++ systemd-208/shell-completion/bash/kernel-install 2014-01-17 14:34:41.982255874 +0000
+Index: systemd/shell-completion/bash/kernel-install
+===================================================================
+--- systemd.orig/shell-completion/bash/kernel-install
++++ systemd/shell-completion/bash/kernel-install
@@ -18,11 +18,22 @@
# You should have received a copy of the GNU Lesser General Public License
# along with systemd; If not, see http://www.gnu.org/licenses/.
@@ -67,11 +108,13 @@
-complete -F _kernel_install kernel-install
+complete -o default -o bashdefault -F _kernel_install kernel-install
---- systemd-208/shell-completion/bash/localectl
-+++ systemd-208/shell-completion/bash/localectl 2014-01-17 14:34:52.546235747 +0000
-@@ -30,6 +30,10 @@ _localectl() {
+Index: systemd/shell-completion/bash/localectl
+===================================================================
+--- systemd.orig/shell-completion/bash/localectl
++++ systemd/shell-completion/bash/localectl
+@@ -36,6 +36,10 @@ _localectl() {
local OPTS='-h --help --version --no-convert --no-pager --no-ask-password
- -H --host'
+ -H --host --machine'
+ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then
+ return 0
@@ -80,17 +123,19 @@
if __contains_word "$prev" $OPTS; then
case $prev in
--host|-H)
-@@ -73,4 +77,4 @@ _localectl() {
+@@ -89,4 +93,4 @@ _localectl() {
return 0
}
-complete -F _localectl localectl
+complete -o default -o bashdefault -F _localectl localectl
---- systemd-208/shell-completion/bash/loginctl
-+++ systemd-208/shell-completion/bash/loginctl 2014-01-17 14:35:03.386245699 +0000
-@@ -37,6 +37,10 @@ _loginctl () {
- [ARG]='--host -H --kill-who --property -p --signal -s'
- )
+Index: systemd/shell-completion/bash/loginctl
+===================================================================
+--- systemd.orig/shell-completion/bash/loginctl
++++ systemd/shell-completion/bash/loginctl
+@@ -38,6 +38,10 @@ _loginctl () {
+ [ARG]='--host -H --kill-who --property -p --signal -s --machine'
+ )
+ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then
+ return 0
@@ -99,15 +144,17 @@
if __contains_word "$prev" ${OPTS[ARG]}; then
case $prev in
--signal|-s)
-@@ -106,4 +110,4 @@ _loginctl () {
+@@ -107,4 +111,4 @@ _loginctl () {
return 0
}
-complete -F _loginctl loginctl
+complete -o default -o bashdefault -F _loginctl loginctl
---- systemd-208/shell-completion/bash/systemctl
-+++ systemd-208/shell-completion/bash/systemctl 2014-01-17 14:35:26.506235666 +0000
-@@ -77,6 +77,10 @@ _systemctl () {
+Index: systemd/shell-completion/bash/systemctl.in
+===================================================================
+--- systemd.orig/shell-completion/bash/systemctl.in
++++ systemd/shell-completion/bash/systemctl.in
+@@ -96,6 +96,10 @@ _systemctl () {
[ARG]='--host -H --kill-who --property -p --signal -s --type -t --state --root'
)
@@ -118,16 +165,18 @@
if __contains_word "--user" ${COMP_WORDS[*]}; then
mode=--user
else
-@@ -226,4 +230,4 @@ _systemctl () {
+@@ -264,4 +268,4 @@ _systemctl () {
return 0
}
-complete -F _systemctl systemctl
+complete -o default -o bashdefault -F _systemctl systemctl
---- systemd-208/shell-completion/bash/systemd-analyze
-+++ systemd-208/shell-completion/bash/systemd-analyze 2014-01-17 14:35:38.366736021 +0000
-@@ -37,6 +37,10 @@ _systemd_analyze() {
- [LOG_LEVEL]='set-log-level'
+Index: systemd/shell-completion/bash/systemd-analyze
+===================================================================
+--- systemd.orig/shell-completion/bash/systemd-analyze
++++ systemd/shell-completion/bash/systemd-analyze
+@@ -47,6 +47,10 @@ _systemd_analyze() {
+ [VERIFY]='verify'
)
+ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then
@@ -137,33 +186,16 @@
_init_completion || return
for ((i=0; i < COMP_CWORD; i++)); do
-@@ -83,4 +87,4 @@ _systemd_analyze() {
+@@ -114,4 +118,4 @@ _systemd_analyze() {
return 0
}
-complete -F _systemd_analyze systemd-analyze
+complete -o default -o bashdefault -F _systemd_analyze systemd-analyze
---- systemd-208/shell-completion/bash/systemd-coredumpctl
-+++ systemd-208/shell-completion/bash/systemd-coredumpctl 2014-01-17 14:35:46.434235632 +0000
-@@ -44,6 +44,10 @@ _coredumpctl() {
- [DUMP]='dump gdb'
- )
-
-+ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then
-+ return 0
-+ fi
-+
- if __contains_word "$prev" '--output -o'; then
- comps=$( compgen -A file -- "$cur" )
- compopt -o filenames
-@@ -82,4 +86,4 @@ _coredumpctl() {
- return 0
- }
-
--complete -F _coredumpctl systemd-coredumpctl
-+complete -o default -o bashdefault -F _coredumpctl systemd-coredumpctl
---- systemd-208/shell-completion/bash/systemd-run
-+++ systemd-208/shell-completion/bash/systemd-run 2014-01-17 14:35:55.938236298 +0000
+Index: systemd/shell-completion/bash/systemd-run
+===================================================================
+--- systemd.orig/shell-completion/bash/systemd-run
++++ systemd/shell-completion/bash/systemd-run
@@ -17,6 +17,13 @@
# You should have received a copy of the GNU Lesser General Public License
# along with systemd; If not, see http://www.gnu.org/licenses/.
@@ -178,7 +210,7 @@
__systemctl() {
local mode=$1; shift 1
systemctl $mode --full --no-legend "$@"
-@@ -31,6 +38,11 @@ _systemd_run() {
+@@ -38,6 +45,11 @@ _systemd_run() {
local mode=--system
local i
@@ -190,17 +222,19 @@
for (( i=1; i <= COMP_CWORD; i++ )); do
if [[ ${COMP_WORDS[i]} != -* ]]; then
local root_command=${COMP_WORDS[i]}
-@@ -60,4 +72,4 @@ _systemd_run() {
+@@ -98,4 +110,4 @@ _systemd_run() {
return 0
}
-complete -F _systemd_run systemd-run
+complete -o default -o bashdefault -F _systemd_run systemd-run
---- systemd-208/shell-completion/bash/timedatectl
-+++ systemd-208/shell-completion/bash/timedatectl 2014-01-17 14:36:06.182735466 +0000
+Index: systemd/shell-completion/bash/timedatectl
+===================================================================
+--- systemd.orig/shell-completion/bash/timedatectl
++++ systemd/shell-completion/bash/timedatectl
@@ -30,6 +30,10 @@ _timedatectl() {
local OPTS='-h --help --version --adjust-system-clock --no-pager
- --no-ask-password -H --host'
+ --no-ask-password -H --host --machine'
+ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then
+ return 0
@@ -215,8 +249,10 @@
-complete -F _timedatectl timedatectl
+complete -o default -o bashdefault -F _timedatectl timedatectl
---- systemd-208/shell-completion/bash/udevadm
-+++ systemd-208/shell-completion/bash/udevadm 2014-01-17 14:36:16.406236120 +0000
+Index: systemd/shell-completion/bash/udevadm
+===================================================================
+--- systemd.orig/shell-completion/bash/udevadm
++++ systemd/shell-completion/bash/udevadm
@@ -36,6 +36,10 @@ _udevadm() {
local verbs=(info trigger settle control monitor hwdb test-builtin test)
++++++ 1001-re-enable-by_path-links-for-ata-devices.patch ++++++
--- /var/tmp/diff_new_pack.VaiRfi/_old 2015-03-27 09:39:51.000000000 +0100
+++ /var/tmp/diff_new_pack.VaiRfi/_new 2015-03-27 09:39:51.000000000 +0100
@@ -22,14 +22,14 @@
Signed-off-by: Robert Milasan
Signed-off-by: Hannes Reinecke
---
- src/udev/udev-builtin-path_id.c | 53 +++++++++++++++++++++++++++++++----------
+ src/udev/udev-builtin-path_id.c | 53 ++++++++++++++++++++++++++++++----------
1 file changed, 41 insertions(+), 12 deletions(-)
-diff --git a/src/udev/udev-builtin-path_id.c b/src/udev/udev-builtin-path_id.c
-index 0599980..fbd3fda 100644
---- a/src/udev/udev-builtin-path_id.c
-+++ b/src/udev/udev-builtin-path_id.c
-@@ -339,6 +339,46 @@ static struct udev_device *handle_scsi_hyperv(struct udev_device *parent, char *
+Index: systemd-218/src/udev/udev-builtin-path_id.c
+===================================================================
+--- systemd-218.orig/src/udev/udev-builtin-path_id.c
++++ systemd-218/src/udev/udev-builtin-path_id.c
+@@ -426,6 +426,46 @@ static struct udev_device *handle_scsi_h
return parent;
}
@@ -73,10 +73,10 @@
+ return hostdev;
+}
+
- static struct udev_device *handle_scsi(struct udev_device *parent, char **path)
- {
+ static struct udev_device *handle_scsi(struct udev_device *parent, char **path, bool *supported_parent) {
const char *devtype;
-@@ -375,19 +415,8 @@ static struct udev_device *handle_scsi(struct udev_device *parent, char **path)
+ const char *name;
+@@ -465,19 +505,8 @@ static struct udev_device *handle_scsi(s
goto out;
}
@@ -97,6 +97,3 @@
goto out;
}
---
-1.8.1.4
-
++++++ 1003-udev-netlink-null-rules.patch ++++++
--- /var/tmp/diff_new_pack.VaiRfi/_old 2015-03-27 09:39:51.000000000 +0100
+++ /var/tmp/diff_new_pack.VaiRfi/_new 2015-03-27 09:39:51.000000000 +0100
@@ -4,17 +4,19 @@
udevd race for netlink events (bnc#774646)
---
- src/udev/udevd.c | 2 ++
+ src/udev/udevd.c | 2 ++
1 file changed, 2 insertions(+)
---- systemd-206.orig/src/udev/udevd.c
-+++ systemd-206/src/udev/udevd.c
-@@ -1337,6 +1337,8 @@ int main(int argc, char *argv[])
+Index: systemd-218/src/udev/udevd.c
+===================================================================
+--- systemd-218.orig/src/udev/udevd.c
++++ systemd-218/src/udev/udevd.c
+@@ -1468,6 +1468,8 @@ int main(int argc, char *argv[]) {
dev = udev_monitor_receive_device(monitor);
if (dev != NULL) {
udev_device_set_usec_initialized(dev, now(CLOCK_MONOTONIC));
+ if (rules == NULL)
-+ rules = udev_rules_new(udev, resolve_names);
++ rules = udev_rules_new(udev, arg_resolve_names);
if (event_queue_insert(dev) < 0)
udev_device_unref(dev);
}
++++++ 1005-create-default-links-for-primary-cd_dvd-drive.patch ++++++
--- /var/tmp/diff_new_pack.VaiRfi/_old 2015-03-27 09:39:51.000000000 +0100
+++ /var/tmp/diff_new_pack.VaiRfi/_new 2015-03-27 09:39:51.000000000 +0100
@@ -4,14 +4,16 @@
cdrom_id: created links for the default cd/dvd drive (bnc#783054).
---
- rules/60-cdrom_id.rules | 5 ++++-
+ rules/60-cdrom_id.rules | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
---- systemd-206.orig/rules/60-cdrom_id.rules
-+++ systemd-206/rules/60-cdrom_id.rules
-@@ -15,6 +15,9 @@ ENV{DISK_EJECT_REQUEST}=="?*", RUN+="cdr
- # enable the receiving of media eject button events
- IMPORT{program}="cdrom_id --lock-media $devnode"
+Index: systemd/rules/60-cdrom_id.rules
+===================================================================
+--- systemd.orig/rules/60-cdrom_id.rules
++++ systemd/rules/60-cdrom_id.rules
+@@ -20,6 +20,9 @@ IMPORT{program}="cdrom_id --lock-media $
+ # stale mounts after ejecting
+ ENV{DISK_MEDIA_CHANGE}=="?*", ENV{ID_CDROM_MEDIA}!="?*", ENV{SYSTEMD_READY}="0"
-KERNEL=="sr0", SYMLINK+="cdrom", OPTIONS+="link_priority=-100"
+KERNEL=="sr0", ENV{ID_CDROM}=="1", SYMLINK+="cdrom", OPTIONS+="link_priority=-100"
++++++ 1006-udev-always-rename-network.patch ++++++
--- /var/tmp/diff_new_pack.VaiRfi/_old 2015-03-27 09:39:51.000000000 +0100
+++ /var/tmp/diff_new_pack.VaiRfi/_new 2015-03-27 09:39:51.000000000 +0100
@@ -9,15 +9,17 @@
Port the patch of Robert to systemd v210 and test it out.
---
- udev-event.c | 42 ++++++++++++++++++++++++++++++++++++++----
- 1 file changed, 38 insertions(+), 4 deletions(-)
+ src/udev/udev-event.c | 41 +++++++++++++++++++++++++++++++++++++----
+ 1 file changed, 37 insertions(+), 4 deletions(-)
---- systemd-210/src/udev/udev-event.c
-+++ systemd-210/src/udev/udev-event.c 2014-03-27 13:19:06.727748307 +0000
-@@ -750,8 +750,9 @@ static int rename_netif(struct udev_even
+Index: systemd-218/src/udev/udev-event.c
+===================================================================
+--- systemd-218.orig/src/udev/udev-event.c
++++ systemd-218/src/udev/udev-event.c
+@@ -767,20 +767,53 @@ out:
+ static int rename_netif(struct udev_event *event) {
struct udev_device *dev = event->dev;
- _cleanup_rtnl_unref_ sd_rtnl *rtnl = NULL;
char name[IFNAMSIZ];
+ char interim[IFNAMSIZ], *ptr = &interim[0];
const char *oldname;
@@ -26,43 +28,40 @@
oldname = udev_device_get_sysname(dev);
-@@ -765,12 +766,45 @@ static int rename_netif(struct udev_even
- return r;
+ strscpy(name, IFNAMSIZ, event->name);
- r = rtnl_set_link_name(rtnl, udev_device_get_ifindex(dev), name);
+ r = rtnl_set_link_name(&event->rtnl, udev_device_get_ifindex(dev), name);
- if (r < 0)
+ if (r == 0) {
-+ print_kmsg("renamed network interface %s to %s\n", oldname, name);
++ log_info("renamed network interface %s to %s\n", oldname, name);
+ return r;
+ } else if (r != -EEXIST) {
- log_error("error changing net interface name %s to %s: %s",
- oldname, name, strerror(-r));
-- else
-- print_kmsg("renamed network interface %s to %s", oldname, name);
-+ return r;
-+ }
-+
+ return log_error_errno(r, "Error changing net interface name '%s' to '%s': %m", oldname, name);
++ }
+
+- log_debug("renamed network interface '%s' to '%s'", oldname, name);
+ /* free our own name, another process may wait for us */
+ strpcpyf(&ptr, IFNAMSIZ, "rename%u", udev_device_get_ifindex(dev));
-+
-+ r = rtnl_set_link_name(rtnl, udev_device_get_ifindex(dev), interim);
+
+- return 0;
++ r = rtnl_set_link_name(&event->rtnl, udev_device_get_ifindex(dev), interim);
+ if (r < 0) {
+ log_error("error changing net interface name %s to %s: %s",
+ oldname, interim, strerror(-r));
+ return r;
+ }
-
++
+ /* log temporary name */
-+ print_kmsg("renamed network interface %s to %s\n", oldname, interim);
++ log_info("renamed network interface %s to %s\n", oldname, interim);
+
+ loop = 90 * 20;
+ while (loop--) {
+ const struct timespec duration = { 0, 1000 * 1000 * 1000 / 20 };
+ nanosleep(&duration, NULL);
+
-+ r = rtnl_set_link_name(rtnl, udev_device_get_ifindex(dev), name);
++ r = rtnl_set_link_name(&event->rtnl, udev_device_get_ifindex(dev), name);
+ if (r == 0) {
-+ print_kmsg("renamed network interface %s to %s\n", interim, name);
++ log_info("renamed network interface %s to %s\n", interim, name);
+ break;
+ }
+
@@ -72,6 +71,7 @@
+ break;
+ }
+ }
- return r;
++ return r;
}
+ void udev_event_execute_rules(struct udev_event *event,
++++++ 1021-udev-re-add-persistent-net-rules.patch ++++++
--- /var/tmp/diff_new_pack.VaiRfi/_old 2015-03-27 09:39:51.000000000 +0100
+++ /var/tmp/diff_new_pack.VaiRfi/_new 2015-03-27 09:39:51.000000000 +0100
@@ -1,7 +1,73 @@
-Index: systemd-210/src/udev/rule_generator/75-persistent-net-generator.rules
+---
+ Makefile.am | 9
+ src/udev/net/link-config.c | 17 +
+ src/udev/rule_generator/75-persistent-net-generator.rules | 105 ++++++++++
+ src/udev/rule_generator/76-net-sriov-names.rules | 18 +
+ src/udev/rule_generator/net-set-sriov-names | 79 +++++++
+ src/udev/rule_generator/rule_generator.functions | 113 +++++++++++
+ src/udev/rule_generator/write_net_rules | 141 ++++++++++++++
+ 7 files changed, 479 insertions(+), 3 deletions(-)
+
+Index: systemd-218/Makefile.am
+===================================================================
+--- systemd-218.orig/Makefile.am
++++ systemd-218/Makefile.am
+@@ -3416,7 +3416,14 @@ dist_udevrules_DATA += \
+ rules/75-tty-description.rules \
+ rules/78-sound-card.rules \
+ rules/80-net-setup-link.rules \
+- rules/95-udev-late.rules
++ rules/95-udev-late.rules \
++ src/udev/rule_generator/75-persistent-net-generator.rules \
++ src/udev/rule_generator/76-net-sriov-names.rules
++
++udevlibexec_PROGRAMS += \
++ src/udev/rule_generator/rule_generator.functions \
++ src/udev/rule_generator/write_net_rules \
++ src/udev/rule_generator/net-set-sriov-names
+
+ nodist_udevrules_DATA += \
+ rules/99-systemd.rules
+Index: systemd-218/src/udev/net/link-config.c
+===================================================================
+--- systemd-218.orig/src/udev/net/link-config.c
++++ systemd-218/src/udev/net/link-config.c
+@@ -176,16 +176,29 @@ static bool enable_name_policy(void) {
+ size_t l;
+
+ r = proc_cmdline(&line);
+- if (r < 0) {
++ if (r < 0)
+ log_warning_errno(r, "Failed to read /proc/cmdline, ignoring: %m");
++#if defined(NET_IFNAMES) && (NET_IFNAMES == 1)
++# warning Using persistent rules as a default
++ if (r <= 0)
++ return false;
++
++ FOREACH_WORD_QUOTED(w, l, line, state)
++ if (strneq(w, "net.ifnames=1", l))
++ return true;
++
++ return false;
++#else
++# warning Using predictable rules as a default
++ if (r <= 0)
+ return true;
+- }
+
+ FOREACH_WORD_QUOTED(word, l, line, state)
+ if (strneq(word, "net.ifnames=0", l))
+ return false;
+
+ return true;
++#endif
+ }
+
+ int link_config_load(link_config_ctx *ctx) {
+Index: systemd-218/src/udev/rule_generator/75-persistent-net-generator.rules
===================================================================
--- /dev/null
-+++ systemd-210/src/udev/rule_generator/75-persistent-net-generator.rules
++++ systemd-218/src/udev/rule_generator/75-persistent-net-generator.rules
@@ -0,0 +1,105 @@
+# do not edit this file, it will be overwritten on update
+
@@ -108,10 +174,117 @@
+ENV{INTERFACE_NEW}=="?*", NAME="$env{INTERFACE_NEW}"
+
+LABEL="persistent_net_generator_end"
-Index: systemd-210/src/udev/rule_generator/rule_generator.functions
+Index: systemd-218/src/udev/rule_generator/76-net-sriov-names.rules
+===================================================================
+--- /dev/null
++++ systemd-218/src/udev/rule_generator/76-net-sriov-names.rules
+@@ -0,0 +1,18 @@
++# do not edit this file, it will be overwritten on update
++#
++# rename SRIOV virtual function interfaces
++
++ACTION=="remove", GOTO="net-sriov-names_end"
++SUBSYSTEM!="net", GOTO="net-sriov-names_end"
++
++IMPORT{cmdline}="net.ifnames"
++ENV{net.ifnames}=="1", GOTO="net-sriov-names_end"
++
++SUBSYSTEM=="net", SUBSYSTEMS=="pci", ACTION=="add", NAME=="?*", ENV{INTERFACE_NEW}="$name"
++SUBSYSTEM=="net", SUBSYSTEMS=="pci", ACTION=="add", IMPORT{program}="net-set-sriov-names"
++
++# rename interface if needed
++ENV{INTERFACE_NEW}=="?*", NAME="$env{INTERFACE_NEW}"
++ENV{INTERFACE_NEW}=="", DRIVERS=="cxgb4vf|igbvf|ixgbevf", NAME="vf$attr{ifindex}"
++
++LABEL="net-sriov-names_end"
+Index: systemd-218/src/udev/rule_generator/net-set-sriov-names
+===================================================================
+--- /dev/null
++++ systemd-218/src/udev/rule_generator/net-set-sriov-names
+@@ -0,0 +1,79 @@
++#!/bin/bash -e
++#
++# This script is run to rename virtual interfaces
++#
++
++if [ -n "$UDEV_LOG" ]; then
++ if [ "$UDEV_LOG" -ge 7 ]; then
++ set -x
++ fi
++fi
++
++# according to dev_new_index(), ifindex is within [1, INT_MAX]
++int_max=$(/usr/bin/getconf INT_MAX)
++ifindex_before() {
++ a=$1
++ b=$2
++
++ ((0 < (b - a) && (b - a) < int_max / 2 ||
++ -1 * int_max < (b - a) && (b - a) < -1 * int_max / 2))
++}
++
++rename_interface() {
++ local src_net=$1
++ local dest_net=$2
++ local err=0
++
++ /sbin/ip link set dev $src_net down
++ /sbin/ip link set dev $src_net name $dest_net
++}
++
++if [ -z "$INTERFACE" ]; then
++ echo "missing \$INTERFACE" >&2
++ exit 1
++fi
++
++if [ -e "/sys/class/net/$INTERFACE/device/physfn" ]; then
++ pf=$(ls -1 "/sys/class/net/$INTERFACE/device/physfn/net")
++ if [ $(echo "$pf" | wc -l) -ne 1 ]; then
++ echo "too many pf's" >&2
++ exit 1
++ fi
++ read vfindex < "/sys/class/net/$INTERFACE/ifindex"
++ read pfindex < "/sys/class/net/$pf/ifindex"
++ if ifindex_before $pfindex $vfindex; then
++ bus_info=$(basename $(readlink "/sys/class/net/$INTERFACE/device"))
++ for virtfn in "/sys/class/net/$pf/device/"virtfn*; do
++ if [ "$(basename $(readlink "$virtfn"))" = "$bus_info" ]; then
++ vfnum=$(basename "$virtfn")
++ vfnum=${vfnum#virtfn}
++ echo "INTERFACE_NEW=$pf.vf$vfnum"
++ exit 0
++ fi
++ done
++ fi
++fi
++
++read pfindex < "/sys/class/net/$INTERFACE/ifindex"
++shopt -s nullglob
++for virtfn in "/sys/class/net/$INTERFACE/device/"virtfn*; do
++ vf=$(ls -1 "$virtfn/net")
++ if [ $(echo "$vf" | wc -l) -ne 1 ]; then
++ echo "too many vf's" >&2
++ exit 1
++ fi
++ read vfindex < "/sys/class/net/$vf/ifindex"
++ if ifindex_before $vfindex $pfindex; then
++ vfnum=$(basename "$virtfn")
++ vfnum=${vfnum#virtfn}
++ if [ "$INTERFACE_NEW" ]; then
++ new_name=$INTERFACE_NEW
++ else
++ new_name=$INTERFACE
++ fi
++ new_name="$new_name.vf$vfnum"
++ if [ "$vf" != "$new_name" ]; then
++ rename_interface "$vf" "$new_name"
++ fi
++ fi
++done
+Index: systemd-218/src/udev/rule_generator/rule_generator.functions
===================================================================
--- /dev/null
-+++ systemd-210/src/udev/rule_generator/rule_generator.functions
++++ systemd-218/src/udev/rule_generator/rule_generator.functions
@@ -0,0 +1,113 @@
+# functions used by the udev rule generator
+
@@ -226,10 +399,10 @@
+ $([ -e $RULES_FILE ] && echo $RULES_FILE) \
+ 2>/dev/null)
+}
-Index: systemd-210/src/udev/rule_generator/write_net_rules
+Index: systemd-218/src/udev/rule_generator/write_net_rules
===================================================================
--- /dev/null
-+++ systemd-210/src/udev/rule_generator/write_net_rules
++++ systemd-218/src/udev/rule_generator/write_net_rules
@@ -0,0 +1,141 @@
+#!/bin/sh -e
+
@@ -372,161 +545,3 @@
+unlock_rules_file
+
+exit 0
-Index: systemd-210/Makefile.am
-===================================================================
---- systemd-210.orig/Makefile.am
-+++ systemd-210/Makefile.am
-@@ -2552,7 +2552,14 @@ dist_udevrules_DATA += \
- rules/75-tty-description.rules \
- rules/78-sound-card.rules \
- rules/80-net-setup-link.rules \
-- rules/95-udev-late.rules
-+ rules/95-udev-late.rules \
-+ src/udev/rule_generator/75-persistent-net-generator.rules \
-+ src/udev/rule_generator/76-net-sriov-names.rules
-+
-+udevlibexec_PROGRAMS += \
-+ src/udev/rule_generator/rule_generator.functions \
-+ src/udev/rule_generator/write_net_rules \
-+ src/udev/rule_generator/net-set-sriov-names
-
- dist_udevhwdb_DATA = \
- hwdb/20-pci-vendor-model.hwdb \
-Index: systemd-210/src/udev/rule_generator/76-net-sriov-names.rules
-===================================================================
---- /dev/null
-+++ systemd-210/src/udev/rule_generator/76-net-sriov-names.rules
-@@ -0,0 +1,18 @@
-+# do not edit this file, it will be overwritten on update
-+#
-+# rename SRIOV virtual function interfaces
-+
-+ACTION=="remove", GOTO="net-sriov-names_end"
-+SUBSYSTEM!="net", GOTO="net-sriov-names_end"
-+
-+IMPORT{cmdline}="net.ifnames"
-+ENV{net.ifnames}=="1", GOTO="net-sriov-names_end"
-+
-+SUBSYSTEM=="net", SUBSYSTEMS=="pci", ACTION=="add", NAME=="?*", ENV{INTERFACE_NEW}="$name"
-+SUBSYSTEM=="net", SUBSYSTEMS=="pci", ACTION=="add", IMPORT{program}="net-set-sriov-names"
-+
-+# rename interface if needed
-+ENV{INTERFACE_NEW}=="?*", NAME="$env{INTERFACE_NEW}"
-+ENV{INTERFACE_NEW}=="", DRIVERS=="cxgb4vf|igbvf|ixgbevf", NAME="vf$attr{ifindex}"
-+
-+LABEL="net-sriov-names_end"
-Index: systemd-210/src/udev/rule_generator/net-set-sriov-names
-===================================================================
---- /dev/null
-+++ systemd-210/src/udev/rule_generator/net-set-sriov-names
-@@ -0,0 +1,79 @@
-+#!/bin/bash -e
-+#
-+# This script is run to rename virtual interfaces
-+#
-+
-+if [ -n "$UDEV_LOG" ]; then
-+ if [ "$UDEV_LOG" -ge 7 ]; then
-+ set -x
-+ fi
-+fi
-+
-+# according to dev_new_index(), ifindex is within [1, INT_MAX]
-+int_max=$(/usr/bin/getconf INT_MAX)
-+ifindex_before() {
-+ a=$1
-+ b=$2
-+
-+ ((0 < (b - a) && (b - a) < int_max / 2 ||
-+ -1 * int_max < (b - a) && (b - a) < -1 * int_max / 2))
-+}
-+
-+rename_interface() {
-+ local src_net=$1
-+ local dest_net=$2
-+ local err=0
-+
-+ /sbin/ip link set dev $src_net down
-+ /sbin/ip link set dev $src_net name $dest_net
-+}
-+
-+if [ -z "$INTERFACE" ]; then
-+ echo "missing \$INTERFACE" >&2
-+ exit 1
-+fi
-+
-+if [ -e "/sys/class/net/$INTERFACE/device/physfn" ]; then
-+ pf=$(ls -1 "/sys/class/net/$INTERFACE/device/physfn/net")
-+ if [ $(echo "$pf" | wc -l) -ne 1 ]; then
-+ echo "too many pf's" >&2
-+ exit 1
-+ fi
-+ read vfindex < "/sys/class/net/$INTERFACE/ifindex"
-+ read pfindex < "/sys/class/net/$pf/ifindex"
-+ if ifindex_before $pfindex $vfindex; then
-+ bus_info=$(basename $(readlink "/sys/class/net/$INTERFACE/device"))
-+ for virtfn in "/sys/class/net/$pf/device/"virtfn*; do
-+ if [ "$(basename $(readlink "$virtfn"))" = "$bus_info" ]; then
-+ vfnum=$(basename "$virtfn")
-+ vfnum=${vfnum#virtfn}
-+ echo "INTERFACE_NEW=$pf.vf$vfnum"
-+ exit 0
-+ fi
-+ done
-+ fi
-+fi
-+
-+read pfindex < "/sys/class/net/$INTERFACE/ifindex"
-+shopt -s nullglob
-+for virtfn in "/sys/class/net/$INTERFACE/device/"virtfn*; do
-+ vf=$(ls -1 "$virtfn/net")
-+ if [ $(echo "$vf" | wc -l) -ne 1 ]; then
-+ echo "too many vf's" >&2
-+ exit 1
-+ fi
-+ read vfindex < "/sys/class/net/$vf/ifindex"
-+ if ifindex_before $vfindex $pfindex; then
-+ vfnum=$(basename "$virtfn")
-+ vfnum=${vfnum#virtfn}
-+ if [ "$INTERFACE_NEW" ]; then
-+ new_name=$INTERFACE_NEW
-+ else
-+ new_name=$INTERFACE
-+ fi
-+ new_name="$new_name.vf$vfnum"
-+ if [ "$vf" != "$new_name" ]; then
-+ rename_interface "$vf" "$new_name"
-+ fi
-+ fi
-+done
-Index: systemd-210/src/udev/net/link-config.c
-===================================================================
---- systemd-210.orig/src/udev/net/link-config.c
-+++ systemd-210/src/udev/net/link-config.c
-@@ -193,6 +193,18 @@ static bool enable_name_policy(void) {
- r = proc_cmdline(&line);
- if (r < 0)
- log_warning("Failed to read /proc/cmdline, ignoring: %s", strerror(-r));
-+#if defined(NET_IFNAMES) && (NET_IFNAMES == 1)
-+# warning Using persistent rules as a default
-+ if (r <= 0)
-+ return false;
-+
-+ FOREACH_WORD_QUOTED(w, l, line, state)
-+ if (strneq(w, "net.ifnames=1", l))
-+ return true;
-+
-+ return false;
-+#else
-+# warning Using predictable rules as a default
- if (r <= 0)
- return true;
-
-@@ -201,6 +213,7 @@ static bool enable_name_policy(void) {
- return false;
-
- return true;
-+#endif
- }
-
- int link_config_load(link_config_ctx *ctx) {
++++++ 1066-udev-add-compatibility-links-for-truncated-by-id-links.patch ++++++
--- /var/tmp/diff_new_pack.VaiRfi/_old 2015-03-27 09:39:51.000000000 +0100
+++ /var/tmp/diff_new_pack.VaiRfi/_new 2015-03-27 09:39:51.000000000 +0100
@@ -18,8 +18,10 @@
src/udev/scsi_id/scsi_serial.c | 19 +++++++++++++------
4 files changed, 32 insertions(+), 7 deletions(-)
---- a/rules/60-persistent-storage.rules
-+++ b/rules/60-persistent-storage.rules
+Index: systemd/rules/60-persistent-storage.rules
+===================================================================
+--- systemd.orig/rules/60-persistent-storage.rules
++++ systemd/rules/60-persistent-storage.rules
@@ -46,6 +46,10 @@ KERNEL=="sd*|cciss*", ENV{DEVTYPE}=="par
KERNEL=="sd*[!0-9]", ENV{ID_BUS}=="ata", PROGRAM="scsi_id --whitelisted --replace-whitespace -p0x80 -d $devnode", RESULT=="?*", ENV{ID_SCSI_COMPAT}="$result", SYMLINK+="disk/by-id/scsi-$env{ID_SCSI_COMPAT}"
KERNEL=="sd*[0-9]", ENV{ID_SCSI_COMPAT}=="?*", SYMLINK+="disk/by-id/scsi-$env{ID_SCSI_COMPAT}-part%n"
@@ -31,9 +33,11 @@
# firewire
KERNEL=="sd*[!0-9]|sr*", ATTRS{ieee1394_id}=="?*", SYMLINK+="disk/by-id/ieee1394-$attr{ieee1394_id}"
KERNEL=="sd*[0-9]", ATTRS{ieee1394_id}=="?*", SYMLINK+="disk/by-id/ieee1394-$attr{ieee1394_id}-part%n"
---- a/src/udev/scsi_id/scsi_id.c
-+++ b/src/udev/scsi_id/scsi_id.c
-@@ -44,6 +44,7 @@ static const struct option options[] = {
+Index: systemd/src/udev/scsi_id/scsi_id.c
+===================================================================
+--- systemd.orig/src/udev/scsi_id/scsi_id.c
++++ systemd/src/udev/scsi_id/scsi_id.c
+@@ -43,6 +43,7 @@ static const struct option options[] = {
{ "replace-whitespace", no_argument, NULL, 'u' },
{ "sg-version", required_argument, NULL, 's' },
{ "verbose", no_argument, NULL, 'v' },
@@ -41,24 +45,24 @@
{ "version", no_argument, NULL, 'V' }, /* don't advertise -V */
{ "export", no_argument, NULL, 'x' },
{ "help", no_argument, NULL, 'h' },
-@@ -56,6 +57,7 @@ static char config_file[MAX_PATH_LEN] =
+@@ -54,6 +55,7 @@ static bool dev_specified = false;
+ static char config_file[MAX_PATH_LEN] = "/etc/scsi_id.config";
static enum page_code default_page_code = PAGE_UNSPECIFIED;
static int sg_version = 4;
- static int debug = 0;
+static bool compat_truncated = false;
static bool reformat_serial = false;
static bool export = false;
static char vendor_str[64];
-@@ -323,6 +325,7 @@ static void help(void) {
- " -g,--whitelisted threat device as whitelisted\n"
- " -u,--replace-whitespace replace all whitespace by underscores\n"
- " -v,--verbose verbose logging\n"
+@@ -316,6 +318,7 @@ static void help(void) {
+ " -g --whitelisted Treat device as whitelisted\n"
+ " -u --replace-whitespace Replace all whitespace by underscores\n"
+ " -v --verbose Verbose logging\n"
+ " --truncated-serial truncated serial for compatibility with systems configured with by-id links created by udev < 184\n"
- " --version print version\n"
- " -x,--export print values as environment keys\n"
- " -h,--help print this help text\n\n");
-@@ -393,6 +396,10 @@ static int set_options(struct udev *udev
- debug++;
+ " -x --export Print values as environment keys\n"
+ , program_invocation_short_name);
+
+@@ -387,6 +390,10 @@ static int set_options(struct udev *udev
+ log_open();
break;
+ case '9':
@@ -68,7 +72,7 @@
case 'V':
printf("%s\n", VERSION);
exit(0);
-@@ -535,6 +542,9 @@ static int scsi_id(struct udev *udev, ch
+@@ -528,6 +535,9 @@ static int scsi_id(struct udev *udev, ch
util_replace_whitespace(dev_scsi.serial, serial_str, sizeof(serial_str));
util_replace_chars(serial_str, NULL);
printf("ID_SERIAL=%s\n", serial_str);
@@ -78,7 +82,7 @@
util_replace_whitespace(dev_scsi.serial_short, serial_str, sizeof(serial_str));
util_replace_chars(serial_str, NULL);
printf("ID_SERIAL_SHORT=%s\n", serial_str);
-@@ -565,7 +575,10 @@ static int scsi_id(struct udev *udev, ch
+@@ -558,7 +568,10 @@ static int scsi_id(struct udev *udev, ch
if (reformat_serial) {
char serial_str[MAX_SERIAL_LEN];
@@ -90,8 +94,10 @@
util_replace_chars(serial_str, NULL);
printf("%s\n", serial_str);
goto out;
---- a/src/udev/scsi_id/scsi_id.h
-+++ b/src/udev/scsi_id/scsi_id.h
+Index: systemd/src/udev/scsi_id/scsi_id.h
+===================================================================
+--- systemd.orig/src/udev/scsi_id/scsi_id.h
++++ systemd/src/udev/scsi_id/scsi_id.h
@@ -43,6 +43,7 @@ struct scsi_id_device {
char kernel[64];
char serial[MAX_SERIAL_LEN];
@@ -100,9 +106,11 @@
int use_sg;
/* Always from page 0x80 e.g. 'B3G1P8500RWT' - may not be unique */
---- a/src/udev/scsi_id/scsi_serial.c
-+++ b/src/udev/scsi_id/scsi_serial.c
-@@ -97,7 +97,8 @@ static const char hex_str[]="0123456789a
+Index: systemd/src/udev/scsi_id/scsi_serial.c
+===================================================================
+--- systemd.orig/src/udev/scsi_id/scsi_serial.c
++++ systemd/src/udev/scsi_id/scsi_serial.c
+@@ -96,7 +96,8 @@ static const char hex_str[]="0123456789a
static int do_scsi_page80_inquiry(struct udev *udev,
struct scsi_id_device *dev_scsi, int fd,
@@ -112,7 +120,7 @@
static int sg_err_category_new(struct udev *udev,
int scsi_status, int msg_status, int
-@@ -620,7 +621,7 @@ static int do_scsi_page83_inquiry(struct
+@@ -619,7 +620,7 @@ static int do_scsi_page83_inquiry(struct
unsigned char page_83[SCSI_INQ_BUFF_LEN];
/* also pick up the page 80 serial number */
@@ -121,7 +129,7 @@
memzero(page_83, SCSI_INQ_BUFF_LEN);
retval = scsi_inquiry(udev, dev_scsi, fd, 1, PAGE_83, page_83,
-@@ -765,7 +766,8 @@ static int do_scsi_page83_prespc3_inquir
+@@ -764,7 +765,8 @@ static int do_scsi_page83_prespc3_inquir
/* Get unit serial number VPD page */
static int do_scsi_page80_inquiry(struct udev *udev,
struct scsi_id_device *dev_scsi, int fd,
@@ -131,7 +139,7 @@
{
int retval;
int ser_ind;
-@@ -799,9 +801,14 @@ static int do_scsi_page80_inquiry(struct
+@@ -798,9 +800,14 @@ static int do_scsi_page80_inquiry(struct
ser_ind = prepend_vendor_model(udev, dev_scsi, &serial[1]);
if (ser_ind < 0)
return 1;
@@ -147,7 +155,7 @@
}
if (serial_short != NULL) {
memcpy(serial_short, &buf[4], len);
-@@ -877,7 +884,7 @@ int scsi_get_serial(struct udev *udev,
+@@ -876,7 +883,7 @@ int scsi_get_serial(struct udev *udev,
return 1;
if (page_code == PAGE_80) {
@@ -156,7 +164,7 @@
retval = 1;
goto completed;
} else {
-@@ -951,7 +958,7 @@ int scsi_get_serial(struct udev *udev,
+@@ -950,7 +957,7 @@ int scsi_get_serial(struct udev *udev,
for (ind = 4; ind <= page0[3] + 3; ind++)
if (page0[ind] == PAGE_80)
if (!do_scsi_page80_inquiry(udev, dev_scsi, fd,
++++++ 1095-set-ssd-disk-to-use-deadline-scheduler.patch ++++++
--- /var/tmp/diff_new_pack.VaiRfi/_old 2015-03-27 09:39:51.000000000 +0100
+++ /var/tmp/diff_new_pack.VaiRfi/_new 2015-03-27 09:39:51.000000000 +0100
@@ -1,19 +1,24 @@
-Index: systemd-210/Makefile.am
+---
+ Makefile.am | 1 +
+ rules/60-ssd-scheduler.rules | 11 +++++++++++
+ 2 files changed, 12 insertions(+)
+
+Index: systemd/Makefile.am
===================================================================
---- systemd-210.orig/Makefile.am
-+++ systemd-210/Makefile.am
-@@ -2546,6 +2546,7 @@ dist_udevrules_DATA += \
+--- systemd.orig/Makefile.am
++++ systemd/Makefile.am
+@@ -3576,6 +3576,7 @@ dist_udevrules_DATA += \
rules/60-persistent-input.rules \
rules/60-persistent-alsa.rules \
rules/60-persistent-storage.rules \
+ rules/60-ssd-scheduler.rules \
rules/64-btrfs.rules \
- rules/75-net-description.rules \
- rules/75-tty-description.rules \
-Index: systemd-210/rules/60-ssd-scheduler.rules
+ rules/70-mouse.rules \
+ rules/70-touchpad.rules \
+Index: systemd/rules/60-ssd-scheduler.rules
===================================================================
--- /dev/null
-+++ systemd-210/rules/60-ssd-scheduler.rules
++++ systemd/rules/60-ssd-scheduler.rules
@@ -0,0 +1,11 @@
+# do not edit this file, it will be overwritten on update
+
++++++ 1096-new-udev-root-symlink-generator.patch ++++++
--- /var/tmp/diff_new_pack.VaiRfi/_old 2015-03-27 09:39:51.000000000 +0100
+++ /var/tmp/diff_new_pack.VaiRfi/_new 2015-03-27 09:39:51.000000000 +0100
@@ -1,9 +1,16 @@
-Index: systemd-210/Makefile.am
+---
+ Makefile.am | 19 +++++
+ src/udev/rootsymlink_generator/rootsymlink_generator.c | 57 +++++++++++++++++
+ units/systemd-udev-root-symlink.service | 10 ++
+ units/systemd-udev-root-symlink.service.in | 10 ++
+ 4 files changed, 96 insertions(+)
+
+Index: systemd/Makefile.am
===================================================================
---- systemd-210.orig/Makefile.am
-+++ systemd-210/Makefile.am
-@@ -2791,6 +2791,25 @@ EXTRA_DIST += \
- test/rule-syntax-check.py
+--- systemd.orig/Makefile.am
++++ systemd/Makefile.am
+@@ -3862,6 +3862,25 @@ EXTRA_DIST += \
+
# ------------------------------------------------------------------------------
+rootsymlink_generator_SOURCES = \
@@ -28,11 +35,11 @@
ata_id_SOURCES = \
src/udev/ata_id/ata_id.c
-Index: systemd-210/src/udev/rootsymlink_generator/rootsymlink_generator.c
+Index: systemd/src/udev/rootsymlink_generator/rootsymlink_generator.c
===================================================================
--- /dev/null
-+++ systemd-210/src/udev/rootsymlink_generator/rootsymlink_generator.c
-@@ -0,0 +1,65 @@
++++ systemd/src/udev/rootsymlink_generator/rootsymlink_generator.c
+@@ -0,0 +1,57 @@
+/*
+ * Copyright (C) 2014-2015 Robert Milasan
+ *
@@ -64,44 +71,36 @@
+#define _PATH_ "/run/udev/rules.d"
+#define _FILE_ "10-root-symlink.rules"
+
-+int main()
++int main(void)
+{
++ char filename[BUFFER_SIZE], buf[BUFFER_SIZE];
+ struct stat statbuf;
++ int fd;
+
-+ if (stat(_ROOTDEV_, &statbuf) != 0)
++ if (stat(_ROOTDEV_, &statbuf) < 0)
+ return 1;
-+
-+ if (major(statbuf.st_dev) > 0) {
-+ int fd = -1;
-+ char filename[BUFFER_SIZE];
-+
-+ if (mkdir(_PATH_, 0755) != 0 && errno != EEXIST)
-+ return errno;
-+
-+ snprintf(filename, BUFFER_SIZE, "%s/%s", _PATH_, _FILE_);
-+
-+ if ((fd = open(filename, O_CREAT|O_WRONLY|O_TRUNC, 0644)) == -1)
-+ return errno;
-+ else {
-+ char buf[BUFFER_SIZE];
-+
-+ snprintf(buf, BUFFER_SIZE, "ACTION==\"add|change\", SUBSYSTEM==\"block\", ENV{MAJOR}==\"%d\", ENV{MINOR}==\"%d\", SYMLINK+=\"root\"\n",
-+ major(statbuf.st_dev), minor(statbuf.st_dev));
-+
-+ if (write(fd, buf, strlen(buf)) == -1)
-+ return errno;
-+
-+ if (close(fd) == -1)
-+ return errno;
-+ }
-+ }
-+
++ if (major(statbuf.st_dev) <= 0)
++ return 0;
++ if (mkdir(_PATH_, 0755) < 0 && errno != EEXIST)
++ return errno;
++ snprintf(filename, BUFFER_SIZE, "%s/%s", _PATH_, _FILE_);
++ fd = open(filename, O_CREAT | O_WRONLY | O_TRUNC, 0644);
++ if (fd < 0)
++ return errno;
++ snprintf(buf, BUFFER_SIZE,
++ "ACTION==\"add|change\", SUBSYSTEM==\"block\", "
++ "ENV{MAJOR}==\"%d\", ENV{MINOR}==\"%d\", SYMLINK+=\"root\"\n",
++ major(statbuf.st_dev), minor(statbuf.st_dev));
++ if (write(fd, buf, strlen(buf)) < 0)
++ return errno;
++ if (close(fd) < 0)
++ return errno;
+ return 0;
+}
-Index: systemd-210/units/systemd-udev-root-symlink.service.in
+Index: systemd/units/systemd-udev-root-symlink.service
===================================================================
--- /dev/null
-+++ systemd-210/units/systemd-udev-root-symlink.service.in
++++ systemd/units/systemd-udev-root-symlink.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=Rule generator for /dev/root symlink
@@ -112,11 +111,11 @@
+[Service]
+Type=oneshot
+RemainAfterExit=yes
-+ExecStart=@udevlibexec@/rootsymlink-generator
-Index: systemd-210/units/systemd-udev-root-symlink.service
++ExecStart=/usr/lib/udev/rootsymlink-generator
+Index: systemd/units/systemd-udev-root-symlink.service.in
===================================================================
--- /dev/null
-+++ systemd-210/units/systemd-udev-root-symlink.service
++++ systemd/units/systemd-udev-root-symlink.service.in
@@ -0,0 +1,10 @@
+[Unit]
+Description=Rule generator for /dev/root symlink
@@ -127,4 +126,4 @@
+[Service]
+Type=oneshot
+RemainAfterExit=yes
-+ExecStart=/usr/lib/udev/rootsymlink-generator
++ExecStart=@udevlibexec@/rootsymlink-generator
++++++ 1097-udevd-increase-maximum-number-of-children.patch ++++++
--- /var/tmp/diff_new_pack.VaiRfi/_old 2015-03-27 09:39:51.000000000 +0100
+++ /var/tmp/diff_new_pack.VaiRfi/_new 2015-03-27 09:39:51.000000000 +0100
@@ -1,22 +1,26 @@
-Index: systemd-210/src/udev/udevd.c
+---
+ src/udev/udevd.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+Index: systemd-218/src/udev/udevd.c
===================================================================
---- systemd-210.orig/src/udev/udevd.c
-+++ systemd-210/src/udev/udevd.c
-@@ -454,7 +454,7 @@ static void event_run(struct event *even
+--- systemd-218.orig/src/udev/udevd.c
++++ systemd-218/src/udev/udevd.c
+@@ -446,7 +446,7 @@ static void event_run(struct event *even
- if (children >= children_max) {
- if (children_max > 1)
+ if (children >= arg_children_max) {
+ if (arg_children_max > 1)
- log_debug("maximum number (%i) of children reached", children);
+ log_error("maximum number (%i) of children reached", children);
return;
}
-@@ -1277,7 +1277,7 @@ int main(int argc, char *argv[]) {
- children_max = 8;
+@@ -1265,7 +1265,7 @@ int main(int argc, char *argv[]) {
+ arg_children_max = 8;
if (sched_getaffinity(0, sizeof (cpu_set), &cpu_set) == 0) {
-- children_max += CPU_COUNT(&cpu_set) * 2;
-+ children_max += CPU_COUNT(&cpu_set) * 64;
+- arg_children_max += CPU_COUNT(&cpu_set) * 2;
++ arg_children_max += CPU_COUNT(&cpu_set) * 64;
}
}
- log_debug("set children_max to %u", children_max);
+ log_debug("set children_max to %u", arg_children_max);
++++++ Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch ++++++
--- /var/tmp/diff_new_pack.VaiRfi/_old 2015-03-27 09:39:51.000000000 +0100
+++ /var/tmp/diff_new_pack.VaiRfi/_new 2015-03-27 09:39:51.000000000 +0100
@@ -5,18 +5,21 @@
disable /var/lock/{subsys,lockdev} and change default permissions on
/var/lock (bnc#733523).
---
- tmpfiles.d/legacy.conf | 7 ++++---
+ tmpfiles.d/legacy.conf | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
---- systemd-206_git201308300826.orig/tmpfiles.d/legacy.conf
-+++ systemd-206_git201308300826/tmpfiles.d/legacy.conf
-@@ -10,12 +10,13 @@
+Index: systemd-218/tmpfiles.d/legacy.conf
+===================================================================
+--- systemd-218.orig/tmpfiles.d/legacy.conf
++++ systemd-218/tmpfiles.d/legacy.conf
+@@ -10,13 +10,14 @@
# These files are considered legacy and are unnecessary on legacy-free
# systems.
-d /run/lock 0755 root root -
-+# changed for openSUSE : only /run/lock should be available
++# changed for openSUSE: only /run/lock should be available.
+d /run/lock 0775 root lock -
+ L /var/lock - - - - ../run/lock
# /run/lock/subsys is used for serializing SysV service execution, and
# hence without use on SysV-less systems.
@@ -26,7 +29,7 @@
# /run/lock/lockdev is used to serialize access to tty devices via
# LCK..xxx style lock files, For more information see:
-@@ -23,7 +24,7 @@ d /run/lock/subsys 0755 root root -
+@@ -24,7 +25,7 @@ d /run/lock/subsys 0755 root root -
# On modern systems a BSD file lock is a better choice if
# serialization is needed on those devices.
++++++ Forward-suspend-hibernate-calls-to-pm-utils.patch ++++++
--- /var/tmp/diff_new_pack.VaiRfi/_old 2015-03-27 09:39:51.000000000 +0100
+++ /var/tmp/diff_new_pack.VaiRfi/_new 2015-03-27 09:39:51.000000000 +0100
@@ -4,21 +4,23 @@
forward suspend/hibernation calls to pm-utils, if installed (bnc#790157)
---
- src/sleep/sleep.c | 26 ++++++++++++++++++++++----
- 1 file changed, 22 insertions(+), 4 deletions(-)
+ src/sleep/sleep.c | 27 ++++++++++++++++++++++-----
+ 1 file changed, 22 insertions(+), 5 deletions(-)
---- systemd-206.orig/src/sleep/sleep.c
-+++ systemd-206/src/sleep/sleep.c
+Index: systemd/src/sleep/sleep.c
+===================================================================
+--- systemd.orig/src/sleep/sleep.c
++++ systemd/src/sleep/sleep.c
@@ -24,6 +24,7 @@
#include
#include
#include
+#include
- #include "systemd/sd-id128.h"
- #include "systemd/sd-messages.h"
-@@ -35,6 +36,8 @@
- #include "sleep-config.h"
+ #include "sd-id128.h"
+ #include "sd-messages.h"
+@@ -36,6 +37,8 @@
+ #include "def.h"
static char* arg_verb = NULL;
+static bool delegate_to_pmutils = false;
@@ -26,36 +28,37 @@
static int write_mode(char **modes) {
int r = 0;
-@@ -50,9 +53,6 @@ static int write_mode(char **modes) {
+@@ -53,10 +56,6 @@ static int write_mode(char **modes) {
+ if (r == 0)
r = k;
}
-
+-
- if (r < 0)
-- log_error("Failed to write mode to /sys/power/disk: %s",
-- strerror(-r));
-
+- log_error_errno(r, "Failed to write mode to /sys/power/disk: %m");
+-
return r;
}
-@@ -90,6 +90,8 @@ static int execute(char **modes, char **
+
+@@ -97,6 +96,8 @@ static int execute(char **modes, char **
+ int r;
_cleanup_fclose_ FILE *f = NULL;
- const char* note = strappenda("SLEEP=", arg_verb);
+ if (!delegate_to_pmutils) {
+
/* This file is opened first, so that if we hit an error,
* we can abort before modifying any state. */
f = fopen("/sys/power/state", "we");
-@@ -102,6 +104,7 @@ static int execute(char **modes, char **
+@@ -107,6 +108,7 @@ static int execute(char **modes, char **
r = write_mode(modes);
if (r < 0)
return r;
+ }
- arguments[0] = NULL;
- arguments[1] = (char*) "pre";
-@@ -114,8 +117,10 @@ static int execute(char **modes, char **
- "MESSAGE=Suspending system...",
- note,
+ execute_directories(dirs, DEFAULT_TIMEOUT_USEC, arguments);
+
+@@ -115,8 +117,10 @@ static int execute(char **modes, char **
+ LOG_MESSAGE("Suspending system..."),
+ "SLEEP=%s", arg_verb,
NULL);
-
+ if (!delegate_to_pmutils)
@@ -65,7 +68,7 @@
if (r < 0)
return r;
-@@ -158,6 +163,7 @@ static int parse_argv(int argc, char *ar
+@@ -156,6 +160,7 @@ static int parse_argv(int argc, char *ar
};
int c;
@@ -73,7 +76,7 @@
assert(argc >= 0);
assert(argv);
-@@ -196,6 +202,18 @@ static int parse_argv(int argc, char *ar
+@@ -193,6 +198,18 @@ static int parse_argv(int argc, char *ar
return -EINVAL;
}
++++++ ensure-shortname-is-set-as-hostname-bnc-820213.patch ++++++
--- /var/tmp/diff_new_pack.VaiRfi/_old 2015-03-27 09:39:51.000000000 +0100
+++ /var/tmp/diff_new_pack.VaiRfi/_new 2015-03-27 09:39:51.000000000 +0100
@@ -4,11 +4,13 @@
strip hostname so the domain part isn't set as part of the hostname
---
- src/core/hostname-setup.c | 7 ++++++-
- 1 file changed, 6 insertions(+), 1 deletion(-)
+ src/core/hostname-setup.c | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
---- systemd-206.orig/src/core/hostname-setup.c
-+++ systemd-206/src/core/hostname-setup.c
+Index: systemd-218/src/core/hostname-setup.c
+===================================================================
+--- systemd-218.orig/src/core/hostname-setup.c
++++ systemd-218/src/core/hostname-setup.c
@@ -32,7 +32,7 @@
#include "fileio.h"
@@ -18,14 +20,13 @@
int r;
assert(path);
-@@ -49,6 +49,11 @@ static int read_and_strip_hostname(const
+@@ -49,6 +49,10 @@ static int read_and_strip_hostname(const
return -ENOENT;
}
+ /* strip any leftover of a domain name */
-+ if (domain = strchr(s, '.')) {
-+ *domain = NULL;
-+ }
++ if ((domain = strchr(s, '.')) != NULL)
++ *domain = '\0';
+
*hn = s;
return 0;
++++++ fix-support-for-boot-prefixed-initscript-bnc-746506.patch ++++++
--- /var/tmp/diff_new_pack.VaiRfi/_old 2015-03-27 09:39:51.000000000 +0100
+++ /var/tmp/diff_new_pack.VaiRfi/_new 2015-03-27 09:39:51.000000000 +0100
@@ -3,15 +3,17 @@
Subject: fix support for boot prefixed initscript (bnc#746506)
---
- src/systemctl/systemctl.c | 22 +++++++++++++++++++++-
- 1 file changed, 21 insertions(+), 1 deletion(-)
+ src/systemctl/systemctl.c | 20 +++++++++++++++++++-
+ 1 file changed, 19 insertions(+), 1 deletion(-)
---- systemd-206_git201308300826.orig/src/systemctl/systemctl.c
-+++ systemd-206_git201308300826/src/systemctl/systemctl.c
-@@ -4169,8 +4169,28 @@ static int enable_sysv_units(char **args
- p[strlen(p) - sizeof(".service") + 1] = 0;
- found_sysv = access(p, F_OK) >= 0;
+Index: systemd-218/src/systemctl/systemctl.c
+===================================================================
+--- systemd-218.orig/src/systemctl/systemctl.c
++++ systemd-218/src/systemctl/systemctl.c
+@@ -5202,8 +5202,26 @@ static int enable_sysv_units(const char
+ p[strlen(p) - strlen(".service")] = 0;
+ found_sysv = access(p, F_OK) >= 0;
- if (!found_sysv)
+ if (!found_sysv) {
+#ifdef HAVE_SYSV_COMPAT
@@ -21,10 +23,8 @@
+ asprintf(&p, "%s/" SYSTEM_SYSVINIT_PATH "/boot.%s", arg_root, name);
+ else
+ asprintf(&p, SYSTEM_SYSVINIT_PATH "/boot.%s", name);
-+ if (!p) {
-+ r = log_oom();
-+ goto finish;
-+ }
++ if (!p)
++ return -ENOMEM;
+ p[strlen(p) - sizeof(".service") + 1] = 0;
+ found_sysv = access(p, F_OK) >= 0;
+
@@ -36,5 +36,5 @@
+#endif
+ }
- /* Mark this entry, so that we don't try enabling it as native unit */
- args[f] = (char*) "";
+ log_info("%s is not a native service, redirecting to /sbin/chkconfig.", name);
+
++++++ handle-disable_caplock-and-compose_table-and-kbd_rate.patch ++++++
--- /var/tmp/diff_new_pack.VaiRfi/_old 2015-03-27 09:39:51.000000000 +0100
+++ /var/tmp/diff_new_pack.VaiRfi/_new 2015-03-27 09:39:51.000000000 +0100
@@ -4,13 +4,13 @@
(bnc#746595)
---
- src/vconsole/vconsole-setup.c | 156 +++++++++++++++++++++++++++++++++++++++++-
- 1 file changed, 153 insertions(+), 3 deletions(-)
+ src/vconsole/vconsole-setup.c | 151 +++++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 148 insertions(+), 3 deletions(-)
-Index: systemd-210/src/vconsole/vconsole-setup.c
+Index: systemd-218/src/vconsole/vconsole-setup.c
===================================================================
---- systemd-210.orig/src/vconsole/vconsole-setup.c
-+++ systemd-210/src/vconsole/vconsole-setup.c
+--- systemd-218.orig/src/vconsole/vconsole-setup.c
++++ systemd-218/src/vconsole/vconsole-setup.c
@@ -40,6 +40,7 @@
#include "macro.h"
#include "virt.h"
@@ -19,7 +19,7 @@
static bool is_vconsole(int fd) {
unsigned char data[1];
-@@ -99,8 +100,8 @@ static int enable_utf8(int fd) {
+@@ -101,8 +102,8 @@ static int enable_utf8(int fd) {
return r;
}
@@ -30,7 +30,7 @@
int i = 0;
pid_t pid;
-@@ -119,6 +120,8 @@ static int keymap_load(const char *vc, c
+@@ -121,6 +122,8 @@ static int keymap_load(const char *vc, c
args[i++] = map;
if (map_toggle)
args[i++] = map_toggle;
@@ -39,7 +39,7 @@
args[i++] = NULL;
pid = fork();
-@@ -212,6 +215,101 @@ static void font_copy_to_all_vcs(int fd)
+@@ -236,11 +239,113 @@ static void font_copy_to_all_vcs(int fd)
}
}
@@ -140,25 +140,20 @@
+
int main(int argc, char **argv) {
const char *vc;
- char *vc_keymap = NULL;
-@@ -219,8 +317,16 @@ int main(int argc, char **argv) {
- char *vc_font = NULL;
- char *vc_font_map = NULL;
- char *vc_font_unimap = NULL;
-+#ifdef HAVE_SYSV_COMPAT
-+ char *vc_kbd_delay = NULL;
-+ char *vc_kbd_rate = NULL;
-+ char *vc_kbd_disable_caps_lock = NULL;
-+ char *vc_compose_table = NULL;
+ _cleanup_free_ char
+ *vc_keymap = NULL, *vc_keymap_toggle = NULL,
+ *vc_font = NULL, *vc_font_map = NULL, *vc_font_unimap = NULL;
++#ifdef HAVE_SYSV_COMPAT
++ _cleanup_free_ char
++ *vc_kbd_delay = NULL, *vc_kbd_rate = NULL,
++ *vc_kbd_disable_caps_lock = NULL, *vc_compose_table = NULL;
+ pid_t kbd_rate_pid = 0, compose_table_pid = 0;
+#endif
- int fd = -1;
- bool utf8;
+ bool disable_capslock = false;
+ _cleanup_close_ int fd = -1;
+ bool utf8;
pid_t font_pid = 0, keymap_pid = 0;
- bool font_copy = false;
- int r = EXIT_FAILURE;
-@@ -251,6 +357,28 @@ int main(int argc, char **argv) {
+@@ -273,6 +378,28 @@ int main(int argc, char **argv) {
utf8 = is_locale_utf8();
@@ -187,45 +182,37 @@
r = parse_env_file("/etc/vconsole.conf", NEWLINE,
"KEYMAP", &vc_keymap,
"KEYMAP_TOGGLE", &vc_keymap_toggle,
-@@ -282,7 +410,12 @@ int main(int argc, char **argv) {
- disable_utf8(fd);
-
- r = EXIT_FAILURE;
-- if (keymap_load(vc, vc_keymap, vc_keymap_toggle, utf8, &keymap_pid) >= 0 &&
-+
-+ if (keymap_load(vc, vc_keymap, vc_keymap_toggle, utf8, disable_capslock, &keymap_pid) >= 0 &&
+@@ -312,14 +439,32 @@ int main(int argc, char **argv) {
+ if (font_pid > 0)
+ wait_for_terminate_and_warn(KBD_SETFONT, font_pid, true);
+
+- r = keymap_load(vc, vc_keymap, vc_keymap_toggle, utf8, &keymap_pid);
++ r = keymap_load(vc, vc_keymap, vc_keymap_toggle, utf8, disable_capslock, &keymap_pid);
+ if (r < 0) {
+ log_error_errno(r, "Failed to start " KBD_LOADKEYS ": %m");
+ return EXIT_FAILURE;
+ }
+#ifdef HAVE_SYSV_COMPAT
-+ load_compose_table(vc, vc_compose_table, &compose_table_pid) >= 0 &&
-+ set_kbd_rate(vc, vc_kbd_rate, vc_kbd_delay, &kbd_rate_pid) >= 0 &&
++ r = load_compose_table(vc, vc_compose_table, &compose_table_pid);
++ if (r < 0) {
++ log_error_errno(r, "Failed to start " KBD_LOADKEYS " loading the compose table: %m");
++ return EXIT_FAILURE;
++ }
++ r = set_kbd_rate(vc, vc_kbd_rate, vc_kbd_delay, &kbd_rate_pid);
++ if (r < 0) {
++ log_error_errno(r, "Failed to start kbdrate: %m");
++ return EXIT_FAILURE;
++ }
+#endif
- font_load(vc, vc_font, vc_font_map, vc_font_unimap, &font_pid) >= 0)
- r = EXIT_SUCCESS;
-@@ -290,6 +423,14 @@ finish:
if (keymap_pid > 0)
- wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid);
-
+ wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid, true);
+#ifdef HAVE_SYSV_COMPAT
+ if (compose_table_pid > 0)
-+ wait_for_terminate_and_warn(KBD_LOADKEYS, compose_table_pid);
-+
++ wait_for_terminate_and_warn(KBD_LOADKEYS, compose_table_pid, true);
+ if (kbd_rate_pid > 0)
-+ wait_for_terminate_and_warn("/bin/kbdrate", kbd_rate_pid);
-+#endif
-+
- if (font_pid > 0) {
- wait_for_terminate_and_warn(KBD_SETFONT, font_pid);
- if (font_copy)
-@@ -300,6 +441,12 @@ finish:
- free(vc_font);
- free(vc_font_map);
- free(vc_font_unimap);
-+#ifdef HAVE_SYSV_COMPAT
-+ free(vc_kbd_delay);
-+ free(vc_kbd_rate);
-+ free(vc_kbd_disable_caps_lock);
-+ free(vc_compose_table);
++ wait_for_terminate_and_warn("/usr/bin/kbdrate", kbd_rate_pid, true);
+#endif
- if (fd >= 0)
- close_nointr_nofail(fd);
+ /* Only copy the font when we started setfont successfully */
+ if (font_copy && font_pid > 0)
++++++ handle-numlock-value-in-etc-sysconfig-keyboard.patch ++++++
--- /var/tmp/diff_new_pack.VaiRfi/_old 2015-03-27 09:39:51.000000000 +0100
+++ /var/tmp/diff_new_pack.VaiRfi/_new 2015-03-27 09:39:51.000000000 +0100
@@ -6,105 +6,19 @@
Stanislav Brabec
Cristian Rodríguez
-Index: systemd-210/src/vconsole/vconsole-setup.c
-===================================================================
---- systemd-210.orig/src/vconsole/vconsole-setup.c
-+++ systemd-210/src/vconsole/vconsole-setup.c
-@@ -42,6 +42,10 @@
- #include "fileio.h"
- #include "strv.h"
-
-+#define BIOS_DATA_AREA 0x400
-+#define BDA_KEYBOARD_STATUS_FLAGS_4 0x97
-+#define BDA_KSF4_NUMLOCK_MASK 0x02
-+
- static bool is_vconsole(int fd) {
- unsigned char data[1];
-
-@@ -321,12 +325,14 @@ int main(int argc, char **argv) {
- char *vc_kbd_delay = NULL;
- char *vc_kbd_rate = NULL;
- char *vc_kbd_disable_caps_lock = NULL;
-+ char *vc_kbd_numlock = NULL;
- char *vc_compose_table = NULL;
- pid_t kbd_rate_pid = 0, compose_table_pid = 0;
- #endif
- int fd = -1;
- bool utf8;
- bool disable_capslock = false;
-+ bool numlock = false;
- pid_t font_pid = 0, keymap_pid = 0;
- bool font_copy = false;
- int r = EXIT_FAILURE;
-@@ -363,6 +369,7 @@ int main(int argc, char **argv) {
- "KBD_DELAY", &vc_kbd_delay,
- "KBD_RATE", &vc_kbd_rate,
- "KBD_DISABLE_CAPS_LOCK", &vc_kbd_disable_caps_lock,
-+ "KBD_NUMLOCK", &vc_kbd_numlock,
- "COMPOSETABLE", &vc_compose_table,
- NULL);
- if (r < 0 && r != -ENOENT)
-@@ -377,6 +384,36 @@ int main(int argc, char **argv) {
- log_warning("Failed to read /etc/sysconfig/console: %s", strerror(-r));
-
- disable_capslock = vc_kbd_disable_caps_lock && strcasecmp(vc_kbd_disable_caps_lock, "YES") == 0;
-+#if defined(__i386__) || defined(__x86_64__)
-+ if (vc_kbd_numlock && strcaseeq(vc_kbd_numlock, "bios")) {
-+ int _cleanup_close_ fdmem;
-+ char c;
-+
-+ fdmem = open ("/dev/mem", O_RDONLY);
-+
-+ if(fdmem < 0) {
-+ r = EXIT_FAILURE;
-+ log_error("Failed to open /dev/mem: %m");
-+ goto finish;
-+ }
-+
-+ if(lseek(fdmem, BIOS_DATA_AREA + BDA_KEYBOARD_STATUS_FLAGS_4, SEEK_SET) == (off_t) -1) {
-+ r = EXIT_FAILURE;
-+ log_error("Failed to seek /dev/mem: %m");
-+ goto finish;
-+ }
-+
-+ if(read (fdmem, &c, sizeof(char)) == -1) {
-+ r = EXIT_FAILURE;
-+ log_error("Failed to read /dev/mem: %m");
-+ goto finish;
-+ }
-+
-+ if (c & BDA_KSF4_NUMLOCK_MASK)
-+ numlock = true;
-+ } else
-+#endif
-+ numlock = vc_kbd_numlock && strcaseeq(vc_kbd_numlock, "yes");
- #endif
-
- r = parse_env_file("/etc/vconsole.conf", NEWLINE,
-@@ -422,6 +459,10 @@ int main(int argc, char **argv) {
- finish:
- if (keymap_pid > 0)
- wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid);
-+ if (numlock)
-+ touch("/run/numlock-on");
-+ else
-+ unlink("/run/numlock-on");
-
- #ifdef HAVE_SYSV_COMPAT
- if (compose_table_pid > 0)
-@@ -441,6 +482,7 @@ finish:
- free(vc_font);
- free(vc_font_map);
- free(vc_font_unimap);
-+ free(vc_kbd_numlock);
- #ifdef HAVE_SYSV_COMPAT
- free(vc_kbd_delay);
- free(vc_kbd_rate);
-Index: systemd-210/Makefile.am
+---
+ Makefile.am | 13 ++++++++++
+ rules/73-seat-numlock.rules | 8 ++++++
+ src/login/numlock-on.c | 34 +++++++++++++++++++++++++++
+ src/vconsole/vconsole-setup.c | 40 ++++++++++++++++++++++++++++++--
+ units/systemd-vconsole-setup.service.in | 2 -
+ 5 files changed, 94 insertions(+), 3 deletions(-)
+
+Index: systemd-218/Makefile.am
===================================================================
---- systemd-210.orig/Makefile.am
-+++ systemd-210/Makefile.am
-@@ -2847,6 +2847,19 @@ dist_udevrules_DATA += \
+--- systemd-218.orig/Makefile.am
++++ systemd-218/Makefile.am
+@@ -3715,6 +3715,19 @@ dist_udevrules_DATA += \
rules/61-accelerometer.rules
# ------------------------------------------------------------------------------
@@ -124,10 +38,10 @@
if ENABLE_GUDEV
if ENABLE_GTK_DOC
SUBDIRS += \
-Index: systemd-210/rules/73-seat-numlock.rules
+Index: systemd-218/rules/73-seat-numlock.rules
===================================================================
--- /dev/null
-+++ systemd-210/rules/73-seat-numlock.rules
++++ systemd-218/rules/73-seat-numlock.rules
@@ -0,0 +1,8 @@
+# This file is part of SUSE customization of systemd.
+#
@@ -137,10 +51,10 @@
+# (at your option) any later version.
+
+SUBSYSTEM=="tty", ACTION=="add", KERNEL=="tty[0-9]|tty1[0-2]", TEST=="/run/numlock-on", RUN+="numlock-on $env{DEVNAME}"
-Index: systemd-210/src/login/numlock-on.c
+Index: systemd-218/src/login/numlock-on.c
===================================================================
--- /dev/null
-+++ systemd-210/src/login/numlock-on.c
++++ systemd-218/src/login/numlock-on.c
@@ -0,0 +1,34 @@
+/*
+ * numlock-on.c: Turn numlock-on
@@ -176,14 +90,95 @@
+
+ exit(0);
+}
-Index: systemd-210/units/systemd-vconsole-setup.service.in
+Index: systemd-218/src/vconsole/vconsole-setup.c
+===================================================================
+--- systemd-218.orig/src/vconsole/vconsole-setup.c
++++ systemd-218/src/vconsole/vconsole-setup.c
+@@ -42,6 +42,10 @@
+ #include "fileio.h"
+ #include "strv.h"
+
++#define BIOS_DATA_AREA 0x400
++#define BDA_KEYBOARD_STATUS_FLAGS_4 0x97
++#define BDA_KSF4_NUMLOCK_MASK 0x02
++
+ static bool is_vconsole(int fd) {
+ unsigned char data[1];
+
+@@ -342,10 +346,11 @@ int main(int argc, char **argv) {
+ #ifdef HAVE_SYSV_COMPAT
+ _cleanup_free_ char
+ *vc_kbd_delay = NULL, *vc_kbd_rate = NULL,
+- *vc_kbd_disable_caps_lock = NULL, *vc_compose_table = NULL;
++ *vc_kbd_disable_caps_lock = NULL, *vc_compose_table = NULL,
++ *vc_kbd_numlock = NULL;
+ pid_t kbd_rate_pid = 0, compose_table_pid = 0;
+ #endif
+- bool disable_capslock = false;
++ bool disable_capslock = false, numlock = false;
+ _cleanup_close_ int fd = -1;
+ bool utf8;
+ pid_t font_pid = 0, keymap_pid = 0;
+@@ -384,6 +389,7 @@ int main(int argc, char **argv) {
+ "KBD_DELAY", &vc_kbd_delay,
+ "KBD_RATE", &vc_kbd_rate,
+ "KBD_DISABLE_CAPS_LOCK", &vc_kbd_disable_caps_lock,
++ "KBD_NUMLOCK", &vc_kbd_numlock,
+ "COMPOSETABLE", &vc_compose_table,
+ NULL);
+ if (r < 0 && r != -ENOENT)
+@@ -398,6 +404,32 @@ int main(int argc, char **argv) {
+ log_warning("Failed to read /etc/sysconfig/console: %s", strerror(-r));
+
+ disable_capslock = vc_kbd_disable_caps_lock && strcasecmp(vc_kbd_disable_caps_lock, "YES") == 0;
++#if defined(__i386__) || defined(__x86_64__)
++ if (vc_kbd_numlock && strcaseeq(vc_kbd_numlock, "bios")) {
++ int _cleanup_close_ fdmem;
++ char c;
++
++ fdmem = open ("/dev/mem", O_RDONLY);
++ if (fdmem < 0) {
++ log_error("Failed to open /dev/mem: %m");
++ return EXIT_FAILURE;
++ }
++
++ if (lseek(fdmem, BIOS_DATA_AREA + BDA_KEYBOARD_STATUS_FLAGS_4, SEEK_SET) == (off_t) -1) {
++ log_error("Failed to seek /dev/mem: %m");
++ return EXIT_FAILURE;
++ }
++
++ if (read (fdmem, &c, sizeof(char)) == -1) {
++ log_error("Failed to read /dev/mem: %m");
++ return EXIT_FAILURE;
++ }
++
++ if (c & BDA_KSF4_NUMLOCK_MASK)
++ numlock = true;
++ } else
++#endif
++ numlock = vc_kbd_numlock && strcaseeq(vc_kbd_numlock, "yes");
+ #endif
+
+ r = parse_env_file("/etc/vconsole.conf", NEWLINE,
+@@ -444,6 +476,10 @@ int main(int argc, char **argv) {
+ log_error_errno(r, "Failed to start " KBD_LOADKEYS ": %m");
+ return EXIT_FAILURE;
+ }
++ if (numlock)
++ touch("/run/numlock-on");
++ else
++ unlink("/run/numlock-on");
+ #ifdef HAVE_SYSV_COMPAT
+ r = load_compose_table(vc, vc_compose_table, &compose_table_pid);
+ if (r < 0) {
+Index: systemd-218/units/systemd-vconsole-setup.service.in
===================================================================
---- systemd-210.orig/units/systemd-vconsole-setup.service.in
-+++ systemd-210/units/systemd-vconsole-setup.service.in
-@@ -11,7 +11,7 @@ Documentation=man:systemd-vconsole-setup
+--- systemd-218.orig/units/systemd-vconsole-setup.service.in
++++ systemd-218/units/systemd-vconsole-setup.service.in
+@@ -10,7 +10,7 @@ Description=Setup Virtual Console
+ Documentation=man:systemd-vconsole-setup.service(8) man:vconsole.conf(5)
DefaultDependencies=no
Conflicts=shutdown.target
- After=systemd-readahead-collect.service systemd-readahead-replay.service
-Before=sysinit.target shutdown.target
+Before=sysinit.target shutdown.target systemd-udev-trigger.service
ConditionPathExists=/dev/tty0
++++++ handle-root_uses_lang-value-in-etc-sysconfig-language.patch ++++++
--- /var/tmp/diff_new_pack.VaiRfi/_old 2015-03-27 09:39:51.000000000 +0100
+++ /var/tmp/diff_new_pack.VaiRfi/_new 2015-03-27 09:39:51.000000000 +0100
@@ -4,16 +4,16 @@
handle ROOT_USES_LANG=ctype (bnc#792182).
---
- src/core/locale-setup.c | 27 +++++++++++++++++++++++++++
- 1 file changed, 27 insertions(+)
+ src/core/locale-setup.c | 26 ++++++++++++++++++++++++++
+ 1 file changed, 26 insertions(+)
-Index: systemd-208/src/core/locale-setup.c
+Index: systemd-218/src/core/locale-setup.c
===================================================================
---- systemd-208.orig/src/core/locale-setup.c
-+++ systemd-208/src/core/locale-setup.c
-@@ -73,6 +73,11 @@ int locale_setup(char ***environment) {
+--- systemd-218.orig/src/core/locale-setup.c
++++ systemd-218/src/core/locale-setup.c
+@@ -36,6 +36,11 @@ int locale_setup(char ***environment) {
char **add;
- char *variables[_VARIABLE_MAX] = {};
+ char *variables[_VARIABLE_LC_MAX] = {};
int r = 0, i;
+#ifdef HAVE_SYSV_COMPAT
+ char _cleanup_free_ *root_uses_lang;
@@ -23,9 +23,9 @@
if (detect_container(NULL) <= 0) {
r = parse_env_file("/proc/cmdline", WHITESPACE,
-@@ -119,6 +124,27 @@ int locale_setup(char ***environment) {
+@@ -82,6 +87,27 @@ int locale_setup(char ***environment) {
if (r < 0 && r != -ENOENT)
- log_warning("Failed to read /etc/locale.conf: %s", strerror(-r));
+ log_warning_errno(r, "Failed to read /etc/locale.conf: %m");
}
+#ifdef HAVE_SYSV_COMPAT
+ if (r <= 0 &&
@@ -50,4 +50,4 @@
+#endif
add = NULL;
- for (i = 0; i < _VARIABLE_MAX; i++) {
+ for (i = 0; i < _VARIABLE_LC_MAX; i++) {
++++++ insserv-generator.patch ++++++
--- /var/tmp/diff_new_pack.VaiRfi/_old 2015-03-27 09:39:51.000000000 +0100
+++ /var/tmp/diff_new_pack.VaiRfi/_new 2015-03-27 09:39:51.000000000 +0100
@@ -6,29 +6,30 @@
parse /etc/insserv.conf.dd content and /etc/insserv.conf and generate
systemd unit drop-in files to add dependencies
---
- Makefile.am | 9 +
- src/insserv-generator/Makefile | 28 +++
- src/insserv-generator/insserv-generator.c | 309 ++++++++++++++++++++++++++++++
- 3 files changed, 346 insertions(+)
+ Makefile.am | 9
+ src/insserv-generator/Makefile | 28 ++
+ src/insserv-generator/insserv-generator.c | 312 ++++++++++++++++++++++++++++++
+ 3 files changed, 349 insertions(+)
create mode 100644 src/insserv-generator/Makefile
create mode 100644 src/insserv-generator/insserv-generator.c
-Index: systemd-210/Makefile.am
-===================================================================
---- systemd-210.orig/Makefile.am
-+++ systemd-210/Makefile.am
-@@ -343,6 +343,7 @@ rootlibexec_PROGRAMS = \
- systemd-socket-proxyd
+--- systemd-219.orig/Makefile.am
++++ systemd-219/Makefile.am
+@@ -621,7 +621,8 @@ nodist_systemunit_DATA += \
- systemgenerator_PROGRAMS = \
-+ systemd-insserv-generator \
- systemd-getty-generator \
- systemd-fstab-generator \
- systemd-system-update-generator
-@@ -1728,6 +1729,14 @@ systemd_delta_LDADD = \
+ systemgenerator_PROGRAMS += \
+ systemd-sysv-generator \
+- systemd-rc-local-generator
++ systemd-rc-local-generator \
++ systemd-insserv-generator
+ endif
+
+ EXTRA_DIST += \
+@@ -2565,6 +2566,14 @@ systemd_rc_local_generator_LDADD = \
+ libsystemd-label.la \
libsystemd-shared.la
- # ------------------------------------------------------------------------------
++#-------------------------------------------------------------------------------
+systemd_insserv_generator_SOURCES = \
+ src/insserv-generator/insserv-generator.c
+
@@ -36,14 +37,11 @@
+ libsystemd-label.la \
+ libsystemd-shared.la
+
-+# ------------------------------------------------------------------------------
- systemd_getty_generator_SOURCES = \
- src/getty-generator/getty-generator.c
-
-Index: systemd-210/src/insserv-generator/Makefile
-===================================================================
+ # ------------------------------------------------------------------------------
+ systemd_remount_fs_SOURCES = \
+ src/remount-fs/remount-fs.c \
--- /dev/null
-+++ systemd-210/src/insserv-generator/Makefile
++++ systemd-219/src/insserv-generator/Makefile
@@ -0,0 +1,28 @@
+# This file is part of systemd.
+#
@@ -73,10 +71,8 @@
+ $(MAKE) -C .. clean
+
+.PHONY: all clean
-Index: systemd-210/src/insserv-generator/insserv-generator.c
-===================================================================
--- /dev/null
-+++ systemd-210/src/insserv-generator/insserv-generator.c
++++ systemd-219/src/insserv-generator/insserv-generator.c
@@ -0,0 +1,312 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
@@ -354,7 +350,7 @@
+
+ while ((de = readdir(d))) {
+ char *path = NULL;
-+ if (ignore_file(de->d_name))
++ if (hidden_file(de->d_name))
+ continue;
+
+ path = strjoin("/etc/insserv.conf.d/", de->d_name, NULL);
++++++ journald-advice-about-use-of-memory.patch ++++++
--- /var/tmp/diff_new_pack.VaiRfi/_old 2015-03-27 09:39:51.000000000 +0100
+++ /var/tmp/diff_new_pack.VaiRfi/_new 2015-03-27 09:39:51.000000000 +0100
@@ -1,143 +1,135 @@
+From: werner@suse.de
+Upstream: marked as openSUSE-specific fix originally, but may well
+ worth be to be sent upstream.
+
+Original description:
+ (none)
+
+Notes [jengelh@inai.de]:
+MAP_NONBLOCK is documented (mmap(2) in man-pages-3.69+) to render
+MAP_POPULATE ineffective. Why do we have it?
+What is the rationale for MAP_STACK?
---
- src/journal/catalog.c | 21 +++++++++++++++++++--
- src/journal/journal-authenticate.c | 4 ++--
- src/journal/journal-file.c | 2 +-
- src/journal/journald-kmsg.c | 2 +-
- src/journal/mmap-cache.c | 24 ++++++++++++++++++++++--
- 5 files changed, 45 insertions(+), 8 deletions(-)
+ src/journal/catalog.c | 12 +++++++++++-
+ src/journal/journal-authenticate.c | 7 +++++--
+ src/journal/journald-kmsg.c | 3 ++-
+ src/journal/mmap-cache.c | 16 +++++++++++++++-
+ 4 files changed, 33 insertions(+), 5 deletions(-)
---- src/journal/catalog.c
-+++ src/journal/catalog.c 2014-10-24 11:44:59.079838065 +0000
-@@ -472,9 +472,19 @@ finish:
+Index: systemd/src/journal/catalog.c
+===================================================================
+--- systemd.orig/src/journal/catalog.c
++++ systemd/src/journal/catalog.c
+@@ -470,6 +470,10 @@ finish:
static int open_mmap(const char *database, int *_fd, struct stat *_st, void **_p) {
const CatalogHeader *h;
-- int fd;
-+ static const struct {
-+ const int index;
-+ int advise;
-+ } advises[] = {
-+ {0,MADV_WILLNEED},
-+ {1,MADV_SEQUENTIAL},
-+ {2,MADV_DONTDUMP},
-+ {3,MADV_DONTFORK}
-+ };
-+ int n, fd;
++ static const unsigned int advice[] =
++ {MADV_WILLNEED, MADV_SEQUENTIAL, MADV_DONTDUMP, MADV_DONTFORK};
++ unsigned int n;
++ size_t psize;
+ int fd;
void *p;
struct stat st;
-+ size_t psize;
-
- assert(_fd);
- assert(_st);
-@@ -494,12 +504,19 @@ static int open_mmap(const char *databas
+@@ -492,12 +496,18 @@ static int open_mmap(const char *databas
return -EINVAL;
}
- p = mmap(NULL, PAGE_ALIGN(st.st_size), PROT_READ, MAP_SHARED, fd, 0);
+ psize = PAGE_ALIGN(st.st_size);
-+ p = mmap(NULL, psize, PROT_READ, MAP_SHARED|MAP_POPULATE|MAP_NONBLOCK, fd, 0);
++ p = mmap(NULL, psize, PROT_READ, MAP_SHARED | MAP_POPULATE |
++ MAP_NONBLOCK, fd, 0);
if (p == MAP_FAILED) {
- close_nointr_nofail(fd);
+ safe_close(fd);
return -errno;
}
-+ for (n=0; n < sizeof(advises)/sizeof(advises[0]); n++) {
-+ int r = madvise(p, psize, advises[n].advise);
-+ if (r < 0)
++ for (n = 0; n < sizeof(advice) / sizeof(*advice); ++n)
++ if (madvise(p, psize, advice[n]) < 0)
+ log_warning("Failed to give advice about use of memory: %m");
-+ }
+
h = p;
if (memcmp(h->signature, CATALOG_SIGNATURE, sizeof(h->signature)) != 0 ||
le64toh(h->header_size) < sizeof(CatalogHeader) ||
---- src/journal/journal-authenticate.c
-+++ src/journal/journal-authenticate.c 2014-10-24 07:41:09.271837523 +0000
-@@ -355,7 +355,7 @@ int journal_file_fss_load(JournalFile *f
+Index: systemd/src/journal/journal-authenticate.c
+===================================================================
+--- systemd.orig/src/journal/journal-authenticate.c
++++ systemd/src/journal/journal-authenticate.c
+@@ -355,7 +355,8 @@ int journal_file_fss_load(JournalFile *f
goto finish;
}
- m = mmap(NULL, PAGE_ALIGN(sizeof(FSSHeader)), PROT_READ, MAP_SHARED, fd, 0);
-+ m = mmap(NULL, PAGE_ALIGN(sizeof(FSSHeader)), PROT_READ, MAP_SHARED|MAP_STACK, fd, 0);
++ m = mmap(NULL, PAGE_ALIGN(sizeof(FSSHeader)), PROT_READ,
++ MAP_SHARED | MAP_STACK, fd, 0);
if (m == MAP_FAILED) {
m = NULL;
r = -errno;
-@@ -399,7 +399,7 @@ int journal_file_fss_load(JournalFile *f
+@@ -399,7 +400,9 @@ int journal_file_fss_load(JournalFile *f
goto finish;
}
- f->fss_file = mmap(NULL, PAGE_ALIGN(f->fss_file_size), PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0);
-+ f->fss_file = mmap(NULL, PAGE_ALIGN(f->fss_file_size), PROT_READ|PROT_WRITE, MAP_SHARED|MAP_STACK, fd, 0);
++ f->fss_file = mmap(NULL, PAGE_ALIGN(f->fss_file_size),
++ PROT_READ | PROT_WRITE, MAP_SHARED | MAP_STACK,
++ fd, 0);
if (f->fss_file == MAP_FAILED) {
f->fss_file = NULL;
r = -errno;
---- src/journal/journal-file.c
-+++ src/journal/journal-file.c 2014-10-24 07:39:25.603837720 +0000
-@@ -2554,7 +2554,7 @@ int journal_file_open(
- goto fail;
- }
-
-- f->header = mmap(NULL, PAGE_ALIGN(sizeof(Header)), prot_from_flags(flags), MAP_SHARED, f->fd, 0);
-+ f->header = mmap(NULL, PAGE_ALIGN(sizeof(Header)), prot_from_flags(flags), MAP_SHARED|MAP_STACK, f->fd, 0);
- if (f->header == MAP_FAILED) {
- f->header = NULL;
- r = -errno;
---- src/journal/journald-kmsg.c
-+++ src/journal/journald-kmsg.c 2014-10-24 07:38:01.967837989 +0000
-@@ -473,7 +473,7 @@ int server_open_kernel_seqnum(Server *s)
+Index: systemd/src/journal/journald-kmsg.c
+===================================================================
+--- systemd.orig/src/journal/journald-kmsg.c
++++ systemd/src/journal/journald-kmsg.c
+@@ -454,7 +454,8 @@ int server_open_kernel_seqnum(Server *s)
return 0;
}
- p = mmap(NULL, sizeof(uint64_t), PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0);
-+ p = mmap(NULL, sizeof(uint64_t), PROT_READ|PROT_WRITE, MAP_SHARED|MAP_STACK, fd, 0);
++ p = mmap(NULL, sizeof(uint64_t), PROT_READ | PROT_WRITE,
++ MAP_SHARED | MAP_STACK, fd, 0);
if (p == MAP_FAILED) {
- log_error("Failed to map sequential number file, ignoring: %m");
- close_nointr_nofail(fd);
---- src/journal/mmap-cache.c
-+++ src/journal/mmap-cache.c 2014-10-24 11:16:47.759837744 +0000
-@@ -439,12 +439,21 @@ static int add_mmap(
+ log_error_errno(errno, "Failed to map sequential number file, ignoring: %m");
+ return 0;
+Index: systemd/src/journal/mmap-cache.c
+===================================================================
+--- systemd.orig/src/journal/mmap-cache.c
++++ systemd/src/journal/mmap-cache.c
+@@ -467,11 +467,14 @@ static int add_mmap(
struct stat *st,
void **ret) {
-+ static const struct {
-+ const int index;
-+ int vise;
-+ } ad[] = {
-+ {0, MADV_WILLNEED},
-+ {1, MADV_SEQUENTIAL},
-+ {2, MADV_DONTDUMP},
-+ {3, MADV_DONTFORK}
-+ };
++ static const unsigned int advice[] =
++ {MADV_WILLNEED, MADV_SEQUENTIAL, MADV_DONTDUMP, MADV_DONTFORK};
uint64_t woffset, wsize;
Context *c;
FileDescriptor *f;
Window *w;
void *d;
-- int r;
-+ int n, r;
++ unsigned int n;
+ int r;
assert(m);
- assert(m->n_ref > 0);
-@@ -481,7 +490,7 @@ static int add_mmap(
+@@ -510,7 +513,8 @@ static int add_mmap(
}
for (;;) {
- d = mmap(NULL, wsize, prot, MAP_SHARED, fd, woffset);
-+ d = mmap(NULL, wsize, prot, MAP_SHARED|MAP_POPULATE|MAP_NONBLOCK, fd, woffset);
++ d = mmap(NULL, wsize, prot, MAP_SHARED | MAP_POPULATE |
++ MAP_NONBLOCK, fd, woffset);
if (d != MAP_FAILED)
break;
if (errno != ENOMEM)
-@@ -494,6 +503,17 @@ static int add_mmap(
+@@ -523,6 +527,16 @@ static int add_mmap(
return -ENOMEM;
}
-+ for (n=0; n < sizeof(ad)/sizeof(ad[0]); n++) {
-+ if (ad[n].vise == MADV_DONTFORK) {
++ for (n = 0; n < sizeof(advice) / sizeof(*advice); ++n) {
++ if (advice[n] == MADV_DONTFORK) {
+ int flags = fcntl(fd, F_GETFD);
+ if (flags < 0 || !(flags & FD_CLOEXEC))
+ continue;
+ }
-+ r = madvise(d, wsize, ad[n].vise);
-+ if (r < 0)
++ if (madvise(d, wsize, advice[n]) < 0)
+ log_warning("Failed to give advice about use of memory: %m");
+ }
+
++++++ kbd-model-map.patch ++++++
--- /var/tmp/diff_new_pack.VaiRfi/_old 2015-03-27 09:39:51.000000000 +0100
+++ /var/tmp/diff_new_pack.VaiRfi/_new 2015-03-27 09:39:51.000000000 +0100
@@ -1,13 +1,18 @@
+From: werner@suse.de
+Date: Tue Jan 20 11:33:59 UTC 2015
+
---
src/locale/kbd-model-map | 13 +++++++++++++
1 file changed, 13 insertions(+)
---- src/locale/kbd-model-map
-+++ src/locale/kbd-model-map 2015-01-20 11:31:38.357518811 +0000
-@@ -63,3 +63,16 @@ by by,us pc105 - terminate:ctrl_alt_
- il il pc105 - terminate:ctrl_alt_bksp
- kazakh kz,us pc105 - terminate:ctrl_alt_bksp,grp:shifts_toggle,grp_led:scroll
+Index: systemd/src/locale/kbd-model-map
+===================================================================
+--- systemd.orig/src/locale/kbd-model-map
++++ systemd/src/locale/kbd-model-map
+@@ -66,3 +66,16 @@ lt.baltic lt pc105 - terminate:ctrl_a
+ lt.l4 lt pc105 - terminate:ctrl_alt_bksp
lt lt pc105 - terminate:ctrl_alt_bksp
+ khmer kh,us pc105 - terminate:ctrl_alt_bksp
+# Additional layouts offered by YaST
+Pl02 pl pc105 - terminate:ctrl_alt_bksp
+arabic ara,us pc105 - terminate:ctrl_alt_bksp,grp:shift_toggle
++++++ let-linker-find-libudev-for-libdevmapper.patch ++++++
--- /var/tmp/diff_new_pack.VaiRfi/_old 2015-03-27 09:39:51.000000000 +0100
+++ /var/tmp/diff_new_pack.VaiRfi/_new 2015-03-27 09:39:51.000000000 +0100
@@ -1,6 +1,13 @@
---- systemd-210/Makefile.am
-+++ systemd-210/Makefile.am 2014-03-13 08:54:36.010736086 +0000
-@@ -3691,6 +3691,10 @@ systemd_cryptsetup_CFLAGS = \
+---
+ Makefile.am | 4 ++++
+ configure.ac | 4 ----
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+Index: systemd/Makefile.am
+===================================================================
+--- systemd.orig/Makefile.am
++++ systemd/Makefile.am
+@@ -4789,6 +4789,10 @@ systemd_cryptsetup_CFLAGS = \
$(AM_CFLAGS) \
$(LIBCRYPTSETUP_CFLAGS)
@@ -11,27 +18,18 @@
systemd_cryptsetup_LDADD = \
libsystemd-label.la \
libudev-internal.la \
---- systemd-210/Makefile.in
-+++ systemd-210/Makefile.in 2014-03-13 09:19:48.950238725 +0000
-@@ -8964,7 +8964,7 @@ src/cryptsetup/systemd_cryptsetup-crypts
+Index: systemd/configure.ac
+===================================================================
+--- systemd.orig/configure.ac
++++ systemd/configure.ac
+@@ -206,10 +206,6 @@ AS_CASE([$CC], [*clang*],
+ -Wno-gnu-variable-sized-type-not-at-end \
+ ])])
- systemd-cryptsetup$(EXEEXT): $(systemd_cryptsetup_OBJECTS) $(systemd_cryptsetup_DEPENDENCIES) $(EXTRA_systemd_cryptsetup_DEPENDENCIES)
- @rm -f systemd-cryptsetup$(EXEEXT)
-- $(AM_V_CCLD)$(systemd_cryptsetup_LINK) $(systemd_cryptsetup_OBJECTS) $(systemd_cryptsetup_LDADD) $(LIBS)
-+ $(AM_V_CCLD)$(systemd_cryptsetup_LINK) $(systemd_cryptsetup_OBJECTS) $(systemd_cryptsetup_LDFLAGS) $(systemd_cryptsetup_LDADD) $(LIBS)
- src/cryptsetup/cryptsetup-generator.$(OBJEXT): \
- src/cryptsetup/$(am__dirstamp) \
- src/cryptsetup/$(DEPDIR)/$(am__dirstamp)
---- systemd-210/configure.ac
-+++ systemd-210/configure.ac 2014-03-13 13:46:24.394235954 +0000
-@@ -156,10 +156,6 @@ CC_CHECK_FLAGS_APPEND([with_cflags], [CF
- -fdata-sections \
- -fstack-protector \
- --param=ssp-buffer-size=4])
-AS_CASE([$CFLAGS], [*-O[[12345\ ]]*],
- [CC_CHECK_FLAGS_APPEND([with_cflags], [CFLAGS], [\
-- -flto])],
+- -flto -ffat-lto-objects])],
- [AC_MSG_RESULT([skipping -flto, optimization not enabled])])
- AC_SUBST([OUR_CFLAGS], "$with_cflags $address_sanitizer_cflags")
+ AC_SUBST([OUR_CFLAGS], "$with_cflags $sanitizer_cflags")
AS_CASE([$CFLAGS], [*-O[[12345\ ]]*],
++++++ macros.systemd.upstream ++++++
--- /var/tmp/diff_new_pack.VaiRfi/_old 2015-03-27 09:39:51.000000000 +0100
+++ /var/tmp/diff_new_pack.VaiRfi/_new 2015-03-27 09:39:51.000000000 +0100
@@ -26,7 +26,9 @@
%_udevrulesdir @udevrulesdir@
%_journalcatalogdir @catalogdir@
%_tmpfilesdir @tmpfilesdir@
+%_sysusersdir @sysusersdir@
%_sysctldir @sysctldir@
+%_binfmtdir @binfmtdir@
%systemd_requires \
Requires(post): systemd \
@@ -37,42 +39,71 @@
%systemd_post() \
if [ $1 -eq 1 ] ; then \
# Initial installation \
- @rootbindir@/systemctl preset %{?*} >/dev/null 2>&1 || : \
+ systemctl preset %{?*} >/dev/null 2>&1 || : \
fi \
%{nil}
+%systemd_user_post() %systemd_post --user --global %{?*}
+
%systemd_preun() \
if [ $1 -eq 0 ] ; then \
# Package removal, not upgrade \
- @rootbindir@/systemctl --no-reload disable %{?*} > /dev/null 2>&1 || : \
- @rootbindir@/systemctl stop %{?*} > /dev/null 2>&1 || : \
+ systemctl --no-reload disable %{?*} > /dev/null 2>&1 || : \
+ systemctl stop %{?*} > /dev/null 2>&1 || : \
+fi \
+%{nil}
+
+%systemd_user_preun() \
+if [ $1 -eq 0 ] ; then \
+ # Package removal, not upgrade \
+ systemctl --no-reload --user --global disable %{?*} > /dev/null 2>&1 || : \
fi \
%{nil}
%systemd_postun() \
-@rootbindir@/systemctl daemon-reload >/dev/null 2>&1 || : \
+systemctl daemon-reload >/dev/null 2>&1 || : \
%{nil}
+%systemd_user_postun() %{nil}
+
%systemd_postun_with_restart() \
-@rootbindir@/systemctl daemon-reload >/dev/null 2>&1 || : \
+systemctl daemon-reload >/dev/null 2>&1 || : \
if [ $1 -ge 1 ] ; then \
# Package upgrade, not uninstall \
- @rootbindir@/systemctl try-restart %{?*} >/dev/null 2>&1 || : \
+ systemctl try-restart %{?*} >/dev/null 2>&1 || : \
fi \
%{nil}
+%systemd_user_postun_with_restart() %{nil}
+
%udev_hwdb_update() \
-@rootbindir@/udevadm hwdb --update >/dev/null 2>&1 || : \
+udevadm hwdb --update >/dev/null 2>&1 || : \
%{nil}
%udev_rules_update() \
-@rootbindir@/udevadm control --reload >/dev/null 2>&1 || : \
+udevadm control --reload >/dev/null 2>&1 || : \
%{nil}
%journal_catalog_update() \
-@rootbindir@/journalctl --update-catalog >/dev/null 2>&1 || : \
+journalctl --update-catalog >/dev/null 2>&1 || : \
%{nil}
%tmpfiles_create() \
-@rootbindir@/systemd-tmpfiles --create %{?*} >/dev/null 2>&1 || : \
+systemd-tmpfiles --create %{?*} >/dev/null 2>&1 || : \
+%{nil}
+
+%sysusers_create() \
+systemd-sysusers %{?*} >/dev/null 2>&1 || : \
+%{nil}
+
+%sysusers_create_inline() \
+echo %{?*} | systemd-sysusers - >/dev/null 2>&1 || : \
+%{nil}
+
+%sysctl_apply() \
+@rootlibexecdir@/systemd-sysctl %{?*} >/dev/null 2>&1 || : \
+%{nil}
+
+%binfmt_apply() \
+@rootlibexecdir@/systemd-binfmt %{?*} >/dev/null 2>&1 || : \
%{nil}
++++++ make-emergency.service-conflict-with-syslog.socket.patch ++++++
--- /var/tmp/diff_new_pack.VaiRfi/_old 2015-03-27 09:39:51.000000000 +0100
+++ /var/tmp/diff_new_pack.VaiRfi/_new 2015-03-27 09:39:51.000000000 +0100
@@ -7,16 +7,19 @@
emergency.service.
Reference: bnc#852232
-Index: systemd-208/units/emergency.service.in
+---
+ units/emergency.service.in | 1 +
+ 1 file changed, 1 insertion(+)
+
+Index: systemd-218/units/emergency.service.in
===================================================================
---- systemd-208/units/emergency.service.in
-+++ systemd-208/units/emergency.service.in
-@@ -9,7 +9,7 @@
- Description=Emergency Shell
- Documentation=man:sulogin(8)
+--- systemd-218.orig/units/emergency.service.in
++++ systemd-218/units/emergency.service.in
+@@ -11,6 +11,7 @@ Documentation=man:sulogin(8)
DefaultDependencies=no
--Conflicts=shutdown.target
-+Conflicts=shutdown.target syslog.socket
+ Conflicts=shutdown.target
+ Conflicts=rescue.service
++Conflicts=syslog.socket
Before=shutdown.target
[Service]
++++++ parse-crypttab-for-noauto-option.patch ++++++
--- /var/tmp/diff_new_pack.VaiRfi/_old 2015-03-27 09:39:51.000000000 +0100
+++ /var/tmp/diff_new_pack.VaiRfi/_new 2015-03-27 09:39:51.000000000 +0100
@@ -1,14 +1,14 @@
---
- src/fstab-generator/fstab-generator.c | 52 ++++++++++++++++++++++++++++++++--
- 1 file changed, 50 insertions(+), 2 deletions(-)
+ src/fstab-generator/fstab-generator.c | 45 +++++++++++++++++++++++++++++++++-
+ 1 file changed, 44 insertions(+), 1 deletion(-)
-Index: systemd-210/src/fstab-generator/fstab-generator.c
+Index: systemd/src/fstab-generator/fstab-generator.c
===================================================================
---- systemd-210.orig/src/fstab-generator/fstab-generator.c
-+++ systemd-210/src/fstab-generator/fstab-generator.c
-@@ -37,6 +37,50 @@
- static const char *arg_dest = "/tmp";
- static bool arg_enabled = true;
+--- systemd.orig/src/fstab-generator/fstab-generator.c
++++ systemd/src/fstab-generator/fstab-generator.c
+@@ -48,6 +48,49 @@ static char *arg_usr_what = NULL;
+ static char *arg_usr_fstype = NULL;
+ static char *arg_usr_options = NULL;
+static int check_crypttab(const char *what) {
+ _cleanup_fclose_ FILE *f = NULL;
@@ -53,26 +53,15 @@
+ return 1;
+}
+
-+
- static int mount_find_pri(struct mntent *me, int *ret) {
- char *end, *pri;
- unsigned long r;
-@@ -212,7 +256,7 @@ static int add_mount(
- *name = NULL, *unit = NULL, *lnk = NULL,
- *automount_name = NULL, *automount_unit = NULL;
- _cleanup_fclose_ FILE *f = NULL;
-- int r;
-+ int r, c;
-
- assert(what);
- assert(where);
-@@ -288,7 +332,8 @@ static int add_mount(
- return -errno;
- }
+ static int add_swap(
+ const char *what,
+ struct mntent *me,
+@@ -118,7 +161,7 @@ static int add_swap(
+ if (r < 0)
+ return r;
- if (!noauto) {
-+ c = check_crypttab(what);
-+ if (!noauto && (c != 0)) {
- if (post) {
- lnk = strjoin(arg_dest, "/", post, nofail || automount ? ".wants/" : ".requires/", name, NULL);
- if (!lnk)
++ if (!noauto && check_crypttab(what) != 0) {
+ lnk = strjoin(arg_dest, "/" SPECIAL_SWAP_TARGET,
+ nofail ? ".wants/" : ".requires/", name, NULL);
+ if (!lnk)
++++++ plymouth-quit-and-wait-for-emergency-service.patch ++++++
--- /var/tmp/diff_new_pack.VaiRfi/_old 2015-03-27 09:39:51.000000000 +0100
+++ /var/tmp/diff_new_pack.VaiRfi/_new 2015-03-27 09:39:51.000000000 +0100
@@ -1,35 +1,47 @@
---- systemd-208/units/console-shell.service.m4.in
-+++ systemd-208/units/console-shell.service.m4.in 2014-02-05 11:28:31.446735287 +0000
+---
+ units/console-shell.service.m4.in | 2 ++
+ units/emergency.service.in | 3 ++-
+ units/rescue.service.in | 3 ++-
+ 3 files changed, 6 insertions(+), 2 deletions(-)
+
+Index: systemd/units/console-shell.service.m4.in
+===================================================================
+--- systemd.orig/units/console-shell.service.m4.in
++++ systemd/units/console-shell.service.m4.in
@@ -17,6 +17,8 @@ Before=getty.target
[Service]
Environment=HOME=/root
WorkingDirectory=/root
+ExecStartPre=-/usr/bin/plymouth quit
+ExecStartPre=-/usr/bin/plymouth --wait
- ExecStart=-/usr/sbin/sulogin
+ ExecStart=-@SULOGIN@
ExecStopPost=-@SYSTEMCTL@ poweroff
Type=idle
---- systemd-208/units/rescue.service.m4.in
-+++ systemd-208/units/rescue.service.m4.in 2014-02-05 11:28:45.214235524 +0000
-@@ -16,7 +16,8 @@ Before=shutdown.target
+Index: systemd/units/emergency.service.in
+===================================================================
+--- systemd.orig/units/emergency.service.in
++++ systemd/units/emergency.service.in
+@@ -17,7 +17,8 @@ Before=shutdown.target
[Service]
Environment=HOME=/root
WorkingDirectory=/root
-ExecStartPre=-/bin/plymouth quit
+ExecStartPre=-/usr/bin/plymouth quit
+ExecStartPre=-/usr/bin/plymouth --wait
- ExecStartPre=-/bin/echo -e 'Welcome to rescue mode! Type "systemctl default" or ^D to enter default mode.\\nType "journalctl -xb" to view system logs. Type "systemctl reboot" to reboot.'
- ExecStart=-/usr/sbin/sulogin
- ExecStopPost=-@SYSTEMCTL@ --fail --no-block default
---- systemd-208/units/emergency.service.in
-+++ systemd-208/units/emergency.service.in 2014-02-05 11:28:51.782235282 +0000
-@@ -15,7 +15,8 @@ Before=shutdown.target
+ ExecStartPre=-/bin/echo -e 'Welcome to emergency mode! After logging in, type "journalctl -xb" to view\\nsystem logs, "systemctl reboot" to reboot, "systemctl default" or ^D to\\ntry again to boot into default mode.'
+ ExecStart=-/bin/sh -c "@SULOGIN@; @SYSTEMCTL@ --fail --no-block default"
+ Type=idle
+Index: systemd/units/rescue.service.in
+===================================================================
+--- systemd.orig/units/rescue.service.in
++++ systemd/units/rescue.service.in
+@@ -16,7 +16,8 @@ Before=shutdown.target
[Service]
Environment=HOME=/root
WorkingDirectory=/root
-ExecStartPre=-/bin/plymouth quit
+ExecStartPre=-/usr/bin/plymouth quit
+ExecStartPre=-/usr/bin/plymouth --wait
- ExecStartPre=-/bin/echo -e 'Welcome to emergency mode! After logging in, type "journalctl -xb" to view\\nsystem logs, "systemctl reboot" to reboot, "systemctl default" to try again\\nto boot into default mode.'
- ExecStart=-/usr/sbin/sulogin
- ExecStopPost=@SYSTEMCTL@ --fail --no-block default
+ ExecStartPre=-/bin/echo -e 'Welcome to emergency mode! After logging in, type "journalctl -xb" to view\\nsystem logs, "systemctl reboot" to reboot, "systemctl default" or ^D to\\nboot into default mode.'
+ ExecStart=-/bin/sh -c "@SULOGIN@; @SYSTEMCTL@ --fail --no-block default"
+ Type=idle
++++++ respect-nfs-bg-option.patch ++++++
--- /var/tmp/diff_new_pack.VaiRfi/_old 2015-03-27 09:39:51.000000000 +0100
+++ /var/tmp/diff_new_pack.VaiRfi/_new 2015-03-27 09:39:51.000000000 +0100
@@ -1,19 +1,22 @@
---- systemd-210/src/fstab-generator/fstab-generator.c 2014-02-17 15:49:21.070855641 +0100
-+++ systemd-210/src/fstab-generator/fstab-generator.c 2014-04-25 16:25:13.256106126 +0200
-@@ -255,10 +255,12 @@
- "SourcePath=%s\n",
- source);
+---
+ src/fstab-generator/fstab-generator.c | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+Index: systemd-218/src/fstab-generator/fstab-generator.c
+===================================================================
+--- systemd-218.orig/src/fstab-generator/fstab-generator.c
++++ systemd-218/src/fstab-generator/fstab-generator.c
+@@ -238,8 +238,11 @@ static int add_mount(
+ "Documentation=man:fstab(5) man:systemd-fstab-generator(8)\n",
+ source);
- if (post && !noauto && !nofail && !automount)
-- fprintf(f,
-- "Before=%s\n",
-- post);
+- fprintf(f, "Before=%s\n", post);
+ if (post && !noauto && !nofail && !automount) {
-+ if (!streq(type, "nfs") || (streq(type, "nfs") && !strstr(opts, "bg")))
-+ fprintf(f,
-+ "Before=%s\n",
-+ post);
++ bool is_nfs = fstype != NULL && streq(fstype, "nfs");
++ if (!is_nfs || strstr(opts, "bg") == NULL)
++ fprintf(f, "Before=%s\n", post);
+ }
- r = add_fsck(f, what, where, type, passno);
- if (r < 0)
+ if (passno != 0) {
+ r = generator_write_fsck_deps(f, arg_dest, what, where, fstype);
++++++ restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch ++++++
--- /var/tmp/diff_new_pack.VaiRfi/_old 2015-03-27 09:39:51.000000000 +0100
+++ /var/tmp/diff_new_pack.VaiRfi/_new 2015-03-27 09:39:51.000000000 +0100
@@ -3,18 +3,20 @@
Subject: restore /var/run and /var/lock bind mount if they aren't symlink
---
- Makefile.am | 9 +++++++++
- units/var-lock.mount | 19 +++++++++++++++++++
- units/var-run.mount | 19 +++++++++++++++++++
+ Makefile.am | 9 +++++++++
+ units/var-lock.mount | 19 +++++++++++++++++++
+ units/var-run.mount | 19 +++++++++++++++++++
3 files changed, 47 insertions(+)
create mode 100644 units/var-lock.mount
create mode 100644 units/var-run.mount
---- systemd-206_git201308300826.orig/Makefile.am
-+++ systemd-206_git201308300826/Makefile.am
-@@ -419,6 +419,12 @@ dist_systemunit_DATA = \
- units/system-update.target \
- units/initrd-switch-root.target
+Index: systemd-218/Makefile.am
+===================================================================
+--- systemd-218.orig/Makefile.am
++++ systemd-218/Makefile.am
+@@ -516,6 +516,12 @@ endif
+ dist_systemunit_DATA_busnames += \
+ units/busnames.target
+if HAVE_SYSV_COMPAT
+dist_systemunit_DATA += \
@@ -25,7 +27,7 @@
nodist_systemunit_DATA = \
units/getty@.service \
units/serial-getty@.service \
-@@ -4379,6 +4385,9 @@ RUNLEVEL4_TARGET_WANTS += \
+@@ -6086,6 +6092,9 @@ RUNLEVEL4_TARGET_WANTS += \
systemd-update-utmp-runlevel.service
RUNLEVEL5_TARGET_WANTS += \
systemd-update-utmp-runlevel.service
@@ -33,10 +35,12 @@
+ var-run.mount \
+ var-lock.mount
endif
+
SYSINIT_TARGET_WANTS += \
- systemd-update-utmp.service
+Index: systemd-218/units/var-lock.mount
+===================================================================
--- /dev/null
-+++ systemd-206_git201308300826/units/var-lock.mount
++++ systemd-218/units/var-lock.mount
@@ -0,0 +1,19 @@
+# This file is part of systemd.
+#
@@ -57,8 +61,10 @@
+Where=/var/lock
+Type=bind
+Options=bind
+Index: systemd-218/units/var-run.mount
+===================================================================
--- /dev/null
-+++ systemd-206_git201308300826/units/var-run.mount
++++ systemd-218/units/var-run.mount
@@ -0,0 +1,19 @@
+# This file is part of systemd.
+#
++++++ set-and-use-default-logconsole.patch ++++++
--- /var/tmp/diff_new_pack.VaiRfi/_old 2015-03-27 09:39:51.000000000 +0100
+++ /var/tmp/diff_new_pack.VaiRfi/_new 2015-03-27 09:39:51.000000000 +0100
@@ -6,10 +6,8 @@
src/journal/journald-server.c | 5 ++
3 files changed, 105 insertions(+)
-Index: src/journal/journald-console.c
-===================================================================
---- src/journal/journald-console.c.orig
-+++ src/journal/journald-console.c
+--- systemd-219.orig/src/journal/journald-console.c
++++ systemd-219/src/journal/journald-console.c
@@ -23,6 +23,14 @@
#include
#include
@@ -25,13 +23,13 @@
#include "fileio.h"
#include "journald-server.h"
-@@ -43,6 +51,74 @@ static bool prefix_timestamp(void) {
+@@ -43,6 +51,76 @@ static bool prefix_timestamp(void) {
return cached_printk_time;
}
-+#ifdef HAVE_SYSV_COMPAT
+void defaul_tty_path(Server *s)
+{
++#ifdef HAVE_SYSV_COMPAT
+ static const char list[] = "/dev/tty10\0" "/dev/console\0";
+ const char *vc;
+
@@ -51,10 +49,12 @@
+ s->tty_path = strdup(vc);
+ break;
+ }
++#endif
+}
+
+void klogconsole(Server *s)
+{
++#ifdef HAVE_SYSV_COMPAT
+ _cleanup_free_ char *klogconsole_params = NULL;
+ _cleanup_close_ int fd = -1;
+ const char *vc = s->tty_path;
@@ -94,27 +94,29 @@
+ num = klogconsole_params + strcspn(klogconsole_params, "0123456789");
+ if (safe_atoi(num, &r) == 0)
+ klogctl(8, 0, r);
-+}
+#endif
++}
+
void server_forward_console(
Server *s,
int priority,
-@@ -64,6 +140,10 @@ void server_forward_console(
+@@ -64,6 +142,12 @@ void server_forward_console(
if (LOG_PRI(priority) > s->max_level_console)
return;
++#ifdef HAVE_SYSV_COMPAT
+ /* Do not write security/authorization (private) messages to console */
+ if ((priority & LOG_FACMASK) == LOG_AUTHPRIV)
+ return;
++#endif
+
/* First: timestamp */
if (prefix_timestamp()) {
assert_se(clock_gettime(CLOCK_MONOTONIC, &ts) == 0);
-@@ -101,7 +181,23 @@ void server_forward_console(
+@@ -100,7 +184,23 @@ void server_forward_console(
fd = open_terminal(tty, O_WRONLY|O_NOCTTY|O_CLOEXEC);
if (fd < 0) {
- log_debug("Failed to open %s for logging: %m", tty);
+ log_debug_errno(errno, "Failed to open %s for logging: %m", tty);
+#ifdef HAVE_SYSV_COMPAT
+ if (fd != -ENOENT && fd != -ENODEV)
+ return;
@@ -135,23 +137,18 @@
}
if (writev(fd, iovec, n) < 0)
-Index: src/journal/journald-console.h
-===================================================================
---- src/journal/journald-console.h.orig
-+++ src/journal/journald-console.h
-@@ -24,3 +24,7 @@
+--- systemd-219.orig/src/journal/journald-console.h
++++ systemd-219/src/journal/journald-console.h
+@@ -24,3 +24,6 @@
#include "journald-server.h"
- void server_forward_console(Server *s, int priority, const char *identifier, const char *message, struct ucred *ucred);
-+#ifdef HAVE_SYSV_COMPAT
+ void server_forward_console(Server *s, int priority, const char *identifier, const char *message, const struct ucred *ucred);
++
+void klogconsole(Server *s);
+void defaul_tty_path(Server *s);
-+#endif
-Index: src/journal/journald-server.c
-===================================================================
---- src/journal/journald-server.c.orig
-+++ src/journal/journald-server.c
-@@ -1509,6 +1509,11 @@ int server_init(Server *s) {
+--- systemd-219.orig/src/journal/journald-server.c
++++ systemd-219/src/journal/journald-server.c
+@@ -1520,6 +1520,11 @@ int server_init(Server *s) {
server_parse_config_file(s);
server_parse_proc_cmdline(s);
@@ -161,5 +158,5 @@
+ klogconsole(s);
+
if (!!s->rate_limit_interval ^ !!s->rate_limit_burst) {
- log_debug("Setting both rate limit interval and burst from %llu,%u to 0,0",
- (long long unsigned) s->rate_limit_interval,
+ log_debug("Setting both rate limit interval and burst from "USEC_FMT",%u to 0,0",
+ s->rate_limit_interval, s->rate_limit_burst);
++++++ shut-up-rpmlint-on-var-log-journal.patch ++++++
--- /var/tmp/diff_new_pack.VaiRfi/_old 2015-03-27 09:39:51.000000000 +0100
+++ /var/tmp/diff_new_pack.VaiRfi/_new 2015-03-27 09:39:51.000000000 +0100
@@ -1,6 +1,12 @@
---- systemd-210/Makefile.am
-+++ systemd-210/Makefile.am 2014-07-28 09:05:41.002735451 +0000
-@@ -3242,11 +3242,11 @@ noinst_LTLIBRARIES += \
+---
+ Makefile.am | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+Index: systemd-218/Makefile.am
+===================================================================
+--- systemd-218.orig/Makefile.am
++++ systemd-218/Makefile.am
+@@ -4209,11 +4209,11 @@ noinst_LTLIBRARIES += \
libsystemd-journal-core.la
journal-install-hook:
@@ -16,4 +22,4 @@
+ -@echo setfacl -nm g:wheel:rx,d:g:wheel:rx $(DESTDIR)/var/log/journal/
journal-uninstall-hook:
- -rmdir $(DESTDIR)/var/log/journal/
+ -rmdir $(DESTDIR)/var/log/journal/remote
++++++ suse-sysv-bootd-support.diff ++++++
From: Frederic Crozat
Date: Fri, 12 Apr 2013 16:56:26 +0200
Subject: Revert "service: drop support for SysV scripts for the early boot"
This reverts commit 3cdebc217c42c8529086f2965319b6a48eaaeabe.
[Implementation note: currently, the unit is generated, but not
activated even if symlinks exist in boot.d. Hmmm... -jengelh@inai.de]
---
src/sysv-generator/sysv-generator.c | 26 +++++++++++++++++++++-----
1 file changed, 21 insertions(+), 5 deletions(-)
--- systemd-219.orig/src/sysv-generator/sysv-generator.c
+++ systemd-219/src/sysv-generator/sysv-generator.c
@@ -42,7 +42,8 @@
typedef enum RunlevelType {
RUNLEVEL_UP,
- RUNLEVEL_DOWN
+ RUNLEVEL_DOWN,
+ RUNLEVEL_SYSINIT,
} RunlevelType;
static const struct {
@@ -50,6 +51,9 @@ static const struct {
const char *target;
const RunlevelType type;
} rcnd_table[] = {
+ /* SUSE style boot.d */
+ { "boot.d", SPECIAL_SYSINIT_TARGET, RUNLEVEL_SYSINIT },
+
/* Standard SysV runlevels for start-up */
{ "rc1.d", SPECIAL_RESCUE_TARGET, RUNLEVEL_UP },
{ "rc2.d", SPECIAL_RUNLEVEL2_TARGET, RUNLEVEL_UP },
@@ -65,7 +69,7 @@ static const struct {
directories in this order, and we want to make sure that
sysv_start_priority is known when we first load the
unit. And that value we only know from S links. Hence
- UP must be read before DOWN */
+ UP/SYSINIT must be read before DOWN */
};
typedef struct SysvStub {
@@ -83,7 +87,7 @@ typedef struct SysvStub {
bool reload;
} SysvStub;
-const char *arg_dest = "/tmp";
+static const char *arg_dest = "/tmp";
static int add_symlink(const char *service, const char *where) {
_cleanup_free_ char *from = NULL, *to = NULL;
@@ -235,6 +239,10 @@ static bool usage_contains_reload(const
static char *sysv_translate_name(const char *name) {
char *r;
+ if (startswith(name, "boot."))
+ /* Drop SuSE-style boot. prefix */
+ name += 5;
+
r = new(char, strlen(name) + strlen(".service") + 1);
if (!r)
return NULL;
@@ -864,10 +872,10 @@ static int set_dependencies_from_rcnd(Lo
if (de->d_name[0] == 'S') {
- if (rcnd_table[i].type == RUNLEVEL_UP) {
+ if (rcnd_table[i].type == RUNLEVEL_UP ||
+ rcnd_table[i].type == RUNLEVEL_SYSINIT)
service->sysv_start_priority =
MAX(a*10 + b, service->sysv_start_priority);
- }
r = set_ensure_allocated(&runlevel_services[i], NULL);
if (r < 0)
@@ -878,7 +886,8 @@ static int set_dependencies_from_rcnd(Lo
goto finish;
} else if (de->d_name[0] == 'K' &&
- (rcnd_table[i].type == RUNLEVEL_DOWN)) {
+ (rcnd_table[i].type == RUNLEVEL_DOWN ||
+ rcnd_table[i].type == RUNLEVEL_SYSINIT)) {
r = set_ensure_allocated(&shutdown_services, NULL);
if (r < 0)
++++++ sysctl-handle-boot-sysctl.conf-kernel_release.patch ++++++
--- /var/tmp/diff_new_pack.VaiRfi/_old 2015-03-27 09:39:51.000000000 +0100
+++ /var/tmp/diff_new_pack.VaiRfi/_new 2015-03-27 09:39:51.000000000 +0100
@@ -6,14 +6,14 @@
Add support for kernel release sysctl.conf files (for per-flavor
configuration), needed by openSUSE (bnc#809420).
---
- src/sysctl/sysctl.c | 8 ++++++++
- units/systemd-sysctl.service.in | 1 +
- 2 files changed, 9 insertions(+)
+ src/sysctl/sysctl.c | 8 ++++++++
+ units/systemd-sysctl.service.in | 2 ++
+ 2 files changed, 10 insertions(+)
-Index: systemd-207/src/sysctl/sysctl.c
+Index: systemd-218/src/sysctl/sysctl.c
===================================================================
---- systemd-207.orig/src/sysctl/sysctl.c
-+++ systemd-207/src/sysctl/sysctl.c
+--- systemd-218.orig/src/sysctl/sysctl.c
++++ systemd-218/src/sysctl/sysctl.c
@@ -26,6 +26,7 @@
#include
#include
@@ -22,7 +22,7 @@
#include "log.h"
#include "strv.h"
-@@ -299,6 +300,13 @@ int main(int argc, char *argv[]) {
+@@ -310,6 +311,13 @@ int main(int argc, char *argv[]) {
} else {
_cleanup_strv_free_ char **files = NULL;
char **f;
@@ -36,14 +36,14 @@
r = conf_files_list_nulstr(&files, ".conf", NULL, conf_file_dirs);
if (r < 0) {
-Index: systemd-207/units/systemd-sysctl.service.in
+Index: systemd-218/units/systemd-sysctl.service.in
===================================================================
---- systemd-207.orig/units/systemd-sysctl.service.in
-+++ systemd-207/units/systemd-sysctl.service.in
-@@ -19,6 +19,8 @@ ConditionDirectoryNotEmpty=|/usr/lib/sys
- ConditionDirectoryNotEmpty=|/usr/local/lib/sysctl.d
- ConditionDirectoryNotEmpty=|/etc/sysctl.d
- ConditionDirectoryNotEmpty=|/run/sysctl.d
+--- systemd-218.orig/units/systemd-sysctl.service.in
++++ systemd-218/units/systemd-sysctl.service.in
+@@ -13,6 +13,8 @@ Conflicts=shutdown.target
+ After=systemd-modules-load.service
+ Before=sysinit.target shutdown.target
+ ConditionPathIsReadWrite=/proc/sys/
+ConditionPathExistsGlob=|/boot/sysctl.conf-%v
+RequiresMountsFor=/boot
++++++ systemctl-set-default-target.patch ++++++
--- /var/tmp/diff_new_pack.VaiRfi/_old 2015-03-27 09:39:51.000000000 +0100
+++ /var/tmp/diff_new_pack.VaiRfi/_new 2015-03-27 09:39:51.000000000 +0100
@@ -3,12 +3,14 @@
This solves the bug bnc#868439
---
- systemctl.xml | 4 +++-
+ man/systemctl.xml | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
---- systemd-210/man/systemctl.xml
-+++ systemd-210/man/systemctl.xml 2014-03-19 12:19:53.182235657 +0000
-@@ -371,7 +371,7 @@ along with systemd; If not, see systemd-219.tar.xz ++++++
++++ 587568 lines of diff (skipped)
++++++ systemd-add-user-keep.patch ++++++
--- /var/tmp/diff_new_pack.VaiRfi/_old 2015-03-27 09:39:54.000000000 +0100
+++ /var/tmp/diff_new_pack.VaiRfi/_new 2015-03-27 09:39:54.000000000 +0100
@@ -1,25 +1,27 @@
-diff -Naur systemd-210/man/tmpfiles.d.xml systemd-210.mod/man/tmpfiles.d.xml
---- systemd-210/man/tmpfiles.d.xml 2014-12-18 09:40:29.403629407 +0100
-+++ systemd-210.mod/man/tmpfiles.d.xml 2014-12-18 10:34:06.274130934 +0100
-@@ -435,8 +435,12 @@
- <varname>f</varname>, <varname>F</varname>,
- and <varname>w</varname> may be used to
- specify a short string that is written to the
-- file, suffixed by a newline. Ignored for all
-- other lines.</para>
-+ file, suffixed by a newline.
-+ For <varname>x</varname>, <varname>X</varname>
-+ a comma separated list of usernames. If given,
-+ only paths belonging to these users will be
-+ excluded during directory cleanup.
-+ Ignored for all other lines.</para>
- </refsect2>
-
- </refsect1>
-diff -Naur systemd-210/src/tmpfiles/tmpfiles.c systemd-210.mod/src/tmpfiles/tmpfiles.c
---- systemd-210/src/tmpfiles/tmpfiles.c 2014-12-18 09:40:29.342629177 +0100
-+++ systemd-210.mod/src/tmpfiles/tmpfiles.c 2014-12-18 11:58:16.686576974 +0100
-@@ -263,6 +263,7 @@
+---
+ man/tmpfiles.d.xml | 3 +++
+ src/tmpfiles/tmpfiles.c | 48 ++++++++++++++++++++++++++++++++++++++++--------
+ 2 files changed, 43 insertions(+), 8 deletions(-)
+
+Index: systemd/man/tmpfiles.d.xml
+===================================================================
+--- systemd.orig/man/tmpfiles.d.xml
++++ systemd/man/tmpfiles.d.xml
+@@ -489,6 +489,9 @@
+ <varname>f</varname>, <varname>F</varname>, and
+ <varname>w</varname> may be used to specify a short string that
+ is written to the file, suffixed by a newline. For
++ <varname>x</varname>, <varname>X</varname>, a comma separated list of
++ usernames. If given, only paths belonging to these users will be excluded
++ during directory cleanup. Ignored for all other lines. For
+ <varname>C</varname>, specifies the source file or
+ directory. For <varname>t</varname> determines extended
+ attributes to be set. For <varname>a</varname> determines
+Index: systemd/src/tmpfiles/tmpfiles.c
+===================================================================
+--- systemd.orig/src/tmpfiles/tmpfiles.c
++++ systemd/src/tmpfiles/tmpfiles.c
+@@ -345,6 +345,7 @@ static int dir_cleanup(
struct timespec times[2];
bool deleted = false;
int r = 0;
@@ -27,52 +29,57 @@
while ((dent = readdir(d))) {
struct stat s;
-@@ -306,11 +307,43 @@
+@@ -395,14 +396,45 @@ static int dir_cleanup(
}
/* Is there an item configured for this path? */
-- if (hashmap_get(items, sub_path))
+- if (hashmap_get(items, sub_path)) {
+- log_debug("Ignoring \"%s\": a separate entry exists.", sub_path);
- continue;
+- }
-
-- if (find_glob(globs, sub_path))
+- if (find_glob(globs, sub_path)) {
+- log_debug("Ignoring \"%s\": a separate glob exists.", sub_path);
- continue;
++ bool found_glob = false;
+ found = hashmap_get(items, sub_path);
-+
-+ if (!found)
-+ found = find_glob(globs, sub_path);
-+
++ if (!found) {
++ found_glob = true;
++ found = find_glob(globs, sub_path);
++ }
+ if (found) {
-+ /* evaluate username arguments in ignore statements */
-+ if (found->type == IGNORE_PATH || found->type == IGNORE_DIRECTORY_PATH) {
-+ if (!found->argument)
-+ continue;
-+ else {
-+ struct passwd *pw;
-+ char *userfound = NULL, *args = strdup(found->argument);
-+ bool match = false;
-+ int uid = -1;
-+
-+ while ((userfound = strsep(&args, ","))) {
-+ pw = getpwnam(userfound);
++ struct passwd *pw;
++ char *userfound = NULL, *args;
++ bool match = false;
++ uid_t uid = -1;
+
-+ if (!pw)
-+ log_error("Unknown user '%s' in ignore statement.", userfound);
-+ else {
-+ uid = pw->pw_uid;
-+ if (s.st_uid == uid) {
-+ match = true;
-+ break;
-+ }
-+ }
-+ }
-+ if (match) {
-+ found = NULL;
-+ continue;
-+ }
++ /* evaluate username arguments in ignore statements */
++ if ((found->type != IGNORE_PATH && found->type != IGNORE_DIRECTORY_PATH) ||
++ !found->argument) {
++ if (found_glob)
++ log_debug("Ignoring \"%s\": a separate glob exists.", sub_path);
++ else
++ log_debug("Ignoring \"%s\": a separate entry exists.", sub_path);
++ continue;
++ }
++ args = strdup(found->argument);
++ assert_se(args != NULL);
++ while ((userfound = strsep(&args, ",")) != NULL) {
++ pw = getpwnam(userfound);
++ if (pw == NULL) {
++ log_error("Unknown user '%s' in ignore statement.", userfound);
++ continue;
+ }
-+ } else
-+ continue;
-+ }
++ uid = pw->pw_uid;
++ if (s.st_uid == uid) {
++ match = true;
++ break;
++ }
++ }
++ if (match) {
++ found = NULL;
++ continue;
++ }
+ }
if (S_ISDIR(s.st_mode)) {
-
++++++ systemd-dbus-system-bus-address.patch ++++++
--- /var/tmp/diff_new_pack.VaiRfi/_old 2015-03-27 09:39:54.000000000 +0100
+++ /var/tmp/diff_new_pack.VaiRfi/_new 2015-03-27 09:39:54.000000000 +0100
@@ -1,18 +1,14 @@
---- systemd-210/src/shared/def.h
-+++ systemd-210/src/shared/def.h 2014-03-12 13:11:06.502235254 +0000
-@@ -61,7 +61,7 @@
- "/usr/lib/kbd/keymaps/\0"
- #endif
-
--#define UNIX_SYSTEM_BUS_PATH "unix:path=/var/run/dbus/system_bus_socket"
-+#define UNIX_SYSTEM_BUS_PATH "unix:path=/run/dbus/system_bus_socket"
- #define KERNEL_SYSTEM_BUS_PATH "kernel:path=/dev/kdbus/0-system/bus"
-
- #ifdef ENABLE_KDBUS
---- systemd-210/src/libsystemd/sd-bus/sd-bus.c
-+++ systemd-210/src/libsystemd/sd-bus/sd-bus.c 2014-03-12 14:31:09.966736492 +0000
-@@ -794,8 +794,8 @@ static int parse_container_unix_address(
- machine = NULL;
+---
+ src/libsystemd/sd-bus/sd-bus.c | 4 ++--
+ src/shared/def.h | 2 +-
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+Index: systemd/src/libsystemd/sd-bus/sd-bus.c
+===================================================================
+--- systemd.orig/src/libsystemd/sd-bus/sd-bus.c
++++ systemd/src/libsystemd/sd-bus/sd-bus.c
+@@ -809,8 +809,8 @@ static int parse_container_unix_address(
+ b->nspid = 0;
b->sockaddr.un.sun_family = AF_UNIX;
- strncpy(b->sockaddr.un.sun_path, "/var/run/dbus/system_bus_socket", sizeof(b->sockaddr.un.sun_path));
@@ -22,3 +18,16 @@
return 0;
}
+Index: systemd/src/shared/def.h
+===================================================================
+--- systemd.orig/src/shared/def.h
++++ systemd/src/shared/def.h
+@@ -61,7 +61,7 @@
+ "/usr/lib/kbd/keymaps/\0"
+ #endif
+
+-#define UNIX_SYSTEM_BUS_ADDRESS "unix:path=/var/run/dbus/system_bus_socket"
++#define UNIX_SYSTEM_BUS_ADDRESS "unix:path=/run/dbus/system_bus_socket"
+ #define KERNEL_SYSTEM_BUS_ADDRESS "kernel:path=/sys/fs/kdbus/0-system/bus"
+
+ #ifdef ENABLE_KDBUS
++++++ systemd-mini-rpmlintrc ++++++
--- /var/tmp/diff_new_pack.VaiRfi/_old 2015-03-27 09:39:54.000000000 +0100
+++ /var/tmp/diff_new_pack.VaiRfi/_new 2015-03-27 09:39:54.000000000 +0100
@@ -1,3 +1,4 @@
+addFilter("invalid-pkgconfig-file")
addFilter(".*dangling-symlink /sbin/(halt|init|poweroff|telinit|shutdown|runlevel|reboot).*")
addFilter(".*dangling-symlink .* /dev/null.*")
addFilter(".*files-duplicate .*/reboot\.8.*")
@@ -16,6 +17,7 @@
addFilter(".*suse-filelist-forbidden-systemd-userdirs.*")
addFilter("libudev-mini.*shlib-policy-name-error.*")
addFilter("nss-myhostname.*shlib-policy-name-error.*")
+addFilter("nss-mymachines.*shlib-policy-name-error.*")
addFilter("systemd-logger.*useless-provides sysvinit(syslog).*")
addFilter("devel-file-in-non-devel-package.*/usr/share/pkgconfig/(udev|systemd)\.pc.*")
addFilter(".*script-without-shebang.*/usr/lib/udev/rule_generator.functions.*")
++++++ systemd-pam_config.patch ++++++
--- /var/tmp/diff_new_pack.VaiRfi/_old 2015-03-27 09:39:54.000000000 +0100
+++ /var/tmp/diff_new_pack.VaiRfi/_new 2015-03-27 09:39:54.000000000 +0100
@@ -1,14 +1,16 @@
-diff --git a/src/login/systemd-user b/src/login/systemd-user
-index 7b57dbf..c0fc793 100644
---- a/src/login/systemd-user
-+++ b/src/login/systemd-user
-@@ -2,7 +2,7 @@
+---
+ src/login/systemd-user | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+Index: systemd-218/src/login/systemd-user
+===================================================================
+--- systemd-218.orig/src/login/systemd-user
++++ systemd-218/src/login/systemd-user
+@@ -2,5 +2,5 @@
+ #
+ # Used by systemd --user instances.
- # Used by systemd when launching systemd user instances.
-
--account include system-auth
--session include system-auth
-+account include common-account
-+session include common-session
- auth required pam_deny.so
- password required pam_deny.so
+-account include system-auth
+-session include system-auth
++account include common-account
++session include common-session
++++++ systemd-powerd-initctl-support.patch ++++++
--- /var/tmp/diff_new_pack.VaiRfi/_old 2015-03-27 09:39:54.000000000 +0100
+++ /var/tmp/diff_new_pack.VaiRfi/_new 2015-03-27 09:39:54.000000000 +0100
@@ -12,10 +12,8 @@
src/initctl/initctl.c | 71 ++++++++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 70 insertions(+), 1 deletion(-)
-diff --git a/src/initctl/initctl.c b/src/initctl/initctl.c
-index 468df35..d4794a6 100644
---- a/src/initctl/initctl.c
-+++ b/src/initctl/initctl.c
+--- systemd-219.orig/src/initctl/initctl.c
++++ systemd-219/src/initctl/initctl.c
@@ -32,8 +32,11 @@
#include
#include
@@ -36,11 +34,12 @@
#define SERVER_FD_MAX 16
#define TIMEOUT_MSEC ((int) (DEFAULT_EXIT_USEC/USEC_PER_MSEC))
-@@ -141,7 +145,53 @@ static void change_runlevel(Server *s, int runlevel) {
+@@ -141,7 +145,54 @@ static void change_runlevel(Server *s, i
}
}
+static int send_shutdownd(unsigned delay, char mode, const char *message) {
++#ifdef HAVE_SYSV_COMPAT
+ usec_t t = now(CLOCK_REALTIME) + delay * USEC_PER_MINUTE;
+ struct sd_shutdown_command c = {
+ .usec = t,
@@ -81,7 +80,7 @@
+
+ if (sendmsg(fd, &msghdr, MSG_NOSIGNAL) < 0)
+ return -errno;
-+
++#endif
+ return 0;
+}
+
@@ -90,7 +89,7 @@
assert(s);
assert(req);
-@@ -184,9 +234,28 @@ static void request_process(Server *s, const struct init_request *req) {
+@@ -184,9 +235,28 @@ static void request_process(Server *s, c
return;
case INIT_CMD_POWERFAIL:
@@ -120,6 +119,3 @@
return;
case INIT_CMD_CHANGECONS:
---
-1.8.1.4
-
++++++ systemd-rpmlintrc ++++++
--- /var/tmp/diff_new_pack.VaiRfi/_old 2015-03-27 09:39:54.000000000 +0100
+++ /var/tmp/diff_new_pack.VaiRfi/_new 2015-03-27 09:39:54.000000000 +0100
@@ -1,3 +1,4 @@
+addFilter("invalid-pkgconfig-file")
addFilter(".*dangling-symlink /sbin/(halt|init|poweroff|telinit|shutdown|runlevel|reboot).*")
addFilter(".*dangling-symlink .* /dev/null.*")
addFilter(".*files-duplicate .*/reboot\.8.*")
@@ -16,6 +17,7 @@
addFilter(".*suse-filelist-forbidden-systemd-userdirs.*")
addFilter("libudev-mini.*shlib-policy-name-error.*")
addFilter("nss-myhostname.*shlib-policy-name-error.*")
+addFilter("nss-mymachines.*shlib-policy-name-error.*")
addFilter("systemd-logger.*useless-provides sysvinit(syslog).*")
addFilter("devel-file-in-non-devel-package.*/usr/share/pkgconfig/(udev|systemd)\.pc.*")
addFilter(".*script-without-shebang.*/usr/lib/udev/rule_generator.functions.*")
++++++ systemd-tmp-safe-defaults.patch ++++++
--- /var/tmp/diff_new_pack.VaiRfi/_old 2015-03-27 09:39:54.000000000 +0100
+++ /var/tmp/diff_new_pack.VaiRfi/_new 2015-03-27 09:39:54.000000000 +0100
@@ -5,20 +5,22 @@
Fix regression in the default for tmp auto-deletion (FATE#314974).
SUSE policy is to not clean /tmp by default.
---
- tmpfiles.d/tmp.conf | 5 +++--
+ tmpfiles.d/tmp.conf | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
---- systemd-206.orig/tmpfiles.d/tmp.conf
-+++ systemd-206/tmpfiles.d/tmp.conf
+Index: systemd/tmpfiles.d/tmp.conf
+===================================================================
+--- systemd.orig/tmpfiles.d/tmp.conf
++++ systemd/tmpfiles.d/tmp.conf
@@ -8,8 +8,9 @@
# See tmpfiles.d(5) for details
# Clear tmp directories separately, to make them easier to override
--d /tmp 1777 root root 10d
--d /var/tmp 1777 root root 30d
+-v /tmp 1777 root root 10d
+-v /var/tmp 1777 root root 30d
+# SUSE policy: we don't clean those directories
-+d /tmp 1777 root root -
-+d /var/tmp 1777 root root -
++v /tmp 1777 root root -
++v /var/tmp 1777 root root -
# Exclude namespace mountpoints created with PrivateTmp=yes
x /tmp/systemd-private-%b-*
++++++ tty-ask-password-agent-on-console.patch ++++++
--- /var/tmp/diff_new_pack.VaiRfi/_old 2015-03-27 09:39:54.000000000 +0100
+++ /var/tmp/diff_new_pack.VaiRfi/_new 2015-03-27 09:39:54.000000000 +0100
@@ -1,110 +1,99 @@
---
- src/tty-ask-password-agent/tty-ask-password-agent.c | 190 +++++++++++++++++++-
- 1 file changed, 185 insertions(+), 5 deletions(-)
+ src/tty-ask-password-agent/tty-ask-password-agent.c | 171 +++++++++++++++++++-
+ 1 file changed, 166 insertions(+), 5 deletions(-)
---- systemd-210/src/tty-ask-password-agent/tty-ask-password-agent.c
-+++ systemd-210/src/tty-ask-password-agent/tty-ask-password-agent.c 2014-07-30 10:48:43.602052750 +0000
-@@ -28,8 +28,12 @@
- #include
- #include
- #include
-+#include
+Index: systemd/src/tty-ask-password-agent/tty-ask-password-agent.c
+===================================================================
+--- systemd.orig/src/tty-ask-password-agent/tty-ask-password-agent.c
++++ systemd/src/tty-ask-password-agent/tty-ask-password-agent.c
+@@ -31,6 +31,10 @@
#include
+ #include
+ #include
++#include
+#include
+#include
- #include
+#include
- #include
#include "util.h"
-@@ -41,6 +45,9 @@
- #include "ask-password-api.h"
+ #include "mkdir.h"
+@@ -42,6 +46,9 @@
#include "strv.h"
#include "build.h"
+ #include "def.h"
+#include "fileio.h"
+#include "macro.h"
+#include "list.h"
static enum {
ACTION_LIST,
-@@ -49,6 +56,21 @@ static enum {
+@@ -50,6 +57,22 @@ static enum {
ACTION_WALL
} arg_action = ACTION_QUERY;
+struct console {
+ LIST_FIELDS(struct console, handle);
-+ char *tty;
++ const char *tty;
+ pid_t pid;
+ int id;
++ char dev[];
+};
+
-+static volatile uint32_t *usemask;
++static volatile unsigned long *usemask;
+static volatile sig_atomic_t sigchild;
+static void chld_handler(int sig)
+{
+ (void)sig;
-+ sigchild++;
++ ++sigchild;
+}
+
static bool arg_plymouth = false;
static bool arg_console = false;
-@@ -246,12 +268,77 @@ finish:
- return r;
+@@ -208,6 +231,58 @@ static int ask_password_plymouth(
+ return 0;
}
+static const char *current_dev = "/dev/console";
+static LIST_HEAD(struct console, consoles);
+static int collect_consoles(void) {
+ _cleanup_free_ char *active = NULL;
-+ char *w, *state;
-+ struct console *c;
-+ size_t l;
-+ int id;
-+ int r;
-+
-+ r = read_one_line_file("/sys/class/tty/console/active", &active);
-+ if (r < 0)
-+ return r;
-+
-+ id = 0;
-+ FOREACH_WORD(w, l, active, state) {
++ const char *word, *state;
++ struct console *con;
++ size_t len;
++ int ret, id = 0;
++
++ ret = read_one_line_file("/sys/class/tty/console/active", &active);
++ if (ret < 0)
++ return ret;
++ FOREACH_WORD(word, len, active, state) {
+ _cleanup_free_ char *tty = NULL;
+
-+ if (strneq(w, "tty0", l)) {
-+ if (read_one_line_file("/sys/class/tty/tty0/active", &tty) >= 0) {
-+ w = tty;
-+ l = strlen(tty);
-+ }
++ if (strneq(word, "tty0", len) &&
++ read_one_line_file("/sys/class/tty/tty0/active", &tty) >= 0) {
++ word = tty;
++ len = strlen(tty);
+ }
-+
-+ c = malloc0(sizeof(struct console)+5+l+1);
-+ if (!c) {
++ con = malloc0(sizeof(*con) + strlen("/dev/") + len + 1);
++ if (con == NULL) {
+ log_oom();
+ continue;
+ }
-+
-+ c->tty = ((char*)c)+sizeof(struct console);
-+ stpncpy(stpcpy(c->tty, "/dev/"),w,l);
-+ c->id = id++;
-+
-+ LIST_PREPEND(handle, consoles, c);
++ sprintf(con->dev, "/dev/%.*s", (int)len, word);
++ con->tty = con->dev;
++ con->id = id++;
++ LIST_PREPEND(handle, consoles, con);
+ }
-+
-+ if (!consoles) {
-+
-+ c = malloc0(sizeof(struct console));
-+ if (!c) {
++ if (consoles == NULL) {
++ con = malloc0(sizeof(*con));
++ if (con == NULL) {
+ log_oom();
+ return -ENOMEM;
+ }
-+
-+ c->tty = (char *)current_dev;
-+ c->id = id++;
-+
-+ LIST_PREPEND(handle, consoles, c);
++ con->tty = current_dev;
++ con->id = id++;
++ LIST_PREPEND(handle, consoles, con);
+ }
-+
+ return 0;
+}
+
@@ -118,168 +107,133 @@
+}
+
static int parse_password(const char *filename, char **wall) {
- char *socket_name = NULL, *message = NULL, *packet = NULL;
+ _cleanup_free_ char *socket_name = NULL, *message = NULL, *packet = NULL;
uint64_t not_after = 0;
- unsigned pid = 0;
- int socket_fd = -1;
- bool accept_cached = false;
-+ size_t packet_length = 0;
-
- const ConfigTableItem items[] = {
- { "Ask", "Socket", config_parse_string, 0, &socket_name },
-@@ -323,7 +410,6 @@ static int parse_password(const char *fi
- struct sockaddr sa;
- struct sockaddr_un un;
- } sa = {};
-- size_t packet_length = 0;
-
- assert(arg_action == ACTION_QUERY ||
- arg_action == ACTION_WATCH);
-@@ -365,7 +451,7 @@ static int parse_password(const char *fi
- char *password = NULL;
+@@ -308,7 +383,7 @@ static int parse_password(const char *fi
+ _cleanup_free_ char *password = NULL;
- if (arg_console)
-- if ((tty_fd = acquire_terminal("/dev/console", false, false, false, (usec_t) -1)) < 0) {
-+ if ((tty_fd = acquire_terminal(current_dev, false, false, true, (usec_t) -1)) < 0) {
- r = tty_fd;
- goto finish;
- }
-@@ -386,6 +472,7 @@ static int parse_password(const char *fi
- strcpy(packet+1, password);
- }
-
-+ memset(password, 0, strlen(password));
- free(password);
+ if (arg_console) {
+- tty_fd = acquire_terminal("/dev/console", false, false, false, USEC_INFINITY);
++ tty_fd = acquire_terminal(current_dev, false, false, false, USEC_INFINITY);
+ if (tty_fd < 0)
+ return tty_fd;
}
- }
-@@ -423,6 +510,7 @@ finish:
- if (socket_fd >= 0)
- close_nointr_nofail(socket_fd);
-
-+ memset(packet, 0, packet_length);
- free(packet);
- free(socket_name);
- free(message);
-@@ -726,8 +814,10 @@ static int parse_argv(int argc, char *ar
+@@ -612,9 +687,85 @@ static int parse_argv(int argc, char *ar
+ return 1;
}
++static int zzz(void)
++{
++ struct console *con;
++ struct sigaction sig = {
++ .sa_handler = chld_handler,
++ .sa_flags = SA_NOCLDSTOP | SA_RESTART,
++ };
++ struct sigaction oldsig;
++ sigset_t set, oldset;
++ int status = 0, ret;
++ pid_t job;
++
++ collect_consoles();
++ if (!consoles->handle_next) {
++ consoles->pid = 0;
++ con = consoles;
++ goto nofork;
++ }
++
++ assert_se(sigemptyset(&set) == 0);
++ assert_se(sigaddset(&set, SIGHUP) == 0);
++ assert_se(sigaddset(&set, SIGCHLD) == 0);
++ assert_se(sigemptyset(&sig.sa_mask) == 0);
++ assert_se(sigprocmask(SIG_UNBLOCK, &set, &oldset) == 0);
++ assert_se(sigaction(SIGCHLD, &sig, &oldsig) == 0);
++ sig.sa_handler = SIG_DFL;
++ assert_se(sigaction(SIGHUP, &sig, NULL) == 0);
++
++ LIST_FOREACH(handle, con, consoles) {
++ switch ((con->pid = fork())) {
++ case 0:
++ if (prctl(PR_SET_PDEATHSIG, SIGHUP) < 0)
++ _exit(EXIT_FAILURE);
++ zero(sig);
++ assert_se(sigprocmask(SIG_UNBLOCK, &oldset, NULL) == 0);
++ assert_se(sigaction(SIGCHLD, &oldsig, NULL) == 0);
++ nofork:
++ setsid();
++ release_terminal();
++ *usemask |= 1 << con->id;
++ current_dev = con->tty;
++ return con->id; /* child */
++ case -1:
++ log_error("Failed to query password: %s", strerror(errno));
++ exit(EXIT_FAILURE);
++ default:
++ break;
++ }
++ }
++
++ ret = 0;
++ while ((job = wait(&status)) != 0) {
++ if (job < 0) {
++ if (errno != EINTR)
++ break;
++ continue;
++ }
++ LIST_FOREACH(handle, con, consoles) {
++ if (con->pid == job || kill(con->pid, 0) < 0) {
++ *usemask &= ~(1 << con->id);
++ continue;
++ }
++ if (*usemask & (1 << con->id))
++ continue;
++ kill(con->pid, SIGHUP);
++ usleep(50000);
++ kill(con->pid, SIGKILL);
++ }
++ if (WIFEXITED(status) && ret == 0)
++ ret = WEXITSTATUS(status);
++ }
++ free_consoles();
++ exit(ret != 0 ? EXIT_FAILURE : EXIT_SUCCESS); /* parent */
++}
++
int main(int argc, char *argv[]) {
-+ int id = 0;
- int r;
+- int r;
++ int r, id = 0;
+ LIST_HEAD_INIT(consoles);
log_set_target(LOG_TARGET_AUTO);
log_parse_environment();
log_open();
-@@ -737,11 +827,99 @@ int main(int argc, char *argv[]) {
- if ((r = parse_argv(argc, argv)) <= 0)
+@@ -625,11 +776,19 @@ int main(int argc, char *argv[]) {
+ if (r <= 0)
goto finish;
-+ usemask = (uint32_t*) mmap(NULL, sizeof(uint32_t), PROT_READ|PROT_WRITE,
-+ MAP_ANONYMOUS|MAP_SHARED, -1, 0);
++ usemask = mmap(NULL, sizeof(*usemask), PROT_READ | PROT_WRITE,
++ MAP_ANONYMOUS | MAP_SHARED, -1, 0);
++ assert_se(usemask != NULL);
+
if (arg_console) {
- setsid();
- release_terminal();
-- }
+ if (!arg_plymouth && arg_action != ACTION_WALL &&
+ arg_action != ACTION_LIST) {
-+ struct console *c;
-+ struct sigaction sig = {
-+ .sa_handler = chld_handler,
-+ .sa_flags = SA_NOCLDSTOP|SA_RESTART,
-+ };
-+ struct sigaction oldsig;
-+ sigset_t set, oldset;
-+ int status = 0;
-+ pid_t job;
-+
-+ collect_consoles();
-+
-+ if (!consoles->handle_next) {
-+ consoles->pid = 0;
-+ c = consoles;
-+ goto nofork;
-+ }
-
-+ assert_se(sigemptyset(&set) == 0);
-+ assert_se(sigaddset(&set, SIGHUP) == 0);
-+ assert_se(sigaddset(&set, SIGCHLD) == 0);
-+ assert_se(sigemptyset(&sig.sa_mask) == 0);
-+
-+ assert_se(sigprocmask(SIG_UNBLOCK, &set, &oldset) == 0);
-+ assert_se(sigaction(SIGCHLD, &sig, &oldsig) == 0);
-+ sig.sa_handler = SIG_DFL;
-+ assert_se(sigaction(SIGHUP, &sig, NULL) == 0);
-+ LIST_FOREACH(handle, c, consoles) {
-+
-+ switch ((c->pid = fork())) {
-+ case 0:
-+ if (prctl(PR_SET_PDEATHSIG, SIGHUP) < 0)
-+ _exit(EXIT_FAILURE);
-+ zero(sig);
-+ assert_se(sigprocmask(SIG_UNBLOCK, &oldset, NULL) == 0);
-+ assert_se(sigaction(SIGCHLD, &oldsig, NULL) == 0);
-+ /* fall through */
-+ nofork:
-+ setsid();
-+ release_terminal();
-+ id = c->id;
-+ *usemask |= (1<tty;
-+ goto forked; /* child */
-+ case -1:
-+ log_error("Failed to query password: %s", strerror(errno));
-+ return EXIT_FAILURE;
-+ default:
-+ break;
-+ }
-+ }
-+
-+ r = 0;
-+ while ((job = wait(&status))) {
-+ if (job < 0) {
-+ if (errno != EINTR)
-+ break;
-+ continue;
-+ }
-+ LIST_FOREACH(handle, c, consoles) {
-+ if (c->pid == job) {
-+ *usemask &= ~(1<<c->id);
-+ continue;
-+ }
-+ if (kill(c->pid, 0) < 0) {
-+ *usemask &= ~(1<<c->id);
-+ continue;
-+ }
-+ if (*usemask & (1<<c->id))
-+ continue;
-+ kill(c->pid, SIGHUP);
-+ usleep(50000);
-+ kill(c->pid, SIGKILL);
-+ }
-+
-+ if (WIFEXITED(status) && !r)
-+ r = WEXITSTATUS(status);
-+ }
-+ free_consoles();
-+ return r != 0 ? EXIT_FAILURE : EXIT_SUCCESS; /* parent */
-+
++ id = zzz();
+ } else {
+ setsid();
+ release_terminal();
+ }
-+ }
-+forked:
- if (arg_action == ACTION_WATCH ||
- arg_action == ACTION_WALL)
+ }
+-
+ if (IN_SET(arg_action, ACTION_WATCH, ACTION_WALL))
r = watch_passwords();
-@@ -751,6 +929,8 @@ int main(int argc, char *argv[]) {
+ else
+@@ -638,6 +797,8 @@ int main(int argc, char *argv[]) {
if (r < 0)
- log_error("Error: %s", strerror(-r));
+ log_error_errno(r, "Error: %m");
+ free_consoles();
-+ *usemask &= ~(1<
#include
@@ -37,7 +39,7 @@
+ entropy_fd = open(RANDOM_SEED_DIR "entropy_count", O_RDONLY|O_CLOEXEC|O_NOCTTY, 0600);
+ if (entropy_fd < 0) {
-+ entropy_count = 0;
++ entropy_count = 0;
+ if (errno != ENOENT) {
+ log_error("Failed to open " RANDOM_SEED "/entropy_count: %m");
+ r = -errno;
@@ -55,13 +57,13 @@
seed_fd = open(RANDOM_SEED, O_RDWR|O_CLOEXEC|O_NOCTTY|O_CREAT, 0600);
if (seed_fd < 0) {
seed_fd = open(RANDOM_SEED, O_RDONLY|O_CLOEXEC|O_NOCTTY);
-@@ -113,16 +133,37 @@ int main(int argc, char *argv[]) {
+@@ -113,12 +133,34 @@ int main(int argc, char *argv[]) {
} else {
lseek(seed_fd, 0, SEEK_SET);
-- k = loop_write(random_fd, buf, (size_t) k, false);
-- if (k <= 0) {
-- log_error("Failed to write seed to /dev/urandom: %s", r < 0 ? strerror(-r) : "short write");
+- r = loop_write(random_fd, buf, (size_t) k, false);
+- if (r < 0)
+- log_error_errno(r, "Failed to write seed to /dev/urandom: %m");
+ if (entropy_count && (size_t) k == buf_size) {
+ struct rand_pool_info entropy = {
+ .entropy_count = entropy_count,
@@ -77,15 +79,12 @@
+ k = loop_write(random_fd, buf, (size_t) k, false);
+ if (k <= 0) {
+ log_error("Failed to write seed to /dev/urandom: %s", r < 0 ? strerror(-r) : "short write");
-
-- r = k == 0 ? -EIO : (int) k;
+ r = k == 0 ? -EIO : (int) k;
+ }
- }
++ }
}
} else if (streq(argv[1], "save")) {
-
+ /* Read available entropy count, if possible */
+ f = fopen("/proc/sys/kernel/random/entropy_avail", "re");
+ if (f) {
@@ -93,11 +92,10 @@
+ entropy_count = 0;
+ fclose(f);
+ }
-+
+
seed_fd = open(RANDOM_SEED, O_WRONLY|O_CLOEXEC|O_NOCTTY|O_CREAT, 0600);
if (seed_fd < 0) {
- log_error("Failed to open " RANDOM_SEED ": %m");
-@@ -137,6 +178,21 @@ int main(int argc, char *argv[]) {
+@@ -134,6 +176,21 @@ int main(int argc, char *argv[]) {
goto finish;
}
++++++ vhangup-on-all-consoles.patch ++++++
--- /var/tmp/diff_new_pack.VaiRfi/_old 2015-03-27 09:39:54.000000000 +0100
+++ /var/tmp/diff_new_pack.VaiRfi/_new 2015-03-27 09:39:54.000000000 +0100
@@ -2,12 +2,22 @@
to explicit do a virtually hangup on the specified on the terminal
line to give e.g. the bash a few seconds to e.g. safe its history.
+[crrodriguez@opensuse.org: Feb 2015
+This a known kernel bug, no notification from the cgroup subsystem
+arrives and the processes in the "scope" units have
+to be SIGKILL'ed without delay in order not to hang shutdown
+Status: fix not available as of Feb 16 2015
+track progress: https://bugzilla.redhat.com/show_bug.cgi?id=1141137
+]
+
---
units/getty@.service.m4 | 1 +
units/serial-getty@.service.m4 | 1 +
2 files changed, 2 insertions(+)
---- units/getty@.service.m4
-+++ units/getty@.service.m4 2014-07-15 07:30:28.006235859 +0000
+Index: systemd-218/units/getty@.service.m4
+===================================================================
+--- systemd-218.orig/units/getty@.service.m4
++++ systemd-218/units/getty@.service.m4
@@ -29,6 +29,7 @@ ConditionPathExists=/dev/tty0
[Service]
# the VT is cleared by TTYVTDisallocate
@@ -16,13 +26,15 @@
Type=idle
Restart=always
RestartSec=0
---- units/serial-getty@.service.m4
-+++ units/serial-getty@.service.m4 2014-07-15 07:30:01.366235017 +0000
+Index: systemd-218/units/serial-getty@.service.m4
+===================================================================
+--- systemd-218.orig/units/serial-getty@.service.m4
++++ systemd-218/units/serial-getty@.service.m4
@@ -24,6 +24,7 @@ IgnoreOnIsolate=yes
[Service]
- ExecStart=-/sbin/agetty --keep-baud %I 115200,38400,9600 $TERM
+ ExecStart=-/sbin/agetty --keep-baud 115200,38400,9600 %I $TERM
+ExecStopPost=-/sbin/vhangup /dev/%I
Type=idle
Restart=always
- RestartSec=0
+ UtmpIdentifier=%I
++++++ watch_resolv.conf_for_become_changed.patch ++++++
--- /var/tmp/diff_new_pack.VaiRfi/_old 2015-03-27 09:39:54.000000000 +0100
+++ /var/tmp/diff_new_pack.VaiRfi/_new 2015-03-27 09:39:54.000000000 +0100
@@ -1,10 +1,12 @@
---
- src/core/manager.c | 103 +++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/core/manager.c | 93 +++++++++++++++++++++++++++++++++++++++++++++++++++++
src/core/manager.h | 5 ++
- 2 files changed, 108 insertions(+)
+ 2 files changed, 98 insertions(+)
---- src/core/manager.c
-+++ src/core/manager.c 2014-11-07 11:12:58.334193988 +0000
+Index: systemd-218/src/core/manager.c
+===================================================================
+--- systemd-218.orig/src/core/manager.c
++++ systemd-218/src/core/manager.c
@@ -37,6 +37,7 @@
#include
#include
@@ -13,7 +15,7 @@
#ifdef HAVE_AUDIT
#include
-@@ -304,6 +305,101 @@ static int manager_check_ask_password(Ma
+@@ -302,6 +303,91 @@ static int manager_check_ask_password(Ma
return m->have_ask_password;
}
@@ -35,13 +37,8 @@
+ flush_fd(fd);
+
+ m->resolv_conf_event_source = sd_event_source_unref(m->resolv_conf_event_source);
-+
-+ if (m->resolv_conf_inotify_fd >= 0)
-+ close_nointr_nofail(m->resolv_conf_inotify_fd);
-+ m->resolv_conf_inotify_fd = -1;
-+
++ m->resolv_conf_inotify_fd = safe_close(m->resolv_conf_inotify_fd);
+ manager_setup_resolv_conf_change(m);
-+
+ return m->resolv_conf_noent ? 0 : res_init();
+}
+
@@ -96,10 +93,7 @@
+
+ return 0;
+fail:
-+ if (m->resolv_conf_inotify_fd >= 0)
-+ close_nointr_nofail(m->resolv_conf_inotify_fd);
-+ m->resolv_conf_inotify_fd = -1;
-+
++ m->resolv_conf_inotify_fd = safe_close(m->resolv_conf_inotify_fd);
+ return 0; /* Ignore error here */
+}
+
@@ -107,23 +101,21 @@
+ assert(m);
+
+ m->resolv_conf_event_source = sd_event_source_unref(m->resolv_conf_event_source);
-+ if (m->resolv_conf_inotify_fd >= 0)
-+ close_nointr_nofail(m->resolv_conf_inotify_fd);
-+ m->resolv_conf_inotify_fd = -1;
++ m->resolv_conf_inotify_fd = safe_close(m->resolv_conf_inotify_fd);
+}
+
static int manager_watch_idle_pipe(Manager *m) {
int r;
-@@ -562,6 +658,7 @@ int manager_new(SystemdRunningAs running
- m->pin_cgroupfs_fd = m->notify_fd = m->signal_fd = m->time_change_fd = m->dev_autofs_fd = m->private_listen_fd = m->kdbus_fd = -1;
+@@ -557,6 +643,7 @@ int manager_new(SystemdRunningAs running
+ m->pin_cgroupfs_fd = m->notify_fd = m->signal_fd = m->time_change_fd = m->dev_autofs_fd = m->private_listen_fd = m->kdbus_fd = m->utab_inotify_fd = -1;
m->current_job_id = 1; /* start as id #1, so that we can leave #0 around as "null-like" value */
+ m->resolv_conf_inotify_fd = -1;
m->ask_password_inotify_fd = -1;
m->have_ask_password = -EINVAL; /* we don't know */
-@@ -613,6 +710,10 @@ int manager_new(SystemdRunningAs running
+@@ -618,6 +705,10 @@ int manager_new(SystemdRunningAs running
if (r < 0)
goto fail;
@@ -134,20 +126,22 @@
m->udev = udev_new();
if (!m->udev) {
r = -ENOMEM;
-@@ -906,6 +1007,8 @@ void manager_free(Manager *m) {
-
- assert(m);
+@@ -896,6 +987,8 @@ Manager* manager_free(Manager *m) {
+ if (!m)
+ return NULL;
+ manager_shutdown_resolv_conf_change(m);
+
manager_clear_jobs_and_units(m);
for (c = 0; c < _UNIT_TYPE_MAX; c++)
---- src/core/manager.h
-+++ src/core/manager.h 2014-11-07 11:06:41.466019636 +0000
-@@ -157,6 +157,11 @@ struct Manager {
- FILE *proc_self_mountinfo;
- sd_event_source *mount_event_source;
+Index: systemd-218/src/core/manager.h
+===================================================================
+--- systemd-218.orig/src/core/manager.h
++++ systemd-218/src/core/manager.h
+@@ -185,6 +185,11 @@ struct Manager {
+ int utab_inotify_fd;
+ sd_event_source *mount_utab_event_source;
+ /* Watch out any change of /etc/resolv.conf */
+ int resolv_conf_inotify_fd;
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org