Marcus Meissner
e118bb4a4a
+ systemd-nspawn creates etc/resolv.conf in container if needed. + systemd-nspawn will store metadata about container in container cgroup including its root directory. + cgroup hierarchy has been reworked, all objects are now suffxed (with .session for user sessions, .user for users, .nspawn for containers). All cgroup names are now escaped to preven collision of object names. + systemctl list-dependencies gained --plain, --reverse, --after and --before switches. + systemd-inhibit shows processes name taking inhibitor lock. + nss-myhostname will now resolve "localhost" implicitly. + .include is not allowed recursively anymore and only in unit files. Drop-in files should be favored in most cases. + systemd-analyze gained "critical-chain" command, to get slowest chain of units run during boot-up. + systemd-nspawn@.service has been added to easily run nspawn container for system services. Just start "systemd-nspawn@foobar.service" and container from /var/lib/container/foobar" will be booted. + systemd-cgls has new --machine parameter to list processes from one container. + ConditionSecurity= can now check for apparmor and SMACK. + /etc/systemd/sleep.conf has been introduced to configure which kernel operation will be execute when "suspend", "hibernate" or "hybrid-sleep" is requrested. It allow new kernel "freeze" state to be used too. (This setting won't have any effect if pm-utils is installed). + ENV{SYSTEMD_WANTS} in udev rules will now implicitly escape passed argument if applicable. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=388
1049 lines
39 KiB
RPMSpec
1049 lines
39 KiB
RPMSpec
#
|
|
# spec file for package systemd
|
|
#
|
|
# Copyright (c) 2013 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
|
|
|
|
Name: systemd
|
|
Url: http://www.freedesktop.org/wiki/Software/systemd
|
|
Version: 204
|
|
Release: 0
|
|
Summary: A System and Session Manager
|
|
License: LGPL-2.1+
|
|
Group: System/Base
|
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
|
BuildRequires: audit-devel
|
|
BuildRequires: dbus-1
|
|
%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: libsepol-devel
|
|
BuildRequires: libtool
|
|
BuildRequires: libusb-devel
|
|
%if ! 0%{?bootstrap}
|
|
BuildRequires: libxslt-tools
|
|
%endif
|
|
BuildRequires: pam-devel
|
|
BuildRequires: tcpd-devel
|
|
BuildRequires: xz
|
|
BuildRequires: pkgconfig(blkid) >= 2.20
|
|
BuildRequires: pkgconfig(dbus-1) >= 1.3.2
|
|
%if ! 0%{?bootstrap}
|
|
BuildRequires: libgcrypt-devel
|
|
BuildRequires: pkgconfig(glib-2.0) >= 2.22.0
|
|
BuildRequires: pkgconfig(libcryptsetup) >= 1.4.2
|
|
%endif
|
|
BuildRequires: pkgconfig(libkmod) >= 5
|
|
BuildRequires: pkgconfig(liblzma)
|
|
%if ! 0%{?bootstrap}
|
|
BuildRequires: pkgconfig(libmicrohttpd)
|
|
%endif
|
|
BuildRequires: pkgconfig(libpci) >= 3
|
|
%if ! 0%{?bootstrap}
|
|
BuildRequires: pkgconfig(libqrencode)
|
|
%endif
|
|
BuildRequires: pkgconfig(libselinux) >= 2.1.9
|
|
BuildRequires: pkgconfig(libsepol)
|
|
BuildRequires: pkgconfig(usbutils) >= 0.82
|
|
%if 0%{?bootstrap}
|
|
Requires: this-is-only-for-build-envs
|
|
Conflicts: systemd
|
|
Conflicts: kiwi
|
|
%else
|
|
# the buildignore is important for bootstrapping
|
|
#!BuildIgnore: udev
|
|
Requires: %{udevpkgname} >= 172
|
|
Requires: dbus-1 >= 1.4.0
|
|
Requires: kbd
|
|
Requires: pam-config >= 0.79-5
|
|
Requires: pwdutils
|
|
Requires: systemd-presets-branding
|
|
Requires: util-linux >= 2.21
|
|
Requires(post): coreutils
|
|
Requires(post): findutils
|
|
%endif
|
|
Conflicts: filesystem < 11.5
|
|
Conflicts: mkinitrd < 2.7.0
|
|
Obsoletes: systemd-analyze < 201
|
|
Provides: systemd-analyze = %{version}
|
|
Source0: http://www.freedesktop.org/software/systemd/systemd-%{version}.tar.xz
|
|
Source1: systemd-rpmlintrc
|
|
Source2: localfs.service
|
|
Source3: systemd-sysv-convert
|
|
Source4: macros.systemd
|
|
Source5: systemd-insserv_conf
|
|
Source6: baselibs.conf
|
|
Source7: libgcrypt.m4
|
|
Source8: systemd-journald.init
|
|
Source9: nss-myhostname-config
|
|
|
|
Source1060: boot.udev
|
|
Source1061: write_dev_root_rule
|
|
Source1062: systemd-udev-root-symlink
|
|
|
|
# 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: parse-etc-insserv.conf-and-adds-dependencies-accordingly.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
|
|
Patch10: force-lvm-restart-after-cryptsetup-target-is-reached.patch
|
|
Patch11: delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch
|
|
Patch12: Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch
|
|
Patch13: ensure-sysctl-are-applied-after-modules-are-loaded.patch
|
|
Patch14: ensure-DM-and-LVM-are-started-before-local-fs-pre-target.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-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 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
|
|
|
|
# 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-suspend-hibernate-calls-to-pm-utils.patch fcrozat@suse.com bnc#790157 -- forward to pm-utils
|
|
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-UPSTREAM systemctl-does-not-expand-u-so-revert-back-to-I.patch fcrozat@suse.com -- avoids expansion errors.
|
|
Patch42: systemctl-does-not-expand-u-so-revert-back-to-I.patch
|
|
# PATCH-FIX-UPSTREAM Start-ctrl-alt-del.target-irreversibly.patch fcrozat@suse.com -- ctrl-alt-del should be irreversible for reliability.
|
|
Patch43: Start-ctrl-alt-del.target-irreversibly.patch
|
|
|
|
# udev patches
|
|
# 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 1004-fix-devname-prefix.patch fcrozat@suse.com -- fix modules.devname path, it isn't in /usr
|
|
Patch1004: 1004-fix-devname-prefix.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
|
|
|
|
%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 devel
|
|
Summary: Development headers for systemd
|
|
License: LGPL-2.1+
|
|
Group: Development/Libraries/C and C++
|
|
Requires: %{name} = %{version}
|
|
%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/pidof /bin/rm /usr/bin/stat %insserv_prereq %fillup_prereq /usr/sbin/groupadd /usr/bin/getent /sbin/mkinitrd
|
|
Requires(post): lib%{udevpkgname}%{udev_major}
|
|
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
|
|
%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
|
|
%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)
|
|
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.
|
|
|
|
%endif
|
|
|
|
%prep
|
|
%setup -q -n systemd-%{version}
|
|
|
|
# only needed for bootstrap
|
|
%if 0%{?bootstrap}
|
|
cp %{SOURCE7} m4/
|
|
%endif
|
|
|
|
#udev
|
|
%patch1001 -p1
|
|
%patch1002 -p1
|
|
%patch1003 -p1
|
|
%patch1004 -p1
|
|
%patch1005 -p1
|
|
%patch1006 -p1
|
|
|
|
#systemd
|
|
%patch0 -p1
|
|
%patch1 -p1
|
|
%patch3 -p1
|
|
# don't apply when bootstrapping to not modify configure.in
|
|
%if ! 0%{?bootstrap}
|
|
%patch4 -p1
|
|
%endif
|
|
%patch5 -p1
|
|
%patch6 -p1
|
|
%patch7 -p1
|
|
%patch8 -p1
|
|
%patch9 -p1
|
|
%patch10 -p1
|
|
%patch11 -p1
|
|
%patch12 -p1
|
|
%patch13 -p1
|
|
%patch14 -p1
|
|
%patch15 -p1
|
|
%patch16 -p1
|
|
%patch17 -p1
|
|
%patch18 -p1
|
|
%patch20 -p1
|
|
%patch21 -p1
|
|
%patch22 -p1
|
|
%patch23 -p1
|
|
%patch24 -p1
|
|
%patch25 -p1
|
|
%patch27 -p1
|
|
%patch37 -p1
|
|
%ifarch %arm
|
|
%patch38 -p1
|
|
%endif
|
|
%patch39 -p1
|
|
%patch40 -p1
|
|
%patch41 -p1
|
|
%patch42 -p1
|
|
%patch43 -p1
|
|
|
|
%build
|
|
autoreconf -fiv
|
|
|
|
# prevent pre-generated and distributed files from re-building
|
|
find . -name "*.[1-8]" -exec touch '{}' '+';
|
|
export V=1
|
|
# keep split-usr until all packages have moved their systemd rules to /usr
|
|
%configure \
|
|
--docdir=%{_docdir}/systemd \
|
|
--with-pamlibdir=/%{_lib}/security \
|
|
%if 0%{?bootstrap}
|
|
--disable-gudev \
|
|
--disable-myhostname \
|
|
%else
|
|
--enable-manpages \
|
|
--enable-gtk-doc \
|
|
--with-nss-my-hostname-warning \
|
|
%endif
|
|
--enable-selinux \
|
|
--enable-split-usr \
|
|
--disable-static \
|
|
--with-firmware-path="%{_prefix}/lib/firmware:/lib/firmware" \
|
|
--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 \
|
|
CFLAGS="%{optflags}"
|
|
make %{?_smp_mflags}
|
|
|
|
%install
|
|
%makeinstall
|
|
|
|
# move to %{_lib}
|
|
%if ! 0%{?bootstrap}
|
|
mv $RPM_BUILD_ROOT%{_libdir}/libnss_myhostname.so.2 $RPM_BUILD_ROOT/%{_lib}
|
|
%endif
|
|
|
|
mkdir -p $RPM_BUILD_ROOT/{sbin,lib,bin}
|
|
ln -sf %{_bindir}/udevadm $RPM_BUILD_ROOT/sbin/udevadm
|
|
ln -sf %{_bindir}/systemd-ask-password $RPM_BUILD_ROOT/bin/systemd-ask-password
|
|
ln -sf %{_bindir}/systemctl $RPM_BUILD_ROOT/bin/systemctl
|
|
ln -sf %{_prefix}/lib/systemd/systemd-udevd $RPM_BUILD_ROOT/sbin/udevd
|
|
%if ! 0%{?bootstrap}
|
|
ln -sf systemd-udevd.8 $RPM_BUILD_ROOT/%{_mandir}/man8/udevd.8
|
|
%endif
|
|
ln -sf /lib/firmware $RPM_BUILD_ROOT/usr/lib/firmware
|
|
%if ! 0%{?bootstrap}
|
|
install -m755 -D %{S:8} $RPM_BUILD_ROOT/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} $RPM_BUILD_ROOT/etc/init.d/boot.udev
|
|
ln -s systemd-udevd.service $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/udev.service
|
|
sed -ie "s|@@PREFIX@@|%{_bindir}|g" %{S:1061}
|
|
install -m755 -D %{S:1061} $RPM_BUILD_ROOT/%{_prefix}/lib/udev/write_dev_root_rule
|
|
sed -ie "s|@@PREFIX@@|%{_prefix}/lib/udev|g" %{S:1062}
|
|
install -m644 -D %{S:1062} $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/systemd-udev-root-symlink.service
|
|
mkdir -p $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/basic.target.wants
|
|
ln -sf ../systemd-udev-root-symlink.service $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/basic.target.wants
|
|
|
|
mkdir -p %{buildroot}%{_sysconfdir}/rpm
|
|
install -m644 %{S:4} %{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}
|
|
|
|
install -m755 %{S:3} -D %{buildroot}%{_sbindir}/systemd-sysv-convert
|
|
# do not install, code has been fixed, might be useful in the future
|
|
#install -m755 %{S:5} %{buildroot}/usr/lib/systemd/system-generators
|
|
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-load.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
|
|
|
|
# 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}/var/log/README
|
|
%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}/var/log/journal
|
|
|
|
# Make sure directories in /var exist
|
|
mkdir -p %{buildroot}/var/lib/systemd/coredump
|
|
mkdir -p %{buildroot}/var/lib/systemd/catalog
|
|
#create ghost databases
|
|
touch %{buildroot}/var/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/
|
|
echo << EOF > %{buildroot}%{_prefix}/lib/systemd/system/getty@tty1.service.d/noclear.conf
|
|
[Service]
|
|
# ensure tty1 isn't cleared (bnc#804158)
|
|
TTYVTDisallocate=no
|
|
EOF
|
|
|
|
%fdupes -s %{buildroot}%{_mandir}
|
|
|
|
# disable predictable network interface naming until it has been reviewed by network team
|
|
cat << EOF > %{buildroot}%{_prefix}/lib/tmpfiles.d/network.conf
|
|
F /run/udev/rules.d/80-net-name-slot.rules 0644 - - - "#disable predictable network interface naming for now"
|
|
EOF
|
|
|
|
%pre
|
|
getent group systemd-journal >/dev/null || groupadd -r systemd-journal || :
|
|
getent passwd systemd-journal-gateway >/dev/null || useradd -r -l -g systemd-journal-gateway -d /var/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 || :
|
|
exit 0
|
|
|
|
%post
|
|
/usr/sbin/pam-config -a --systemd >/dev/null 2>&1 || :
|
|
/sbin/ldconfig
|
|
/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 || :
|
|
|
|
# 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@.service \
|
|
systemd-readahead-collect.service \
|
|
systemd-readahead-replay.service \
|
|
remote-fs.target >/dev/null 2>&1 || :
|
|
fi
|
|
|
|
%triggerpostun -- systemd < 194
|
|
# 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 [ $1 -eq 0 ]; then
|
|
/usr/sbin/pam-config -d --systemd >/dev/null 2>&1 || :
|
|
fi
|
|
|
|
%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
|
|
/usr/sbin/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 /var/lib/no_initrd_recreation_by_suspend ]; then
|
|
echo "Skipping recreation of existing initial ramdisks, due"
|
|
echo "to presence of /var/lib/no_initrd_recreation_by_suspend"
|
|
elif [ -x /sbin/mkinitrd ]; then
|
|
[ -x /sbin/mkinitrd_setup ] && /sbin/mkinitrd_setup
|
|
/sbin/mkinitrd || :
|
|
fi
|
|
fi
|
|
|
|
%postun -n %{udevpkgname}
|
|
%insserv_cleanup
|
|
systemctl daemon-reload >/dev/null 2>&1 || :
|
|
|
|
if [ "${YAST_IS_RUNNING}" != "instsys" ]; then
|
|
if [ -e /var/lib/no_initrd_recreation_by_suspend ]; then
|
|
echo "Skipping recreation of existing initial ramdisks, due"
|
|
echo "to presence of /var/lib/no_initrd_recreation_by_suspend"
|
|
elif [ -x /sbin/mkinitrd ]; then
|
|
[ -x /sbin/mkinitrd_setup ] && /sbin/mkinitrd_setup
|
|
/sbin/mkinitrd || :
|
|
fi
|
|
fi
|
|
|
|
%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
|
|
|
|
%post logger
|
|
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
|
|
|
|
%endif
|
|
|
|
%clean
|
|
rm -rf %{buildroot}
|
|
|
|
%files
|
|
%defattr(-,root,root)
|
|
/bin/systemd
|
|
/bin/systemd-ask-password
|
|
/bin/systemctl
|
|
%{_bindir}/bootctl
|
|
%{_bindir}/kernel-install
|
|
%{_bindir}/hostnamectl
|
|
%{_bindir}/localectl
|
|
%{_bindir}/systemctl
|
|
%{_bindir}/systemd-analyze
|
|
%{_bindir}/systemd-coredumpctl
|
|
%{_bindir}/systemd-delta
|
|
%{_bindir}/systemd-notify
|
|
%{_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-daemon.so.*
|
|
%{_libdir}/libsystemd-login.so.*
|
|
%{_libdir}/libsystemd-id128.so.*
|
|
%{_libdir}/libsystemd-journal.so.*
|
|
%{_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/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
|
|
%{_prefix}/lib/systemd/system/*.automount
|
|
%{_prefix}/lib/systemd/system/*.service
|
|
%{_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
|
|
%{_prefix}/lib/systemd/systemd-*
|
|
%{_prefix}/lib/systemd/systemd
|
|
%dir %{_prefix}/lib/systemd/catalog
|
|
%{_prefix}/lib/systemd/catalog/systemd.catalog
|
|
%dir %{_prefix}/lib/systemd/system-shutdown
|
|
%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
|
|
%{_prefix}/lib/systemd/system-generators/systemd-efi-boot-generator
|
|
%{_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
|
|
/%{_lib}/security/pam_systemd.so
|
|
|
|
%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}/xdg/systemd/user
|
|
%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.systemd1.conf
|
|
%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.hostname1.conf
|
|
%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.timedate1.conf
|
|
|
|
%{_datadir}/dbus-1/interfaces/org.freedesktop.hostname1.xml
|
|
%{_datadir}/dbus-1/interfaces/org.freedesktop.locale1.xml
|
|
%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.*.xml
|
|
%{_datadir}/dbus-1/interfaces/org.freedesktop.timedate1.xml
|
|
%{_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.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
|
|
%{_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]*
|
|
|
|
%{_mandir}/man1/*.1*
|
|
%{_mandir}/man3/*.3*
|
|
%{_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
|
|
%if ! 0%{?bootstrap}
|
|
%{_prefix}/lib/udev/numlock-on
|
|
%endif
|
|
%dir %{_datadir}/bash-completion
|
|
%dir %{_datadir}/bash-completion/completions
|
|
%ghost /var/lib/systemd/catalog/database
|
|
%{_datadir}/bash-completion/completions/*
|
|
%{_sysconfdir}/rpm/macros.systemd
|
|
%dir /var/lib/systemd
|
|
%dir /var/lib/systemd/sysv-convert
|
|
%dir /var/lib/systemd/migrated
|
|
%dir /var/lib/systemd/catalog
|
|
%dir /var/lib/systemd/coredump
|
|
|
|
%files devel
|
|
%defattr(-,root,root,-)
|
|
%{_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-shutdown.h
|
|
%{_datadir}/pkgconfig/systemd.pc
|
|
%{_libdir}/pkgconfig/libsystemd-daemon.pc
|
|
%{_libdir}/pkgconfig/libsystemd-login.pc
|
|
%{_libdir}/pkgconfig/libsystemd-id128.pc
|
|
%{_libdir}/pkgconfig/libsystemd-journal.pc
|
|
|
|
%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
|
|
%{_prefix}/lib/firmware
|
|
%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/findkeyboards
|
|
%{_prefix}/lib/udev/keymap
|
|
%{_prefix}/lib/udev/mtd_probe
|
|
%{_prefix}/lib/udev/scsi_id
|
|
%{_prefix}/lib/udev/v4l_id
|
|
%{_prefix}/lib/udev/write_dev_root_rule
|
|
%dir %{_prefix}/lib/udev/keymaps
|
|
%{_prefix}/lib/udev/keymaps/*
|
|
%{_prefix}/lib/udev/keyboard-force-release.sh
|
|
%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
|
|
|
|
%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
|
|
%{_datadir}/pkgconfig/udev.pc
|
|
%{_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 /var/log/journal
|
|
/var/log/README
|
|
/etc/init.d/systemd-journald
|
|
|
|
%files -n nss-myhostname
|
|
%defattr(-, root, root)
|
|
%{_sbindir}/nss-myhostname-config
|
|
/%{_lib}/*nss_myhostname*
|
|
|
|
%endif
|
|
|
|
%changelog
|