#
# spec file for package systemd
#
# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via http://bugs.opensuse.org/
#


%define bootstrap 0
%define real systemd
%define udevpkgname udev
%define udev_major 1
%bcond_without  bash_completion
%bcond_without  compat_libs
%bcond_with     networkd
%bcond_with     python
%ifarch %{ix86} x86_64 aarch64
%define has_efi 1
%else
%define has_efi 0
%endif
%if 0%{?suse_version} > 1315
%bcond_without  permission
%bcond_without  blkrrpart
%bcond_without  udevsettle
%else
%bcond_with     permission
%bcond_with     blkrrpart
%bcond_with     udevsettle
%endif
%bcond_with     systemgrps

Name:           systemd
Url:            http://www.freedesktop.org/wiki/Software/systemd
Version:        210
Release:        0
Summary:        A System and Session Manager
License:        LGPL-2.1+
Group:          System/Base
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
BuildRequires:  acl
BuildRequires:  audit-devel
%if %{with compat_libs}
# See gold_archs in binutils.spec
%ifarch %ix86 %arm x86_64 ppc ppc64 ppc64le %sparc
BuildRequires:  binutils-gold
%endif
%endif
BuildRequires:  config(suse-module-tools)
%if ! 0%{?bootstrap}
BuildRequires:  docbook-xsl-stylesheets
%endif
BuildRequires:  fdupes
%if ! 0%{?bootstrap}
BuildRequires:  gobject-introspection-devel
%endif
BuildRequires:  gperf
%if ! 0%{?bootstrap}
BuildRequires:  gtk-doc
%endif
BuildRequires:  intltool
BuildRequires:  libacl-devel
BuildRequires:  libcap-devel
BuildRequires:  libkmod-devel
BuildRequires:  libsepol-devel
BuildRequires:  libtool
%if ! 0%{?bootstrap}
BuildRequires:  libusb-devel
BuildRequires:  libxslt-tools
%endif
BuildRequires:  pam-devel
%if 0%{?suse_version} > 1310
BuildRequires:  systemd-rpm-macros
%endif
%if 0%{?suse_version} <= 1315
BuildRequires:  tcpd-devel
%endif
BuildRequires:  xz
BuildRequires:  pkgconfig(blkid) >= 2.20
%if ! 0%{?bootstrap}
BuildRequires:  libgcrypt-devel
%if %{with python}
BuildRequires:  python
%endif
BuildRequires:  pkgconfig(glib-2.0) >= 2.22.0
BuildRequires:  pkgconfig(libcryptsetup) >= 1.6.0
%endif
%if 0%{?suse_version} <= 1310
BuildRequires:  pkgconfig(libkmod) >= 14
%else
BuildRequires:  pkgconfig(libkmod) >= 15
%endif
BuildRequires:  pkgconfig(liblzma)
%if ! 0%{?bootstrap}
BuildRequires:  pkgconfig(libmicrohttpd)
%endif
BuildRequires:  pkgconfig(libpci) >= 3
BuildRequires:  pkgconfig(libpcre)
%if ! 0%{?bootstrap}
BuildRequires:  pkgconfig(libqrencode)
BuildRequires:  pkgconfig(usbutils) >= 0.82
%endif
%if 0%{?suse_version} >= 1315
%ifarch %ix86 x86_64 x32 %arm ppc64le s390x
BuildRequires:  pkgconfig(libseccomp)
%endif
%else
%if 0%{?suse_version} >= 1310
%ifarch %ix86 x86_64 x32 %arm
BuildRequires:  pkgconfig(libseccomp)
%endif
%endif
%endif
%if ! 0%{?bootstrap}
BuildRequires:  libapparmor-devel
%endif
BuildRequires:  pkgconfig(libselinux) >= 2.1.9
BuildRequires:  pkgconfig(libsepol)
%if 0%{?suse_version} > 1310
Conflicts:      sysvinit
%endif
%if 0%{?bootstrap}
#!BuildIgnore:  dbus-1
Requires:       this-is-only-for-build-envs
Conflicts:      systemd
Conflicts:      kiwi
%else
# the buildignore is important for bootstrapping
#!BuildIgnore:  udev
Requires:       %{udevpkgname} >= 172
Recommends:     %{name}-bash-completion
Requires:       dbus-1 >= 1.4.0
Requires:       kbd
%if 0%{?suse_version} <= 1310
Requires:       kmod >= 14
%else
Requires:       kmod >= 15
%endif
Requires:       netcfg
Requires:       pam-config >= 0.79-5
Requires:       pwdutils
Requires:       systemd-presets-branding
Requires:       sysvinit-tools
Requires:       util-linux >= 2.21
Requires(post): coreutils
Requires(post): findutils
%endif
%if ! 0%{?bootstrap}
Requires(post): pam-config >= 0.79-5
%endif
Requires(pre):  /usr/bin/getent
Requires(pre):  /usr/sbin/groupadd
Requires(post): /usr/bin/awk
Requires(post): /usr/bin/getent
Requires(post): /usr/bin/setfacl 
Conflicts:      filesystem < 11.5
Conflicts:      mkinitrd < 2.7.0
Obsoletes:      systemd-analyze < 201
Provides:       systemd-analyze = %{version}
Source0:        http://www.freedesktop.org/software/systemd/systemd-%{version}.tar.xz
%if ! 0%{?bootstrap}
Source1:        systemd-rpmlintrc
%else
Source1:        systemd-mini-rpmlintrc
%endif
Source2:        localfs.service
Source3:        systemd-sysv-convert
Source6:        baselibs.conf
Source7:        libgcrypt.m4
Source8:        systemd-journald.init
Source9:        nss-myhostname-config
Source10:       macros.systemd.upstream
Source11:       after-local.service

Source1060:     boot.udev
Source1061:     write_dev_root_rule
Source1062:     systemd-udev-root-symlink
Source1063:     udev-generate-persistent-rule.sh
Source1064:     systemd-sleep-grub
Source1065:     systemd-remount-tmpfs

#
# PATCH-FIX-UPSTREAM avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch lnussel@suse.com bnc#791101 -- avoid assertion if invalid address familily is passed to gethostbyaddr_r
Patch0:         avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch
# PATCH-FIX-UPSTREAM optionally-warn-if-nss-myhostname-is-called.patch lnussel@suse.com -- optionally warn if nss-myhostname is called
Patch1:         optionally-warn-if-nss-myhostname-is-called.patch
# handle SUSE specific kbd settings
Patch3:         handle-disable_caplock-and-compose_table-and-kbd_rate.patch
Patch4:         handle-numlock-value-in-etc-sysconfig-keyboard.patch
Patch6:         insserv-generator.patch
Patch7:         service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch
Patch8:         module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch
Patch9:         remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch
Patch12:        Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch
# PATCH-FIX-UPSTREAM added at 2014/06/24 
Patch13:        0001-units-systemd-sysctl.service.in-run-after-load-modul.patch
Patch15:        timedate-add-support-for-openSUSE-version-of-etc-sysconfig.patch
Patch16:        fix-support-for-boot-prefixed-initscript-bnc-746506.patch
Patch17:        restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch
Patch18:        fix-owner-of-var-log-btmp.patch
# PATCH-FIX-UPSTREAM Avoid error message about not existing getty@3270 file
Patch19:        0004-getty-generator-properly-escape-instance-names.patch

# PATCH-FIX-OPENSUSE ensure-ask-password-wall-starts-after-getty-tty1.patch -- don't start getty on tty1 until all password request are done
Patch5:         ensure-ask-password-wall-starts-after-getty-tty1.patch
# PATCH-FIX-OPENSUSE handle-root_uses_lang-value-in-etc-sysconfig-language.patch bnc#792182 fcrozat@suse.com -- handle ROOT_USES_LANG=ctype
Patch20:        handle-root_uses_lang-value-in-etc-sysconfig-language.patch
# PATCH-FIX-OPENSUSE allow-multiple-sulogin-to-be-started.patch bnc#793182 fcrozat@suse.com -- handle multiple sulogin
Patch21:        allow-multiple-sulogin-to-be-started.patch
# PATCH-FIX-OPENSUSE handle-SYSTEMCTL_OPTIONS-environment-variable.patch bnc#798620 fcrozat@suse.com -- handle SYSTEMCTL_OPTIONS environment variable
Patch22:        handle-SYSTEMCTL_OPTIONS-environment-variable.patch
# PATCH-FIX-OPENSUSE apply-ACL-for-nvidia-device-nodes.patch bnc#808319 -- set ACL on nvidia devices
Patch27:        apply-ACL-for-nvidia-device-nodes.patch
# PATCH-FIX-OPENSUSE apply-ACL-for-nvidia-uvm-device-node.patch bnc#879767 -- set ACL on nvidia-uvm device
Patch28:        apply-ACL-for-nvidia-uvm-device-node.patch
# PATCH-FIX-OPENSUSE Revert-service-drop-support-for-SysV-scripts-for-the-early.patch fcrozat@suse.com -- handle boot.* initscripts
Patch37:        Revert-service-drop-support-for-SysV-scripts-for-the-early.patch
# PATCH-FIX-OPENSUSE systemd-tmp-safe-defaults.patch FATE#314974 max@suse.de -- Return to SUSE's "safe defaults" policy on deleting files from tmp direcorie.
Patch39:        systemd-tmp-safe-defaults.patch
# PATCH-FIX-OPENSUSE sysctl-handle-boot-sysctl.conf-kernel_release.patch bnc#809420 fcrozat@suse.com -- handle /boot/sysctl.conf-<kernel_release> file
Patch40:        sysctl-handle-boot-sysctl.conf-kernel_release.patch
# PATCH-FIX-OPENSUSE ensure-shortname-is-set-as-hostname-bnc-820213.patch bnc#820213 fcrozat@suse.com -- Do not set anything beyond first dot as hostname
Patch41:        ensure-shortname-is-set-as-hostname-bnc-820213.patch
Patch42:        systemd-pam_config.patch

