systemd 236-1 (x86_64;i586) 2017-3500
-9999

Status rejected
Submitter tpgxyz [@T] gmail.com
Platform 3.0
Repository main
URL https://abf.openmandriva.org/build_lists/132308
Packages
lib64nss_myhostname2-236-1.x86_64.binary
lib64nss_mymachines2-236-1.x86_64.binary
lib64nss_resolve2-236-1.x86_64.binary
lib64nss_systemd2-236-1.x86_64.binary
lib64systemd0-236-1.x86_64.binary
lib64systemd-devel-236-1.x86_64.binary
lib64udev1-236-1.x86_64.binary
lib64udev-devel-236-1.x86_64.binary
systemd-236-1.x86_64.binary
systemd-236-1.x86_64.source
systemd-bash-completion-236-1.x86_64.binary
systemd-boot-236-1.x86_64.binary
systemd-console-236-1.x86_64.binary
systemd-container-236-1.x86_64.binary
systemd-coredump-236-1.x86_64.binary
systemd-debuginfo-236-1.x86_64.debuginfo
systemd-doc-236-1.x86_64.binary
systemd-hwdb-236-1.x86_64.binary
systemd-journal-gateway-236-1.x86_64.binary
systemd-locale-236-1.x86_64.binary
systemd-polkit-236-1.x86_64.binary
systemd-zsh-completion-236-1.x86_64.binary
libnss_myhostname2-236-1.i586.binary
libnss_mymachines2-236-1.i586.binary
libnss_resolve2-236-1.i586.binary
libnss_systemd2-236-1.i586.binary
libsystemd0-236-1.i586.binary
libsystemd-devel-236-1.i586.binary
libudev1-236-1.i586.binary
libudev-devel-236-1.i586.binary
systemd-236-1.i586.binary
systemd-236-1.i586.source
systemd-bash-completion-236-1.i586.binary
systemd-boot-236-1.i586.binary
systemd-console-236-1.i586.binary
systemd-container-236-1.i586.binary
systemd-coredump-236-1.i586.binary
systemd-debuginfo-236-1.i586.debuginfo
systemd-doc-236-1.i586.binary
systemd-hwdb-236-1.i586.binary
systemd-journal-gateway-236-1.i586.binary
systemd-locale-236-1.i586.binary
systemd-polkit-236-1.i586.binary
systemd-zsh-completion-236-1.i586.binary
Build Date 2017-12-21 09:12:47 +0000 UTC
Last Updated 2017-12-23 22:53:54.339855653 +0000 UTC
$ git diff --patch-with-stat --summary e2809af24d86cd7994ecfcc9aa944507e4065936..adcf1166a864447b3c50c0eb1d73625814b54ae1

 .abf.yml                                           |   2 +-
 0001-journal-raise-compression-threshold.patch     |  25 +
 0002-journal-clearout-drop-kmsg.patch              |  34 +
 0003-core-use-mmap-to-load-files.patch             |  25 +
 0005-journal-flush-var-kmsg-after-starting.patch   |  31 +
 ...turn-malloc-memory-reserves-when-main-loo.patch |  45 ++
 ...es-Make-var-cache-ldconfig-world-readable.patch |  26 +
 0024-more-udev-children-workers.patch              |  25 +
 0029-Enable-BBR-Bottleneck-Bandwidth-and-RTT.patch |  26 +
 ...ine-complete-once-one-link-is-online-not-.patch |  31 +
 0031-DHCP-retry-faster.patch                       |  25 +
 0033-Remove-libm-memory-overhead.patch             |  27 +
 0035-skip-not-present-ACPI-devices.patch           |  59 ++
 0038-Compile-udev-with-O3.patch                    |  32 +
 0039-Don-t-wait-for-utmp-at-shutdown.patch         |  25 +
 ...-wait-online-don-t-pass-NULL-to-strv_find.patch |  23 +
 ...probe-pci-devices-on-coldplug-for-storage.patch |  30 +-
 systemd-230-add-userpreset-rpm-macro.patch         |  11 -
 systemd-236-fix-build-with-LLVM.patch              |  16 +
 systemd.rpmlintrc                                  |   9 +
 systemd.spec                                       | 758 ++++++++++++++-------
 21 files changed, 1006 insertions(+), 279 deletions(-)
 create mode 100644 0001-journal-raise-compression-threshold.patch
 create mode 100644 0002-journal-clearout-drop-kmsg.patch
 create mode 100644 0003-core-use-mmap-to-load-files.patch
 create mode 100644 0005-journal-flush-var-kmsg-after-starting.patch
 create mode 100644 0010-sd-event-return-malloc-memory-reserves-when-main-loo.patch
 create mode 100644 0020-tmpfiles-Make-var-cache-ldconfig-world-readable.patch
 create mode 100644 0024-more-udev-children-workers.patch
 create mode 100644 0029-Enable-BBR-Bottleneck-Bandwidth-and-RTT.patch
 create mode 100644 0030-network-online-complete-once-one-link-is-online-not-.patch
 create mode 100644 0031-DHCP-retry-faster.patch
 create mode 100644 0033-Remove-libm-memory-overhead.patch
 create mode 100644 0035-skip-not-present-ACPI-devices.patch
 create mode 100644 0038-Compile-udev-with-O3.patch
 create mode 100644 0039-Don-t-wait-for-utmp-at-shutdown.patch
 create mode 100644 0040-network-wait-online-don-t-pass-NULL-to-strv_find.patch
 delete mode 100644 systemd-230-add-userpreset-rpm-macro.patch
 create mode 100644 systemd-236-fix-build-with-LLVM.patch

diff --git a/.abf.yml b/.abf.yml
index 0bce55b..d64cc42 100644
--- a/.abf.yml
+++ b/.abf.yml
@@ -1,2 +1,2 @@
 sources:
