diff --git a/0001-qemu-xen-add-missing-deps-on-virtlockd-virtlogd-sock.patch b/0001-qemu-xen-add-missing-deps-on-virtlockd-virtlogd-sock.patch
deleted file mode 100644
index ca33d77..0000000
--- a/0001-qemu-xen-add-missing-deps-on-virtlockd-virtlogd-sock.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-From 88c5b9f827779ae6fe5a6f08100a4b6184492a1c Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com>
-Date: Tue, 31 Aug 2021 10:59:39 +0100
-Subject: [PATCH] qemu, xen: add missing deps on virtlockd/virtlogd sockets
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-The QEMU driver uses both virtlogd and virtlockd, while the Xen driver
-uses virtlockd. The libvirtd.service unit contains deps on the socket
-units for these services, but these deps were missed in the modular
-daemons. As a result the virtlockd/virtlogd sockets are not started
-when the virtqemud/virtxend daemons are started.
-
-Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
-Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
----
- src/libxl/virtxend.service.in | 2 ++
- src/qemu/virtqemud.service.in | 4 ++++
- 2 files changed, 6 insertions(+)
-
-diff --git a/src/libxl/virtxend.service.in b/src/libxl/virtxend.service.in
-index a863917467..19b19ce3e6 100644
---- a/src/libxl/virtxend.service.in
-+++ b/src/libxl/virtxend.service.in
-@@ -1,6 +1,7 @@
- [Unit]
- Description=Virtualization xen daemon
- Conflicts=libvirtd.service
-+Requires=virtlockd.socket
- Requires=virtxend.socket
- Requires=virtxend-ro.socket
- Requires=virtxend-admin.socket
-@@ -25,6 +26,7 @@ KillMode=process
- 
- [Install]
- WantedBy=multi-user.target
-+Also=virtlockd.socket
- Also=virtxend.socket
- Also=virtxend-ro.socket
- Also=virtxend-admin.socket
-diff --git a/src/qemu/virtqemud.service.in b/src/qemu/virtqemud.service.in
-index 8abc9d3a7f..20e1b43a6e 100644
---- a/src/qemu/virtqemud.service.in
-+++ b/src/qemu/virtqemud.service.in
-@@ -1,6 +1,8 @@
- [Unit]
- Description=Virtualization qemu daemon
- Conflicts=libvirtd.service
-+Requires=virtlogd.socket
-+Requires=virtlockd.socket
- Requires=virtqemud.socket
- Requires=virtqemud-ro.socket
- Requires=virtqemud-admin.socket
-@@ -42,6 +44,8 @@ LimitMEMLOCK=64M
- 
- [Install]
- WantedBy=multi-user.target
-+Also=virtlogd.socket
-+Also=virtlockd.socket
- Also=virtqemud.socket
- Also=virtqemud-ro.socket
- Also=virtqemud-admin.socket
--- 
-2.31.1
-
diff --git a/0002-tests-virstoragetest-remove-tests-without-backing-ty.patch b/0002-tests-virstoragetest-remove-tests-without-backing-ty.patch
deleted file mode 100644
index 1fc3244..0000000
--- a/0002-tests-virstoragetest-remove-tests-without-backing-ty.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-From 979d1ba3ae1332bda80cb6eca98e41dc4462a226 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?J=C3=A1n=20Tomko?= <jtomko@redhat.com>
-Date: Tue, 31 Aug 2021 11:41:55 +0200
-Subject: [PATCH] tests: virstoragetest: remove tests without backing type
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-As of qemu commit:
-
-  commit 497a30dbb065937d67f6c43af6dd78492e1d6f6d
-    qemu-img: Require -F with -b backing image
-
-creating images with backing images requires specifying the format.
-
-Remove tests which do not pass the backing format on the command
-line.
-
-Signed-off-by: Ján Tomko <jtomko@redhat.com>
-Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
----
- tests/virstoragetest.c | 33 ---------------------------------
- 1 file changed, 33 deletions(-)
-
-diff --git a/tests/virstoragetest.c b/tests/virstoragetest.c
-index 1b211b60e6..b80818bc7b 100644
---- a/tests/virstoragetest.c
-+++ b/tests/virstoragetest.c
-@@ -638,30 +638,6 @@ mymain(void)
-     };
-     TEST_CHAIN(abswrap, VIR_STORAGE_FILE_QCOW2, (&wrap, &qcow2, &raw), EXP_PASS);
- 
--    /* Rewrite qcow2 and wrap file to omit backing file type */
--    virCommandFree(cmd);
--    cmd = virCommandNewArgList(qemuimg, "rebase", "-u", "-f", "qcow2",
--                               "-b", absraw, "qcow2", NULL);
--    if (virCommandRun(cmd, NULL) < 0)
--        ret = -1;
--
--    virCommandFree(cmd);
--    cmd = virCommandNewArgList(qemuimg, "rebase", "-u", "-f", "qcow2",
--                               "-b", absqcow2, "wrap", NULL);
--    if (virCommandRun(cmd, NULL) < 0)
--        ret = -1;
--
--    /* Qcow2 file with raw as absolute backing, backing format omitted */
--    testFileData wrap_as_raw = {
--        .expBackingStoreRaw = absqcow2,
--        .expCapacity = 1024,
--        .path = abswrap,
--        .type = VIR_STORAGE_TYPE_FILE,
--        .format = VIR_STORAGE_FILE_QCOW2,
--    };
--    TEST_CHAIN(abswrap, VIR_STORAGE_FILE_QCOW2,
--               (&wrap_as_raw, &qcow2_as_raw), EXP_FAIL);
--
-     /* Rewrite qcow2 to a missing backing file, with backing type */
-     virCommandFree(cmd);
-     cmd = virCommandNewArgList(qemuimg, "rebase", "-u", "-f", "qcow2",
-@@ -674,15 +650,6 @@ mymain(void)
-     /* Qcow2 file with missing backing file but specified type */
-     TEST_CHAIN(absqcow2, VIR_STORAGE_FILE_QCOW2, (&qcow2), EXP_FAIL);
- 
--    /* Rewrite qcow2 to a missing backing file, without backing type */
--    virCommandFree(cmd);
--    cmd = virCommandNewArgList(qemuimg, "rebase", "-u", "-f", "qcow2",
--                               "-b", datadir "/bogus", "qcow2", NULL);
--    if (virCommandRun(cmd, NULL) < 0)
--        ret = -1;
--
--    /* Qcow2 file with missing backing file and no specified type */
--    TEST_CHAIN(absqcow2, VIR_STORAGE_FILE_QCOW2, (&qcow2), EXP_FAIL);
- 
-     /* Rewrite qcow2 to use an nbd: protocol as backend */
-     virCommandFree(cmd);
--- 
-2.31.1
-
diff --git a/libvirt.spec b/libvirt.spec
index 64b1b66..c788e8f 100644
--- a/libvirt.spec
+++ b/libvirt.spec
@@ -24,7 +24,7 @@
 %define arches_vbox             %{arches_x86}
 %define arches_ceph             %{arches_64bit}
 %define arches_zfs              %{arches_x86} %{power64} %{arm}
-%define arches_numactl          %{arches_x86} %{power64} aarch64
+%define arches_numactl          %{arches_x86} %{power64} aarch64 s390x
 %define arches_numad            %{arches_x86} %{power64} aarch64
 
 # The hypervisor drivers that run in libvirtd
@@ -205,8 +205,8 @@
 
 Summary: Library providing a simple virtualization API
 Name: libvirt
-Version: 7.6.0
-Release: 3%{?dist}
+Version: 7.7.0
+Release: 1%{?dist}
 License: LGPLv2+
 URL: https://libvirt.org/
 
@@ -214,8 +214,6 @@ URL: https://libvirt.org/
     %define mainturl stable_updates/
 %endif
 Source: https://libvirt.org/sources/%{?mainturl}libvirt-%{version}.tar.xz
-Patch1: 0001-qemu-xen-add-missing-deps-on-virtlockd-virtlogd-sock.patch
-Patch2: 0002-tests-virstoragetest-remove-tests-without-backing-ty.patch
 
 Requires: libvirt-daemon = %{version}-%{release}
 Requires: libvirt-daemon-config-network = %{version}-%{release}
@@ -1462,9 +1460,9 @@ fi
 
 %if %{with_qemu}
 %post daemon-driver-qemu
-%if %{with_modular_daemons}
+    %if %{with_modular_daemons}
 %libvirt_daemon_systemd_post virtqemud
-%endif
+    %endif
 %libvirt_daemon_schedule_restart virtqemud
 
 %preun daemon-driver-qemu
@@ -1477,9 +1475,9 @@ fi
 
 %if %{with_lxc}
 %post daemon-driver-lxc
-%if %{with_modular_daemons}
+    %if %{with_modular_daemons}
 %libvirt_daemon_systemd_post virtlxcd
-%endif
+    %endif
 %libvirt_daemon_schedule_restart virtlxcd
 
 %preun daemon-driver-lxc
@@ -1492,9 +1490,9 @@ fi
 
 %if %{with_vbox}
 %post daemon-driver-vbox
-%if %{with_modular_daemons}
+    %if %{with_modular_daemons}
 %libvirt_daemon_systemd_post virtvboxd
-%endif
+    %endif
 %libvirt_daemon_schedule_restart virtvboxd
 
 %preun daemon-driver-vbox
@@ -1507,9 +1505,9 @@ fi
 
 %if %{with_libxl}
 %post daemon-driver-libxl
-%if %{with_modular_daemons}
+    %if %{with_modular_daemons}
 %libvirt_daemon_systemd_post virtxend
-%endif
+    %endif
 %libvirt_daemon_schedule_restart virtxend
 
 %preun daemon-driver-libxl
@@ -2067,6 +2065,9 @@ exit 0
 
 
 %changelog
+* Thu Sep  2 2021 Daniel P. Berrangé <berrange@redhat.com> - 7.7.0-1
+- Update to 7.7.0 release
+
 * Tue Aug 31 2021 Daniel P. Berrangé <berrange@redhat.com> - 7.6.0-3
 - Fix repeated word in scriptlet name
 - Fix deps on virtlockd/virtlogd socket units
diff --git a/sources b/sources
index ff3d19e..6025a97 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (libvirt-7.6.0.tar.xz) = bad6cc02af071ca909bbbe3c07165e91cad863c9a759b26d9cff6aed6ea5643bc723d2f3c61ad41436dffd4fd50389333d74b131e37eaa54a5071a3ae26df627
+SHA512 (libvirt-7.7.0.tar.xz) = a0d585c9ac46be08d2865d66456d681b7233291d17f6e0ed2564d0f29dc38ea7afc846ab382f58a193d3cd9acaf25fcc526feb3c98e12a6b4b8ae5aa4aec2f3e