# Upstream First - Policy:
# Never add any patches to this package without the upstream commit id
# in the patch. Any patches added here without a very good reason to make
# an exception will be silently removed with the next version update.
# PATCH-FIX-OPENSUSE disable-nss-myhostname-warning-bnc-783841.diff lnussel@suse.de -- disable nss-myhostname warning (bnc#783841)
Patch23:        disable-nss-myhostname-warning-bnc-783841.patch
# PATCH-FIX-OPENSUSE handle-HOSTNAME.patch fcrozat@suse.com -- handle /etc/HOSTNAME (bnc#803653)
Patch24:        handle-etc-HOSTNAME.patch
# PATCH-FIX-OPENSUSE forward to pm-utils -- for code base <= 1310
Patch25:        Forward-suspend-hibernate-calls-to-pm-utils.patch
# PATCH-FIX-UPSTREAM rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch rjschwei@suse.com -- add lid switch of ARM based Chromebook as a power switch to logind
Patch38:        rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch
# PATCH-FIX-OPENSUSE use-usr-sbin-sulogin-for-emergency-service.patch arvidjaar@gmail.com -- fix path to sulogin
Patch46:        use-usr-sbin-sulogin-for-emergency-service.patch
# PATCH-FIX-OPENSUSE Make systemd talk with dbus-daemon even on big endian
Patch47:        0001-sd-bus-don-t-look-for-a-64bit-value-when-we-only-hav.patch
# PATCH-FIX-OPENSUSE make-emergency.service-conflict-with-syslog.socket.patch (bnc#852232)
Patch84:        make-emergency.service-conflict-with-syslog.socket.patch
# PATCH-FIX-SUSE 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch
Patch86:        0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch
# PATCH-FIX-SUSE 0001-On_s390_con3270_disable_ANSI_colour_esc.patch
Patch90:        0001-On_s390_con3270_disable_ANSI_colour_esc.patch
# PATCH-FIX-SUSE plymouth-quit-and-wait-for-emergency-service.patch -- Make sure that no plymouthd is locking the tty
Patch91:        plymouth-quit-and-wait-for-emergency-service.patch
# PATCH-FIX-SUSE 0001-Don-t-snprintf-a-potentially-NULL-pointer.patch -- Avoid systemd crash on resume (bnc#861488)
Patch93:        0001-Don-t-snprintf-a-potentially-NULL-pointer.patch
# PATCH-FIX-UPSTREAM added at 2014/06/24 
Patch114:       0008-Reset-signal-mask-on-re-exec-to-init.patch
# PATCH-FIX-SUSE 0001-make-209-working-on-older-dist.patch werner@suse.com
Patch117:       0001-make-209-working-on-older-dist.patch
# PATCH-FIX-SUSE 0001-make-fortify-happy-with-ppoll.patch werner@suse.com
Patch119:       0001-make-fortify-happy-with-ppoll.patch
# PATCH-FIX-SUSE 0001-avoid-abort-due-timeout-at-user-service.patch werner@suse.com
Patch120:       0001-avoid-abort-due-timeout-at-user-service.patch
# PATCH-FIX-USTREAM added at 2014/03/03
Patch121:       0001-login-fix-pos-array-allocation.patch
# PATCH-FIX-USTREAM added at 2014/03/03
Patch122:       0002-login-set-pos-slot-to-fallback-on-pos-eviction.patch
# PATCH-FIX-USTREAM added at 2014/03/03
Patch123:       0003-login-Allow-calling-org.freedesktop.login1.Seat.Swit.patch
# PATCH-FIX-USTREAM added at 2014/03/03
Patch124:       0004-fix-typo-in-iDRAC-network-interface-name-irdac-idrac.patch
# PATCH-FIX-USTREAM added at 2014/03/03
Patch125:       0005-Replace-var-run-with-run-in-remaining-places.patch
# PATCH-FIX-USTREAM added at 2014/03/03
Patch126:       0006-Revert-back-to-var-run-at-a-couple-of-problems.patch
# PATCH-FIX-USTREAM added at 2014/03/03
Patch127:       0007-README-document-that-var-run-must-be-a-symlink-run.patch
# PATCH-FIX-USTREAM added at 2014/03/03
Patch128:       0008-Use-var-run-dbus-system_bus_socket-for-the-D-Bus-soc.patch
# PATCH-FIX-USTREAM added at 2014/03/03
Patch129:       0009-mount-don-t-send-out-PropertiesChanged-message-if-ac.patch
# PATCH-FIX-USTREAM added at 2014/03/03
Patch130:       0010-mount-don-t-fire-PropertiesChanged-signals-for-mount.patch
# PATCH-FIX-USTREAM added at 2014/03/03
Patch131:       0011-logs-show-fix-corrupt-output-with-empty-messages.patch
# PATCH-FIX-USTREAM added at 2014/03/03
Patch132:       0012-journalctl-refuse-extra-arguments-with-verify-and-si.patch
# PATCH-FIX-USTREAM added at 2014/03/03
Patch133:       0014-nspawn-fix-detection-of-missing-proc-self-loginuid.patch
# PATCH-FIX-USTREAM added at 2014/03/07
Patch134:       0001-Fix-systemd-stdio-bridge-symlink.patch
# PATCH-FIX-USTREAM added at 2014/03/07
Patch135:       0002-execute-free-directory-path-if-we-fail-to-remove-it-.patch
# PATCH-FIX-USTREAM added at 2014/03/07
Patch136:       0003-Do-not-print-invalid-UTF-8-in-error-messages.patch
# PATCH-FIX-USTREAM added at 2014/03/07
Patch137:       0004-man-document-missing-options-of-systemd-run.patch
# PATCH-FIX-USTREAM added at 2014/03/07
Patch138:       0005-systemd-run-add-some-extra-safety-checks.patch
# PATCH-FIX-USTREAM added at 2014/03/07
Patch139:       0006-journal-assume-that-next-entry-is-after-previous-ent.patch
# PATCH-FIX-USTREAM added at 2014/03/07
Patch140:       0007-journal-forget-file-after-encountering-an-error.patch
# PATCH-FIX-USTREAM added at 2014/03/07
Patch141:       0008-core-correctly-unregister-PIDs-from-PID-hashtables.patch
# PATCH-FIX-USTREAM added at 2014/03/07
Patch142:       0009-logind-fix-reference-to-systemd-user-sessions.servic.patch
# PATCH-FIX-USTREAM added at 2014/03/07
Patch143:       0010-man-update-link-to-LSB.patch
# PATCH-FIX-USTREAM added at 2014/03/07
Patch144:       0011-man-systemd-bootchart-fix-spacing-in-command.patch
# PATCH-FIX-USTREAM added at 2014/03/07
Patch145:       0012-man-add-missing-comma.patch
# PATCH-FIX-USTREAM added at 2014/03/07
Patch146:       0013-units-Do-not-unescape-instance-name-in-systemd-backl.patch
# PATCH-FIX-USTREAM added at 2014/03/11
Patch147:       0001-core-busname-add-lookup-string-for-BUSNAME_FAILURE_S.patch
# PATCH-FIX-USTREAM added at 2014/03/11
Patch148:       0002-manager-flush-memory-stream-before-using-the-buffer.patch
# PATCH-FIX-USTREAM added at 2014/03/11
Patch149:       0003-busname-don-t-drop-service-from-the-result-string.patch
# PATCH-FIX-USTREAM added at 2014/03/11
Patch150:       0004-fix-off-by-one-error-in-array-index-assertion.patch
# PATCH-FIX-USTREAM added at 2014/03/11
Patch151:       0005-logind-fix-policykit-checks.patch
# PATCH-FIX-USTREAM added at 2014/03/11
Patch152:       0006-rules-mark-loop-device-as-SYSTEMD_READY-0-if-no-file.patch
# PATCH-FIX-USTREAM added at 2014/03/11
Patch153:       0008-man-multiple-sleep-modes-are-to-be-separated-by-whit.patch
# PATCH-FIX-USTREAM added at 2014/03/18
Patch154:       0001-gpt-auto-generator-don-t-return-OOM-on-parentless-de.patch
# PATCH-FIX-USTREAM added at 2014/03/18
Patch155:       0002-bus-fix-memory-leak-when-kdbus-is-not-enabled.patch
# PATCH-FIX-USTREAM added at 2014/03/18
Patch157:       0006-Do-not-return-1-EINVAL-on-allocation-error.patch
# PATCH-FIX-USTREAM added at 2014/03/18
Patch158:       0007-networkd-fix-typo.patch
# PATCH-FIX-USTREAM added at 2014/03/18
Patch159:       0008-sd-bus-don-t-access-invalid-memory-if-a-signal-match.patch
# PATCH-FIX-USTREAM added at 2014/03/18
Patch160:       0009-sd-bus-don-t-choke-if-somebody-sends-us-a-message-wi.patch
# PATCH-FIX-USTREAM added at 2014/03/18
Patch161:       0012-journald-remove-stray-reset-of-error-return-value.patch
# PATCH-FIX-USTREAM added at 2014/03/18
Patch162:       0013-core-libsystemd-systemd-timedate-udev-spelling-fixes.patch
# PATCH-FIX-USTREAM added at 2014/03/28
Patch163:       0001-cgroup-it-s-not-OK-to-invoke-alloca-in-loops.patch
# PATCH-FIX-USTREAM added at 2014/03/28
Patch164:       0002-machined-fix-Kill-bus-call-on-machine-objects-when-w.patch
# PATCH-FIX-USTREAM added at 2014/03/28
Patch165:       0003-sd-bus-don-t-use-assert_return-to-check-for-disconne.patch
# PATCH-FIX-USTREAM added at 2014/03/28
Patch166:       0004-core-don-t-try-to-relabel-mounts-before-we-loaded-th.patch
# PATCH-FIX-USTREAM added at 2014/03/28
Patch167:       0005-sd-daemon-fix-incorrect-variable-access.patch
# PATCH-FIX-USTREAM added at 2014/03/28
Patch168:       0006-sd-event-initialization-perturbation-value-right-bef.patch
# PATCH-FIX-USTREAM added at 2014/03/28
Patch169:       0007-sd-event-don-t-accidentally-turn-of-watchdog-timer-e.patch
# PATCH-FIX-USTREAM added at 2014/03/28
Patch170:       0008-systemctl-kill-mode-is-long-long-gone-don-t-mention-.patch
# PATCH-FIX-USTREAM added at 2014/03/28
Patch171:       0009-ask-password-when-the-user-types-a-overly-long-passw.patch
# PATCH-FIX-USTREAM added at 2014/04/08
Patch172:       0001-journal-fix-export-of-messages-containing-newlines.patch
# PATCH-FIX-USTREAM added at 2014/04/08
Patch173:       0002-systemctl-update-NAME-to-PATTERN-in-help.patch
# PATCH-FIX-USTREAM added at 2014/04/08
Patch174:       0003-tty-ask-password-agent-return-negative-errno.patch
# PATCH-FIX-USTREAM added at 2014/04/08
Patch175:       0004-systemd-python-use-.hex-instead-of-.get_hex.patch
# PATCH-FIX-USTREAM added at 2014/04/08
Patch176:       0005-systemd-python-fix-failing-assert.patch
# PATCH-FIX-OPENSUSE 0009-make-xsltproc-use-correct-ROFF-links.patch -- Make ROFF links working again in manual pages (bnc#842844)
Patch177:       0009-make-xsltproc-use-correct-ROFF-links.patch
# PATCH-FIX-OPENSUSE 0010-do-not-install-sulogin-unit-with-poweroff.patch -- Avoid installing console-shell.service (bnc#849071)
Patch178:       0010-do-not-install-sulogin-unit-with-poweroff.patch
# PATCH-FIX-SUSE 0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch
Patch179:       0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch
# PATCH-FIX-OPENSUSE 0014-journald-with-journaling-FS.patch
Patch180:       0014-journald-with-journaling-FS.patch
# PATCH-FIX-SUSE 0018-Make-LSB-Skripts-know-about-Required-and-Should.patch
Patch181:       0018-Make-LSB-Skripts-know-about-Required-and-Should.patch
# PATCH-FIX-SUSE 0019-make-completion-smart-to-be-able-to-redirect.patch
Patch182:       0019-make-completion-smart-to-be-able-to-redirect.patch
# PATCH-FIX-SUSE 0001-add-network-device-after-NFS-mount-units.patch werner@suse.com
Patch183:       0001-add-network-device-after-NFS-mount-units.patch
# PATCH-FIX-SUSE 0022-systemd-tmpfiles-ownerkeep.patch
Patch184:       0022-systemd-tmpfiles-ownerkeep.patch
# PATCH-FIX-SUSE systemd-powerd-initctl-support.patch
Patch185:       systemd-powerd-initctl-support.patch
# PATCH-FIX-SUSE systemctl-set-default-target.patch
Patch186:       systemctl-set-default-target.patch
# PATCH-FIX-SUSE prepare-suspend-to-disk.patch (fate #316824)
Patch187:       prepare-suspend-to-disk.patch
# PATCH-FIX-SUSE boot-local-start.patch (bnc #869142)
Patch188:       boot-local-start.patch
# PATCH-FIX-SUSE avoid random hangs on timeouts due lost cwd at terminating user manager
Patch189:       avoid-random-hangs-on-timeouts-due-lost-cwd.patch
# PATCH-FIX-SUSE systemd-install-compat_pkgconfig-always.patch
Patch190:       systemd-install-compat_pkgconfig-always.patch
# PATCH-FIX-OPENSUSE systemd-dbus-system-bus-address.patch always use /run/dbus not /var/run
Patch191:       systemd-dbus-system-bus-address.patch
# PATCH-FIX-SUSE During linkage of systemd-cryptsetup let linker find libudev for libdevmapper
Patch192:       let-linker-find-libudev-for-libdevmapper.patch
# PATCH-FIX-SUSE Make sure that rpcbind socket as well as service is up with the target
Patch193:       portmap-wants-rpcbind-socket.patch
# PATCH-FIX-USTREAM added at 2014/03/11
Patch194:       0007-dbus-suppress-duplicate-and-misleading-messages.patch
# PATCH-FIX-USTREAM added at 2014/03/14
Patch195:       0001-reduce-the-amount-of-messages-logged-to-dev-kmsg-whe.patch
# PATCH-FIX-SUSE Do not clean the data base files of the manual pages
Patch196:       tmpfiles-do-not-clean-for-mandb-index-files.patch
# PATCH-FIX-SUSE Avoid that emergency and rescue sulogin are fighting on console
Patch197:       rescue-emergency-target-conflicts.patch
# PATCH-FIX-SUSE Avoid a divide by zero sigtrap
Patch198:       avoid-divide-by-zero-sigtrap.patch
# PATCH-FIX-USTREAM added at 2014/04/28
Patch199:       0001-bash-completion-fix-__get_startable_units.patch
# PATCH-FIX-USTREAM added at 2014/04/28
Patch200:       0002-sysctl-replaces-some-slashes-with-dots.patch
# PATCH-FIX-USTREAM added at 2014/04/28
Patch201:       0003-delta-do-not-use-unicode-chars-in-C-locale.patch
# PATCH-FIX-USTREAM added at 2014/04/28
Patch202:       0004-implement-a-union-to-pad-out-file_handle.patch
# PATCH-FIX-SUSE System fails to boot if nfs mounts get added to fstab (bnc#874665)
Patch203:       respect-nfs-bg-option.patch
# PATCH-FIX-UPSTREAM Stop useless messages on dual_timestamp_is_set is failed.
Patch204:       shut-up-annoying-assertion-monotonic-clock-message.patch
# PATCH-FIX-SUSE Do not override the passphrase prompts due messages of busy jobs
Patch205:       keep-crypt-password-prompt.patch
# PATCH-FIX-UPSTREAM Fix uninitialized memory
Patch206:       0001-sd-rtnl-message-append-fix-uninitialized-memory.patch
# PATCH-FIX-UPSTREAM Make systemd user journal accessible by users (bnc#876694)
Patch207:       0001-tmpfiles-fix-permissions-on-new-journal-files.patch
# PATCH-FIX-SUSE Do not ignores option 'noauto' in /etc/crypttab (bnc#742774)
Patch208:       parse-crypttab-for-noauto-option.patch
# PATCH-FIX-UPSTREAM added at 2014/05/12
Patch209:       0001-errno-make-sure-to-handle-the-3-errnos-that-are-alia.patch
# PATCH-FIX-UPSTREAM added at 2014/05/12
Patch211:       0003-analyze-fix-plot-with-bad-y-size.patch
# PATCH-FIX-UPSTREAM added at 2014/05/12
Patch212:       0004-job-add-waiting-jobs-to-run-queue-in-unit_coldplug.patch
# PATCH-FIX-UPSTREAM added at 2014/05/12
Patch213:       0005-job-always-add-waiting-jobs-to-run-queue-during-cold.patch
# PATCH-FIX-UPSTREAM added at 2014/05/12
Patch214:       0001-backlight-Avoid-restoring-brightness-to-an-unreadabl.patch
# PATCH-FIX-UPSTREAM added at 2014/05/12
Patch215:       0002-backlight-do-nothing-if-max_brightness-is-0.patch
# PATCH-FIX-UPSTREAM added at 2014/05/12
Patch216:       0003-backlight-unify-error-messages.patch
# PATCH-FIX-UPSTREAM added at 2014/05/12
Patch217:       0004-backlight-warn-if-kernel-exposes-backlight-device-wi.patch
# PATCH-FIX-UPSTREAM added at 2014/05/12
Patch218:       0005-backlight-handle-saved-brightness-exceeding-max-brig.patch
# PATCH-FIX-SUSE Do not poison kmsg ring buffer with systemd/udev messages (bnc#877021)
Patch219:       log-target-null-instead-kmsg.patch
# PATCH-FIX-UPSTREAM added at 2014/05/14
Patch220:       0001-replace-more-dup-by-F_DUPFD_CLOEXEC.patch
# PATCH-FIX-UPSTREAM added at 2014/05/14
Patch221:       0002-pam_systemd-use-F_DUPFD_CLOEXEC-when-dupping-session.patch
# PATCH-FIX-UPSTREAM added at 2014/05/16
Patch222:       0001-core-close-socket-fds-asynchronously.patch
# PATCH-FIX-UPSTREAM added at 2014/05/16
Patch223:       0002-logind-bring-polkit-policy-for-hibernate-in-line-wit.patch
# PATCH-FIX-UPSTREAM added at 2014/05/16
Patch224:       0003-core-make-sure-to-serialize-jobs-for-all-units.patch
# PATCH-FIX-UPSTREAM added at 2014/05/19
Patch225:       0001-logind-ignore-lid-switch-if-more-than-1-display-is-c.patch
# PATCH-FIX-UPSTREAM added at 2014/05/19
Patch226:       0002-logind-fix-printf-format.patch
# PATCH-FIX-UPSTREAM added at 2014/05/19
Patch227:       0003-logind-ignore-lid-switch-events-for-30s-after-each-s.patch
# PATCH-FIX-UPSTREAM added at 2014/05/19
Patch228:       0004-logind-Do-not-fail-display-count-if-a-device-has-no-.patch
# PATCH-FIX-UPSTREAM added at 2014/05/19
Patch229:       0005-logind-move-lid-switch-handling-from-logind-main-to-.patch
# PATCH-FIX-UPSTREAM added at 2014/05/19
Patch230:       0006-man-clarify-that-the-ExecReload-command-should-be-sy.patch
# PATCH-FIX-UPSTREAM added at 2014/05/19
Patch231:       0007-man-readahead-fix-cmdline-switch-inconsistency-betwe.patch
# PATCH-FIX-UPSTREAM added at 2014/05/19
Patch232:       0008-man-update-journald-rate-limit-defaults.patch
# PATCH-FIX-UPSTREAM added at 2014/05/19
Patch233:       0009-nspawn-properly-format-container_uuid-in-UUID-format.patch
# PATCH-FIX-UPSTREAM added at 2014/05/19
Patch234:       0010-logind-allow-suspending-if-there-are-no-displays.patch
# PATCH-FIX-UPSTREAM added at 2014/05/20
Patch235:       0001-hwdb-Update-database-of-Bluetooth-company-identifier.patch
# PATCH-FIX-UPSTREAM added at 2014/05/20
Patch236:       0002-hwdb-Update-database-of-Bluetooth-company-identifier.patch
# PATCH-FIX-UPSTREAM added at 2014/05/20
Patch237:       0003-hwdb-Update-database-of-Bluetooth-company-identifier.patch
# PATCH-FIX-UPSTREAM added at 2014/05/20
Patch238:       0004-hwdb-Update-database-of-Bluetooth-company-identifier.patch
# PATCH-FIX-UPSTREAM added at 2014/05/20
Patch239:       0005-hwdb-Update-database-of-Bluetooth-company-identifier.patch
# PATCH-FIX-UPSTREAM added at 2014/05/20
Patch240:       0001-conf-parser-silently-ignore-sections-starting-with-X.patch
# PATCH-FIX-UPSTREAM added at 2014/05/20
Patch241:       0002-man-note-that-entire-sections-can-now-be-ignored.patch
# PATCH-FIX-UPSTREAM added at 2014/05/20
Patch242:       0004-machined-make-sure-GetMachineAddresses-is-available-.patch
# PATCH-FIX-UPSTREAM added at 2014/05/20
Patch243:       0005-core-Filter-by-state-behind-the-D-Bus-API-not-in-the.patch
# PATCH-FIX-UPSTREAM added at 2014/05/20
Patch244:       0006-login-add-mir-to-the-list-of-session-types.patch
# PATCH-FIX-UPSTREAM added at 2014/05/20
Patch245:       0007-logind-fix-Display-property-of-user-objects.patch
# PATCH-FIX-UPSTREAM added at 2014/05/21
Patch246:       0001-hwdb-update.patch
# PATCH-FIX-UPSTREAM added at 2014/05/21
Patch247:       0002-hwdb-update.patch
# PATCH-FIX-UPSTREAM added at 2014/05/21
Patch248:       0003-hwdb-PCI-include-primary-model-string-in-subsystem-m.patch
# PATCH-FIX-UPSTREAM added at 2014/05/21
Patch249:       0004-hwdb-update.patch
# PATCH-FIX-UPSTREAM added at 2014/05/21
Patch250:       0005-hwdb-update.patch
# PATCH-FIX-UPSTREAM added at 2014/05/21
Patch251:       0001-journal-cleanup-up-error-handling-in-update_catalog.patch
# PATCH-FIX-UPSTREAM added at 2014/05/21
Patch252:       0002-journal-properly-detect-language-specified-in-line.patch
# PATCH-FIX-UPSTREAM added at 2014/05/21
Patch253:       0003-man-mention-XDG_CONFIG_HOME-in-systemd.unit.patch
# PATCH-FIX-UPSTREAM added at 2014/05/26
Patch254:       0001-keymap-Add-Lenovo-Enhanced-USB-Keyboard.patch
# PATCH-FIX-UPSTREAM added at 2014/05/26
Patch255:       0002-keymap-Asus-EeePC-touchpad-toggle-key.patch
# PATCH-FIX-UPSTREAM added at 2014/05/26
Patch256:       0001-nspawn-allow-to-bind-mount-journal-on-top-of-a-non-e.patch
# PATCH-FIX-UPSTREAM added at 2014/05/26
Patch257:       0002-nspawn-restore-journal-directory-is-empty-check.patch
# PATCH-FIX-UPSTREAM added at 2014/05/26
Patch258:       0003-core-never-consider-failure-when-reading-drop-ins-fa.patch
# PATCH-FIX-UPSTREAM added at 2014/05/26
Patch259:       0004-socket-properly-handle-if-our-service-vanished-durin.patch
# PATCH-FIX-UPSTREAM added at 2014/05/27
Patch260:       0001-Do-not-unescape-unit-names-in-Install-section.patch
# PATCH-FIX-UPSTREAM added at 2014/05/27
Patch261:       0002-analyze-run-use-bus_open_transport_systemd-instead-o.patch
# PATCH-FIX-UPSTREAM added at 2014/06/03
Patch262:       0001-virt-rework-container-detection-logic.patch
# PATCH-FIX-UPSTREAM added at 2014/06/03
Patch263:       0002-fsck-include-device-name-in-the-message-about-missin.patch
# PATCH-FIX-UPSTREAM added at 2014/06/03
Patch264:       0003-units-use-KillMode-mixed-for-systemd-nspawn-.service.patch
# PATCH-FIX-UPSTREAM added at 2014/06/03
Patch265:       0004-util-ignore_file-should-not-allow-files-ending-with.patch
# PATCH-FIX-UPSTREAM added at 2014/06/03
Patch266:       0006-tty-ask-password-agent-Do-tell-what-directory-we-fai.patch
# PATCH-FIX-UPSTREAM added at 2014/06/03
Patch267:       0007-keyboard-add-Plantronics-.Audio-mute-button.patch
# PATCH-FIX-UPSTREAM added at 2014/06/03
Patch268:       0001-build-sys-use-glibc-s-xattr-support-instead-of-requi.patch
# PATCH-FIX-UPSTREAM added at 2014/06/05
Patch269:       0001-hwdb-fix-case-sensitive-match.patch
# PATCH-FIX-UPSTREAM added at 2014/06/06
Patch270:       0001-sd-event-restore-correct-timeout-behaviour.patch
# PATCH-FIX-UPSTREAM added at 2014/06/06
Patch271:       0002-bus-make-use-of-sd_bus_try_close-in-exit-on-idle-ser.patch
# PATCH-FIX-UPSTREAM added at 2014/06/11
Patch272:       0001-umount-modernizations.patch
# PATCH-FIX-UPSTREAM added at 2014/06/11
Patch273:       0002-namespace-when-setting-up-an-inaccessible-mount-poin.patch
# PATCH-FIX-UPSTREAM added at 2014/06/11
Patch274:       0003-core-allow-transient-mount-units.patch
# PATCH-FIX-UPSTREAM added at 2014/06/11 - Detect XEN dom0 as well as domU
Patch275:       0004-systemd-detect-virt-only-discover-Xen-domU.patch
# PATCH-FIX-UPSTREAM added at 2014/06/11
Patch276:       0005-backlight-Do-not-clamp-brightness-for-LEDs.patch
# PATCH-FIX-UPSTREAM added at 2014/06/11
Patch277:       0006-log-honour-the-kernel-s-quiet-cmdline-argument.patch
# PATCH-FIX-UPSTREAM added at 2014/06/17
Patch278:       0001-core-fix-invalid-free-in-killall.patch
# PATCH-FIX-UPSTREAM added at 2014/06/17
Patch279:       0003-install-fix-invalid-free-in-unit_file_mask.patch
# PATCH-FIX-UPSTREAM detect virtualization layers on S390 (bnc#880438)
Patch280:       0001-systemd-detect-virt-detect-s390-virtualization.patch
# PATCH-FIX-UPSTREAM 0001-core-sysvcompat-network-should-be-equivalent-to-netw.patch arvidjaar@gmail.com -- Ensure legacy services are started after network is available
Patch281:       0001-core-sysvcompat-network-should-be-equivalent-to-netw.patch
# PATCH-FIX-UPSTREAM added at 2014/06/24
Patch282:       0002-units-add-missing-caps-so-that-GetAddresses-can-work.patch
# PATCH-FIX-UPSTREAM added at 2014/06/24
Patch283:       0003-units-order-systemd-tmpfiles-clean.service-after-tim.patch
# PATCH-FIX-UPSTREAM added at 2014/06/24
Patch284:       0005-po-add-Greek-translation.patch
# PATCH-FIX-UPSTREAM added at 2014/06/24
Patch285:       0006-hwdb-Update-database-of-Bluetooth-company-identifier.patch
# PATCH-FIX-UPSTREAM added at 2014/06/24
Patch286:       0007-po-add-German-translation.patch
# PATCH-FIX-UPSTREAM added at 2014/06/24
Patch287:       0009-core-clean-up-signal-reset-logic-when-reexec.patch
# PATCH-FIX-UPSTREAM added at 2014/06/24
Patch288:       0010-util-treat-fuse.sshfs-as-a-network-filesystem.patch
# PATCH-FIX-UPSTREAM added at 2014/06/24
Patch289:       0011-build-sys-add-pthread-flag-for-libsystemd-shared.patch
# PATCH-FIX-UPSTREAM added at 2014/06/24
Patch290:       0012-core-transaction-avoid-misleading-error-message-when.patch
# PATCH-FIX-UPSTREAM added at 2014/06/25
Patch291:       0001-vconsole-also-copy-character-maps-not-just-fonts-fro.patch
# PATCH-FIX-UPSTREAM added at 2014/06/25
Patch292:       0002-core-make-sure-Environment-fields-passed-in-for-tran.patch
# PATCH-FIX-UPSTREAM added at 2014/06/25
Patch293:       0003-core-You-can-not-put-the-cached-result-of-use_smack-.patch
# PATCH-FIX-UPSTREAM added at 2014/06/25
Patch294:       0004-cryptsetup-don-t-add-unit-dependency-on-dev-null-dev.patch
# PATCH-FIX-UPSTREAM added at 2014/06/25
Patch295:       0005-man-fix-path-in-crypttab-5.patch
# PATCH-FIX-UPSTREAM added at 2014/06/26
Patch296:       0001-units-order-network-online.target-after-network.targ.patch
# PATCH-FIX-UPSTREAM added at 2014/06/26
Patch297:       0001-core-use-correct-format-string-for-UIDs.patch
# PATCH-FIX-UPSTREAM added at 2014/06/26
Patch298:       0002-core-transaction-fix-cycle-break-attempts-outside-tr.patch
# PATCH-FIX-UPSTREAM added at 2014/06/26
Patch299:       0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch
# PATCH-FIX-UPSTREAM added at 2014/07/01
Patch300:       0001-main-uid_to_name-might-fail-due-to-OOM-protect-again.patch
# PATCH-FIX-UPSTREAM added at 2014/07/01
Patch301:       0002-journald-make-MaxFileSec-really-default-to-1month.patch
# PATCH-FIX-UPSTREAM added at 2014/07/01
Patch302:       0003-units-remove-RefuseManualStart-from-units-which-are-.patch
# PATCH-FIX-UPSTREAM added at 2014/07/01
Patch303:       0004-util-refuse-considering-UID-0xFFFF-and-0xFFFFFFFF-va.patch
# PATCH-FIX-UPSTREAM added at 2014/07/01
Patch304:       0005-nspawn-block-open_by_handle_at-and-others-via-seccom.patch
# PATCH-FIX-UPSTREAM added at 2014/07/01
Patch305:       0006-tmpfiles-don-t-do-automatic-cleanup-in-XDG_RUNTIME_D.patch
# PATCH-FIX-UPSTREAM added at 2014/07/01
Patch306:       0007-units-skip-mounting-tmp-if-it-is-a-symlink.patch
# PATCH-FIX-UPSTREAM added at 2014/07/03
Patch307:       0001-parse_uid-return-ENXIO-for-1-uids.patch
# PATCH-FIX-UPSTREAM added at 2014/07/03
Patch308:       0002-util-when-unescaping-strings-don-t-allow-smuggling-i.patch
# PATCH-FIX-UPSTREAM added at 2014/07/03
Patch309:       0003-localed-consider-an-unset-model-as-a-wildcard.patch
# PATCH-FIX-UPSTREAM added at 2014/07/03
Patch310:       0004-sd-bus-when-an-event-loop-terminates-explicitly-clos.patch
# PATCH-FIX-UPSTREAM added at 2014/07/03
Patch311:       0005-bus-close-a-bus-that-failed-to-connect.patch
# PATCH-FIX-UPSTREAM added at 2014/07/04
Patch312:       0006-hwdb-update.patch
# PATCH-FIX-UPSTREAM added at 2014/07/04
Patch313:       0007-hwdb-Update-database-of-Bluetooth-company-identifier.patch
# PATCH-FIX-UPSTREAM added at 2014/07/04
Patch314:       0001-architecture-Add-tilegx.patch
# PATCH-FIX-UPSTREAM added at 2014/07/04
Patch315:       0002-architecture-Add-cris.patch
# PATCH-FIX-UPSTREAM added at 2014/07/04
Patch316:       0003-arch-add-crisv32-to-uname-check.patch
# PATCH-FIX-UPSTREAM added at 2014/07/04
Patch317:       0004-architecture-remove-cris-from-uname-list.patch
# PATCH-FIX-UPSTREAM added at 2014/07/04
Patch318:       0003-namespace-make-sure-tmp-var-tmp-and-dev-are-writable.patch
# PATCH-FIX-UPSTREAM added at 2014/07/04
Patch319:       0002-namespace-fix-uninitialized-memory-access.patch
# PATCH-FIX-UPSTREAM added at 2014/07/07
Patch320:       0001-machine-don-t-return-uninitialized-variable.patch
# PATCH-FIX-UPSTREAM added at 2014/07/07
Patch321:       0002-vconsole-setup-run-setfont-before-loadkeys.patch
# PATCH-FIX-UPSTREAM added at 2014/07/08
Patch322:       0001-util-consider-0x7F-a-control-chracter-which-it-is-DE.patch
# PATCH-FIX-UPSTREAM added at 2014/07/08
Patch323:       0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch
# PATCH-FIX-UPSTREAM added at 2014/07/08
Patch324:       0003-architecture-add-string-table-entries-for-mips-le-ar.patch
# PATCH-FIX-UPSTREAM added at 2014/07/08
Patch325:       0004-core-Added-support-for-ERRNO-NOTIFY_SOCKET-message-p.patch
# PATCH-FIX-UPSTREAM added at 2014/07/08
Patch326:       0005-service-don-t-accept-negative-ERRNO-notification-mes.patch
# PATCH-FIX-UPSTREAM added at 2014/07/08
Patch327:       0006-systemctl-show-StatusErrno-value-in-systemctl-status.patch
# PATCH-FIX-UPSTREAM added at 2014/07/08
Patch328:       0007-service-flush-status-text-and-errno-values-each-time.patch
# PATCH-FIX-UPSTREAM added at 2014/07/09
Patch329:       0001-journal-compress-return-early-in-uncompress_startswi.patch
# PATCH-FIX-UPSTREAM added at 2014/07/09
Patch330:       0002-journal-compress-improve-xz-compression-performance.patch
# PATCH-FIX-UPSTREAM added at 2014/07/09
Patch331:       0001-logind-allow-switching-to-unused-VTs-via-SwitchTo.patch
# PATCH-FIX-UPSTREAM added at 2014/07/09
Patch332:       0002-hostnamed-add-a-new-chassis-type-for-watches.patch
# PATCH-FIX-UPSTREAM added at 2014/07/10
Patch333:       0001-units-make-ExecStopPost-action-part-of-ExecStart.patch
# PATCH-FIX-UPSTREAM added at 2014/07/14
Patch334:       0001-event-pull-in-sd-event.h-from-event-util.h.patch
# PATCH-FIX-UPSTREAM added at 2014/07/14
Patch335:       0002-util-fix-has-cc-check-and-add-test.patch
# PATCH-FIX-UPSTREAM added at 2014/07/14
Patch336:       0003-sd-event-always-call-epoll_ctl-on-mask-updates-if-ed.patch
# PATCH-FIX-UPSTREAM added at 2014/07/14
Patch337:       0004-fileio-quote-more-shell-characters-in-envfiles.patch
# PATCH-FIX-SUSE Do a vhangup on all consoles lines (bnc#886599)
Patch338:       vhangup-on-all-consoles.patch
# PATCH-FIX-UPSTREAM added at 2014/07/16
Patch339:       0001-Clear-up-confusion-wrt.-ENTRY_SIZE_MAX-and-DATA_SIZE.patch
# PATCH-FIX-UPSTREAM added at 2014/07/16
Patch340:       0002-units-serial-getty-.service-use-the-default-RestartS.patch
# PATCH-FIX-UPSTREAM added at 2014/07/17
Patch341:       0001-po-add-Ukrainian-translation.patch
# PATCH-FIX-UPSTREAM added at 2014/07/17
Patch342:       0002-man-document-yearly-and-annually-in-systemd.time-7.patch
# PATCH-FIX-UPSTREAM added at 2014/07/17
Patch343:       0003-core-nicer-message-when-inotify-watches-are-exhauste.patch
# PATCH-FIX-UPSTREAM Fix patch 0004-systemd-detect-virt-only-discover-Xen-domU.patch
Patch344:       0001-detect-virt-Fix-Xen-domU-discovery.patch
# PATCH-FIX-SUSE Shut up rpmlint warning
Patch345:       shut-up-rpmlint-on-var-log-journal.patch
# PATCH-FIX-UPSTREAM added at 2014/07/21
Patch346:       0002-Be-more-verbose-when-bind-or-listen-fails.patch
# PATCH-FIX-UPSTREAM added at 2014/07/21
Patch347:       0003-Add-quotes-to-warning-message.patch
# PATCH-FIX-UPSTREAM added at 2014/07/21
Patch348:       0004-systemd-return-the-first-error-from-manager_startup.patch
# PATCH-FIX-UPSTREAM added at 2014/07/21
Patch349:       0001-bash-completion-p-option-for-journalctl.patch
# PATCH-FIX-UPSTREAM added at 2014/07/21
Patch350:       0002-journalctl-man-allow-only-between-terms.patch
# PATCH-FIX-UPSTREAM added at 2014/07/21
Patch351:       0003-systemd-use-pager-for-test-and-help.patch
# PATCH-FIX-SUSE
Patch352:       set-and-use-default-logconsole.patch
# PATCH-FIX-UPSTREAM added at 2014/07/28
Patch353:       0001-bus-proxyd-fix-incorrect-comparison.patch
# PATCH-FIX-UPSTREAM added at 2014/07/28
Patch354:       0002-shell-completion-prevent-mangling-unit-names.patch
# PATCH-FIX-UPSTREAM added at 2014/07/28
Patch355:       0003-Always-check-asprintf-return-code.patch
# PATCH-FIX-UPSTREAM added at 2014/07/28
Patch356:       0004-bash-completion-use-list-unit-files-to-get-all-units.patch
# PATCH-FIX-UPSTREAM added at 2014/07/28
Patch357:       0005-core-only-set-the-kernel-s-timezone-when-the-RTC-run.patch
# PATCH-FIX-UPSTREAM added at 2014/07/28
Patch358:       0006-parse_boolean-require-exact-matches.patch
# PATCH-FIX-UPSTREAM added at 2014/07/28
Patch359:       0007-drop_duplicates-copy-full-BindMount-struct.patch
# PATCH-FIX-UPSTREAM added at 2014/07/28
Patch360:       0008-shell-completion-prevent-mangling-unit-names-bash.patch
# PATCH-FIX-UPSTREAM added at 2014/07/28
Patch361:       0009-journald-always-add-syslog-facility-for-messages-com.patch
# PATCH-FIX-SUSE For system console do ask passphrases on all devices of the console
Patch362:       tty-ask-password-agent-on-console.patch
# PATCH-FIX-UPSTREAM added at 2014/07/30
Patch363:       0001-sysv-order-initscripts-which-provide-network-before-.patch
# PATCH-FIX-UPSTREAM added at 2014/07/30
Patch364:       0002-keymap-Add-microphone-mute-keymap-for-Dell-Latitude.patch
# PATCH-FIX-UPSTREAM added at 2014/07/30
Patch365:       0003-keymap-Annotate-all-micmute-workarounds.patch
# PATCH-FIX-SUSE Provide the /var/lock/subsys at start (bnc#889357)
Patch366:       tomcat6-var-lock-subsys-legacy.patch
# PATCH-FIX-UPSTREAM added at 2014/08/01
Patch367:       0007-hwdb-update.patch
# PATCH-FIX-SUSE Remove error messages for tab completion for systemctl isolate (bnc#892162)
Patch368:       0001-let-systemctl-completion-ignore-at-names.patch
# PATCH-FIX-UPSTREAM added at 2014/08/22
Patch369:       0001-nspawn-fix-truncation-of-machine-names-in-interface-.patch
# PATCH-FIX-UPSTREAM added at 2014/08/22
Patch370:       0002-switch-root-umount-the-old-root-correctly.patch
# PATCH-FIX-UPSTREAM added at 2014/08/22
Patch371:       0003-bootchart-it-s-not-OK-to-return-1-from-a-main-progra.patch
# PATCH-FIX-UPSTREAM added at 2014/08/22
Patch372:       0004-login-set_controller-should-fail-if-prepare_vt-fails.patch
# PATCH-FIX-UPSTREAM added at 2014/08/22
Patch373:       0005-sd-resolve-fix-allocation-if-query-ids-never-reuse-t.patch
# PATCH-FIX-UPSTREAM added at 2014/08/22
Patch374:       0006-login-share-VT-signal-handler-between-sessions.patch
# PATCH-FIX-UPSTREAM added at 2014/08/22
Patch375:       0007-journald-also-increase-the-SendBuffer-of-dev-log-to-.patch
# PATCH-FIX-UPSTREAM added at 2014/08/22
Patch376:       0008-mount-setup-fix-counting-of-early-mounts-without-SMA.patch
# PATCH-FIX-UPSTREAM added at 2014/08/22
Patch377:       0009-journald-Fix-off-by-one-error-in-Missed-X-kernel-mes.patch
# PATCH-FIX-UPSTREAM added at 2014/08/22
Patch378:       0010-machine_kill-Don-t-kill-the-unit-when-killing-the-le.patch
# PATCH-FIX-UPSTREAM added at 2014/08/22
Patch379:       0011-units-fix-BindsTo-logic-when-applied-relative-to-ser.patch
# PATCH-FIX-UPSTREAM added at 2014/08/22
Patch380:       0012-util-try-to-be-a-bit-more-NFS-compatible-when-checki.patch
# PATCH-FIX-UPSTREAM added at 2014/08/25
Patch381:       0001-hwdb-keymaps-for-Samsung-900X3E-900X3F.patch
# PATCH-FIX-UPSTREAM added at 2014/08/25
Patch382:       0002-Add-hwdb-entry-for-Samsung-Series-7-Ultra.patch
# PATCH-FIX-UPSTREAM added at 2014/08/25
Patch383:       0003-keymap-Fix-HP-Pavillon-DV7.patch
# PATCH-FIX-UPSTREAM added at 2014/08/25
Patch384:       0004-hwdb-update-format-description-and-document-reloadin.patch
# PATCH-FIX-UPSTREAM added at 2014/08/25
Patch385:       0008-hwdb-update.patch
# PATCH-FIX-SUSE Use RNDADDENTROPY ioctl to load random-seed and to increase entropy count as well (bnc#892096)
Patch386:       use-rndaddentropy-ioctl-to-load-random-seed.patch
# PATCH-FIX-UPSTREAM added at 2014/08/27
Patch387:       0001-systemctl-Correct-error-message-printed-when-bus_pro.patch
# PATCH-FIX-UPSTREAM added at 2014/08/27
Patch388:       0002-units-order-systemd-fsck-.service-after-local-fs-pre.patch
# PATCH-FIX-UPSTREAM added at 2014/08/27
Patch389:       0003-keymap-Adjust-for-more-Samsung-900X4-series.patch
# PATCH-FIX-UPSTREAM added at 2014/08/28
Patch390:       0001-login-fix-memory-leak-on-DropController.patch
# PATCH-FIX-UPSTREAM added at 2014/08/28
Patch391:       0002-util-fix-minimal-race-where-we-might-miss-SIGTERMs-w.patch
# PATCH-FIX-UPSTREAM added at 2014/08/28
Patch392:       0003-sd-journal-properly-convert-object-size-on-big-endia.patch
# PATCH-FIX-UPSTREAM added at 2014/08/28
Patch393:       0004-sd-journal-verify-that-object-start-with-the-field-n.patch
# PATCH-FIX-UPSTREAM added at 2014/08/29
Patch394:       0001-nspawn-fix-network-interface.patch
# PATCH-FIX-UPSTREAM added at 2014/09/01
Patch395:       0001-completion-filter-templates-from-restartable-units.patch
# PATCH-FIX-UPSTREAM added at 2014/09/01
Patch396:       0002-systemd-fix-error-message.patch
# PATCH-FIX-UPSTREAM added at 2014/09/01
Patch397:       0003-Quote-unit-names-in-suggested-systemctl-commandlines.patch
# PATCH-FIX-UPSTREAM added at 2014/09/01
Patch398:       0004-config-parser-fix-mem-leak.patch
# PATCH-FIX-UPSTREAM added at 2014/09/01
Patch399:       0005-login-fix-mem-leak.patch
# PATCH-FIX-UPSTREAM added at 2014/09/02
Patch400:       0001-login-simplify-controller-handling.patch
# PATCH-FIX-UPSTREAM added at 2014/09/05
Patch401:       0001-initrd-parse-etc.service-ignore-return-code-of-daemo.patch
# PATCH-FIX-UPSTREAM added at 2014/09/08
Patch402:       0008-hwdb-Update-database-of-Bluetooth-company-identifier.patch
# PATCH-FIX-UPSTREAM added at 2014/09/09
Patch403:       0009-hwdb-update.patch
# PATCH-FIX-UPSTREAM bnc896664: Allow to override default target without --force
Patch404:       0001-systemctl-allow-to-change-the-default-target-without.patch
# PATCH-FIX-UPSTREAM added at 2014/09/16
Patch405:       0001-activate-fix-fd-leak-in-do_accept.patch
# PATCH-FIX-UPSTREAM added at 2014/09/16
Patch406:       0002-analyze-avoid-a-null-dereference.patch
# PATCH-FIX-UPSTREAM added at 2014/09/16
Patch407:       0003-analyze-fix-mem-leak.patch
# PATCH-FIX-UPSTREAM added at 2014/09/16
Patch408:       0004-backlight-Avoid-error-when-state-restore-is-disabled.patch
# PATCH-FIX-UPSTREAM added at 2014/09/16
Patch409:       0005-bus-avoid-using-m-kdbus-after-freeing-it.patch
# PATCH-FIX-UPSTREAM added at 2014/09/16
Patch410:       0006-bus-unref-buscreds-on-failure.patch
# PATCH-FIX-UPSTREAM added at 2014/09/16
Patch411:       0007-core-fix-a-potential-mem-leak.patch
# PATCH-FIX-UPSTREAM added at 2014/09/16
Patch412:       0008-core-smack-setup-Actually-allow-for-succesfully-load.patch
# PATCH-FIX-UPSTREAM added at 2014/09/16
Patch413:       0009-journal-do-not-leak-mmaps-on-OOM.patch
# PATCH-FIX-UPSTREAM added at 2014/09/16
Patch414:       0010-manager-use-correct-cleanup-function.patch
# PATCH-FIX-UPSTREAM added at 2014/09/18
Patch415:       0001-core-fix-resource-leak-in-manager_environment_add.patch
# PATCH-FIX-UPSTREAM added at 2014/09/18
Patch416:       0002-util-remove-a-unnecessary-check.patch
# PATCH-FIX-UPSTREAM added at 2014/09/18
Patch417:       0003-udev-event-explicitly-don-t-read-from-invalid-fd.patch
# PATCH-FIX-UPSTREAM added at 2014/09/18
Patch418:       0004-shared-conf-parser.patch
# PATCH-FIX-UPSTREAM added at 2014/09/18
Patch419:       0005-logind-fix-typo.patch
# PATCH-FIX-UPSTREAM added at 2014/09/18
Patch420:       0006-systemctl-fix-resource-leak-CID-1237747.patch
# PATCH-FIX-UPSTREAM added at 2014/09/16
Patch421:       0007-libudev-monitor-warn-if-we-fail-to-request-SO_PASSCR.patch
# PATCH-FIX-UPSTREAM added at 2014/09/18
Patch422:       0008-shared-conf-parser-don-t-leak-memory-on-error-in-DEF.patch
# PATCH-FIX-UPSTREAM added at 2014/09/18 -- Be aware that the size of the type bool may vary
Patch423:       0009-bus-fix-bus_print_property-to-use-int-for-booleans.patch
# PATCH-FIX-UPSTREAM added at 2014/09/19
Patch424:       0001-journal-Do-not-count-on-the-compiler-initializing-fo.patch
# PATCH-FIX-UPSTREAM added at 2014/09/19
Patch425:       0002-include-fcntl.h-rather-than-sys-fcntl.h.patch
# PATCH-FIX-UPSTREAM added at 2014/09/19
Patch426:       0003-mount-order-options-before-other-arguments-to-mount.patch
# PATCH-FIX-UPSTREAM added at 2014/09/19
Patch427:       0004-shared-wtmp-utmp-don-t-clear-store_wtmp-in-utmp_put_.patch
# PATCH-FIX-UPSTREAM added at 2014/09/19
Patch428:       0005-shared-label.h-add-missing-stdio.h-include.patch
# PATCH-FIX-UPSTREAM added at 2014/09/19
Patch429:       0006-shared-sparse-endian.h-add-missing-byteswap.h-includ.patch

