deb4a4960d
- Remove libudev0 from baselibs.conf - Drop 1055-let-9719859c07aa13539ed2cd4b31972cd30f678543-apply.patch as now upstream code - Add 0001-Let-some-boolean-survive-a-daemon-reload.patch to fix bsc#933365 and boo#934077 - Add 1098-systemd-networkd-alias-network-service.patch to alias network.service the same way NetworkManager and wicked does. This is needed by yast2 and other parts of the system. boo#933092 - Modify patch 1021-udev-re-add-persistent-net-rules.patch to use the new return values of proc_cmdline() in enable_name_policy() this should fix boo#931165 - Drop 1021-udev-re-add-persistent-net-rules.patch, 1036-rules-disable-usage-of-dev_id-in-persistent-rules.patch, 1040-re-enable-dev_id-conditionally-in-persistent-rules.patch, 1046-fix-duplicated-rules-with-layer3-interfaces.patch, 1050-only-rename-SRIOV-VF-devices-when-name-starts-with-eth.patch, 1051-check-if-NAME-has-a-value.patch, 1053-better-checks-in-write_net_rules.patch, 1088-drop-renaming-of-virtual-interfaces-in-guest.patch. 1021 originally broke parsing of net.ifnames=0 [bnc#931165], and given that neither the kernel command line needs to be touched nor the source be patched to reach the unpredictable naming setup for SLE, all these parts are moved to a separate package. OBS-URL: https://build.opensuse.org/request/show/311646 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=221
1557 lines
55 KiB
RPMSpec
1557 lines
55 KiB
RPMSpec
#
|
|
# spec file for package systemd
|
|
#
|
|
# Copyright (c) 2015 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 networkd
|
|
%bcond_without sysvcompat
|
|
%bcond_with resolved
|
|
%bcond_with python
|
|
%bcond_with parentpathid
|
|
%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: 219
|
|
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
|
|
BuildRequires: autoconf
|
|
BuildRequires: automake
|
|
BuildRequires: fdupes
|
|
BuildRequires: gperf
|
|
BuildRequires: gtk-doc
|
|
BuildRequires: intltool
|
|
BuildRequires: libacl-devel
|
|
BuildRequires: libcap-devel
|
|
BuildRequires: libsepol-devel
|
|
BuildRequires: libtool
|
|
BuildRequires: pam-devel
|
|
BuildRequires: systemd-rpm-macros
|
|
BuildRequires: xz
|
|
BuildRequires: config(suse-module-tools)
|
|
BuildRequires: pkgconfig(blkid) >= 2.24
|
|
BuildRequires: pkgconfig(libkmod) >= 15
|
|
BuildRequires: pkgconfig(liblzma)
|
|
BuildRequires: pkgconfig(libpci) >= 3
|
|
BuildRequires: pkgconfig(libpcre)
|
|
BuildRequires: pkgconfig(mount) >= 2.20
|
|
%ifarch %ix86 x86_64 x32 %arm ppc64le s390x
|
|
BuildRequires: pkgconfig(libseccomp)
|
|
%endif
|
|
BuildRequires: pkgconfig(libselinux) >= 2.1.9
|
|
BuildRequires: pkgconfig(libsepol)
|
|
Conflicts: sysvinit
|
|
%if 0%{?bootstrap}
|
|
#!BuildIgnore: dbus-1
|
|
Requires: this-is-only-for-build-envs
|
|
Conflicts: systemd
|
|
Conflicts: kiwi
|
|
%else
|
|
BuildRequires: docbook-xsl-stylesheets
|
|
BuildRequires: gobject-introspection-devel
|
|
BuildRequires: gtk-doc
|
|
BuildRequires: libgcrypt-devel
|
|
BuildRequires: libusb-devel
|
|
BuildRequires: libxslt-tools
|
|
%if %{with python}
|
|
BuildRequires: python
|
|
%endif
|
|
BuildRequires: libapparmor-devel
|
|
BuildRequires: pkgconfig(glib-2.0) >= 2.22.0
|
|
BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0
|
|
BuildRequires: pkgconfig(libmicrohttpd)
|
|
BuildRequires: pkgconfig(libqrencode)
|
|
BuildRequires: pkgconfig(usbutils) >= 0.82
|
|
# the buildignore is important for bootstrapping
|
|
#!BuildIgnore: udev
|
|
Requires: %{udevpkgname} >= 172
|
|
Recommends: %{name}-bash-completion
|
|
Requires: dbus-1 >= 1.4.0
|
|
Requires: kbd
|
|
Requires: kmod >= 15
|
|
Requires: netcfg
|
|
Requires: pam-config >= 0.79-5
|
|
BuildRequires: pam-config >= 0.79-5
|
|
Requires: pwdutils
|
|
Requires: systemd-presets-branding
|
|
Requires: sysvinit-tools
|
|
Requires: util-linux >= 2.25
|
|
Requires(post): coreutils
|
|
Requires(post): findutils
|
|
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}
|
|
|
|
#Git-Clone: git://anongit.freedesktop.org/systemd/systemd
|
|
Source: http://freedesktop.org/software/systemd/systemd-%version.tar.xz
|
|
%if ! 0%{?bootstrap}
|
|
Source1: systemd-rpmlintrc
|
|
%else
|
|
Source1: systemd-mini-rpmlintrc
|
|
%endif
|
|
Source3: systemd-sysv-convert
|
|
Source6: baselibs.conf
|
|
Source7: libgcrypt.m4
|
|
Source9: nss-myhostname-config
|
|
Source10: macros.systemd.upstream
|
|
Source11: after-local.service
|
|
|
|
Source1063: udev-generate-persistent-rule.sh
|
|
Source1065: systemd-remount-tmpfs
|
|
|
|
# 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
|
|
Patch12: Fix-run-lock-directories-permissions-to-follow-openSUSE-po.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
|
|
|
|
# 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 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
|
|
Patch37: suse-sysv-bootd-support.diff
|
|
# 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 forward to pm-utils -- until boo#904828 is addressed
|
|
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 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-avoid-abort-due-timeout-at-user-service.patch werner@suse.com
|
|
Patch120: 0001-avoid-abort-due-timeout-at-user-service.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 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 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 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-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-SUSE System fails to boot if nfs mounts get added to fstab (bnc#874665)
|
|
Patch203: respect-nfs-bg-option.patch
|
|
# PATCH-FIX-SUSE Do not ignores option 'noauto' in /etc/crypttab (bnc#742774)
|
|
Patch208: parse-crypttab-for-noauto-option.patch
|
|
# PATCH-FIX-SUSE Do a vhangup on all consoles lines (bnc#886599)
|
|
Patch338: vhangup-on-all-consoles.patch
|
|
# PATCH-FIX-SUSE Shut up rpmlint warning
|
|
Patch345: shut-up-rpmlint-on-var-log-journal.patch
|
|
# PATCH-FIX-SUSE
|
|
Patch352: set-and-use-default-logconsole.patch
|
|
Patch362: tty-ask-password-agent-on-console.patch
|
|
# PATCH-FIX-SUSE Provide the /var/lock/subsys at start (bnc#889357)
|
|
Patch366: tomcat6-var-lock-subsys-legacy.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-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-SUSE AUDIT-0: Power button press at gdm login should not prompt for credentials (bnc#888612)
|
|
Patch430: 0001-bnc888612-logind-polkit-acpi.patch
|
|
# PATCH-FIX-SUSE added on 2014/10/24
|
|
Patch475: journald-advice-about-use-of-memory.patch
|
|
# PATCH-FIX-SUSE added on 2014/11/05
|
|
Patch490: watch_resolv.conf_for_become_changed.patch
|
|
# PATCH-FIX-SUSE systemd-add-user-keep.patch (bnc#903009)
|
|
Patch520: systemd-add-user-keep.patch
|
|
# PATCH-FIX-SUSE systemd-add-user-keep.patch (bnc#903009)
|
|
Patch521: kbd-model-map.patch
|
|
Patch522: 0001-core-rework-device-state-logic.patch
|
|
# PATCH-FIX-SUSE/PATCH-FIX-UPSTREAM
|
|
Patch523: 0001-Let-some-boolean-survive-a-daemon-reload.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-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-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 See bnc#882714 comment #51
|
|
Patch1037: 1037-udev-exclude-cd-dvd-from-block-device.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-SUSE 1062-rules-set-default-permissions-for-GenWQE-devices.patch (bnc#890977)
|
|
Patch1062: 1062-rules-set-default-permissions-for-GenWQE-devices.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-SUSE 1095-set-ssd-disk-to-use-deadline-scheduler.patch (bnc#904517)
|
|
Patch1095: 1095-set-ssd-disk-to-use-deadline-scheduler.patch
|
|
# PATCH-FIX-SUSE 1096-new-udev-root-symlink-generator.patch
|
|
Patch1096: 1096-new-udev-root-symlink-generator.patch
|
|
# PATCH-FIX-SUSE 1097-udevd-increase-maximum-number-of-children.patch
|
|
Patch1097: 1097-udevd-increase-maximum-number-of-children.patch
|
|
# PATCH-FIX-OPENSUSE 1098-systemd-networkd-alias-network-service.patch
|
|
Patch1098: 1098-systemd-networkd-alias-network-service.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 -n nss-mymachines
|
|
Summary: Plugin for local virtual host name resolution
|
|
License: LGPL-2.1+
|
|
Group: System/Libraries
|
|
|
|
%description -n nss-mymachines
|
|
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 containers and virtual machines
|
|
systemd-machined knows about.
|
|
|
|
%package -n nss-resolve
|
|
Summary: Plugin for local hostname resolution via systemd-resolved
|
|
License: LGPL-2.1+
|
|
Group: System/Libraries
|
|
|
|
%description -n nss-resolve
|
|
|
|
%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..."
|
|
diff -au "%{S:10}" src/core/macros.systemd.in
|
|
|
|
# only needed for bootstrap
|
|
%if 0%{?bootstrap}
|
|
cp %{SOURCE7} m4/
|
|
%endif
|
|
|
|
# systemd patches
|
|
%patch3 -p1
|
|
%patch4 -p1
|
|
%patch5 -p1
|
|
%patch6 -p1
|
|
%patch12 -p1
|
|
%patch16 -p1
|
|
%patch17 -p1
|
|
%patch20 -p1
|
|
%patch21 -p1
|
|
%patch25 -p1
|
|
# 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
|
|
%patch39 -p1
|
|
%patch40 -p1
|
|
%patch41 -p1
|
|
%patch42 -p1
|
|
%patch84 -p1
|
|
%patch86 -p1
|
|
%patch90 -p1
|
|
%patch91 -p1
|
|
%patch120 -p1
|
|
%patch177 -p1
|
|
%patch178 -p1
|
|
%patch179 -p1
|
|
%patch180 -p1
|
|
%patch182 -p1
|
|
%patch183 -p1
|
|
%patch185 -p1
|
|
%patch186 -p1
|
|
%patch188 -p1
|
|
%patch189 -p1
|
|
%patch190 -p1
|
|
%patch191 -p1
|
|
%patch192 -p1
|
|
%patch193 -p1
|
|
%patch197 -p1
|
|
%patch198 -p1
|
|
%patch203 -p1
|
|
%patch208 -p1
|
|
%patch338 -p1
|
|
%patch345 -p1
|
|
%patch352 -p1
|
|
%patch362 -p1
|
|
%patch366 -p1
|
|
%patch368 -p1
|
|
%patch386 -p1
|
|
%patch430 -p1
|
|
%patch475 -p1
|
|
%ifarch %arm
|
|
%patch38 -p1
|
|
%endif
|
|
%patch490 -p1
|
|
%patch520 -p1
|
|
%patch521 -p1
|
|
%patch522 -p1
|
|
%patch523 -p1
|
|
|
|
# udev patches
|
|
%patch1001 -p1
|
|
%patch1002 -p1
|
|
%patch1003 -p1
|
|
%patch1005 -p1
|
|
%patch1006 -p1
|
|
%patch1007 -p1
|
|
%patch1011 -p1
|
|
%patch1012 -p1
|
|
%patch1013 -p1
|
|
%patch1035 -p1
|
|
%if %{with blkrrpart}
|
|
%patch1037 -p1
|
|
%endif
|
|
%patch1060 -p1
|
|
%patch1062 -p1
|
|
%patch1066 -p1
|
|
%patch1095 -p1
|
|
%patch1096 -p1
|
|
%patch1097 -p1
|
|
%patch1098 -p1
|
|
|
|
# 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
|
|
|
|
#
|
|
# 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 -fi
|
|
# prevent pre-generated and distributed files from re-building
|
|
find . -name "*.[1-8]" -exec touch '{}' '+';
|
|
export V=e
|
|
export CFLAGS="%{optflags}"
|
|
export LDFLAGS
|
|
%if 0%{?suse_version} == 1315
|
|
CFLAGS="$CFLAGS -DNET_IFNAMES=1"
|
|
%else
|
|
CFLAGS="$CFLAGS -DNET_IFNAMES=0"
|
|
%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 \
|
|
--disable-machined \
|
|
%else
|
|
--enable-manpages \
|
|
%if %{with python}
|
|
--with-python \
|
|
%endif
|
|
--enable-gtk-doc \
|
|
--with-nss-my-hostname-warning \
|
|
%endif
|
|
--enable-selinux \
|
|
--enable-split-usr \
|
|
--disable-static \
|
|
%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 %{without networkd}
|
|
--disable-networkd \
|
|
%endif
|
|
%if %{without sysvcompat}
|
|
--with-sysvinit-path= \
|
|
--with-sysvrcnd-path= \
|
|
%endif
|
|
%if %{without resolved}
|
|
--disable-resolved \
|
|
%endif
|
|
--disable-kdbus
|
|
make %{?_smp_mflags}
|
|
%if ! 0%{?bootstrap}
|
|
make %{?_smp_mflags} update-man-list man
|
|
%endif
|
|
|
|
%install
|
|
%if !0%{?bootstrap}
|
|
cp man/man[0-9]/*.[0-9] man/
|
|
%endif
|
|
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%{?bootstrap}
|
|
install -D -m 755 %{S:9} %{buildroot}%{_sbindir}/nss-myhostname-config
|
|
%endif
|
|
|
|
ln -s systemd-udevd.service %{buildroot}/%{_prefix}/lib/systemd/system/udev.service
|
|
install -m755 -D %{S:1063} %{buildroot}/%{_prefix}/lib/udev/udev-generate-persistent-rule
|
|
install -m755 -D %{S:1065} %{buildroot}/%{_prefix}/lib/udev/remount-tmpfs
|
|
mkdir -p %{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
|
|
|
|
# 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/
|
|
|
|
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
|
|
|
|
# packaged in systemd-rpm-macros
|
|
rm -f %{buildroot}/%{_prefix}/lib/rpm/macros.d/macros.systemd
|
|
|
|
%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
|
|
|
|
# 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
|
|
systemd-sysusers || :
|
|
|
|
# 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 \
|
|
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 || :
|
|
# 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
|
|
|
|
%post -n nss-mymachines -p /sbin/ldconfig
|
|
%postun -n nss-mymachines -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
|
|
%if %{with networkd}
|
|
%{_bindir}/networkctl
|
|
%endif
|
|
%{_bindir}/busctl
|
|
%{_bindir}/kernel-install
|
|
%{_bindir}/hostnamectl
|
|
%{_bindir}/localectl
|
|
%if ! 0%{?bootstrap}
|
|
%{_bindir}/machinectl
|
|
%endif
|
|
%{_bindir}/systemctl
|
|
%{_bindir}/systemd-analyze
|
|
%{_bindir}/coredumpctl
|
|
%{_bindir}/systemd-delta
|
|
%{_bindir}/systemd-escape
|
|
%{_bindir}/systemd-firstboot
|
|
%{_bindir}/systemd-path
|
|
%{_bindir}/systemd-sysusers
|
|
%{_bindir}/systemd-notify
|
|
%{_bindir}/systemd-hwdb
|
|
%{_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/sysinit.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/*.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-debug-generator
|
|
%{_prefix}/lib/systemd/system-generators/systemd-hibernate-resume-generator
|
|
%if %{with sysvcompat}
|
|
%{_prefix}/lib/systemd/system-generators/systemd-sysv-generator
|
|
%{_prefix}/lib/systemd/system-generators/systemd-rc-local-generator
|
|
%{_prefix}/lib/systemd/system-generators/systemd-insserv-generator
|
|
%endif
|
|
%{_prefix}/lib/systemd/system-generators/systemd-getty-generator
|
|
%{_prefix}/lib/systemd/system-generators/systemd-fstab-generator
|
|
%{_prefix}/lib/systemd/system-generators/systemd-system-update-generator
|
|
%{_prefix}/lib/systemd/system-generators/systemd-gpt-auto-generator
|
|
%{_prefix}/lib/systemd/system-preset/
|
|
%{_prefix}/lib/sysusers.d/
|
|
/%{_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/coredump.conf
|
|
%if !0%{?bootstrap}
|
|
%config(noreplace) %{_sysconfdir}/systemd/journal-remote.conf
|
|
%endif
|
|
%config(noreplace) %{_sysconfdir}/systemd/timesyncd.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
|
|
%if !0%{?bootstrap}
|
|
%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.machine1.conf
|
|
%endif
|
|
%if %{with networkd}
|
|
%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.network1.conf
|
|
%endif
|
|
%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}/factory/
|
|
%{_datadir}/dbus-1/services/org.freedesktop.systemd1.service
|
|
%if %{with networkd}
|
|
%{_datadir}/dbus-1/system-services/org.freedesktop.network1.service
|
|
%endif
|
|
%{_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
|
|
%if !0%{?bootstrap}
|
|
%{_datadir}/dbus-1/system-services/org.freedesktop.machine1.service
|
|
%endif
|
|
%{_datadir}/dbus-1/system-services/org.freedesktop.timedate1.service
|
|
%dir %{_datadir}/polkit-1
|
|
%dir %{_datadir}/polkit-1/actions
|
|
%if !0%{?bootstrap}
|
|
%{_datadir}/polkit-1/actions/org.freedesktop.machine1.policy
|
|
%endif
|
|
%{_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 %{with resolved}
|
|
%{_sysconfdir}/dbus-1/system.d/org.freedesktop.resolve1.conf
|
|
%{_sysconfdir}/systemd/resolved.conf
|
|
%{_libdir}/libnss_resolve.so.2
|
|
%{_datadir}/dbus-1/system-services/org.freedesktop.resolve1.service
|
|
%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
|
|
%{_libdir}/pkgconfig/systemd.pc
|
|
%{_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/udev-generate-persistent-rule
|
|
%{_prefix}/lib/udev/remount-tmpfs
|
|
%{_prefix}/lib/udev/rootsymlink-generator
|
|
%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/*
|
|
%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/*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
|
|
%{_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/
|
|
%if %{with sysvcompat}
|
|
%{_localstatedir}/log/README
|
|
%endif
|
|
|
|
%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
|
|
|
|
%files -n nss-mymachines
|
|
%defattr(-,root,root)
|
|
%_libdir/libnss_mymachines.so*
|
|
%endif
|
|
|
|
%changelog
|