diff --git a/0001-Document-some-reasonable-DNS-servers-in-the-example-.patch b/0001-Document-some-reasonable-DNS-servers-in-the-example-.patch
deleted file mode 100644
index 535fdfc..0000000
--- a/0001-Document-some-reasonable-DNS-servers-in-the-example-.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From b6c05e03c2e6e98e2f0f129ff5256780bb65bdb2 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
-Date: Tue, 6 Oct 2020 13:59:25 +0200
-Subject: [PATCH] Document some reasonable DNS servers in the example config
- file
-
-We have an option to set the fallback list, so we don't know what the contents
-are. It may in fact be empty. Let's add some examples to make it easy for a user
-stranded without any DNS to fill in something that would work. As a bonus, this
-also gives names to the entries we provide by default.
-(I added google and cloudflare because that's what we have currently, and quad9
-because it seems to be a good privacy-concious and fast choice and was requested
-in #12499. As a minimum, things we should include should be well-known global
-services with a documented privacy policy and both IPv4 and IPv6 support and
-decent response times.)
----
- src/resolve/resolved.conf.in | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/src/resolve/resolved.conf.in b/src/resolve/resolved.conf.in
-index 082ad71626..514021792f 100644
---- a/src/resolve/resolved.conf.in
-+++ b/src/resolve/resolved.conf.in
-@@ -12,6 +12,10 @@
- # See resolved.conf(5) for details
- 
- [Resolve]
-+# Some examples of DNS servers which may be used for DNS= and FallbackDNS=:
-+# Cloudflare: 1.1.1.1 1.0.0.1 2606:4700:4700::1111 2606:4700:4700::1001
-+# Google:     8.8.8.8 8.8.4.4 2001:4860:4860::8888 2001:4860:4860::8844
-+# Quad9:      9.9.9.9 2620:fe::fe
- #DNS=
- #FallbackDNS=@DNS_SERVERS@
- #Domains=
diff --git a/0001-test-acl-util-output-more-debug-info.patch b/0001-test-acl-util-output-more-debug-info.patch
deleted file mode 100644
index 6db830f..0000000
--- a/0001-test-acl-util-output-more-debug-info.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 8cad57ed62a642515670ba79dddb30193456e803 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
-Date: Fri, 7 Aug 2020 18:54:37 +0200
-Subject: [PATCH] test-acl-util: output more debug info
-
-For some reason this failed in koji build on s390x:
---- command ---
-16:12:46 PATH='/builddir/build/BUILD/systemd-stable-246.1/s390x-redhat-linux-gnu:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin' SYSTEMD_LANGUAGE_FALLBACK_MAP='/builddir/build/BUILD/systemd-stable-246.1/src/locale/language-fallback-map' SYSTEMD_KBD_MODEL_MAP='/builddir/build/BUILD/systemd-stable-246.1/src/locale/kbd-model-map' /builddir/build/BUILD/systemd-stable-246.1/s390x-redhat-linux-gnu/test-acl-util
---- stdout ---
--rw-r-----. 1 mockbuild mock 0 Aug  7 16:12 /tmp/test-empty.7RzmEc
-other::---
---- stderr ---
-Assertion 'r >= 0' failed at src/test/test-acl-util.c:42, function test_add_acls_for_user(). Aborting.
----
- src/test/test-acl-util.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/src/test/test-acl-util.c b/src/test/test-acl-util.c
-index df879747f5..9f0e594e67 100644
---- a/src/test/test-acl-util.c
-+++ b/src/test/test-acl-util.c
-@@ -7,6 +7,7 @@
- 
- #include "acl-util.h"
- #include "fd-util.h"
-+#include "format-util.h"
- #include "string-util.h"
- #include "tmpfile-util.h"
- #include "user-util.h"
-@@ -18,6 +19,8 @@ static void test_add_acls_for_user(void) {
-         uid_t uid;
-         int r;
- 
-+        log_info("/* %s */", __func__);
-+
-         fd = mkostemp_safe(fn);
-         assert_se(fd >= 0);
- 
-@@ -39,6 +42,7 @@ static void test_add_acls_for_user(void) {
-                 uid = getuid();
- 
-         r = add_acls_for_user(fd, uid);
-+        log_info_errno(r, "add_acls_for_user(%d, "UID_FMT"): %m", fd, uid);
-         assert_se(r >= 0);
- 
-         cmd = strjoina("ls -l ", fn);
diff --git a/sources b/sources
index e2e7b3b..30df3d0 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (systemd-246.6.tar.gz) = 1936b291d9831cf61f800fe718a4c2c2fe9b2a11fd817fe32bd48da2087a675dfc91013209a3478ea52e8ada593300ed906e248b8081dcf9141bf1cc17483ea9
+SHA512 (systemd-247-rc1.tar.gz) = 5c04b013ceebbf466c917d093189a60a2a77c57a844eed840c911669855d4d9d783dcaec1ba6b488c5e96e7f9a9f3d4e39cff240c46c013ec2fcce5a5b7c4aee
diff --git a/systemd.spec b/systemd.spec
index ba1805a..8c3c717 100644
--- a/systemd.spec
+++ b/systemd.spec
@@ -1,7 +1,7 @@
-#global commit 7f56c26d1041e686efa72b339250a98fb6ee8f00
+#global commit c4b843473a75fb38ed5bf54e9d3cfb1cb3719efa
 %{?commit:%global shortcommit %(c=%{commit}; echo ${c:0:7})}
 
-%global stable 1
+#global stable 1
 
 # We ship a .pc file but don't want to have a dep on pkg-config. We
 # strip the automatically generated dep here and instead co-own the
@@ -20,8 +20,8 @@
 
 Name:           systemd
 Url:            https://www.freedesktop.org/wiki/Software/systemd
-Version:        246.6
-Release:        3%{?dist}
+Version:        247~rc1
+Release:        1%{?dist}
 # For a breakdown of the licensing, see README
 License:        LGPLv2+ and MIT and GPLv2+
 Summary:        System and Service Manager
@@ -71,15 +71,6 @@ GIT_DIR=../../src/systemd/.git git diffab -M v233..master@{2017-06-15} -- hwdb/[
 # https://bugzilla.redhat.com/show_bug.cgi?id=1738828
 Patch0001:      use-bfq-scheduler.patch
 
-Patch0002:      0001-Revert-test-path-increase-timeout.patch
-Patch0003:      0002-test-path-more-debugging-information.patch
-Patch0004:      0003-test-path-do-not-fail-the-test-if-we-fail-to-start-s.patch
-Patch0005:      0004-test-path-use-Type-exec.patch
-
-Patch0006:      0001-test-acl-util-output-more-debug-info.patch
-Patch0007:      0001-Do-not-assert-in-test_add_acls_for_user.patch
-Patch0008:      0001-Document-some-reasonable-DNS-servers-in-the-example-.patch
-
 Patch0009:      https://github.com/systemd/systemd/pull/17050/commits/f58b96d3e8d1cb0dd3666bc74fa673918b586612.patch
 
 %ifarch %{ix86} x86_64 aarch64
@@ -183,6 +174,16 @@ Obsoletes:      %{name}-standalone-tmpfiles < %{version}-%{release}^
 Conflicts:      %{name}-standalone-sysusers < %{version}-%{release}^
 Obsoletes:      %{name}-standalone-sysusers < %{version}-%{release}^
 
+# Recommends to replace normal Requires deps for stuff that is dlopen()ed
+Recommends:     libcryptsetup.so.12()(64bit)
+Recommends:     libcryptsetup.so.12(CRYPTSETUP_2.0)(64bit)
+Recommends:     libidn2.so.0()(64bit)
+Recommends:     libidn2.so.0(IDN2_0.0.0)(64bit)
+Recommends:     libpcre2-8.so.0()(64bit)
+Recommends:     libpwquality.so.1()(64bit)
+Recommends:     libpwquality.so.1(LIBPWQUALITY_1.0)(64bit)
+Recommends:     libqrencode.so.4()(64bit)
+
 %description
 systemd is a system and service manager that runs as PID 1 and starts
 the rest of the system. It provides aggressive parallelization
@@ -276,6 +277,10 @@ Requires:       kbd
 Provides:       u2f-hidraw-policy = 1.0.2-40
 Obsoletes:      u2f-hidraw-policy < 1.0.2-40
 
+# Recommends to replace normal Requires deps for stuff that is dlopen()ed
+Recommends:     libcryptsetup.so.12()(64bit)
+Recommends:     libcryptsetup.so.12(CRYPTSETUP_2.0)(64bit)
+
 %description udev
 This package contains systemd-udev and the rules and hardware database
 needed to manage device nodes. This package is necessary on physical
@@ -366,6 +371,7 @@ systemd package and is meant for use in non-systemd systems.
 %{!?ntpvendor: echo 'NTP vendor zone is not set!'; exit 1}
 
 CONFIGURE_OPTS=(
+        -Dmode=release
         -Dsysvinit-path=/etc/rc.d/init.d
         -Drc-local=/etc/rc.d/rc.local
         -Dntp-servers='0.%{ntpvendor}.pool.ntp.org 1.%{ntpvendor}.pool.ntp.org 2.%{ntpvendor}.pool.ntp.org 3.%{ntpvendor}.pool.ntp.org'
@@ -422,6 +428,7 @@ CONFIGURE_OPTS=(
         -Dusers-gid=100
         -Dnobody-user=nobody
         -Dnobody-group=nobody
+        -Dcompat-mutable-uid-boundaries=true
         -Dsplit-usr=false
         -Dsplit-bin=true
 %if %{with lto}
@@ -871,6 +878,21 @@ fi
 %files standalone-sysusers -f .file-list-standalone-sysusers
 
 %changelog
+* Tue Oct 20 2020 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 247~rc1
+- New upstream pre-release. See
+  https://github.com/systemd/systemd/blob/v247-rc1/NEWS.
+  Many smaller and bigger improvements and features are introduced.
+  Note that systemd-oomd is not built as part of this package.
+  (#1885101, #1890632, #1879216)
+
+  A backwards-incompatible change affects PCI network devices which
+  are connected through a bridge which is itself associated with a
+  slot. When more than one device was associated with the same slot,
+  one of the devices would pseudo-randomly get named after the slot.
+  That name is now not generated at all. This changed behaviour is
+  causes the net naming scheme to be changed to "v247". To restore
+  previous behaviour, specify net.naming-scheme=v245.
+
 * Wed Sep 30 2020 Dusty Mabe <dusty@dustymabe.com> - 246.6-3
 - Try to make files in subpackages (especially the networkd subpackage)
   more appropriate.