# UDEV PATCHES
# ============
# NOTE: all udev patches start with 1XXX-*.patch, do not use anything else.
#       Udev patches mean: patches that affect udev code, src/{udev,libudev}
#       nothing else, even if the patch might affect indirectly udev, as long
#       as it's not changing the code of udev and libudev, then is not a udev
#       patch. Further patches which add and/or changes udev rules.

# PATCH-FIX-OPENSUSE 1001-re-enable-by_path-links-for-ata-devices.patch
Patch1001:      1001-re-enable-by_path-links-for-ata-devices.patch
# PATCH-FIX-OPENSUSE 1002-rules-create-by-id-scsi-links-for-ATA-devices.patch
Patch1002:      1002-rules-create-by-id-scsi-links-for-ATA-devices.patch
# PATCH-FIX-OPENSUSE 1003-udev-netlink-null-rules.patch
Patch1003:      1003-udev-netlink-null-rules.patch
# PATCH-FIX-OPENSUSE 1005-create-default-links-for-primary-cd_dvd-drive.patch
Patch1005:      1005-create-default-links-for-primary-cd_dvd-drive.patch
# PATCH-FIX-OPENSUSE 1006-udev-always-rename-network.patch
Patch1006:      1006-udev-always-rename-network.patch
# PATCH-FIX-OPENSUSE 1007-physical-hotplug-cpu-and-memory.patch
Patch1007:      1007-physical-hotplug-cpu-and-memory.patch
# PATCH-FIX-OPENSUSE 1008-add-msft-compability-rules.patch -- for code base <= 1310
Patch1008:      1008-add-msft-compability-rules.patch
# PATCH-FIX-USTREAM added at 2014/03/03
Patch1009:      1009-cdrom_id-use-the-old-MMC-fallback.patch
# PATCH-FIX-SUSE increase result size for programs (bnc#867840)
Patch1010:      1010-udev-increase-result-size-for-programs.patch
# PATCH-FIX-SUSE skip btrfs check if devices are not ready (bnc#872929)
Patch1011:      1011-64-btrfs.rules-skip-btrfs-check-if-devices-are-not-r.patch
# PATCH-FIX-SUSE skip persistent device link creation on mp device (bnc#872929)
Patch1012:      1012-Skip-persistent-device-link-creation-on-multipath-de.patch
# PATCH-FIX-SUSE Do not use runtime PM for some IBM consoles (bnc#868931)
Patch1013:      1013-no-runtime-PM-for-IBM-consoles.patch
# PATCH-FIX-USTREAM 1014-udev-update-net_id-comments.patch
Patch1014:      1014-udev-update-net_id-comments.patch
# PATCH-FIX-USTREAM 1015-udev-persistent-naming-we-cannot-use-virtio-numbers-.patch
Patch1015:      1015-udev-persistent-naming-we-cannot-use-virtio-numbers-.patch
# PATCH-FIX-UPSTREAM added at 2014/05/12
Patch1016:      1016-udev-warn-when-name_to_handle_at-is-not-implemented.patch
# PATCH-FIX-UPSTREAM added at 2014/05/20
Patch1017:      1017-udev-serialize-synchronize-block-device-event-handli.patch
# PATCH-FIX-UPSTREAM added at 2014/05/20
Patch1018:      1018-udev-do-not-skip-the-execution-of-RUN-when-renaming-.patch
# PATCH-FIX-UPSTREAM added at 2014/05/20
Patch1019:      1019-udev-avoid-use-of-uninitialized-err.patch
# PATCH-FIX-UPSTREAM added at 2014/05/26
Patch1020:      1020-udev-keyboard-also-hook-into-change-events.patch
# PATCH-FIX-SUSE 1021-udev-re-add-persistent-net-rules.patch
Patch1021:      1021-udev-re-add-persistent-net-rules.patch
# PATCH-FIX-UPSTREAM 1022-udev-remove-seqnum-API-and-all-assumptions-about-seq.patch
Patch1022:      1022-udev-remove-seqnum-API-and-all-assumptions-about-seq.patch
# PATCH-FIX-UPSTREAM added at 2014/06/03
Patch1023:      1023-udev-builtin-keyboard-do-tell-on-which-device-EVIOCS.patch
# PATCH-FIX-UPSTREAM added at 2014/06/03
Patch1024:      1024-udev-always-close-lock-file-descriptor.patch
# PATCH-FIX-UPSTREAM 1025-udev-exclude-device-mapper-from-block-device-ownersh.patch
Patch1025:      1025-udev-exclude-device-mapper-from-block-device-ownersh.patch
# PATCH-FIX-UPSTREAM 1026-udevd-inotify-modernizations.patch
Patch1026:      1026-udevd-inotify-modernizations.patch
# PATCH-FIX-UPSTREAM 1027-udev-synthesize-change-events-for-partitions-when-to.patch
Patch1027:      1027-udev-synthesize-change-events-for-partitions-when-to.patch
# PATCH-FIX-UPSTREAM 1028-udev-link-config-fix-mem-leak.patch
Patch1028:      1028-udev-link-config-fix-mem-leak.patch
# PATCH-FIX-UPSTREAM 1029-udev-try-first-re-reading-the-partition-table.patch
Patch1029:      1029-udev-try-first-re-reading-the-partition-table.patch
# PATCH-FIX-UPSTREAM 1030-udev-guard-REREADP-logic-with-open-O_ECXL.patch
Patch1030:      1030-udev-guard-REREADP-logic-with-open-O_ECXL.patch
# PATCH-FIX-UPSTREAM 1031-udev-make-sure-we-always-get-change-for-the-disk.patch
Patch1031:      1031-udev-make-sure-we-always-get-change-for-the-disk.patch
# PATCH-FIX-UPSTREAM 1032-udev-guard-REREADPT-by-exclusive-lock-instead-of-O_E.patch
Patch1032:      1032-udev-guard-REREADPT-by-exclusive-lock-instead-of-O_E.patch
# PATCH-FIX-UPSTREAM 1033-udev-really-exclude-device-mapper-from-block-device.patch
Patch1033:      1033-udev-really-exclude-device-mapper-from-block-device.patch
# PATCH-FIX-UPSTREAM 1034-udev-check-the-return-value-from-udev_enumerate_scan.patch
Patch1034:      1034-udev-check-the-return-value-from-udev_enumerate_scan.patch
# PATCH-FIX-SUSE 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch
Patch1035:      1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch
# PATCH-FIX-SUSE 1036-rules-disable-usage-of-dev_id-in-persistent-rules.patch
Patch1036:      1036-rules-disable-usage-of-dev_id-in-persistent-rules.patch
# PATCH-FIX-SUSE See bnc#882714  comment #51 
Patch1037:      1037-udev-exclude-cd-dvd-from-block-device.patch
# PATCH-FIX-UPSTREAM 1038-udev-fix-invalid-free-in-enable_name_policy.patch
Patch1038:      1038-udev-fix-invalid-free-in-enable_name_policy.patch
# PATCH-FIX-UPSTREAM 1039-udevadm-settle-fixed-return-code-for-empty-queue.patch
Patch1039:      1039-udevadm-settle-fixed-return-code-for-empty-queue.patch
# PATCH-FIX-SUSE 1040-re-enable-dev_id-conditionally-in-persistent-rules.patch (bnc#884403 and bnc#882714)
Patch1040:      1040-re-enable-dev_id-conditionally-in-persistent-rules.patch
# PATCH-FIX-UPSTREAM 1041-libudev-fix-udev_queue_get_queue_is_empty-logic.patch
Patch1041:      1041-libudev-fix-udev_queue_get_queue_is_empty-logic.patch
# PATCH-FIX-UPSTREAM 1042-libudev-queue-provide-file-descriptor-to-watch-busy-.patch
Patch1042:      1042-libudev-queue-provide-file-descriptor-to-watch-busy-.patch
# PATCH-FIX-UPSTREAM 1043-libudev-queue-watch-entire-directory-to-allow-the-re.patch
Patch1043:      1043-libudev-queue-watch-entire-directory-to-allow-the-re.patch
# PATCH-FIX-UPSTREAM 1044-rules-update-qemu-hid-rules.patch
Patch1044:      1044-rules-update-qemu-hid-rules.patch
# PATCH-FIX-UPSTREAM 1045-rules-don-t-enable-usb-pm-for-Avocent-devices.patch
Patch1045:      1045-rules-don-t-enable-usb-pm-for-Avocent-devices.patch
# PATCH-FIX-SUSE 1046-fix-duplicated-rules-with-layer3-interfaces.patch (bnc#882714)
Patch1046:      1046-fix-duplicated-rules-with-layer3-interfaces.patch
# PATCH-FIX-UPSTREAM added at 2014/07/03
Patch1047:      1047-udev-net_setup_link-builtin-should-print-the-reason-.patch
# PATCH-FIX-UPSTREAM 1048-udev-net_setup_link-add-a-bit-more-logging.patch
Patch1048:      1048-udev-net_setup_link-add-a-bit-more-logging.patch
# PATCH-FIX-UPSTREAM 1049-udev-link_config-ignore-errors-due-to-missing-MAC-ad.patch
Patch1049:      1049-udev-link_config-ignore-errors-due-to-missing-MAC-ad.patch
# PATCH-FIX-SUSE 1050-only-rename-SRIOV-VF-devices-when-name-starts-with-eth.patch (bnc#885232)
Patch1050:      1050-only-rename-SRIOV-VF-devices-when-name-starts-with-eth.patch
# PATCH-FIX-SUSE 1051-check-if-NAME-has-a-value.patch (bnc#885232)
Patch1051:      1051-check-if-NAME-has-a-value.patch
# PATCH-FIX-UPSTREAM 1052-rules-uaccess-add-ID_SOFTWARE_RADIO.patch
Patch1052:      1052-rules-uaccess-add-ID_SOFTWARE_RADIO.patch
# PATCH-FIX-SUSE 1053-better-checks-in-write_net_rules.patch (bnc#888178)
Patch1053:      1053-better-checks-in-write_net_rules.patch
# PATCH-FIX-SUSE 0001-udev-exclude-MD-from-block-device-ownership-event-lo.patch
Patch1054:      1054-udev-exclude-MD-from-block-device-ownership-event-lo.patch
# PATCH-FIX-SUSE 1055-let-9719859c07aa13539ed2cd4b31972cd30f678543-apply.patch
Patch1055:      1055-let-9719859c07aa13539ed2cd4b31972cd30f678543-apply.patch
# PATCH-FIX-UPSTREAM 1056-udevd-add-event-timeout-commandline-option.patch
Patch1056:      1056-udevd-add-event-timeout-commandline-option.patch
# PATCH-FIX-UPSTREAM 1057-udev-unify-event-timeout-handling.patch
Patch1057:      1057-udev-unify-event-timeout-handling.patch
# PATCH-FIX-UPSTREAM 1058-udev-unify-event-timeout-handling.patch
Patch1058:      1058-udev-unify-event-timeout-handling.patch
# PATCH-FIX-UPSTREAM 1059-udev-fixup-commit-dd5eddd28a74a49607a8fffcaf960040db.patch
Patch1059:      1059-udev-fixup-commit-dd5eddd28a74a49607a8fffcaf960040db.patch
# PATCH-FIX-SUSE 1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch
Patch1060:      1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch
# PATCH-FIX-UPSTREAM 1061-rules-allow-systemd-to-manage-loop-device-partitions.patch
Patch1061:      1061-rules-allow-systemd-to-manage-loop-device-partitions.patch
# PATCH-FIX-SUSE 1062-rules-set-default-permissions-for-GenWQE-devices.patch (bnc#890977)
Patch1062:      1062-rules-set-default-permissions-for-GenWQE-devices.patch
# PATCH-FIX-UPSTREAM 1063-udev-path_id-suppress-ID_PATH-for-devices-with-an-un.patch
Patch1063:      1063-udev-path_id-suppress-ID_PATH-for-devices-with-an-un.patch
# PATCH-FIX-UPSTREAM 1064-udev-hwdb-do-not-look-at-usb_device-parents.patch
Patch1064:      1064-udev-hwdb-do-not-look-at-usb_device-parents.patch
# PATCH-FIX-UPSTREAM 1065-udev-bump-event-timeout-to-60-seconds.patch
Patch1065:      1065-udev-bump-event-timeout-to-60-seconds.patch
# PATCH-FIX-SUSE 1066-udev-add-compatibility-links-for-truncated-by-id-links.patch (bnc#886852)
Patch1066:      1066-udev-add-compatibility-links-for-truncated-by-id-links.patch
# PATCH-FIX-UPSTREAM 1067-udev-always-resolve-correctly-database-names-on-chan.patch (bnc#864745)
Patch1067:      1067-udev-always-resolve-correctly-database-names-on-chan.patch
# PATCH-FIX-UPSTREAM 1068-udev-net_setup_link-export-the-.link-filename-applie.patch
Patch1068:      1068-udev-net_setup_link-export-the-.link-filename-applie.patch
# PATCH-FIX-UPSTREAM 1069-rules-net-setup-link-preserve-ID_NET_LINK_FILE-and-I.patch
Patch1069:      1069-rules-net-setup-link-preserve-ID_NET_LINK_FILE-and-I.patch
# PATCH-FIX-UPSTREAM 1070-rules-net-setup-link-remove-stray-linebreak.patch
Patch1070:      1070-rules-net-setup-link-remove-stray-linebreak.patch
# PATCH-FIX-UPSTREAM 1071-udev-import-the-full-db-on-MOVE-events-for-devices-w.patch
Patch1071:      1071-udev-import-the-full-db-on-MOVE-events-for-devices-w.patch
# PATCH-FIX-UPSTREAM 1072-udev-netif_rename-don-t-log-to-kmsg.patch
Patch1072:      1072-udev-netif_rename-don-t-log-to-kmsg.patch
# PATCH-FIX-UPSTREAM 1073-udev-drop-print_kmsg.patch
Patch1073:      1073-udev-drop-print_kmsg.patch
# PATCH-FIX-UPSTREAM 1074-udev-fix-copy-paste-error-in-log-message.patch
Patch1074:      1074-udev-fix-copy-paste-error-in-log-message.patch
# PATCH-FIX-UPSTREAM 1075-udev-timeout-increase-timeout.patch
Patch1075:      1075-udev-timeout-increase-timeout.patch
# PATCH-FIX-UPSTREAM 1076-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch
Patch1076:      1076-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch
# PATCH-FIX-UPSTREAM 1077-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch
Patch1077:      1077-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch
# PATCH-FIX-UPSTREAM 1078-udev-remove-userspace-firmware-loading-support.patch
Patch1078:      1078-udev-remove-userspace-firmware-loading-support.patch
# PATCH-FIX-UPSTREAM 1079-udev-remove-userspace-firmware-loading-support.patch
Patch1079:      1079-udev-remove-userspace-firmware-loading-support.patch
# PATCH-FIX-UPSTREAM 1080-udevd-parse_argv-warn-if-argumens-are-invalid.patch
Patch1080:      1080-udevd-parse_argv-warn-if-argumens-are-invalid.patch
# PATCH-FIX-UPSTREAM 1081-udevd-check-return-of-various-functions.patch
Patch1081:      1081-udevd-check-return-of-various-functions.patch
# PATCH-FIX-UPSTREAM 1082-udevadm-hwdb-check-return-value-of-fseeko.patch
Patch1082:      1082-udevadm-hwdb-check-return-value-of-fseeko.patch
# PATCH-FIX-UPSTREAM 1083-udev-node-warn-if-chmod-chown-fails.patch
Patch1083:      1083-udev-node-warn-if-chmod-chown-fails.patch
# PATCH-FIX-UPSTREAM 1084-udev-ctrl-log-if-setting-SO_PASSCRED-fails.patch
Patch1084:      1084-udev-ctrl-log-if-setting-SO_PASSCRED-fails.patch
# PATCH-FIX-UPSTREAM 1085-udev-fix-typos.patch
Patch1085:      1085-udev-fix-typos.patch
# PATCH-FIX-UPSTREAM 1085-udevd-don-t-fail-if-run-udev-exists.patch
Patch1086:      1086-udevd-don-t-fail-if-run-udev-exists.patch

