2020-10-20 15:33:29 +00:00
|
|
|
|
#global commit c4b843473a75fb38ed5bf54e9d3cfb1cb3719efa
|
2018-11-02 10:19:30 +00:00
|
|
|
|
%{?commit:%global shortcommit %(c=%{commit}; echo ${c:0:7})}
|
2012-08-08 10:09:51 +00:00
|
|
|
|
|
2022-10-07 16:12:10 +00:00
|
|
|
|
#global stable 1
|
2018-06-18 10:46:35 +00:00
|
|
|
|
|
2012-09-13 12:43:03 +00:00
|
|
|
|
# We ship a .pc file but don't want to have a dep on pkg-config. We
|
|
|
|
|
# strip the automatically generated dep here and instead co-own the
|
|
|
|
|
# directory.
|
|
|
|
|
%global __requires_exclude pkg-config
|
|
|
|
|
|
2015-03-23 02:47:59 +00:00
|
|
|
|
%global pkgdir %{_prefix}/lib/systemd
|
|
|
|
|
%global system_unit_dir %{pkgdir}/system
|
2017-03-02 16:30:49 +00:00
|
|
|
|
%global user_unit_dir %{pkgdir}/user
|
2015-03-23 02:47:59 +00:00
|
|
|
|
|
2021-05-20 14:52:27 +00:00
|
|
|
|
%if 0%{?__isa_bits} == 64
|
|
|
|
|
%global elf_bits (64bit)
|
|
|
|
|
%global elf_suffix ()%{elf_bits}
|
|
|
|
|
%endif
|
|
|
|
|
|
2022-01-07 16:52:31 +00:00
|
|
|
|
# Bootstrap may be needed to break circular dependencies with cryptsetup,
|
|
|
|
|
# e.g. when re-building cryptsetup on a json-c SONAME-bump.
|
2020-04-21 17:51:17 +00:00
|
|
|
|
%bcond_with bootstrap
|
2020-02-28 11:25:15 +00:00
|
|
|
|
%bcond_without tests
|
2020-09-27 11:38:40 +00:00
|
|
|
|
%bcond_without lto
|
2020-02-28 11:25:15 +00:00
|
|
|
|
|
2021-06-01 06:49:40 +00:00
|
|
|
|
# Support for quick builds with rpmbuild --build-in-place.
|
|
|
|
|
# See README.build-in-place.
|
|
|
|
|
%bcond_with inplace
|
|
|
|
|
|
2010-06-22 04:16:32 +00:00
|
|
|
|
Name: systemd
|
2018-11-02 10:19:30 +00:00
|
|
|
|
Url: https://www.freedesktop.org/wiki/Software/systemd
|
2021-06-01 06:49:40 +00:00
|
|
|
|
%if %{without inplace}
|
2022-10-07 16:12:10 +00:00
|
|
|
|
Version: 252~rc1
|
2021-06-01 06:49:40 +00:00
|
|
|
|
%else
|
|
|
|
|
# determine the build information from local checkout
|
|
|
|
|
Version: %(tools/meson-vcs-tag.sh . error | sed -r 's/-([0-9])/.^\1/; s/-g/_g/')
|
|
|
|
|
%endif
|
2022-08-19 19:49:11 +00:00
|
|
|
|
Release: %autorelease -b 28
|
2021-06-01 06:49:40 +00:00
|
|
|
|
|
2012-06-05 13:16:47 +00:00
|
|
|
|
# For a breakdown of the licensing, see README
|
|
|
|
|
License: LGPLv2+ and MIT and GPLv2+
|
2016-11-03 23:00:42 +00:00
|
|
|
|
Summary: System and Service Manager
|
2013-04-09 14:19:19 +00:00
|
|
|
|
|
2015-07-29 21:32:39 +00:00
|
|
|
|
# download tarballs with "spectool -g systemd.spec"
|
2018-11-02 10:19:30 +00:00
|
|
|
|
%if %{defined commit}
|
|
|
|
|
Source0: https://github.com/systemd/systemd%{?stable:-stable}/archive/%{commit}/%{name}-%{shortcommit}.tar.gz
|
2013-04-09 14:19:19 +00:00
|
|
|
|
%else
|
2019-11-22 13:57:07 +00:00
|
|
|
|
%if 0%{?stable}
|
2021-02-23 00:48:03 +00:00
|
|
|
|
Source0: https://github.com/systemd/systemd-stable/archive/v%{version_no_tilde}/%{name}-%{version_no_tilde}.tar.gz
|
2019-11-19 12:27:41 +00:00
|
|
|
|
%else
|
2021-02-23 00:48:03 +00:00
|
|
|
|
Source0: https://github.com/systemd/systemd/archive/v%{version_no_tilde}/%{name}-%{version_no_tilde}.tar.gz
|
2013-04-09 14:19:19 +00:00
|
|
|
|
%endif
|
2019-11-19 12:27:41 +00:00
|
|
|
|
%endif
|
2016-08-04 05:05:08 +00:00
|
|
|
|
# This file must be available before %%prep.
|
2018-10-29 00:53:24 +00:00
|
|
|
|
# It is generated during systemd build and can be found in build/src/core/.
|
2016-04-04 14:51:55 +00:00
|
|
|
|
Source1: triggers.systemd
|
2017-12-11 23:41:07 +00:00
|
|
|
|
Source2: split-files.py
|
2018-02-21 14:23:30 +00:00
|
|
|
|
Source3: purge-nobody-user
|
2015-05-20 04:34:19 +00:00
|
|
|
|
|
2013-04-09 14:19:19 +00:00
|
|
|
|
# Prevent accidental removal of the systemd package
|
2014-10-07 00:37:38 +00:00
|
|
|
|
Source4: yum-protect-systemd.conf
|
2015-09-17 22:43:10 +00:00
|
|
|
|
|
2014-10-07 00:37:38 +00:00
|
|
|
|
Source5: inittab
|
2014-10-07 04:39:08 +00:00
|
|
|
|
Source6: sysctl.conf.README
|
2015-01-06 02:08:08 +00:00
|
|
|
|
Source7: systemd-journal-remote.xml
|
|
|
|
|
Source8: systemd-journal-gatewayd.xml
|
2015-06-27 18:00:14 +00:00
|
|
|
|
Source9: 20-yama-ptrace.conf
|
2016-10-07 11:39:19 +00:00
|
|
|
|
Source10: systemd-udev-trigger-no-reload.conf
|
2018-07-15 02:37:17 +00:00
|
|
|
|
Source12: systemd-user
|
2020-04-02 16:00:02 +00:00
|
|
|
|
Source13: libsystemd-shared.abignore
|
2013-04-09 14:19:19 +00:00
|
|
|
|
|
2021-02-05 09:39:39 +00:00
|
|
|
|
Source14: 10-oomd-defaults.conf
|
2022-08-23 18:59:16 +00:00
|
|
|
|
Source15: 10-oomd-per-slice-defaults.conf
|
2021-02-05 09:39:39 +00:00
|
|
|
|
|
2020-02-07 15:34:30 +00:00
|
|
|
|
Source21: macros.sysusers
|
|
|
|
|
Source22: sysusers.attr
|
|
|
|
|
Source23: sysusers.prov
|
|
|
|
|
Source24: sysusers.generate-pre.sh
|
|
|
|
|
|
2017-06-15 15:25:17 +00:00
|
|
|
|
%if 0
|
2017-10-25 14:25:53 +00:00
|
|
|
|
GIT_DIR=../../src/systemd/.git git format-patch-ab --no-signature -M -N v235..v235-stable
|
2017-06-15 15:25:17 +00:00
|
|
|
|
i=1; for j in 00*patch; do printf "Patch%04d: %s\n" $i $j; i=$((i+1));done|xclip
|
2022-02-10 16:37:56 +00:00
|
|
|
|
GIT_DIR=../../src/systemd/.git git diffab -M v233..master@{2017-06-15} -- hwdb/[67]* hwdb/parse_hwdb.py >hwdb.patch
|
2017-06-15 15:25:17 +00:00
|
|
|
|
%endif
|
2017-03-02 16:30:49 +00:00
|
|
|
|
|
2021-03-11 11:37:25 +00:00
|
|
|
|
# Backports of patches from upstream (0000–0499)
|
2021-03-23 00:08:51 +00:00
|
|
|
|
#
|
2022-05-06 18:48:00 +00:00
|
|
|
|
# Any patches which are "in preparation" upstream should be listed here, rather
|
|
|
|
|
# than in the next section. Packit CI will drop any patches in this range before
|
|
|
|
|
# applying upstream pull requests.
|
2022-03-17 21:02:01 +00:00
|
|
|
|
|
2022-09-16 14:38:42 +00:00
|
|
|
|
|
2022-05-19 10:39:10 +00:00
|
|
|
|
# Those are downstream-only patches, but we don't want them in packit builds:
|
2021-01-28 10:47:49 +00:00
|
|
|
|
# https://bugzilla.redhat.com/show_bug.cgi?id=1738828
|
2022-05-19 10:39:10 +00:00
|
|
|
|
Patch0490: use-bfq-scheduler.patch
|
2020-11-12 12:08:11 +00:00
|
|
|
|
|
2017-02-14 23:59:10 +00:00
|
|
|
|
%ifarch %{ix86} x86_64 aarch64
|
|
|
|
|
%global have_gnu_efi 1
|
|
|
|
|
%endif
|
|
|
|
|
|
2017-12-11 12:46:21 +00:00
|
|
|
|
BuildRequires: gcc
|
|
|
|
|
BuildRequires: gcc-c++
|
2021-12-25 14:29:02 +00:00
|
|
|
|
BuildRequires: clang
|
2020-07-27 10:10:55 +00:00
|
|
|
|
BuildRequires: coreutils
|
2010-06-22 04:16:32 +00:00
|
|
|
|
BuildRequires: libcap-devel
|
2014-12-10 23:01:54 +00:00
|
|
|
|
BuildRequires: libmount-devel
|
2020-02-05 12:21:04 +00:00
|
|
|
|
BuildRequires: libfdisk-devel
|
|
|
|
|
BuildRequires: libpwquality-devel
|
2010-06-22 04:16:32 +00:00
|
|
|
|
BuildRequires: pam-devel
|
2010-07-24 01:05:02 +00:00
|
|
|
|
BuildRequires: libselinux-devel
|
2010-09-14 15:51:38 +00:00
|
|
|
|
BuildRequires: audit-libs-devel
|
2020-04-16 11:05:54 +00:00
|
|
|
|
%if %{without bootstrap}
|
2012-12-05 13:51:32 +00:00
|
|
|
|
BuildRequires: cryptsetup-devel
|
2020-04-16 11:05:54 +00:00
|
|
|
|
%endif
|
2012-03-20 09:27:26 +00:00
|
|
|
|
BuildRequires: dbus-devel
|
2021-07-20 07:40:19 +00:00
|
|
|
|
BuildRequires: /usr/sbin/sfdisk
|
2020-04-19 14:47:57 +00:00
|
|
|
|
# /usr/bin/getfacl is needed by test-acl-util
|
2021-07-20 07:40:19 +00:00
|
|
|
|
BuildRequires: /usr/bin/getfacl
|
2011-07-13 21:28:44 +00:00
|
|
|
|
BuildRequires: libacl-devel
|
2013-03-07 22:46:46 +00:00
|
|
|
|
BuildRequires: gobject-introspection-devel
|
|
|
|
|
BuildRequires: libblkid-devel
|
2012-01-11 03:44:49 +00:00
|
|
|
|
BuildRequires: xz-devel
|
2017-06-07 17:14:47 +00:00
|
|
|
|
BuildRequires: xz
|
2015-11-19 13:46:22 +00:00
|
|
|
|
BuildRequires: lz4-devel
|
2017-06-07 17:14:47 +00:00
|
|
|
|
BuildRequires: lz4
|
2015-11-19 13:46:22 +00:00
|
|
|
|
BuildRequires: bzip2-devel
|
2020-06-30 07:40:20 +00:00
|
|
|
|
BuildRequires: libzstd-devel
|
2017-12-12 05:28:37 +00:00
|
|
|
|
BuildRequires: libidn2-devel
|
2014-08-19 23:48:42 +00:00
|
|
|
|
BuildRequires: libcurl-devel
|
2013-03-07 22:46:46 +00:00
|
|
|
|
BuildRequires: kmod-devel
|
2014-07-22 03:04:01 +00:00
|
|
|
|
BuildRequires: elfutils-devel
|
2020-02-05 12:21:04 +00:00
|
|
|
|
BuildRequires: openssl-devel
|
2014-07-22 03:04:01 +00:00
|
|
|
|
BuildRequires: gnutls-devel
|
2012-08-23 01:27:58 +00:00
|
|
|
|
BuildRequires: qrencode-devel
|
2012-09-28 00:38:31 +00:00
|
|
|
|
BuildRequires: libmicrohttpd-devel
|
2015-01-16 05:27:43 +00:00
|
|
|
|
BuildRequires: libxkbcommon-devel
|
2015-02-16 20:54:03 +00:00
|
|
|
|
BuildRequires: iptables-devel
|
2020-09-27 12:01:19 +00:00
|
|
|
|
BuildRequires: pkgconfig(libfido2)
|
2021-05-06 13:30:27 +00:00
|
|
|
|
BuildRequires: pkgconfig(tss2-esys)
|
|
|
|
|
BuildRequires: pkgconfig(tss2-rc)
|
|
|
|
|
BuildRequires: pkgconfig(tss2-mu)
|
2021-12-03 12:46:29 +00:00
|
|
|
|
BuildRequires: pkgconfig(libbpf)
|
2021-05-23 20:05:07 +00:00
|
|
|
|
BuildRequires: systemtap-sdt-devel
|
2012-08-23 01:27:58 +00:00
|
|
|
|
BuildRequires: libxslt
|
|
|
|
|
BuildRequires: docbook-style-xsl
|
|
|
|
|
BuildRequires: pkgconfig
|
|
|
|
|
BuildRequires: gperf
|
2013-08-15 11:04:03 +00:00
|
|
|
|
BuildRequires: gawk
|
2015-12-02 04:53:29 +00:00
|
|
|
|
BuildRequires: tree
|
2019-03-29 15:06:48 +00:00
|
|
|
|
BuildRequires: hostname
|
2021-05-17 06:02:46 +00:00
|
|
|
|
BuildRequires: python3dist(lxml)
|
|
|
|
|
BuildRequires: python3dist(jinja2)
|
2015-01-06 02:08:08 +00:00
|
|
|
|
BuildRequires: firewalld-filesystem
|
2017-02-14 23:59:10 +00:00
|
|
|
|
%if 0%{?have_gnu_efi}
|
2015-06-22 20:24:47 +00:00
|
|
|
|
BuildRequires: gnu-efi gnu-efi-devel
|
|
|
|
|
%endif
|
2014-02-20 00:12:13 +00:00
|
|
|
|
BuildRequires: libseccomp-devel
|
2017-12-12 05:27:09 +00:00
|
|
|
|
BuildRequires: meson >= 0.43
|
2017-07-02 00:16:12 +00:00
|
|
|
|
BuildRequires: gettext
|
2018-12-21 19:08:58 +00:00
|
|
|
|
# We use RUNNING_ON_VALGRIND in tests, so the headers need to be available
|
|
|
|
|
BuildRequires: valgrind-devel
|
2020-02-05 12:21:04 +00:00
|
|
|
|
BuildRequires: pkgconfig(bash-completion)
|
2020-11-12 11:22:25 +00:00
|
|
|
|
BuildRequires: perl
|
|
|
|
|
BuildRequires: perl(IPC::SysV)
|
2016-04-18 15:33:59 +00:00
|
|
|
|
|
2022-04-12 08:26:11 +00:00
|
|
|
|
%ifnarch %ix86
|
|
|
|
|
# bpftool is not built for i368
|
|
|
|
|
BuildRequires: bpftool
|
|
|
|
|
%global have_bpf 1
|
|
|
|
|
%endif
|
|
|
|
|
|
2012-01-22 19:46:45 +00:00
|
|
|
|
Requires(post): coreutils
|
2015-03-14 15:48:28 +00:00
|
|
|
|
Requires(post): grep
|
2018-11-05 20:18:32 +00:00
|
|
|
|
# systemd-machine-id-setup requires libssl
|
|
|
|
|
Requires(post): openssl-libs
|
2017-01-11 18:30:19 +00:00
|
|
|
|
Requires: dbus >= 1.9.18
|
2016-04-18 15:33:59 +00:00
|
|
|
|
Requires: %{name}-pam = %{version}-%{release}
|
2022-02-24 07:01:43 +00:00
|
|
|
|
Requires(meta): (%{name}-rpm-macros = %{version}-%{release} if rpm-build)
|
2012-11-09 13:17:50 +00:00
|
|
|
|
Requires: %{name}-libs = %{version}-%{release}
|
2021-01-26 10:53:14 +00:00
|
|
|
|
%{?fedora:Recommends: %{name}-networkd = %{version}-%{release}}
|
2021-06-16 15:03:00 +00:00
|
|
|
|
%{?fedora:Recommends: %{name}-resolved = %{version}-%{release}}
|
2015-07-29 17:31:53 +00:00
|
|
|
|
Recommends: diffutils
|
2021-06-02 09:39:07 +00:00
|
|
|
|
Requires: (util-linux-core or util-linux)
|
2016-07-27 01:33:39 +00:00
|
|
|
|
Recommends: libxkbcommon%{?_isa}
|
install everything in /usr
This patch is needed for the /usr-move feature
https://fedoraproject.org/wiki/Features/UsrMove
This package requires now 'filesystem' >= 3, which is only installable
on a system which has /bin, /sbin, /lib, /lib64 as symlinks to /usr and
not regular directories. The 'filesystem' package acts as a guard, to
prevent *this* package to be installed on old unconverted systems.
New installations will have the 'filesystem' >=3 layout right away, old
installations need to be converted with anaconda or dracut first; only
after that, the 'filesystem' package, and also *this* package can be
installed.
Packages *should* not install files in /bin, /sbin, /lib, /lib64, but
only in the corresponding directories in /usr. Packages *must* not
install conflicting files with the same names in the corresponding
directories in / and /usr. Especially compatibilty symlinks must not be
installed.
Feel free to modify any of the changes to the spec file, but keep the
above in mind.
2012-01-25 14:56:17 +00:00
|
|
|
|
Provides: /bin/systemctl
|
2012-01-26 13:37:41 +00:00
|
|
|
|
Provides: /sbin/shutdown
|
2013-03-07 22:46:46 +00:00
|
|
|
|
Provides: syslog
|
2012-01-22 19:46:45 +00:00
|
|
|
|
Provides: systemd-units = %{version}-%{release}
|
2012-07-30 10:29:09 +00:00
|
|
|
|
Obsoletes: system-setup-keyboard < 0.9
|
|
|
|
|
Provides: system-setup-keyboard = 0.9
|
2013-07-13 10:50:50 +00:00
|
|
|
|
# systemd-sysv-convert was removed in f20: https://fedorahosted.org/fpc/ticket/308
|
|
|
|
|
Obsoletes: systemd-sysv < 206
|
2016-09-29 09:18:54 +00:00
|
|
|
|
# self-obsoletes so that dnf will install new subpackages on upgrade (#1260394)
|
2021-06-16 15:03:00 +00:00
|
|
|
|
Obsoletes: %{name} < 249~~
|
2013-07-13 10:50:50 +00:00
|
|
|
|
Provides: systemd-sysv = 206
|
2014-10-13 14:33:20 +00:00
|
|
|
|
Conflicts: initscripts < 9.56.1
|
2016-01-08 09:48:55 +00:00
|
|
|
|
%if 0%{?fedora}
|
2015-05-20 18:14:50 +00:00
|
|
|
|
Conflicts: fedora-release < 23-0.12
|
2016-01-08 09:48:55 +00:00
|
|
|
|
%endif
|
2020-03-08 11:12:39 +00:00
|
|
|
|
Obsoletes: timedatex < 0.6-3
|
2019-09-21 22:05:52 +00:00
|
|
|
|
Provides: timedatex = 0.6-3
|
2020-09-26 19:08:03 +00:00
|
|
|
|
Conflicts: %{name}-standalone-tmpfiles < %{version}-%{release}^
|
2022-07-03 19:31:32 +00:00
|
|
|
|
Provides: %{name}-tmpfiles = %{version}-%{release}
|
2020-09-26 19:08:03 +00:00
|
|
|
|
Conflicts: %{name}-standalone-sysusers < %{version}-%{release}^
|
2022-07-03 19:31:32 +00:00
|
|
|
|
Provides: %{name}-sysusers = %{version}-%{release}
|
2010-06-22 04:16:32 +00:00
|
|
|
|
|
2020-10-20 15:33:29 +00:00
|
|
|
|
# Recommends to replace normal Requires deps for stuff that is dlopen()ed
|
2021-05-20 14:52:27 +00:00
|
|
|
|
Recommends: libidn2.so.0%{?elf_suffix}
|
|
|
|
|
Recommends: libidn2.so.0(IDN2_0.0.0)%{?elf_bits}
|
|
|
|
|
Recommends: libpcre2-8.so.0%{?elf_suffix}
|
|
|
|
|
Recommends: libpwquality.so.1%{?elf_suffix}
|
|
|
|
|
Recommends: libpwquality.so.1(LIBPWQUALITY_1.0)%{?elf_bits}
|
|
|
|
|
Recommends: libqrencode.so.4%{?elf_suffix}
|
2021-12-09 22:10:44 +00:00
|
|
|
|
Recommends: libbpf.so.0%{?elf_suffix}
|
|
|
|
|
Recommends: libbpf.so.0(LIBBPF_0.4.0)%{?elf_bits}
|
|
|
|
|
|
|
|
|
|
# used by systemd-coredump and systemd-analyze
|
|
|
|
|
Recommends: libdw.so.1%{?elf_suffix}
|
|
|
|
|
Recommends: libdw.so.1(ELFUTILS_0.186)%{?elf_bits}
|
|
|
|
|
Recommends: libelf.so.1%{?elf_suffix}
|
|
|
|
|
Recommends: libelf.so.1(ELFUTILS_1.7)%{?elf_bits}
|
|
|
|
|
|
|
|
|
|
# used by dissect, integritysetup, veritysetyp, growfs, repart, cryptenroll, home
|
|
|
|
|
Recommends: libcryptsetup.so.12%{?elf_suffix}
|
|
|
|
|
Recommends: libcryptsetup.so.12(CRYPTSETUP_2.4)%{?elf_bits}
|
2020-10-20 15:33:29 +00:00
|
|
|
|
|
2010-06-22 04:16:32 +00:00
|
|
|
|
%description
|
2021-09-29 15:19:21 +00:00
|
|
|
|
systemd is a system and service manager that runs as PID 1 and starts the rest
|
|
|
|
|
of the system. It 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 control groups, maintains mount
|
|
|
|
|
and automount points, and implements an elaborate transactional dependency-based
|
|
|
|
|
service control logic. systemd supports SysV and LSB init scripts and works as a
|
2017-02-16 18:10:10 +00:00
|
|
|
|
replacement for sysvinit. Other parts of this package are a logging daemon,
|
2021-09-29 15:19:21 +00:00
|
|
|
|
utilities to control basic system configuration like the hostname, date, locale,
|
|
|
|
|
maintain a list of logged-in users, system accounts, runtime directories and
|
2022-01-04 16:41:56 +00:00
|
|
|
|
settings, and a logging daemons.
|
2019-07-30 19:39:02 +00:00
|
|
|
|
%if 0%{?stable}
|
2020-04-01 17:55:01 +00:00
|
|
|
|
This package was built from the %{version}-stable branch of systemd.
|
2019-04-26 11:14:59 +00:00
|
|
|
|
%endif
|
2010-06-22 04:16:32 +00:00
|
|
|
|
|
2012-06-06 22:57:02 +00:00
|
|
|
|
%package libs
|
|
|
|
|
Summary: systemd libraries
|
|
|
|
|
License: LGPLv2+ and MIT
|
2012-07-02 18:52:00 +00:00
|
|
|
|
Obsoletes: libudev < 183
|
2012-06-22 12:33:14 +00:00
|
|
|
|
Obsoletes: systemd < 185-4
|
|
|
|
|
Conflicts: systemd < 185-4
|
2016-05-22 03:56:03 +00:00
|
|
|
|
Obsoletes: systemd-compat-libs < 230
|
2016-10-11 17:01:50 +00:00
|
|
|
|
Obsoletes: nss-myhostname < 0.4
|
|
|
|
|
Provides: nss-myhostname = 0.4
|
2016-10-29 20:59:04 +00:00
|
|
|
|
Provides: nss-myhostname%{_isa} = 0.4
|
2012-06-06 22:57:02 +00:00
|
|
|
|
|
|
|
|
|
%description libs
|
2016-04-18 15:33:59 +00:00
|
|
|
|
Libraries for systemd and udev.
|
|
|
|
|
|
|
|
|
|
%package pam
|
|
|
|
|
Summary: systemd PAM module
|
|
|
|
|
Requires: %{name} = %{version}-%{release}
|
|
|
|
|
|
|
|
|
|
%description pam
|
|
|
|
|
Systemd PAM module registers the session with systemd-logind.
|
2012-06-06 22:57:02 +00:00
|
|
|
|
|
2018-11-02 10:39:52 +00:00
|
|
|
|
%package rpm-macros
|
|
|
|
|
Summary: Macros that define paths and scriptlets related to systemd
|
2018-11-02 10:53:19 +00:00
|
|
|
|
BuildArch: noarch
|
2018-11-02 10:39:52 +00:00
|
|
|
|
|
|
|
|
|
%description rpm-macros
|
2019-10-20 09:57:02 +00:00
|
|
|
|
Just the definitions of rpm macros.
|
|
|
|
|
|
|
|
|
|
See
|
|
|
|
|
https://docs.fedoraproject.org/en-US/packaging-guidelines/Scriptlets/#_systemd
|
|
|
|
|
for information how to use those macros.
|
2018-11-02 10:39:52 +00:00
|
|
|
|
|
2011-07-27 21:25:36 +00:00
|
|
|
|
%package devel
|
|
|
|
|
Summary: Development headers for systemd
|
2012-06-06 22:57:02 +00:00
|
|
|
|
License: LGPLv2+ and MIT
|
2015-05-30 22:10:46 +00:00
|
|
|
|
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
|
2022-09-29 08:20:07 +00:00
|
|
|
|
Requires(meta): (%{name}-rpm-macros = %{version}-%{release} if rpm-build)
|
2012-06-05 16:33:49 +00:00
|
|
|
|
Provides: libudev-devel = %{version}
|
2016-10-29 20:59:04 +00:00
|
|
|
|
Provides: libudev-devel%{_isa} = %{version}
|
2012-05-24 20:42:11 +00:00
|
|
|
|
Obsoletes: libudev-devel < 183
|
2011-07-27 21:25:36 +00:00
|
|
|
|
|
|
|
|
|
%description devel
|
2015-06-17 18:49:27 +00:00
|
|
|
|
Development headers and auxiliary files for developing applications linking
|
|
|
|
|
to libudev or libsystemd.
|
2011-07-27 21:25:36 +00:00
|
|
|
|
|
2015-11-12 06:12:17 +00:00
|
|
|
|
%package udev
|
|
|
|
|
Summary: Rule-based device node and kernel event manager
|
2020-04-11 08:59:58 +00:00
|
|
|
|
License: LGPLv2+
|
|
|
|
|
|
2020-06-02 07:13:17 +00:00
|
|
|
|
Requires: systemd%{?_isa} = %{version}-%{release}
|
2015-11-12 06:12:17 +00:00
|
|
|
|
Requires(post): systemd
|
|
|
|
|
Requires(preun): systemd
|
|
|
|
|
Requires(postun): systemd
|
2016-04-22 18:21:31 +00:00
|
|
|
|
Requires(post): grep
|
2016-03-15 19:40:45 +00:00
|
|
|
|
Requires: kmod >= 18-4
|
2020-06-02 07:13:17 +00:00
|
|
|
|
# https://bodhi.fedoraproject.org/updates/FEDORA-2020-dd43dd05b1
|
|
|
|
|
Obsoletes: systemd < 245.6-1
|
2015-11-12 06:12:17 +00:00
|
|
|
|
Provides: udev = %{version}
|
2016-10-29 20:59:04 +00:00
|
|
|
|
Provides: udev%{_isa} = %{version}
|
2015-11-12 06:12:17 +00:00
|
|
|
|
Obsoletes: udev < 183
|
2020-06-02 07:13:17 +00:00
|
|
|
|
|
2021-12-09 22:10:44 +00:00
|
|
|
|
# Recommends to replace normal Requires deps for stuff that is dlopen()ed
|
|
|
|
|
# used by dissect, integritysetup, veritysetyp, growfs, repart, cryptenroll, home
|
|
|
|
|
Recommends: libcryptsetup.so.12%{?elf_suffix}
|
|
|
|
|
Recommends: libcryptsetup.so.12(CRYPTSETUP_2.4)%{?elf_bits}
|
|
|
|
|
|
|
|
|
|
# used by systemd-coredump and systemd-analyze
|
|
|
|
|
Recommends: libdw.so.1%{?elf_suffix}
|
|
|
|
|
Recommends: libdw.so.1(ELFUTILS_0.186)%{?elf_bits}
|
|
|
|
|
Recommends: libelf.so.1%{?elf_suffix}
|
|
|
|
|
Recommends: libelf.so.1(ELFUTILS_1.7)%{?elf_bits}
|
|
|
|
|
|
|
|
|
|
# used by home, cryptsetup, cryptenroll
|
|
|
|
|
Recommends: libfido2.so.1%{?elf_suffix}
|
|
|
|
|
Recommends: libtss2-esys.so.0%{?elf_suffix}
|
|
|
|
|
Recommends: libtss2-mu.so.0%{?elf_suffix}
|
|
|
|
|
Recommends: libtss2-rc.so.0%{?elf_suffix}
|
|
|
|
|
|
2016-09-26 19:16:25 +00:00
|
|
|
|
# https://bugzilla.redhat.com/show_bug.cgi?id=1377733#c9
|
2020-03-03 14:30:48 +00:00
|
|
|
|
Suggests: systemd-bootchart
|
2017-07-11 05:29:36 +00:00
|
|
|
|
# https://bugzilla.redhat.com/show_bug.cgi?id=1408878
|
2020-02-28 11:20:36 +00:00
|
|
|
|
Requires: kbd
|
2020-04-11 08:59:58 +00:00
|
|
|
|
|
|
|
|
|
# https://bugzilla.redhat.com/show_bug.cgi?id=1753381
|
|
|
|
|
Provides: u2f-hidraw-policy = 1.0.2-40
|
|
|
|
|
Obsoletes: u2f-hidraw-policy < 1.0.2-40
|
2015-11-12 06:12:17 +00:00
|
|
|
|
|
|
|
|
|
%description udev
|
2021-09-29 15:19:21 +00:00
|
|
|
|
This package contains systemd-udev and the rules and hardware database needed to
|
|
|
|
|
manage device nodes. This package is necessary on physical machines and in
|
|
|
|
|
virtual machines, but not in containers.
|
2015-11-12 06:12:17 +00:00
|
|
|
|
|
2022-01-04 16:41:56 +00:00
|
|
|
|
This package also provides systemd-timesyncd, a network time protocol daemon.
|
|
|
|
|
|
2021-12-09 22:10:44 +00:00
|
|
|
|
It also contains tools to manage encrypted home areas and secrets bound to the
|
2022-01-04 16:41:56 +00:00
|
|
|
|
machine, and to create or grow partitions and make file systems automatically.
|
2021-12-09 22:10:44 +00:00
|
|
|
|
|
2015-11-12 04:46:42 +00:00
|
|
|
|
%package container
|
|
|
|
|
# Name is the same as in Debian
|
|
|
|
|
Summary: Tools for containers and VMs
|
|
|
|
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
|
|
|
|
Requires(post): systemd
|
|
|
|
|
Requires(preun): systemd
|
|
|
|
|
Requires(postun): systemd
|
2015-11-12 06:12:17 +00:00
|
|
|
|
# obsolete parent package so that dnf will install new subpackage on upgrade (#1260394)
|
2015-11-12 04:46:42 +00:00
|
|
|
|
Obsoletes: %{name} < 229-5
|
2022-02-10 17:14:26 +00:00
|
|
|
|
# Bias the system towards libcurl-minimal if nothing pulls in full libcurl (#1997040)
|
|
|
|
|
Suggests: libcurl-minimal
|
2015-11-12 04:46:42 +00:00
|
|
|
|
License: LGPLv2+
|
|
|
|
|
|
|
|
|
|
%description container
|
|
|
|
|
Systemd tools to spawn and manage containers and virtual machines.
|
|
|
|
|
|
2021-09-29 15:19:21 +00:00
|
|
|
|
This package contains systemd-nspawn, machinectl, systemd-machined, and
|
|
|
|
|
systemd-importd.
|
2015-11-12 04:46:42 +00:00
|
|
|
|
|
2015-11-07 15:31:13 +00:00
|
|
|
|
%package journal-remote
|
|
|
|
|
# Name is the same as in Debian
|
|
|
|
|
Summary: Tools to send journal events over the network
|
2015-04-08 14:20:46 +00:00
|
|
|
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
2013-06-26 10:32:27 +00:00
|
|
|
|
License: LGPLv2+
|
2015-01-06 02:08:08 +00:00
|
|
|
|
Requires: firewalld-filesystem
|
2015-11-07 15:31:13 +00:00
|
|
|
|
Provides: %{name}-journal-gateway = %{version}-%{release}
|
2016-10-29 20:59:04 +00:00
|
|
|
|
Provides: %{name}-journal-gateway%{_isa} = %{version}-%{release}
|
2015-11-19 01:22:43 +00:00
|
|
|
|
Obsoletes: %{name}-journal-gateway < 227-7
|
2022-02-10 17:14:26 +00:00
|
|
|
|
# Bias the system towards libcurl-minimal if nothing pulls in full libcurl (#1997040)
|
|
|
|
|
Suggests: libcurl-minimal
|
2013-06-26 10:32:27 +00:00
|
|
|
|
|
2015-11-07 15:31:13 +00:00
|
|
|
|
%description journal-remote
|
2021-09-29 15:19:21 +00:00
|
|
|
|
Programs to forward journal entries over the network, using encrypted HTTP, and
|
|
|
|
|
to write journal files from serialized journal contents.
|
2015-11-07 15:31:13 +00:00
|
|
|
|
|
2021-09-29 15:19:21 +00:00
|
|
|
|
This package contains systemd-journal-gatewayd, systemd-journal-remote, and
|
|
|
|
|
systemd-journal-upload.
|
2013-06-26 10:32:27 +00:00
|
|
|
|
|
2020-09-24 15:21:29 +00:00
|
|
|
|
%package networkd
|
2020-10-11 13:24:55 +00:00
|
|
|
|
Summary: System daemon that manages network configurations
|
2020-09-24 15:21:29 +00:00
|
|
|
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
|
|
|
|
License: LGPLv2+
|
|
|
|
|
# https://src.fedoraproject.org/rpms/systemd/pull-request/34
|
|
|
|
|
Obsoletes: systemd < 246.6-2
|
|
|
|
|
|
|
|
|
|
%description networkd
|
2021-09-29 15:19:21 +00:00
|
|
|
|
systemd-networkd is a system service that manages networks. It detects and
|
|
|
|
|
configures network devices as they appear, as well as creating virtual network
|
|
|
|
|
devices.
|
2020-09-24 15:21:29 +00:00
|
|
|
|
|
2021-06-16 15:03:00 +00:00
|
|
|
|
%package resolved
|
|
|
|
|
Summary: Network Name Resolution manager
|
|
|
|
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
|
|
|
|
Obsoletes: %{name} < 249~~
|
2021-12-09 22:10:44 +00:00
|
|
|
|
Requires: libidn2.so.0%{?elf_suffix}
|
|
|
|
|
Requires: libidn2.so.0(IDN2_0.0.0)%{?elf_bits}
|
2022-02-23 22:27:29 +00:00
|
|
|
|
Requires(posttrans): grep
|
2021-06-16 15:03:00 +00:00
|
|
|
|
|
|
|
|
|
%description resolved
|
2021-09-29 15:19:21 +00:00
|
|
|
|
systemd-resolved is a system service that provides network name resolution to
|
|
|
|
|
local applications. It implements a caching and validating DNS/DNSSEC stub
|
|
|
|
|
resolver, as well as an LLMNR and MulticastDNS resolver and responder.
|
2021-06-16 15:03:00 +00:00
|
|
|
|
|
2021-02-05 09:39:39 +00:00
|
|
|
|
%package oomd-defaults
|
|
|
|
|
Summary: Configuration files for systemd-oomd
|
2021-05-18 16:06:15 +00:00
|
|
|
|
Requires: %{name} = %{version}-%{release}
|
2021-02-05 09:39:39 +00:00
|
|
|
|
License: LGPLv2+
|
2021-05-18 16:06:15 +00:00
|
|
|
|
BuildArch: noarch
|
2021-02-05 09:39:39 +00:00
|
|
|
|
|
|
|
|
|
%description oomd-defaults
|
|
|
|
|
A set of drop-in files for systemd units to enable action from systemd-oomd,
|
|
|
|
|
a userspace out-of-memory (OOM) killer.
|
|
|
|
|
|
2017-03-02 16:30:49 +00:00
|
|
|
|
%package tests
|
|
|
|
|
Summary: Internal unit tests for systemd
|
|
|
|
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
|
|
|
|
License: LGPLv2+
|
|
|
|
|
|
|
|
|
|
%description tests
|
2021-09-29 15:19:21 +00:00
|
|
|
|
"Installed tests" that are usually run as part of the build system. They can be
|
|
|
|
|
useful to test systemd internals.
|
2017-03-02 16:30:49 +00:00
|
|
|
|
|
2020-06-03 21:40:09 +00:00
|
|
|
|
%package standalone-tmpfiles
|
|
|
|
|
Summary: Standalone tmpfiles binary for use in non-systemd systems
|
2022-07-03 19:31:32 +00:00
|
|
|
|
Provides: %{name}-tmpfiles = %{version}-%{release}
|
2020-06-03 21:40:09 +00:00
|
|
|
|
RemovePathPostfixes: .standalone
|
|
|
|
|
|
|
|
|
|
%description standalone-tmpfiles
|
2021-09-29 15:19:21 +00:00
|
|
|
|
Standalone tmpfiles binary with no dependencies on the systemd-shared library or
|
|
|
|
|
other libraries from systemd-libs. This package conflicts with the main systemd
|
|
|
|
|
package and is meant for use in non-systemd systems.
|
2020-06-03 21:40:09 +00:00
|
|
|
|
|
|
|
|
|
%package standalone-sysusers
|
|
|
|
|
Summary: Standalone sysusers binary for use in non-systemd systems
|
2022-07-03 19:31:32 +00:00
|
|
|
|
Provides: %{name}-sysusers = %{version}-%{release}
|
2020-06-03 21:40:09 +00:00
|
|
|
|
RemovePathPostfixes: .standalone
|
|
|
|
|
|
|
|
|
|
%description standalone-sysusers
|
2021-09-29 15:19:21 +00:00
|
|
|
|
Standalone sysusers binary with no dependencies on the systemd-shared library or
|
|
|
|
|
other libraries from systemd-libs. This package conflicts with the main systemd
|
|
|
|
|
package and is meant for use in non-systemd systems.
|
2020-06-03 21:40:09 +00:00
|
|
|
|
|
2010-06-22 04:16:32 +00:00
|
|
|
|
%prep
|
2021-02-23 00:48:03 +00:00
|
|
|
|
%autosetup -n %{?commit:%{name}%{?stable:-stable}-%{commit}}%{!?commit:%{name}%{?stable:-stable}-%{version_no_tilde}} -p1
|
2013-03-13 07:31:41 +00:00
|
|
|
|
|
2022-02-10 16:37:56 +00:00
|
|
|
|
test -f src/login/systemd-user.in
|
|
|
|
|
# Restore systemd-user pam config from before "removal of Fedora-specific bits".
|
|
|
|
|
# We'll systemd process it and install in the right place.
|
|
|
|
|
cp %{SOURCE12} src/login/systemd-user.in
|
|
|
|
|
|
2010-06-22 04:16:32 +00:00
|
|
|
|
%build
|
2022-02-24 07:01:43 +00:00
|
|
|
|
%global ntpvendor %(source /etc/os-release; echo ${ID})
|
2014-09-09 18:34:49 +00:00
|
|
|
|
%{!?ntpvendor: echo 'NTP vendor zone is not set!'; exit 1}
|
|
|
|
|
|
2014-09-09 18:34:46 +00:00
|
|
|
|
CONFIGURE_OPTS=(
|
2020-10-20 15:33:29 +00:00
|
|
|
|
-Dmode=release
|
2017-07-02 00:16:12 +00:00
|
|
|
|
-Dsysvinit-path=/etc/rc.d/init.d
|
|
|
|
|
-Drc-local=/etc/rc.d/rc.local
|
|
|
|
|
-Dntp-servers='0.%{ntpvendor}.pool.ntp.org 1.%{ntpvendor}.pool.ntp.org 2.%{ntpvendor}.pool.ntp.org 3.%{ntpvendor}.pool.ntp.org'
|
2020-10-06 11:19:04 +00:00
|
|
|
|
-Ddns-servers=
|
2019-11-22 13:57:07 +00:00
|
|
|
|
-Duser-path=/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin
|
2019-12-21 18:00:29 +00:00
|
|
|
|
-Dservice-watchdog=
|
2017-07-13 15:35:31 +00:00
|
|
|
|
-Ddev-kvm-mode=0666
|
2017-07-02 00:16:12 +00:00
|
|
|
|
-Dkmod=true
|
|
|
|
|
-Dxkbcommon=true
|
|
|
|
|
-Dblkid=true
|
2020-02-05 12:21:04 +00:00
|
|
|
|
-Dfdisk=true
|
2017-07-02 00:16:12 +00:00
|
|
|
|
-Dseccomp=true
|
|
|
|
|
-Dima=true
|
|
|
|
|
-Dselinux=true
|
2022-04-12 08:26:11 +00:00
|
|
|
|
-Dbpf-framework=%[0%{?have_bpf}?"true":"false"]
|
2017-07-02 00:16:12 +00:00
|
|
|
|
-Dapparmor=false
|
|
|
|
|
-Dpolkit=true
|
|
|
|
|
-Dxz=true
|
|
|
|
|
-Dzlib=true
|
|
|
|
|
-Dbzip2=true
|
|
|
|
|
-Dlz4=true
|
2020-07-12 20:54:36 +00:00
|
|
|
|
-Dzstd=true
|
2017-07-02 00:16:12 +00:00
|
|
|
|
-Dpam=true
|
|
|
|
|
-Dacl=true
|
|
|
|
|
-Dsmack=true
|
2020-02-05 12:21:04 +00:00
|
|
|
|
-Dopenssl=true
|
2021-12-03 12:46:29 +00:00
|
|
|
|
-Dcryptolib=openssl
|
2020-02-05 12:21:04 +00:00
|
|
|
|
-Dp11kit=true
|
2022-06-29 15:17:14 +00:00
|
|
|
|
-Dgcrypt=false
|
2017-07-02 00:16:12 +00:00
|
|
|
|
-Daudit=true
|
|
|
|
|
-Delfutils=true
|
2021-06-16 10:33:24 +00:00
|
|
|
|
-Dlibcryptsetup=%[%{with bootstrap}?"false":"true"]
|
2017-07-02 00:16:12 +00:00
|
|
|
|
-Delfutils=true
|
2020-02-05 12:21:04 +00:00
|
|
|
|
-Dpwquality=true
|
2017-07-02 00:16:12 +00:00
|
|
|
|
-Dqrencode=true
|
|
|
|
|
-Dgnutls=true
|
|
|
|
|
-Dmicrohttpd=true
|
2017-12-12 05:28:37 +00:00
|
|
|
|
-Dlibidn2=true
|
2021-11-19 16:29:38 +00:00
|
|
|
|
-Dlibiptc=false
|
2017-07-02 00:16:12 +00:00
|
|
|
|
-Dlibcurl=true
|
2020-09-27 12:01:19 +00:00
|
|
|
|
-Dlibfido2=true
|
2017-07-02 00:16:12 +00:00
|
|
|
|
-Defi=true
|
2021-06-16 10:33:24 +00:00
|
|
|
|
-Dgnu-efi=%[%{?have_gnu_efi}?"true":"false"]
|
2017-07-02 00:16:12 +00:00
|
|
|
|
-Dtpm=true
|
2021-05-06 13:30:27 +00:00
|
|
|
|
-Dtpm2=true
|
2017-07-02 00:16:12 +00:00
|
|
|
|
-Dhwdb=true
|
|
|
|
|
-Dsysusers=true
|
2020-06-03 21:40:09 +00:00
|
|
|
|
-Dstandalone-binaries=true
|
2017-07-02 00:16:12 +00:00
|
|
|
|
-Ddefault-kill-user-processes=false
|
2022-08-09 10:20:22 +00:00
|
|
|
|
-Dfirst-boot-full-preset=true
|
2017-07-02 00:16:12 +00:00
|
|
|
|
-Dtests=unsafe
|
|
|
|
|
-Dinstall-tests=true
|
2017-12-12 05:27:09 +00:00
|
|
|
|
-Dtty-gid=5
|
|
|
|
|
-Dusers-gid=100
|
2018-02-20 22:46:22 +00:00
|
|
|
|
-Dnobody-user=nobody
|
|
|
|
|
-Dnobody-group=nobody
|
2020-10-20 15:33:29 +00:00
|
|
|
|
-Dcompat-mutable-uid-boundaries=true
|
2018-03-05 21:31:56 +00:00
|
|
|
|
-Dsplit-usr=false
|
|
|
|
|
-Dsplit-bin=true
|
2021-06-16 10:33:24 +00:00
|
|
|
|
-Db_lto=%[%{with lto}?"true":"false"]
|
2019-03-27 17:37:25 +00:00
|
|
|
|
-Db_ndebug=false
|
2019-07-30 19:39:02 +00:00
|
|
|
|
-Dman=true
|
Drop "v" from the version tag, add tilde back
When -Dversion-tag was initially added in edaa157918874478659896090b9512af0c50f82e,
I used "v" without any comment. But upstream does not use "v", so we have
versions which don't compare directly:
$ build/systemctl --version|head -n1
systemd 251 (251-66-g7e46a5c+)
$ systemctl --version|head -n1
systemd 251 (v251-1.fc37)
And in 3c4f9413a760fa2dc26c140a08e1d11cf46ac6e7, when -Dshared-lib-tag= was
introduced, %{version} was replaced by %{version_no_tilde}, again without any
specific comment. For the shared-lib-tag, it makes sense to use _no_tilde,
because it's enough to have non-conflicting file names, and we don't compare
the tags. I guess I wanted both uses to be consistent. But if we substitute
the tilde, we can't do proper comparisons.
I noticed the following issue: with sd-boot installed from git and a
package, upgrades wouldn't work:
Comparing versions: "systemd-boot v251-1.fc37" < "systemd-boot 251-rc1-390-g3603f15
Skipping "/boot/efi/EFI/systemd/systemd-bootx64.efi", since newer boot loader version in place already.
The two changes should make those comparisons work properly in most
cases.
2022-05-25 12:32:47 +00:00
|
|
|
|
-Dversion-tag=%{version}-%{release}
|
2022-03-29 20:07:50 +00:00
|
|
|
|
# https://bugzilla.redhat.com/show_bug.cgi?id=1906010
|
2022-05-25 12:45:31 +00:00
|
|
|
|
-Dshared-lib-tag=%{version_no_tilde}-%{release}
|
2022-08-09 23:53:46 +00:00
|
|
|
|
-Dfallback-hostname="localhost"
|
2020-07-12 20:53:09 +00:00
|
|
|
|
-Ddefault-dnssec=no
|
2022-03-14 14:48:35 +00:00
|
|
|
|
-Ddefault-dns-over-tls=no
|
2020-09-02 08:49:44 +00:00
|
|
|
|
# https://bugzilla.redhat.com/show_bug.cgi?id=1867830
|
|
|
|
|
-Ddefault-mdns=no
|
2020-07-12 20:53:09 +00:00
|
|
|
|
-Ddefault-llmnr=resolve
|
2021-12-23 12:45:31 +00:00
|
|
|
|
# https://bugzilla.redhat.com/show_bug.cgi?id=2028169
|
|
|
|
|
-Dstatus-unit-format-default=combined
|
2020-11-12 12:08:11 +00:00
|
|
|
|
-Doomd=true
|
2021-06-16 10:27:54 +00:00
|
|
|
|
-Dadm-gid=4
|
|
|
|
|
-Daudio-gid=63
|
|
|
|
|
-Dcdrom-gid=11
|
|
|
|
|
-Ddialout-gid=18
|
|
|
|
|
-Ddisk-gid=6
|
2021-12-03 14:48:12 +00:00
|
|
|
|
-Dinput-gid=104
|
2021-06-16 10:27:54 +00:00
|
|
|
|
-Dkmem-gid=9
|
|
|
|
|
-Dkvm-gid=36
|
|
|
|
|
-Dlp-gid=7
|
2021-12-03 14:48:12 +00:00
|
|
|
|
-Drender-gid=105
|
|
|
|
|
-Dsgx-gid=106
|
2021-06-16 10:27:54 +00:00
|
|
|
|
-Dtape-gid=33
|
|
|
|
|
-Dtty-gid=5
|
|
|
|
|
-Dusers-gid=100
|
|
|
|
|
-Dutmp-gid=22
|
|
|
|
|
-Dvideo-gid=39
|
|
|
|
|
-Dwheel-gid=10
|
|
|
|
|
-Dsystemd-journal-gid=190
|
|
|
|
|
-Dsystemd-network-uid=192
|
|
|
|
|
-Dsystemd-resolve-uid=193
|
|
|
|
|
# -Dsystemd-timesync-uid=, not set yet
|
2014-09-09 18:34:46 +00:00
|
|
|
|
)
|
|
|
|
|
|
2021-01-13 12:52:14 +00:00
|
|
|
|
%if %{without lto}
|
|
|
|
|
%global _lto_cflags %nil
|
|
|
|
|
%endif
|
|
|
|
|
|
2021-06-01 06:49:40 +00:00
|
|
|
|
# Do configuration. If doing an inplace build, try to do
|
|
|
|
|
# reconfiguration to pick up new options.
|
|
|
|
|
%if %{with inplace}
|
|
|
|
|
command -v ccache 2>/dev/null && { CC="${CC:-ccache %__cc}"; CXX="${CXX:-ccache %__cxx}"; }
|
|
|
|
|
|
|
|
|
|
[ -e %{_vpath_builddir}/build.ninja ] &&
|
|
|
|
|
%__meson configure %{_vpath_builddir} "${CONFIGURE_OPTS[@]}" ||
|
|
|
|
|
%endif
|
|
|
|
|
{ %meson "${CONFIGURE_OPTS[@]}"; }
|
2021-02-23 08:23:10 +00:00
|
|
|
|
|
2021-06-25 16:30:40 +00:00
|
|
|
|
%meson_build
|
|
|
|
|
|
2021-02-23 08:23:10 +00:00
|
|
|
|
new_triggers=%{_vpath_builddir}/src/rpm/triggers.systemd.sh
|
|
|
|
|
if ! diff -u %{SOURCE1} ${new_triggers}; then
|
|
|
|
|
echo -e "\n\n\nWARNING: triggers.systemd in Source1 is different!"
|
|
|
|
|
echo -e " cp $PWD/${new_triggers} %{SOURCE1}\n\n\n"
|
|
|
|
|
sleep 5
|
|
|
|
|
fi
|
|
|
|
|
|
2010-06-22 04:16:32 +00:00
|
|
|
|
%install
|
2017-07-02 00:16:12 +00:00
|
|
|
|
%meson_install
|
2016-07-26 19:12:35 +00:00
|
|
|
|
|
2012-08-07 15:16:26 +00:00
|
|
|
|
# udev links
|
2013-03-15 16:19:10 +00:00
|
|
|
|
mkdir -p %{buildroot}/%{_sbindir}
|
|
|
|
|
ln -sf ../bin/udevadm %{buildroot}%{_sbindir}/udevadm
|
2010-07-24 00:51:34 +00:00
|
|
|
|
|
2014-10-07 00:37:38 +00:00
|
|
|
|
# Compatiblity and documentation files
|
|
|
|
|
touch %{buildroot}/etc/crypttab
|
|
|
|
|
chmod 600 %{buildroot}/etc/crypttab
|
|
|
|
|
|
2017-07-02 00:16:12 +00:00
|
|
|
|
# /etc/initab
|
2016-10-07 11:32:48 +00:00
|
|
|
|
install -Dm0644 -t %{buildroot}/etc/ %{SOURCE5}
|
2014-10-07 00:37:38 +00:00
|
|
|
|
|
2017-07-02 00:16:12 +00:00
|
|
|
|
# /etc/sysctl.conf compat
|
2015-01-19 21:11:51 +00:00
|
|
|
|
install -Dm0644 %{SOURCE6} %{buildroot}/etc/sysctl.conf
|
2014-10-07 04:39:08 +00:00
|
|
|
|
ln -s ../sysctl.conf %{buildroot}/etc/sysctl.d/99-sysctl.conf
|
|
|
|
|
|
2010-09-14 00:38:13 +00:00
|
|
|
|
# Make sure these directories are properly owned
|
2015-03-23 02:47:59 +00:00
|
|
|
|
mkdir -p %{buildroot}%{system_unit_dir}/basic.target.wants
|
|
|
|
|
mkdir -p %{buildroot}%{system_unit_dir}/default.target.wants
|
|
|
|
|
mkdir -p %{buildroot}%{system_unit_dir}/dbus.target.wants
|
|
|
|
|
mkdir -p %{buildroot}%{system_unit_dir}/syslog.target.wants
|
2020-04-01 17:42:04 +00:00
|
|
|
|
mkdir -p %{buildroot}/run
|
2015-01-19 21:11:51 +00:00
|
|
|
|
mkdir -p %{buildroot}%{_localstatedir}/log
|
2022-01-19 07:31:33 +00:00
|
|
|
|
touch %{buildroot}%{_localstatedir}/log/lastlog
|
|
|
|
|
chmod 0664 %{buildroot}%{_localstatedir}/log/lastlog
|
2020-04-01 17:42:04 +00:00
|
|
|
|
touch %{buildroot}/run/utmp
|
2014-10-07 03:52:00 +00:00
|
|
|
|
touch %{buildroot}%{_localstatedir}/log/{w,b}tmp
|
|
|
|
|
|
2012-02-11 01:46:33 +00:00
|
|
|
|
# Make sure the user generators dir exists too
|
2015-03-23 02:47:59 +00:00
|
|
|
|
mkdir -p %{buildroot}%{pkgdir}/system-generators
|
|
|
|
|
mkdir -p %{buildroot}%{pkgdir}/user-generators
|
2012-02-11 01:46:33 +00:00
|
|
|
|
|
2011-04-21 01:39:20 +00:00
|
|
|
|
# Create new-style configuration files so that we can ghost-own them
|
2013-03-15 16:19:10 +00:00
|
|
|
|
touch %{buildroot}%{_sysconfdir}/hostname
|
|
|
|
|
touch %{buildroot}%{_sysconfdir}/vconsole.conf
|
|
|
|
|
touch %{buildroot}%{_sysconfdir}/locale.conf
|
|
|
|
|
touch %{buildroot}%{_sysconfdir}/machine-id
|
|
|
|
|
touch %{buildroot}%{_sysconfdir}/machine-info
|
|
|
|
|
touch %{buildroot}%{_sysconfdir}/localtime
|
|
|
|
|
mkdir -p %{buildroot}%{_sysconfdir}/X11/xorg.conf.d
|
|
|
|
|
touch %{buildroot}%{_sysconfdir}/X11/xorg.conf.d/00-keyboard.conf
|
2011-04-21 01:39:20 +00:00
|
|
|
|
|
2012-07-03 19:12:08 +00:00
|
|
|
|
# Make sure the shutdown/sleep drop-in dirs exist
|
2015-03-23 02:47:59 +00:00
|
|
|
|
mkdir -p %{buildroot}%{pkgdir}/system-shutdown/
|
|
|
|
|
mkdir -p %{buildroot}%{pkgdir}/system-sleep/
|
2012-07-03 19:12:08 +00:00
|
|
|
|
|
2013-03-07 22:27:37 +00:00
|
|
|
|
# Make sure directories in /var exist
|
2013-03-15 16:19:10 +00:00
|
|
|
|
mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/coredump
|
|
|
|
|
mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/catalog
|
2014-07-03 20:15:11 +00:00
|
|
|
|
mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/backlight
|
|
|
|
|
mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/rfkill
|
2016-04-10 15:21:43 +00:00
|
|
|
|
mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/linger
|
2017-12-12 06:49:18 +00:00
|
|
|
|
mkdir -p %{buildroot}%{_localstatedir}/lib/private
|
|
|
|
|
mkdir -p %{buildroot}%{_localstatedir}/log/private
|
|
|
|
|
mkdir -p %{buildroot}%{_localstatedir}/cache/private
|
|
|
|
|
mkdir -p %{buildroot}%{_localstatedir}/lib/private/systemd/journal-upload
|
2018-12-22 07:52:00 +00:00
|
|
|
|
mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/timesync
|
2017-12-12 06:49:18 +00:00
|
|
|
|
ln -s ../private/systemd/journal-upload %{buildroot}%{_localstatedir}/lib/systemd/journal-upload
|
2013-03-15 16:19:10 +00:00
|
|
|
|
mkdir -p %{buildroot}%{_localstatedir}/log/journal
|
|
|
|
|
touch %{buildroot}%{_localstatedir}/lib/systemd/catalog/database
|
|
|
|
|
touch %{buildroot}%{_sysconfdir}/udev/hwdb.bin
|
2014-02-20 00:12:13 +00:00
|
|
|
|
touch %{buildroot}%{_localstatedir}/lib/systemd/random-seed
|
2018-12-22 07:52:00 +00:00
|
|
|
|
touch %{buildroot}%{_localstatedir}/lib/systemd/timesync/clock
|
2017-12-12 06:49:18 +00:00
|
|
|
|
touch %{buildroot}%{_localstatedir}/lib/private/systemd/journal-upload/state
|
2013-03-07 22:27:37 +00:00
|
|
|
|
|
2012-10-24 16:18:40 +00:00
|
|
|
|
# Install yum protection fragment
|
2018-09-10 09:18:18 +00:00
|
|
|
|
install -Dm0644 %{SOURCE4} %{buildroot}/etc/dnf/protected.d/systemd.conf
|
2012-10-24 16:18:40 +00:00
|
|
|
|
|
2016-10-07 11:32:48 +00:00
|
|
|
|
install -Dm0644 -t %{buildroot}/usr/lib/firewalld/services/ %{SOURCE7} %{SOURCE8}
|
2015-01-06 02:08:08 +00:00
|
|
|
|
|
2015-06-27 18:00:14 +00:00
|
|
|
|
# Install additional docs
|
|
|
|
|
# https://bugzilla.redhat.com/show_bug.cgi?id=1234951
|
2016-10-07 11:32:48 +00:00
|
|
|
|
install -Dm0644 -t %{buildroot}%{_pkgdocdir}/ %{SOURCE9}
|
2015-06-27 18:00:14 +00:00
|
|
|
|
|
2016-10-07 11:39:19 +00:00
|
|
|
|
# https://bugzilla.redhat.com/show_bug.cgi?id=1378974
|
|
|
|
|
install -Dm0644 -t %{buildroot}%{system_unit_dir}/systemd-udev-trigger.service.d/ %{SOURCE10}
|
|
|
|
|
|
2020-09-27 11:51:04 +00:00
|
|
|
|
install -Dm0644 -t %{buildroot}%{_prefix}/lib/systemd/ %{SOURCE13}
|
2020-04-02 16:00:02 +00:00
|
|
|
|
|
2018-02-21 14:23:30 +00:00
|
|
|
|
install -D -t %{buildroot}/usr/lib/systemd/ %{SOURCE3}
|
|
|
|
|
|
2021-02-05 09:39:39 +00:00
|
|
|
|
# systemd-oomd default configuration
|
|
|
|
|
install -Dm0644 -t %{buildroot}%{_prefix}/lib/systemd/oomd.conf.d/ %{SOURCE14}
|
2022-08-23 18:59:16 +00:00
|
|
|
|
install -Dm0644 -t %{buildroot}%{system_unit_dir}/user-.slice.d/ %{SOURCE15}
|
|
|
|
|
install -Dm0644 -t %{buildroot}%{system_unit_dir}/system.slice.d/ %{SOURCE15}
|
|
|
|
|
install -Dm0644 -t %{buildroot}%{user_unit_dir}/slice.d/ %{SOURCE15}
|
2021-02-05 09:39:39 +00:00
|
|
|
|
|
2018-12-21 19:08:58 +00:00
|
|
|
|
sed -i 's|#!/usr/bin/env python3|#!%{__python3}|' %{buildroot}/usr/lib/systemd/tests/run-unit-tests.py
|
|
|
|
|
|
2020-02-07 15:34:30 +00:00
|
|
|
|
install -m 0644 -D -t %{buildroot}%{_rpmconfigdir}/macros.d/ %{SOURCE21}
|
|
|
|
|
install -m 0644 -D -t %{buildroot}%{_rpmconfigdir}/fileattrs/ %{SOURCE22}
|
|
|
|
|
install -m 0755 -D -t %{buildroot}%{_rpmconfigdir}/ %{SOURCE23}
|
|
|
|
|
install -m 0755 -D -t %{buildroot}%{_rpmconfigdir}/ %{SOURCE24}
|
|
|
|
|
|
2014-02-20 00:47:27 +00:00
|
|
|
|
%find_lang %{name}
|
|
|
|
|
|
2017-12-11 23:41:07 +00:00
|
|
|
|
# Split files in build root into rpms. See split-files.py for the
|
|
|
|
|
# rules towards the end, anything which is an exception needs a line
|
|
|
|
|
# here.
|
|
|
|
|
python3 %{SOURCE2} %buildroot <<EOF
|
2017-12-12 06:49:18 +00:00
|
|
|
|
%ghost %config(noreplace) /etc/crypttab
|
2022-10-01 17:35:11 +00:00
|
|
|
|
%ghost %attr(0444,root,root) /etc/udev/hwdb.bin
|
2017-12-11 23:41:07 +00:00
|
|
|
|
/etc/inittab
|
2018-02-21 14:23:30 +00:00
|
|
|
|
/usr/lib/systemd/purge-nobody-user
|
2017-12-12 06:49:18 +00:00
|
|
|
|
%ghost %config(noreplace) /etc/vconsole.conf
|
2017-12-11 23:41:07 +00:00
|
|
|
|
%ghost %config(noreplace) /etc/X11/xorg.conf.d/00-keyboard.conf
|
2022-02-23 22:53:12 +00:00
|
|
|
|
%ghost %attr(0664,root,root) %verify(not group) /run/utmp
|
|
|
|
|
%ghost %attr(0664,root,root) %verify(not group) /var/log/wtmp
|
|
|
|
|
%ghost %attr(0660,root,root) %verify(not group) /var/log/btmp
|
|
|
|
|
%ghost %attr(0664,root,root) %verify(not md5 size mtime group) /var/log/lastlog
|
2017-12-11 23:41:07 +00:00
|
|
|
|
%ghost %config(noreplace) /etc/hostname
|
|
|
|
|
%ghost %config(noreplace) /etc/localtime
|
|
|
|
|
%ghost %config(noreplace) /etc/locale.conf
|
2021-05-07 10:47:07 +00:00
|
|
|
|
%ghost %attr(0444,root,root) %config(noreplace) /etc/machine-id
|
2017-12-11 23:41:07 +00:00
|
|
|
|
%ghost %config(noreplace) /etc/machine-info
|
2018-11-05 05:21:52 +00:00
|
|
|
|
%ghost %attr(0700,root,root) %dir /var/cache/private
|
|
|
|
|
%ghost %attr(0700,root,root) %dir /var/lib/private
|
2017-12-12 06:49:18 +00:00
|
|
|
|
%ghost %dir /var/lib/private/systemd
|
|
|
|
|
%ghost %dir /var/lib/private/systemd/journal-upload
|
|
|
|
|
%ghost /var/lib/private/systemd/journal-upload/state
|
2018-12-22 07:52:00 +00:00
|
|
|
|
%ghost %dir /var/lib/systemd/timesync
|
|
|
|
|
%ghost /var/lib/systemd/timesync/clock
|
2017-12-12 06:49:18 +00:00
|
|
|
|
%ghost %dir /var/lib/systemd/backlight
|
|
|
|
|
%ghost /var/lib/systemd/catalog/database
|
|
|
|
|
%ghost %dir /var/lib/systemd/coredump
|
|
|
|
|
%ghost /var/lib/systemd/journal-upload
|
|
|
|
|
%ghost %dir /var/lib/systemd/linger
|
2022-10-01 17:35:11 +00:00
|
|
|
|
%ghost %attr(0600,root,root) /var/lib/systemd/random-seed
|
2017-12-12 06:49:18 +00:00
|
|
|
|
%ghost %dir /var/lib/systemd/rfkill
|
2022-02-16 17:10:16 +00:00
|
|
|
|
%ghost %dir %verify(not mode group) /var/log/journal
|
2017-12-12 06:49:18 +00:00
|
|
|
|
%ghost %dir /var/log/journal/remote
|
2018-11-05 05:21:52 +00:00
|
|
|
|
%ghost %attr(0700,root,root) %dir /var/log/private
|
2017-12-11 23:41:07 +00:00
|
|
|
|
EOF
|
|
|
|
|
|
2015-02-16 18:24:46 +00:00
|
|
|
|
%check
|
2020-02-28 11:25:15 +00:00
|
|
|
|
%if %{with tests}
|
2020-07-09 07:54:04 +00:00
|
|
|
|
meson test -C %{_vpath_builddir} -t 6 --print-errorlogs
|
2020-02-28 11:25:15 +00:00
|
|
|
|
%endif
|
2015-05-30 22:18:12 +00:00
|
|
|
|
|
2015-11-15 00:32:46 +00:00
|
|
|
|
#############################################################################################
|
|
|
|
|
|
2016-04-04 14:51:55 +00:00
|
|
|
|
%include %{SOURCE1}
|
2015-11-15 00:32:46 +00:00
|
|
|
|
|
2010-08-27 01:59:56 +00:00
|
|
|
|
%post
|
2017-01-11 22:51:30 +00:00
|
|
|
|
systemd-machine-id-setup &>/dev/null || :
|
2020-02-21 22:59:01 +00:00
|
|
|
|
|
2021-02-11 13:37:24 +00:00
|
|
|
|
# FIXME: move to %postun. We want to restart systemd *after* removing
|
|
|
|
|
# files from the old rpm. Right now we may still have bits the old
|
|
|
|
|
# setup if the files are not present in the new version. But before
|
|
|
|
|
# implement restarting of *other* services after the transaction, moving
|
|
|
|
|
# this would make things worse, increasing the number of warnings we get
|
|
|
|
|
# about needed daemon-reload.
|
2021-03-11 12:21:32 +00:00
|
|
|
|
|
|
|
|
|
oomd_state=$(systemctl is-active systemd-oomd 2>/dev/null || :)
|
|
|
|
|
|
|
|
|
|
# Work-around for #1931034. Remove after F34 is released.
|
|
|
|
|
if [ "$oomd_state" == "active" ]; then
|
|
|
|
|
systemctl stop -q systemd-oomd 2>/dev/null || :
|
|
|
|
|
fi
|
|
|
|
|
|
2020-02-21 22:59:01 +00:00
|
|
|
|
systemctl daemon-reexec &>/dev/null || {
|
|
|
|
|
# systemd v239 had bug #9553 in D-Bus authentication of the private socket,
|
|
|
|
|
# which was later fixed in v240 by #9625.
|
|
|
|
|
#
|
|
|
|
|
# The end result is that a `systemctl daemon-reexec` call as root will fail
|
|
|
|
|
# when upgrading from systemd v239, which means the system will not start
|
|
|
|
|
# running the new version of systemd after this post install script runs.
|
|
|
|
|
#
|
|
|
|
|
# To work around this issue, let's fall back to using a `kill -TERM 1` to
|
|
|
|
|
# re-execute the daemon when the `systemctl daemon-reexec` call fails.
|
|
|
|
|
#
|
|
|
|
|
# In order to prevent issues when the reason why the daemon-reexec failed is
|
|
|
|
|
# not the aforementioned bug, let's only use this fallback when:
|
|
|
|
|
# - we're upgrading this RPM package; and
|
|
|
|
|
# - we confirm that systemd is running as PID1 on this system.
|
|
|
|
|
if [ $1 -gt 1 ] && [ -d /run/systemd/system ] ; then
|
|
|
|
|
kill -TERM 1 &>/dev/null || :
|
|
|
|
|
fi
|
|
|
|
|
}
|
|
|
|
|
|
2021-03-11 12:21:32 +00:00
|
|
|
|
if [ "$oomd_state" == "active" ]; then
|
|
|
|
|
systemctl start -q systemd-oomd 2>/dev/null || :
|
|
|
|
|
fi
|
|
|
|
|
|
2021-06-16 10:27:54 +00:00
|
|
|
|
[ $1 -eq 1 ] || exit 0
|
2013-10-02 02:10:00 +00:00
|
|
|
|
|
2021-06-16 10:27:54 +00:00
|
|
|
|
# create /var/log/journal only on initial installation,
|
|
|
|
|
# and only if it's writable (it won't be in rpm-ostree).
|
|
|
|
|
[ -w %{_localstatedir} ] && mkdir -p %{_localstatedir}/log/journal
|
2014-03-25 19:59:29 +00:00
|
|
|
|
|
2021-06-16 10:27:54 +00:00
|
|
|
|
[ -w %{_localstatedir} ] && journalctl --update-catalog || :
|
|
|
|
|
systemd-sysusers || :
|
|
|
|
|
systemd-tmpfiles --create &>/dev/null || :
|
2020-09-02 08:22:03 +00:00
|
|
|
|
|
2018-11-09 00:35:11 +00:00
|
|
|
|
# We reset the enablement of all services upon initial installation
|
|
|
|
|
# https://bugzilla.redhat.com/show_bug.cgi?id=1118740#c23
|
|
|
|
|
# This will fix up enablement of any preset services that got installed
|
|
|
|
|
# before systemd due to rpm ordering problems:
|
2020-02-07 12:41:19 +00:00
|
|
|
|
# https://bugzilla.redhat.com/show_bug.cgi?id=1647172.
|
|
|
|
|
# We also do this for user units, see
|
|
|
|
|
# https://fedoraproject.org/wiki/Changes/Systemd_presets_for_user_units.
|
2020-09-02 08:22:03 +00:00
|
|
|
|
systemctl preset-all &>/dev/null || :
|
|
|
|
|
systemctl --global preset-all &>/dev/null || :
|
2013-01-08 02:00:08 +00:00
|
|
|
|
|
2021-02-11 13:37:24 +00:00
|
|
|
|
%postun
|
|
|
|
|
if [ $1 -eq 1 ]; then
|
|
|
|
|
[ -w %{_localstatedir} ] && journalctl --update-catalog || :
|
|
|
|
|
systemd-tmpfiles --create &>/dev/null || :
|
2016-10-11 17:01:50 +00:00
|
|
|
|
fi
|
|
|
|
|
|
2021-02-11 13:37:24 +00:00
|
|
|
|
%systemd_postun_with_restart systemd-timedated.service systemd-portabled.service systemd-homed.service systemd-hostnamed.service systemd-journald.service systemd-localed.service systemd-userdbd.service systemd-oomd.service
|
|
|
|
|
|
|
|
|
|
# FIXME: systemd-logind.service is excluded (https://github.com/systemd/systemd/pull/17558)
|
|
|
|
|
# FIXME: user@*.service needs to be restarted, but using systemctl --user daemon-reexec
|
|
|
|
|
|
2021-06-16 15:03:00 +00:00
|
|
|
|
%triggerun resolved -- systemd < 246.1-1
|
2020-07-26 13:59:50 +00:00
|
|
|
|
# This is for upgrades from previous versions before systemd-resolved became the default.
|
|
|
|
|
systemctl --no-reload preset systemd-resolved.service &>/dev/null || :
|
|
|
|
|
|
2020-09-29 16:30:47 +00:00
|
|
|
|
if systemctl -q is-enabled systemd-resolved.service &>/dev/null; then
|
|
|
|
|
systemctl -q is-enabled NetworkManager.service 2>/dev/null && \
|
|
|
|
|
! test -L /etc/resolv.conf 2>/dev/null && \
|
2020-10-08 09:52:07 +00:00
|
|
|
|
! mountpoint /etc/resolv.conf &>/dev/null && \
|
2020-08-07 15:27:02 +00:00
|
|
|
|
grep -q 'Generated by NetworkManager' /etc/resolv.conf 2>/dev/null && \
|
|
|
|
|
echo -e '/etc/resolv.conf was generated by NetworkManager.\nRemoving it to let systemd-resolved manage this file.' && \
|
2020-08-17 17:15:12 +00:00
|
|
|
|
mv -v /etc/resolv.conf /etc/resolv.conf.orig-with-nm && \
|
|
|
|
|
ln -sv ../run/systemd/resolve/stub-resolv.conf /etc/resolv.conf 2>/dev/null || :
|
2020-08-07 15:27:02 +00:00
|
|
|
|
|
|
|
|
|
systemctl start systemd-resolved.service &>/dev/null || :
|
2020-07-26 13:59:50 +00:00
|
|
|
|
fi
|
|
|
|
|
|
2021-02-16 17:59:45 +00:00
|
|
|
|
%triggerpostun -- systemd < 247.3-2
|
|
|
|
|
# This is for upgrades from previous versions before oomd-defaults is available.
|
|
|
|
|
# We use %%triggerpostun here because rpm doesn't allow a second %%triggerun with
|
|
|
|
|
# a different package version.
|
2021-02-16 16:39:32 +00:00
|
|
|
|
systemctl --no-reload preset systemd-oomd.service &>/dev/null || :
|
|
|
|
|
|
2021-12-25 10:02:05 +00:00
|
|
|
|
%global udev_services systemd-udev{d,-settle,-trigger}.service systemd-udevd-{control,kernel}.socket systemd-timesyncd.service %{?have_gnu_efi:systemd-boot-update.service}
|
2016-04-22 18:21:31 +00:00
|
|
|
|
|
2015-11-12 06:12:17 +00:00
|
|
|
|
%post udev
|
2016-04-22 18:21:31 +00:00
|
|
|
|
# Move old stuff around in /var/lib
|
|
|
|
|
mv %{_localstatedir}/lib/random-seed %{_localstatedir}/lib/systemd/random-seed &>/dev/null
|
|
|
|
|
mv %{_localstatedir}/lib/backlight %{_localstatedir}/lib/systemd/backlight &>/dev/null
|
2018-12-22 07:52:00 +00:00
|
|
|
|
if [ -L %{_localstatedir}/lib/systemd/timesync ]; then
|
|
|
|
|
rm %{_localstatedir}/lib/systemd/timesync
|
|
|
|
|
mv %{_localstatedir}/lib/private/systemd/timesync %{_localstatedir}/lib/systemd/timesync
|
|
|
|
|
fi
|
|
|
|
|
if [ -f %{_localstatedir}/lib/systemd/clock ] ; then
|
|
|
|
|
mkdir -p %{_localstatedir}/lib/systemd/timesync
|
|
|
|
|
mv %{_localstatedir}/lib/systemd/clock %{_localstatedir}/lib/systemd/timesync/.
|
|
|
|
|
fi
|
2016-04-22 18:21:31 +00:00
|
|
|
|
|
2017-01-11 22:51:30 +00:00
|
|
|
|
udevadm hwdb --update &>/dev/null
|
2020-09-02 10:35:56 +00:00
|
|
|
|
|
2016-04-22 18:21:31 +00:00
|
|
|
|
%systemd_post %udev_services
|
2020-09-02 10:35:56 +00:00
|
|
|
|
|
|
|
|
|
# Try to save the random seed, but don't complain if /dev/urandom is unavailable
|
|
|
|
|
/usr/lib/systemd/systemd-random-seed save 2>&1 | \
|
|
|
|
|
grep -v 'Failed to open /dev/urandom' || :
|
2016-04-22 18:21:31 +00:00
|
|
|
|
|
|
|
|
|
# Replace obsolete keymaps
|
|
|
|
|
# https://bugzilla.redhat.com/show_bug.cgi?id=1151958
|
|
|
|
|
grep -q -E '^KEYMAP="?fi-latin[19]"?' /etc/vconsole.conf 2>/dev/null &&
|
2018-02-09 13:50:35 +00:00
|
|
|
|
sed -i.rpm.bak -r 's/^KEYMAP="?fi-latin[19]"?/KEYMAP="fi"/' /etc/vconsole.conf || :
|
2015-11-12 06:12:17 +00:00
|
|
|
|
|
|
|
|
|
%preun udev
|
2016-04-22 18:21:31 +00:00
|
|
|
|
%systemd_preun %udev_services
|
2015-11-12 06:12:17 +00:00
|
|
|
|
|
|
|
|
|
%postun udev
|
2021-02-11 13:37:24 +00:00
|
|
|
|
# Restart some services.
|
2016-10-04 20:48:13 +00:00
|
|
|
|
# Others are either oneshot services, or sockets, and restarting them causes issues (#1378974)
|
2021-02-11 13:37:24 +00:00
|
|
|
|
%systemd_postun_with_restart systemd-udevd.service systemd-timesyncd.service
|
2015-11-12 06:12:17 +00:00
|
|
|
|
|
2013-06-26 10:32:27 +00:00
|
|
|
|
|
2021-06-16 10:27:54 +00:00
|
|
|
|
%global journal_remote_units_restart systemd-journal-gatewayd.service systemd-journal-remote.service systemd-journal-upload.service
|
|
|
|
|
%global journal_remote_units_norestart systemd-journal-gatewayd.socket systemd-journal-remote.socket
|
2015-11-07 15:31:13 +00:00
|
|
|
|
%post journal-remote
|
2021-06-16 10:27:54 +00:00
|
|
|
|
%systemd_post %journal_remote_units_restart %journal_remote_units_norestart
|
2015-01-06 02:08:08 +00:00
|
|
|
|
%firewalld_reload
|
2013-06-26 10:32:27 +00:00
|
|
|
|
|
2015-11-07 15:31:13 +00:00
|
|
|
|
%preun journal-remote
|
2021-06-16 10:27:54 +00:00
|
|
|
|
%systemd_preun %journal_remote_units_restart %journal_remote_units_norestart
|
2017-12-12 08:05:12 +00:00
|
|
|
|
if [ $1 -eq 1 ] ; then
|
|
|
|
|
if [ -f %{_localstatedir}/lib/systemd/journal-upload/state -a ! -L %{_localstatedir}/lib/systemd/journal-upload ] ; then
|
|
|
|
|
mkdir -p %{_localstatedir}/lib/private/systemd/journal-upload
|
|
|
|
|
mv %{_localstatedir}/lib/systemd/journal-upload/state %{_localstatedir}/lib/private/systemd/journal-upload/.
|
2017-12-13 03:34:34 +00:00
|
|
|
|
rmdir %{_localstatedir}/lib/systemd/journal-upload || :
|
2017-12-12 08:05:12 +00:00
|
|
|
|
fi
|
|
|
|
|
fi
|
2013-06-26 10:32:27 +00:00
|
|
|
|
|
2015-11-07 15:31:13 +00:00
|
|
|
|
%postun journal-remote
|
2021-06-16 10:27:54 +00:00
|
|
|
|
%systemd_postun_with_restart %journal_remote_units_restart
|
2015-01-06 02:08:08 +00:00
|
|
|
|
%firewalld_reload
|
2013-06-26 10:32:27 +00:00
|
|
|
|
|
2020-10-26 20:44:48 +00:00
|
|
|
|
%post networkd
|
2021-03-26 15:31:37 +00:00
|
|
|
|
# systemd-networkd was split out in systemd-246.6-2.
|
|
|
|
|
# Ideally, we would have a trigger scriptlet to record enablement
|
|
|
|
|
# state when upgrading from systemd <= systemd-246.6-1. But, AFAICS,
|
|
|
|
|
# rpm doesn't allow us to trigger on another package, short of
|
|
|
|
|
# querying the rpm database ourselves, which seems risky. For rpm,
|
|
|
|
|
# systemd and systemd-networkd are completely unrelated. So let's use
|
|
|
|
|
# a hack to detect if an old systemd version is currently present in
|
|
|
|
|
# the file system.
|
|
|
|
|
# https://bugzilla.redhat.com/show_bug.cgi?id=1943263
|
|
|
|
|
if [ $1 -eq 1 ] && ls /usr/lib/systemd/libsystemd-shared-24[0-6].so &>/dev/null; then
|
|
|
|
|
echo "Skipping presets for systemd-networkd.service, seems we are upgrading from old systemd."
|
|
|
|
|
else
|
|
|
|
|
%systemd_post systemd-networkd.service systemd-networkd-wait-online.service
|
|
|
|
|
fi
|
2020-10-26 20:44:48 +00:00
|
|
|
|
|
2020-09-24 15:21:29 +00:00
|
|
|
|
%preun networkd
|
2020-10-26 20:44:48 +00:00
|
|
|
|
%systemd_preun systemd-networkd.service systemd-networkd-wait-online.service
|
2020-09-24 15:21:29 +00:00
|
|
|
|
|
2021-06-16 15:03:00 +00:00
|
|
|
|
%preun resolved
|
|
|
|
|
if [ $1 -eq 0 ] ; then
|
|
|
|
|
systemctl disable --quiet \
|
|
|
|
|
systemd-resolved.service \
|
|
|
|
|
>/dev/null || :
|
2021-12-18 15:50:52 +00:00
|
|
|
|
if [ -L /etc/resolv.conf ] && \
|
|
|
|
|
realpath /etc/resolv.conf | grep ^/run/systemd/resolve/; then
|
|
|
|
|
rm -f /etc/resolv.conf # no longer useful
|
2021-11-06 18:20:44 +00:00
|
|
|
|
# if network manager is enabled, move to it instead
|
|
|
|
|
[ -f /run/NetworkManager/resolv.conf ] && \
|
|
|
|
|
systemctl -q is-enabled NetworkManager.service &>/dev/null && \
|
2021-12-18 15:50:52 +00:00
|
|
|
|
ln -fsv ../run/NetworkManager/resolv.conf /etc/resolv.conf
|
2021-11-06 18:20:44 +00:00
|
|
|
|
fi
|
2021-06-16 15:03:00 +00:00
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
%post resolved
|
2022-04-12 07:50:37 +00:00
|
|
|
|
[ $1 -eq 1 ] || exit 0
|
|
|
|
|
# Initial installation
|
2021-06-16 16:32:28 +00:00
|
|
|
|
|
2021-06-16 15:03:00 +00:00
|
|
|
|
# Related to https://bugzilla.redhat.com/show_bug.cgi?id=1943263
|
2021-06-16 16:32:28 +00:00
|
|
|
|
if ls /usr/lib/systemd/libsystemd-shared-24[0-8].so &>/dev/null; then
|
2021-06-16 15:03:00 +00:00
|
|
|
|
echo "Skipping presets for systemd-resolved.service, seems we are upgrading from old systemd."
|
2021-06-16 16:32:28 +00:00
|
|
|
|
exit 0
|
2021-06-16 15:03:00 +00:00
|
|
|
|
fi
|
2021-06-16 16:32:28 +00:00
|
|
|
|
|
|
|
|
|
%systemd_post systemd-resolved.service
|
|
|
|
|
|
2022-02-23 22:27:29 +00:00
|
|
|
|
%posttrans resolved
|
2022-04-12 07:50:37 +00:00
|
|
|
|
[ $1 -eq 1 ] || exit 0
|
|
|
|
|
# Initial installation
|
|
|
|
|
|
2021-06-16 15:03:00 +00:00
|
|
|
|
# Create /etc/resolv.conf symlink.
|
|
|
|
|
# We would also create it using tmpfiles, but let's do this here
|
|
|
|
|
# too before NetworkManager gets a chance. (systemd-tmpfiles invocation above
|
|
|
|
|
# does not do this, because it's marked with ! and we don't specify --boot.)
|
|
|
|
|
# https://bugzilla.redhat.com/show_bug.cgi?id=1873856
|
|
|
|
|
#
|
2021-12-18 15:50:52 +00:00
|
|
|
|
# *Create* the symlink if nothing is present yet.
|
|
|
|
|
# (https://bugzilla.redhat.com/show_bug.cgi?id=2032085)
|
|
|
|
|
#
|
|
|
|
|
# *Override* the symlink if systemd is running. Don't do it if systemd
|
|
|
|
|
# is not running, because that will immediately break DNS resolution,
|
|
|
|
|
# since systemd-resolved is also not running
|
|
|
|
|
# (https://bugzilla.redhat.com/show_bug.cgi?id=1891847).
|
2021-06-16 15:03:00 +00:00
|
|
|
|
#
|
|
|
|
|
# Also don't create the symlink to the stub when the stub is disabled (#1891847 again).
|
2021-12-18 15:50:52 +00:00
|
|
|
|
if systemctl -q is-enabled systemd-resolved.service &>/dev/null &&
|
|
|
|
|
! systemd-analyze cat-config systemd/resolved.conf 2>/dev/null |
|
|
|
|
|
grep -iqE '^DNSStubListener\s*=\s*(no?|false|0|off)\s*$'; then
|
|
|
|
|
|
2022-02-24 19:25:55 +00:00
|
|
|
|
if ! test -e /etc/resolv.conf && ! test -L /etc/resolv.conf; then
|
|
|
|
|
ln -sv ../run/systemd/resolve/stub-resolv.conf /etc/resolv.conf || :
|
2021-12-18 15:50:52 +00:00
|
|
|
|
elif test -d /run/systemd/system/ &&
|
|
|
|
|
! mountpoint /etc/resolv.conf &>/dev/null; then
|
2022-02-24 19:25:55 +00:00
|
|
|
|
ln -fsv ../run/systemd/resolve/stub-resolv.conf /etc/resolv.conf || :
|
2021-12-18 15:50:52 +00:00
|
|
|
|
fi
|
2021-06-16 15:03:00 +00:00
|
|
|
|
fi
|
|
|
|
|
|
2016-04-18 15:50:22 +00:00
|
|
|
|
%global _docdir_fmt %{name}
|
|
|
|
|
|
2022-03-17 20:37:30 +00:00
|
|
|
|
%files -f %{name}.lang -f .file-list-main
|
2015-01-19 21:11:51 +00:00
|
|
|
|
%doc %{_pkgdocdir}
|
2022-01-03 13:19:42 +00:00
|
|
|
|
%exclude %{_pkgdocdir}/LICENSE*
|
|
|
|
|
# Only the licenses texts for the licenses in License line are included.
|
2015-05-21 20:39:30 +00:00
|
|
|
|
%license LICENSE.GPL2 LICENSE.LGPL2.1
|
2022-01-03 13:19:42 +00:00
|
|
|
|
%license LICENSES/MIT.txt
|
2018-01-09 08:49:49 +00:00
|
|
|
|
%ghost %dir %attr(0755,-,-) /etc/systemd/system/basic.target.wants
|
|
|
|
|
%ghost %dir %attr(0755,-,-) /etc/systemd/system/bluetooth.target.wants
|
|
|
|
|
%ghost %dir %attr(0755,-,-) /etc/systemd/system/default.target.wants
|
|
|
|
|
%ghost %dir %attr(0755,-,-) /etc/systemd/system/getty.target.wants
|
|
|
|
|
%ghost %dir %attr(0755,-,-) /etc/systemd/system/graphical.target.wants
|
|
|
|
|
%ghost %dir %attr(0755,-,-) /etc/systemd/system/local-fs.target.wants
|
|
|
|
|
%ghost %dir %attr(0755,-,-) /etc/systemd/system/machines.target.wants
|
|
|
|
|
%ghost %dir %attr(0755,-,-) /etc/systemd/system/multi-user.target.wants
|
|
|
|
|
%ghost %dir %attr(0755,-,-) /etc/systemd/system/network-online.target.wants
|
|
|
|
|
%ghost %dir %attr(0755,-,-) /etc/systemd/system/printer.target.wants
|
|
|
|
|
%ghost %dir %attr(0755,-,-) /etc/systemd/system/remote-fs.target.wants
|
|
|
|
|
%ghost %dir %attr(0755,-,-) /etc/systemd/system/sockets.target.wants
|
|
|
|
|
%ghost %dir %attr(0755,-,-) /etc/systemd/system/sysinit.target.wants
|
|
|
|
|
%ghost %dir %attr(0755,-,-) /etc/systemd/system/system-update.target.wants
|
|
|
|
|
%ghost %dir %attr(0755,-,-) /etc/systemd/system/timers.target.wants
|
2021-11-24 09:00:32 +00:00
|
|
|
|
%ghost %dir %attr(0700,-,-) /var/lib/portables
|
2018-01-09 08:49:49 +00:00
|
|
|
|
%ghost %dir %attr(0755,-,-) /var/lib/rpm-state/systemd
|
2017-12-11 23:41:07 +00:00
|
|
|
|
|
|
|
|
|
%files libs -f .file-list-libs
|
2016-04-18 15:50:22 +00:00
|
|
|
|
%license LICENSE.LGPL2.1
|
2014-07-24 20:41:23 +00:00
|
|
|
|
|
2017-12-11 23:41:07 +00:00
|
|
|
|
%files pam -f .file-list-pam
|
|
|
|
|
|
2018-11-02 10:39:52 +00:00
|
|
|
|
%files rpm-macros -f .file-list-rpm-macros
|
|
|
|
|
|
2021-06-16 15:03:00 +00:00
|
|
|
|
%files resolved -f .file-list-resolve
|
|
|
|
|
|
2017-12-11 23:41:07 +00:00
|
|
|
|
%files devel -f .file-list-devel
|
|
|
|
|
|
|
|
|
|
%files udev -f .file-list-udev
|
2015-11-12 06:12:17 +00:00
|
|
|
|
|
2017-12-11 23:41:07 +00:00
|
|
|
|
%files container -f .file-list-container
|
2021-11-24 09:00:32 +00:00
|
|
|
|
%ghost %dir %attr(0700,-,-) /var/lib/machines
|
2016-04-18 13:01:13 +00:00
|
|
|
|
|
2017-12-11 23:41:07 +00:00
|
|
|
|
%files journal-remote -f .file-list-remote
|
2013-06-26 10:32:27 +00:00
|
|
|
|
|
2020-09-24 15:21:29 +00:00
|
|
|
|
%files networkd -f .file-list-networkd
|
|
|
|
|
|
2021-02-05 09:39:39 +00:00
|
|
|
|
%files oomd-defaults -f .file-list-oomd-defaults
|
|
|
|
|
|
2017-12-11 23:41:07 +00:00
|
|
|
|
%files tests -f .file-list-tests
|
2017-03-02 16:30:49 +00:00
|
|
|
|
|
2020-06-03 21:40:09 +00:00
|
|
|
|
%files standalone-tmpfiles -f .file-list-standalone-tmpfiles
|
|
|
|
|
|
|
|
|
|
%files standalone-sysusers -f .file-list-standalone-sysusers
|
|
|
|
|
|
2010-06-11 06:18:33 +00:00
|
|
|
|
%changelog
|
2022-08-08 11:09:36 +00:00
|
|
|
|
%autochangelog
|