-  systemd-234.tar.gz: a0ff860f21fc71d3628ad187150c16369db1ff4f
+  systemd-236.tar.gz: eab372a3441997dfba1dfa41183918764c31a7df
diff --git a/0001-journal-raise-compression-threshold.patch b/0001-journal-raise-compression-threshold.patch
new file mode 100644
index 0000000..ce3efd6
--- /dev/null
+++ b/0001-journal-raise-compression-threshold.patch
@@ -0,0 +1,25 @@
+From 499add1098733d5b45d46a56177e01792904bc80 Mon Sep 17 00:00:00 2001
+From: Dimitri John Ledkov <dimitri.j.ledkov@intel.com>
+Date: Tue, 23 Jun 2015 11:23:57 +0100
+Subject: [PATCH 01/39] journal: raise compression threshold.
+
+---
+ src/journal/journal-file.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/journal/journal-file.c b/src/journal/journal-file.c
+index 4ff38de2e..3769ebe0d 100644
+--- a/src/journal/journal-file.c
++++ b/src/journal/journal-file.c
+@@ -48,7 +48,7 @@
+ #define DEFAULT_DATA_HASH_TABLE_SIZE (2047ULL*sizeof(HashItem))
+ #define DEFAULT_FIELD_HASH_TABLE_SIZE (333ULL*sizeof(HashItem))
+ 
+-#define COMPRESSION_SIZE_THRESHOLD (512ULL)
++#define COMPRESSION_SIZE_THRESHOLD (8192ULL)
+ 
+ /* This is the minimum journal file size */
+ #define JOURNAL_FILE_SIZE_MIN (512ULL*1024ULL)                 /* 512 KiB */
+-- 
+2.13.3
+
diff --git a/0002-journal-clearout-drop-kmsg.patch b/0002-journal-clearout-drop-kmsg.patch
new file mode 100644
index 0000000..c918bc8
--- /dev/null
+++ b/0002-journal-clearout-drop-kmsg.patch
@@ -0,0 +1,34 @@
+From 54ad68e9add1762c7e80f0759150350eaa066005 Mon Sep 17 00:00:00 2001
+From: Dimitri John Ledkov <dimitri.j.ledkov@intel.com>
+Date: Tue, 23 Jun 2015 11:25:41 +0100
+Subject: [PATCH 02/39] journal: clearout & drop kmsg.
+
+---
+ src/journal/journald-kmsg.c | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+diff -Naur systemd-235/src/journal/journald-kmsg.c systemd-235.tpg/src/journal/journald-kmsg.c
+--- systemd-235/src/journal/journald-kmsg.c	2017-10-06 08:18:04.000000000 +0000
++++ systemd-235.tpg/src/journal/journald-kmsg.c	2017-10-23 16:06:34.231634116 +0000
+@@ -389,6 +389,7 @@
+ int server_open_dev_kmsg(Server *s) {
+         mode_t mode;
+         int r;
++        char buffer[40960];
+ 
+         assert(s);
+ 
+@@ -407,6 +408,14 @@
+         if (!s->read_kmsg)
+                 return 0;
+ 
++        /* clear out /dev/kmsg, we don't want all its messages */
++        while (1) {
++                 int ret;
++                 ret = read(s->dev_kmsg_fd, buffer, 40960);
++                 if (ret <= 0)
++                         break;
++        }
++
+         r = sd_event_add_io(s->event, &s->dev_kmsg_event_source, s->dev_kmsg_fd, EPOLLIN, dispatch_dev_kmsg, s);
+         if (r < 0) {
+ 
diff --git a/0003-core-use-mmap-to-load-files.patch b/0003-core-use-mmap-to-load-files.patch
new file mode 100644
index 0000000..718d673
--- /dev/null
+++ b/0003-core-use-mmap-to-load-files.patch
@@ -0,0 +1,25 @@
+From 4058eb4f688d02b5ed3ff3d4297042c7f0b1c786 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/39] 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 9d5c39b3d..a770fdb3f 100644
+--- a/src/core/load-fragment.c
++++ b/src/core/load-fragment.c
+@@ -4237,7 +4237,7 @@ static int open_follow(char **filename, FILE **_f, Set *names, char **_final) {
+                 *filename = target;
+         }
+ 
+-        f = fdopen(fd, "re");
++        f = fdopen(fd, "rem");
+         if (!f) {
+                 safe_close(fd);
+                 return -errno;
+-- 
+2.13.3
+
diff --git a/0005-journal-flush-var-kmsg-after-starting.patch b/0005-journal-flush-var-kmsg-after-starting.patch
new file mode 100644
index 0000000..39e4393
--- /dev/null
+++ b/0005-journal-flush-var-kmsg-after-starting.patch
@@ -0,0 +1,31 @@
+From ad97082cec9b5aee3f1224c172a6131d1a528389 Mon Sep 17 00:00:00 2001
+From: Dimitri John Ledkov <dimitri.j.ledkov@intel.com>
+Date: Tue, 23 Jun 2015 11:38:31 +0100
+Subject: [PATCH 05/39] journal: flush var/kmsg after starting.
+
+---
+ src/journal/journald.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff -Naur systemd-236/src/journal/journald.c systemd-236.tpg/src/journal/journald.c
+--- systemd-236/src/journal/journald.c	2017-12-14 22:09:57.000000000 +0000
++++ systemd-236.tpg/src/journal/journald.c	2017-12-20 21:58:06.517597120 +0000
+@@ -53,8 +53,6 @@
+                 goto finish;
+ 
+         server_vacuum(&server, false);
+-        server_flush_to_var(&server, true);
+-        server_flush_dev_kmsg(&server);
+ 
+         log_debug("systemd-journald running as pid "PID_FMT, getpid_cached());
+         server_driver_message(&server, 0,
+@@ -62,6 +60,9 @@
+                               LOG_MESSAGE("Journal started"),
+                               NULL);
+ 
++        server_flush_to_var(&server, true);
++        server_flush_dev_kmsg(&server);
++
+         /* Make sure to send the usage message *after* flushing the
+          * journal so entries from the runtime journals are ordered
+          * before this message. See #4190 for some details. */
diff --git a/0010-sd-event-return-malloc-memory-reserves-when-main-loo.patch b/0010-sd-event-return-malloc-memory-reserves-when-main-loo.patch
new file mode 100644
index 0000000..7c7b159
--- /dev/null
+++ b/0010-sd-event-return-malloc-memory-reserves-when-main-loo.patch
@@ -0,0 +1,45 @@
+From 44afc6c08994532386d6eb203632185e386abddc Mon Sep 17 00:00:00 2001
+From: Dimitri John Ledkov <dimitri.j.ledkov@intel.com>
+Date: Tue, 23 Jun 2015 11:47:18 +0100
+Subject: [PATCH 10/39] sd-event: return malloc() memory reserves when main
+ loop is idle.
+
+---
+ src/libsystemd/sd-event/sd-event.c | 13 +++++++++++--
+ 1 file changed, 11 insertions(+), 2 deletions(-)
+
+diff --git a/src/libsystemd/sd-event/sd-event.c b/src/libsystemd/sd-event/sd-event.c
+index b4686d006..9b2bb677d 100644
+--- a/src/libsystemd/sd-event/sd-event.c
++++ b/src/libsystemd/sd-event/sd-event.c
+@@ -20,6 +20,7 @@
+ #include <sys/epoll.h>
+ #include <sys/timerfd.h>
+ #include <sys/wait.h>
++#include <malloc.h>
+ 
+ #include "sd-daemon.h"
+ #include "sd-event.h"
+@@ -2678,9 +2679,17 @@ _public_ int sd_event_run(sd_event *e, uint64_t timeout) {
+         }
+ 
+         r = sd_event_prepare(e);
+-        if (r == 0)
+-                /* There was nothing? Then wait... */
++        if (r == 0) {
++                /* There was nothing? Then wait...
++                 *
++                 * ... but since there is no event pending, likely
++                 * we'll be idle for a long time.  This is a good time
++                 * to return any malloc() memory reserves to the
++                 * operating system.
++                 */
++                malloc_trim(0);
+                 r = sd_event_wait(e, timeout);
++        }
+ 
+         if (e->profile_delays)
+                 e->last_run = now(CLOCK_MONOTONIC);
+-- 
+2.13.3
+
diff --git a/0020-tmpfiles-Make-var-cache-ldconfig-world-readable.patch b/0020-tmpfiles-Make-var-cache-ldconfig-world-readable.patch
new file mode 100644
index 0000000..5088477
--- /dev/null
+++ b/0020-tmpfiles-Make-var-cache-ldconfig-world-readable.patch
@@ -0,0 +1,26 @@
+From 43136c2becf0a4f490b056281e0b8578cc91f1dc Mon Sep 17 00:00:00 2001
+From: Ikey Doherty <michael.i.doherty@intel.com>
+Date: Fri, 27 Nov 2015 16:30:12 +0000
+Subject: [PATCH 20/39] tmpfiles: Make /var/cache/ldconfig world readable
+
+Signed-off-by: Ikey Doherty <michael.i.doherty@intel.com>
+---
+ tmpfiles.d/var.conf.m4 | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/tmpfiles.d/var.conf.m4 b/tmpfiles.d/var.conf.m4
+index e640fcd8c..264c56cb5 100644
+--- a/tmpfiles.d/var.conf.m4
++++ b/tmpfiles.d/var.conf.m4
+@@ -19,6 +19,8 @@ f /var/log/lastlog 0664 root utmp -
+ )m4_dnl
+ 
+ d /var/cache 0755 - - -
++d /var/cache/locale 0755 - - -
++d /var/cache/ldconfig 0755 - - -
+ 
+ d /var/lib 0755 - - -
+ 
+-- 
+2.13.3
+
diff --git a/0024-more-udev-children-workers.patch b/0024-more-udev-children-workers.patch
new file mode 100644
index 0000000..2287061
--- /dev/null
+++ b/0024-more-udev-children-workers.patch
@@ -0,0 +1,25 @@
+From ee960a27d8629d34c8e730dc28e95d0144d9a37c Mon Sep 17 00:00:00 2001
+From: Arjan van de Ven <arjan@linux.intel.com>
+Date: Sat, 18 Jun 2016 17:33:33 +0000
+Subject: [PATCH 24/39] more udev children workers
+
+---
+ units/systemd-udevd.service.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/units/systemd-udevd.service.in b/units/systemd-udevd.service.in
+index fc037b5a5..6806d5b41 100644
+--- a/units/systemd-udevd.service.in
++++ b/units/systemd-udevd.service.in
+@@ -20,7 +20,7 @@ OOMScoreAdjust=-1000
+ Sockets=systemd-udevd-control.socket systemd-udevd-kernel.socket
+ Restart=always
+ RestartSec=0
+-ExecStart=@rootlibexecdir@/systemd-udevd
++ExecStart=@rootlibexecdir@/systemd-udevd  --children-max=16
+ KillMode=mixed
+ WatchdogSec=3min
+ TasksMax=infinity
+-- 
+2.13.3
+
diff --git a/0029-Enable-BBR-Bottleneck-Bandwidth-and-RTT.patch b/0029-Enable-BBR-Bottleneck-Bandwidth-and-RTT.patch
new file mode 100644
index 0000000..919e5f0
--- /dev/null
+++ b/0029-Enable-BBR-Bottleneck-Bandwidth-and-RTT.patch
@@ -0,0 +1,26 @@
+From 34cc512efc5043cd8f6f3ebe788ae78bf597ca78 Mon Sep 17 00:00:00 2001
+From: Auke Kok <auke-jan.h.kok@intel.com>
+Date: Fri, 31 Mar 2017 10:14:16 -0700
+Subject: [PATCH 29/39] Enable BBR - Bottleneck Bandwidth and RTT
+
+Enable the `fq` qdisc.
+---
+ sysctl.d/50-default.conf | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/sysctl.d/50-default.conf b/sysctl.d/50-default.conf
+index aff99300d..4b625c461 100644
+--- a/sysctl.d/50-default.conf
++++ b/sysctl.d/50-default.conf
+@@ -34,7 +34,7 @@ net.ipv4.conf.default.promote_secondaries = 1
+ net.ipv4.conf.all.promote_secondaries = 1
+ 
+ # Fair Queue CoDel packet scheduler to fight bufferbloat
+-net.core.default_qdisc = fq_codel
++net.core.default_qdisc = fq
+ 
+ # Enable hard and soft link protection
+ fs.protected_hardlinks = 1
+-- 
+2.13.3
+
diff --git a/0030-network-online-complete-once-one-link-is-online-not-.patch b/0030-network-online-complete-once-one-link-is-online-not-.patch
new file mode 100644
index 0000000..d3e5482
--- /dev/null
+++ b/0030-network-online-complete-once-one-link-is-online-not-.patch
@@ -0,0 +1,31 @@
+From 59528e7de409edb9ad9425b3748c9cd9a7c6f479 Mon Sep 17 00:00:00 2001
+From: Auke Kok <auke-jan.h.kok@intel.com>
+Date: Fri, 31 Mar 2017 10:15:52 -0700
+Subject: [PATCH 30/39] network-online: complete once one link is online, not
+ all.
+
+---
+ src/network/wait-online/manager.c | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/src/network/wait-online/manager.c b/src/network/wait-online/manager.c
+index d51b0a59d..a5781e6e6 100644
+--- a/src/network/wait-online/manager.c
++++ b/src/network/wait-online/manager.c
+@@ -71,13 +71,11 @@ bool manager_all_configured(Manager *m) {
+                 if (!l->state) {
+                         log_debug("link %s has not yet been processed by udev",
+                                   l->ifname);
+-                        return false;
+                 }
+ 
+                 if (STR_IN_SET(l->state, "configuring", "pending")) {
+                         log_debug("link %s is being processed by networkd",
+                                   l->ifname);
+-                        return false;
+                 }
+ 
+                 if (l->operational_state &&
+-- 
+2.13.3
+
diff --git a/0031-DHCP-retry-faster.patch b/0031-DHCP-retry-faster.patch
new file mode 100644
index 0000000..416cc7f
--- /dev/null
+++ b/0031-DHCP-retry-faster.patch
@@ -0,0 +1,25 @@
+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/0033-Remove-libm-memory-overhead.patch b/0033-Remove-libm-memory-overhead.patch
new file mode 100644
index 0000000..9bcad0f
--- /dev/null
+++ b/0033-Remove-libm-memory-overhead.patch
@@ -0,0 +1,27 @@
+From 386d0c63f7d71867f94d9a5673ebea0cf163985d Mon Sep 17 00:00:00 2001
+From: Auke Kok <auke-jan.h.kok@intel.com>
+Date: Fri, 14 Jul 2017 11:31:38 -0700
+Subject: [PATCH 33/39] Remove libm memory overhead.
+
+timesyncd pulls in libm, only for one single exp2() in a debug log
+statement save the memory by not logging this little bit of info.
+---
+ src/timesync/timesyncd-manager.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/timesync/timesyncd-manager.c b/src/timesync/timesyncd-manager.c
+index a24c821bd..35e579154 100644
+--- a/src/timesync/timesyncd-manager.c
++++ b/src/timesync/timesyncd-manager.c
+@@ -652,7 +652,7 @@ static int manager_receive_response(sd_event_source *source, int fd, uint32_t re
+                   NTP_FIELD_VERSION(ntpmsg.field),
+                   NTP_FIELD_MODE(ntpmsg.field),
+                   ntpmsg.stratum,
+-                  exp2(ntpmsg.precision), ntpmsg.precision,
++                  0.0, ntpmsg.precision,
+                   root_distance,
+                   ntpmsg.stratum == 1 ? ntpmsg.refid : "n/a",
+                   origin - OFFSET_1900_1970,
+-- 
+2.13.3
+
diff --git a/0035-skip-not-present-ACPI-devices.patch b/0035-skip-not-present-ACPI-devices.patch
new file mode 100644
index 0000000..deecb28
--- /dev/null
+++ b/0035-skip-not-present-ACPI-devices.patch
@@ -0,0 +1,59 @@
+From 532820eb28fefdacec980df0b869e0ac6defbb26 Mon Sep 17 00:00:00 2001
+From: Auke Kok <auke-jan.h.kok@intel.com>
+Date: Fri, 14 Jul 2017 11:33:26 -0700
+Subject: [PATCH 35/39] skip not-present ACPI devices
+
+Xen and older Qemu expose a boatload (253) ACPI devices to the guest
+that are not present; these show up in sysfs but there's nothing
+meaningful one can do with them.
+
+This patch will have udev skip these devices to save the 100ms+
+boot time
+---
+ src/libsystemd/sd-device/device-enumerator.c | 23 +++++++++++++++++++++++
+ 1 file changed, 23 insertions(+)
+
+diff --git a/src/libsystemd/sd-device/device-enumerator.c b/src/libsystemd/sd-device/device-enumerator.c
+index ebb8b2d16..39172c457 100644
+--- a/src/libsystemd/sd-device/device-enumerator.c
++++ b/src/libsystemd/sd-device/device-enumerator.c
+@@ -465,6 +465,26 @@ static bool match_sysname(sd_device_enumerator *enumerator, const char *sysname)
+         return false;
+ }
+ 
++static int acpi_status_disabled(char *sysfspath)
++{
++	FILE *file;
++	unsigned int i;
++	char newpath[4096];
++	char line[128];
++	sprintf(newpath, "%s/status", sysfspath);
++	file = fopen(newpath, "r");
++	if (!file)
++		return 0;
++//	line[0] = 0;
++//	fgets(line, 128, file);
++	fclose(file);
++//	i = strtoull(line, NULL, 10);
++	
++	if (strstr(sysfspath, "acpi") && strstr(sysfspath, "device:"))
++		return 1;
++	return 0;
++}
++
+ static int enumerator_scan_dir_and_add_devices(sd_device_enumerator *enumerator, const char *basedir, const char *subdir1, const char *subdir2) {
+         _cleanup_closedir_ DIR *dir = NULL;
+         char *path;
+@@ -500,6 +520,9 @@ static int enumerator_scan_dir_and_add_devices(sd_device_enumerator *enumerator,
+ 
+                 (void)sprintf(syspath, "%s%s", path, dent->d_name);
+ 
++		if (acpi_status_disabled(syspath))
++			continue;
++
+                 k = sd_device_new_from_syspath(&device, syspath);
+                 if (k < 0) {
+                         if (k != -ENODEV)
+-- 
+2.13.3
+
diff --git a/0038-Compile-udev-with-O3.patch b/0038-Compile-udev-with-O3.patch
new file mode 100644
index 0000000..9e1c62f
--- /dev/null
+++ b/0038-Compile-udev-with-O3.patch
@@ -0,0 +1,32 @@
+diff -Naur systemd-235/meson.build systemd-235.tpg/meson.build
+--- systemd-235/meson.build	2017-10-06 08:18:04.028244528 +0000
++++ systemd-235.tpg/meson.build	2017-10-23 16:28:06.159547684 +0000
+@@ -2137,7 +2137,7 @@
+ exe = executable('systemd-udevd',
+                  systemd_udevd_sources,
+                  include_directories : includes,
+-                 c_args : ['-DLOG_REALM=LOG_REALM_UDEV'],
++                 c_args : ['-DLOG_REALM=LOG_REALM_UDEV', '-O3'],
+                  link_with : [libudev_core,
+                               libsystemd_network,
+                               libudev_internal],
+@@ -2154,6 +2154,7 @@
+ exe = executable('udevadm',
+                  udevadm_sources,
+                  include_directories : includes,
++                 c_args : ['-O3'],
+                  link_with : [libudev_core,
+                               libsystemd_network,
+                               libudev_internal],
+diff -Naur systemd-235/src/udev/meson.build systemd-235.tpg/src/udev/meson.build
+--- systemd-235/src/udev/meson.build	2017-10-06 08:18:04.028244528 +0000
++++ systemd-235.tpg/src/udev/meson.build	2017-10-23 16:29:03.765552545 +0000
+@@ -131,7 +131,7 @@
+         executable(prog[0].split('/')[0],
+                    prog,
+                    include_directories : includes,
+-                   c_args : ['-DLOG_REALM=LOG_REALM_UDEV'],
++                   c_args : ['-DLOG_REALM=LOG_REALM_UDEV', '-O3'],
+                    link_with : [libudev_internal],
+                    install_rpath : udev_rpath,
+                    install : true,
diff --git a/0039-Don-t-wait-for-utmp-at-shutdown.patch b/0039-Don-t-wait-for-utmp-at-shutdown.patch
new file mode 100644
index 0000000..29d9b51
--- /dev/null
+++ b/0039-Don-t-wait-for-utmp-at-shutdown.patch
@@ -0,0 +1,25 @@
+From 30da036bae1c7798dd4883b9bfc35be0b6b5a6aa Mon Sep 17 00:00:00 2001
+From: Auke Kok <auke-jan.h.kok@intel.com>
+Date: Fri, 14 Jul 2017 11:37:58 -0700
+Subject: [PATCH 39/39] Don't wait for utmp at shutdown.
+
+---
+ units/systemd-update-utmp.service.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/units/systemd-update-utmp.service.in b/units/systemd-update-utmp.service.in
+index 163eccd91..8ee6c9c79 100644
+--- a/units/systemd-update-utmp.service.in
++++ b/units/systemd-update-utmp.service.in
+@@ -12,7 +12,7 @@ DefaultDependencies=no
+ RequiresMountsFor=/var/log/wtmp
+ Conflicts=shutdown.target
+ After=systemd-remount-fs.service systemd-tmpfiles-setup.service auditd.service
+-Before=sysinit.target shutdown.target
++Before=shutdown.target
+ 
+ [Service]
+ Type=oneshot
+-- 
+2.13.3
+
diff --git a/0040-network-wait-online-don-t-pass-NULL-to-strv_find.patch b/0040-network-wait-online-don-t-pass-NULL-to-strv_find.patch
new file mode 100644
index 0000000..98977e3
--- /dev/null
+++ b/0040-network-wait-online-don-t-pass-NULL-to-strv_find.patch
@@ -0,0 +1,23 @@
+From 4e20603e5351f986505a7e3a488406a5f2bc1f66 Mon Sep 17 00:00:00 2001
+From: Auke Kok <auke-jan.h.kok@intel.com>
+Date: Thu, 19 Oct 2017 16:07:51 -0700
+Subject: [PATCH] network-wait-online: don't pass NULL to strv_find().
+
+---
+ src/network/wait-online/manager.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff -Naur systemd-236/src/network/wait-online/manager.c systemd-236.tpg/src/network/wait-online/manager.c
+--- systemd-236/src/network/wait-online/manager.c	2017-12-20 22:10:47.700629000 +0000
++++ systemd-236.tpg/src/network/wait-online/manager.c	2017-12-20 22:12:15.831957785 +0000
+@@ -75,6 +75,7 @@
+                 if (!l->state) {
+                         log_debug("link %s has not yet been processed by udev",
+                                   l->ifname);
++                        continue;
+                 }
+ 
+                 if (STR_IN_SET(l->state, "configuring", "pending")) {
+
+--
+2.14.2
diff --git a/0503-Disable-modprobe-pci-devices-on-coldplug-for-storage.patch b/0503-Disable-modprobe-pci-devices-on-coldplug-for-storage.patch
index aded989..1856d27 100644
--- a/0503-Disable-modprobe-pci-devices-on-coldplug-for-storage.patch
+++ b/0503-Disable-modprobe-pci-devices-on-coldplug-for-storage.patch
@@ -1,22 +1,10 @@
-From b5efb08c5bd0e8d33ecb1bd989f558a8d704a150 Mon Sep 17 00:00:00 2001
-From: Frederic Crozat <fcrozat@mandriva.com>
-Date: Sun, 1 Jul 2012 17:44:41 +0100
-Subject: [PATCH 503/511] Disable modprobe pci devices on coldplug for storage
- and display
-
-Signed-off-by: Frederic Crozat <fcrozat@mandriva.com>
----
- rules/80-drivers.rules | 10 ++++++++++
- 1 file changed, 10 insertions(+)
-
-diff --git a/rules/80-drivers.rules b/rules/80-drivers.rules
-index 8551f47..60c976a 100644
---- a/rules/80-drivers.rules
-+++ b/rules/80-drivers.rules
-@@ -2,6 +2,16 @@
- 
- ACTION=="remove", GOTO="drivers_end"
+diff -Naur systemd-235/rules/80-drivers.rules systemd-235.tpg/rules/80-drivers.rules
+--- systemd-235/rules/80-drivers.rules	2017-10-06 08:18:04.033532976 +0000
++++ systemd-235.tpg/rules/80-drivers.rules	2017-10-15 00:10:20.183381729 +0000
+@@ -1,6 +1,15 @@
+ # do not edit this file, it will be overwritten on update
  
+ ACTION!="add", GOTO="drivers_end"
 +# modprobe pci devices on cold plug except for:
 +#  PCI_BASE_CLASS_STORAGE          0x01
 +SUBSYSTEM=="pci", ENV{STARTUP}=="1", ATTR{class}=="0x01*", GOTO="drivers_end"
@@ -26,10 +14,6 @@ index 8551f47..60c976a 100644
 +SUBSYSTEM=="pci", ATTR{class}=="0x03*", DRIVER!="?*", TEST=="/initrd", RUN+="/sbin/display_driver_helper --load $env{MODALIAS}", GOTO="drivers_end"
 +# - skip loading if in initrd (i.e. no /initrd) and nokmsboot or failsafe is specified
 +SUBSYSTEM=="pci", ATTR{class}=="0x03*", DRIVER!="?*", PROGRAM=="/bin/grep -qFw -e nokmsboot -e failsafe /proc/cmdline", GOTO="drivers_end"
-+
+ 
  ENV{MODALIAS}=="?*", RUN{builtin}+="kmod load $env{MODALIAS}"
  SUBSYSTEM=="tifm", ENV{TIFM_CARD_TYPE}=="SD", RUN{builtin}+="kmod load tifm_sd"
- SUBSYSTEM=="tifm", ENV{TIFM_CARD_TYPE}=="MS", RUN{builtin}+="kmod load tifm_ms"
--- 
-1.9.2
-
diff --git a/systemd-230-add-userpreset-rpm-macro.patch b/systemd-230-add-userpreset-rpm-macro.patch
deleted file mode 100644
index 8c523fa..0000000
--- a/systemd-230-add-userpreset-rpm-macro.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -Naur systemd-230/src/core/macros.systemd.in systemd-230.tpg/src/core/macros.systemd.in
---- systemd-230/src/core/macros.systemd.in	2016-05-21 22:31:29.000000000 +0000
-+++ systemd-230.tpg/src/core/macros.systemd.in	2016-06-07 16:59:51.803511156 +0000
-@@ -21,6 +21,7 @@
- 
- %_unitdir @systemunitdir@
- %_userunitdir @userunitdir@
-+%_userpresetdir %{_prefix}/lib/systemd/user-preset
- %_presetdir @systempresetdir@
- %_udevhwdbdir @udevhwdbdir@
- %_udevrulesdir @udevrulesdir@
diff --git a/systemd-236-fix-build-with-LLVM.patch b/systemd-236-fix-build-with-LLVM.patch
new file mode 100644
index 0000000..2e51e3d
--- /dev/null
+++ b/systemd-236-fix-build-with-LLVM.patch
@@ -0,0 +1,16 @@
+diff -Naur systemd-236/src/basic/macro.h systemd-236.tpg/src/basic/macro.h
+--- systemd-236/src/basic/macro.h	2017-12-14 22:09:57.037151344 +0000
++++ systemd-236.tpg/src/basic/macro.h	2017-12-20 23:37:29.334970955 +0000
+@@ -48,10 +48,10 @@
+ #define _weakref_(x) __attribute__((weakref(#x)))
+ #define _alignas_(x) __attribute__((aligned(__alignof(x))))
+ #define _cleanup_(x) __attribute__((cleanup(x)))
+-#if __GNUC__ >= 7
++#if __GNUC__ >= 7 && __has_attribute(__fallthrough__)
+ #define _fallthrough_ __attribute__((fallthrough))
+ #else
+-#define _fallthrough_
++#define _fallthrough_ ((void) 0)
+ #endif
+ 
+ /* Temporarily disable some warnings */
diff --git a/systemd.rpmlintrc b/systemd.rpmlintrc
index 96583a1..85e2580 100644
--- a/systemd.rpmlintrc
+++ b/systemd.rpmlintrc
@@ -2,3 +2,12 @@ addFilter("E: hardcoded-library-path")
 addFilter("E: init-script-non-executable")
 addFilter("E: no-chkconfig-line")
 addFilter("E: init-script-without-chkconfig-preun")
+addFilter("E: useless-provides")
+addFilter("E: subsys-not-used")
+addFilter("E: postin-without-ldconfig")
+addFilter("E: postun-without-ldconfig")
+addFilter("E: postin-without-chkconfig")
+addFilter("E: non-standard-dir-perm")
+addFilter("E: non-ghost-file")
+addFilter("E: non-executable-script")
+addFilter("E: no-dependency-on")
diff --git a/systemd.spec b/systemd.spec
index f0980e3..41428d0 100644
--- a/systemd.spec
+++ b/systemd.spec
@@ -1,3 +1,7 @@
+%ifarch %{ix86}
+%define _disable_lto 1
+%endif
+
 %bcond_with bootstrap
 
 # macros for sysvinit transition - should be equal to
@@ -12,6 +16,9 @@
 %define libsystemd_devel %mklibname %{name} -d
 
 %define libnss_myhostname %mklibname nss_myhostname %{libnss_major}
+%define libnss_mymachines %mklibname nss_mymachines %{libnss_major}
+%define libnss_resolve %mklibname nss_resolve %{libnss_major}
+%define libnss_systemd %mklibname nss_systemd %{libnss_major}
 
 %define udev_major 1
 %define libudev %mklibname udev %{udev_major}
@@ -24,8 +31,8 @@
 
 Summary:	A System and Session Manager
 Name:		systemd
-Version:	234
-Release:	2
+Version:	236
+Release:	1
 License:	GPLv2+
 Group:		System/Configuration/Boot and Init
 Url:		http://www.freedesktop.org/wiki/Software/systemd
@@ -57,8 +64,6 @@ Source22:	efi-omv.conf
 
 Source23:	systemd-udev-trigger-no-reload.conf
 ### OMV patches###
-# (tpg) add rpm macro to easy installation of user presets
-Patch0:		systemd-230-add-userpreset-rpm-macro.patch
 # Without this, build fails on aarch64
 # (tpg) let's disable it for now
 #Patch1:		systemd-233-format-nonliteral-warnings.patch
@@ -73,11 +78,27 @@ Patch14:	systemd-217-do-not-run-systemd-firstboot-in-containers.patch
 Patch15:	1005-create-default-links-for-primary-cd_dvd-drive.patch
 Patch17:	0515-Add-path-to-locale-search.patch
 Patch18:	0516-udev-silence-version-print.patch
-
-BuildRequires:	autoconf
-BuildRequires:	automake
-BuildRequires:	m4
-BuildRequires:	libtool
+Patch20:	systemd-236-fix-build-with-LLVM.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:	0010-sd-event-return-malloc-memory-reserves-when-main-loo.patch
+Patch105:	0020-tmpfiles-Make-var-cache-ldconfig-world-readable.patch
+Patch106:	0024-more-udev-children-workers.patch
+Patch107:	0029-Enable-BBR-Bottleneck-Bandwidth-and-RTT.patch
+Patch108:	0030-network-online-complete-once-one-link-is-online-not-.patch
+Patch109:	0031-DHCP-retry-faster.patch
+Patch110:	0033-Remove-libm-memory-overhead.patch
+Patch111:	0035-skip-not-present-ACPI-devices.patch
+Patch112:	0038-Compile-udev-with-O3.patch
+Patch113:	0039-Don-t-wait-for-utmp-at-shutdown.patch
+Patch114:	0040-network-wait-online-don-t-pass-NULL-to-strv_find.patch
+
+BuildRequires:	meson
+BuildRequires:	quota
 BuildRequires:	acl-devel
 BuildRequires:	audit-devel
 BuildRequires:	docbook-style-xsl
@@ -90,12 +111,13 @@ BuildRequires:	pam-devel
 BuildRequires:	perl(XML::Parser)
 BuildRequires:	tcp_wrappers-devel
 BuildRequires:	elfutils-devel
-BuildRequires:	pkgconfig(dbus-1) >= 1.10.0
+BuildRequires:	pkgconfig(dbus-1) >= 1.12.2
 BuildRequires:	pkgconfig(gee-0.8)
 BuildRequires:	pkgconfig(glib-2.0)
 BuildRequires:	gtk-doc
 %if !%{with bootstrap}
 BuildRequires:	pkgconfig(libcryptsetup)
+BuildRequires:	pkgconfig(python)
 %endif
 BuildRequires:	pkgconfig(libkmod) >= 5
 BuildRequires:	pkgconfig(liblzma)
@@ -105,7 +127,7 @@ BuildRequires:	pkgconfig(libmicrohttpd)
 BuildRequires:	pkgconfig(libqrencode)
 BuildRequires:	pkgconfig(libiptc)
 BuildRequires:	xsltproc
-BuildRequires:	pkgconfig(blkid) >= 2.27
+BuildRequires:	pkgconfig(blkid) >= 2.30
 BuildRequires:	usbutils >= 005-3
 BuildRequires:	pciutils-devel
 BuildRequires:	bzip2-devel
@@ -113,8 +135,10 @@ BuildRequires:	pkgconfig(liblz4)
 %ifnarch %armx
 BuildRequires:	valgrind-devel
 BuildRequires:	gnu-efi
+%if !%{with bootstrap}
 BuildRequires:	qemu
 %endif
+%endif
 BuildRequires:	chkconfig
 BuildRequires:	pkgconfig(libseccomp)
 BuildRequires:	pkgconfig(libcurl)
@@ -131,17 +155,17 @@ BuildRequires:	distro-release-common >= 2012.0-0.4
 BuildRequires:	pkgconfig(gobject-introspection-1.0)
 %endif
 Requires:	acl
-Requires:	dbus >= 1.10.0
-Requires(pre,post):	coreutils >= 8.23
+Requires:	dbus >= 1.12.2
+Requires(post):	coreutils >= 8.28
 Requires(post):	gawk
 Requires(post):	awk
 Requires(post):	grep
 Requires(post):	awk
-Requires(pre):	basesystem-minimal >= 1:3-0.1
-Requires(pre):	util-linux >= 2.27
-Requires(pre):	shadow >= 4.2.1-11
-Requires(pre,post,postun):	setup >= 2.8.9
-Requires:	kmod >= 20
+Requires:	basesystem-minimal >= 1:3-1
+Requires:	util-linux >= 2.27
+Requires:	shadow >= 4.5.1
+Requires(post,postun):	setup >= 2.8.9
+Requires:	kmod >= 24
 Conflicts:	initscripts < 9.24
 Conflicts:	udev < 221-1
 %if "%{distepoch}" >= "2013.0"
@@ -164,7 +188,15 @@ Provides:	should-restart = system
 # (tpg) just to be sure we install this libraries
 Requires:	%{libsystemd} = %{EVRD}
 Requires:	%{libnss_myhostname} = %{EVRD}
-
+Requires:	%{libnss_resolve} = %{EVRD}
+Requires:	%{libnss_systemd} = %{EVRD}
+Suggests:	%{name}-boot
+Suggests:	%{name}-console
+Suggests:	%{name}-coredump
+Suggests:	%{name}-doc
+Suggests:	%{name}-hwdb
+Suggests:	%{name}-locale
+Suggests:	%{name}-polkit
 Suggests:	%{name}-bash-completion = %{EVRD}
 Suggests:	%{name}-zsh-completion = %{EVRD}
 
@@ -210,8 +242,100 @@ 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 boot
+Summary:	EFI boot component for %{name}
+Group:		System/Base
+Requires:	%{name} = %{EVRD}
+Conflicts:	%{name} < 235-9
+Suggests:	%{name}-doc = %{EVRD}
+Suggests:	%{name}-locale = %{EVRD}
+
+%description boot
+Systemd boot tools to manage EFI boot.
+
+%package console
+Summary:	Console support for %{name}
+Group:		System/Base
+Requires:	%{name} = %{EVRD}
+Conflicts:	%{name} < 235-9
+Suggests:	%{name}-doc = %{EVRD}
+Suggests:	%{name}-locale = %{EVRD}
+
+%description console
+Some systemd units and udev rules are useful only when
+you have an actual console, this subpackage contains
+these units.
+
+%package coredump
+Summary:	Coredump component for %{name}
+Group:		System/Base
+Requires:	%{name} = %{EVRD}
+Conflicts:	%{name} < 235-9
+Suggests:	%{name}-doc = %{EVRD}
+Suggests:	%{name}-locale = %{EVRD}
+Suggests:	gdb
+
+%description coredump
+Systemd coredump tools to manage coredumps and backtraces.
+
+%package doc
+Summary:	Man pages and documentation for %{name}
+Group:		System/Base
+Requires:	%{name} = %{EVRD}
+Conflicts:	%{name} < 235-9
+Suggests:	%{name}-locale = %{EVRD}
+
+%description doc
+Man pages and documentation for %{name}.
+
+%package hwdb
+Summary:	hwdb component for %{name}
+Group:		System/Base
+Requires:	%{name} = %{EVRD}
+Conflicts:	%{name} < 235-9
+Suggests:	%{name}-polkit = %{EVRD}
+Suggests:	%{name}-doc = %{EVRD}
+Suggests:	%{name}-locale = %{EVRD}
+
+%description hwdb
+Hardware database management tool for %{name}.
+
+%package locale
+Summary:	Translations component for %{name}
+Group:		System/Base
+Requires:	%{name} = %{EVRD}
+Conflicts:	%{name} < 235-9
+
+%description locale
+Translations for %{name}.
+
+%package polkit
+Summary:	PolKit component for %{name}
+Group:		System/Base
+Requires:	%{name} = %{EVRD}
+Conflicts:	%{name} < 235-9
+
+%description polkit
+PolKit support for %{name}.
+
+%package container
+Summary:	Tools for containers and VMs
+Group:		System/Base
+Requires:	%{name} = %{EVRD}
+Requires:	%{libnss_mymachines} = %{EVRD}
+Conflicts:	%{name} < 235-1
+Suggests:	%{name}-polkit = %{EVRD}
+Suggests:	%{name}-bash-completion = %{EVRD}
+Suggests:	%{name}-zsh-completion = %{EVRD}
+
+%description container
+Systemd tools to spawn and manage containers and virtual machines.
+This package contains systemd-nspawn, machinectl, systemd-machined,
+and systemd-importd.
+
 %package journal-gateway
 Summary:	Gateway for serving journal events over the network using HTTP
+Group:		System/Configuration/Boot and Init
 Requires:	%{name} = %{EVRD}
 Requires(pre):	rpm-helper
 Requires(post):	rpm-helper
@@ -280,6 +404,59 @@ functionality of the GNU C Library (glibc) providing host name
 resolution for the locally configured system hostname as returned by
 gethostname(2).
 
+%package -n %{libnss_mymachines}
+Summary:	Provide hostname resolution for local container instances
+Group:		System/Libraries
+Provides:	libnss_mymachines = %{EVRD}
+Provides:	nss_mymachines = %{EVRD}
+Conflicts:	%{libnss_myhostname} < 235
+Requires:	systemd-container = %{EVRD}
+Requires(post,preun):	/bin/sh
+Requires(post,preun):	sed
+Requires(post,preun):	glibc
+
+%description -n %{libnss_mymachines}
+nss-mymachines is a plug-in module for the GNU Name Service Switch (NSS)
+functionality of the GNU C Library (glibc), providing hostname resolution
+for the names of containers running locally that are registered with 
+systemd-machined.service(8). The container names are resolved to the IP 
+addresses of the specific container, ordered by their scope. 
+This functionality only applies to containers using network namespacing.
+
+%package -n %{libnss_resolve}
+Summary:	Provide hostname resolution via systemd-resolved.service
+Group:		System/Libraries
+Provides:	libnss_resolve = %{EVRD}
+Provides:	nss_resolve= %{EVRD}
+Conflicts:	%{libnss_myhostname} < 235
+Requires(post,preun):	/bin/sh
+Requires(post,preun):	sed
+Requires(post,preun):	glibc
+
+%description -n %{libnss_resolve}
+nss-resolve is a plug-in module for the GNU Name Service Switch (NSS) 
+functionality of the GNU C Library (glibc) enabling it to resolve host 
+names via the systemd-resolved(8) local network name resolution service. 
+It replaces the nss-dns plug-in module that traditionally resolves 
+hostnames via DNS.
+
+%package -n %{libnss_systemd}
+Summary:	Provide UNIX user and group name resolution for dynamic users and groups
+Group:		System/Libraries
+Provides:	libnss_systemd = %{EVRD}
+Provides:	nss_systemd = %{EVRD}
+Conflicts:	%{libnss_myhostname} < 235
+Requires(post,preun):	/bin/sh
+Requires(post,preun):	sed
+Requires(post,preun):	glibc
+
+%description -n %{libnss_resolve}
+nss-systemd is a plug-in module for the GNU Name Service Switch (NSS) 
+functionality of the GNU C Library (glibc), providing UNIX user and 
+group name resolution for dynamic users and groups allocated through 
+the DynamicUser= option in systemd unit files. See systemd.exec(5) 
+for details on this option.
+
 %package -n %{libudev}
 Summary:	Library for udev
 Group:		System/Libraries
@@ -309,31 +486,26 @@ This package contains documentation of udev.
 
 %package	zsh-completion
 Summary:	zsh completions
+Group:	Shells
 Requires:	zsh
 
 %description	zsh-completion
-This package contains zsh completion
+This package contains zsh completion.
 
 %package	bash-completion
 Summary:	bash completions
+Group:	Shells
 Requires:	bash
 
 %description	bash-completion
-This package contains bash completion
+This package contains bash completion.
 
 %prep
 %setup -q
 %apply_patches
 
-%ifarch %{ix86}
-# (tpg) remove -flto as on i586 it hangs boot
-sed -i -e "s/-flto\]/-fno-lto\]/g" configure*
-%endif
-
-./autogen.sh
-
 %build
-%ifarch %{ix86} x86_64
+%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
@@ -341,45 +513,77 @@ export CXX=g++
 %endif
 
 %serverbuild_hardened
-%configure \
-	--with-rootprefix="" \
-	--with-rootlibdir=/%{_lib} \
-	--libexecdir=%{_prefix}/lib \
-	--enable-bzip2 \
-	--enable-lz4 \
-	--without-kill-user-processes \
-	--disable-static \
-	--with-sysvinit-path=%{_initrddir} \
-	--with-sysvrcnd-path=%{_sysconfdir}/rc.d \
-	--with-rc-local-script-path-start=/etc/rc.d/rc.local \
-	--disable-selinux \
+%meson \
+	-Drootprefix="" \
+	-Drootlibdir=/%{_lib} \
+	-Dlibexecdir=%{_prefix}/lib \
+	-Dsysvinit-path=%{_initrddir} \
+	-Dsysvrcnd-path=%{_sysconfdir}/rc.d \
+	-Drc-local=/etc/rc.d/rc.local \
 %ifnarch %armx
-	--enable-gnuefi \
+	-Dgnu-efi=true \
 %endif
 %if %{with bootstrap}
-	--disable-libcryptsetup \
-	--without-python \
+	-Dlibcryptsetup=false \
 %endif
-	--enable-split-usr \
-	--enable-xkbcommon \
-	--enable-tpm \
-	--with-kbd-loadkeys=/bin/loadkeys \
-	--with-kbd-setfont=/bin/setfont \
-	--with-certificate-root="%{_sysconfdir}/pki" \
-	--with-fallback-hostname=openmandriva \
-	--with-support-url="%{disturl}" \
+	-Dsplit-usr=true \
+	-Dxkbcommon=true \
+	-Dtpm=true \
+	-Ddev-kvm-mode=0666 \
+	-Dkmod=true \
+	-Dxkbcommon=true \
+	-Dblkid=true \
+	-Dseccomp=true \
+	-Dima=true \
+	-Dselinux=false \
+	-Dapparmor=false \
+	-Dpolkit=true \
+	-Dxz=true \
+	-Dzlib=true \
+	-Dbzip2=true \
+	-Dlz4=true \
+	-Dpam=true \
+	-Dacl=true \
+	-Dsmack=true \
+	-Dgcrypt=true \
+	-Daudit=true \
+	-Delfutils=true \
+	-Dqrencode=true \
+	-Dgnutls=true \
+	-Dmicrohttpd=true \
+	-Dlibidn=true \
+	-Dlibiptc=true \
+	-Dlibcurl=true \
+	-Dtpm=true \
+	-Dhwdb=true \
+	-Dsysusers=true \
+	-Ddefault-kill-user-processes=false \
+	-Dtests=unsafe \
+	-Dinstall-tests=false \
+%ifnarch %{ix86}
+	-Db_lto=true \
+%else
+	-Db_lto=false \
+%endif
+	-Dloadkeys-path=/bin/loadkeys \
+	-Dsetfont-path=/bin/setfont \
+	-Dcertificate-root="%{_sysconfdir}/pki" \
+	-Dfallback-hostname=openmandriva \
+	-Dsupport-url="%{disturl}" \
 %if %mdvver <= 3000000
-	--with-default-hierarchy=hybrid \
+	-Ddefault-hierarchy=hybrid \
 %else
-	--with-default-hierarchy=unified \
+	-Ddefault-hierarchy=unified \
 %endif
-	--with-ntp-servers="0.openmandriva.pool.ntp.org 1.openmandriva.pool.ntp.org 2.openmandriva.pool.ntp.org 3.openmandriva.pool.ntp.org" \
-	--with-dns-servers="208.67.222.222 208.67.220.220"
+	-Dsystem-uid-max='999' \
+	-Dsystem-gid-max='999' \
+	-Dntp-servers='0.openmandriva.pool.ntp.org 1.openmandriva.pool.ntp.org 2.openmandriva.pool.ntp.org 3.openmandriva.pool.ntp.org' \
+	-Ddns-servers='208.67.222.222 208.67.220.220'
 
-%make
+%meson_build
 
 %install
-%makeinstall_std
+%meson_install
 
 mkdir -p %{buildroot}{/bin,%{_sbindir}}
 
@@ -573,6 +777,12 @@ rm -rf %{buildroot}%{_mandir}/man5/crypttab*
 # https://bugzilla.redhat.com/show_bug.cgi?id=1378974
 install -Dm0644 -t %{buildroot}%{systemd_libdir}/system/systemd-udev-trigger.service.d/ %{SOURCE23}
 
+# Pre-generate and pre-ship hwdb, to speed up first boot
+./build/systemd-hwdb --root %{buildroot} --usr update || ./build/udevadm hwdb --root %{buildroot} --update --usr
+
+# Compute catalog
+./build/journalctl --root %{buildroot} --update-catalog
+
 %find_lang %{name}
 
 %triggerin -- glibc
@@ -589,8 +799,8 @@ if [ $1 -ge 2 ]; then
 fi
 
 %post
-/bin/systemd-firstboot --setup-machine-id
-/bin/systemd-sysusers
+/bin/systemd-firstboot --setup-machine-id >/dev/null 2>&1 ||:
+/bin/systemd-sysusers >/dev/null 2>&1 ||:
 /bin/systemd-machine-id-setup >/dev/null 2>&1 ||:
 %{systemd_libdir}/systemd-random-seed save >/dev/null 2>&1 || :
 /bin/systemctl daemon-reexec >/dev/null 2>&1 || :
@@ -598,97 +808,6 @@ fi
 /bin/systemd-hwdb update >/dev/null 2>&1 || :
 /bin/journalctl --update-catalog >/dev/null 2>&1 || :
 
-%if %mdvver < 201500
-if [ $1 -ge 2 ]; then
-#(tpg) BIG migration
-# Migrate /etc/sysconfig/clock
-    if [ ! -L /etc/localtime -a -e /etc/sysconfig/clock ] ; then
-	. /etc/sysconfig/clock 2>&1 || :
-	if [ -n "$ZONE" -a -e "/usr/share/zoneinfo/$ZONE" ] ; then
-	    /usr/bin/ln -sf "../usr/share/zoneinfo/$ZONE" /etc/localtime >/dev/null 2>&1 || :
-	fi
-    fi
-
-# Migrate /etc/sysconfig/i18n
-    if [ -e /etc/sysconfig/i18n -a ! -e /etc/locale.conf ]; then
-	unset LANGUAGE
-	unset LANG
-	unset LC_CTYPE
-	unset LC_NUMERIC
-	unset LC_TIME
-	unset LC_COLLATE
-	unset LC_MONETARY
-	unset LC_MESSAGES
-	unset LC_PAPER
-	unset LC_NAME
-	unset LC_ADDRESS
-	unset LC_TELEPHONE
-	unset LC_MEASUREMENT
-	unset LC_IDENTIFICATION
-	. /etc/sysconfig/i18n >/dev/null 2>&1 || :
-	[ -n "$LANGUAGE" ] && echo LANG=$LANGUAGE > /etc/locale.conf 2>&1 || :
-	[ -n "$LANG" ] && echo LANG=$LANG >> /etc/locale.conf 2>&1 || :
-	[ -n "$LC_CTYPE" ] && echo LC_CTYPE=$LC_CTYPE >> /etc/locale.conf 2>&1 || :
-	[ -n "$LC_NUMERIC" ] && echo LC_NUMERIC=$LC_NUMERIC >> /etc/locale.conf 2>&1 || :
-	[ -n "$LC_TIME" ] && echo LC_TIME=$LC_TIME >> /etc/locale.conf 2>&1 || :
-	[ -n "$LC_COLLATE" ] && echo LC_COLLATE=$LC_COLLATE >> /etc/locale.conf 2>&1 || :
-	[ -n "$LC_MONETARY" ] && echo LC_MONETARY=$LC_MONETARY >> /etc/locale.conf 2>&1 || :
-	[ -n "$LC_MESSAGES" ] && echo LC_MESSAGES=$LC_MESSAGES >> /etc/locale.conf 2>&1 || :
-	[ -n "$LC_PAPER" ] && echo LC_PAPER=$LC_PAPER >> /etc/locale.conf 2>&1 || :
-	[ -n "$LC_NAME" ] && echo LC_NAME=$LC_NAME >> /etc/locale.conf 2>&1 || :
-	[ -n "$LC_ADDRESS" ] && echo LC_ADDRESS=$LC_ADDRESS >> /etc/locale.conf 2>&1 || :
-	[ -n "$LC_TELEPHONE" ] && echo LC_TELEPHONE=$LC_TELEPHONE >> /etc/locale.conf 2>&1 || :
-	[ -n "$LC_MEASUREMENT" ] && echo LC_MEASUREMENT=$LC_MEASUREMENT >> /etc/locale.conf 2>&1 || :
-	[ -n "$LC_IDENTIFICATION" ] && echo LC_IDENTIFICATION=$LC_IDENTIFICATION >> /etc/locale.conf 2>&1 || :
-    fi
-
-# Migrate /etc/sysconfig/keyboard to the vconsole configuration
-    if [ -e /etc/sysconfig/keyboard -a ! -e /etc/vconsole.conf ]; then
-	unset SYSFONT
-	unset SYSFONTACM
-	unset UNIMAP
-	unset KEYMAP
-	[ -e /etc/sysconfig/i18n ] && . /etc/sysconfig/i18n >/dev/null 2>&1 || :
-	. /etc/sysconfig/keyboard >/dev/null 2>&1 || :
-	[ -n "$SYSFONT" ] && echo FONT=$SYSFONT > /etc/vconsole.conf 2>&1 || :
-	[ -n "$SYSFONTACM" ] && echo FONT_MAP=$SYSFONTACM >> /etc/vconsole.conf 2>&1 || :
-	[ -n "$UNIMAP" ] && echo FONT_UNIMAP=$UNIMAP >> /etc/vconsole.conf 2>&1 || :
-	[ -n "$KEYTABLE" ] && echo KEYMAP=$KEYTABLE >> /etc/vconsole.conf 2>&1 || :
-    fi
-
-# Migrate /etc/sysconfig/keyboard to the X11 keyboard configuration
-    if [ -e /etc/sysconfig/keyboard -a ! -e %{_sysconfdir}/X11/xorg.conf.d/00-keyboard.conf ]; then
-	unset XkbLayout
-	unset XkbModel
-	unset XkbVariant
-	unset XkbOptions
-	. /etc/sysconfig/keyboard >/dev/null 2>&1 || :
-
-	echo "Section \"InputClass\"" > %{_sysconfdir}/X11/xorg.conf.d/00-keyboard.conf 2>/dev/null || :
-	echo "        Identifier \"system-keyboard\"" >> %{_sysconfdir}/X11/xorg.conf.d/00-keyboard.conf 2>/dev/null || :
-	echo "        MatchIsKeyboard \"on\"" >> %{_sysconfdir}/X11/xorg.conf.d/00-keyboard.conf 2>/dev/null || :
-	[ -n "$XkbLayout" ]  && echo "        Option \"XkbLayout\" \"$XkbLayout\"" >> %{_sysconfdir}/X11/xorg.conf.d/00-keyboard.conf 2>/dev/null || :
-	[ -n "$XkbModel" ]   && echo "        Option \"XkbModel\" \"$XkbModel\"" >> %{_sysconfdir}/X11/xorg.conf.d/00-keyboard.conf 2>/dev/null || :
-	[ -n "$XkbVariant" ] && echo "        Option \"XkbVariant\" \"$XkbVariant\"" >> %{_sysconfdir}/X11/xorg.conf.d/00-keyboard.conf 2>/dev/null || :
-	[ -n "$XkbOptions" ] && echo "        Option \"XkbOptions\" \"$XkbOptions\"" >> %{_sysconfdir}/X11/xorg.conf.d/00-keyboard.conf 2>/dev/null || :
-	echo "EndSection" >> %{_sysconfdir}/X11/xorg.conf.d/00-keyboard.conf 2>/dev/null || :
-    fi
-
-    rm -f /etc/sysconfig/i18n >/dev/null 2>&1 || :
-    rm -f /etc/sysconfig/keyboard >/dev/null 2>&1 || :
-
-# Migrate HOSTNAME= from /etc/sysconfig/network
-    if [ -e /etc/sysconfig/network -a ! -e /etc/hostname ]; then
-	unset HOSTNAME
-	. /etc/sysconfig/network >/dev/null 2>&1 || :
-	[ -n "$HOSTNAME" ] && echo $HOSTNAME > /etc/hostname 2>&1 || :
-    fi
-
-    /usr/bin/sed -i '/^HOSTNAME=/d' /etc/sysconfig/network >/dev/null 2>&1 || :
-fi
-%endif
-# End BIG migration
-
 # (tpg) move sysctl.conf to /etc/sysctl.d as since 207 /etc/sysctl.conf is skipped
 if [ $1 -ge 2 ]; then
     if [ -e %{_sysconfdir}/sysctl.conf ] && [ ! -L %{_sysconfdir}/sysctl.conf ]; then
@@ -706,11 +825,8 @@ if [ $1 -eq 2 ] ; then
     else
 	target="/lib/systemd/system/runlevel$runlevel.target"
     fi
-
 # And symlink what we found to the new-style default.target
     /bin/ln -sf "$target" %{_sysconfdir}/systemd/system/default.target 2>&1 || :
-# (tpg) need to restart it to catch new auth
-    /bin/systemctl try-restart systemd-logind.service 2>&1 || :
 fi
 
 # Enable the services we install by default.
@@ -778,12 +894,9 @@ fi
 
 %postun
 if [ $1 -ge 1 ] ; then
-    systemctl daemon-reload > /dev/null 2>&1 || :
+    /bin/systemctl daemon-reload > /dev/null 2>&1 || :
 fi
 
-%triggerun -- %{name} < 196
-%{_bindir}/systemctl restart systemd-logind.service
-
 %triggerun -- %{name} < 208-2
 chgrp -R systemd-journal /var/log/journal || :
 chmod 02755 /var/log/journal || :
@@ -862,8 +975,8 @@ shift
 
 units=${*#%{_unitdir}/}
 if [ $ARG1 -eq 1 -a $ARG2 -eq 1 ]; then
-    /bin/systemctl preset ${units} >/dev/null 2>&1 || :
     /bin/systemctl daemon-reload >/dev/null 2>&1 || :
+    /bin/systemctl preset ${units} >/dev/null 2>&1 || :
 fi
 
 %triggerun -- ^%{_unitdir}/.*\.(service|socket|path|timer)$
@@ -884,54 +997,88 @@ fi
 /bin/systemctl daemon-reload >/dev/null 2>&1 || :
 
 %triggerposttransin -- %{_binfmtdir}/*.conf
-systemctl reload-or-try-restart systemd-binfmt
+/bin/systemctl reload-or-try-restart systemd-binfmt >/dev/null 2>&1 ||:
 
 %triggerposttransun -- %{_binfmtdir}/*.conf
-systemctl reload-or-try-restart systemd-binfmt
+/bin/systemctl reload-or-try-restart systemd-binfmt >/dev/null 2>&1 ||:
 
 %triggerposttransin -- /lib/udev/hwdb.d/*.hwdb
-/bin/systemd-hwdb update
+/bin/systemd-hwdb update >/dev/null 2>&1 ||:
 
 %triggerposttransun -- /lib/udev/hwdb.d/*.hwdb
-/bin/systemd-hwdb update
+/bin/systemd-hwdb update >/dev/null 2>&1 ||:
+
+%triggerposttransin -- %{udev_rules_dir}/*.rules
+/sbin/udevadm control --reload >/dev/null 2>&1 ||:
+
+%triggerposttransun -- %{udev_rules_dir}/*.rules
+/sbin/udevadm control --reload >/dev/null 2>&1 ||:
+
+%triggerposttransin -- %{udev_user_rules_dir}/*.rules
+/sbin/udevadm control --reload >/dev/null 2>&1 ||:
+
+%triggerposttransun -- %{udev_user_rules_dir}/*.rules
+/sbin/udevadm control --reload >/dev/null 2>&1 ||:
 
 %triggerposttransin -- %{_prefix}/lib/sysusers.d/*.conf
-/bin/systemd-sysusers
+/bin/systemd-sysusers >/dev/null 2>&1 ||:
 
 %triggerposttransun -- %{_prefix}/lib/sysusers.d/*.conf
-/bin/systemd-sysusers
+/bin/systemd-sysusers >/dev/null 2>&1 ||:
 
 %triggerposttransin -- %{_prefix}/lib/systemd/catalog/*.catalog
-/bin/journalctl --update-catalog
+/bin/journalctl --update-catalog >/dev/null 2>&1 ||:
 
 %triggerposttransun -- %{_prefix}/lib/systemd/catalog/*.catalog
-/bin/journalctl --update-catalog
+/bin/journalctl --update-catalog >/dev/null 2>&1 ||:
 
 %post -n %{libnss_myhostname}
+if [ -f /etc/nsswitch.conf ]; then
+# sed-fu to add myhostanme to hosts line
+	grep -v -E -q '^hosts:.* myhostname' /etc/nsswitch.conf &&
+	sed -i.bak -e '
+		/^hosts:/ !b
+		/\<myhostname\>/ b
+		s/[[:blank:]]*$/ myhostname/
+		' /etc/nsswitch.conf &>/dev/null || :
+fi
+
+%post -n %{libnss_mymachines}
+if [ -f /etc/nsswitch.conf ]; then
+	grep -E -q '^(passwd|group):.* mymachines' /etc/nsswitch.conf ||
+	sed -i.bak -r -e '
+		s/^(passwd|group):(.*)/\1: \2 mymachines/
+		' /etc/nsswitch.conf &>/dev/null || :
+fi
+		
+%postun -n %{libnss_mymachines}
 # sed-fu to remove mymachines from passwd and group lines of /etc/nsswitch.conf
 # https://bugzilla.redhat.com/show_bug.cgi?id=1284325
 # To avoid the removal, e.g. add a space at the end of the line.
-if [ -f /etc/nsswitch.conf ] ; then
-    grep -E -q '^(passwd|group):.* mymachines$' /etc/nsswitch.conf &&
-    sed -i.bak -r -e '
-	s/^(passwd:.*) mymachines$/\1/;
-	s/^(group:.*) mymachines$/\1/;
-	' /etc/nsswitch.conf >/dev/null 2>&1 || :
+if [ -f /etc/nsswitch.conf ]; then
+	grep -E -q '^(passwd|group):.* mymachines$' /etc/nsswitch.conf &&
+	sed -i.bak -r -e '
+		s/^(passwd:.*) mymachines$/\1/;
+		s/^(group:.*) mymachines$/\1/;
+		' /etc/nsswitch.conf &>/dev/null || :
 fi
 
-%preun -n %{libnss_myhostname}
-if [ -f /etc/nsswitch.conf ] ; then
-    sed -i.bak -e '
-	/^hosts:/ !b
-	s/[[:blank:]]\+myhostname\>//
-	' /etc/nsswitch.conf >/dev/null 2>&1 || :
-
-    sed -i.bak -e '
-	/^hosts:/ !b
-	s/[[:blank:]]\+mymachines\>//
-	' /etc/nsswitch.conf >/dev/null 2>&1 || :
+%post -n %{libnss_resolve}
+if [ -f /etc/nsswitch.conf ]; then
+	grep -E -q '^hosts:.*resolve[[:space:]]*($|[[:alpha:]])' /etc/nsswitch.conf &&
+	sed -i.bak -e '
+		/^hosts:/ { s/resolve/& [!UNAVAIL=return]/}
+		' /etc/nsswitch.conf &>/dev/null || :
 fi
 
+%post -n %{libnss_systemd}
+if [ -f /etc/nsswitch.conf ]; then
+	grep -E -q '^(passwd|group):.* systemd' /etc/nsswitch.conf ||
+	sed -i.bak -r -e '
+		s/^(passwd|group):(.*)/\1: \2 systemd/
+		' /etc/nsswitch.conf &>/dev/null || :
+fi
+		
 %pre journal-gateway
 %_pre_groupadd systemd-journal-gateway systemd-journal-gateway
 %_pre_useradd systemd-journal-gateway %{_var}/log/journal /sbin/nologin
@@ -940,10 +1087,10 @@ fi
 %_pre_groupadd systemd-journal-upload systemd-journal-upload
 %_pre_useradd systemd-journal-upload %{_var}/log/journal/upload /sbin/nologin
 
-%files -f %{name}.lang
-%doc %{_docdir}/%{name}
+%files
 %dir /lib/firmware
 %dir /lib/firmware/updates
+%dir /lib/modprobe.d
 %dir %{_datadir}/factory
 %dir %{_datadir}/factory/etc
 %dir %{_datadir}/factory/etc/pam.d
@@ -952,11 +1099,6 @@ fi
 %dir %{_prefix}/lib/modules-load.d
 %dir %{_prefix}/lib/sysctl.d
 %dir %{_prefix}/lib/%{name}
-%ifnarch %armx
-%dir %{_prefix}/lib/%{name}/boot
-%dir %{_prefix}/lib/%{name}/boot/efi
-%dir %{_datadir}/%{name}/bootctl
-%endif
 %dir %{_prefix}/lib/%{name}/catalog
 %dir %{_prefix}/lib/%{name}/system-generators
 %dir %{_prefix}/lib/%{name}/user
@@ -990,7 +1132,6 @@ fi
 %dir %{systemd_libdir}/system/systemd-udev-trigger.service.d
 %dir %{systemd_libdir}/system/basic.target.wants
 %dir %{systemd_libdir}/system/bluetooth.target.wants
-%dir %{systemd_libdir}/system/busnames.target.wants
 %dir %{systemd_libdir}/system/dbus.target.wants
 %dir %{systemd_libdir}/system/default.target.wants
 %dir %{systemd_libdir}/system/graphical.target.wants
@@ -1011,16 +1152,33 @@ fi
 %dir %{udev_libdir}
 %dir %{udev_libdir}/hwdb.d
 %dir %{udev_rules_dir}
-%exclude %{_mandir}/man8/libnss_myhostname.so.2.8.*
-%exclude %{_mandir}/man8/libnss_mymachines.so.2.8.*
-%exclude %{_mandir}/man8/nss-myhostname.8.*
-%exclude %{_mandir}/man8/nss-mymachines.8.*
-%exclude %{_mandir}/man8/%{name}-journal-gatewayd.8.*
-%exclude %{_mandir}/man8/%{name}-journal-gatewayd.service.8.*
-%exclude %{_mandir}/man8/%{name}-journal-gatewayd.socket.8.*
-%exclude %{_mandir}/man8/%{name}-journal-remote.8.*
-%exclude %{_mandir}/man8/%{name}-journal-upload.8.*
-%exclude %{_prefix}/lib/tmpfiles.d/%{name}-remote.conf
+%dir %{_localstatedir}/lib/systemd
+%dir %{_localstatedir}/lib/systemd/catalog
+### container excludes
+%exclude %{systemd_libdir}/system/dbus-org.freedesktop.import1.service
+%exclude %{systemd_libdir}/system/dbus-org.freedesktop.machine1.service
+%exclude %{systemd_libdir}/system/machine.slice
+%exclude %{systemd_libdir}/system/machines.target
+%exclude %{systemd_libdir}/system/machines.target.wants/var-lib-machines.mount
+%exclude %{systemd_libdir}/system/remote-fs.target.wants/var-lib-machines.mount
+%exclude %{systemd_libdir}/system/systemd-importd.service
+%exclude %{systemd_libdir}/system/systemd-machined.service
+%exclude %{systemd_libdir}/system/systemd-nspawn@.service
+%exclude %{systemd_libdir}/system/var-lib-machines.mount
+%exclude %{systemd_libdir}/systemd-import
+%exclude %{systemd_libdir}/systemd-importd
+%exclude %{systemd_libdir}/systemd-machined
+%exclude %{systemd_libdir}/systemd-pull
+%exclude %{systemd_libdir}/import-pubring.gpg
+%exclude %{systemd_libdir}/systemd-import
+%exclude %{systemd_libdir}/systemd-importd
+%exclude %{systemd_libdir}/systemd-machined
+%exclude %{systemd_libdir}/systemd-pull
+%exclude %{systemd_libdir}/import-pubring.gpg
+%exclude /bin/machinectl
+%exclude %{_bindir}/systemd-nspawn
+%exclude %{_prefix}/lib/tmpfiles.d/systemd-nspawn.conf
+### gateway excludes
 %exclude %{systemd_libdir}/system/%{name}-journal-gatewayd.service
 %exclude %{systemd_libdir}/system/%{name}-journal-gatewayd.socket
 %exclude %{systemd_libdir}/system/%{name}-journal-remote.service
@@ -1032,7 +1190,34 @@ fi
 %exclude %config(noreplace) %{_prefix}/lib/sysusers.d/%{name}-remote.conf
 %exclude %config(noreplace) %{_sysconfdir}/%{name}/journal-remote.conf
 %exclude %config(noreplace) %{_sysconfdir}/%{name}/journal-upload.conf
-%ghost %{_sysconfdir}/udev/hwdb.bin
+### console excludes
+%exclude %{systemd_libdir}/systemd-vconsole-setup
+%exclude %{systemd_libdir}/system/serial-getty@.service
+%exclude %{udev_rules_dir}/90-vconsole.rules
+%exclude %{udev_rules_dir}/70-mouse.rules
+%exclude %{udev_rules_dir}/60-drm.rules
+%exclude %{udev_rules_dir}/60-persistent-input.rules
+%exclude %{udev_rules_dir}/70-touchpad.rules
+%exclude %{udev_rules_dir}/60-evdev.rules
+%exclude %{udev_rules_dir}/60-input-id.rules
+### coredump excludes
+%exclude %config(noreplace) %{_sysconfdir}/%{name}/coredump.conf
+%exclude %{_prefix}/lib/sysctl.d/50-coredump.conf
+%exclude %{systemd_libdir}/systemd-coredump
+%exclude %{systemd_libdir}/system/systemd-coredump.socket
+%exclude %{systemd_libdir}/system/systemd-coredump@.service
+%exclude %{systemd_libdir}/system/sockets.target.wants/systemd-coredump.socket
+### hwdb excludes
+%exclude %{systemd_libdir}/system/sysinit.target.wants/systemd-hwdb-update.service
+%exclude %{systemd_libdir}/system/systemd-hwdb-update.service
+%exclude %{udev_rules_dir}/60-cdrom_id.rules
+%exclude %{udev_rules_dir}/60-persistent-alsa.rules
+%exclude %{udev_rules_dir}/60-persistent-storage-tape.rules
+%exclude %{udev_rules_dir}/60-persistent-v4l.rules
+%exclude %{udev_rules_dir}/70-joystick.rules
+%exclude %{udev_rules_dir}/75-probe_mtd.rules
+%exclude %{udev_rules_dir}/78-sound-card.rules
+###
 %ghost %config(noreplace,missingok) %attr(0644,root,root) %{_sysconfdir}/scsi_id.config
 %ghost %config(noreplace) %{_sysconfdir}/hostname
 %ghost %config(noreplace) %{_sysconfdir}/locale.conf
@@ -1041,12 +1226,17 @@ fi
 %ghost %config(noreplace) %{_sysconfdir}/timezone
 %ghost %config(noreplace) %{_sysconfdir}/vconsole.conf
 %ghost %config(noreplace) %{_sysconfdir}/X11/xorg.conf.d/00-keyboard.conf
-%config(noreplace) %{_datadir}/dbus-1/system.d/*.conf
+%{_datadir}/dbus-1/system.d/org.freedesktop.hostname1.conf
+%{_datadir}/dbus-1/system.d/org.freedesktop.locale1.conf
+%{_datadir}/dbus-1/system.d/org.freedesktop.login1.conf
+%{_datadir}/dbus-1/system.d/org.freedesktop.network1.conf
+%{_datadir}/dbus-1/system.d/org.freedesktop.resolve1.conf
+%{_datadir}/dbus-1/system.d/org.freedesktop.systemd1.conf
+%{_datadir}/dbus-1/system.d/org.freedesktop.timedate1.conf
 /%{_lib}/security/pam_systemd.so
 /bin/halt
 /bin/journalctl
 /bin/loginctl
-/bin/machinectl
 /bin/networkctl
 /bin/poweroff
 /bin/reboot
@@ -1055,7 +1245,6 @@ fi
 /bin/%{name}-ask-password
 /bin/%{name}-escape
 /bin/%{name}-firstboot
-/bin/%{name}-hwdb
 /bin/%{name}-inhibit
 /bin/%{name}-machine-id-setup
 /bin/%{name}-notify
@@ -1067,42 +1256,37 @@ fi
 /sbin/runlevel
 /sbin/shutdown
 /sbin/telinit
-%{_bindir}/bootctl
 %{_bindir}/busctl
-%{_bindir}/coredumpctl
 %{_bindir}/hostnamectl
 %{_bindir}/kernel-install
 %{_bindir}/localectl
 %{_bindir}/systemctl
 %{_bindir}/%{name}-*
 %{_bindir}/timedatectl
-%{_sysconfdir}/systemd/system/dbus-org.freedesktop.*.service
-%{_datadir}/dbus-1/*services/*.service
+%{_sysconfdir}/systemd/system/dbus-org.freedesktop.network1.service
+%{_sysconfdir}/systemd/system/dbus-org.freedesktop.resolve1.service
+%{_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.resolve1.service
+%{_datadir}/dbus-1/system-services/org.freedesktop.systemd1.service
+%{_datadir}/dbus-1/system-services/org.freedesktop.timedate1.service
 %{_datadir}/factory/etc/nsswitch.conf
 %{_datadir}/factory/etc/pam.d/other
 %{_datadir}/factory/etc/pam.d/system-auth
-%{_datadir}/polkit-1/actions/*.policy
-%{_datadir}/polkit-1/rules.d/systemd-networkd.rules
 %{_datadir}/%{name}/kbd-model-map
 %{_datadir}/%{name}/language-fallback-map
 %{_initrddir}/README
 %{_logdir}/README
-%{_mandir}/man1/*.*
-%{_mandir}/man3/*.*
-%{_mandir}/man5/*.*
-%{_mandir}/man7/*.*
-%{_mandir}/man8/*.*
+/lib/modprobe.d/systemd.conf
 %{_prefix}/lib/kernel/install.d/*.install
-%ifnarch %armx
-%{_prefix}/lib/%{name}/boot/efi/*.efi
-%{_prefix}/lib/%{name}/boot/efi/*.stub
-%{_datadir}/%{name}/bootctl/*.conf
-%endif
-%config(noreplace) %{_prefix}/lib/environment.d/99-environment.conf
-%{_prefix}/lib/%{name}/catalog/*.catalog
+%{_prefix}/lib/environment.d/99-environment.conf
 %{_prefix}/lib/%{name}/user-preset/*.preset
 %{_prefix}/lib/%{name}/user/*.service
 %{_prefix}/lib/%{name}/user/*.target
+%{_prefix}/lib/%{name}/user/*.timer
 %{_prefix}/lib/systemd/user-environment-generators/*
 %{_prefix}/lib/tmpfiles.d/*.conf
 %{_sysconfdir}/profile.d/40systemd.sh
@@ -1111,7 +1295,6 @@ fi
 %{_sysconfdir}/xdg/%{name}
 %{systemd_libdir}/resolv.conf
 %{systemd_libdir}/*-generators/*
-%{systemd_libdir}/import-pubring.gpg
 %{systemd_libdir}/network/80-container-host0.network
 %{systemd_libdir}/network/80-container-ve.network
 %{systemd_libdir}/network/80-container-vz.network
@@ -1120,7 +1303,6 @@ fi
 %{systemd_libdir}/network/99-default.link
 %{systemd_libdir}/system-preset/*.preset
 %{systemd_libdir}/system/*.automount
-%{systemd_libdir}/system/*.busname
 %{systemd_libdir}/system/*.mount
 %{systemd_libdir}/system/*.path
 %{systemd_libdir}/system/*.service
@@ -1129,7 +1311,6 @@ fi
 %{systemd_libdir}/system/*.target
 %{systemd_libdir}/system/*.timer
 %{systemd_libdir}/system/systemd-udev-trigger.service.d/*.conf
-%{systemd_libdir}/system/busnames.target.wants/*.busname
 %{systemd_libdir}/system/graphical.target.wants/*.service
 %{systemd_libdir}/system/local-fs.target.wants/*.mount
 %{systemd_libdir}/system/local-fs.target.wants/*.service
@@ -1141,16 +1322,17 @@ fi
 %{systemd_libdir}/system/sysinit.target.wants/*.*mount
 %{systemd_libdir}/system/sysinit.target.wants/*.path
 %{systemd_libdir}/system/sysinit.target.wants/*.service
+%if !%{with bootstrap}
 %{systemd_libdir}/system/sysinit.target.wants/*.target
+%endif
 %{systemd_libdir}/system/timers.target.wants/*.timer
 %{systemd_libdir}/system/machines.target.wants/*.mount
 %{systemd_libdir}/system/remote-fs.target.wants/*.mount
 %{systemd_libdir}/systemd*
 # (tpg) internal library - only systemd uses it
 %{systemd_libdir}/libsystemd-shared-%{version}.so
-%{systemd_libdir}/libsystemd-shared.so
 #
-%{udev_libdir}/hwdb.d/*.hwdb
+%{udev_libdir}/*.bin
 %{udev_rules_dir}/*.rules
 %attr(02755,root,systemd-journal) %dir %{_logdir}/journal
 %attr(0755,root,root) /sbin/udevadm
@@ -1158,14 +1340,10 @@ fi
 %attr(0755,root,root) %{_bindir}/udevadm
 %attr(0755,root,root) %{_sbindir}/udevadm
 %attr(0755,root,root) %{udev_libdir}/ata_id
-%attr(0755,root,root) %{udev_libdir}/cdrom_id
-%attr(0755,root,root) %{udev_libdir}/collect
-%attr(0755,root,root) %{udev_libdir}/mtd_probe
 %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
-%attr(0755,root,root) %{udev_libdir}/v4l_id
 %config(noreplace) %{_prefix}/lib/sysctl.d/*.conf
 %config(noreplace) %{_prefix}/lib/sysusers.d/*.conf
 %config(noreplace) %{_sysconfdir}/pam.d/%{name}-user
@@ -1174,6 +1352,7 @@ fi
 %config(noreplace) %{_sysconfdir}/sysconfig/udev_net
 %config(noreplace) %{_sysconfdir}/%{name}/*.conf
 %config(noreplace) %{_sysconfdir}/udev/*.conf
+%{_localstatedir}/lib/systemd/catalog/database
 
 %files journal-gateway
 %config(noreplace) %{_sysconfdir}/%{name}/journal-remote.conf
@@ -1188,23 +1367,45 @@ fi
 %{systemd_libdir}/system/%{name}-journal-remote.service
 %{systemd_libdir}/system/%{name}-journal-remote.socket
 %{systemd_libdir}/system/%{name}-journal-upload.service
-%{_prefix}/lib/tmpfiles.d/%{name}-remote.conf
-%{_mandir}/man8/%{name}-journal-gatewayd.8.*
-%{_mandir}/man8/%{name}-journal-upload.8.*
-%{_mandir}/man8/%{name}-journal-remote.8.*
-%{_mandir}/man8/%{name}-journal-gatewayd.service.8.*
-%{_mandir}/man8/%{name}-journal-gatewayd.socket.8.*
 %{_datadir}/%{name}/gatewayd/browse.html
 
+%files container
+%{systemd_libdir}/system/dbus-org.freedesktop.import1.service
+%{systemd_libdir}/system/dbus-org.freedesktop.machine1.service
+%{systemd_libdir}/system/machine.slice
+%{systemd_libdir}/system/machines.target
+%{systemd_libdir}/system/machines.target.wants/var-lib-machines.mount
+%{systemd_libdir}/system/remote-fs.target.wants/var-lib-machines.mount
+%{systemd_libdir}/system/systemd-importd.service
+%{systemd_libdir}/system/systemd-machined.service
+%{systemd_libdir}/system/systemd-nspawn@.service
+%{systemd_libdir}/system/var-lib-machines.mount
+%{systemd_libdir}/systemd-import
+%{systemd_libdir}/systemd-importd
+%{systemd_libdir}/systemd-machined
+%{systemd_libdir}/systemd-pull
+%{systemd_libdir}/import-pubring.gpg
+/bin/machinectl
+%{_bindir}/systemd-nspawn
+%{_prefix}/lib/tmpfiles.d/systemd-nspawn.conf
+%{_datadir}/dbus-1/system-services/org.freedesktop.import1.service
+%{_datadir}/dbus-1/system-services/org.freedesktop.machine1.service
+%{_datadir}/dbus-1/system.d/org.freedesktop.import1.conf
+%{_datadir}/dbus-1/system.d/org.freedesktop.machine1.conf
+%{_datadir}/polkit-1/actions/org.freedesktop.import1.policy
+%{_datadir}/polkit-1/actions/org.freedesktop.machine1.policy
+	
+%files -n %{libnss_mymachines}
+/%{_lib}/libnss_mymachines.so.%{libnss_major}
+
 %files -n %{libnss_myhostname}
 /%{_lib}/libnss_myhostname.so.%{libnss_major}*
-/%{_lib}/libnss_mymachines.so.%{libnss_major}
+
+%files -n %{libnss_resolve}
 /%{_lib}/libnss_resolve.so.%{libnss_major}
+
+%files -n %{libnss_systemd}
 /%{_lib}/libnss_systemd.so.%{libnss_major}
-%{_mandir}/man8/libnss_myhostname.so*.8*
-%{_mandir}/man8/libnss_mymachines.so*.8*
-%{_mandir}/man8/nss-myhostname.8*
-%{_mandir}/man8/nss-mymachines.8*
 
 %files -n %{libsystemd}
 /%{_lib}/libsystemd.so.%{libsystemd_major}*
@@ -1234,6 +1435,75 @@ fi
 %{_datadir}/pkgconfig/udev.pc
 %{_includedir}/libudev.h
 
+%files boot
+%{_bindir}/bootctl
+%ifnarch %armx
+%dir %{_prefix}/lib/%{name}/boot
+%dir %{_prefix}/lib/%{name}/boot/efi
+%dir %{_datadir}/%{name}/bootctl
+%{_prefix}/lib/%{name}/boot/efi/*.efi
+%{_prefix}/lib/%{name}/boot/efi/*.stub
+%{_datadir}/%{name}/bootctl/*.conf
+%endif
+
+%files console
+%{systemd_libdir}/systemd-vconsole-setup
+%{systemd_libdir}/system/serial-getty@.service
+%{udev_rules_dir}/90-vconsole.rules
+%{udev_rules_dir}/70-mouse.rules
+%{udev_rules_dir}/60-drm.rules
+%{udev_rules_dir}/60-persistent-input.rules
+%{udev_rules_dir}/70-touchpad.rules
+%{udev_rules_dir}/60-evdev.rules
+%{udev_rules_dir}/60-input-id.rules
+
+%files coredump
+%config(noreplace) %{_sysconfdir}/%{name}/coredump.conf
+%{_bindir}/coredumpctl
+%{_prefix}/lib/sysctl.d/50-coredump.conf
+%{systemd_libdir}/systemd-coredump
+%{systemd_libdir}/system/systemd-coredump.socket
+%{systemd_libdir}/system/systemd-coredump@.service
+%{systemd_libdir}/system/sockets.target.wants/systemd-coredump.socket
+
+%files doc
+%doc %{_docdir}/%{name}
+%{_mandir}/man1/*.1*
+%{_mandir}/man3/*.3*
+%{_mandir}/man5/*.5*
+%{_mandir}/man7/*.7*
+%{_mandir}/man8/*.8.*
+
+%files hwdb
+%ghost %{_sysconfdir}/udev/hwdb.bin
+%{systemd_libdir}/system/sysinit.target.wants/systemd-hwdb-update.service
+%{systemd_libdir}/system/systemd-hwdb-update.service
+/bin/systemd-hwdb
+%{udev_libdir}/hwdb.d/*.hwdb
+%{udev_rules_dir}/60-cdrom_id.rules
+%{udev_rules_dir}/60-persistent-alsa.rules
+%{udev_rules_dir}/60-persistent-storage-tape.rules
+%{udev_rules_dir}/60-persistent-v4l.rules
+%{udev_rules_dir}/70-joystick.rules
+%{udev_rules_dir}/75-probe_mtd.rules
+%{udev_rules_dir}/78-sound-card.rules
+%{udev_libdir}/cdrom_id
+%{udev_libdir}/collect
+%{udev_libdir}/mtd_probe
+%{udev_libdir}/v4l_id
+
+%files locale -f %{name}.lang
+%{_prefix}/lib/%{name}/catalog/*.catalog
+
+%files polkit
+%{_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.systemd1.policy
+%{_datadir}/polkit-1/actions/org.freedesktop.timedate1.policy
+%{_datadir}/polkit-1/actions/org.freedesktop.resolve1.policy
+%{_datadir}/polkit-1/rules.d/systemd-networkd.rules
+
 %files zsh-completion
 %{_datadir}/zsh/site-functions/*
 
Not Available

benbullard79 [@T] cox.netThese packages seem to have a problem: systemd-236-1-omv2015.0.x86_64 (due to unsatisfied basesystem-minimal[>= 1:3-1])2533d 23hrs
itchka [@T] compuserve.comNo Comment.2531d 19hrs