%description
Systemd is a system and service manager, compatible with SysV and LSB
init scripts for Linux. systemd provides aggressive parallelization
capabilities, uses socket and D-Bus activation for starting services,
offers on-demand starting of daemons, keeps track of processes using
Linux cgroups, supports snapshotting and restoring of the system state,
maintains mount and automount points and implements an elaborate
transactional dependency-based service control logic. It can work as a
drop-in replacement for sysvinit.


%package bash-completion
Summary:        Bash completion support for systemd
License:        LGPL-2.1+
Group:          System/Base
Requires:       bash
%if %{with bash_completion}
Requires:       bash-completion
%endif
BuildArch:      noarch

%description bash-completion
Some systemd commands offer bash completion, but it's an optional dependency.

%package devel
Summary:        Development headers for systemd
License:        LGPL-2.1+
Group:          Development/Libraries/C and C++
Requires:       %{name} = %{version}
Requires:       systemd-rpm-macros
%if 0%{?bootstrap}
Conflicts:      systemd-devel
%endif

%description devel
Development headers and auxiliary files for developing applications for systemd.

%package sysvinit
Summary:        System V init tools
License:        LGPL-2.1+
Group:          System/Base
Requires:       %{name} = %{version}
Provides:       sbin_init
Conflicts:      otherproviders(sbin_init)
Provides:       sysvinit:/sbin/init

