2012-10-26 14:34:44 +02:00
|
|
|
#
|
|
|
|
# spec file for package systemd-mini
|
|
|
|
#
|
2017-01-11 16:31:45 +01:00
|
|
|
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
|
2012-10-26 14:34:44 +02:00
|
|
|
#
|
|
|
|
# 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/
|
|
|
|
#
|
|
|
|
|
|
|
|
|
2016-10-26 16:59:15 +02:00
|
|
|
#
|
|
|
|
# The git repository used to track all Suse specific changes can be
|
|
|
|
# found at: https://github.com/openSUSE/systemd.
|
|
|
|
#
|
|
|
|
|
2012-10-26 14:34:44 +02:00
|
|
|
##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! #####
|
|
|
|
%define bootstrap 1
|
|
|
|
##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! #####
|
2015-07-03 13:16:13 +02:00
|
|
|
%define mini -mini
|
2016-10-26 16:59:15 +02:00
|
|
|
%define min_kernel_version 4.5
|
2015-06-26 09:38:45 +02:00
|
|
|
|
2016-10-26 16:59:15 +02:00
|
|
|
%bcond_with gnuefi
|
|
|
|
%if 0%{?bootstrap}
|
|
|
|
%bcond_with sysvcompat
|
|
|
|
%bcond_with machined
|
|
|
|
%bcond_with importd
|
|
|
|
%bcond_with networkd
|
|
|
|
%bcond_with journal_remote
|
|
|
|
%else
|
2015-02-18 13:10:33 +01:00
|
|
|
%bcond_without sysvcompat
|
2016-10-26 16:59:15 +02:00
|
|
|
%bcond_without machined
|
|
|
|
%bcond_without importd
|
|
|
|
%bcond_without networkd
|
|
|
|
%bcond_without journal_remote
|
|
|
|
%ifarch %{ix86} x86_64
|
|
|
|
%bcond_without gnuefi
|
|
|
|
%endif
|
|
|
|
%endif
|
2017-02-20 12:40:16 +01:00
|
|
|
%bcond_with resolved
|
2014-11-03 16:22:08 +01:00
|
|
|
%bcond_with parentpathid
|
2012-10-26 14:34:44 +02:00
|
|
|
|
|
|
|
Name: systemd-mini
|
|
|
|
Url: http://www.freedesktop.org/wiki/Software/systemd
|
2016-12-08 14:23:11 +01:00
|
|
|
Version: 232
|
2012-10-26 14:34:44 +02:00
|
|
|
Release: 0
|
|
|
|
Summary: A System and Session Manager
|
|
|
|
License: LGPL-2.1+
|
|
|
|
Group: System/Base
|
|
|
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
2016-10-26 16:59:15 +02:00
|
|
|
%if ! 0%{?bootstrap}
|
|
|
|
BuildRequires: -post-build-checks
|
|
|
|
BuildRequires: docbook-xsl-stylesheets
|
|
|
|
BuildRequires: kbd
|
|
|
|
BuildRequires: libapparmor-devel
|
|
|
|
BuildRequires: libgcrypt-devel
|
|
|
|
BuildRequires: libxslt-tools
|
|
|
|
# python is only required for generating systemd.directives.xml
|
|
|
|
BuildRequires: python3
|
|
|
|
BuildRequires: python3-lxml
|
|
|
|
BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0
|
|
|
|
BuildRequires: pkgconfig(libqrencode)
|
|
|
|
%endif
|
2012-10-26 14:34:44 +02:00
|
|
|
BuildRequires: fdupes
|
|
|
|
BuildRequires: gperf
|
|
|
|
BuildRequires: intltool
|
|
|
|
BuildRequires: libacl-devel
|
|
|
|
BuildRequires: libcap-devel
|
2016-12-08 14:23:11 +01:00
|
|
|
BuildRequires: libmount-devel >= 2.27.1
|
2012-10-26 14:34:44 +02:00
|
|
|
BuildRequires: libsepol-devel
|
|
|
|
BuildRequires: libtool
|
2016-10-26 16:59:15 +02:00
|
|
|
BuildRequires: pam-config >= 0.79-5
|
2012-10-26 14:34:44 +02:00
|
|
|
BuildRequires: pam-devel
|
2016-10-26 16:59:15 +02:00
|
|
|
# regenerate_initrd_post macro is expanded during build, hence this
|
|
|
|
# BR. Also this macro was introduced since version 12.4.
|
|
|
|
BuildRequires: suse-module-tools >= 12.4
|
2014-02-07 14:20:42 +01:00
|
|
|
BuildRequires: systemd-rpm-macros
|
2015-06-26 09:38:45 +02:00
|
|
|
BuildRequires: pkgconfig(blkid) >= 2.26
|
2014-02-28 18:10:52 +01:00
|
|
|
BuildRequires: pkgconfig(libkmod) >= 15
|
2016-12-14 17:08:32 +01:00
|
|
|
BuildRequires: pkgconfig(liblz4) >= 125
|
2012-10-26 14:34:44 +02:00
|
|
|
BuildRequires: pkgconfig(liblzma)
|
|
|
|
BuildRequires: pkgconfig(libpci) >= 3
|
2016-10-26 16:59:15 +02:00
|
|
|
BuildRequires: pkgconfig(libpcre)
|
|
|
|
BuildRequires: pkgconfig(libselinux) >= 2.1.9
|
|
|
|
BuildRequires: pkgconfig(libsepol)
|
|
|
|
%if %{with importd}
|
|
|
|
BuildRequires: pkgconfig(bzip2)
|
|
|
|
BuildRequires: pkgconfig(libcurl)
|
|
|
|
BuildRequires: pkgconfig(zlib)
|
|
|
|
%endif
|
|
|
|
%if %{with journal_remote}
|
|
|
|
BuildRequires: pkgconfig(libcurl)
|
|
|
|
BuildRequires: pkgconfig(libmicrohttpd) >= 0.9.33
|
|
|
|
%endif
|
2015-10-21 22:20:28 +02:00
|
|
|
%ifarch aarch64 %ix86 x86_64 x32 %arm ppc64le s390x
|
2016-12-08 14:23:11 +01:00
|
|
|
BuildRequires: pkgconfig(libseccomp) >= 2.3.1
|
2014-07-11 14:26:50 +02:00
|
|
|
%endif
|
2016-10-26 16:59:15 +02:00
|
|
|
%if %{with gnuefi}
|
|
|
|
BuildRequires: gnu-efi
|
|
|
|
%endif
|
|
|
|
|
2012-10-26 14:34:44 +02:00
|
|
|
%if 0%{?bootstrap}
|
2013-07-01 14:11:31 +02:00
|
|
|
#!BuildIgnore: dbus-1
|
2015-10-06 17:11:15 +02:00
|
|
|
Requires: this-is-only-for-build-envs
|
2016-10-26 16:59:15 +02:00
|
|
|
Provides: systemd = %{version}-%{release}
|
2012-10-26 14:34:44 +02:00
|
|
|
%else
|
|
|
|
# the buildignore is important for bootstrapping
|
|
|
|
#!BuildIgnore: udev
|
|
|
|
Requires: dbus-1 >= 1.4.0
|
|
|
|
Requires: kbd
|
2014-02-28 18:31:17 +01:00
|
|
|
Requires: kmod >= 15
|
2016-10-26 16:59:15 +02:00
|
|
|
Requires: netcfg >= 11.5
|
2012-10-26 14:34:44 +02:00
|
|
|
Requires: pam-config >= 0.79-5
|
2012-11-14 21:14:47 +01:00
|
|
|
Requires: pwdutils
|
2012-10-26 14:34:44 +02:00
|
|
|
Requires: systemd-presets-branding
|
2014-07-15 09:40:33 +02:00
|
|
|
Requires: sysvinit-tools
|
2016-10-26 16:59:15 +02:00
|
|
|
Requires: udev = %{version}-%{release}
|
2016-01-13 19:13:18 +01:00
|
|
|
Requires: util-linux >= 2.27.1
|
2016-10-26 16:59:15 +02:00
|
|
|
Recommends: %{name}-bash-completion
|
2012-10-29 19:55:30 +01:00
|
|
|
Requires(post): coreutils
|
|
|
|
Requires(post): findutils
|
2016-10-26 16:59:15 +02:00
|
|
|
Requires(post): systemd-presets-branding
|
2014-07-03 09:03:56 +02:00
|
|
|
Requires(post): pam-config >= 0.79-5
|
2013-10-02 16:37:41 +02:00
|
|
|
%endif
|
2014-06-06 13:40:36 +02:00
|
|
|
Requires(post): /usr/bin/awk
|
2016-10-26 16:59:15 +02:00
|
|
|
|
|
|
|
%if 0%{?bootstrap}
|
|
|
|
Conflicts: systemd
|
|
|
|
Conflicts: kiwi
|
|
|
|
%endif
|
|
|
|
Conflicts: sysvinit
|
2012-10-26 14:34:44 +02:00
|
|
|
Conflicts: filesystem < 11.5
|
|
|
|
Conflicts: mkinitrd < 2.7.0
|
2013-04-13 13:09:53 +02:00
|
|
|
Obsoletes: systemd-analyze < 201
|
2013-04-22 16:35:32 +02:00
|
|
|
Provides: systemd-analyze = %{version}
|
2015-06-30 09:36:07 +02:00
|
|
|
Obsoletes: pm-utils <= 1.4.1
|
|
|
|
Obsoletes: suspend <= 1.0
|
2016-10-26 16:59:15 +02:00
|
|
|
Source0: systemd-%{version}.tar.xz
|
|
|
|
Source1: %{name}-rpmlintrc
|
2012-10-26 14:34:44 +02:00
|
|
|
Source3: systemd-sysv-convert
|
|
|
|
Source6: baselibs.conf
|
2012-11-14 21:14:47 +01:00
|
|
|
Source7: libgcrypt.m4
|
2013-06-19 13:05:44 +02:00
|
|
|
Source10: macros.systemd.upstream
|
2013-10-01 09:23:27 +02:00
|
|
|
Source11: after-local.service
|
2015-10-06 17:11:15 +02:00
|
|
|
Source12: systemd-sysv-install
|
2016-08-25 14:43:25 +02:00
|
|
|
Source13: fix-machines-subvol-for-rollbacks.sh
|
2016-10-26 16:59:15 +02:00
|
|
|
Source14: kbd-model-map.legacy
|
2012-10-26 14:34:44 +02:00
|
|
|
|
2016-10-26 16:59:15 +02:00
|
|
|
Source1065: udev-remount-tmpfs
|
2012-10-26 14:34:44 +02:00
|
|
|
|
|
|
|
%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
|
2012-11-02 15:16:22 +01:00
|
|
|
License: LGPL-2.1+
|
2012-10-26 14:34:44 +02:00
|
|
|
Group: Development/Libraries/C and C++
|
2016-03-17 09:09:40 +01:00
|
|
|
Requires: libsystemd0%{?mini} = %{version}-%{release}
|
2013-06-19 09:04:23 +02:00
|
|
|
Requires: systemd-rpm-macros
|
2013-04-23 14:55:16 +02:00
|
|
|
%if 0%{?bootstrap}
|
2016-10-26 16:59:15 +02:00
|
|
|
Conflicts: systemd-devel
|
2013-04-23 14:55:16 +02:00
|
|
|
%endif
|
2012-10-26 14:34:44 +02:00
|
|
|
|
|
|
|
%description devel
|
|
|
|
Development headers and auxiliary files for developing applications for systemd.
|
|
|
|
|
|
|
|
%package sysvinit
|
|
|
|
Summary: System V init tools
|
2012-11-02 15:16:22 +01:00
|
|
|
License: LGPL-2.1+
|
2012-10-26 14:34:44 +02:00
|
|
|
Group: System/Base
|
2016-03-17 09:09:40 +01:00
|
|
|
Requires: %{name} = %{version}-%{release}
|
2012-10-26 14:34:44 +02:00
|
|
|
Provides: sbin_init
|
|
|
|
Conflicts: otherproviders(sbin_init)
|
|
|
|
Provides: sysvinit:/sbin/init
|
|
|
|
|
|
|
|
%description sysvinit
|
|
|
|
Drop-in replacement of System V init tools.
|
|
|
|
|
2015-07-03 13:16:13 +02:00
|
|
|
%package -n libsystemd0%{?mini}
|
2015-06-23 14:56:50 +02:00
|
|
|
Summary: Component library for systemd
|
|
|
|
License: LGPL-2.1+
|
|
|
|
Group: System/Libraries
|
2015-07-03 13:16:13 +02:00
|
|
|
%if 0%{?bootstrap}
|
|
|
|
Conflicts: libsystemd0
|
2015-10-06 17:11:15 +02:00
|
|
|
Requires: this-is-only-for-build-envs
|
2015-07-03 13:16:13 +02:00
|
|
|
%endif
|
2015-06-23 14:56:50 +02:00
|
|
|
|
2015-07-03 13:16:13 +02:00
|
|
|
%description -n libsystemd0%{?mini}
|
2015-06-23 14:56:50 +02:00
|
|
|
This library provides several of the systemd C APIs:
|
|
|
|
|
|
|
|
* sd-bus implements an alternative D-Bus client library that is
|
|
|
|
relatively easy to use, very efficient and supports both classic
|
|
|
|
D-Bus as well as kdbus as transport backend.
|
|
|
|
|
|
|
|
* sd-daemon(3): for system services (daemons) to report their status
|
|
|
|
to systemd and to make easy use of socket-based activation logic
|
|
|
|
|
|
|
|
* sd-event is a generic event loop abstraction that is built around
|
|
|
|
Linux epoll, but adds features such as event prioritization or
|
|
|
|
efficient timer handling.
|
|
|
|
|
|
|
|
* sd-id128(3): generation and processing of 128-bit IDs
|
|
|
|
|
|
|
|
* sd-journal(3): API to submit and query journal log entries
|
|
|
|
|
|
|
|
* sd-login(3): APIs to introspect and monitor seat, login session and
|
|
|
|
user status information on the local system.
|
|
|
|
|
2015-07-03 13:16:13 +02:00
|
|
|
%package -n udev%{?mini}
|
2012-10-26 14:34:44 +02:00
|
|
|
Summary: A rule-based device node and kernel event manager
|
2012-11-02 15:16:22 +01:00
|
|
|
License: GPL-2.0
|
2012-10-26 14:34:44 +02:00
|
|
|
Group: System/Kernel
|
|
|
|
Url: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html
|
2014-06-05 10:47:12 +02:00
|
|
|
Requires(pre): /usr/bin/stat
|
|
|
|
Requires(pre): /usr/sbin/groupadd
|
|
|
|
Requires(pre): /usr/bin/getent
|
2014-04-16 13:59:56 +02:00
|
|
|
Requires(post): sed
|
2014-06-05 10:47:12 +02:00
|
|
|
Requires(post): /usr/bin/systemctl
|
2016-10-26 16:59:15 +02:00
|
|
|
|
2014-04-16 13:59:56 +02:00
|
|
|
Requires(post): coreutils
|
|
|
|
Requires(postun): coreutils
|
2016-10-26 16:59:15 +02:00
|
|
|
Requires(posttrans): suse-module-tools >= 12.4
|
|
|
|
|
2012-10-26 14:34:44 +02:00
|
|
|
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}
|
2016-10-26 16:59:15 +02:00
|
|
|
Provides: udev = %{version}
|
|
|
|
Conflicts: libudev1
|
|
|
|
Conflicts: udev
|
|
|
|
# avoid kiwi picking it for bootstrap
|
|
|
|
Requires: this-is-only-for-build-envs
|
2012-10-26 14:34:44 +02:00
|
|
|
%endif
|
|
|
|
|
2015-07-03 13:16:13 +02:00
|
|
|
%description -n udev%{?mini}
|
2012-10-26 14:34:44 +02:00
|
|
|
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.
|
|
|
|
|
2015-07-03 13:16:13 +02:00
|
|
|
%package -n libudev%{?mini}1
|
2012-10-26 14:34:44 +02:00
|
|
|
Summary: Dynamic library to access udev device information
|
2012-11-02 15:16:22 +01:00
|
|
|
License: LGPL-2.1+
|
2012-10-26 14:34:44 +02:00
|
|
|
Group: System/Libraries
|
2012-12-05 19:07:07 +01:00
|
|
|
%if 0%{?bootstrap}
|
2015-07-03 13:16:13 +02:00
|
|
|
Conflicts: libudev1
|
2016-10-26 16:59:15 +02:00
|
|
|
Conflicts: kiwi
|
|
|
|
# avoid kiwi picking it for bootstrap
|
|
|
|
Requires: this-is-only-for-build-envs
|
2012-12-05 19:07:07 +01:00
|
|
|
%endif
|
2012-10-26 14:34:44 +02:00
|
|
|
|
2015-07-03 13:16:13 +02:00
|
|
|
%description -n libudev%{?mini}1
|
2012-10-26 14:34:44 +02:00
|
|
|
This package contains the dynamic library libudev, which provides
|
|
|
|
access to udev device information
|
|
|
|
|
2015-07-03 13:16:13 +02:00
|
|
|
%package -n libudev%{?mini}-devel
|
2012-10-26 14:34:44 +02:00
|
|
|
Summary: Development files for libudev
|
2012-11-02 15:16:22 +01:00
|
|
|
License: LGPL-2.1+
|
2016-10-26 16:59:15 +02:00
|
|
|
Group: Development/Libraries/Other
|
|
|
|
Requires: libudev%{?mini}1 = %{version}-%{release}
|
2012-10-26 14:34:44 +02:00
|
|
|
%if 0%{?bootstrap}
|
2016-10-26 16:59:15 +02:00
|
|
|
Provides: libudev-devel = %{version}
|
|
|
|
Conflicts: libudev1 = %{version}
|
|
|
|
Conflicts: libudev-devel
|
2012-10-26 14:34:44 +02:00
|
|
|
%endif
|
|
|
|
|
2015-07-03 13:16:13 +02:00
|
|
|
%description -n libudev%{?mini}-devel
|
2012-10-26 14:34:44 +02:00
|
|
|
This package contains the development files for the library libudev, a
|
|
|
|
dynamic library, which provides access to udev device information.
|
|
|
|
|
2015-02-18 13:14:12 +01:00
|
|
|
%if ! 0%{?bootstrap}
|
2012-11-06 15:52:17 +01:00
|
|
|
%package logger
|
|
|
|
Summary: Journal only logging
|
|
|
|
License: LGPL-2.1+
|
|
|
|
Group: System/Base
|
|
|
|
Provides: syslog
|
|
|
|
Provides: sysvinit(syslog)
|
2014-06-05 10:47:12 +02:00
|
|
|
Requires(post): /usr/bin/systemctl
|
2012-11-06 15:52:17 +01:00
|
|
|
Conflicts: otherproviders(syslog)
|
|
|
|
|
|
|
|
%description logger
|
|
|
|
This package marks the installation to not use syslog but only the journal.
|
|
|
|
|
2016-12-08 14:23:11 +01:00
|
|
|
%package -n nss-systemd
|
|
|
|
Summary: Plugin for local virtual host name resolution
|
|
|
|
License: LGPL-2.1+
|
|
|
|
Group: System/Libraries
|
|
|
|
|
|
|
|
%description -n nss-systemd
|
|
|
|
This package contains a plugin for the Name Service Switch (NSS),
|
|
|
|
which enables resolution of all dynamically allocated service
|
|
|
|
users. (See the DynamicUser= setting in unit files.)
|
|
|
|
|
|
|
|
To activate this NSS module, you will need to include it in
|
|
|
|
/etc/nsswitch.conf, see nss-systemd(8) manpage for more details.
|
|
|
|
|
2013-04-13 13:09:53 +02:00
|
|
|
%package -n nss-myhostname
|
|
|
|
Summary: Plugin for local system host name resolution
|
|
|
|
License: LGPL-2.1+
|
|
|
|
Group: System/Libraries
|
|
|
|
|
|
|
|
%description -n nss-myhostname
|
2016-11-14 15:35:07 +01:00
|
|
|
This package contains a plug-in module for the Name Service Switch
|
|
|
|
(NSS), primarly providing hostname resolution for the locally
|
|
|
|
configured system hostname as returned by gethostname(2). For example,
|
|
|
|
it resolves the local hostname to locally configured IP addresses, as
|
|
|
|
well as "localhost" to 127.0.0.1/::1.
|
|
|
|
|
|
|
|
To activate this NSS module, you will need to include it in
|
|
|
|
/etc/nsswitch.conf, see nss-hostname(8) manpage for more details.
|
|
|
|
%endif
|
|
|
|
|
2017-01-11 16:31:45 +01:00
|
|
|
%if %{with resolved}
|
|
|
|
%package -n nss-resolve
|
|
|
|
Summary: Plugin for local hostname resolution via systemd-resolved
|
|
|
|
License: LGPL-2.1+
|
|
|
|
Group: System/Libraries
|
|
|
|
Requires: %{name} = %{version}-%{release}
|
|
|
|
|
|
|
|
%description -n nss-resolve
|
|
|
|
This package contains a plug-in module for the Name Service Switch
|
|
|
|
(NSS), which enables host name resolutions via the systemd-resolved(8)
|
|
|
|
local network name resolution service. It replaces the nss-dns plug-in
|
|
|
|
module that traditionally resolves hostnames via DNS.
|
|
|
|
|
|
|
|
To activate this NSS module, you will need to include it in
|
|
|
|
/etc/nsswitch.conf, see nss-resolve(8) manpage for more details.
|
|
|
|
%endif
|
|
|
|
|
2016-11-14 15:35:07 +01:00
|
|
|
%if %{with machined}
|
|
|
|
%package -n nss-mymachines
|
|
|
|
Summary: Plugin for local virtual host name resolution
|
|
|
|
License: LGPL-2.1+
|
|
|
|
Group: System/Libraries
|
|
|
|
|
|
|
|
%description -n nss-mymachines
|
|
|
|
This package contains a plugin for the Name Service Switch (NSS),
|
|
|
|
providing host name resolution for all local containers and virtual
|
|
|
|
machines registered with systemd-machined to their respective IP
|
|
|
|
addresses. It also maps UID/GIDs ranges used by containers to useful
|
|
|
|
names.
|
|
|
|
|
|
|
|
To activate this NSS module, you will need to include it in
|
|
|
|
/etc/nsswitch.conf, see nss-mymachines(8) manpage for more details.
|
2016-10-26 16:59:15 +02:00
|
|
|
%endif
|
2013-04-13 13:09:53 +02:00
|
|
|
|
2016-10-26 16:59:15 +02:00
|
|
|
%if %{with journal_remote}
|
|
|
|
%package journal-remote
|
|
|
|
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-remote
|
|
|
|
This extends the journal functionality to keep a copy of logs on a
|
|
|
|
remote server by providing programs to forward journal entries over
|
|
|
|
the network, using encrypted HTTP, and to write journal files from
|
|
|
|
serialized journal contents.
|
|
|
|
|
|
|
|
This package contains systemd-journal-gatewayd,
|
|
|
|
systemd-journal-remote, and systemd-journal-upload.
|
|
|
|
%endif
|
|
|
|
|
|
|
|
%package bash-completion
|
|
|
|
Summary: Bash completion support for systemd
|
2013-07-25 17:40:51 +02:00
|
|
|
License: LGPL-2.1+
|
|
|
|
Group: System/Base
|
2016-10-26 16:59:15 +02:00
|
|
|
Requires: bash-completion
|
|
|
|
BuildArch: noarch
|
2016-11-14 15:35:07 +01:00
|
|
|
%if 0%{?bootstrap}
|
|
|
|
Conflicts: systemd-bash-completion
|
|
|
|
%endif
|
2013-07-25 17:40:51 +02:00
|
|
|
|
2016-10-26 16:59:15 +02:00
|
|
|
%description bash-completion
|
|
|
|
Some systemd commands offer bash completion, but it is an optional dependency.
|
2013-07-25 17:40:51 +02:00
|
|
|
|
2012-10-26 14:34:44 +02:00
|
|
|
%prep
|
2016-10-26 16:59:15 +02:00
|
|
|
%setup -q -n systemd-%{version}
|
2012-10-26 14:34:44 +02:00
|
|
|
|
2012-11-14 21:14:47 +01:00
|
|
|
# only needed for bootstrap
|
|
|
|
%if 0%{?bootstrap}
|
|
|
|
cp %{SOURCE7} m4/
|
|
|
|
%endif
|
|
|
|
|
2012-10-26 14:34:44 +02:00
|
|
|
%build
|
2015-11-12 13:24:39 +01:00
|
|
|
#
|
2016-10-26 16:59:15 +02:00
|
|
|
# Be sure that fresh build libudev is found and used at linkage time
|
2015-11-12 13:24:39 +01:00
|
|
|
#
|
|
|
|
sed -ri '/^systemd_cryptsetup_CFLAGS/,/^systemd_cryptsetup_LDADD/{ /^$/a\
|
2016-10-26 16:59:15 +02:00
|
|
|
systemd_cryptsetup_LDFLAGS =\\\
|
|
|
|
$(AM_LDFLAGS)\\\
|
|
|
|
-Wl,-rpath-link=$(top_srcdir)/.libs\
|
2015-11-12 13:24:39 +01:00
|
|
|
|
|
|
|
}' Makefile.am
|
2015-09-03 13:16:05 +02:00
|
|
|
|
2016-10-26 16:59:15 +02:00
|
|
|
./autogen.sh
|
2016-03-17 09:09:40 +01:00
|
|
|
|
2012-10-26 14:34:44 +02:00
|
|
|
# keep split-usr until all packages have moved their systemd rules to /usr
|
|
|
|
%configure \
|
2017-01-25 17:13:23 +01:00
|
|
|
--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-certificate-root=%{_sysconfdir}/pki/systemd \
|
2012-10-26 14:34:44 +02:00
|
|
|
%if 0%{?bootstrap}
|
2017-01-25 17:13:23 +01:00
|
|
|
--disable-myhostname \
|
|
|
|
--disable-manpages \
|
|
|
|
%endif
|
|
|
|
--enable-selinux \
|
|
|
|
--enable-split-usr \
|
|
|
|
--disable-static \
|
|
|
|
--disable-lto \
|
|
|
|
--disable-tests \
|
|
|
|
--without-kill-user-processes \
|
|
|
|
--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 \
|
|
|
|
--disable-adm-group \
|
|
|
|
--disable-wheel-group \
|
|
|
|
--disable-ldconfig \
|
2014-02-28 18:10:52 +01:00
|
|
|
%if %{without networkd}
|
2017-01-25 17:13:23 +01:00
|
|
|
--disable-networkd \
|
2013-12-20 13:23:11 +01:00
|
|
|
%endif
|
2016-10-26 16:59:15 +02:00
|
|
|
%if %{without machined}
|
2017-01-25 17:13:23 +01:00
|
|
|
--disable-machined \
|
2016-10-26 16:59:15 +02:00
|
|
|
%endif
|
2015-02-18 13:10:33 +01:00
|
|
|
%if %{without sysvcompat}
|
2017-01-25 17:13:23 +01:00
|
|
|
--with-sysvinit-path= \
|
|
|
|
--with-sysvrcnd-path= \
|
2015-02-18 13:10:33 +01:00
|
|
|
%endif
|
|
|
|
%if %{without resolved}
|
2017-01-25 17:13:23 +01:00
|
|
|
--disable-resolved \
|
2015-02-18 13:10:33 +01:00
|
|
|
%endif
|
2017-01-25 17:13:23 +01:00
|
|
|
--disable-kdbus
|
2016-03-17 09:09:40 +01:00
|
|
|
|
2016-10-26 16:59:15 +02:00
|
|
|
make %{?_smp_mflags} V=e
|
2012-10-26 14:34:44 +02:00
|
|
|
|
|
|
|
%install
|
2015-12-02 16:45:15 +01:00
|
|
|
%make_install
|
2016-12-14 17:08:32 +01:00
|
|
|
find %{buildroot} -type f -name '*.la' -delete
|
2012-10-26 14:34:44 +02:00
|
|
|
|
2013-04-13 13:09:53 +02:00
|
|
|
# move to %{_lib}
|
|
|
|
%if ! 0%{?bootstrap}
|
2014-02-28 18:10:52 +01:00
|
|
|
mv %{buildroot}%{_libdir}/libnss_myhostname.so.2 %{buildroot}/%{_lib}
|
2016-12-08 14:23:11 +01:00
|
|
|
%else
|
|
|
|
rm %{buildroot}%{_libdir}/libnss_systemd.so*
|
2013-04-13 13:09:53 +02:00
|
|
|
%endif
|
|
|
|
|
2016-10-26 16:59:15 +02:00
|
|
|
# FIXME: these symlinks should die.
|
2014-02-28 18:10:52 +01:00
|
|
|
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
|
2015-02-18 13:10:33 +01:00
|
|
|
|
2014-07-14 17:05:04 +02:00
|
|
|
install -m755 -D %{S:1065} %{buildroot}/%{_prefix}/lib/udev/remount-tmpfs
|
2013-06-19 09:04:23 +02:00
|
|
|
rm -rf %{buildroot}%{_sysconfdir}/rpm
|
2012-10-26 14:34:44 +02:00
|
|
|
|
2016-10-26 16:59:15 +02:00
|
|
|
mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/sysv-convert
|
|
|
|
mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/migrated
|
|
|
|
|
|
|
|
install -m0755 -D %{S:3} %{buildroot}/%{_sbindir}/systemd-sysv-convert
|
|
|
|
install -m0755 -D %{S:12} %{buildroot}/%{_prefix}/lib/systemd/systemd-sysv-install
|
|
|
|
install -m0755 %{S:13} %{buildroot}/%{_prefix}/lib/systemd/
|
|
|
|
|
2012-10-26 14:34:44 +02:00
|
|
|
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
|
2015-02-18 13:10:33 +01:00
|
|
|
|
2015-12-22 11:31:01 +01:00
|
|
|
# We keep a copy of tmp.mount because it may be removed if not used
|
|
|
|
# (see %post): we want to be sure tmpfs won't be used for /tmp by
|
|
|
|
# default on Suse distros.
|
2012-10-26 14:34:44 +02:00
|
|
|
rm %{buildroot}/%{_prefix}/lib/systemd/system/local-fs.target.wants/tmp.mount
|
2015-12-22 11:31:01 +01:00
|
|
|
cp %{buildroot}/%{_prefix}/lib/systemd/system/tmp.mount %{buildroot}/%{_datadir}/systemd/
|
2012-10-26 14:34:44 +02:00
|
|
|
|
2013-10-02 13:01:24 +02:00
|
|
|
# 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
|
|
|
|
|
2016-10-26 16:59:15 +02:00
|
|
|
# create %%{_libexecdir}/modules-load.d
|
2013-04-25 10:33:19 +02:00
|
|
|
mkdir -p %{buildroot}%{_libexecdir}/modules-load.d
|
|
|
|
cat << EOF > %{buildroot}%{_libexecdir}/modules-load.d/sg.conf
|
|
|
|
# load sg module at boot time
|
|
|
|
sg
|
|
|
|
EOF
|
|
|
|
|
2016-12-08 14:23:11 +01:00
|
|
|
# Remove .so file for the shared library, it's not supposed to be
|
|
|
|
# used.
|
|
|
|
rm %{buildroot}%{_libexecdir}/systemd/libsystemd-shared.so
|
|
|
|
|
2013-05-27 11:58:29 +02:00
|
|
|
# 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
|
2012-10-26 14:34:44 +02:00
|
|
|
|
2012-11-14 21:14:47 +01:00
|
|
|
# remove README file for now
|
|
|
|
rm -f %{buildroot}/etc/init.d/README
|
|
|
|
%if 0%{?bootstrap}
|
2014-03-03 15:25:26 +01:00
|
|
|
rm -f %{buildroot}%{_localstatedir}/log/README
|
2016-10-26 16:59:15 +02:00
|
|
|
%endif
|
|
|
|
|
|
|
|
# journal-upload is built if libcurl is installed which can happen
|
|
|
|
# when importd is enabled (whereas journal_remote is not).
|
|
|
|
%if ! %{with journal_remote}
|
|
|
|
rm -f %{buildroot}%{_sysconfdir}/systemd/journal-upload.conf
|
|
|
|
rm -f %{buildroot}%{_prefix}/lib/systemd/systemd-journal-upload
|
|
|
|
rm -f %{buildroot}%{_prefix}/lib/systemd/system/systemd-journal-upload.*
|
2012-11-14 21:14:47 +01:00
|
|
|
%endif
|
2012-10-29 19:55:30 +01:00
|
|
|
|
2012-10-26 14:34:44 +02:00
|
|
|
# legacy links
|
2013-10-02 16:37:41 +02:00
|
|
|
for f in loginctl journalctl ; do
|
2017-02-20 12:40:16 +01:00
|
|
|
ln -s $f %{buildroot}%{_bindir}/systemd-$f
|
- links more manpages for migrated tools (from Christopher
Yeleighton).
- disable boot.localnet service, ypbind service will do the right
thing now (bnc#716746)
- add xdm-display-manager.patch: pull xdm.service instead of
display-manager.service (needed until xdm initscript is migrated
to native systemd service).
- Add fix-permissions-btmp.patch: ensure btmp is owned only by root
(bnc#777405).
- Have the udev package create a tape group, as referenced by
50-udev-default.rules and 60-persistent-storage-tape.rules
(DimStar).
- Add fix-bad-memory-access.patch: fix crash in journal rotation.
- Add fix-dbus-crash.patch: fix D-Bus caused crash.
- Add sync-on-shutdown.patch: ensure sync is done when initiating
shutdown.
- Add mount-efivars.patch: mount efivars if booting on UEFI.
- Ship a empty systemd-journald initscript in systemd-logger to
stop insserv to complain about missing syslog dependency.
- Update
0001-service-Fix-dependencies-added-when-parsing-insserv..patch
with bug fixes from Debian.
old: Base:System/systemd
new: home:fcrozat:branches:Base:System/systemd rev NoneIndex: 0001-service-Fix-dependencies-added-when-parsing-insserv..patch
===================================================================
--- 0001-service-Fix-dependencies-added-when-parsing-insserv..patch (revision 311)
+++ 0001-service-Fix-dependencies-added-when-parsing-insserv..patch (revision 5)
@@ -1,17 +1,35 @@
-From 6620bceb7233a830be3635a4f7a7dc75c13a9c8e Mon Sep 17 00:00:00 2001
-From: Frederic Crozat <fcrozat@suse.com>
-Date: Fri, 30 Sep 2011 14:12:45 +0200
-Subject: [PATCH] service: Fix dependencies added when parsing insserv.conf
-
----
- src/service.c | 16 +++++++++-------
- 1 files changed, 9 insertions(+), 7 deletions(-)
-
-Index: systemd-41/src/service.c
+Index: systemd-195/src/core/service.c
===================================================================
---- systemd-41.orig/src/core/service.c
-+++ systemd-41/src/core/service.c
-@@ -3210,23 +3210,30 @@ static void sysv_facility_in_insserv_con
+--- systemd-195.orig/src/core/service.c
++++ systemd-195/src/core/service.c
+@@ -3391,12 +3391,13 @@ static void service_notify_message(Unit
+
+ #ifdef HAVE_SYSV_COMPAT
+
+-#ifdef TARGET_SUSE
+-static void sysv_facility_in_insserv_conf(Manager *mgr) {
+- FILE *f=NULL;
++#if defined(TARGET_SUSE) || defined(TARGET_DEBIAN)
++static void sysv_parse_insserv_conf(Manager *mgr, const char* filename) {
++ FILE *f = NULL;
+ int r;
+
+- if (!(f = fopen("/etc/insserv.conf", "re"))) {
++ if (!(f = fopen(filename, "re"))) {
++ log_error("Failed to open file %s", filename);
+ r = errno == ENOENT ? 0 : -errno;
+ goto finish;
+ }
+@@ -3410,7 +3411,7 @@ static void sysv_facility_in_insserv_con
+ break;
+
+ r = -errno;
+- log_error("Failed to read configuration file '/etc/insserv.conf': %s", strerror(-r));
++ log_error("Failed to read configuration file '%s': %s", filename, strerror(-r));
+ goto finish;
+ }
+
+@@ -3425,23 +3426,30 @@ static void sysv_facility_in_insserv_con
Unit *u;
if (sysv_translate_facility(parsed[0], NULL, &facility) < 0)
continue;
@@ -29,12 +47,12 @@
STRV_FOREACH (j, parsed+1) {
- if (*j[0]=='+') {
- e = UNIT_WANTS;
-+ if (*j[0]=='+')
++ if (*j[0] == '+')
name = *j+1;
- }
- else {
- e = UNIT_REQUIRES;
-+ else
++ else
name = *j;
- }
+ if (streq(name, "boot.localfs") ||
@@ -44,9 +62,54 @@
continue;
- r = unit_add_two_dependencies_by_name(u, UNIT_BEFORE, e, dep, NULL, true);
-+ r = unit_add_dependency_by_name_inverse(u, UNIT_BEFORE, dep, NULL, true);
-+ if (*j[0]!='+')
++ r = unit_add_two_dependencies_by_name_inverse(u, UNIT_WANTS, UNIT_BEFORE, dep, NULL, true);
++ if (*j[0] != '+')
+ r = unit_add_dependency_by_name(u, UNIT_REQUIRES, dep, NULL, true);
free(dep);
}
}
+@@ -3454,6 +3462,35 @@ finish:
+ fclose(f);
+
+ }
++
++static void sysv_facility_in_insserv_conf(Manager *mgr) {
++ DIR *d =NULL;
++ struct dirent *de;
++
++#ifdef TARGET_DEBIAN
++ if (!(d = opendir("/etc/insserv.conf.d/")))
++ if (errno != ENOENT) {
++ log_warning("opendir() failed on /etc/insserv.conf.d/ %s", strerror(errno));
++ goto finish;
++ }
++
++ while ((de = readdir(d))) {
++ char *path = NULL;
++ if (ignore_file(de->d_name))
++ continue;
++
++ path = join("/etc/insserv.conf.d/", de->d_name, NULL);
++ sysv_parse_insserv_conf(mgr, path);
++ free(path);
++ }
++finish:
++ if (d)
++ closedir(d);
++#endif
++
++ sysv_parse_insserv_conf(mgr, "/etc/insserv.conf");
++}
++
+ #endif
+
+ static int service_enumerate(Manager *m) {
+@@ -3604,7 +3641,7 @@ static int service_enumerate(Manager *m)
+
+ r = 0;
+
+-#ifdef TARGET_SUSE
++#if defined(TARGET_SUSE) || defined(TARGET_DEBIAN)
+ sysv_facility_in_insserv_conf (m);
+ #endif
+
Index: systemd-mini.changes
===================================================================
--- systemd-mini.changes (revision 311)
+++ systemd-mini.changes (revision 5)
@@ -1,4 +1,35 @@
-------------------------------------------------------------------
+Tue Nov 20 09:36:43 UTC 2012 - fcrozat@suse.com
+
+- links more manpages for migrated tools (from Christopher
+ Yeleighton).
+- disable boot.localnet service, ypbind service will do the right
+ thing now (bnc#716746)
+- add xdm-display-manager.patch: pull xdm.service instead of
+ display-manager.service (needed until xdm initscript is migrated
+ to native systemd service).
+- Add fix-permissions-btmp.patch: ensure btmp is owned only by root
+ (bnc#777405).
+- Have the udev package create a tape group, as referenced by
+ 50-udev-default.rules and 60-persistent-storage-tape.rules
+ (DimStar).
+- Add fix-bad-memory-access.patch: fix crash in journal rotation.
+- Add fix-dbus-crash.patch: fix D-Bus caused crash.
+- Add sync-on-shutdown.patch: ensure sync is done when initiating
+ shutdown.
+- Add mount-efivars.patch: mount efivars if booting on UEFI.
+
+
+-------------------------------------------------------------------
+Thu Nov 15 14:31:28 UTC 2012 - fcrozat@suse.com
+
+- Ship a empty systemd-journald initscript in systemd-logger to
+ stop insserv to complain about missing syslog dependency.
+- Update
+ 0001-service-Fix-dependencies-added-when-parsing-insserv..patch
+ with bug fixes from Debian.
+
+-------------------------------------------------------------------
Wed Nov 14 17:36:05 UTC 2012 - fcrozat@suse.com
- /var/log/journal is now only provided by systemd-logger (journal
Index: systemd-mini.spec
===================================================================
--- systemd-mini.spec (revision 311)
+++ systemd-mini.spec (revision 5)
@@ -102,6 +102,7 @@
Source5: systemd-insserv_conf
Source6: baselibs.conf
Source7: libgcrypt.m4
+Source8: systemd-journald.init
Source1060: boot.udev
Source1061: write_dev_root_rule
@@ -128,6 +129,8 @@
Patch56: support-suse-clock-sysconfig.patch
Patch59: fix-enable-disable-boot-initscript.patch
Patch60: var-run-lock.patch
+Patch63: xdm-display-manager.patch
+Patch64: fix-permissions-btmp.patch
# Upstream First - Policy:
# Never add any patches to this package without the upstream commit id
@@ -137,6 +140,14 @@
Patch61: fix-logind-pty-seat.patch
# PATCH-FIX-UPSTREAM fix-build-glibc217.patch fcrozat@suse.com -- fix build with latest glibc
Patch62: fix-build-glibc217.patch
+# PATCH-FIX-UPSTREAM fix-bad-memory-access.patch fcrozat@suse.com -- fix bad memory access
+Patch65: fix-bad-memory-access.patch
+# PATCH-FIX-UPSTREAM fix-dbus-crash.patch fcrozat@suse.com -- fix D-Bus caused crash
+Patch66: fix-dbus-crash.patch
+# PATCH-FIX-UPSTREAM sync-on-shutdown.patch fcrozat@suse.com -- Sync on shutdown
+Patch67: sync-on-shutdown.patch
+# PATCH-FIX-UPSTREAM mount-efivars.patch fcrozat@suse.com -- mount efivars if booting under UEFI
+Patch68: mount-efivars.patch
# udev patches
# PATCH-FIX-OPENSUSE 0001-Reinstate-TIMEOUT-handling.patch
@@ -151,8 +162,6 @@
# PATCH-FIX-OPENSUSE 0027-udev-fix-sg-autoload-regression.patch
Patch1027: 0027-udev-fix-sg-autoload-regression.patch
-# systemd patches
-
%description
Systemd is a system and service manager, compatible with SysV and LSB
init scripts for Linux. systemd provides aggressive parallelization
@@ -313,6 +322,7 @@
%patch1026 -p1
%patch1027 -p1
+#systemd
%patch1 -p1
%patch6 -p1
# don't apply when bootstrapping to not modify configure.in
@@ -337,6 +347,12 @@
%patch60 -p1
%patch61 -p1
%patch62 -p1
+%patch63 -p1
+%patch64 -p1
+%patch65 -p1
+%patch66 -p1
+%patch67 -p1
+%patch68 -p1
%build
autoreconf -fiv
@@ -368,8 +384,14 @@
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
mkdir -p $RPM_BUILD_ROOT/%{_prefix}/usr/lib/firmware/updates
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
+%endif
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
@@ -378,11 +400,6 @@
mkdir -p $RPM_BUILD_ROOT/lib/systemd/system/basic.target.wants
ln -sf ../udev-root-symlink.service $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/basic.target.wants
-#fix manpages
-%if ! 0%{?bootstrap}
-sed -i -e 's,^\(\.so \)\(.*\.\)\([0-9]\),\1man\3/\2\3,g' %{buildroot}/%{_mandir}/*/*
-%endif
-
#workaround for 716939
chmod 644 %{buildroot}%{_bindir}/systemd-analyze
mkdir -p %{buildroot}%{_sysconfdir}/rpm
@@ -392,7 +409,7 @@
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}/lib/systemd/system-generators
+#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
@@ -415,8 +432,7 @@
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
-# need to be implemented in systemd directly
-#ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/localnet.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
@@ -442,8 +458,12 @@
%endif
# legacy links
-ln -s loginctl %{buildroot}%{_bindir}/systemd-loginctl
-ln -s journalctl %{buildroot}%{_bindir}/systemd-journalctl
+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
@@ -532,6 +552,8 @@
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
@@ -724,6 +746,10 @@
%exclude %{_mandir}/man8/telinit.8*
%exclude %{_mandir}/man8/runlevel.8*
%exclude %{_mandir}/man*/*udev*.[0-9]*
+
+# Packaged in analyze subpackage
+%exclude %{_mandir}/man1/systemd-analyze.1*
+
%{_mandir}/man1/*.1*
%{_mandir}/man3/*.3*
%{_mandir}/man5/*.5*
@@ -787,7 +813,11 @@
%endif
%files analyze
+%defattr(-,root,root)
%attr(0755,root,root) /usr/bin/systemd-analyze
+%if ! 0%{?bootstrap}
+%{_mandir}/man1/systemd-analyze.1*
+%endif
%files -n %{udevpkgname}
%defattr(-,root,root)
@@ -878,6 +908,7 @@
%defattr(-,root,root)
%dir /var/log/journal
/var/log/README
+/etc/init.d/systemd-journald
%endif
Index: systemd.changes
===================================================================
--- systemd.changes (revision 311)
+++ systemd.changes (revision 5)
@@ -1,4 +1,35 @@
-------------------------------------------------------------------
+Tue Nov 20 09:36:43 UTC 2012 - fcrozat@suse.com
+
+- links more manpages for migrated tools (from Christopher
+ Yeleighton).
+- disable boot.localnet service, ypbind service will do the right
+ thing now (bnc#716746)
+- add xdm-display-manager.patch: pull xdm.service instead of
+ display-manager.service (needed until xdm initscript is migrated
+ to native systemd service).
+- Add fix-permissions-btmp.patch: ensure btmp is owned only by root
+ (bnc#777405).
+- Have the udev package create a tape group, as referenced by
+ 50-udev-default.rules and 60-persistent-storage-tape.rules
+ (DimStar).
+- Add fix-bad-memory-access.patch: fix crash in journal rotation.
+- Add fix-dbus-crash.patch: fix D-Bus caused crash.
+- Add sync-on-shutdown.patch: ensure sync is done when initiating
+ shutdown.
+- Add mount-efivars.patch: mount efivars if booting on UEFI.
+
+
+-------------------------------------------------------------------
+Thu Nov 15 14:31:28 UTC 2012 - fcrozat@suse.com
+
+- Ship a empty systemd-journald initscript in systemd-logger to
+ stop insserv to complain about missing syslog dependency.
+- Update
+ 0001-service-Fix-dependencies-added-when-parsing-insserv..patch
+ with bug fixes from Debian.
+
+-------------------------------------------------------------------
Wed Nov 14 17:36:05 UTC 2012 - fcrozat@suse.com
- /var/log/journal is now only provided by systemd-logger (journal
Index: systemd.spec
===================================================================
--- systemd.spec (revision 311)
+++ systemd.spec (revision 5)
@@ -97,6 +97,7 @@
Source5: systemd-insserv_conf
Source6: baselibs.conf
Source7: libgcrypt.m4
+Source8: systemd-journald.init
Source1060: boot.udev
Source1061: write_dev_root_rule
@@ -123,6 +124,8 @@
Patch56: support-suse-clock-sysconfig.patch
Patch59: fix-enable-disable-boot-initscript.patch
Patch60: var-run-lock.patch
+Patch63: xdm-display-manager.patch
+Patch64: fix-permissions-btmp.patch
# Upstream First - Policy:
# Never add any patches to this package without the upstream commit id
@@ -132,6 +135,14 @@
Patch61: fix-logind-pty-seat.patch
# PATCH-FIX-UPSTREAM fix-build-glibc217.patch fcrozat@suse.com -- fix build with latest glibc
Patch62: fix-build-glibc217.patch
+# PATCH-FIX-UPSTREAM fix-bad-memory-access.patch fcrozat@suse.com -- fix bad memory access
+Patch65: fix-bad-memory-access.patch
+# PATCH-FIX-UPSTREAM fix-dbus-crash.patch fcrozat@suse.com -- fix D-Bus caused crash
+Patch66: fix-dbus-crash.patch
+# PATCH-FIX-UPSTREAM sync-on-shutdown.patch fcrozat@suse.com -- Sync on shutdown
+Patch67: sync-on-shutdown.patch
+# PATCH-FIX-UPSTREAM mount-efivars.patch fcrozat@suse.com -- mount efivars if booting under UEFI
+Patch68: mount-efivars.patch
# udev patches
# PATCH-FIX-OPENSUSE 0001-Reinstate-TIMEOUT-handling.patch
@@ -146,8 +157,6 @@
# PATCH-FIX-OPENSUSE 0027-udev-fix-sg-autoload-regression.patch
Patch1027: 0027-udev-fix-sg-autoload-regression.patch
-# systemd patches
-
%description
Systemd is a system and service manager, compatible with SysV and LSB
init scripts for Linux. systemd provides aggressive parallelization
@@ -308,6 +317,7 @@
%patch1026 -p1
%patch1027 -p1
+#systemd
%patch1 -p1
%patch6 -p1
# don't apply when bootstrapping to not modify configure.in
@@ -332,6 +342,12 @@
%patch60 -p1
%patch61 -p1
%patch62 -p1
+%patch63 -p1
+%patch64 -p1
+%patch65 -p1
+%patch66 -p1
+%patch67 -p1
+%patch68 -p1
%build
autoreconf -fiv
@@ -363,8 +379,14 @@
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
mkdir -p $RPM_BUILD_ROOT/%{_prefix}/usr/lib/firmware/updates
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
+%endif
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
@@ -373,11 +395,6 @@
mkdir -p $RPM_BUILD_ROOT/lib/systemd/system/basic.target.wants
ln -sf ../udev-root-symlink.service $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/basic.target.wants
-#fix manpages
-%if ! 0%{?bootstrap}
-sed -i -e 's,^\(\.so \)\(.*\.\)\([0-9]\),\1man\3/\2\3,g' %{buildroot}/%{_mandir}/*/*
-%endif
-
#workaround for 716939
chmod 644 %{buildroot}%{_bindir}/systemd-analyze
mkdir -p %{buildroot}%{_sysconfdir}/rpm
@@ -387,7 +404,7 @@
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}/lib/systemd/system-generators
+#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
@@ -410,8 +427,7 @@
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
-# need to be implemented in systemd directly
-#ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/localnet.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
@@ -437,8 +453,12 @@
%endif
# legacy links
-ln -s loginctl %{buildroot}%{_bindir}/systemd-loginctl
-ln -s journalctl %{buildroot}%{_bindir}/systemd-journalctl
+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
@@ -527,6 +547,8 @@
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
@@ -719,6 +741,10 @@
%exclude %{_mandir}/man8/telinit.8*
%exclude %{_mandir}/man8/runlevel.8*
%exclude %{_mandir}/man*/*udev*.[0-9]*
+
+# Packaged in analyze subpackage
+%exclude %{_mandir}/man1/systemd-analyze.1*
+
%{_mandir}/man1/*.1*
%{_mandir}/man3/*.3*
%{_mandir}/man5/*.5*
@@ -782,7 +808,11 @@
%endif
%files analyze
+%defattr(-,root,root)
%attr(0755,root,root) /usr/bin/systemd-analyze
+%if ! 0%{?bootstrap}
+%{_mandir}/man1/systemd-analyze.1*
+%endif
%files -n %{udevpkgname}
%defattr(-,root,root)
@@ -873,6 +903,7 @@
%defattr(-,root,root)
%dir /var/log/journal
/var/log/README
+/etc/init.d/systemd-journald
%endif
Index: fix-bad-memory-access.patch
===================================================================
--- fix-bad-memory-access.patch (added)
+++ fix-bad-memory-access.patch (revision 5)
@@ -0,0 +1,23 @@
+From 7d73c1343be02a59b17de0cd34375deeb815d89c Mon Sep 17 00:00:00 2001
+From: Lennart Poettering <lennart@poettering.net>
+Date: Tue, 20 Nov 2012 00:19:27 +0100
+Subject: [PATCH] journald: fix bad memory access
+
+https://bugzilla.redhat.com/show_bug.cgi?id=875653
+---
+ src/journal/journald-server.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+Index: systemd-195/src/journal/journald.c
+===================================================================
+--- systemd-195.orig/src/journal/journald.c
++++ systemd-195/src/journal/journald.c
+@@ -342,7 +342,7 @@ static void server_rotate(Server *s) {
+ HASHMAP_FOREACH_KEY(f, k, s->user_journals, i) {
+ r = journal_file_rotate(&f, s->compress, s->seal);
+ if (r < 0)
+- if (f->path)
++ if (f)
+ log_error("Failed to rotate %s: %s", f->path, strerror(-r));
+ else
+ log_error("Failed to create user journal: %s", strerror(-r));
Index: fix-dbus-crash.patch
===================================================================
--- fix-dbus-crash.patch (added)
+++ fix-dbus-crash.patch (revision 5)
@@ -0,0 +1,32 @@
+From 645a9e5a2bbb06464a3fba1a3501e9d79e5bbad8 Mon Sep 17 00:00:00 2001
+From: Eelco Dolstra <eelco.dolstra@logicblox.com>
+Date: Wed, 31 Oct 2012 11:53:56 +0100
+Subject: [PATCH] dbus-manager: fix a fatal dbus abort in
+ bus_manager_message_handler()
+
+If ListUnitFiles fails, or an OOM occurs, then dbus_message_unref()
+will be called twice on "reply", causing systemd to crash. So remove
+the call to dbus_message_unref(); it is unnecessary because of
+the cleanup attribute on "reply".
+
+[zj: modified to leave one dbus_message_unref() alone, per Colin
+Walters' comment.]
+---
+ src/core/dbus-manager.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/src/core/dbus-manager.c b/src/core/dbus-manager.c
+index 2010241..3cf3e90 100644
+--- a/src/core/dbus-manager.c
++++ b/src/core/dbus-manager.c
+@@ -1436,7 +1436,6 @@ static DBusHandlerResult bus_manager_message_handler(DBusConnection *connection,
+ r = unit_file_get_list(m->running_as == SYSTEMD_SYSTEM ? UNIT_FILE_SYSTEM : UNIT_FILE_USER, NULL, h);
+ if (r < 0) {
+ unit_file_list_free(h);
+- dbus_message_unref(reply);
+ return bus_send_error_reply(connection, message, NULL, r);
+ }
+
+--
+1.7.10.4
+
Index: fix-permissions-btmp.patch
===================================================================
--- fix-permissions-btmp.patch (added)
+++ fix-permissions-btmp.patch (revision 5)
@@ -0,0 +1,13 @@
+Index: systemd-44/tmpfiles.d/systemd.conf
+===================================================================
+--- systemd-44.orig/tmpfiles.d/systemd.conf
++++ systemd-44/tmpfiles.d/systemd.conf
+@@ -11,7 +11,7 @@ d /run/user 0755 root root 10d
+ F /run/utmp 0664 root utmp -
+
+ f /var/log/wtmp 0664 root utmp -
+-f /var/log/btmp 0600 root utmp -
++f /var/log/btmp 0600 root root -
+
+ d /var/cache/man - - - 30d
+
Index: mount-efivars.patch
===================================================================
--- mount-efivars.patch (added)
+++ mount-efivars.patch (revision 5)
@@ -0,0 +1,336 @@
+From f271dd97622b656c1c013d181ea615c671cc2438 Mon Sep 17 00:00:00 2001
+From: "Lee, Chun-Yi" <joeyli.kernel@gmail.com>
+Date: Sat, 27 Oct 2012 11:23:22 +0800
+Subject: [PATCH] systemd: mount the EFI variable filesystem
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Add efivarfs to the mount_table in mount-setup.c, so the EFI variable
+filesystem will be mounted when systemd executed.
+
+The EFI variable filesystem will merge in v3.7 or v3.8 linux kernel.
+
+Cc: Kay Sievers <kay@vrfy.org>
+Cc: Lennart Poettering <lennart@poettering.net>
+Cc: Mantas Mikulėnas <grawity@gmail.com>
+Cc: Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
+Cc: Matt Fleming <matt.fleming@intel.com>
+Cc: Jeremy Kerr <jeremy.kerr@canonical.com>
+Cc: Matthew Garrett <mjg@redhat.com>
+Signed-off-by: Lee, Chun-Yi <jlee@suse.com>
+---
+ src/core/kmod-setup.c | 7 ++++---
+ src/core/mount-setup.c | 1 +
+ 2 files changed, 5 insertions(+), 3 deletions(-)
+
+diff --git a/src/core/kmod-setup.c b/src/core/kmod-setup.c
+index cc2a2d9..ce8a8e7 100644
+--- a/src/core/kmod-setup.c
++++ b/src/core/kmod-setup.c
+@@ -31,9 +31,10 @@
+ #include "kmod-setup.h"
+
+ static const char * const kmod_table[] = {
+- "autofs4", "/sys/class/misc/autofs",
+- "ipv6", "/sys/module/ipv6",
+- "unix", "/proc/net/unix"
++ "autofs4", "/sys/class/misc/autofs",
++ "ipv6", "/sys/module/ipv6",
++ "efivarfs", "/sys/firmware/efi/efivars",
++ "unix", "/proc/net/unix"
+ };
+
+ #pragma GCC diagnostic push
+diff --git a/src/core/mount-setup.c b/src/core/mount-setup.c
+index 0fd112f..9894c7f 100644
+--- a/src/core/mount-setup.c
++++ b/src/core/mount-setup.c
+@@ -66,6 +66,7 @@ static const MountPoint mount_table[] = {
+ { "sysfs", "/sys", "sysfs", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV, true, true },
+ { "devtmpfs", "/dev", "devtmpfs", "mode=755", MS_NOSUID|MS_STRICTATIME, true, true },
+ { "securityfs", "/sys/kernel/security", "securityfs", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV, false, false },
++ { "efivarfs", "/sys/firmware/efi/efivars", "efivarfs", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV, false, false },
+ { "tmpfs", "/dev/shm", "tmpfs", "mode=1777", MS_NOSUID|MS_NODEV|MS_STRICTATIME, true, true },
+ { "devpts", "/dev/pts", "devpts", "mode=620,gid=" STRINGIFY(TTY_GID), MS_NOSUID|MS_NOEXEC, false, true },
+ { "tmpfs", "/run", "tmpfs", "mode=755", MS_NOSUID|MS_NODEV|MS_STRICTATIME, true, true },
+--
+1.7.10.4
+
+From c1e5704657315b436c0409e8172c1fcb76adccad Mon Sep 17 00:00:00 2001
+From: Kay Sievers <kay@vrfy.org>
+Date: Sun, 4 Nov 2012 16:06:27 +0100
+Subject: [PATCH] shared: add is_efiboot()
+
+---
+ src/shared/util.c | 4 ++++
+ src/shared/util.h | 2 ++
+ 2 files changed, 6 insertions(+)
+
+diff --git a/src/shared/util.c b/src/shared/util.c
+index 2a8afae..9983695 100644
+--- a/src/shared/util.c
++++ b/src/shared/util.c
+@@ -77,6 +77,10 @@ char **saved_argv = NULL;
+ static volatile unsigned cached_columns = 0;
+ static volatile unsigned cached_lines = 0;
+
++bool is_efiboot(void) {
++ return access("/sys/firmware/efi", F_OK) >= 0;
++}
++
+ size_t page_size(void) {
+ static __thread size_t pgsz = 0;
+ long r;
+diff --git a/src/shared/util.h b/src/shared/util.h
+index e387b12..99972cc 100644
+--- a/src/shared/util.h
++++ b/src/shared/util.h
+@@ -90,6 +90,8 @@ union dirent_storage {
+ #define ANSI_HIGHLIGHT_YELLOW_ON "\x1B[1;33m"
+ #define ANSI_HIGHLIGHT_OFF "\x1B[0m"
+
++bool is_efiboot(void);
++
+ usec_t now(clockid_t clock);
+
+ dual_timestamp* dual_timestamp_get(dual_timestamp *ts);
+--
+1.7.10.4
+
+From 1022373284b7562431fb0a6dba45db8af089a0e3 Mon Sep 17 00:00:00 2001
+From: Kay Sievers <kay@vrfy.org>
+Date: Sun, 4 Nov 2012 16:54:19 +0100
+Subject: [PATCH] kmod-setup: add conditional module loading callback
+
+---
+ src/core/kmod-setup.c | 32 ++++++++++++++++++++------------
+ 1 file changed, 20 insertions(+), 12 deletions(-)
+
+diff --git a/src/core/kmod-setup.c b/src/core/kmod-setup.c
+index ce8a8e7..383a6b2 100644
+--- a/src/core/kmod-setup.c
++++ b/src/core/kmod-setup.c
+@@ -30,11 +30,17 @@
+
+ #include "kmod-setup.h"
+
+-static const char * const kmod_table[] = {
+- "autofs4", "/sys/class/misc/autofs",
+- "ipv6", "/sys/module/ipv6",
+- "efivarfs", "/sys/firmware/efi/efivars",
+- "unix", "/proc/net/unix"
++typedef struct Kmodule {
++ const char *name;
++ const char *directory;
++ bool (*condition_fn)(void);
++} KModule;
++
++static const KModule kmod_table[] = {
++ { "autofs4", "/sys/class/misc/autofs", NULL } ,
++ { "ipv6", "/sys/module/ipv6", NULL },
++ { "efivarfs", "/sys/firmware/efi/efivars", NULL },
++ { "unix", "/proc/net/unix", NULL } ,
+ };
+
+ #pragma GCC diagnostic push
+@@ -42,7 +48,8 @@ static const char * const kmod_table[] = {
+ static void systemd_kmod_log(void *data, int priority, const char *file, int line,
+ const char *fn, const char *format, va_list args)
+ {
+- log_metav(priority, file, line, fn, format, args);
++ /* library logging is enabled at debug only */
++ log_metav(LOG_DEBUG, file, line, fn, format, args);
+ }
+ #pragma GCC diagnostic pop
+
+@@ -53,13 +60,15 @@ int kmod_setup(void) {
+ int err;
+
+ for (i = 0; i < ELEMENTSOF(kmod_table); i += 2) {
++ if (kmod_table[i].condition_fn && !kmod_table[i].condition_fn())
++ continue;
+
+- if (access(kmod_table[i+1], F_OK) >= 0)
++ if (access(kmod_table[i].directory, F_OK) >= 0)
+ continue;
+
+ log_debug("Your kernel apparently lacks built-in %s support. Might be a good idea to compile it in. "
+ "We'll now try to work around this by loading the module...",
+- kmod_table[i]);
++ kmod_table[i].name);
+
+ if (!ctx) {
+ ctx = kmod_new(NULL, NULL);
+@@ -69,13 +78,12 @@ int kmod_setup(void) {
+ }
+
+ kmod_set_log_fn(ctx, systemd_kmod_log, NULL);
+-
+ kmod_load_resources(ctx);
+ }
+
+- err = kmod_module_new_from_name(ctx, kmod_table[i], &mod);
++ err = kmod_module_new_from_name(ctx, kmod_table[i].name, &mod);
+ if (err < 0) {
+- log_error("Failed to load module '%s'", kmod_table[i]);
++ log_error("Failed to lookup module '%s'", kmod_table[i].name);
+ continue;
+ }
+
+@@ -85,7 +93,7 @@ int kmod_setup(void) {
+ else if (err == KMOD_PROBE_APPLY_BLACKLIST)
+ log_info("Module '%s' is blacklisted", kmod_module_get_name(mod));
+ else
+- log_error("Failed to insert '%s'", kmod_module_get_name(mod));
++ log_error("Failed to insert module '%s'", kmod_module_get_name(mod));
+
+ kmod_module_unref(mod);
+ }
+--
+1.7.10.4
+
+From 3dfb265083347cb5700dc38f7cc0f479f378e6e9 Mon Sep 17 00:00:00 2001
+From: Kay Sievers <kay@vrfy.org>
+Date: Sun, 4 Nov 2012 16:55:23 +0100
+Subject: [PATCH] kmod-setup: mounting efivarfs, *after* we tried to mount it,
+ is pointless
+
+The mount() system call, which we issue before loading modules, will trigger
+a modprobe by the kernel and block until it returns. Trying to load it again
+later, will have exactly the same result as the first time.
+---
+ src/core/kmod-setup.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/src/core/kmod-setup.c b/src/core/kmod-setup.c
+index 383a6b2..20ab232 100644
+--- a/src/core/kmod-setup.c
++++ b/src/core/kmod-setup.c
+@@ -39,7 +39,6 @@ typedef struct Kmodule {
+ static const KModule kmod_table[] = {
+ { "autofs4", "/sys/class/misc/autofs", NULL } ,
+ { "ipv6", "/sys/module/ipv6", NULL },
+- { "efivarfs", "/sys/firmware/efi/efivars", NULL },
+ { "unix", "/proc/net/unix", NULL } ,
+ };
+
+--
+1.7.10.4
+
+From 6aa220e019f9dffd96590b06b68f937985204109 Mon Sep 17 00:00:00 2001
+From: Kay Sievers <kay@vrfy.org>
+Date: Sun, 4 Nov 2012 17:03:48 +0100
+Subject: [PATCH] mount-setup: try mounting 'efivarfs' only if the system
+ bootet with EFI
+
+---
+ TODO | 3 ---
+ src/core/mount-setup.c | 50 ++++++++++++++++++++++++++++++++----------------
+ 2 files changed, 34 insertions(+), 19 deletions(-)
+
+diff --git a/src/core/mount-setup.c b/src/core/mount-setup.c
+index 9894c7f..98614d0 100644
+--- a/src/core/mount-setup.c
++++ b/src/core/mount-setup.c
+@@ -46,14 +46,20 @@
+ #define TTY_GID 5
+ #endif
+
++typedef enum MountMode {
++ MNT_NONE = 0,
++ MNT_FATAL = 1 << 0,
++ MNT_IN_CONTAINER = 1 << 1,
++} MountMode;
++
+ typedef struct MountPoint {
+ const char *what;
+ const char *where;
+ const char *type;
+ const char *options;
+ unsigned long flags;
+- bool fatal;
+- bool in_container;
++ bool (*condition_fn)(void);
++ MountMode mode;
+ } MountPoint;
+
+ /* The first three entries we might need before SELinux is up. The
+@@ -62,16 +68,26 @@ typedef struct MountPoint {
+ #define N_EARLY_MOUNT 4
+
+ static const MountPoint mount_table[] = {
+- { "proc", "/proc", "proc", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV, true, true },
+- { "sysfs", "/sys", "sysfs", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV, true, true },
+- { "devtmpfs", "/dev", "devtmpfs", "mode=755", MS_NOSUID|MS_STRICTATIME, true, true },
+- { "securityfs", "/sys/kernel/security", "securityfs", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV, false, false },
+- { "efivarfs", "/sys/firmware/efi/efivars", "efivarfs", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV, false, false },
+- { "tmpfs", "/dev/shm", "tmpfs", "mode=1777", MS_NOSUID|MS_NODEV|MS_STRICTATIME, true, true },
+- { "devpts", "/dev/pts", "devpts", "mode=620,gid=" STRINGIFY(TTY_GID), MS_NOSUID|MS_NOEXEC, false, true },
+- { "tmpfs", "/run", "tmpfs", "mode=755", MS_NOSUID|MS_NODEV|MS_STRICTATIME, true, true },
+- { "tmpfs", "/sys/fs/cgroup", "tmpfs", "mode=755", MS_NOSUID|MS_NOEXEC|MS_NODEV|MS_STRICTATIME, false, true },
+- { "cgroup", "/sys/fs/cgroup/systemd", "cgroup", "none,name=systemd", MS_NOSUID|MS_NOEXEC|MS_NODEV, false, true },
++ { "proc", "/proc", "proc", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV,
++ NULL, MNT_FATAL|MNT_IN_CONTAINER },
++ { "sysfs", "/sys", "sysfs", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV,
++ NULL, MNT_FATAL|MNT_IN_CONTAINER },
++ { "devtmpfs", "/dev", "devtmpfs", "mode=755", MS_NOSUID|MS_STRICTATIME,
++ NULL, MNT_FATAL|MNT_IN_CONTAINER },
++ { "securityfs", "/sys/kernel/security", "securityfs", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV,
++ NULL, MNT_NONE },
++ { "efivarfs", "/sys/firmware/efi/efivars", "efivarfs", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV,
++ is_efiboot, MNT_NONE },
++ { "tmpfs", "/dev/shm", "tmpfs", "mode=1777", MS_NOSUID|MS_NODEV|MS_STRICTATIME,
++ NULL, MNT_FATAL|MNT_IN_CONTAINER },
++ { "devpts", "/dev/pts", "devpts", "mode=620,gid=" STRINGIFY(TTY_GID), MS_NOSUID|MS_NOEXEC,
++ NULL, MNT_IN_CONTAINER },
++ { "tmpfs", "/run", "tmpfs", "mode=755", MS_NOSUID|MS_NODEV|MS_STRICTATIME,
++ NULL, MNT_FATAL|MNT_IN_CONTAINER },
++ { "tmpfs", "/sys/fs/cgroup", "tmpfs", "mode=755", MS_NOSUID|MS_NOEXEC|MS_NODEV|MS_STRICTATIME,
++ NULL, MNT_IN_CONTAINER },
++ { "cgroup", "/sys/fs/cgroup/systemd", "cgroup", "none,name=systemd", MS_NOSUID|MS_NOEXEC|MS_NODEV,
++ NULL, MNT_IN_CONTAINER },
+ };
+
+ /* These are API file systems that might be mounted by other software,
+@@ -119,6 +135,9 @@ static int mount_one(const MountPoint *p, bool relabel) {
+
+ assert(p);
+
++ if (p->condition_fn && !p->condition_fn())
++ return 0;
++
+ /* Relabel first, just in case */
+ if (relabel)
+ label_fix(p->where, true, true);
+@@ -131,7 +150,7 @@ static int mount_one(const MountPoint *p, bool relabel) {
+ return 0;
+
+ /* Skip securityfs in a container */
+- if (!p->in_container && detect_container(NULL) > 0)
++ if (!(p->mode & MNT_IN_CONTAINER) && detect_container(NULL) > 0)
+ return 0;
+
+ /* The access mode here doesn't really matter too much, since
+@@ -149,8 +168,8 @@ static int mount_one(const MountPoint *p, bool relabel) {
+ p->type,
+ p->flags,
+ p->options) < 0) {
+- log_full(p->fatal ? LOG_ERR : LOG_DEBUG, "Failed to mount %s: %s", p->where, strerror(errno));
+- return p->fatal ? -errno : 0;
++ log_full((p->mode & MNT_FATAL) ? LOG_ERR : LOG_DEBUG, "Failed to mount %s: %s", p->where, strerror(errno));
++ return (p->mode & MNT_FATAL) ? -errno : 0;
+ }
+
+ /* Relabel again, since we now mounted something fresh here */
+@@ -289,7 +308,6 @@ int mount_cgroup_controllers(char ***join_controllers) {
+ p.type = "cgroup";
+ p.options = options;
+ p.flags = MS_NOSUID|MS_NOEXEC|MS_NODEV;
+- p.fatal = false;
+
+ r = mount_one(&p, true);
+ free(controller);
+--
+1.7.10.4
+
Index: sync-on-shutdown.patch
===================================================================
--- sync-on-shutdown.patch (added)
+++ sync-on-shutdown.patch (revision 5)
@@ -0,0 +1,49 @@
+From 0049f05a8bb82c3e084bacc5945596761d706c55 Mon Sep 17 00:00:00 2001
+From: Lennart Poettering <lennart@poettering.net>
+Date: Fri, 16 Nov 2012 01:30:29 +0100
+Subject: [PATCH] shutdown: readd explicit sync() when shutting down
+
+As it turns out reboot() doesn't actually imply a file system sync, but
+only a disk sync. Accordingly, readd explicit sync() invocations
+immediately before we invoke reboot().
+
+This is much less dramatic than it might sounds as we umount all
+disks/read-only remount them anyway before going down.
+---
+ src/core/service.c | 1 +
+ src/core/shutdown.c | 7 +++++++
+ 2 files changed, 8 insertions(+)
+
+diff --git a/src/core/service.c b/src/core/service.c
+index cf08485..df72aba 100644
+--- a/src/core/service.c
++++ b/src/core/service.c
+@@ -2485,6 +2485,7 @@ static int service_start_limit_test(Service *s) {
+
+ case SERVICE_START_LIMIT_REBOOT_IMMEDIATE:
+ log_warning("%s start request repeated too quickly, rebooting immediately.", UNIT(s)->id);
++ sync();
+ reboot(RB_AUTOBOOT);
+ break;
+
+diff --git a/src/core/shutdown.c b/src/core/shutdown.c
+index cc8c57b..b59aef1 100644
+--- a/src/core/shutdown.c
++++ b/src/core/shutdown.c
+@@ -273,6 +273,13 @@ int main(int argc, char *argv[]) {
+ }
+ }
+
++ /* The kernel will automaticall flush ATA disks and suchlike
++ * on reboot(), but the file systems need to be synce'd
++ * explicitly in advance. So let's do this here, but not
++ * needlessly slow down containers. */
++ if (!in_container)
++ sync();
++
+ if (cmd == LINUX_REBOOT_CMD_KEXEC) {
+
+ if (!in_container) {
+--
+1.7.10.4
+
Index: systemd-journald.init
===================================================================
--- systemd-journald.init (added)
+++ systemd-journald.init (revision 5)
@@ -0,0 +1,33 @@
+#! /bin/sh
+#
+# Copyright (c) 2001-2002 SuSE Linux AG, Nuernberg, Germany.
+# All rights reserved.
+#
+# /etc/init.d/systemd-journald
+#
+### BEGIN INIT INFO
+# Provides: syslog
+# Required-Start: $null
+# Required-Stop: $null
+# Default-Start: 2 3 5
+# Default-Stop:
+# Short-Description: compat wrapper for journald
+# Description: compat wrapper for journald
+### END INIT INFO
+
+. /etc/rc.status
+
+rc_reset
+
+case "$1" in
+ start|stop|restart)
+ rc_failed 3
+ rc_status -v
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|restart}"
+ exit 1
+ ;;
+esac
+
+rc_exit
Index: xdm-display-manager.patch
===================================================================
--- xdm-display-manager.patch (added)
+++ xdm-display-manager.patch (revision 5)
@@ -0,0 +1,13 @@
+Index: systemd-195/units/graphical.target
+===================================================================
+--- systemd-195.orig/units/graphical.target
++++ systemd-195/units/graphical.target
+@@ -11,7 +11,7 @@ Documentation=man:systemd.special(7)
+ Requires=multi-user.target
+ After=multi-user.target
+ Conflicts=rescue.target
+-Wants=display-manager.service
++Wants=xdm.service
+ AllowIsolate=yes
+
+ [Install]
OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=312
2012-11-20 13:10:12 +01:00
|
|
|
%if ! 0%{?bootstrap}
|
2017-02-20 12:40:16 +01:00
|
|
|
ln -s $f.1 %{buildroot}%{_mandir}/man1/systemd-$f.1
|
- links more manpages for migrated tools (from Christopher
Yeleighton).
- disable boot.localnet service, ypbind service will do the right
thing now (bnc#716746)
- add xdm-display-manager.patch: pull xdm.service instead of
display-manager.service (needed until xdm initscript is migrated
to native systemd service).
- Add fix-permissions-btmp.patch: ensure btmp is owned only by root
(bnc#777405).
- Have the udev package create a tape group, as referenced by
50-udev-default.rules and 60-persistent-storage-tape.rules
(DimStar).
- Add fix-bad-memory-access.patch: fix crash in journal rotation.
- Add fix-dbus-crash.patch: fix D-Bus caused crash.
- Add sync-on-shutdown.patch: ensure sync is done when initiating
shutdown.
- Add mount-efivars.patch: mount efivars if booting on UEFI.
- Ship a empty systemd-journald initscript in systemd-logger to
stop insserv to complain about missing syslog dependency.
- Update
0001-service-Fix-dependencies-added-when-parsing-insserv..patch
with bug fixes from Debian.
old: Base:System/systemd
new: home:fcrozat:branches:Base:System/systemd rev NoneIndex: 0001-service-Fix-dependencies-added-when-parsing-insserv..patch
===================================================================
--- 0001-service-Fix-dependencies-added-when-parsing-insserv..patch (revision 311)
+++ 0001-service-Fix-dependencies-added-when-parsing-insserv..patch (revision 5)
@@ -1,17 +1,35 @@
-From 6620bceb7233a830be3635a4f7a7dc75c13a9c8e Mon Sep 17 00:00:00 2001
-From: Frederic Crozat <fcrozat@suse.com>
-Date: Fri, 30 Sep 2011 14:12:45 +0200
-Subject: [PATCH] service: Fix dependencies added when parsing insserv.conf
-
----
- src/service.c | 16 +++++++++-------
- 1 files changed, 9 insertions(+), 7 deletions(-)
-
-Index: systemd-41/src/service.c
+Index: systemd-195/src/core/service.c
===================================================================
---- systemd-41.orig/src/core/service.c
-+++ systemd-41/src/core/service.c
-@@ -3210,23 +3210,30 @@ static void sysv_facility_in_insserv_con
+--- systemd-195.orig/src/core/service.c
++++ systemd-195/src/core/service.c
+@@ -3391,12 +3391,13 @@ static void service_notify_message(Unit
+
+ #ifdef HAVE_SYSV_COMPAT
+
+-#ifdef TARGET_SUSE
+-static void sysv_facility_in_insserv_conf(Manager *mgr) {
+- FILE *f=NULL;
++#if defined(TARGET_SUSE) || defined(TARGET_DEBIAN)
++static void sysv_parse_insserv_conf(Manager *mgr, const char* filename) {
++ FILE *f = NULL;
+ int r;
+
+- if (!(f = fopen("/etc/insserv.conf", "re"))) {
++ if (!(f = fopen(filename, "re"))) {
++ log_error("Failed to open file %s", filename);
+ r = errno == ENOENT ? 0 : -errno;
+ goto finish;
+ }
+@@ -3410,7 +3411,7 @@ static void sysv_facility_in_insserv_con
+ break;
+
+ r = -errno;
+- log_error("Failed to read configuration file '/etc/insserv.conf': %s", strerror(-r));
++ log_error("Failed to read configuration file '%s': %s", filename, strerror(-r));
+ goto finish;
+ }
+
+@@ -3425,23 +3426,30 @@ static void sysv_facility_in_insserv_con
Unit *u;
if (sysv_translate_facility(parsed[0], NULL, &facility) < 0)
continue;
@@ -29,12 +47,12 @@
STRV_FOREACH (j, parsed+1) {
- if (*j[0]=='+') {
- e = UNIT_WANTS;
-+ if (*j[0]=='+')
++ if (*j[0] == '+')
name = *j+1;
- }
- else {
- e = UNIT_REQUIRES;
-+ else
++ else
name = *j;
- }
+ if (streq(name, "boot.localfs") ||
@@ -44,9 +62,54 @@
continue;
- r = unit_add_two_dependencies_by_name(u, UNIT_BEFORE, e, dep, NULL, true);
-+ r = unit_add_dependency_by_name_inverse(u, UNIT_BEFORE, dep, NULL, true);
-+ if (*j[0]!='+')
++ r = unit_add_two_dependencies_by_name_inverse(u, UNIT_WANTS, UNIT_BEFORE, dep, NULL, true);
++ if (*j[0] != '+')
+ r = unit_add_dependency_by_name(u, UNIT_REQUIRES, dep, NULL, true);
free(dep);
}
}
+@@ -3454,6 +3462,35 @@ finish:
+ fclose(f);
+
+ }
++
++static void sysv_facility_in_insserv_conf(Manager *mgr) {
++ DIR *d =NULL;
++ struct dirent *de;
++
++#ifdef TARGET_DEBIAN
++ if (!(d = opendir("/etc/insserv.conf.d/")))
++ if (errno != ENOENT) {
++ log_warning("opendir() failed on /etc/insserv.conf.d/ %s", strerror(errno));
++ goto finish;
++ }
++
++ while ((de = readdir(d))) {
++ char *path = NULL;
++ if (ignore_file(de->d_name))
++ continue;
++
++ path = join("/etc/insserv.conf.d/", de->d_name, NULL);
++ sysv_parse_insserv_conf(mgr, path);
++ free(path);
++ }
++finish:
++ if (d)
++ closedir(d);
++#endif
++
++ sysv_parse_insserv_conf(mgr, "/etc/insserv.conf");
++}
++
+ #endif
+
+ static int service_enumerate(Manager *m) {
+@@ -3604,7 +3641,7 @@ static int service_enumerate(Manager *m)
+
+ r = 0;
+
+-#ifdef TARGET_SUSE
++#if defined(TARGET_SUSE) || defined(TARGET_DEBIAN)
+ sysv_facility_in_insserv_conf (m);
+ #endif
+
Index: systemd-mini.changes
===================================================================
--- systemd-mini.changes (revision 311)
+++ systemd-mini.changes (revision 5)
@@ -1,4 +1,35 @@
-------------------------------------------------------------------
+Tue Nov 20 09:36:43 UTC 2012 - fcrozat@suse.com
+
+- links more manpages for migrated tools (from Christopher
+ Yeleighton).
+- disable boot.localnet service, ypbind service will do the right
+ thing now (bnc#716746)
+- add xdm-display-manager.patch: pull xdm.service instead of
+ display-manager.service (needed until xdm initscript is migrated
+ to native systemd service).
+- Add fix-permissions-btmp.patch: ensure btmp is owned only by root
+ (bnc#777405).
+- Have the udev package create a tape group, as referenced by
+ 50-udev-default.rules and 60-persistent-storage-tape.rules
+ (DimStar).
+- Add fix-bad-memory-access.patch: fix crash in journal rotation.
+- Add fix-dbus-crash.patch: fix D-Bus caused crash.
+- Add sync-on-shutdown.patch: ensure sync is done when initiating
+ shutdown.
+- Add mount-efivars.patch: mount efivars if booting on UEFI.
+
+
+-------------------------------------------------------------------
+Thu Nov 15 14:31:28 UTC 2012 - fcrozat@suse.com
+
+- Ship a empty systemd-journald initscript in systemd-logger to
+ stop insserv to complain about missing syslog dependency.
+- Update
+ 0001-service-Fix-dependencies-added-when-parsing-insserv..patch
+ with bug fixes from Debian.
+
+-------------------------------------------------------------------
Wed Nov 14 17:36:05 UTC 2012 - fcrozat@suse.com
- /var/log/journal is now only provided by systemd-logger (journal
Index: systemd-mini.spec
===================================================================
--- systemd-mini.spec (revision 311)
+++ systemd-mini.spec (revision 5)
@@ -102,6 +102,7 @@
Source5: systemd-insserv_conf
Source6: baselibs.conf
Source7: libgcrypt.m4
+Source8: systemd-journald.init
Source1060: boot.udev
Source1061: write_dev_root_rule
@@ -128,6 +129,8 @@
Patch56: support-suse-clock-sysconfig.patch
Patch59: fix-enable-disable-boot-initscript.patch
Patch60: var-run-lock.patch
+Patch63: xdm-display-manager.patch
+Patch64: fix-permissions-btmp.patch
# Upstream First - Policy:
# Never add any patches to this package without the upstream commit id
@@ -137,6 +140,14 @@
Patch61: fix-logind-pty-seat.patch
# PATCH-FIX-UPSTREAM fix-build-glibc217.patch fcrozat@suse.com -- fix build with latest glibc
Patch62: fix-build-glibc217.patch
+# PATCH-FIX-UPSTREAM fix-bad-memory-access.patch fcrozat@suse.com -- fix bad memory access
+Patch65: fix-bad-memory-access.patch
+# PATCH-FIX-UPSTREAM fix-dbus-crash.patch fcrozat@suse.com -- fix D-Bus caused crash
+Patch66: fix-dbus-crash.patch
+# PATCH-FIX-UPSTREAM sync-on-shutdown.patch fcrozat@suse.com -- Sync on shutdown
+Patch67: sync-on-shutdown.patch
+# PATCH-FIX-UPSTREAM mount-efivars.patch fcrozat@suse.com -- mount efivars if booting under UEFI
+Patch68: mount-efivars.patch
# udev patches
# PATCH-FIX-OPENSUSE 0001-Reinstate-TIMEOUT-handling.patch
@@ -151,8 +162,6 @@
# PATCH-FIX-OPENSUSE 0027-udev-fix-sg-autoload-regression.patch
Patch1027: 0027-udev-fix-sg-autoload-regression.patch
-# systemd patches
-
%description
Systemd is a system and service manager, compatible with SysV and LSB
init scripts for Linux. systemd provides aggressive parallelization
@@ -313,6 +322,7 @@
%patch1026 -p1
%patch1027 -p1
+#systemd
%patch1 -p1
%patch6 -p1
# don't apply when bootstrapping to not modify configure.in
@@ -337,6 +347,12 @@
%patch60 -p1
%patch61 -p1
%patch62 -p1
+%patch63 -p1
+%patch64 -p1
+%patch65 -p1
+%patch66 -p1
+%patch67 -p1
+%patch68 -p1
%build
autoreconf -fiv
@@ -368,8 +384,14 @@
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
mkdir -p $RPM_BUILD_ROOT/%{_prefix}/usr/lib/firmware/updates
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
+%endif
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
@@ -378,11 +400,6 @@
mkdir -p $RPM_BUILD_ROOT/lib/systemd/system/basic.target.wants
ln -sf ../udev-root-symlink.service $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/basic.target.wants
-#fix manpages
-%if ! 0%{?bootstrap}
-sed -i -e 's,^\(\.so \)\(.*\.\)\([0-9]\),\1man\3/\2\3,g' %{buildroot}/%{_mandir}/*/*
-%endif
-
#workaround for 716939
chmod 644 %{buildroot}%{_bindir}/systemd-analyze
mkdir -p %{buildroot}%{_sysconfdir}/rpm
@@ -392,7 +409,7 @@
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}/lib/systemd/system-generators
+#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
@@ -415,8 +432,7 @@
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
-# need to be implemented in systemd directly
-#ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/localnet.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
@@ -442,8 +458,12 @@
%endif
# legacy links
-ln -s loginctl %{buildroot}%{_bindir}/systemd-loginctl
-ln -s journalctl %{buildroot}%{_bindir}/systemd-journalctl
+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
@@ -532,6 +552,8 @@
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
@@ -724,6 +746,10 @@
%exclude %{_mandir}/man8/telinit.8*
%exclude %{_mandir}/man8/runlevel.8*
%exclude %{_mandir}/man*/*udev*.[0-9]*
+
+# Packaged in analyze subpackage
+%exclude %{_mandir}/man1/systemd-analyze.1*
+
%{_mandir}/man1/*.1*
%{_mandir}/man3/*.3*
%{_mandir}/man5/*.5*
@@ -787,7 +813,11 @@
%endif
%files analyze
+%defattr(-,root,root)
%attr(0755,root,root) /usr/bin/systemd-analyze
+%if ! 0%{?bootstrap}
+%{_mandir}/man1/systemd-analyze.1*
+%endif
%files -n %{udevpkgname}
%defattr(-,root,root)
@@ -878,6 +908,7 @@
%defattr(-,root,root)
%dir /var/log/journal
/var/log/README
+/etc/init.d/systemd-journald
%endif
Index: systemd.changes
===================================================================
--- systemd.changes (revision 311)
+++ systemd.changes (revision 5)
@@ -1,4 +1,35 @@
-------------------------------------------------------------------
+Tue Nov 20 09:36:43 UTC 2012 - fcrozat@suse.com
+
+- links more manpages for migrated tools (from Christopher
+ Yeleighton).
+- disable boot.localnet service, ypbind service will do the right
+ thing now (bnc#716746)
+- add xdm-display-manager.patch: pull xdm.service instead of
+ display-manager.service (needed until xdm initscript is migrated
+ to native systemd service).
+- Add fix-permissions-btmp.patch: ensure btmp is owned only by root
+ (bnc#777405).
+- Have the udev package create a tape group, as referenced by
+ 50-udev-default.rules and 60-persistent-storage-tape.rules
+ (DimStar).
+- Add fix-bad-memory-access.patch: fix crash in journal rotation.
+- Add fix-dbus-crash.patch: fix D-Bus caused crash.
+- Add sync-on-shutdown.patch: ensure sync is done when initiating
+ shutdown.
+- Add mount-efivars.patch: mount efivars if booting on UEFI.
+
+
+-------------------------------------------------------------------
+Thu Nov 15 14:31:28 UTC 2012 - fcrozat@suse.com
+
+- Ship a empty systemd-journald initscript in systemd-logger to
+ stop insserv to complain about missing syslog dependency.
+- Update
+ 0001-service-Fix-dependencies-added-when-parsing-insserv..patch
+ with bug fixes from Debian.
+
+-------------------------------------------------------------------
Wed Nov 14 17:36:05 UTC 2012 - fcrozat@suse.com
- /var/log/journal is now only provided by systemd-logger (journal
Index: systemd.spec
===================================================================
--- systemd.spec (revision 311)
+++ systemd.spec (revision 5)
@@ -97,6 +97,7 @@
Source5: systemd-insserv_conf
Source6: baselibs.conf
Source7: libgcrypt.m4
+Source8: systemd-journald.init
Source1060: boot.udev
Source1061: write_dev_root_rule
@@ -123,6 +124,8 @@
Patch56: support-suse-clock-sysconfig.patch
Patch59: fix-enable-disable-boot-initscript.patch
Patch60: var-run-lock.patch
+Patch63: xdm-display-manager.patch
+Patch64: fix-permissions-btmp.patch
# Upstream First - Policy:
# Never add any patches to this package without the upstream commit id
@@ -132,6 +135,14 @@
Patch61: fix-logind-pty-seat.patch
# PATCH-FIX-UPSTREAM fix-build-glibc217.patch fcrozat@suse.com -- fix build with latest glibc
Patch62: fix-build-glibc217.patch
+# PATCH-FIX-UPSTREAM fix-bad-memory-access.patch fcrozat@suse.com -- fix bad memory access
+Patch65: fix-bad-memory-access.patch
+# PATCH-FIX-UPSTREAM fix-dbus-crash.patch fcrozat@suse.com -- fix D-Bus caused crash
+Patch66: fix-dbus-crash.patch
+# PATCH-FIX-UPSTREAM sync-on-shutdown.patch fcrozat@suse.com -- Sync on shutdown
+Patch67: sync-on-shutdown.patch
+# PATCH-FIX-UPSTREAM mount-efivars.patch fcrozat@suse.com -- mount efivars if booting under UEFI
+Patch68: mount-efivars.patch
# udev patches
# PATCH-FIX-OPENSUSE 0001-Reinstate-TIMEOUT-handling.patch
@@ -146,8 +157,6 @@
# PATCH-FIX-OPENSUSE 0027-udev-fix-sg-autoload-regression.patch
Patch1027: 0027-udev-fix-sg-autoload-regression.patch
-# systemd patches
-
%description
Systemd is a system and service manager, compatible with SysV and LSB
init scripts for Linux. systemd provides aggressive parallelization
@@ -308,6 +317,7 @@
%patch1026 -p1
%patch1027 -p1
+#systemd
%patch1 -p1
%patch6 -p1
# don't apply when bootstrapping to not modify configure.in
@@ -332,6 +342,12 @@
%patch60 -p1
%patch61 -p1
%patch62 -p1
+%patch63 -p1
+%patch64 -p1
+%patch65 -p1
+%patch66 -p1
+%patch67 -p1
+%patch68 -p1
%build
autoreconf -fiv
@@ -363,8 +379,14 @@
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
mkdir -p $RPM_BUILD_ROOT/%{_prefix}/usr/lib/firmware/updates
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
+%endif
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
@@ -373,11 +395,6 @@
mkdir -p $RPM_BUILD_ROOT/lib/systemd/system/basic.target.wants
ln -sf ../udev-root-symlink.service $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/basic.target.wants
-#fix manpages
-%if ! 0%{?bootstrap}
-sed -i -e 's,^\(\.so \)\(.*\.\)\([0-9]\),\1man\3/\2\3,g' %{buildroot}/%{_mandir}/*/*
-%endif
-
#workaround for 716939
chmod 644 %{buildroot}%{_bindir}/systemd-analyze
mkdir -p %{buildroot}%{_sysconfdir}/rpm
@@ -387,7 +404,7 @@
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}/lib/systemd/system-generators
+#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
@@ -410,8 +427,7 @@
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
-# need to be implemented in systemd directly
-#ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/localnet.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
@@ -437,8 +453,12 @@
%endif
# legacy links
-ln -s loginctl %{buildroot}%{_bindir}/systemd-loginctl
-ln -s journalctl %{buildroot}%{_bindir}/systemd-journalctl
+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
@@ -527,6 +547,8 @@
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
@@ -719,6 +741,10 @@
%exclude %{_mandir}/man8/telinit.8*
%exclude %{_mandir}/man8/runlevel.8*
%exclude %{_mandir}/man*/*udev*.[0-9]*
+
+# Packaged in analyze subpackage
+%exclude %{_mandir}/man1/systemd-analyze.1*
+
%{_mandir}/man1/*.1*
%{_mandir}/man3/*.3*
%{_mandir}/man5/*.5*
@@ -782,7 +808,11 @@
%endif
%files analyze
+%defattr(-,root,root)
%attr(0755,root,root) /usr/bin/systemd-analyze
+%if ! 0%{?bootstrap}
+%{_mandir}/man1/systemd-analyze.1*
+%endif
%files -n %{udevpkgname}
%defattr(-,root,root)
@@ -873,6 +903,7 @@
%defattr(-,root,root)
%dir /var/log/journal
/var/log/README
+/etc/init.d/systemd-journald
%endif
Index: fix-bad-memory-access.patch
===================================================================
--- fix-bad-memory-access.patch (added)
+++ fix-bad-memory-access.patch (revision 5)
@@ -0,0 +1,23 @@
+From 7d73c1343be02a59b17de0cd34375deeb815d89c Mon Sep 17 00:00:00 2001
+From: Lennart Poettering <lennart@poettering.net>
+Date: Tue, 20 Nov 2012 00:19:27 +0100
+Subject: [PATCH] journald: fix bad memory access
+
+https://bugzilla.redhat.com/show_bug.cgi?id=875653
+---
+ src/journal/journald-server.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+Index: systemd-195/src/journal/journald.c
+===================================================================
+--- systemd-195.orig/src/journal/journald.c
++++ systemd-195/src/journal/journald.c
+@@ -342,7 +342,7 @@ static void server_rotate(Server *s) {
+ HASHMAP_FOREACH_KEY(f, k, s->user_journals, i) {
+ r = journal_file_rotate(&f, s->compress, s->seal);
+ if (r < 0)
+- if (f->path)
++ if (f)
+ log_error("Failed to rotate %s: %s", f->path, strerror(-r));
+ else
+ log_error("Failed to create user journal: %s", strerror(-r));
Index: fix-dbus-crash.patch
===================================================================
--- fix-dbus-crash.patch (added)
+++ fix-dbus-crash.patch (revision 5)
@@ -0,0 +1,32 @@
+From 645a9e5a2bbb06464a3fba1a3501e9d79e5bbad8 Mon Sep 17 00:00:00 2001
+From: Eelco Dolstra <eelco.dolstra@logicblox.com>
+Date: Wed, 31 Oct 2012 11:53:56 +0100
+Subject: [PATCH] dbus-manager: fix a fatal dbus abort in
+ bus_manager_message_handler()
+
+If ListUnitFiles fails, or an OOM occurs, then dbus_message_unref()
+will be called twice on "reply", causing systemd to crash. So remove
+the call to dbus_message_unref(); it is unnecessary because of
+the cleanup attribute on "reply".
+
+[zj: modified to leave one dbus_message_unref() alone, per Colin
+Walters' comment.]
+---
+ src/core/dbus-manager.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/src/core/dbus-manager.c b/src/core/dbus-manager.c
+index 2010241..3cf3e90 100644
+--- a/src/core/dbus-manager.c
++++ b/src/core/dbus-manager.c
+@@ -1436,7 +1436,6 @@ static DBusHandlerResult bus_manager_message_handler(DBusConnection *connection,
+ r = unit_file_get_list(m->running_as == SYSTEMD_SYSTEM ? UNIT_FILE_SYSTEM : UNIT_FILE_USER, NULL, h);
+ if (r < 0) {
+ unit_file_list_free(h);
+- dbus_message_unref(reply);
+ return bus_send_error_reply(connection, message, NULL, r);
+ }
+
+--
+1.7.10.4
+
Index: fix-permissions-btmp.patch
===================================================================
--- fix-permissions-btmp.patch (added)
+++ fix-permissions-btmp.patch (revision 5)
@@ -0,0 +1,13 @@
+Index: systemd-44/tmpfiles.d/systemd.conf
+===================================================================
+--- systemd-44.orig/tmpfiles.d/systemd.conf
++++ systemd-44/tmpfiles.d/systemd.conf
+@@ -11,7 +11,7 @@ d /run/user 0755 root root 10d
+ F /run/utmp 0664 root utmp -
+
+ f /var/log/wtmp 0664 root utmp -
+-f /var/log/btmp 0600 root utmp -
++f /var/log/btmp 0600 root root -
+
+ d /var/cache/man - - - 30d
+
Index: mount-efivars.patch
===================================================================
--- mount-efivars.patch (added)
+++ mount-efivars.patch (revision 5)
@@ -0,0 +1,336 @@
+From f271dd97622b656c1c013d181ea615c671cc2438 Mon Sep 17 00:00:00 2001
+From: "Lee, Chun-Yi" <joeyli.kernel@gmail.com>
+Date: Sat, 27 Oct 2012 11:23:22 +0800
+Subject: [PATCH] systemd: mount the EFI variable filesystem
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Add efivarfs to the mount_table in mount-setup.c, so the EFI variable
+filesystem will be mounted when systemd executed.
+
+The EFI variable filesystem will merge in v3.7 or v3.8 linux kernel.
+
+Cc: Kay Sievers <kay@vrfy.org>
+Cc: Lennart Poettering <lennart@poettering.net>
+Cc: Mantas Mikulėnas <grawity@gmail.com>
+Cc: Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
+Cc: Matt Fleming <matt.fleming@intel.com>
+Cc: Jeremy Kerr <jeremy.kerr@canonical.com>
+Cc: Matthew Garrett <mjg@redhat.com>
+Signed-off-by: Lee, Chun-Yi <jlee@suse.com>
+---
+ src/core/kmod-setup.c | 7 ++++---
+ src/core/mount-setup.c | 1 +
+ 2 files changed, 5 insertions(+), 3 deletions(-)
+
+diff --git a/src/core/kmod-setup.c b/src/core/kmod-setup.c
+index cc2a2d9..ce8a8e7 100644
+--- a/src/core/kmod-setup.c
++++ b/src/core/kmod-setup.c
+@@ -31,9 +31,10 @@
+ #include "kmod-setup.h"
+
+ static const char * const kmod_table[] = {
+- "autofs4", "/sys/class/misc/autofs",
+- "ipv6", "/sys/module/ipv6",
+- "unix", "/proc/net/unix"
++ "autofs4", "/sys/class/misc/autofs",
++ "ipv6", "/sys/module/ipv6",
++ "efivarfs", "/sys/firmware/efi/efivars",
++ "unix", "/proc/net/unix"
+ };
+
+ #pragma GCC diagnostic push
+diff --git a/src/core/mount-setup.c b/src/core/mount-setup.c
+index 0fd112f..9894c7f 100644
+--- a/src/core/mount-setup.c
++++ b/src/core/mount-setup.c
+@@ -66,6 +66,7 @@ static const MountPoint mount_table[] = {
+ { "sysfs", "/sys", "sysfs", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV, true, true },
+ { "devtmpfs", "/dev", "devtmpfs", "mode=755", MS_NOSUID|MS_STRICTATIME, true, true },
+ { "securityfs", "/sys/kernel/security", "securityfs", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV, false, false },
++ { "efivarfs", "/sys/firmware/efi/efivars", "efivarfs", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV, false, false },
+ { "tmpfs", "/dev/shm", "tmpfs", "mode=1777", MS_NOSUID|MS_NODEV|MS_STRICTATIME, true, true },
+ { "devpts", "/dev/pts", "devpts", "mode=620,gid=" STRINGIFY(TTY_GID), MS_NOSUID|MS_NOEXEC, false, true },
+ { "tmpfs", "/run", "tmpfs", "mode=755", MS_NOSUID|MS_NODEV|MS_STRICTATIME, true, true },
+--
+1.7.10.4
+
+From c1e5704657315b436c0409e8172c1fcb76adccad Mon Sep 17 00:00:00 2001
+From: Kay Sievers <kay@vrfy.org>
+Date: Sun, 4 Nov 2012 16:06:27 +0100
+Subject: [PATCH] shared: add is_efiboot()
+
+---
+ src/shared/util.c | 4 ++++
+ src/shared/util.h | 2 ++
+ 2 files changed, 6 insertions(+)
+
+diff --git a/src/shared/util.c b/src/shared/util.c
+index 2a8afae..9983695 100644
+--- a/src/shared/util.c
++++ b/src/shared/util.c
+@@ -77,6 +77,10 @@ char **saved_argv = NULL;
+ static volatile unsigned cached_columns = 0;
+ static volatile unsigned cached_lines = 0;
+
++bool is_efiboot(void) {
++ return access("/sys/firmware/efi", F_OK) >= 0;
++}
++
+ size_t page_size(void) {
+ static __thread size_t pgsz = 0;
+ long r;
+diff --git a/src/shared/util.h b/src/shared/util.h
+index e387b12..99972cc 100644
+--- a/src/shared/util.h
++++ b/src/shared/util.h
+@@ -90,6 +90,8 @@ union dirent_storage {
+ #define ANSI_HIGHLIGHT_YELLOW_ON "\x1B[1;33m"
+ #define ANSI_HIGHLIGHT_OFF "\x1B[0m"
+
++bool is_efiboot(void);
++
+ usec_t now(clockid_t clock);
+
+ dual_timestamp* dual_timestamp_get(dual_timestamp *ts);
+--
+1.7.10.4
+
+From 1022373284b7562431fb0a6dba45db8af089a0e3 Mon Sep 17 00:00:00 2001
+From: Kay Sievers <kay@vrfy.org>
+Date: Sun, 4 Nov 2012 16:54:19 +0100
+Subject: [PATCH] kmod-setup: add conditional module loading callback
+
+---
+ src/core/kmod-setup.c | 32 ++++++++++++++++++++------------
+ 1 file changed, 20 insertions(+), 12 deletions(-)
+
+diff --git a/src/core/kmod-setup.c b/src/core/kmod-setup.c
+index ce8a8e7..383a6b2 100644
+--- a/src/core/kmod-setup.c
++++ b/src/core/kmod-setup.c
+@@ -30,11 +30,17 @@
+
+ #include "kmod-setup.h"
+
+-static const char * const kmod_table[] = {
+- "autofs4", "/sys/class/misc/autofs",
+- "ipv6", "/sys/module/ipv6",
+- "efivarfs", "/sys/firmware/efi/efivars",
+- "unix", "/proc/net/unix"
++typedef struct Kmodule {
++ const char *name;
++ const char *directory;
++ bool (*condition_fn)(void);
++} KModule;
++
++static const KModule kmod_table[] = {
++ { "autofs4", "/sys/class/misc/autofs", NULL } ,
++ { "ipv6", "/sys/module/ipv6", NULL },
++ { "efivarfs", "/sys/firmware/efi/efivars", NULL },
++ { "unix", "/proc/net/unix", NULL } ,
+ };
+
+ #pragma GCC diagnostic push
+@@ -42,7 +48,8 @@ static const char * const kmod_table[] = {
+ static void systemd_kmod_log(void *data, int priority, const char *file, int line,
+ const char *fn, const char *format, va_list args)
+ {
+- log_metav(priority, file, line, fn, format, args);
++ /* library logging is enabled at debug only */
++ log_metav(LOG_DEBUG, file, line, fn, format, args);
+ }
+ #pragma GCC diagnostic pop
+
+@@ -53,13 +60,15 @@ int kmod_setup(void) {
+ int err;
+
+ for (i = 0; i < ELEMENTSOF(kmod_table); i += 2) {
++ if (kmod_table[i].condition_fn && !kmod_table[i].condition_fn())
++ continue;
+
+- if (access(kmod_table[i+1], F_OK) >= 0)
++ if (access(kmod_table[i].directory, F_OK) >= 0)
+ continue;
+
+ log_debug("Your kernel apparently lacks built-in %s support. Might be a good idea to compile it in. "
+ "We'll now try to work around this by loading the module...",
+- kmod_table[i]);
++ kmod_table[i].name);
+
+ if (!ctx) {
+ ctx = kmod_new(NULL, NULL);
+@@ -69,13 +78,12 @@ int kmod_setup(void) {
+ }
+
+ kmod_set_log_fn(ctx, systemd_kmod_log, NULL);
+-
+ kmod_load_resources(ctx);
+ }
+
+- err = kmod_module_new_from_name(ctx, kmod_table[i], &mod);
++ err = kmod_module_new_from_name(ctx, kmod_table[i].name, &mod);
+ if (err < 0) {
+- log_error("Failed to load module '%s'", kmod_table[i]);
++ log_error("Failed to lookup module '%s'", kmod_table[i].name);
+ continue;
+ }
+
+@@ -85,7 +93,7 @@ int kmod_setup(void) {
+ else if (err == KMOD_PROBE_APPLY_BLACKLIST)
+ log_info("Module '%s' is blacklisted", kmod_module_get_name(mod));
+ else
+- log_error("Failed to insert '%s'", kmod_module_get_name(mod));
++ log_error("Failed to insert module '%s'", kmod_module_get_name(mod));
+
+ kmod_module_unref(mod);
+ }
+--
+1.7.10.4
+
+From 3dfb265083347cb5700dc38f7cc0f479f378e6e9 Mon Sep 17 00:00:00 2001
+From: Kay Sievers <kay@vrfy.org>
+Date: Sun, 4 Nov 2012 16:55:23 +0100
+Subject: [PATCH] kmod-setup: mounting efivarfs, *after* we tried to mount it,
+ is pointless
+
+The mount() system call, which we issue before loading modules, will trigger
+a modprobe by the kernel and block until it returns. Trying to load it again
+later, will have exactly the same result as the first time.
+---
+ src/core/kmod-setup.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/src/core/kmod-setup.c b/src/core/kmod-setup.c
+index 383a6b2..20ab232 100644
+--- a/src/core/kmod-setup.c
++++ b/src/core/kmod-setup.c
+@@ -39,7 +39,6 @@ typedef struct Kmodule {
+ static const KModule kmod_table[] = {
+ { "autofs4", "/sys/class/misc/autofs", NULL } ,
+ { "ipv6", "/sys/module/ipv6", NULL },
+- { "efivarfs", "/sys/firmware/efi/efivars", NULL },
+ { "unix", "/proc/net/unix", NULL } ,
+ };
+
+--
+1.7.10.4
+
+From 6aa220e019f9dffd96590b06b68f937985204109 Mon Sep 17 00:00:00 2001
+From: Kay Sievers <kay@vrfy.org>
+Date: Sun, 4 Nov 2012 17:03:48 +0100
+Subject: [PATCH] mount-setup: try mounting 'efivarfs' only if the system
+ bootet with EFI
+
+---
+ TODO | 3 ---
+ src/core/mount-setup.c | 50 ++++++++++++++++++++++++++++++++----------------
+ 2 files changed, 34 insertions(+), 19 deletions(-)
+
+diff --git a/src/core/mount-setup.c b/src/core/mount-setup.c
+index 9894c7f..98614d0 100644
+--- a/src/core/mount-setup.c
++++ b/src/core/mount-setup.c
+@@ -46,14 +46,20 @@
+ #define TTY_GID 5
+ #endif
+
++typedef enum MountMode {
++ MNT_NONE = 0,
++ MNT_FATAL = 1 << 0,
++ MNT_IN_CONTAINER = 1 << 1,
++} MountMode;
++
+ typedef struct MountPoint {
+ const char *what;
+ const char *where;
+ const char *type;
+ const char *options;
+ unsigned long flags;
+- bool fatal;
+- bool in_container;
++ bool (*condition_fn)(void);
++ MountMode mode;
+ } MountPoint;
+
+ /* The first three entries we might need before SELinux is up. The
+@@ -62,16 +68,26 @@ typedef struct MountPoint {
+ #define N_EARLY_MOUNT 4
+
+ static const MountPoint mount_table[] = {
+- { "proc", "/proc", "proc", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV, true, true },
+- { "sysfs", "/sys", "sysfs", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV, true, true },
+- { "devtmpfs", "/dev", "devtmpfs", "mode=755", MS_NOSUID|MS_STRICTATIME, true, true },
+- { "securityfs", "/sys/kernel/security", "securityfs", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV, false, false },
+- { "efivarfs", "/sys/firmware/efi/efivars", "efivarfs", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV, false, false },
+- { "tmpfs", "/dev/shm", "tmpfs", "mode=1777", MS_NOSUID|MS_NODEV|MS_STRICTATIME, true, true },
+- { "devpts", "/dev/pts", "devpts", "mode=620,gid=" STRINGIFY(TTY_GID), MS_NOSUID|MS_NOEXEC, false, true },
+- { "tmpfs", "/run", "tmpfs", "mode=755", MS_NOSUID|MS_NODEV|MS_STRICTATIME, true, true },
+- { "tmpfs", "/sys/fs/cgroup", "tmpfs", "mode=755", MS_NOSUID|MS_NOEXEC|MS_NODEV|MS_STRICTATIME, false, true },
+- { "cgroup", "/sys/fs/cgroup/systemd", "cgroup", "none,name=systemd", MS_NOSUID|MS_NOEXEC|MS_NODEV, false, true },
++ { "proc", "/proc", "proc", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV,
++ NULL, MNT_FATAL|MNT_IN_CONTAINER },
++ { "sysfs", "/sys", "sysfs", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV,
++ NULL, MNT_FATAL|MNT_IN_CONTAINER },
++ { "devtmpfs", "/dev", "devtmpfs", "mode=755", MS_NOSUID|MS_STRICTATIME,
++ NULL, MNT_FATAL|MNT_IN_CONTAINER },
++ { "securityfs", "/sys/kernel/security", "securityfs", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV,
++ NULL, MNT_NONE },
++ { "efivarfs", "/sys/firmware/efi/efivars", "efivarfs", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV,
++ is_efiboot, MNT_NONE },
++ { "tmpfs", "/dev/shm", "tmpfs", "mode=1777", MS_NOSUID|MS_NODEV|MS_STRICTATIME,
++ NULL, MNT_FATAL|MNT_IN_CONTAINER },
++ { "devpts", "/dev/pts", "devpts", "mode=620,gid=" STRINGIFY(TTY_GID), MS_NOSUID|MS_NOEXEC,
++ NULL, MNT_IN_CONTAINER },
++ { "tmpfs", "/run", "tmpfs", "mode=755", MS_NOSUID|MS_NODEV|MS_STRICTATIME,
++ NULL, MNT_FATAL|MNT_IN_CONTAINER },
++ { "tmpfs", "/sys/fs/cgroup", "tmpfs", "mode=755", MS_NOSUID|MS_NOEXEC|MS_NODEV|MS_STRICTATIME,
++ NULL, MNT_IN_CONTAINER },
++ { "cgroup", "/sys/fs/cgroup/systemd", "cgroup", "none,name=systemd", MS_NOSUID|MS_NOEXEC|MS_NODEV,
++ NULL, MNT_IN_CONTAINER },
+ };
+
+ /* These are API file systems that might be mounted by other software,
+@@ -119,6 +135,9 @@ static int mount_one(const MountPoint *p, bool relabel) {
+
+ assert(p);
+
++ if (p->condition_fn && !p->condition_fn())
++ return 0;
++
+ /* Relabel first, just in case */
+ if (relabel)
+ label_fix(p->where, true, true);
+@@ -131,7 +150,7 @@ static int mount_one(const MountPoint *p, bool relabel) {
+ return 0;
+
+ /* Skip securityfs in a container */
+- if (!p->in_container && detect_container(NULL) > 0)
++ if (!(p->mode & MNT_IN_CONTAINER) && detect_container(NULL) > 0)
+ return 0;
+
+ /* The access mode here doesn't really matter too much, since
+@@ -149,8 +168,8 @@ static int mount_one(const MountPoint *p, bool relabel) {
+ p->type,
+ p->flags,
+ p->options) < 0) {
+- log_full(p->fatal ? LOG_ERR : LOG_DEBUG, "Failed to mount %s: %s", p->where, strerror(errno));
+- return p->fatal ? -errno : 0;
++ log_full((p->mode & MNT_FATAL) ? LOG_ERR : LOG_DEBUG, "Failed to mount %s: %s", p->where, strerror(errno));
++ return (p->mode & MNT_FATAL) ? -errno : 0;
+ }
+
+ /* Relabel again, since we now mounted something fresh here */
+@@ -289,7 +308,6 @@ int mount_cgroup_controllers(char ***join_controllers) {
+ p.type = "cgroup";
+ p.options = options;
+ p.flags = MS_NOSUID|MS_NOEXEC|MS_NODEV;
+- p.fatal = false;
+
+ r = mount_one(&p, true);
+ free(controller);
+--
+1.7.10.4
+
Index: sync-on-shutdown.patch
===================================================================
--- sync-on-shutdown.patch (added)
+++ sync-on-shutdown.patch (revision 5)
@@ -0,0 +1,49 @@
+From 0049f05a8bb82c3e084bacc5945596761d706c55 Mon Sep 17 00:00:00 2001
+From: Lennart Poettering <lennart@poettering.net>
+Date: Fri, 16 Nov 2012 01:30:29 +0100
+Subject: [PATCH] shutdown: readd explicit sync() when shutting down
+
+As it turns out reboot() doesn't actually imply a file system sync, but
+only a disk sync. Accordingly, readd explicit sync() invocations
+immediately before we invoke reboot().
+
+This is much less dramatic than it might sounds as we umount all
+disks/read-only remount them anyway before going down.
+---
+ src/core/service.c | 1 +
+ src/core/shutdown.c | 7 +++++++
+ 2 files changed, 8 insertions(+)
+
+diff --git a/src/core/service.c b/src/core/service.c
+index cf08485..df72aba 100644
+--- a/src/core/service.c
++++ b/src/core/service.c
+@@ -2485,6 +2485,7 @@ static int service_start_limit_test(Service *s) {
+
+ case SERVICE_START_LIMIT_REBOOT_IMMEDIATE:
+ log_warning("%s start request repeated too quickly, rebooting immediately.", UNIT(s)->id);
++ sync();
+ reboot(RB_AUTOBOOT);
+ break;
+
+diff --git a/src/core/shutdown.c b/src/core/shutdown.c
+index cc8c57b..b59aef1 100644
+--- a/src/core/shutdown.c
++++ b/src/core/shutdown.c
+@@ -273,6 +273,13 @@ int main(int argc, char *argv[]) {
+ }
+ }
+
++ /* The kernel will automaticall flush ATA disks and suchlike
++ * on reboot(), but the file systems need to be synce'd
++ * explicitly in advance. So let's do this here, but not
++ * needlessly slow down containers. */
++ if (!in_container)
++ sync();
++
+ if (cmd == LINUX_REBOOT_CMD_KEXEC) {
+
+ if (!in_container) {
+--
+1.7.10.4
+
Index: systemd-journald.init
===================================================================
--- systemd-journald.init (added)
+++ systemd-journald.init (revision 5)
@@ -0,0 +1,33 @@
+#! /bin/sh
+#
+# Copyright (c) 2001-2002 SuSE Linux AG, Nuernberg, Germany.
+# All rights reserved.
+#
+# /etc/init.d/systemd-journald
+#
+### BEGIN INIT INFO
+# Provides: syslog
+# Required-Start: $null
+# Required-Stop: $null
+# Default-Start: 2 3 5
+# Default-Stop:
+# Short-Description: compat wrapper for journald
+# Description: compat wrapper for journald
+### END INIT INFO
+
+. /etc/rc.status
+
+rc_reset
+
+case "$1" in
+ start|stop|restart)
+ rc_failed 3
+ rc_status -v
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|restart}"
+ exit 1
+ ;;
+esac
+
+rc_exit
Index: xdm-display-manager.patch
===================================================================
--- xdm-display-manager.patch (added)
+++ xdm-display-manager.patch (revision 5)
@@ -0,0 +1,13 @@
+Index: systemd-195/units/graphical.target
+===================================================================
+--- systemd-195.orig/units/graphical.target
++++ systemd-195/units/graphical.target
+@@ -11,7 +11,7 @@ Documentation=man:systemd.special(7)
+ Requires=multi-user.target
+ After=multi-user.target
+ Conflicts=rescue.target
+-Wants=display-manager.service
++Wants=xdm.service
+ AllowIsolate=yes
+
+ [Install]
OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=312
2012-11-20 13:10:12 +01:00
|
|
|
%endif
|
|
|
|
done
|
2012-10-26 14:34:44 +02:00
|
|
|
ln -s /usr/lib/udev %{buildroot}/lib/udev
|
|
|
|
|
2016-10-26 16:59:15 +02:00
|
|
|
# Create the /var/log/journal directory to change the volatile journal
|
|
|
|
# to a persistent one
|
2014-07-28 12:21:09 +02:00
|
|
|
mkdir -p %{buildroot}%{_localstatedir}/log/journal/
|
2012-10-26 14:34:44 +02:00
|
|
|
|
2016-10-26 16:59:15 +02:00
|
|
|
# This dir must be owned (and thus created) by systemd otherwise the
|
|
|
|
# build system will complain. This is odd since we simply own a ghost
|
|
|
|
# file in it...
|
|
|
|
mkdir -p %{buildroot}%{_sysconfdir}/X11/xorg.conf.d
|
|
|
|
|
2013-04-13 13:09:53 +02:00
|
|
|
# Make sure directories in /var exist
|
2014-03-03 15:25:26 +01:00
|
|
|
mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/coredump
|
|
|
|
mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/catalog
|
2016-10-26 16:59:15 +02:00
|
|
|
# Create ghost databases
|
2014-03-03 15:25:26 +01:00
|
|
|
touch %{buildroot}%{_localstatedir}/lib/systemd/catalog/database
|
2013-04-13 13:09:53 +02:00
|
|
|
touch %{buildroot}%{_sysconfdir}/udev/hwdb.bin
|
|
|
|
|
2012-10-26 14:34:44 +02:00
|
|
|
# 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
|
2016-10-26 16:59:15 +02:00
|
|
|
mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/basic.target.wants
|
2012-10-26 14:34:44 +02:00
|
|
|
mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/default.target.wants
|
|
|
|
mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/dbus.target.wants
|
2016-10-26 16:59:15 +02:00
|
|
|
mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/halt.target.wants
|
|
|
|
mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/kexec.target.wants
|
|
|
|
mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/poweroff.target.wants
|
|
|
|
mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/reboot.target.wants
|
|
|
|
mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/shutdown.target.wants
|
|
|
|
|
|
|
|
# Make sure the generator directories are created and properly owned.
|
|
|
|
mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-generators
|
|
|
|
mkdir -p %{buildroot}%{_prefix}/lib/systemd/user-generators
|
|
|
|
mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-preset
|
|
|
|
mkdir -p %{buildroot}%{_prefix}/lib/systemd/user-preset
|
2012-10-26 14:34:44 +02:00
|
|
|
|
2013-04-25 09:23:12 +02:00
|
|
|
# create drop-in to prevent tty1 to be cleared (bnc#804158)
|
|
|
|
mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/getty@tty1.service.d/
|
2013-07-29 18:25:21 +02:00
|
|
|
cat << EOF > %{buildroot}%{_prefix}/lib/systemd/system/getty@tty1.service.d/noclear.conf
|
2013-04-25 09:23:12 +02:00
|
|
|
[Service]
|
|
|
|
# ensure tty1 isn't cleared (bnc#804158)
|
|
|
|
TTYVTDisallocate=no
|
|
|
|
EOF
|
2013-02-18 17:15:49 +01:00
|
|
|
|
2016-10-26 16:59:15 +02:00
|
|
|
# create drop-in to prevent delegate=yes for root user (bsc#954765,
|
|
|
|
# bnc#953241, fate#320421)
|
|
|
|
mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/user@0.service.d/
|
|
|
|
cat >%{buildroot}%{_prefix}/lib/systemd/system/user@0.service.d/nodelagate.conf <<EOF
|
|
|
|
[Service]
|
|
|
|
Delegate=no
|
2015-07-01 08:34:26 +02:00
|
|
|
EOF
|
|
|
|
|
2013-10-01 09:23:27 +02:00
|
|
|
# ensure after.local wrapper is called
|
2013-10-02 13:01:24 +02:00
|
|
|
install -m 644 %{S:11} %{buildroot}/%{_prefix}/lib/systemd/system/
|
2013-10-01 09:23:27 +02:00
|
|
|
ln -s ../after-local.service %{buildroot}/%{_prefix}/lib/systemd/system/multi-user.target.wants/
|
|
|
|
|
2014-03-03 15:25:26 +01:00
|
|
|
mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/backlight
|
2016-10-26 16:59:15 +02:00
|
|
|
mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/random-seed
|
2014-03-03 15:25:26 +01:00
|
|
|
|
2012-10-26 14:34:44 +02:00
|
|
|
%fdupes -s %{buildroot}%{_mandir}
|
|
|
|
|
- Update to release 205:
+ two new unit types have been introduced:
- Scope units are very similar to service units, however, are
created out of pre-existing processes -- instead of PID 1
forking off the processes.
- Slice units may be used to partition system resources in an
hierarchial fashion and then assign other units to them. By
default there are now three slices: system.slice (for all
system services), user.slice (for all user sessions),
machine.slice (for VMs and containers).
+ new concept of "transient" units, which are created at runtime
using an API and not based on configuration from disk.
+ logind has been updated to make use of scope and slice units to
manage user sessions. Logind will no longer create cgroups
hierchies itself but will relying on PID 1.
+ A new mini-daemon "systemd-machined" has been added which
may be used by virtualization managers to register local
VMs/containers. machinectl tool has been added to query
meta-data from systemd-machined.
+ Low-level cgroup configuration options ControlGroup=,
ControlGroupModify=, ControlGroupPersistent=,
ControlGroupAttribute= have been removed. High-level attribute
settings or slice units should be used instead?
+ A new bus call SetUnitProperties() has been added to alter
various runtime parameters of a unit, including cgroup
parameters. systemctl gained set-properties command to wrap
this call.
+ A new tool "systemd-run" has been added which can be used to
run arbitrary command lines as transient services or scopes,
while configuring a number of settings via the command
OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=412
2013-07-04 17:28:49 +02:00
|
|
|
# packaged in systemd-rpm-macros
|
|
|
|
rm -f %{buildroot}/%{_prefix}/lib/rpm/macros.d/macros.systemd
|
|
|
|
|
2016-10-26 16:59:15 +02:00
|
|
|
# Make sure to disable all services by default. The Suse branding
|
|
|
|
# presets package takes care of defining the right policies.
|
|
|
|
rm -f %{buildroot}%{_prefix}/lib/systemd/system-preset/*.preset
|
|
|
|
echo 'disable *' >%{buildroot}%{_prefix}/lib/systemd/system-preset/99-default.preset
|
2014-06-12 12:21:33 +02:00
|
|
|
|
2016-10-26 16:59:15 +02:00
|
|
|
# Add entries for xkeyboard-config converted keymaps; mappings, which
|
|
|
|
# already exist in original systemd mapping table are being ignored
|
|
|
|
# though, i.e. not overwritten; needed as long as YaST uses console
|
|
|
|
# keymaps internally and calls localectl to convert from vconsole to
|
|
|
|
# X11 keymaps. Ideally YaST should switch to X11 layout names (the
|
|
|
|
# mapping table wouldn't be needed since each X11 keymap has a
|
|
|
|
# generated xkbd keymap) and let localectl initialize
|
|
|
|
# /etc/vconsole.conf and /etc/X11/xorg.conf.d/00-keyboard.conf
|
|
|
|
# (FATE#319454).
|
2015-12-22 14:43:00 +01:00
|
|
|
if [ -f /usr/share/systemd/kbd-model-map.xkb-generated ]; then
|
2016-10-26 16:59:15 +02:00
|
|
|
cat /usr/share/systemd/kbd-model-map.xkb-generated \
|
|
|
|
>>%{buildroot}%{_datarootdir}/systemd/kbd-model-map
|
2015-12-22 14:43:00 +01:00
|
|
|
fi
|
2015-08-18 14:12:02 +02:00
|
|
|
|
2016-10-26 16:59:15 +02:00
|
|
|
# kbd-model-map.legacy is used to provide mapping for legacy keymaps,
|
|
|
|
# which may still be used by yast.
|
2016-12-14 17:08:32 +01:00
|
|
|
cat %{S:14} >>%{buildroot}%{_datarootdir}/systemd/kbd-model-map
|
2016-10-26 16:59:15 +02:00
|
|
|
|
2014-06-03 18:28:48 +02:00
|
|
|
%find_lang systemd
|
|
|
|
|
2012-11-14 21:14:47 +01:00
|
|
|
%pre
|
2016-10-26 16:59:15 +02:00
|
|
|
# Build of installation images uses an hard coded list of some
|
|
|
|
# packages with a %pre that needs to be run during the
|
|
|
|
# build. Unfortunately, systemd in one of them. To make thing simpler
|
|
|
|
# we use a %pre section even if it is not needed.
|
2012-11-14 21:14:47 +01:00
|
|
|
exit 0
|
|
|
|
|
2012-10-26 14:34:44 +02:00
|
|
|
%post
|
2016-10-26 16:59:15 +02:00
|
|
|
%sysusers_create /usr/lib/sysusers.d/systemd.conf
|
2013-10-02 13:01:24 +02:00
|
|
|
%if ! 0%{?bootstrap}
|
2016-10-26 16:59:15 +02:00
|
|
|
pam-config -a --systemd || :
|
2013-10-02 13:01:24 +02:00
|
|
|
%endif
|
2016-10-26 16:59:15 +02:00
|
|
|
ldconfig
|
|
|
|
[ -e %{_localstatedir}/lib/random-seed ] && mv %{_localstatedir}/lib/random-seed %{_localstatedir}/lib/systemd/ || :
|
|
|
|
systemd-machine-id-setup || :
|
2015-07-07 17:19:45 +02:00
|
|
|
/usr/lib/systemd/systemd-random-seed save || :
|
2016-10-26 16:59:15 +02:00
|
|
|
systemctl daemon-reexec || :
|
|
|
|
%journal_catalog_update
|
|
|
|
%tmpfiles_create
|
2012-10-26 14:34:44 +02:00
|
|
|
|
|
|
|
# Try to read default runlevel from the old inittab if it exists
|
|
|
|
if [ ! -e /etc/systemd/system/default.target -a -e /etc/inittab ]; then
|
2017-01-25 17:13:23 +01:00
|
|
|
runlevel=$(awk -F ':' '$3 == "initdefault" && $1 !~ "^#" { print $2 }' /etc/inittab)
|
|
|
|
if [ -n "$runlevel" ] ; then
|
|
|
|
ln -sf /usr/lib/systemd/system/runlevel$runlevel.target /etc/systemd/system/default.target || :
|
|
|
|
fi
|
2012-10-26 14:34:44 +02:00
|
|
|
fi
|
2016-10-26 16:59:15 +02:00
|
|
|
|
2012-10-26 14:34:44 +02:00
|
|
|
# Create default config in /etc at first install.
|
|
|
|
# Later package updates should not overwrite these settings.
|
2016-10-26 16:59:15 +02:00
|
|
|
if [ $1 -eq 1 ]; then
|
2017-01-25 17:13:23 +01:00
|
|
|
# Enable systemd services according to the distro defaults.
|
|
|
|
# Note: systemctl might abort prematurely if it fails on one
|
|
|
|
# unit.
|
|
|
|
systemctl preset remote-fs.target || :
|
|
|
|
systemctl preset getty@.service || :
|
|
|
|
systemctl preset systemd-networkd.service || :
|
|
|
|
systemctl preset systemd-networkd-wait-online.service || :
|
|
|
|
systemctl preset systemd-timesyncd.service || :
|
|
|
|
systemctl preset systemd-resolved.service || :
|
2016-10-26 16:59:15 +02:00
|
|
|
fi >/dev/null
|
2012-12-05 19:07:07 +01:00
|
|
|
|
2013-09-19 01:39:18 +02:00
|
|
|
# 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
|
2017-02-20 12:40:16 +01:00
|
|
|
ln -sf /etc/sysctl.conf /etc/sysctl.d/99-sysctl.conf || :
|
2013-09-19 01:39:18 +02:00
|
|
|
fi
|
|
|
|
|
2012-10-29 19:55:30 +01:00
|
|
|
# migrate any symlink which may refer to the old path
|
|
|
|
for f in $(find /etc/systemd/system -type l -xtype l); do
|
2017-01-25 17:13:23 +01:00
|
|
|
new_target="/usr$(readlink $f)"
|
|
|
|
[ -f "$new_target" ] && ln -s -f $new_target $f || :
|
2012-10-29 19:55:30 +01:00
|
|
|
done
|
|
|
|
|
2015-12-22 11:31:01 +01:00
|
|
|
# Keep tmp.mount if it's been enabled explicitly by the user otherwise
|
|
|
|
# make sure it wont be activated since it's the default for Suse
|
|
|
|
# distros. This unit can be pulled (implicitely) in various ways
|
|
|
|
# (private /tmp, etc..) and it's required by the basic.target
|
|
|
|
# explicitly since v220.
|
2016-10-26 16:59:15 +02:00
|
|
|
case $(systemctl is-enabled tmp.mount 2>/dev/null) in
|
2015-12-22 11:31:01 +01:00
|
|
|
enabled) ;;
|
|
|
|
*) rm -f %{_prefix}/lib/systemd/system/tmp.mount
|
|
|
|
esac
|
|
|
|
|
2017-01-25 17:13:23 +01:00
|
|
|
# v228 wrongly set world writable suid root permissions on timestamp
|
|
|
|
# files used by permanent timers. Fix the timestamps that might have
|
|
|
|
# been created by the affected versions of systemd (bsc#1020601).
|
|
|
|
for stamp in $(ls /var/lib/systemd/timers/stamp-*.timer 2>/dev/null); do
|
|
|
|
chmod 0644 $stamp
|
|
|
|
done
|
|
|
|
|
2017-02-06 09:45:05 +01:00
|
|
|
# Same for user lingering created by logind.
|
|
|
|
for username in $(ls /var/lib/systemd/linger/* 2>/dev/null); do
|
|
|
|
chmod 0644 $username
|
|
|
|
done
|
|
|
|
|
2016-08-25 14:43:25 +02:00
|
|
|
# Convert /var/lib/machines subvolume to make it suitable for
|
|
|
|
# rollbacks, if needed. See bsc#992573. The installer has been fixed
|
|
|
|
# to create it at installation time.
|
2016-10-26 16:59:15 +02:00
|
|
|
#
|
|
|
|
# The convertion might only be problematic for openSUSE distros
|
|
|
|
# (TW/Factory) where previous versions had already created the
|
|
|
|
# subvolume at the wrong place (via tmpfiles for example) and user
|
|
|
|
# started to populate and use it. In this case we'll let the user fix
|
|
|
|
# it manually.
|
|
|
|
#
|
|
|
|
# For SLE12 this subvolume was only introduced during the upgrade from
|
|
|
|
# v210 to v228 when we added this workaround. Note that the subvolume
|
|
|
|
# is still created at the wrong place due to the call to
|
|
|
|
# tmpfiles_create macro previously however it's empty so there
|
|
|
|
# shouldn't be any issues.
|
2016-08-25 14:43:25 +02:00
|
|
|
if [ $1 -gt 1 ]; then
|
2016-10-26 16:59:15 +02:00
|
|
|
%{_prefix}/lib/systemd/fix-machines-subvol-for-rollbacks.sh || :
|
2016-08-25 14:43:25 +02:00
|
|
|
fi
|
|
|
|
|
2012-10-26 14:34:44 +02:00
|
|
|
%postun
|
2016-10-26 16:59:15 +02:00
|
|
|
ldconfig
|
2012-10-26 14:34:44 +02:00
|
|
|
if [ $1 -ge 1 ]; then
|
2016-10-26 16:59:15 +02:00
|
|
|
systemctl daemon-reload || :
|
|
|
|
# Avoid restarting logind [bnc#934901] until fixed upstream
|
|
|
|
#systemctl try-restart systemd-logind.service >/dev/null 2>&1 || :
|
2012-10-26 14:34:44 +02:00
|
|
|
fi
|
2013-10-02 13:01:24 +02:00
|
|
|
%if ! 0%{?bootstrap}
|
2012-10-26 14:34:44 +02:00
|
|
|
if [ $1 -eq 0 ]; then
|
2017-01-25 17:13:23 +01:00
|
|
|
pam-config -d --systemd || :
|
2012-10-26 14:34:44 +02:00
|
|
|
fi
|
2013-10-02 13:01:24 +02:00
|
|
|
%endif
|
2012-10-26 14:34:44 +02:00
|
|
|
|
|
|
|
%preun
|
|
|
|
if [ $1 -eq 0 ]; then
|
2017-01-25 17:13:23 +01:00
|
|
|
systemctl disable remote-fs.target || :
|
|
|
|
systemctl disable getty@.service || :
|
|
|
|
systemctl disable systemd-networkd.service || :
|
|
|
|
systemctl disable systemd-networkd-wait-online.service || :
|
|
|
|
systemctl disable systemd-timesyncd.service || :
|
|
|
|
systemctl disable systemd-resolved.service || :
|
|
|
|
|
|
|
|
rm -f /etc/systemd/system/default.target
|
2016-10-26 16:59:15 +02:00
|
|
|
fi >/dev/null
|
2012-10-26 14:34:44 +02:00
|
|
|
|
2015-09-07 14:21:59 +02:00
|
|
|
%pretrans -n udev%{?mini} -p <lua>
|
2015-09-07 14:10:53 +02:00
|
|
|
if posix.stat("/lib/udev") and not posix.stat("/usr/lib/udev") then
|
2017-02-20 12:40:16 +01:00
|
|
|
posix.symlink("/lib/udev", "/usr/lib/udev")
|
2015-09-07 14:10:53 +02:00
|
|
|
end
|
2012-10-26 14:34:44 +02:00
|
|
|
|
2015-07-03 13:16:13 +02:00
|
|
|
%pre -n udev%{?mini}
|
2017-01-25 17:13:23 +01:00
|
|
|
%regenerate_initrd_post
|
|
|
|
|
2012-10-26 14:34:44 +02:00
|
|
|
if test -L /usr/lib/udev -a /lib/udev -ef /usr/lib/udev ; then
|
2017-01-25 17:13:23 +01:00
|
|
|
rm /usr/lib/udev
|
|
|
|
mv /lib/udev /usr/lib
|
|
|
|
ln -s /usr/lib/udev /lib/udev
|
2012-11-14 21:14:47 +01:00
|
|
|
elif [ ! -e /lib/udev ]; then
|
2017-01-25 17:13:23 +01:00
|
|
|
ln -s /usr/lib/udev /lib/udev
|
2012-10-26 14:34:44 +02:00
|
|
|
fi
|
2016-10-26 16:59:15 +02:00
|
|
|
|
|
|
|
# Create "tape"/"input" group which is referenced by some udev rules
|
|
|
|
# that we're shipping. FIXME: maybe we should consider using
|
|
|
|
# "sysusers_create basic.conf" instead ?
|
2015-07-07 17:19:45 +02:00
|
|
|
getent group tape >/dev/null || groupadd -r tape || :
|
2016-10-26 16:59:15 +02:00
|
|
|
getent group input >/dev/null || groupadd -r input || :
|
2012-10-26 14:34:44 +02:00
|
|
|
|
2015-07-03 13:16:13 +02:00
|
|
|
%post -n udev%{?mini}
|
2016-10-26 16:59:15 +02:00
|
|
|
%udev_hwdb_update
|
|
|
|
|
|
|
|
# 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 2>/dev/null || :
|
|
|
|
|
2012-10-26 14:34:44 +02:00
|
|
|
# cleanup old stuff
|
|
|
|
rm -f /etc/sysconfig/udev
|
2016-10-26 16:59:15 +02:00
|
|
|
rm -f /etc/udev/rules.d/{20,55,65}-cdrom.rules
|
2012-10-26 14:34:44 +02:00
|
|
|
|
2015-07-03 13:16:13 +02:00
|
|
|
%postun -n udev%{?mini}
|
2016-10-26 16:59:15 +02:00
|
|
|
%regenerate_initrd_post
|
2015-07-07 17:19:45 +02:00
|
|
|
systemctl daemon-reload || :
|
2017-01-11 16:31:45 +01:00
|
|
|
# On package update: the restart of the socket units will probably
|
|
|
|
# fail as the daemon is most likely running. It's not really an issue
|
|
|
|
# since we restart systemd-udevd right after and that will pull in the
|
|
|
|
# socket units again. We should be informed at that time if something
|
|
|
|
# really went wrong the first time we started the socket units.
|
|
|
|
%systemd_postun_with_restart systemd-udevd-{control,kernel}.socket 2>/dev/null
|
|
|
|
%systemd_postun_with_restart systemd-udevd.service
|
2012-10-26 14:34:44 +02:00
|
|
|
|
2015-07-03 13:16:13 +02:00
|
|
|
%posttrans -n udev%{?mini}
|
2014-04-16 12:17:08 +02:00
|
|
|
%regenerate_initrd_posttrans
|
|
|
|
|
2016-10-26 16:59:15 +02:00
|
|
|
%post -n libudev%{?mini}1 -p /sbin/ldconfig
|
|
|
|
%post -n libsystemd0%{?mini} -p /sbin/ldconfig
|
|
|
|
|
2015-07-03 13:16:13 +02:00
|
|
|
%postun -n libudev%{?mini}1 -p /sbin/ldconfig
|
2016-10-26 16:59:15 +02:00
|
|
|
%postun -n libsystemd0%{?mini} -p /sbin/ldconfig
|
2012-10-26 14:34:44 +02:00
|
|
|
|
|
|
|
%if ! 0%{?bootstrap}
|
2013-02-20 09:34:16 +01:00
|
|
|
%post logger
|
2016-10-26 16:59:15 +02:00
|
|
|
systemd-tmpfiles --create --prefix=%{_localstatedir}/log/journal/ || :
|
2013-02-20 09:34:16 +01:00
|
|
|
if [ "$1" -eq 1 ]; then
|
2017-01-25 17:13:23 +01:00
|
|
|
# tell journal to start logging on disk if directory didn't exist before
|
|
|
|
systemctl --no-block restart systemd-journal-flush.service >/dev/null || :
|
2013-02-20 09:34:16 +01:00
|
|
|
fi
|
2013-04-13 13:09:53 +02:00
|
|
|
|
2016-11-14 15:35:07 +01:00
|
|
|
%post -n nss-myhostname -p /sbin/ldconfig
|
2013-04-13 13:09:53 +02:00
|
|
|
%postun -n nss-myhostname -p /sbin/ldconfig
|
2016-12-08 14:23:11 +01:00
|
|
|
|
|
|
|
%post -n nss-systemd -p /sbin/ldconfig
|
|
|
|
%postun -n nss-systemd -p /sbin/ldconfig
|
2016-10-26 16:59:15 +02:00
|
|
|
%endif
|
|
|
|
|
|
|
|
%if %{with resolved}
|
|
|
|
%post -n nss-resolve -p /sbin/ldconfig
|
|
|
|
%postun -n nss-resolve -p /sbin/ldconfig
|
|
|
|
%endif
|
2013-04-13 13:09:53 +02:00
|
|
|
|
2016-10-26 16:59:15 +02:00
|
|
|
%if %{with machined}
|
2015-02-13 10:43:21 +01:00
|
|
|
%post -n nss-mymachines -p /sbin/ldconfig
|
|
|
|
%postun -n nss-mymachines -p /sbin/ldconfig
|
2016-10-26 16:59:15 +02:00
|
|
|
%endif
|
2015-02-13 10:43:21 +01:00
|
|
|
|
2016-10-26 16:59:15 +02:00
|
|
|
%if %{with journal_remote}
|
|
|
|
%pre journal-remote
|
2013-07-25 17:40:51 +02:00
|
|
|
%service_add_pre systemd-journal-gatewayd.socket systemd-journal-gatewayd.service
|
2016-10-26 16:59:15 +02:00
|
|
|
%service_add_pre systemd-journal-remote.socket systemd-journal-remote.service
|
|
|
|
%service_add_pre systemd-journal-upload.service
|
2013-07-25 17:40:51 +02:00
|
|
|
|
2016-10-26 16:59:15 +02:00
|
|
|
%post journal-remote
|
|
|
|
%sysusers_create %{_libexecdir}/sysusers.d/systemd-remote.conf
|
|
|
|
%tmpfiles_create %{_libexecdir}/tmpfiles.d/systemd-remote.conf
|
2013-07-25 17:40:51 +02:00
|
|
|
%service_add_post systemd-journal-gatewayd.socket systemd-journal-gatewayd.service
|
2016-10-26 16:59:15 +02:00
|
|
|
%service_add_post systemd-journal-remote.socket systemd-journal-remote.service
|
|
|
|
%service_add_post systemd-journal-upload.service
|
2013-07-25 17:40:51 +02:00
|
|
|
|
2016-10-26 16:59:15 +02:00
|
|
|
%preun journal-remote
|
2013-07-25 17:40:51 +02:00
|
|
|
%service_del_preun systemd-journal-gatewayd.socket systemd-journal-gatewayd.service
|
2016-10-26 16:59:15 +02:00
|
|
|
%service_del_preun systemd-journal-remote.socket systemd-journal-remote.service
|
|
|
|
%service_del_preun systemd-journal-upload.service
|
2013-07-25 17:40:51 +02:00
|
|
|
|
2016-10-26 16:59:15 +02:00
|
|
|
%postun journal-remote
|
2013-07-25 17:40:51 +02:00
|
|
|
%service_del_postun systemd-journal-gatewayd.socket systemd-journal-gatewayd.service
|
2016-10-26 16:59:15 +02:00
|
|
|
%service_del_postun systemd-journal-remote.socket systemd-journal-remote.service
|
|
|
|
%service_del_postun systemd-journal-upload.service
|
2012-10-26 14:34:44 +02:00
|
|
|
%endif
|
|
|
|
|
2016-10-26 16:59:15 +02:00
|
|
|
%clean
|
|
|
|
|
2014-07-21 15:37:02 +02:00
|
|
|
%files -f systemd.lang
|
2012-10-26 14:34:44 +02:00
|
|
|
%defattr(-,root,root)
|
|
|
|
/bin/systemd
|
2012-10-29 19:55:30 +01:00
|
|
|
/bin/systemd-ask-password
|
2016-08-10 14:13:59 +02:00
|
|
|
/bin/systemctl
|
2015-02-13 11:05:19 +01:00
|
|
|
%if %{with networkd}
|
|
|
|
%{_bindir}/networkctl
|
|
|
|
%endif
|
2014-02-28 18:10:52 +01:00
|
|
|
%{_bindir}/busctl
|
2015-10-12 12:48:46 +02:00
|
|
|
%{_bindir}/bootctl
|
2013-04-13 13:09:53 +02:00
|
|
|
%{_bindir}/kernel-install
|
2012-10-29 19:55:30 +01:00
|
|
|
%{_bindir}/hostnamectl
|
|
|
|
%{_bindir}/localectl
|
2016-10-26 16:59:15 +02:00
|
|
|
%if %{with machined}
|
- Update to release 205:
+ two new unit types have been introduced:
- Scope units are very similar to service units, however, are
created out of pre-existing processes -- instead of PID 1
forking off the processes.
- Slice units may be used to partition system resources in an
hierarchial fashion and then assign other units to them. By
default there are now three slices: system.slice (for all
system services), user.slice (for all user sessions),
machine.slice (for VMs and containers).
+ new concept of "transient" units, which are created at runtime
using an API and not based on configuration from disk.
+ logind has been updated to make use of scope and slice units to
manage user sessions. Logind will no longer create cgroups
hierchies itself but will relying on PID 1.
+ A new mini-daemon "systemd-machined" has been added which
may be used by virtualization managers to register local
VMs/containers. machinectl tool has been added to query
meta-data from systemd-machined.
+ Low-level cgroup configuration options ControlGroup=,
ControlGroupModify=, ControlGroupPersistent=,
ControlGroupAttribute= have been removed. High-level attribute
settings or slice units should be used instead?
+ A new bus call SetUnitProperties() has been added to alter
various runtime parameters of a unit, including cgroup
parameters. systemctl gained set-properties command to wrap
this call.
+ A new tool "systemd-run" has been added which can be used to
run arbitrary command lines as transient services or scopes,
while configuring a number of settings via the command
OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=412
2013-07-04 17:28:49 +02:00
|
|
|
%{_bindir}/machinectl
|
2015-02-18 14:04:12 +01:00
|
|
|
%endif
|
2016-08-10 14:13:59 +02:00
|
|
|
%{_bindir}/systemctl
|
2013-04-13 13:09:53 +02:00
|
|
|
%{_bindir}/systemd-analyze
|
2015-02-13 10:43:21 +01:00
|
|
|
%{_bindir}/coredumpctl
|
2012-10-26 14:34:44 +02:00
|
|
|
%{_bindir}/systemd-delta
|
2015-02-13 10:43:21 +01:00
|
|
|
%{_bindir}/systemd-escape
|
|
|
|
%{_bindir}/systemd-firstboot
|
|
|
|
%{_bindir}/systemd-path
|
2016-08-10 14:13:59 +02:00
|
|
|
%{_bindir}/systemd-sysusers
|
2016-12-08 14:23:11 +01:00
|
|
|
%{_bindir}/systemd-mount
|
2012-10-26 14:34:44 +02:00
|
|
|
%{_bindir}/systemd-notify
|
- Update to release 205:
+ two new unit types have been introduced:
- Scope units are very similar to service units, however, are
created out of pre-existing processes -- instead of PID 1
forking off the processes.
- Slice units may be used to partition system resources in an
hierarchial fashion and then assign other units to them. By
default there are now three slices: system.slice (for all
system services), user.slice (for all user sessions),
machine.slice (for VMs and containers).
+ new concept of "transient" units, which are created at runtime
using an API and not based on configuration from disk.
+ logind has been updated to make use of scope and slice units to
manage user sessions. Logind will no longer create cgroups
hierchies itself but will relying on PID 1.
+ A new mini-daemon "systemd-machined" has been added which
may be used by virtualization managers to register local
VMs/containers. machinectl tool has been added to query
meta-data from systemd-machined.
+ Low-level cgroup configuration options ControlGroup=,
ControlGroupModify=, ControlGroupPersistent=,
ControlGroupAttribute= have been removed. High-level attribute
settings or slice units should be used instead?
+ A new bus call SetUnitProperties() has been added to alter
various runtime parameters of a unit, including cgroup
parameters. systemctl gained set-properties command to wrap
this call.
+ A new tool "systemd-run" has been added which can be used to
run arbitrary command lines as transient services or scopes,
while configuring a number of settings via the command
OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=412
2013-07-04 17:28:49 +02:00
|
|
|
%{_bindir}/systemd-run
|
2012-10-26 14:34:44 +02:00
|
|
|
%{_bindir}/systemd-journalctl
|
|
|
|
%{_bindir}/journalctl
|
|
|
|
%{_bindir}/systemd-ask-password
|
|
|
|
%{_bindir}/loginctl
|
|
|
|
%{_bindir}/systemd-loginctl
|
|
|
|
%{_bindir}/systemd-inhibit
|
|
|
|
%{_bindir}/systemd-tty-ask-password-agent
|
2016-08-10 14:13:59 +02:00
|
|
|
%{_bindir}/systemd-tmpfiles
|
2012-10-26 14:34:44 +02:00
|
|
|
%{_bindir}/systemd-machine-id-setup
|
|
|
|
%{_bindir}/systemd-nspawn
|
2017-01-11 16:31:45 +01:00
|
|
|
%if %{with resolved}
|
|
|
|
%{_bindir}/systemd-resolve
|
|
|
|
%endif
|
2016-12-08 14:23:11 +01:00
|
|
|
%{_bindir}/systemd-socket-activate
|
2012-10-26 14:34:44 +02:00
|
|
|
%{_bindir}/systemd-stdio-bridge
|
|
|
|
%{_bindir}/systemd-detect-virt
|
2012-10-29 19:55:30 +01:00
|
|
|
%{_bindir}/timedatectl
|
2012-10-26 14:34:44 +02:00
|
|
|
%{_sbindir}/systemd-sysv-convert
|
|
|
|
%{_bindir}/systemd-cgls
|
|
|
|
%{_bindir}/systemd-cgtop
|
|
|
|
%{_bindir}/systemd-cat
|
2013-05-29 17:26:40 +02:00
|
|
|
%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
|
2012-10-26 14:34:44 +02:00
|
|
|
%dir %{_prefix}/lib/systemd
|
|
|
|
%dir %{_prefix}/lib/systemd/user
|
|
|
|
%dir %{_prefix}/lib/systemd/system
|
2016-10-26 16:59:15 +02:00
|
|
|
%exclude %{_prefix}/lib/systemd/systemd-journal-gatewayd
|
|
|
|
%exclude %{_prefix}/lib/systemd/systemd-journal-remote
|
|
|
|
%exclude %{_prefix}/lib/systemd/systemd-journal-upload
|
2015-10-06 17:11:15 +02:00
|
|
|
%exclude %{_prefix}/lib/systemd/systemd-sysv*
|
2016-10-26 16:59:15 +02:00
|
|
|
%exclude %{_prefix}/lib/systemd/systemd-udevd
|
|
|
|
%exclude %{_prefix}/lib/systemd/system/systemd-journal-gatewayd.*
|
|
|
|
%exclude %{_prefix}/lib/systemd/system/systemd-journal-remote.*
|
|
|
|
%exclude %{_prefix}/lib/systemd/system/systemd-journal-upload.*
|
2012-10-26 14:34:44 +02:00
|
|
|
%exclude %{_prefix}/lib/systemd/system/systemd-udev*.*
|
|
|
|
%exclude %{_prefix}/lib/systemd/system/*.target.wants/systemd-udev*.*
|
2016-10-26 16:59:15 +02:00
|
|
|
%exclude %{_prefix}/lib/systemd/system/initrd-udevadm-cleanup-db.service
|
2012-10-26 14:34:44 +02:00
|
|
|
%{_prefix}/lib/systemd/system/*.automount
|
|
|
|
%{_prefix}/lib/systemd/system/*.service
|
- Update to release 205:
+ two new unit types have been introduced:
- Scope units are very similar to service units, however, are
created out of pre-existing processes -- instead of PID 1
forking off the processes.
- Slice units may be used to partition system resources in an
hierarchial fashion and then assign other units to them. By
default there are now three slices: system.slice (for all
system services), user.slice (for all user sessions),
machine.slice (for VMs and containers).
+ new concept of "transient" units, which are created at runtime
using an API and not based on configuration from disk.
+ logind has been updated to make use of scope and slice units to
manage user sessions. Logind will no longer create cgroups
hierchies itself but will relying on PID 1.
+ A new mini-daemon "systemd-machined" has been added which
may be used by virtualization managers to register local
VMs/containers. machinectl tool has been added to query
meta-data from systemd-machined.
+ Low-level cgroup configuration options ControlGroup=,
ControlGroupModify=, ControlGroupPersistent=,
ControlGroupAttribute= have been removed. High-level attribute
settings or slice units should be used instead?
+ A new bus call SetUnitProperties() has been added to alter
various runtime parameters of a unit, including cgroup
parameters. systemctl gained set-properties command to wrap
this call.
+ A new tool "systemd-run" has been added which can be used to
run arbitrary command lines as transient services or scopes,
while configuring a number of settings via the command
OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=412
2013-07-04 17:28:49 +02:00
|
|
|
%{_prefix}/lib/systemd/system/*.slice
|
2012-10-26 14:34:44 +02:00
|
|
|
%{_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
|
|
|
|
%{_prefix}/lib/systemd/systemd-*
|
|
|
|
%{_prefix}/lib/systemd/systemd
|
2016-12-08 14:23:11 +01:00
|
|
|
%{_prefix}/lib/systemd/libsystemd-shared-%{version}.so
|
|
|
|
%{_prefix}/lib/systemd/resolv.conf
|
2016-08-25 14:43:25 +02:00
|
|
|
%{_prefix}/lib/systemd/fix-machines-subvol-for-rollbacks.sh
|
2013-04-13 13:09:53 +02:00
|
|
|
%dir %{_prefix}/lib/systemd/catalog
|
|
|
|
%{_prefix}/lib/systemd/catalog/systemd.catalog
|
2014-02-28 18:10:52 +01:00
|
|
|
%{_prefix}/lib/systemd/catalog/systemd.*.catalog
|
2016-10-26 16:59:15 +02:00
|
|
|
%{_prefix}/lib/systemd/system-preset
|
|
|
|
%{_prefix}/lib/systemd/user-preset
|
|
|
|
%{_prefix}/lib/systemd/system-generators
|
|
|
|
%{_prefix}/lib/systemd/user-generators
|
2012-10-26 14:34:44 +02:00
|
|
|
%dir %{_prefix}/lib/systemd/ntp-units.d/
|
|
|
|
%dir %{_prefix}/lib/systemd/system-shutdown/
|
|
|
|
%dir %{_prefix}/lib/systemd/system-sleep/
|
2013-04-25 09:23:12 +02:00
|
|
|
%dir %{_prefix}/lib/systemd/system/getty@tty1.service.d
|
2016-10-26 16:59:15 +02:00
|
|
|
%dir %{_prefix}/lib/systemd/system/user@0.service.d
|
2013-04-25 09:23:12 +02:00
|
|
|
%{_prefix}/lib/systemd/system/getty@tty1.service.d/noclear.conf
|
2016-10-26 16:59:15 +02:00
|
|
|
%{_prefix}/lib/systemd/system/user@0.service.d/nodelagate.conf
|
|
|
|
%if %{with importd}
|
|
|
|
%{_prefix}/lib/systemd/import-pubring.gpg
|
2012-10-26 14:34:44 +02:00
|
|
|
%endif
|
|
|
|
/%{_lib}/security/pam_systemd.so
|
|
|
|
|
2016-10-26 16:59:15 +02:00
|
|
|
%if %{with gnuefi}
|
2015-10-12 12:48:46 +02:00
|
|
|
%dir %{_prefix}/lib/systemd/boot
|
|
|
|
%dir %{_prefix}/lib/systemd/boot/efi
|
|
|
|
%{_prefix}/lib/systemd/boot/efi/*.efi
|
|
|
|
%{_prefix}/lib/systemd/boot/efi/*.stub
|
|
|
|
%endif
|
|
|
|
|
2012-10-26 14:34:44 +02:00
|
|
|
%dir %{_libexecdir}/modules-load.d
|
|
|
|
%dir %{_sysconfdir}/modules-load.d
|
2013-04-25 10:33:19 +02:00
|
|
|
%{_libexecdir}/modules-load.d/sg.conf
|
2012-10-26 14:34:44 +02:00
|
|
|
|
2016-10-26 16:59:15 +02:00
|
|
|
%{_libexecdir}/sysusers.d/
|
|
|
|
%exclude %{_libexecdir}/sysusers.d/systemd-remote.conf
|
|
|
|
|
2016-08-10 14:13:59 +02:00
|
|
|
%dir %{_sysconfdir}/tmpfiles.d
|
2016-10-26 16:59:15 +02:00
|
|
|
%{_libexecdir}/tmpfiles.d/
|
|
|
|
%exclude %{_libexecdir}/tmpfiles.d/systemd-remote.conf
|
2016-08-10 14:13:59 +02:00
|
|
|
|
2012-10-26 14:34:44 +02:00
|
|
|
%dir %{_libexecdir}/binfmt.d
|
|
|
|
%dir %{_sysconfdir}/binfmt.d
|
|
|
|
|
|
|
|
%dir %{_libexecdir}/sysctl.d
|
|
|
|
%dir %{_sysconfdir}/sysctl.d
|
2015-06-25 06:25:21 +02:00
|
|
|
%{_prefix}/lib/sysctl.d/50-coredump.conf
|
2012-10-26 14:34:44 +02:00
|
|
|
|
2016-10-26 16:59:15 +02:00
|
|
|
%dir %{_sysconfdir}/X11/xinit
|
|
|
|
%dir %{_sysconfdir}/X11/xinit/xinitrc.d
|
|
|
|
%dir %{_sysconfdir}/X11/xorg.conf.d
|
|
|
|
%dir %{_sysconfdir}/dbus-1
|
|
|
|
%dir %{_sysconfdir}/dbus-1/system.d
|
2012-10-26 14:34:44 +02:00
|
|
|
%dir %{_sysconfdir}/systemd
|
|
|
|
%dir %{_sysconfdir}/systemd/system
|
|
|
|
%dir %{_sysconfdir}/systemd/user
|
|
|
|
%dir %{_sysconfdir}/xdg/systemd
|
2013-07-12 17:10:22 +02:00
|
|
|
%{_sysconfdir}/xdg/systemd/user
|
2016-10-26 16:59:15 +02:00
|
|
|
%{_sysconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh
|
|
|
|
|
|
|
|
%config(noreplace) %{_sysconfdir}/pam.d/systemd-user
|
2015-02-13 10:43:21 +01:00
|
|
|
%config(noreplace) %{_sysconfdir}/systemd/coredump.conf
|
|
|
|
%config(noreplace) %{_sysconfdir}/systemd/timesyncd.conf
|
2012-10-26 14:34:44 +02:00
|
|
|
%config(noreplace) %{_sysconfdir}/systemd/system.conf
|
|
|
|
%config(noreplace) %{_sysconfdir}/systemd/logind.conf
|
|
|
|
%config(noreplace) %{_sysconfdir}/systemd/journald.conf
|
|
|
|
%config(noreplace) %{_sysconfdir}/systemd/user.conf
|
2016-10-26 16:59:15 +02:00
|
|
|
%if %{with resolved}
|
|
|
|
%config(noreplace) %{_sysconfdir}/systemd/resolved.conf
|
|
|
|
%endif
|
2012-10-26 14:34:44 +02:00
|
|
|
%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.locale1.conf
|
|
|
|
%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.login1.conf
|
2016-10-26 16:59:15 +02:00
|
|
|
%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
|
|
|
|
%if %{with machined}
|
- Update to release 205:
+ two new unit types have been introduced:
- Scope units are very similar to service units, however, are
created out of pre-existing processes -- instead of PID 1
forking off the processes.
- Slice units may be used to partition system resources in an
hierarchial fashion and then assign other units to them. By
default there are now three slices: system.slice (for all
system services), user.slice (for all user sessions),
machine.slice (for VMs and containers).
+ new concept of "transient" units, which are created at runtime
using an API and not based on configuration from disk.
+ logind has been updated to make use of scope and slice units to
manage user sessions. Logind will no longer create cgroups
hierchies itself but will relying on PID 1.
+ A new mini-daemon "systemd-machined" has been added which
may be used by virtualization managers to register local
VMs/containers. machinectl tool has been added to query
meta-data from systemd-machined.
+ Low-level cgroup configuration options ControlGroup=,
ControlGroupModify=, ControlGroupPersistent=,
ControlGroupAttribute= have been removed. High-level attribute
settings or slice units should be used instead?
+ A new bus call SetUnitProperties() has been added to alter
various runtime parameters of a unit, including cgroup
parameters. systemctl gained set-properties command to wrap
this call.
+ A new tool "systemd-run" has been added which can be used to
run arbitrary command lines as transient services or scopes,
while configuring a number of settings via the command
OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=412
2013-07-04 17:28:49 +02:00
|
|
|
%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.machine1.conf
|
2015-02-18 14:04:12 +01:00
|
|
|
%endif
|
2015-02-17 09:23:12 +01:00
|
|
|
%if %{with networkd}
|
2015-02-16 12:36:25 +01:00
|
|
|
%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.network1.conf
|
2015-02-17 09:23:12 +01:00
|
|
|
%endif
|
2016-10-26 16:59:15 +02:00
|
|
|
%if %{with resolved}
|
|
|
|
%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.resolve1.conf
|
|
|
|
%endif
|
|
|
|
%if %{with importd}
|
|
|
|
%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.import1.conf
|
|
|
|
%endif
|
2012-10-26 14:34:44 +02:00
|
|
|
|
2016-10-26 16:59:15 +02:00
|
|
|
# Some files created by us.
|
2014-06-12 12:21:33 +02:00
|
|
|
%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
|
|
|
|
|
2016-10-26 16:59:15 +02:00
|
|
|
%{_prefix}/lib/systemd/system/org.freedesktop.systemd1.busname
|
|
|
|
%{_prefix}/lib/systemd/system/org.freedesktop.locale1.busname
|
|
|
|
%{_prefix}/lib/systemd/system/org.freedesktop.login1.busname
|
|
|
|
%{_prefix}/lib/systemd/system/org.freedesktop.hostname1.busname
|
|
|
|
%{_prefix}/lib/systemd/system/org.freedesktop.timedate1.busname
|
2015-02-17 09:23:12 +01:00
|
|
|
%if %{with networkd}
|
2015-06-23 14:56:50 +02:00
|
|
|
%{_prefix}/lib/systemd/system/org.freedesktop.network1.busname
|
2015-02-17 09:23:12 +01:00
|
|
|
%endif
|
2016-10-26 16:59:15 +02:00
|
|
|
%if %{with resolved}
|
|
|
|
%{_prefix}/lib/systemd/system/org.freedesktop.resolve1.busname
|
|
|
|
%endif
|
|
|
|
%if %{with machined}
|
|
|
|
%{_prefix}/lib/systemd/system/org.freedesktop.machine1.busname
|
|
|
|
%endif
|
|
|
|
%if %{with importd}
|
|
|
|
%{_prefix}/lib/systemd/system/org.freedesktop.import1.busname
|
|
|
|
%endif
|
|
|
|
|
|
|
|
%{_datadir}/systemd
|
|
|
|
%{_datadir}/factory
|
|
|
|
%exclude %{_datadir}/systemd/gatewayd
|
|
|
|
|
|
|
|
%dir %{_datadir}/dbus-1
|
|
|
|
%dir %{_datadir}/dbus-1/services
|
|
|
|
%dir %{_datadir}/dbus-1/system-services
|
|
|
|
%{_datadir}/dbus-1/services/org.freedesktop.systemd1.service
|
2012-10-26 14:34:44 +02:00
|
|
|
%{_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
|
2016-10-26 16:59:15 +02:00
|
|
|
%{_datadir}/dbus-1/system-services/org.freedesktop.timedate1.service
|
|
|
|
%if %{with networkd}
|
|
|
|
%{_datadir}/dbus-1/system-services/org.freedesktop.network1.service
|
|
|
|
%endif
|
|
|
|
%if %{with resolved}
|
|
|
|
%{_datadir}/dbus-1/system-services/org.freedesktop.resolve1.service
|
|
|
|
%endif
|
|
|
|
%if %{with machined}
|
- Update to release 205:
+ two new unit types have been introduced:
- Scope units are very similar to service units, however, are
created out of pre-existing processes -- instead of PID 1
forking off the processes.
- Slice units may be used to partition system resources in an
hierarchial fashion and then assign other units to them. By
default there are now three slices: system.slice (for all
system services), user.slice (for all user sessions),
machine.slice (for VMs and containers).
+ new concept of "transient" units, which are created at runtime
using an API and not based on configuration from disk.
+ logind has been updated to make use of scope and slice units to
manage user sessions. Logind will no longer create cgroups
hierchies itself but will relying on PID 1.
+ A new mini-daemon "systemd-machined" has been added which
may be used by virtualization managers to register local
VMs/containers. machinectl tool has been added to query
meta-data from systemd-machined.
+ Low-level cgroup configuration options ControlGroup=,
ControlGroupModify=, ControlGroupPersistent=,
ControlGroupAttribute= have been removed. High-level attribute
settings or slice units should be used instead?
+ A new bus call SetUnitProperties() has been added to alter
various runtime parameters of a unit, including cgroup
parameters. systemctl gained set-properties command to wrap
this call.
+ A new tool "systemd-run" has been added which can be used to
run arbitrary command lines as transient services or scopes,
while configuring a number of settings via the command
OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=412
2013-07-04 17:28:49 +02:00
|
|
|
%{_datadir}/dbus-1/system-services/org.freedesktop.machine1.service
|
2015-02-18 14:04:12 +01:00
|
|
|
%endif
|
2016-10-26 16:59:15 +02:00
|
|
|
%if %{with importd}
|
|
|
|
%{_datadir}/dbus-1/system-services/org.freedesktop.import1.service
|
|
|
|
%endif
|
2015-06-23 14:56:50 +02:00
|
|
|
|
2012-10-26 14:34:44 +02:00
|
|
|
%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
|
2016-10-26 16:59:15 +02:00
|
|
|
%if %{with machined}
|
|
|
|
%{_datadir}/polkit-1/actions/org.freedesktop.machine1.policy
|
|
|
|
%endif
|
|
|
|
%if %{with importd}
|
|
|
|
%{_datadir}/polkit-1/actions/org.freedesktop.import1.policy
|
2014-03-03 15:25:26 +01:00
|
|
|
%endif
|
2012-10-26 14:34:44 +02:00
|
|
|
|
|
|
|
%if ! 0%{?bootstrap}
|
2016-10-26 16:59:15 +02:00
|
|
|
%{_mandir}/man1/[a-rt-z]*ctl.1*
|
|
|
|
%{_mandir}/man1/systemc*.1*
|
|
|
|
%{_mandir}/man1/systemd*.1*
|
|
|
|
%{_mandir}/man5/[a-tv-z]*
|
|
|
|
%{_mandir}/man5/user*
|
|
|
|
%{_mandir}/man7/[bdfks]*
|
|
|
|
%{_mandir}/man8/kern*
|
|
|
|
%{_mandir}/man8/pam_*
|
|
|
|
%{_mandir}/man8/systemd-[a-gik-tv]*
|
|
|
|
%{_mandir}/man8/systemd-h[aioy]*
|
|
|
|
%{_mandir}/man8/systemd-journald*
|
|
|
|
%{_mandir}/man8/systemd-u[ps]*
|
2012-10-26 14:34:44 +02:00
|
|
|
%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
|
|
|
|
%{_prefix}/lib/udev/rules.d/99-systemd.rules
|
2014-03-03 15:25:26 +01:00
|
|
|
%dir %{_localstatedir}/lib/systemd
|
|
|
|
%dir %{_localstatedir}/lib/systemd/sysv-convert
|
|
|
|
%dir %{_localstatedir}/lib/systemd/migrated
|
2016-10-26 16:59:15 +02:00
|
|
|
%dir %{_localstatedir}/lib/systemd/coredump
|
2014-03-03 15:25:26 +01:00
|
|
|
%dir %{_localstatedir}/lib/systemd/catalog
|
|
|
|
%ghost %{_localstatedir}/lib/systemd/catalog/database
|
2016-10-26 16:59:15 +02:00
|
|
|
%ghost %{_localstatedir}/lib/systemd/backlight
|
|
|
|
%ghost %{_localstatedir}/lib/systemd/random-seed
|
2014-03-03 15:25:26 +01:00
|
|
|
%dir %{_datadir}/zsh
|
|
|
|
%dir %{_datadir}/zsh/site-functions
|
|
|
|
%{_datadir}/zsh/site-functions/*
|
2016-10-26 16:59:15 +02:00
|
|
|
%{_datadir}/pkgconfig/systemd.pc
|
2014-02-08 11:46:51 +01:00
|
|
|
|
2012-10-26 14:34:44 +02:00
|
|
|
%files devel
|
|
|
|
%defattr(-,root,root,-)
|
2014-02-28 18:10:52 +01:00
|
|
|
%{_libdir}/libsystemd.so
|
2016-10-26 16:59:15 +02:00
|
|
|
%{_libdir}/pkgconfig/libsystemd.pc
|
|
|
|
%{_includedir}/systemd/
|
2014-08-22 14:45:12 +02:00
|
|
|
%if ! 0%{?bootstrap}
|
2016-10-26 16:59:15 +02:00
|
|
|
%{_mandir}/man3/SD*.3*
|
|
|
|
%{_mandir}/man3/sd*.3*
|
2014-08-22 14:45:12 +02:00
|
|
|
%endif
|
2012-10-26 14:34:44 +02:00
|
|
|
|
|
|
|
%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
|
2016-10-26 16:59:15 +02:00
|
|
|
%{_prefix}/lib/systemd/systemd-sysv-install
|
2012-10-26 14:34:44 +02:00
|
|
|
|
2015-07-03 13:16:13 +02:00
|
|
|
%files -n udev%{?mini}
|
2012-10-26 14:34:44 +02:00
|
|
|
%defattr(-,root,root)
|
|
|
|
/sbin/udevd
|
|
|
|
/sbin/udevadm
|
|
|
|
# keep for compatibility
|
|
|
|
%ghost /lib/udev
|
|
|
|
%{_bindir}/udevadm
|
2015-06-23 14:56:50 +02:00
|
|
|
%{_bindir}/systemd-hwdb
|
2012-10-26 14:34:44 +02:00
|
|
|
%dir %{_prefix}/lib/udev/
|
|
|
|
%{_prefix}/lib/udev/ata_id
|
2016-10-26 16:59:15 +02:00
|
|
|
%{_prefix}/lib/udev/path_id_compat
|
2012-10-26 14:34:44 +02:00
|
|
|
%{_prefix}/lib/udev/cdrom_id
|
|
|
|
%{_prefix}/lib/udev/collect
|
|
|
|
%{_prefix}/lib/udev/mtd_probe
|
|
|
|
%{_prefix}/lib/udev/scsi_id
|
|
|
|
%{_prefix}/lib/udev/v4l_id
|
2014-07-14 17:05:04 +02:00
|
|
|
%{_prefix}/lib/udev/remount-tmpfs
|
2014-11-14 13:19:40 +01:00
|
|
|
%{_prefix}/lib/udev/rootsymlink-generator
|
2012-10-26 14:34:44 +02:00
|
|
|
%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/99-systemd.rules
|
|
|
|
%{_prefix}/lib/udev/rules.d/*.rules
|
2015-06-23 14:56:50 +02:00
|
|
|
%{_prefix}/lib/udev/hwdb.d/
|
2012-10-26 14:34:44 +02:00
|
|
|
%dir %{_sysconfdir}/udev/
|
|
|
|
%dir %{_sysconfdir}/udev/rules.d/
|
2013-04-13 13:09:53 +02:00
|
|
|
%ghost %{_sysconfdir}/udev/hwdb.bin
|
2012-10-26 14:34:44 +02:00
|
|
|
%config(noreplace) %{_sysconfdir}/udev/udev.conf
|
|
|
|
%if ! 0%{?bootstrap}
|
2016-10-26 16:59:15 +02:00
|
|
|
%{_mandir}/man5/udev*
|
|
|
|
%{_mandir}/man7/hwdb*
|
|
|
|
%{_mandir}/man7/udev*
|
|
|
|
%{_mandir}/man8/systemd-hwdb*
|
|
|
|
%{_mandir}/man8/systemd-udev*
|
|
|
|
%{_mandir}/man8/udev*
|
2012-10-26 14:34:44 +02:00
|
|
|
%endif
|
|
|
|
%dir %{_prefix}/lib/systemd/system
|
|
|
|
%{_prefix}/lib/systemd/systemd-udevd
|
2016-10-26 16:59:15 +02:00
|
|
|
%{_prefix}/lib/systemd/system/systemd-udev*.service
|
2012-10-26 14:34:44 +02:00
|
|
|
%{_prefix}/lib/systemd/system/systemd-udevd*.socket
|
2016-10-26 16:59:15 +02:00
|
|
|
%{_prefix}/lib/systemd/system/initrd-udevadm-cleanup-db.service
|
2012-10-26 14:34:44 +02:00
|
|
|
%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
|
2014-02-28 18:10:52 +01:00
|
|
|
%dir %{_prefix}/lib/systemd/network
|
|
|
|
%{_prefix}/lib/systemd/network/*.link
|
2014-03-03 15:25:26 +01:00
|
|
|
%{_prefix}/lib/systemd/network/*.network
|
2014-05-21 10:58:28 +02:00
|
|
|
%{_datadir}/pkgconfig/udev.pc
|
2012-10-26 14:34:44 +02:00
|
|
|
|
2015-07-03 13:16:13 +02:00
|
|
|
%files -n libsystemd0%{?mini}
|
2015-06-23 14:56:50 +02:00
|
|
|
%defattr(-,root,root)
|
2016-10-26 16:59:15 +02:00
|
|
|
%{_libdir}/libsystemd.so.*
|
2015-06-23 14:56:50 +02:00
|
|
|
|
2015-07-03 13:16:13 +02:00
|
|
|
%files -n libudev%{?mini}1
|
2012-10-26 14:34:44 +02:00
|
|
|
%defattr(-,root,root)
|
|
|
|
%{_libdir}/libudev.so.*
|
|
|
|
|
2015-07-03 13:16:13 +02:00
|
|
|
%files -n libudev%{?mini}-devel
|
2012-10-26 14:34:44 +02:00
|
|
|
%defattr(-,root,root)
|
|
|
|
%{_includedir}/libudev.h
|
|
|
|
%{_libdir}/libudev.so
|
|
|
|
%{_libdir}/pkgconfig/libudev.pc
|
2015-06-24 21:26:35 +02:00
|
|
|
%if ! 0%{?bootstrap}
|
2015-06-23 14:56:50 +02:00
|
|
|
%{_mandir}/man3/*udev*.3*
|
2015-06-24 21:26:35 +02:00
|
|
|
%endif
|
2012-10-26 14:34:44 +02:00
|
|
|
|
|
|
|
%if ! 0%{?bootstrap}
|
2012-11-06 15:52:17 +01:00
|
|
|
%files logger
|
|
|
|
%defattr(-,root,root)
|
2014-07-28 12:21:09 +02:00
|
|
|
%dir %attr(2755,root,systemd-journal) %{_localstatedir}/log/journal/
|
2015-02-18 13:10:33 +01:00
|
|
|
%if %{with sysvcompat}
|
2014-03-03 15:25:26 +01:00
|
|
|
%{_localstatedir}/log/README
|
2015-02-18 13:10:33 +01:00
|
|
|
%endif
|
2012-11-06 15:52:17 +01:00
|
|
|
|
2013-04-13 13:09:53 +02:00
|
|
|
%files -n nss-myhostname
|
|
|
|
%defattr(-, root, root)
|
2016-10-26 16:59:15 +02:00
|
|
|
/%{_lib}/*nss_myhostname*
|
2015-06-23 14:56:50 +02:00
|
|
|
%{_mandir}/man8/libnss_myhostname.*
|
|
|
|
%{_mandir}/man8/nss-myhostname.*
|
2016-12-08 14:23:11 +01:00
|
|
|
|
|
|
|
%files -n nss-systemd
|
|
|
|
%defattr(-, root, root)
|
|
|
|
%{_libdir}/libnss_systemd.so*
|
|
|
|
%{_mandir}/man8/libnss_systemd.so.*
|
|
|
|
%{_mandir}/man8/nss-systemd.*
|
2015-06-24 21:26:35 +02:00
|
|
|
%endif
|
2013-04-13 13:09:53 +02:00
|
|
|
|
2016-10-26 16:59:15 +02:00
|
|
|
%if %{with resolved}
|
|
|
|
%files -n nss-resolve
|
2013-07-25 17:40:51 +02:00
|
|
|
%defattr(-, root, root)
|
2016-10-26 16:59:15 +02:00
|
|
|
%{_libdir}/libnss_resolve.so.2
|
|
|
|
%{_mandir}/man8/libnss_resolve.*
|
|
|
|
%{_mandir}/man8/nss-resolve.*
|
|
|
|
%endif
|
2012-10-26 14:34:44 +02:00
|
|
|
|
2016-10-26 16:59:15 +02:00
|
|
|
%if %{with machined}
|
2015-02-13 10:43:21 +01:00
|
|
|
%files -n nss-mymachines
|
|
|
|
%defattr(-,root,root)
|
2016-10-26 16:59:15 +02:00
|
|
|
%{_libdir}/libnss_mymachines.so*
|
|
|
|
%{_mandir}/man8/libnss_mymachines.*
|
|
|
|
%{_mandir}/man8/nss-mymachines.*
|
2015-02-18 13:25:50 +01:00
|
|
|
%endif
|
2016-10-26 16:59:15 +02:00
|
|
|
|
|
|
|
%if %{with journal_remote}
|
|
|
|
%files journal-remote
|
|
|
|
%defattr(-, root, root)
|
|
|
|
%config(noreplace) %{_sysconfdir}/systemd/journal-remote.conf
|
|
|
|
%config(noreplace) %{_sysconfdir}/systemd/journal-upload.conf
|
|
|
|
%{_prefix}/lib/systemd/system/systemd-journal-gatewayd.*
|
|
|
|
%{_prefix}/lib/systemd/system/systemd-journal-remote.*
|
|
|
|
%{_prefix}/lib/systemd/system/systemd-journal-upload.*
|
|
|
|
%{_prefix}/lib/systemd/systemd-journal-gatewayd
|
|
|
|
%{_prefix}/lib/systemd/systemd-journal-remote
|
|
|
|
%{_prefix}/lib/systemd/systemd-journal-upload
|
|
|
|
%{_libexecdir}/sysusers.d/systemd-remote.conf
|
|
|
|
%{_libexecdir}/tmpfiles.d/systemd-remote.conf
|
|
|
|
%{_mandir}/man8/systemd-journal-gatewayd.*
|
|
|
|
%{_mandir}/man8/systemd-journal-remote.*
|
|
|
|
%{_mandir}/man8/systemd-journal-upload.*
|
|
|
|
%{_datadir}/systemd/gatewayd
|
2015-06-24 21:26:35 +02:00
|
|
|
%endif
|
2015-02-13 10:43:21 +01:00
|
|
|
|
2016-10-26 16:59:15 +02:00
|
|
|
%files bash-completion
|
|
|
|
%defattr(-,root,root,-)
|
|
|
|
%dir %{_datadir}/bash-completion
|
|
|
|
%dir %{_datadir}/bash-completion/completions
|
|
|
|
%{_datadir}/bash-completion/completions/*
|
|
|
|
|
2012-10-26 14:34:44 +02:00
|
|
|
%changelog
|