$ git diff --patch-with-stat --summary 73da7a09124c507433d53c3d6744c759b9b8157a..a5a5868b63c05e628a1ac1f7ac9534e9654b925c
.abf.yml | 2 +-
0003-core-use-mmap-to-load-files.patch | 35 +++++---
0008-analyze-increase-precision.patch | 95 ----------------------
0031-DHCP-retry-faster.patch | 25 ------
0041-Disable-XZ-support-in-the-journal.patch | 24 ++----
...create-etc-resolv.conf-symlink-at-runtime.patch | 20 ++---
...-a17c17122c304ff3f67f1cbf119fa7116315a7df.patch | 33 --------
systemd-243-random-seed-no-insane-timeouts.patch | 11 +++
systemd.spec | 79 +++++++++---------
9 files changed, 90 insertions(+), 234 deletions(-)
delete mode 100644 0008-analyze-increase-precision.patch
delete mode 100644 0031-DHCP-retry-faster.patch
delete mode 100644 revert-a17c17122c304ff3f67f1cbf119fa7116315a7df.patch
create mode 100644 systemd-243-random-seed-no-insane-timeouts.patch
diff --git a/.abf.yml b/.abf.yml
index 2b38c1a..e4075a5 100644
--- a/.abf.yml
+++ b/.abf.yml
@@ -1,2 +1,2 @@
sources:
- systemd-242.20190509.tar.xz: f86eb399af93f1e231634d983b04dfa7acc4b430
+ systemd-243.20191121.tar.xz: 122d7c3d32131bf107ca879d57a38a9f38dc2a14
diff --git a/0003-core-use-mmap-to-load-files.patch b/0003-core-use-mmap-to-load-files.patch
index 5e4edf4..d922ebc 100644
--- a/0003-core-use-mmap-to-load-files.patch
+++ b/0003-core-use-mmap-to-load-files.patch
@@ -1,12 +1,25 @@
-diff -up systemd-240/src/core/load-fragment.c.11~ systemd-240/src/core/load-fragment.c
---- systemd-240/src/core/load-fragment.c.11~ 2018-12-22 14:52:34.550163871 +0100
-+++ systemd-240/src/core/load-fragment.c 2018-12-22 14:53:51.664738838 +0100
-@@ -4415,7 +4415,7 @@ static int open_follow(char **filename,
- free_and_replace(*filename, target);
- }
+From 89b4eee3ce4917152597a159cd6f308e3071991b Mon Sep 17 00:00:00 2001
+From: Dimitri John Ledkov <dimitri.j.ledkov@intel.com>
+Date: Tue, 23 Jun 2015 11:26:11 +0100
+Subject: [PATCH 03/40] core: use mmap to load files.
+
+---
+ src/core/load-fragment.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/core/load-fragment.c b/src/core/load-fragment.c
+index 8eaf8b33e9..200356f8f1 100644
+--- a/src/core/load-fragment.c
++++ b/src/core/load-fragment.c
+@@ -4630,7 +4630,7 @@ int unit_load_fragment(Unit *u) {
+ /* Try to open the file name. A symlink is OK, for example for linked files or masks. We
+ * expect that all symlinks within the lookup paths have been already resolved, but we don't
+ * verify this here. */
+- f = fopen(fragment, "re");
++ f = fopen(fragment, "rem");
+ if (!f)
+ return log_unit_notice_errno(u, errno, "Failed to open %s: %m", fragment);
-- f = fdopen(fd, "r");
-+ f = fdopen(fd, "rm");
- if (!f) {
- safe_close(fd);
- return -errno;
+--
+2.23.0
+
diff --git a/0008-analyze-increase-precision.patch b/0008-analyze-increase-precision.patch
deleted file mode 100644
index 541dd38..0000000
--- a/0008-analyze-increase-precision.patch
+++ /dev/null
@@ -1,95 +0,0 @@
-From bedae46890bb8e3e3548f4af25c0e1df177206a0 Mon Sep 17 00:00:00 2001
-From: Dimitri John Ledkov <dimitri.j.ledkov@intel.com>
-Date: Tue, 23 Jun 2015 11:41:17 +0100
-Subject: [PATCH] analyze: increase precision.
-
----
- src/analyze/analyze.c | 30 ++++++++++++++++--------------
- 1 file changed, 16 insertions(+), 14 deletions(-)
-
-diff -Naur systemd-240.20190211/src/analyze/analyze.c systemd-240.20190211.tpg/src/analyze/analyze.c
---- systemd-240.20190211/src/analyze/analyze.c 2019-02-11 13:20:05.000000000 +0000
-+++ systemd-240.20190211.tpg/src/analyze/analyze.c 2019-02-28 14:18:20.251000000 +0000
-@@ -47,6 +47,8 @@
- #define SCALE_X (0.1 / 1000.0) /* pixels per us */
- #define SCALE_Y (20.0)
-
-+#define USEC_PER_MSEC_DECIMAL (USEC_PER_MSEC/10)
-+
- #define svg(...) printf(__VA_ARGS__)
-
- #define svg_bar(class, x1, x2, y) \
-@@ -524,23 +526,23 @@
-
- size = strpcpyf(&ptr, size, "Startup finished in ");
- if (t->firmware_time > 0)
-- size = strpcpyf(&ptr, size, "%s (firmware) + ", format_timespan(ts, sizeof(ts), t->firmware_time - t->loader_time, USEC_PER_MSEC));
-+ size = strpcpyf(&ptr, size, "%s (firmware) + ", format_timespan(ts, sizeof(ts), t->firmware_time - t->loader_time, USEC_PER_MSEC_DECIMAL));
- if (t->loader_time > 0)
-- size = strpcpyf(&ptr, size, "%s (loader) + ", format_timespan(ts, sizeof(ts), t->loader_time, USEC_PER_MSEC));
-+ size = strpcpyf(&ptr, size, "%s (loader) + ", format_timespan(ts, sizeof(ts), t->loader_time, USEC_PER_MSEC_DECIMAL));
- if (t->kernel_done_time > 0)
-- size = strpcpyf(&ptr, size, "%s (kernel) + ", format_timespan(ts, sizeof(ts), t->kernel_done_time, USEC_PER_MSEC));
-+ size = strpcpyf(&ptr, size, "%s (kernel) + ", format_timespan(ts, sizeof(ts), t->kernel_done_time, USEC_PER_MSEC_DECIMAL));
- if (t->initrd_time > 0)
-- size = strpcpyf(&ptr, size, "%s (initrd) + ", format_timespan(ts, sizeof(ts), t->userspace_time - t->initrd_time, USEC_PER_MSEC));
-+ size = strpcpyf(&ptr, size, "%s (initrd) + ", format_timespan(ts, sizeof(ts), t->userspace_time - t->initrd_time, USEC_PER_MSEC_DECIMAL));
-
-- size = strpcpyf(&ptr, size, "%s (userspace) ", format_timespan(ts, sizeof(ts), t->finish_time - t->userspace_time, USEC_PER_MSEC));
-+ size = strpcpyf(&ptr, size, "%s (userspace) ", format_timespan(ts, sizeof(ts), t->finish_time - t->userspace_time, USEC_PER_MSEC_DECIMAL));
- if (t->kernel_done_time > 0)
-- strpcpyf(&ptr, size, "= %s ", format_timespan(ts, sizeof(ts), t->firmware_time + t->finish_time, USEC_PER_MSEC));
-+ strpcpyf(&ptr, size, "= %s ", format_timespan(ts, sizeof(ts), t->firmware_time + t->finish_time, USEC_PER_MSEC_DECIMAL));
-
- if (unit_id && activated_time > 0 && activated_time != USEC_INFINITY) {
- usec_t base = t->userspace_time > 0 ? t->userspace_time : t->reverse_offset;
-
- size = strpcpyf(&ptr, size, "\n%s reached after %s in userspace", unit_id,
-- format_timespan(ts, sizeof(ts), activated_time - base, USEC_PER_MSEC));
-+ format_timespan(ts, sizeof(ts), activated_time - base, USEC_PER_MSEC_DECIMAL));
- } else if (unit_id && activated_time == 0)
- size = strpcpyf(&ptr, size, "\n%s was never reached", unit_id);
- else if (unit_id && activated_time == USEC_INFINITY)
-@@ -594,7 +596,7 @@
- b = u->activating * SCALE_X < width / 2;
- if (u->time)
- svg_text(b, u->activating, y, "%s (%s)",
-- u->name, format_timespan(ts, sizeof(ts), u->time, USEC_PER_MSEC));
-+ u->name, format_timespan(ts, sizeof(ts), u->time, USEC_PER_MSEC_DECIMAL));
- else
- svg_text(b, u->activating, y, "%s", u->name);
-
-@@ -830,10 +832,10 @@
- if (times) {
- if (times->time > 0)
- printf("%s%s @%s +%s%s", ansi_highlight_red(), name,
-- format_timespan(ts, sizeof(ts), times->activating - boot->userspace_time, USEC_PER_MSEC),
-+ format_timespan(ts, sizeof(ts), times->activating - boot->userspace_time, USEC_PER_MSEC_DECIMAL),
- format_timespan(ts2, sizeof(ts2), times->time, USEC_PER_MSEC), ansi_normal());
- else if (times->activated > boot->userspace_time)
-- printf("%s @%s", name, format_timespan(ts, sizeof(ts), times->activated - boot->userspace_time, USEC_PER_MSEC));
-+ printf("%s @%s", name, format_timespan(ts, sizeof(ts), times->activated - boot->userspace_time, USEC_PER_MSEC_DECIMAL));
- else
- printf("%s", name);
- } else
-@@ -994,9 +996,9 @@
- if (times) {
- if (times->time)
- printf("%s%s +%s%s\n", ansi_highlight_red(), id,
-- format_timespan(ts, sizeof(ts), times->time, USEC_PER_MSEC), ansi_normal());
-+ format_timespan(ts, sizeof(ts), times->time, USEC_PER_MSEC_DECIMAL), ansi_normal());
- else if (times->activated > boot->userspace_time)
-- printf("%s @%s\n", id, format_timespan(ts, sizeof(ts), times->activated - boot->userspace_time, USEC_PER_MSEC));
-+ printf("%s @%s\n", id, format_timespan(ts, sizeof(ts), times->activated - boot->userspace_time, USEC_PER_MSEC_DECIMAL));
- else
- printf("%s\n", id);
- }
-@@ -1068,7 +1070,7 @@
- char ts[FORMAT_TIMESPAN_MAX];
-
- if (u->time > 0)
-- printf("%16s %s\n", format_timespan(ts, sizeof(ts), u->time, USEC_PER_MSEC), u->name);
-+ printf("%16s %s\n", format_timespan(ts, sizeof(ts), u->time, USEC_PER_MSEC_DECIMAL), u->name);
- }
-
- return 0;
diff --git a/0031-DHCP-retry-faster.patch b/0031-DHCP-retry-faster.patch
deleted file mode 100644
index 416cc7f..0000000
--- a/0031-DHCP-retry-faster.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From acca75969dc553bea6f97bd02b2dc8b0248cc800 Mon Sep 17 00:00:00 2001
-From: Auke Kok <auke-jan.h.kok@intel.com>
-Date: Fri, 31 Mar 2017 10:16:21 -0700
-Subject: [PATCH 31/39] DHCP: retry faster.
-
----
- src/libsystemd-network/sd-dhcp-client.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/libsystemd-network/sd-dhcp-client.c b/src/libsystemd-network/sd-dhcp-client.c
-index e20d339bd..e65c90e77 100644
---- a/src/libsystemd-network/sd-dhcp-client.c
-+++ b/src/libsystemd-network/sd-dhcp-client.c
-@@ -943,7 +943,7 @@ static int client_timeout_resend(
- if (client->attempt < 64)
- client->attempt *= 2;
-
-- next_timeout = time_now + (client->attempt - 1) * USEC_PER_SEC;
-+ next_timeout = time_now + (client->attempt - 1) * USEC_PER_SEC / 4;
-
- break;
-
---
-2.13.3
-
diff --git a/0041-Disable-XZ-support-in-the-journal.patch b/0041-Disable-XZ-support-in-the-journal.patch
index 8e744f2..272ef1b 100644
--- a/0041-Disable-XZ-support-in-the-journal.patch
+++ b/0041-Disable-XZ-support-in-the-journal.patch
@@ -1,25 +1,13 @@
-From 4da1898a08d6c1bbcf14359634b5029b05e8e2ad Mon Sep 17 00:00:00 2001
-From: Arjan van de Ven <arjan@linux.intel.com>
-Date: Mon, 14 Jan 2019 09:46:32 -0800
-Subject: [PATCH 41/42] Disable XZ support in the journal.
-
----
- src/journal/compress.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/src/journal/compress.c b/src/journal/compress.c
-index e95ce2bcaa..320fb030f9 100644
---- a/src/journal/compress.c
-+++ b/src/journal/compress.c
-@@ -26,6 +26,8 @@
- #include "string-util.h"
+diff -up systemd-243.20190913/src/journal/compress.c.27~ systemd-243.20190913/src/journal/compress.c
+--- systemd-243.20190913/src/journal/compress.c.27~ 2019-09-13 01:56:20.204498714 +0200
++++ systemd-243.20190913/src/journal/compress.c 2019-09-13 01:57:07.732000626 +0200
+@@ -29,6 +29,9 @@
+ #include "unaligned.h"
#include "util.h"
+#undef HAVE_XZ
+#define HAVE_XZ 0
++
#if HAVE_LZ4
DEFINE_TRIVIAL_CLEANUP_FUNC(LZ4F_compressionContext_t, LZ4F_freeCompressionContext);
DEFINE_TRIVIAL_CLEANUP_FUNC(LZ4F_decompressionContext_t, LZ4F_freeDecompressionContext);
---
-2.20.1
-
diff --git a/0998-resolved-create-etc-resolv.conf-symlink-at-runtime.patch b/0998-resolved-create-etc-resolv.conf-symlink-at-runtime.patch
index 00621f8..2adb2b3 100644
--- a/0998-resolved-create-etc-resolv.conf-symlink-at-runtime.patch
+++ b/0998-resolved-create-etc-resolv.conf-symlink-at-runtime.patch
@@ -1,7 +1,7 @@
-diff -up systemd-240/src/resolve/resolved.c.27~ systemd-240/src/resolve/resolved.c
---- systemd-240/src/resolve/resolved.c.27~ 2018-12-22 15:03:12.241896673 +0100
-+++ systemd-240/src/resolve/resolved.c 2018-12-22 15:04:45.420219661 +0100
-@@ -45,6 +45,10 @@ static int run(int argc, char *argv[]) {
+diff -up systemd-243.20190913/src/resolve/resolved.c.33~ systemd-243.20190913/src/resolve/resolved.c
+--- systemd-243.20190913/src/resolve/resolved.c.33~ 2019-09-13 01:57:24.683406430 +0200
++++ systemd-243.20190913/src/resolve/resolved.c 2019-09-13 01:57:24.698417251 +0200
+@@ -49,6 +49,10 @@ static int run(int argc, char *argv[]) {
/* Drop privileges, but only if we have been started as root. If we are not running as root we assume most
* privileges are already dropped. */
if (getuid() == 0) {
@@ -12,16 +12,16 @@ diff -up systemd-240/src/resolve/resolved.c.27~ systemd-240/src/resolve/resolved
/* Drop privileges, but keep three caps. Note that we drop those too, later on (see below) */
r = drop_privileges(uid, gid,
-diff -up systemd-240/tmpfiles.d/etc.conf.m4.27~ systemd-240/tmpfiles.d/etc.conf.m4
---- systemd-240/tmpfiles.d/etc.conf.m4.27~ 2018-12-21 19:53:33.000000000 +0100
-+++ systemd-240/tmpfiles.d/etc.conf.m4 2018-12-22 15:03:12.241896673 +0100
-@@ -13,9 +13,6 @@ L+ /etc/mtab - - - - ../proc/self/mounts
+diff -up systemd-243.20190913/tmpfiles.d/etc.conf.m4.33~ systemd-243.20190913/tmpfiles.d/etc.conf.m4
+--- systemd-243.20190913/tmpfiles.d/etc.conf.m4.33~ 2019-09-13 01:57:24.698417251 +0200
++++ systemd-243.20190913/tmpfiles.d/etc.conf.m4 2019-09-13 01:58:21.684802161 +0200
+@@ -12,9 +12,6 @@ L+ /etc/mtab - - - - ../proc/self/mounts
m4_ifdef(`HAVE_SMACK_RUN_LABEL',
t /etc/mtab - - - - security.SMACK64=_
)m4_dnl
-m4_ifdef(`ENABLE_RESOLVE',
-L! /etc/resolv.conf - - - - ../run/systemd/resolve/stub-resolv.conf
-)m4_dnl
- C /etc/nsswitch.conf - - - -
+ C! /etc/nsswitch.conf - - - -
m4_ifdef(`HAVE_PAM',
- C /etc/pam.d - - - -
+ C! /etc/pam.d - - - -
diff --git a/revert-a17c17122c304ff3f67f1cbf119fa7116315a7df.patch b/revert-a17c17122c304ff3f67f1cbf119fa7116315a7df.patch
deleted file mode 100644
index 2bcda3b..0000000
--- a/revert-a17c17122c304ff3f67f1cbf119fa7116315a7df.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-diff -up systemd-240.20190114/src/core/main.c.31~ systemd-240.20190114/src/core/main.c
---- systemd-240.20190114/src/core/main.c.31~ 2019-01-11 13:15:18.000000000 +0100
-+++ systemd-240.20190114/src/core/main.c 2019-01-14 02:06:29.744478039 +0100
-@@ -1315,10 +1315,11 @@ static int bump_rlimit_memlock(struct rl
- int r;
-
- assert(saved_rlimit);
-+ assert(getuid() == 0);
-
-- /* BPF_MAP_TYPE_LPM_TRIE bpf maps are charged against RLIMIT_MEMLOCK, even if we have CAP_IPC_LOCK which should
-- * normally disable such checks. We need them to implement IPAccessAllow= and IPAccessDeny=, hence let's bump
-- * the value high enough for our user. */
-+ /* BPF_MAP_TYPE_LPM_TRIE bpf maps are charged against RLIMIT_MEMLOCK, even though we have CAP_IPC_LOCK which
-+ * should normally disable such checks. We need them to implement IPAccessAllow= and IPAccessDeny=, hence let's
-+ * bump the value high enough for the root user. */
-
- if (getrlimit(RLIMIT_MEMLOCK, saved_rlimit) < 0)
- return log_warning_errno(errno, "Reading RLIMIT_MEMLOCK failed, ignoring: %m");
-@@ -2039,9 +2040,11 @@ static int initialize_runtime(
- if (prctl(PR_SET_CHILD_SUBREAPER, 1) < 0)
- log_warning_errno(errno, "Failed to make us a subreaper: %m");
-
-- /* Bump up RLIMIT_NOFILE for systemd itself */
-- (void) bump_rlimit_nofile(saved_rlimit_nofile);
-- (void) bump_rlimit_memlock(saved_rlimit_memlock);
-+ if (arg_system) {
-+ /* Bump up RLIMIT_NOFILE for systemd itself */
-+ (void) bump_rlimit_nofile(saved_rlimit_nofile);
-+ (void) bump_rlimit_memlock(saved_rlimit_memlock);
-+ }
-
- return 0;
- }
diff --git a/systemd-243-random-seed-no-insane-timeouts.patch b/systemd-243-random-seed-no-insane-timeouts.patch
new file mode 100644
index 0000000..9224e6f
--- /dev/null
+++ b/systemd-243-random-seed-no-insane-timeouts.patch
@@ -0,0 +1,11 @@
+diff -up systemd-243.20190913/units/systemd-random-seed.service.in.omv~ systemd-243.20190913/units/systemd-random-seed.service.in
+--- systemd-243.20190913/units/systemd-random-seed.service.in.omv~ 2019-09-15 14:01:05.152772560 +0200
++++ systemd-243.20190913/units/systemd-random-seed.service.in 2019-09-15 14:03:17.719446890 +0200
+@@ -27,4 +27,6 @@ ExecStop=@rootlibexecdir@/systemd-random
+ # used as ordering barrier for service that require an initialized entropy
+ # pool. Since initialization can take a while on entropy-starved systems, let's
+ # increase the time-out substantially here.
+-TimeoutSec=10min
++# But since a typical user will power-cycle if booting takes 10 minutes
++# (which will just make things worse), let's not slow down bootup too badly.
++TimeoutSec=10sec
diff --git a/systemd.spec b/systemd.spec
index 356184a..6d953e7 100644
--- a/systemd.spec
+++ b/systemd.spec
@@ -1,14 +1,16 @@
# (tpg) special options for systemd to keep it fast and secure
+%ifnarch %{ix86}
%global optflags %{optflags} -O2 -fexceptions -fstack-protector --param=ssp-buffer-size=32
-
-%ifarch %{ix86}
-# Workaround for "relocation R_386_GOTOFF against preemptible symbol string_hash_ops cannot be used when making a shared object" at link time
-%global optflags %{optflags} -fuse-ld=bfd
+%else
+%global optflags %{optflags} -O2 -fexceptions -fstack-protector --param=ssp-buffer-size=32 -fuse-ld=bfd
%global ldflags %{ldflags} -fuse-ld=bfd
%endif
%bcond_with bootstrap
+# (tpg) do not reqire pkg-config
+%global __requires_exclude pkg-config
+
# macros for sysvinit transition - should be equal to
# sysvinit %version-%release-plus-1
%define sysvinit_version 2.87
@@ -34,19 +36,20 @@
%define udev_rules_dir %{udev_libdir}/rules.d
%define udev_user_rules_dir %{_sysconfdir}/udev/rules.d
-%define major 242
-%define stable 20190509
+%define major 243
+%define stable 20191121
Summary: A System and Session Manager
Name: systemd
-Release: 2
+Release: 5
License: GPLv2+
Group: System/Configuration/Boot and Init
Url: http://www.freedesktop.org/wiki/Software/systemd
%if 0%stable
Version: %{major}.%{stable}
# Packaged from v%(echo %{version} |cut -d. -f1)-stable branch of
-# https://github.com/systemd/systemd-stable/
+# git clone https://github.com/systemd/systemd-stable/ -b v243-stable
+# git archive --prefix=systemd-243.$(date +%Y%m%d)/ --format=tar HEAD | xz > ../systemd-243.$(date +%Y%m%d).tar.xz
Source0: systemd-%{version}.tar.xz
%else
Version: %{major}
@@ -95,20 +98,19 @@ Patch14: systemd-217-do-not-run-systemd-firstboot-in-containers.patch
Patch15: 0500-create-default-links-for-primary-cd_dvd-drive.patch
Patch17: 0515-Add-path-to-locale-search.patch
Patch18: 0516-udev-silence-version-print.patch
+Patch19: systemd-243-random-seed-no-insane-timeouts.patch
# (tpg) ClearLinux patches
Patch100: 0001-journal-raise-compression-threshold.patch
Patch101: 0002-journal-clearout-drop-kmsg.patch
Patch102: 0003-core-use-mmap-to-load-files.patch
Patch103: 0005-journal-flush-var-kmsg-after-starting.patch
-Patch104: 0008-analyze-increase-precision.patch
Patch105: 0010-sd-event-return-malloc-memory-reserves-when-main-loo.patch
Patch106: 0010-efi-boot-generator-Do-not-automount-boot-partition.patch
Patch107: 0012-locale-setup-set-default-locale-to-a-unicode-one.patch
Patch108: 0020-tmpfiles-Make-var-cache-ldconfig-world-readable.patch
Patch109: 0024-more-udev-children-workers.patch
Patch110: 0021-not-load-iptables.patch
-Patch112: 0031-DHCP-retry-faster.patch
Patch113: 0033-Remove-libm-memory-overhead.patch
Patch114: 0035-skip-not-present-ACPI-devices.patch
Patch115: 0031-Make-timesyncd-a-simple-service.patch
@@ -131,9 +133,6 @@ Patch1002: systemd-240-compile-with-clang.patch
Patch1100: 0998-resolved-create-etc-resolv.conf-symlink-at-runtime.patch
# Upstream patches from master that haven't landed in -stable yet
-# https://github.com/systemd/systemd/issues/11386
-# This reverts https://github.com/systemd/systemd/commit/a17c17122c304ff3f67f1cbf119fa7116315a7df.patch
-Patch1201: revert-a17c17122c304ff3f67f1cbf119fa7116315a7df.patch
BuildRequires: meson
BuildRequires: quota
@@ -147,18 +146,18 @@ BuildRequires: intltool
BuildRequires: cap-devel
BuildRequires: pam-devel
BuildRequires: perl(XML::Parser)
-BuildRequires: tcp_wrappers-devel
BuildRequires: pkgconfig(libelf)
BuildRequires: keyutils-devel
BuildRequires: pkgconfig(dbus-1) >= 1.12.2
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(libgcrypt)
+BuildRequires: pkgconfig(openssl)
BuildRequires: pkgconfig(gpg-error)
BuildRequires: gtk-doc
+BuildRequires: cmake
%if !%{with bootstrap}
BuildRequires: pkgconfig(libcryptsetup)
BuildRequires: pkgconfig(python)
-BuildRequires: pkgconfig(gee-0.8)
%endif
BuildRequires: pkgconfig(libkmod) >= 5
BuildRequires: pkgconfig(liblzma)
@@ -168,21 +167,15 @@ BuildRequires: pkgconfig(libqrencode)
BuildRequires: pkgconfig(libiptc)
BuildRequires: xsltproc
BuildRequires: pkgconfig(blkid) >= 2.30
-BuildRequires: usbutils >= 005-3
BuildRequires: pkgconfig(liblz4)
BuildRequires: pkgconfig(libpcre2-8)
BuildRequires: pkgconfig(bash-completion)
-%ifnarch %armx riscv64
+%ifnarch %{armx} %{riscv}
BuildRequires: valgrind-devel
-BuildRequires: gnu-efi
-%if !%{with bootstrap}
-BuildRequires: qemu
+BuildRequires: gnu-efi >= 3.0.11
%endif
-%endif
-BuildRequires: chkconfig
-%ifnarch riscv64
+%ifnarch %{riscv}
BuildRequires: pkgconfig(libseccomp)
-BuildRequires: pkgconfig(libpci)
BuildRequires: pkgconfig(polkit-gobject-1)
%endif
BuildRequires: pkgconfig(libcurl)
@@ -301,6 +294,8 @@ Systemd boot tools to manage EFI boot.
Summary: Console support for %{name}
Group: System/Base
Requires: %{name} = %{EVRD}
+# need for /sbin/setfont etc
+Requires: kbd
Conflicts: %{name} < 235-9
Suggests: %{name}-documentation = %{EVRD}
Suggests: %{name}-locale = %{EVRD}
@@ -568,10 +563,9 @@ For building RPM packages to utilize standard systemd runtime macros.
%build
%ifarch %{ix86}
-# (tpg) since LLVM/clang-3.8.0 systemd hangs system on i586
-# (bero) since 3.9.0, also hangs system on x86_64
-export CC=gcc
-export CXX=g++
+mkdir -p bin
+ln -sf %{_bindir}/ld.bfd bin/ld
+PATH=$PWD/bin:$PATH
%endif
# FIXME
@@ -589,7 +583,7 @@ export CXX=g++
-Dsysvrcnd-path=%{_sysconfdir}/rc.d \
-Drc-local=/etc/rc.d/rc.local \
-Defi=true \
-%ifnarch %{armx} riscv64
+%ifnarch %{armx} %{riscv}
-Dgnu-efi=true \
%endif
%if %{with bootstrap}
@@ -605,7 +599,7 @@ export CXX=g++
-Dkmod=true \
-Dxkbcommon=true \
-Dblkid=true \
-%ifnarch riscv64
+%ifnarch %{riscv}
-Dseccomp=true \
%else
-Dseccomp=false \
@@ -633,6 +627,8 @@ export CXX=g++
-Dtpm=true \
-Dhwdb=true \
-Dsysusers=true \
+ -Dman=true \
+ -Dhtml=true \
-Ddefault-kill-user-processes=false \
-Dtests=unsafe \
-Dinstall-tests=false \
@@ -686,7 +682,7 @@ ln -sf /bin/systemd-escape %{buildroot}%{_bindir}/systemd-escape
# We create all wants links manually at installation time to make sure
# they are not owned and hence overriden by rpm after the used deleted
# them.
-rm -r %{buildroot}%{_sysconfdir}/%{name}/system/*.target.wants
+rm -rf %{buildroot}%{_sysconfdir}/%{name}/system/*.target.wants
# Make sure these directories are properly owned
mkdir -p %{buildroot}/%{systemd_libdir}/system/basic.target.wants
@@ -785,7 +781,7 @@ sed -i -e 's/^#kernel.sysrq = 0/kernel.sysrq = 1/' %{buildroot}/usr/lib/sysctl.d
# (tpg) use 100M as a default maximum value for journal logs
sed -i -e 's/^#SystemMaxUse=.*/SystemMaxUse=100M/' %{buildroot}%{_sysconfdir}/%{name}/journald.conf
-%ifnarch %{armx} riscv64
+%ifnarch %{armx} %{riscv}
install -m644 -D %{SOURCE21} %{buildroot}%{_datadir}/%{name}/bootctl/loader.conf
install -m644 -D %{SOURCE22} %{buildroot}%{_datadir}/%{name}/bootctl/omv.conf
%endif
@@ -1242,14 +1238,12 @@ fi
%exclude %{_bindir}/%{name}-cgtop
%exclude %{_bindir}/%{name}-delta
%{_bindir}/timedatectl
-%{_datadir}/dbus-1/services/org.freedesktop.systemd1.service
%{_datadir}/dbus-1/system-services/org.freedesktop.hostname1.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.network1.service
%{_datadir}/dbus-1/system-services/org.freedesktop.portable1.service
%{_datadir}/dbus-1/system-services/org.freedesktop.resolve1.service
-%{_datadir}/dbus-1/system-services/org.freedesktop.systemd1.service
%{_datadir}/dbus-1/system-services/org.freedesktop.timedate1.service
%{_datadir}/dbus-1/system-services/org.freedesktop.timesync1.service
%{_datadir}/factory/etc/nsswitch.conf
@@ -1271,7 +1265,9 @@ fi
%{_sysconfdir}/profile.d/40systemd.sh
%{_sysconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh
%{_sysconfdir}/xdg/%{name}
-
+%dir /lib/systemd/ntp-units.d
+/lib/systemd/ntp-units.d/80-systemd-timesync.list
+%{_datadir}/factory/etc/issue
%{systemd_libdir}/portable/*
/bin/portablectl
%{systemd_libdir}/resolv.conf
@@ -1315,15 +1311,15 @@ fi
#
%{udev_rules_dir}/*.rules
%attr(02755,root,systemd-journal) %dir %{_logdir}/journal
-%attr(0755,root,root) /sbin/udevadm
-%attr(0755,root,root) /sbin/udevd
-%attr(0755,root,root) %{_bindir}/udevadm
-%attr(0755,root,root) %{_sbindir}/udevadm
+/sbin/udevadm
+/sbin/udevd
+%{_bindir}/udevadm
+%{_sbindir}/udevadm
%attr(0755,root,root) %{udev_libdir}/ata_id
%attr(0755,root,root) %{udev_libdir}/net_action
%attr(0755,root,root) %{udev_libdir}/net_create_ifcfg
%attr(0755,root,root) %{udev_libdir}/scsi_id
-%attr(0755,root,root) %{udev_libdir}/udevd
+%{udev_libdir}/udevd
%config(noreplace) %{_prefix}/lib/sysctl.d/*.conf
%config(noreplace) %{_prefix}/lib/sysusers.d/*.conf
%config(noreplace) %{_sysconfdir}/pam.d/%{name}-user
@@ -1427,7 +1423,7 @@ fi
%files boot
%{_bindir}/bootctl
-%ifnarch %armx riscv64
+%ifnarch %{armx} %{riscv}
%dir %{_prefix}/lib/%{name}/boot
%dir %{_prefix}/lib/%{name}/boot/efi
%dir %{_datadir}/%{name}/bootctl
@@ -1489,6 +1485,7 @@ fi
%{_datadir}/polkit-1/actions/org.freedesktop.hostname1.policy
%{_datadir}/polkit-1/actions/org.freedesktop.locale1.policy
%{_datadir}/polkit-1/actions/org.freedesktop.login1.policy
+%{_datadir}/polkit-1/actions/org.freedesktop.network1.policy
%{_datadir}/polkit-1/actions/org.freedesktop.systemd1.policy
%{_datadir}/polkit-1/actions/org.freedesktop.timedate1.policy
%{_datadir}/polkit-1/actions/org.freedesktop.resolve1.policy