%description sysvinit
Drop-in replacement of System V init tools.

%package -n %{udevpkgname}
Summary:        A rule-based device node and kernel event manager
License:        GPL-2.0
Group:          System/Kernel
Url:            http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html
PreReq:         /bin/rm
PreReq:         %insserv_prereq
PreReq:         %fillup_prereq
PreReq:         /usr/bin/sg_inq
Requires(pre):  /usr/bin/stat
Requires(pre):  /usr/sbin/groupadd
Requires(pre):  /usr/bin/getent
Requires(post): lib%{udevpkgname}%{udev_major}
Requires(post): sed
Requires(post): /usr/bin/systemctl
%if %{defined regenerate_initrd_post}
Requires(post): coreutils
Requires(post): /usr/bin/stat
Requires(postun): coreutils
Requires(posttrans): suse-module-tools
Requires(posttrans): /sbin/mkinitrd
%else
Requires(post): /sbin/mkinitrd
Requires(postun): /sbin/mkinitrd
%endif
Conflicts:      systemd < 39
Conflicts:      aaa_base < 11.5
Conflicts:      filesystem < 11.5
Conflicts:      mkinitrd < 2.7.0
Conflicts:      util-linux < 2.16
Conflicts:      ConsoleKit < 0.4.1
Requires:       filesystem
%if 0%{?bootstrap}
Provides:       udev = %{version}
Conflicts:      libudev%{udev_major}
Conflicts:      udev
# avoid kiwi picking it for bootstrap
Requires:       this-is-only-for-build-envs
%endif

%description -n %{udevpkgname}
Udev creates and removes device nodes in /dev for devices discovered or
removed from the system. It receives events via kernel netlink messages
and dispatches them according to rules in /lib/udev/rules.d/. Matching
rules may name a device node, create additional symlinks to the node,
call tools to initialize a device, or load needed kernel modules.



%package -n lib%{udevpkgname}%{udev_major}
Summary:        Dynamic library to access udev device information
License:        LGPL-2.1+
Group:          System/Libraries
Requires:       %{udevpkgname} >= %{version}-%{release}
%if 0%{?bootstrap}
Conflicts:      libudev%{udev_major}
Conflicts:      kiwi
# avoid kiwi picking it for bootstrap
Requires:       this-is-only-for-build-envs
%endif

%description -n lib%{udevpkgname}%{udev_major}
This package contains the dynamic library libudev, which provides
access to udev device information

%package -n lib%{udevpkgname}-devel
Summary:        Development files for libudev
License:        LGPL-2.1+
Group:          Development/Libraries/Other
Requires:       lib%{udevpkgname}%{udev_major} = %{version}-%{release}
%if 0%{?bootstrap}
Provides:       libudev-devel = %{version}
Conflicts:      libudev%{udev_major} = %{version}
Conflicts:      libudev-devel
%endif

%description -n lib%{udevpkgname}-devel
This package contains the development files for the library libudev, a
dynamic library, which provides access to udev device information.

%if ! 0%{?bootstrap}
%package -n libgudev-1_0-0
Summary:        GObject library, to access udev device information
License:        LGPL-2.1+
Group:          System/Libraries
Requires:       lib%{udevpkgname}%{udev_major} = %{version}-%{release}

%description -n libgudev-1_0-0
This package contains the GObject library libgudev, which provides
access to udev device information.

%package -n typelib-1_0-GUdev-1_0
Summary:        GObject library, to access udev device information -- Introspection bindings
License:        LGPL-2.1+
Group:          System/Libraries

%description -n typelib-1_0-GUdev-1_0
This package provides the GObject Introspection bindings for libgudev, which
provides access to udev device information.

%package -n libgudev-1_0-devel
Summary:        Devel package for libgudev
License:        LGPL-2.1+
Group:          Development/Libraries/Other
Requires:       glib2-devel
Requires:       libgudev-1_0-0 = %{version}-%{release}
Requires:       libudev-devel = %{version}-%{release}
Requires:       typelib-1_0-GUdev-1_0 = %{version}-%{release}

%description -n libgudev-1_0-devel
This is the devel package for the GObject library libgudev, which
provides GObject access to udev device information.

%package logger
Summary:        Journal only logging
License:        LGPL-2.1+
Group:          System/Base
Provides:       syslog
Provides:       sysvinit(syslog)
Requires(pre):  /usr/bin/getent
Requires(pre):  /usr/sbin/groupadd
Requires(post): /usr/bin/getent 
Requires(post): /usr/bin/setfacl 
Requires(post): /usr/bin/systemctl
Requires(post): permissions
Conflicts:      otherproviders(syslog)

%description logger
This package marks the installation to not use syslog but only the journal.

%package -n nss-myhostname
Summary:        Plugin for local system host name resolution
License:        LGPL-2.1+
Group:          System/Libraries

%description -n nss-myhostname
nss-myhostname is a plugin for the GNU Name Service Switch (NSS)
functionality of the GNU C Library (glibc) providing host name
resolution for the locally configured system hostname as returned by
gethostname(2). Various software relies on an always resolvable local
host name. When using dynamic hostnames this is usually achieved by
patching /etc/hosts at the same time as changing the host name. This
however is not ideal since it requires a writable /etc file system and
is fragile because the file might be edited by the administrator at
the same time. nss-myhostname simply returns all locally
configured public IP addresses, or -- if none are configured --
the IPv4 address 127.0.0.2 (wich is on the local loopback) and the
IPv6 address ::1 (which is the local host) for whatever system
hostname is configured locally. Patching /etc/hosts is thus no
longer necessary.

Note that nss-myhostname only provides a workaround for broken
software. If nss-myhostname is trigged by an application a message
is logged to /var/log/messages. Please check whether that's worth
a bug report then.
This package marks the installation to not use syslog but only the journal.

%package journal-gateway
Summary:        Gateway for serving journal events over the network using HTTP
License:        LGPL-2.1+
Group:          System/Base
Requires:       %{name} = %{version}-%{release}
Requires(post):   systemd
Requires(preun):  systemd
Requires(postun): systemd

%description journal-gateway
systemd-journal-gatewayd serves journal events over the network using HTTP.

%endif

%prep
%setup -q -n systemd-%{version}
echo "Checking whether upstream rpm macros changed..."
[ -z "`diff -Naru "%{S:10}" src/core/macros.systemd.in`" ] || exit 1

# only needed for bootstrap
%if 0%{?bootstrap}
cp %{SOURCE7} m4/
%endif

# systemd patches
%patch0 -p1
%patch1 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
%if 0%{?suse_version} <= 1310
%patch8 -p1
%endif
%patch9 -p1
%patch12 -p1
%patch13 -p0
%patch15 -p1
%patch16 -p1
%patch17 -p1
%patch18 -p1
%patch19 -p0
%patch20 -p1
%patch21 -p1
%patch22 -p1
%patch23 -p1
%patch24 -p1
%if 0%{?suse_version} <= 1310
%patch25 -p1
%endif
# check if this is still needed, or can be derived from fbdev uaccess rule
# http://lists.freedesktop.org/archives/systemd-devel/2012-November/007561.html
%patch27 -p1
%patch28 -p1
%patch37 -p1
%ifarch %arm
%patch38 -p1
%endif
%patch39 -p1
%patch40 -p1
%patch41 -p1
%patch42 -p1
%patch46 -p1
%patch47 -p1
%patch84 -p1
%patch86 -p1
%patch90 -p1
%patch91 -p1
%patch93 -p1
%patch114 -p0
%if 0%{?suse_version} <= 1310
%patch117 -p1
%endif
%patch119 -p1
%patch120 -p1
%patch121 -p0
%patch122 -p0
%patch123 -p0
%patch124 -p0
%patch125 -p0
%patch126 -p0
%patch127 -p0
%patch128 -p0
%patch129 -p0
%patch130 -p0
%patch131 -p0
%patch132 -p0
%patch133 -p0
%patch134 -p0
%patch135 -p0
%patch136 -p0
%patch137 -p0
%patch138 -p0
%patch139 -p0
%patch140 -p0
%patch141 -p0
%patch142 -p0
%patch143 -p0
%patch144 -p0
%patch145 -p0
%patch146 -p0
%patch147 -p0
%patch148 -p0
%patch149 -p0
%patch150 -p0
%patch151 -p0
%patch152 -p0
%patch153 -p0
%patch154 -p0
%patch155 -p0
%patch157 -p0
%patch158 -p0
%patch159 -p0
%patch160 -p0
%patch161 -p0
%patch162 -p0
%patch163 -p0
%patch164 -p0
%patch165 -p0
%patch166 -p0
%patch167 -p0
%patch168 -p0
%patch169 -p0
%patch170 -p0
%patch171 -p0
%patch172 -p0
%patch173 -p0
%patch174 -p0
%patch175 -p0
%patch176 -p0
%patch177 -p1
%patch178 -p1
%patch179 -p1
%patch180 -p1
%patch181 -p1
%patch182 -p1
%patch183 -p1
%patch184 -p1
%patch185 -p1
%patch186 -p1
%patch187 -p1
%patch188 -p1
%patch189 -p1
%patch190 -p1
%patch191 -p1
%patch192 -p1
%patch193 -p1
%patch194 -p0
%patch196 -p1
%patch195 -p0
%patch197 -p1
%patch198 -p1
%patch199 -p0
%patch200 -p0
%patch201 -p0
%patch202 -p0
%patch203 -p1
%patch204 -p1
%patch205 -p1
%patch206 -p0
%patch207 -p0
%patch208 -p1
%patch209 -p0
%patch211 -p0
%patch212 -p0
%patch213 -p0
%patch214 -p0
%patch215 -p0
%patch216 -p0
%patch217 -p0
%patch218 -p0
%patch219 -p1
%patch220 -p0
%patch221 -p0
%patch222 -p0
%patch223 -p0
%patch224 -p0
%patch225 -p0
%patch226 -p0
%patch227 -p0
%patch228 -p0
%patch229 -p0
%patch230 -p0
%patch231 -p0
%patch232 -p0
%patch233 -p0
%patch234 -p0
%patch235 -p0
%patch236 -p0
%patch237 -p0
%patch238 -p0
%patch239 -p0
%patch240 -p0
%patch241 -p0
%patch242 -p0
%patch243 -p0
%patch244 -p0
%patch245 -p0
%patch246 -p0
%patch247 -p0
%patch248 -p0
%patch249 -p0
%patch250 -p0
%patch251 -p0
%patch252 -p0
%patch253 -p0
%patch254 -p0
%patch255 -p0
%patch256 -p0
%patch257 -p0
%patch258 -p0
%patch259 -p0
%patch260 -p0
%patch261 -p0
%patch262 -p0
%patch263 -p0
%patch264 -p0
%patch265 -p0
%patch266 -p0
%patch267 -p0
%patch268 -p0
%patch269 -p0
%patch270 -p0
%patch271 -p0
%patch272 -p0
%patch273 -p0
%patch274 -p0
%patch275 -p0
%patch276 -p0
%patch277 -p0
%patch278 -p0
%patch279 -p0
%patch280 -p0
%patch281 -p1
%patch282 -p0
%patch283 -p0
%patch284 -p0
%patch285 -p0
%patch286 -p0
%patch287 -p0
%patch288 -p0
%patch289 -p0
%patch290 -p0
%patch291 -p0
%patch292 -p0
%patch293 -p0
%patch294 -p0
%patch295 -p0
%patch296 -p0
%patch297 -p0
%patch298 -p0
%patch299 -p0
%patch300 -p0
%patch301 -p0
%patch302 -p0
%patch303 -p0
%patch304 -p0
%patch305 -p0
%patch306 -p0
%patch307 -p0
%patch308 -p0
%patch309 -p0
%patch310 -p0
%patch311 -p0
%patch312 -p0
%patch313 -p0
%patch314 -p0
%patch315 -p0
%patch316 -p0
%patch317 -p0
%patch318 -p0
%patch319 -p0
%patch320 -p0
%patch321 -p0
%patch322 -p0
%patch323 -p0
%patch324 -p0
%patch325 -p0
%patch326 -p0
%patch327 -p0
%patch328 -p0
%patch329 -p0
%patch330 -p0
%patch331 -p0
%patch332 -p0
%patch333 -p0
%patch334 -p0
%patch335 -p0
%patch336 -p0
%patch337 -p0
%patch338 -p0
%patch339 -p0
%patch340 -p0
%patch341 -p0
%patch342 -p0
%patch343 -p0
%patch344 -p0
%patch345 -p1
%patch346 -p0
%patch347 -p0
%patch348 -p0
%patch349 -p0
%patch350 -p0
%patch351 -p0
%patch352 -p0
%patch353 -p0
%patch354 -p0
%patch355 -p0
%patch356 -p0
%patch357 -p0
%patch358 -p0
%patch359 -p0
%patch360 -p0
%patch361 -p0
%patch362 -p1
%patch363 -p0
%patch364 -p0
%patch365 -p0
%patch366 -p1
%patch367 -p0
%patch368 -p1
%patch369 -p0
%patch370 -p0
%patch371 -p0
%patch372 -p0
%patch373 -p0
%patch374 -p0
%patch375 -p0
%patch376 -p0
%patch377 -p0
%patch378 -p0
%patch379 -p0
%patch380 -p0
%patch381 -p0
%patch382 -p0
%patch383 -p0
%patch384 -p0
%patch385 -p0
%patch386 -p1
%patch387 -p0
%patch388 -p0
%patch389 -p0
%patch390 -p0
%patch391 -p0
%patch392 -p0
%patch393 -p0
%patch394 -p0
%patch395 -p0
%patch396 -p0
%patch397 -p0
%patch398 -p0
%patch399 -p0
%patch400 -p0
%patch401 -p0
%patch402 -p0
%patch403 -p0
%patch404 -p0
%patch405 -p0
%patch406 -p0
%patch407 -p0
%patch408 -p0
%patch409 -p0
%patch410 -p0
%patch411 -p0
%patch412 -p0
%patch413 -p0
%patch414 -p0
%patch415 -p0
%patch416 -p0
%patch417 -p0
%patch418 -p0
%patch419 -p0
%patch420 -p0
%patch421 -p0
%patch422 -p0
%patch423 -p0
%patch424 -p0
%patch425 -p0
%patch426 -p0
%patch427 -p0
%patch428 -p0
%patch429 -p0

# udev patches
%patch1001 -p1
%patch1002 -p1
%patch1003 -p1
%patch1005 -p1
%patch1006 -p1
%patch1007 -p1
%if 0%{?suse_version} <= 1310
%patch1008 -p1
%endif
%patch1009 -p1
%patch1010 -p1
%patch1011 -p1
%patch1012 -p1
%patch1013 -p1
%patch1014 -p1
%patch1015 -p1
%patch1016 -p0
%patch1017 -p0
%patch1018 -p0
%patch1019 -p0
%patch1020 -p0
%patch1021 -p1
%if %{with udevsettle}
%patch1022 -p1
%endif
%patch1023 -p0
%patch1024 -p0
%if %{with blkrrpart}
%patch1025 -p1
%endif
%patch1026 -p1
%if %{with blkrrpart}
%patch1027 -p1
%endif
%patch1028 -p1
%if %{with blkrrpart}
%patch1029 -p1
%patch1030 -p1
%patch1031 -p1
%patch1032 -p1
%patch1033 -p1
%patch1034 -p1
%endif
%patch1035 -p1
%patch1036 -p1
%if %{with blkrrpart}
%patch1037 -p1
%endif
%patch1038 -p0
%if %{with udevsettle}
%patch1039 -p0
%endif
%patch1040 -p1
%if %{with udevsettle}
%patch1041 -p0
%patch1042 -p0
%patch1043 -p0
%endif
%patch1044 -p0
%patch1045 -p0
%patch1046 -p1
%patch1047 -p0
%patch1048 -p0
%patch1049 -p0
%patch1050 -p1
%patch1051 -p1
%patch1052 -p0
%patch1053 -p1
%if %{with blkrrpart}
%patch1054 -p0
%else
%patch1055 -p1
%endif
%patch1056 -p0
%if %{with udevsettle}
%patch1057 -p0
%else
%patch1058 -p0
%endif
%patch1059 -p0
%patch1060 -p1
%patch1061 -p0
%patch1062 -p1
%patch1063 -p0
%patch1064 -p0
%patch1065 -p0
%patch1066 -p1
%patch1067 -p1
%patch1068 -p0
%patch1069 -p0
%patch1070 -p0
%patch1071 -p0
%patch1072 -p0
%patch1073 -p0
%patch1074 -p0
%patch1075 -p0
%if %{with udevsettle}
%patch1076 -p0
%else
%patch1077 -p0
%endif
%if 0%{?suse_version} > 1310
%if %{with udevsettle}
%patch1079 -p1
%else
%patch1078 -p1
%endif
%endif
%patch1080 -p0
%patch1081 -p0
%patch1082 -p0
%patch1083 -p0
%patch1084 -p0
%patch1085 -p0
%patch1086 -p0

# remove patch backups
find -name '*.orig' -exec rm -f '{}' \+

# ensure generate files are removed
rm -f units/emergency.service

# disable "-l" option for fsck if it does not support new locking scheme
# compare with commit c343be283b7152554bac0c02493a4e1759c163f7
PATH=${PATH}:/sbin:/usr/sbin
PATH_FSCK=$(type -p fsck)
if grep -q /run/fsck/%%s\\.lock $PATH_FSCK
then
  echo Found new $PATH_FSCK that is allow private locking
else
  echo Found old $PATH_FSCK that is disable flock for this one
  sed -ri 's@^([[:blank:]]+)(cmdline\[i\+\+\][[:blank:]]+=[[:blank:]]+"-l")(;)@\1/* \2 */\3@' src/fsck/fsck.c
fi

%if 0%{?suse_version} <= 1310
#
# Older versions like oS 13.1 do not distinguish between
# network.target and network-online.target
#
for f in src/core/service.c src/insserv-generator/insserv-generator.c
do
  sed -ri '/"network",.*SPECIAL_NETWORK_ONLINE_TARGET,/{ s/SPECIAL_NETWORK_ONLINE_TARGET/SPECIAL_NETWORK_TARGET/}' $f
done
%endif

#
# In combination with Patch352 set-and-use-default-logconsole.patch
# Ensure that journald log on tty10
#
%ifarch %ix86 x86_64 x32
sed -ri 's:#TTYPath=/dev/console:#TTYPath=/dev/tty10:' src/journal/journald.conf
%endif

%build
cflags ()
{
  local flag=$1; shift
  local var=$1; shift
  local gold
  test -n "${flag}" -a -n "${var}" || return
  case "${!var}" in
  *${flag}*) return
  esac
  if type ld.gold > /dev/null 2>&1 ; then
    gold=-Wl,-fuse-ld=gold
  fi
  set -o noclobber
  case "$flag" in
  -Wl,*)
    if echo 'int main () { return 0; }' | \
	${CC:-gcc} -Werror $gold $flag -o /dev/null -xc - > /dev/null 2>&1 ; then
	eval $var=\${$var:+\$$var\ }$flag
    fi
    rm -f ldtest.c
    ;;
  *)
    if ${CC:-gcc} -Werror $gold $flag -S -o /dev/null -xc /dev/null > /dev/null 2>&1 ; then
	eval $var=\${$var:+\$$var\ }$flag
    fi
    if ${CXX:-g++} -Werror $gold $flag -S -o /dev/null -xc++ /dev/null > /dev/null 2>&1 ; then
	eval $var=\${$var:+\$$var\ }$flag
    fi
  esac
  set +o noclobber
}
autoreconf -fiv
# prevent pre-generated and distributed files from re-building
find . -name "*.[1-8]" -exec touch '{}' '+';
export V=e
export CFLAGS="%{optflags} $(getconf LFS_CFLAGS)"
export LDFLAGS
%if 0%{?suse_version} == 1315
  CFLAGS="$CFLAGS -DNET_IFNAMES=1"
%else
  CFLAGS="$CFLAGS -DNET_IFNAMES=0"
  for rules in 75-persistent-net-generator 76-net-sriov-names
  do
    sed -ri '/^ENV\{net.ifnames\}=="1", GOTO="[^"]*"$/{ s/=="1"/!="0"/ }' src/udev/rule_generator/${rules}.rules
  done
%endif
cflags -pipe			CFLAGS
cflags -Wl,-O2			LDFLAGS
cflags -Wl,--hash-size=8599	LDFLAGS
# keep split-usr until all packages have moved their systemd rules to /usr
%configure \
  --docdir=%{_docdir}/systemd \
  --with-pamlibdir=/%{_lib}/security \
  --with-dbuspolicydir=%{_sysconfdir}/dbus-1/system.d \
  --with-dbussessionservicedir=%{_datadir}/dbus-1/services \
  --with-dbussystemservicedir=%{_datadir}/dbus-1/system-services \
  --with-dbusinterfacedir=%{_datadir}/dbus-1/interfaces \
%if 0%{?bootstrap}
  --disable-gudev \
  --disable-myhostname \
  --disable-manpages \
%else
  --enable-manpages \
%if %{with python}
  --with-python \
%endif
  --enable-gtk-doc \
  --with-nss-my-hostname-warning \
%endif
%if %{with compat_libs}
  --enable-compat-libs \
%endif
  --enable-selinux \
  --enable-split-usr \
  --disable-static \
%if 0%{?suse_version} <= 1310
  --with-firmware-path="%{_prefix}/lib/firmware:/lib/firmware" \
%endif
%if ! 0%{has_efi}
  --disable-efi \
%endif
  --with-rc-local-script-path-start=/etc/init.d/boot.local \
  --with-rc-local-script-path-stop=/etc/init.d/halt.local \
  --with-debug-shell=/bin/bash \
  --disable-smack \
  --disable-ima \
%if 0%{?suse_version} > 1310
  --disable-multi-seat-x \
%endif
%if %{without networkd}
  --disable-networkd \
%endif
  --disable-kdbus
make %{?_smp_mflags}
%if ! 0%{?bootstrap}
make %{?_smp_mflags} update-man-list man
%endif

%install
# Use refreshed manual pages
for man in man/*.[0-9]
do
  section=${man##*.}
  test -d man/man${section} || continue
  new=man/man${section}/${man##*/}
  if test -s $new -a $new -nt $man
  then
    cp -p $new $man
  else
    sed -ri 's@"(systemd) 209"@"\1 %{version}"@' $man
  fi
done
make install DESTDIR="%buildroot"

# move to %{_lib}
%if ! 0%{?bootstrap}
mv %{buildroot}%{_libdir}/libnss_myhostname.so.2 %{buildroot}/%{_lib}
%endif

mkdir -p %{buildroot}/{sbin,lib,bin}
ln -sf %{_bindir}/udevadm %{buildroot}/sbin/udevadm
ln -sf %{_bindir}/systemd-ask-password %{buildroot}/bin/systemd-ask-password
ln -sf %{_bindir}/systemctl %{buildroot}/bin/systemctl
ln -sf %{_prefix}/lib/systemd/systemd-udevd %{buildroot}/sbin/udevd
%if ! 0%{?bootstrap}
ln -sf systemd-udevd.8 %{buildroot}/%{_mandir}/man8/udevd.8
%endif
%if 0%{?suse_version} <= 1310
ln -sf /lib/firmware %{buildroot}/usr/lib/firmware
%endif
%if ! 0%{?bootstrap}
install -m755 -D %{S:8} %{buildroot}/etc/init.d/systemd-journald
install -D -m 755 %{S:9} %{buildroot}%{_sbindir}/nss-myhostname-config
%endif

sed -ie "s|@@PREFIX@@|%{_prefix}/lib/udev|g" %{S:1060}
sed -ie "s|@@SYSTEMD@@|%{_prefix}/lib/systemd|g" %{S:1060}
sed -ie "s|@@BINDIR@@|%{_bindir}|g" %{S:1060}
install -m755 -D %{S:1060} %{buildroot}/etc/init.d/boot.udev
ln -s systemd-udevd.service %{buildroot}/%{_prefix}/lib/systemd/system/udev.service
sed -ie "s|@@PREFIX@@|%{_bindir}|g" %{S:1061}
install -m755 -D %{S:1061} %{buildroot}/%{_prefix}/lib/udev/write_dev_root_rule
sed -ie "s|@@PREFIX@@|%{_prefix}/lib/udev|g" %{S:1062}
install -m644 -D %{S:1062} %{buildroot}/%{_prefix}/lib/systemd/system/systemd-udev-root-symlink.service
install -m755 -D %{S:1063} %{buildroot}/%{_prefix}/lib/udev/udev-generate-persistent-rule
install -m755 -D %{S:1064} %{buildroot}/%{_bindir}/systemd-sleep-grub
install -m755 -D %{S:1065} %{buildroot}/%{_prefix}/lib/udev/remount-tmpfs
mkdir -p %{buildroot}/%{_prefix}/lib/systemd/system/basic.target.wants
ln -sf ../systemd-udev-root-symlink.service %{buildroot}/%{_prefix}/lib/systemd/system/basic.target.wants
rm -rf %{buildroot}%{_sysconfdir}/rpm
find %{buildroot} -type f -name '*.la' -delete
mkdir -p %{buildroot}/{sbin,var/lib/systemd/sysv-convert,var/lib/systemd/migrated} %{buildroot}/usr/lib/systemd/{system-generators,user-generators,system-preset,user-preset,system/halt.target.wants,system/kexec.target.wants,system/poweroff.target.wants,system/reboot.target.wants,system/shutdown.target.wants}

install -m755 %{S:3} -D %{buildroot}%{_sbindir}/systemd-sysv-convert
ln -s ../usr/lib/systemd/systemd %{buildroot}/bin/systemd
ln -s ../usr/lib/systemd/systemd %{buildroot}/sbin/init
ln -s ../usr/bin/systemctl %{buildroot}/sbin/reboot
ln -s ../usr/bin/systemctl %{buildroot}/sbin/halt
ln -s ../usr/bin/systemctl %{buildroot}/sbin/shutdown
ln -s ../usr/bin/systemctl %{buildroot}/sbin/poweroff
ln -s ../usr/bin/systemctl %{buildroot}/sbin/telinit
ln -s ../usr/bin/systemctl %{buildroot}/sbin/runlevel
rm -rf %{buildroot}/etc/systemd/system/*.target.wants
rm -f %{buildroot}/etc/systemd/system/default.target
# aliases for /etc/init.d/*
ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/cgroup.service
ln -s systemd-tmpfiles-setup.service %{buildroot}/%{_prefix}/lib/systemd/system/cleanup.service
ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/clock.service
ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/crypto.service
ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/crypto-early.service
ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/device-mapper.service
ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/earlysyslog.service
ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/kbd.service
ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/ldconfig.service
ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/loadmodules.service
install -m644 %{S:2} %{buildroot}/%{_prefix}/lib/systemd/system/localfs.service
ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/localnet.service
ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/proc.service
ln -s systemd-fsck-root.service %{buildroot}/%{_prefix}/lib/systemd/system/rootfsck.service
ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/single.service
ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/swap.service
ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/startpreload.service
ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/stoppreload.service
ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/earlyxdm.service
ln -s systemd-sysctl.service %{buildroot}/%{_prefix}/lib/systemd/system/sysctl.service
ln -s systemd-random-seed.service %{buildroot}/%{_prefix}/lib/systemd/system/random.service
# don't mount /tmp as tmpfs for now
rm %{buildroot}/%{_prefix}/lib/systemd/system/local-fs.target.wants/tmp.mount

# don't enable wall ask password service, it spams every console (bnc#747783)
rm %{buildroot}%{_prefix}/lib/systemd/system/multi-user.target.wants/systemd-ask-password-wall.path

# create %{_libexecdir}/modules-load.d
mkdir -p %{buildroot}%{_libexecdir}/modules-load.d
cat << EOF > %{buildroot}%{_libexecdir}/modules-load.d/sg.conf
# load sg module at boot time
sg
EOF

# To avoid making life hard for Factory developers, don't package the
# kernel.core_pattern setting until systemd-coredump is a part of an actual
# systemd release and it's made clear how to get the core dumps out of the
# journal.
rm -f %{buildroot}%{_prefix}/lib/sysctl.d/50-coredump.conf

# do not ship sysctl defaults in systemd package, will be part of
# aaa_base (in procps for now)
rm -f %{buildroot}%{_prefix}/lib/sysctl.d/50-default.conf

# remove README file for now
rm -f %{buildroot}/etc/init.d/README
%if 0%{?bootstrap}
rm -f %{buildroot}%{_localstatedir}/log/README
rm -rf %{buildroot}%{_datadir}/bash-completion
%endif

# legacy links
for f in loginctl journalctl ; do
  ln -s $f %{buildroot}%{_bindir}/systemd-$f
%if ! 0%{?bootstrap}
  ln -s $f.1 %{buildroot}%{_mandir}/man1/systemd-$f.1
%endif
done
ln -s /usr/lib/udev %{buildroot}/lib/udev

# Create the /var/log/journal directory to change the volatile journal to a persistent one
mkdir -p %{buildroot}%{_localstatedir}/log/journal/

# Make sure directories in /var exist
mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/coredump
mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/catalog
#create ghost databases
touch %{buildroot}%{_localstatedir}/lib/systemd/catalog/database
touch %{buildroot}%{_sysconfdir}/udev/hwdb.bin

# Make sure the NTP units dir exists
mkdir -p %{buildroot}%{_prefix}/lib/systemd/ntp-units.d/

# Make sure the shutdown/sleep drop-in dirs exist
mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-shutdown/
mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-sleep/

# Make sure these directories are properly owned
mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/default.target.wants
mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/dbus.target.wants

# create drop-in to prevent tty1 to be cleared (bnc#804158)
mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/getty@tty1.service.d/
cat << EOF > %{buildroot}%{_prefix}/lib/systemd/system/getty@tty1.service.d/noclear.conf
[Service]
# ensure tty1 isn't cleared (bnc#804158)
TTYVTDisallocate=no
EOF

# ensure after.local wrapper is called
install -m 644 %{S:11} %{buildroot}/%{_prefix}/lib/systemd/system/
ln -s ../after-local.service %{buildroot}/%{_prefix}/lib/systemd/system/multi-user.target.wants/

%if ! 0%{?bootstrap}
%if %{without python}
for man in systemd.directives.7 systemd.index.7
do
  install -m 0644 man/$man %{buildroot}%{_mandir}/man7/
done
%endif
%endif

mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/backlight
mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/random-seed

%fdupes -s %{buildroot}%{_mandir}

%if ! 0%{?bootstrap}
for f in %{buildroot}%{_datadir}/bash-completion/completions/*
do
    test -e "$f" || break
    grep -q _init_completion "$f" || continue
    echo "%exclude %{_datadir}/bash-completion/completions/${f##*/}"
done > files.completion
%else
> files.completion
%endif

%if 0%{suse_version} >= 1310
# packaged in systemd-rpm-macros
rm -f %{buildroot}/%{_prefix}/lib/rpm/macros.d/macros.systemd
%endif

%if %{without compat_libs}
lib=%{_libdir}/libsystemd.so
for lnk in daemon login id128 journal
do
    lnk=%{buildroot}%{_libdir}/libsystemd-${lnk}.so
    echo '/* GNU ld script */' >  ${lnk}
    echo 'INPUT('${lib}')'     >> ${lnk}
done
%endif

%if 0%{suse_version} <= 1310
cat > %{buildroot}/%{_prefix}/lib/systemd/system/fix.service <<-'EOF'
	[Unit]
	Description=Fix against deadlock at shutdown
	Wants=remote-fs.target remote-fs-pre.target
	Before=remote-fs.target systemd-logind.service
	After=remote-fs-pre.target network.target rpcbind.target nss-lookup.target nss-user-lookup.target
	ConditionPathExists=|/etc/init.d/autofs
	ConditionPathExists=|/etc/init.d/nfs

	[Service]
	Type=oneshot
	RemainAfterExit=true
	ExecStart=/bin/true
	ExecStop=-/etc/init.d/autofs stop
	ExecStop=-/etc/init.d/nfs stop

	[Install]
	WantedBy=remote-fs.target
	EOF
	mkdir -p %{buildroot}/%{_prefix}/lib/systemd/system/remote-fs.target.wants
	ln -sf ../fix.service %{buildroot}/%{_prefix}/lib/systemd/system/remote-fs.target.wants
%endif

# Some files which may created by us or by the admin later on
mkdir -p %{buildroot}%{_sysconfdir}/X11/xorg.conf.d
for ghost in X11/xorg.conf.d/00-keyboard.conf vconsole.conf locale.conf \
	     machine-id machine-info \
	     systemd/system/runlevel2.target \
	     systemd/system/runlevel3.target \
	     systemd/system/runlevel4.target \
	     systemd/system/runlevel4.target \
	     systemd/system/runlevel5.target
do
  > %{buildroot}%{_sysconfdir}/$ghost
done

# Workaround for bug #882393
for runlevel in poweroff rescue multi-user graphical reboot
do
  mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/${runlevel}.target.wants
  ln -sf ../systemd-update-utmp-runlevel.service %{buildroot}%{_prefix}/lib/systemd/system/${runlevel}.target.wants/
done

%find_lang systemd

%pre
getent group systemd-journal >/dev/null || groupadd -r systemd-journal || :
exit 0

%post
%if ! 0%{?bootstrap}
/usr/sbin/pam-config -a --systemd || :
%endif
/sbin/ldconfig
[ -e %{_localstatedir}/lib/random-seed ] && mv %{_localstatedir}/lib/random-seed %{_localstatedir}/lib/systemd/ > /dev/null || :
/usr/bin/systemd-machine-id-setup >/dev/null 2>&1 || :
/usr/lib/systemd/systemd-random-seed save >/dev/null 2>&1 || :
/usr/bin/systemctl daemon-reexec >/dev/null 2>&1 || :
/usr/bin/journalctl --update-catalog >/dev/null 2>&1 || :
# Make sure new journal files
chgrp systemd-journal %{_localstatedir}/log/journal/ > /dev/null 2>&1 || :
chmod g+s             %{_localstatedir}/log/journal/ > /dev/null 2>&1 || :
if read ID < /etc/machine-id > /dev/null 2>&1 ; then
  chgrp systemd-journal %{_localstatedir}/log/journal/$ID > /dev/null 2>&1 || :
  chmod g+s             %{_localstatedir}/log/journal/$ID > /dev/null 2>&1 || :
fi
%if %{with systemgrps}
getent group wheel && setfacl -Rnm g:wheel:rx,d:g:wheel:rx %{_localstatedir}/log/journal/ > /dev/null 2>&1 || :
getent group adm   && setfacl -Rnm g:adm:rx,d:g:adm:rx     %{_localstatedir}/log/journal/ > /dev/null 2>&1 || :
%endif

# Try to read default runlevel from the old inittab if it exists
if [ ! -e /etc/systemd/system/default.target -a -e /etc/inittab ]; then
  runlevel=$(awk -F ':' '$3 == "initdefault" && $1 !~ "^#" { print $2 }' /etc/inittab 2> /dev/null)
  if [ -n "$runlevel" ] ; then
    /bin/ln -sf /usr/lib/systemd/system/runlevel$runlevel.target /etc/systemd/system/default.target 2>&1 || :
  fi
fi
# Create default config in /etc at first install.
# Later package updates should not overwrite these settings.
if [ "$1" -eq 1 ]; then
  # Enable these services by default.
  /usr/bin/systemctl enable \
    getty@tty1.service \
    systemd-readahead-collect.service \
    systemd-readahead-replay.service \
    remote-fs.target >/dev/null 2>&1 || :
fi

# since v207 /etc/sysctl.conf is no longer parsed, however
# backward compatibility is provided by /etc/sysctl.d/99-sysctl.conf
if [ ! -L /etc/sysctl.d/99-sysctl.conf -a -e /etc/sysctl.conf ]; then
    /bin/ln -sf /etc/sysctl.conf /etc/sysctl.d/99-sysctl.conf || :
fi

# migrate any symlink which may refer to the old path
for f in $(find /etc/systemd/system -type l -xtype l); do
  new_target="/usr$(readlink $f)"
  [ -f "$new_target" ] && ln -s -f $new_target $f || :
done

%postun
/sbin/ldconfig
if [ $1 -ge 1 ]; then
        /usr/bin/systemctl daemon-reload >/dev/null 2>&1 || :
        /usr/bin/systemctl try-restart systemd-logind.service >/dev/null 2>&1 || :
fi
%if ! 0%{?bootstrap}
if [ $1 -eq 0 ]; then
  /usr/sbin/pam-config -d --systemd || :
fi
%endif

%preun
if [ $1 -eq 0 ]; then
  /usr/bin/systemctl disable \
    getty@.service \
    systemd-readahead-collect.service \
    systemd-readahead-replay.service \
    remote-fs.target >/dev/null 2>&1 || :
  rm -f /etc/systemd/system/default.target 2>&1 || :
fi

%pretrans -n %{udevpkgname} -p <lua>
if posix.stat("/lib/udev") and not posix.stat("/usr/lib/udev") then
  posix.symlink("/lib/udev", "/usr/lib/udev")
end

%pre -n %{udevpkgname}
if test -L /usr/lib/udev -a /lib/udev -ef /usr/lib/udev ; then
  rm /usr/lib/udev
  mv /lib/udev /usr/lib
  ln -s /usr/lib/udev /lib/udev
elif [ ! -e /lib/udev ]; then
  ln -s /usr/lib/udev /lib/udev
fi
# Create "tape" group which is referenced by 50-udev-default.rules and 60-persistent-storage-tape.rules
getent group tape >/dev/null || groupadd -r tape 2> /dev/null || :
# kill daemon if we are not in a chroot
if test -f /proc/1/exe -a -d /proc/1/root ; then
        if test "$(stat -Lc '%%D-%%i' /)" = "$(stat -Lc '%%D-%%i' /proc/1/root)"; then
                systemctl stop systemd-udevd-control.socket systemd-udevd-kernel.socket systemd-udevd.service udev.service udev-control.socket udev-kernel.socket >/dev/null 2>&1 || :
                udevadm control --exit 2>&1 || :
        fi
fi

%post -n %{udevpkgname}
/usr/bin/udevadm hwdb --update >/dev/null 2>&1 || :
%{fillup_and_insserv -Y boot.udev}
# add KERNEL name match to existing persistent net rules
sed -ri '/KERNEL/ ! { s/NAME="(eth|wlan|ath)([0-9]+)"/KERNEL=="\1*", NAME="\1\2"/}' \
    /etc/udev/rules.d/70-persistent-net.rules >/dev/null 2>&1 || :
# cleanup old stuff
rm -f /etc/sysconfig/udev
rm -f /etc/udev/rules.d/20-cdrom.rules
rm -f /etc/udev/rules.d/55-cdrom.rules
rm -f /etc/udev/rules.d/65-cdrom.rules
systemctl daemon-reload >/dev/null 2>&1 || :
# start daemon if we are not in a chroot
if test -f /proc/1/exe -a -d /proc/1/root; then
	if test "$(stat -Lc '%%D-%%i' /)" = "$(stat -Lc '%%D-%%i' /proc/1/root)"; then
		if ! systemctl start systemd-udevd.service >/dev/null 2>&1; then
                        /usr/lib/systemd/systemd-udevd --daemon >/dev/null 2>&1 || :
                fi
	fi
fi

if [ "${YAST_IS_RUNNING}" != "instsys" ]; then
 if [ -e %{_localstatedir}/lib/no_initrd_recreation_by_suspend ]; then
   echo "Skipping recreation of existing initial ramdisks, due"
   echo "to presence of %{_localstatedir}/lib/no_initrd_recreation_by_suspend"
%if %{defined regenerate_initrd_post}
 else
   %regenerate_initrd_post
%else
 elif [ -x /sbin/mkinitrd ]; then
   [ -x /sbin/mkinitrd_setup ] && /sbin/mkinitrd_setup
   /sbin/mkinitrd || :
%endif
 fi
fi

%postun -n %{udevpkgname}
%insserv_cleanup
systemctl daemon-reload >/dev/null 2>&1 || :

if [ "${YAST_IS_RUNNING}" != "instsys" ]; then
 if [ -e %{_localstatedir}/lib/no_initrd_recreation_by_suspend ]; then
   echo "Skipping recreation of existing initial ramdisks, due"
   echo "to presence of %{_localstatedir}/lib/no_initrd_recreation_by_suspend"
%if %{defined regenerate_initrd_post}
 else
   %regenerate_initrd_post
%else
 elif [ -x /sbin/mkinitrd ]; then
   [ -x /sbin/mkinitrd_setup ] && /sbin/mkinitrd_setup
   /sbin/mkinitrd || :
%endif
 fi
fi

%if %{defined regenerate_initrd_post}
%posttrans -n %{udevpkgname}
%regenerate_initrd_posttrans
%endif

%post -n lib%{udevpkgname}%{udev_major} -p /sbin/ldconfig

%postun -n lib%{udevpkgname}%{udev_major} -p /sbin/ldconfig

%if ! 0%{?bootstrap}

%post -n libgudev-1_0-0 -p /sbin/ldconfig

%postun -n libgudev-1_0-0 -p /sbin/ldconfig

%if %{with permission}
%verifyscript logger
%verify_permissions -e %{_localstatedir}/log/journal/
%endif

%pre logger
getent group systemd-journal >/dev/null || groupadd -r systemd-journal || :
exit 0

%post logger
%if %{with permission}
%set_permissions %{_localstatedir}/log/journal/
%endif
%if %{with systemgrps}
getent group wheel && setfacl -Rnm g:wheel:rx,d:g:wheel:rx %{_localstatedir}/log/journal/ > /dev/null 2>&1 || :
getent group adm   && setfacl -Rnm g:adm:rx,d:g:adm:rx     %{_localstatedir}/log/journal/ > /dev/null 2>&1 || :
%endif
if [ "$1" -eq 1 ]; then
# tell journal to start logging on disk if directory didn't exist before
  systemctl --no-block restart systemd-journal-flush.service >/dev/null 2>&1 || :
fi

%preun -n nss-myhostname
if [ "$1" -eq 0 -a -f /etc/nsswitch.conf ] ; then
        %{_sbindir}/nss-myhostname-config --disable
fi

%post -n nss-myhostname -p /sbin/ldconfig

%postun -n nss-myhostname -p /sbin/ldconfig

%pre journal-gateway
getent passwd systemd-journal-gateway >/dev/null || useradd -r -l -g systemd-journal-gateway -d %{_localstatedir}/log/journal/ -s /usr/sbin/nologin -c "Journal Gateway" systemd-journal-gateway >/dev/null 2>&1 || :
getent group systemd-journal-gateway >/dev/null || groupadd -r systemd-journal-gateway || :
%service_add_pre systemd-journal-gatewayd.socket systemd-journal-gatewayd.service
exit 0

%post journal-gateway
%service_add_post systemd-journal-gatewayd.socket systemd-journal-gatewayd.service

%preun  journal-gateway
%service_del_preun systemd-journal-gatewayd.socket systemd-journal-gatewayd.service

%postun journal-gateway
%service_del_postun systemd-journal-gatewayd.socket systemd-journal-gatewayd.service

%endif

%files -f systemd.lang
%defattr(-,root,root)
/bin/systemd
/bin/systemd-ask-password
/bin/systemctl
%{_bindir}/systemd-sleep-grub
%{_bindir}/busctl
%{_bindir}/kernel-install
%{_bindir}/hostnamectl
%{_bindir}/localectl
%{_bindir}/machinectl
%{_bindir}/systemctl
%{_bindir}/systemd-analyze
%{_bindir}/systemd-coredumpctl
%{_bindir}/systemd-delta
%{_bindir}/systemd-notify
%{_bindir}/systemd-run
%{_bindir}/systemd-journalctl
%{_bindir}/journalctl
%{_bindir}/systemd-ask-password
%{_bindir}/loginctl
%{_bindir}/systemd-loginctl
%{_bindir}/systemd-inhibit
%{_bindir}/systemd-tty-ask-password-agent
%{_bindir}/systemd-tmpfiles
%{_bindir}/systemd-machine-id-setup
%{_bindir}/systemd-nspawn
%{_bindir}/systemd-stdio-bridge
%{_bindir}/systemd-detect-virt
%{_bindir}/timedatectl
%{_sbindir}/systemd-sysv-convert
%{_libdir}/libsystemd.so.*
%if %{with compat_libs}
%{_libdir}/libsystemd-daemon.so.*
%{_libdir}/libsystemd-login.so.*
%{_libdir}/libsystemd-id128.so.*
%{_libdir}/libsystemd-journal.so.*
%endif
%{_bindir}/systemd-cgls
%{_bindir}/systemd-cgtop
%{_bindir}/systemd-cat
%dir %{_prefix}/lib/kernel
%dir %{_prefix}/lib/kernel/install.d
%{_prefix}/lib/kernel/install.d/50-depmod.install
%{_prefix}/lib/kernel/install.d/90-loaderentry.install
%dir %{_prefix}/lib/systemd
%dir %{_prefix}/lib/systemd/user
%dir %{_prefix}/lib/systemd/system
%exclude %{_prefix}/lib/systemd/system/systemd-udev*.*
%exclude %{_prefix}/lib/systemd/system/udev.service
%exclude %{_prefix}/lib/systemd/system/initrd-udevadm-cleanup-db.service
%exclude %{_prefix}/lib/systemd/system/systemd-udev-root-symlink.service
%exclude %{_prefix}/lib/systemd/system/*.target.wants/systemd-udev*.*
%exclude %{_prefix}/lib/systemd/system/basic.target.wants/systemd-udev-root-symlink.service
%if ! 0%{?bootstrap}
%exclude %{_prefix}/lib/systemd/system/systemd-journal-gatewayd.*
%endif
%{_prefix}/lib/systemd/system/*.automount
%{_prefix}/lib/systemd/system/*.busname
%{_prefix}/lib/systemd/system/*.service
%{_prefix}/lib/systemd/system/*.slice
%{_prefix}/lib/systemd/system/*.target
%{_prefix}/lib/systemd/system/*.mount
%{_prefix}/lib/systemd/system/*.timer
%{_prefix}/lib/systemd/system/*.socket
%{_prefix}/lib/systemd/system/*.wants
%{_prefix}/lib/systemd/system/*.path
%{_prefix}/lib/systemd/user/*.target
%{_prefix}/lib/systemd/user/*.service
%exclude %{_prefix}/lib/systemd/systemd-udevd
%if ! 0%{?bootstrap}
%exclude %{_prefix}/lib/systemd/systemd-journal-gatewayd
%endif
%{_prefix}/lib/systemd/systemd-*
%{_prefix}/lib/systemd/systemd
%dir %{_prefix}/lib/systemd/catalog
%{_prefix}/lib/systemd/catalog/systemd.catalog
%{_prefix}/lib/systemd/catalog/systemd.*.catalog
%dir %{_prefix}/lib/systemd/system-shutdown
%dir %{_prefix}/lib/systemd/system-preset
%dir %{_prefix}/lib/systemd/user-preset
%dir %{_prefix}/lib/systemd/system-generators
%dir %{_prefix}/lib/systemd/user-generators
%dir %{_prefix}/lib/systemd/ntp-units.d/
%dir %{_prefix}/lib/systemd/system-shutdown/
%dir %{_prefix}/lib/systemd/system-sleep/
%dir %{_prefix}/lib/systemd/system/default.target.wants
%dir %{_prefix}/lib/systemd/system/dbus.target.wants
%dir %{_prefix}/lib/systemd/system/getty@tty1.service.d
%{_prefix}/lib/systemd/system/getty@tty1.service.d/noclear.conf
%if ! 0%{?bootstrap}
%{_prefix}/lib/systemd/system-generators/systemd-cryptsetup-generator
%endif
%if 0%{has_efi}
%{_bindir}/bootctl
%{_prefix}/lib/systemd/system-generators/systemd-efi-boot-generator
%endif
%{_prefix}/lib/systemd/system-generators/systemd-getty-generator
%{_prefix}/lib/systemd/system-generators/systemd-rc-local-generator
%{_prefix}/lib/systemd/system-generators/systemd-fstab-generator
%{_prefix}/lib/systemd/system-generators/systemd-system-update-generator
%{_prefix}/lib/systemd/system-generators/systemd-insserv-generator
%{_prefix}/lib/systemd/system-generators/systemd-gpt-auto-generator
/%{_lib}/security/pam_systemd.so
%config /etc/pam.d/systemd-user

%dir %{_libexecdir}/modules-load.d
%dir %{_sysconfdir}/modules-load.d
%{_libexecdir}/modules-load.d/sg.conf

%dir %{_libexecdir}/tmpfiles.d
%dir %{_sysconfdir}/tmpfiles.d
%{_libexecdir}/tmpfiles.d/*.conf

%dir %{_libexecdir}/binfmt.d
%dir %{_sysconfdir}/binfmt.d

%dir %{_libexecdir}/sysctl.d
%dir %{_sysconfdir}/sysctl.d

%dir %{_sysconfdir}/systemd
%dir %{_sysconfdir}/systemd/system
%dir %{_sysconfdir}/systemd/user
%dir %{_sysconfdir}/xdg/systemd
%dir %{_sysconfdir}/dbus-1
%dir %{_sysconfdir}/dbus-1/system.d
%{_sysconfdir}/xdg/systemd/user
%dir %{_datadir}/dbus-1
%dir %{_datadir}/dbus-1/services
%dir %{_datadir}/dbus-1/system-services
%config(noreplace) %{_sysconfdir}/systemd/bootchart.conf
%config(noreplace) %{_sysconfdir}/systemd/system.conf
%config(noreplace) %{_sysconfdir}/systemd/logind.conf
%config(noreplace) %{_sysconfdir}/systemd/journald.conf
%config(noreplace) %{_sysconfdir}/systemd/user.conf
%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.locale1.conf
%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.login1.conf
%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.machine1.conf
%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.systemd1.conf
%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.hostname1.conf
%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.timedate1.conf

# Some files which may created by us
%dir %{_sysconfdir}/X11/xorg.conf.d
%ghost %config(noreplace) %{_sysconfdir}/X11/xorg.conf.d/00-keyboard.conf
%ghost %config(noreplace) %{_sysconfdir}/vconsole.conf
%ghost %config(noreplace) %{_sysconfdir}/locale.conf
%ghost %config(noreplace) %{_sysconfdir}/machine-id
%ghost %config(noreplace) %{_sysconfdir}/machine-info
%ghost %config(noreplace) %{_sysconfdir}/systemd/system/runlevel2.target
%ghost %config(noreplace) %{_sysconfdir}/systemd/system/runlevel3.target
%ghost %config(noreplace) %{_sysconfdir}/systemd/system/runlevel4.target
%ghost %config(noreplace) %{_sysconfdir}/systemd/system/runlevel5.target

%{_datadir}/dbus-1/services/org.freedesktop.systemd1.service
%{_datadir}/dbus-1/system-services/org.freedesktop.systemd1.service
%{_datadir}/dbus-1/system-services/org.freedesktop.locale1.service
%{_datadir}/dbus-1/system-services/org.freedesktop.login1.service
%{_datadir}/dbus-1/system-services/org.freedesktop.hostname1.service
%{_datadir}/dbus-1/system-services/org.freedesktop.machine1.service
%{_datadir}/dbus-1/system-services/org.freedesktop.timedate1.service
%dir %{_datadir}/polkit-1
%dir %{_datadir}/polkit-1/actions
%{_datadir}/polkit-1/actions/org.freedesktop.systemd1.policy
%{_datadir}/polkit-1/actions/org.freedesktop.hostname1.policy
%{_datadir}/polkit-1/actions/org.freedesktop.locale1.policy
%{_datadir}/polkit-1/actions/org.freedesktop.timedate1.policy
%{_datadir}/polkit-1/actions/org.freedesktop.login1.policy
%if ! 0%{?bootstrap}
%exclude %{_datadir}/systemd/gatewayd
%endif
%{_datadir}/systemd

%if ! 0%{?bootstrap}
# Packaged in sysvinit subpackage
%exclude %{_mandir}/man1/init.1*
%exclude %{_mandir}/man8/halt.8*
%exclude %{_mandir}/man8/reboot.8*
%exclude %{_mandir}/man8/shutdown.8*
%exclude %{_mandir}/man8/poweroff.8*
%exclude %{_mandir}/man8/telinit.8*
%exclude %{_mandir}/man8/runlevel.8*
%exclude %{_mandir}/man*/*udev*.[0-9]*
%exclude %{_mandir}/man8/systemd-journal-gatewayd.*
%{_mandir}/man1/*.1*
%{_mandir}/man5/*.5*
%{_mandir}/man7/*.7*
%{_mandir}/man8/*.8*
%endif
%{_docdir}/systemd
%{_prefix}/lib/udev/rules.d/70-uaccess.rules
%{_prefix}/lib/udev/rules.d/71-seat.rules
%{_prefix}/lib/udev/rules.d/73-seat-late.rules
%if ! 0%{?bootstrap}
%{_prefix}/lib/udev/rules.d/73-seat-numlock.rules
%endif
%{_prefix}/lib/udev/rules.d/99-systemd.rules
%{_prefix}/lib/udev/numlock-on
%if 0%{suse_version} < 1310
%{_sysconfdir}/rpm/macros.systemd
%endif
%dir %{_localstatedir}/lib/systemd
%dir %{_localstatedir}/lib/systemd/sysv-convert
%dir %{_localstatedir}/lib/systemd/migrated
%dir %{_localstatedir}/lib/systemd/catalog
%ghost %{_localstatedir}/lib/systemd/catalog/database
%dir %{_localstatedir}/lib/systemd/coredump
%dir %{_datadir}/zsh
%dir %{_datadir}/zsh/site-functions
%{_datadir}/zsh/site-functions/*
%ghost %{_localstatedir}/lib/systemd/backlight
%ghost %{_localstatedir}/lib/systemd/random-seed
%if 0%{?suse_version} > 1310
%{_datadir}/pkgconfig/systemd.pc
%endif

%if ! 0%{?bootstrap}
%files bash-completion -f files.completion
%defattr(-,root,root,-)
%dir %{_datadir}/bash-completion
%dir %{_datadir}/bash-completion/completions
%{_datadir}/bash-completion/completions/*
%endif

%files devel
%defattr(-,root,root,-)
%{_libdir}/libsystemd.so
%{_libdir}/libsystemd-daemon.so
%{_libdir}/libsystemd-login.so
%{_libdir}/libsystemd-id128.so
%{_libdir}/libsystemd-journal.so
%dir %{_includedir}/systemd
%{_includedir}/systemd/sd-login.h
%{_includedir}/systemd/sd-daemon.h
%{_includedir}/systemd/sd-id128.h
%{_includedir}/systemd/sd-journal.h
%{_includedir}/systemd/sd-messages.h
%{_includedir}/systemd/_sd-common.h
%if 0%{?suse_version} <= 1310
%{_datadir}/pkgconfig/systemd.pc
%endif
%{_libdir}/pkgconfig/libsystemd.pc
%{_libdir}/pkgconfig/libsystemd-daemon.pc
%{_libdir}/pkgconfig/libsystemd-login.pc
%{_libdir}/pkgconfig/libsystemd-id128.pc
%{_libdir}/pkgconfig/libsystemd-journal.pc
%if ! 0%{?bootstrap}
%{_mandir}/man3/*.3*
%endif

%files sysvinit
%defattr(-,root,root,-)
/sbin/init
/sbin/reboot
/sbin/halt
/sbin/shutdown
/sbin/poweroff
/sbin/telinit
/sbin/runlevel
%if ! 0%{?bootstrap}
%{_mandir}/man1/init.1*
%{_mandir}/man8/halt.8*
%{_mandir}/man8/reboot.8*
%{_mandir}/man8/shutdown.8*
%{_mandir}/man8/poweroff.8*
%{_mandir}/man8/telinit.8*
%{_mandir}/man8/runlevel.8*
%endif

%files -n %{udevpkgname}
%defattr(-,root,root)
/sbin/udevd
/sbin/udevadm
# keep for compatibility
%ghost /lib/udev
%{_bindir}/udevadm
%if 0%{?suse_version} <= 1310
%{_prefix}/lib/firmware
%endif
%dir %{_prefix}/lib/udev/
%{_prefix}/lib/udev/accelerometer
%{_prefix}/lib/udev/ata_id
%{_prefix}/lib/udev/cdrom_id
%{_prefix}/lib/udev/collect
%{_prefix}/lib/udev/mtd_probe
%{_prefix}/lib/udev/scsi_id
%{_prefix}/lib/udev/v4l_id
%{_prefix}/lib/udev/write_dev_root_rule
%{_prefix}/lib/udev/udev-generate-persistent-rule
%{_prefix}/lib/udev/net-set-sriov-names
%{_prefix}/lib/udev/remount-tmpfs
%{_prefix}/lib/udev/rule_generator.functions
%{_prefix}/lib/udev/write_net_rules
%dir %{_prefix}/lib/udev/rules.d/
%exclude %{_prefix}/lib/udev/rules.d/70-uaccess.rules
%exclude %{_prefix}/lib/udev/rules.d/71-seat.rules
%exclude %{_prefix}/lib/udev/rules.d/73-seat-late.rules
%exclude %{_prefix}/lib/udev/rules.d/73-seat-numlock.rules
%exclude %{_prefix}/lib/udev/rules.d/99-systemd.rules
%{_prefix}/lib/udev/rules.d/*.rules
%dir %{_prefix}/lib/udev/hwdb.d
%{_prefix}/lib/udev/hwdb.d/*
%{_sysconfdir}/init.d/boot.udev
%dir %{_sysconfdir}/udev/
%dir %{_sysconfdir}/udev/rules.d/
%ghost %{_sysconfdir}/udev/hwdb.bin
%config(noreplace) %{_sysconfdir}/udev/udev.conf
%if ! 0%{?bootstrap}
%{_mandir}/man?/*udev*.[0-9]*
%endif
%dir %{_prefix}/lib/systemd/system
%{_prefix}/lib/systemd/systemd-udevd
%{_prefix}/lib/systemd/system/systemd-udev-root-symlink.service
%{_prefix}/lib/systemd/system/basic.target.wants/systemd-udev-root-symlink.service
%{_prefix}/lib/systemd/system/*udev*.service
%{_prefix}/lib/systemd/system/systemd-udevd*.socket
%dir %{_prefix}/lib/systemd/system/sysinit.target.wants
%{_prefix}/lib/systemd/system/sysinit.target.wants/systemd-udev*.service
%dir %{_prefix}/lib/systemd/system/sockets.target.wants
%{_prefix}/lib/systemd/system/sockets.target.wants/systemd-udev*.socket
%dir %{_prefix}/lib/systemd/network
%{_prefix}/lib/systemd/network/*.link
%{_prefix}/lib/systemd/network/*.network
%if 0%{?suse_version} > 1310
%{_datadir}/pkgconfig/udev.pc
%endif

%files -n lib%{udevpkgname}%{udev_major}
%defattr(-,root,root)
%{_libdir}/libudev.so.*

%files -n lib%{udevpkgname}-devel
%defattr(-,root,root)
%{_includedir}/libudev.h
%{_libdir}/libudev.so
%if 0%{?suse_version} <= 1310
%{_datadir}/pkgconfig/udev.pc
%endif
%{_libdir}/pkgconfig/libudev.pc
%if ! 0%{?bootstrap}
%dir %{_datadir}/gtk-doc
%dir %{_datadir}/gtk-doc/html
%dir %{_datadir}/gtk-doc/html/libudev
%{_datadir}/gtk-doc/html/libudev/*
%endif

%if ! 0%{?bootstrap}
%files -n libgudev-1_0-0
%defattr(-,root,root)
%{_libdir}/libgudev-1.0.so.*

%files -n typelib-1_0-GUdev-1_0
%defattr(-,root,root)
%{_libdir}/girepository-1.0/GUdev-1.0.typelib

%files -n libgudev-1_0-devel
%defattr(-,root,root)
%dir %{_includedir}/gudev-1.0
%dir %{_includedir}/gudev-1.0/gudev
%{_includedir}/gudev-1.0/gudev/*.h
%{_libdir}/libgudev-1.0.so
%{_libdir}/pkgconfig/gudev-1.0.pc
%dir %{_datadir}/gtk-doc
%dir %{_datadir}/gtk-doc/html
%dir %{_datadir}/gtk-doc/html/gudev
%{_datadir}/gtk-doc/html/gudev/*
%{_datadir}/gir-1.0/GUdev-1.0.gir

%files logger
%defattr(-,root,root)
%dir %attr(2755,root,systemd-journal) %{_localstatedir}/log/journal/
%{_localstatedir}/log/README
/etc/init.d/systemd-journald

%files -n nss-myhostname
%defattr(-, root, root)
%{_sbindir}/nss-myhostname-config
/%{_lib}/*nss_myhostname*

%files journal-gateway
%defattr(-, root, root)
%{_prefix}/lib/systemd/system/systemd-journal-gatewayd.*
%{_prefix}/lib/systemd/systemd-journal-gatewayd
%{_mandir}/man8/systemd-journal-gatewayd.*
%{_datadir}/systemd/gatewayd
%endif

%changelog
