diff --git a/0001-lxc-containter-fix-build-with-glibc-2.36.patch b/0001-lxc-containter-fix-build-with-glibc-2.36.patch
deleted file mode 100644
index 4e78977..0000000
--- a/0001-lxc-containter-fix-build-with-glibc-2.36.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 9493c9b79dc541ec9e0fd73c6d87bdf8d30aaa90 Mon Sep 17 00:00:00 2001
-From: Cole Robinson <crobinso@redhat.com>
-Date: Mon, 1 Aug 2022 15:20:38 -0400
-Subject: [PATCH] lxc: containter: fix build with glibc 2.36
-Content-type: text/plain
-
-With glibc 2.36, sys/mount.h and linux/mount.h conflict:
-https://sourceware.org/glibc/wiki/Release/2.36#Usage_of_.3Clinux.2Fmount.h.3E_and_.3Csys.2Fmount.h.3E
-
-lxc_container.c imports sys/mount.h and linux/fs.h, which pulls in
-linux/mount.h.
-
-linux/fs.h isn't required here though. glibc sys/mount.h has had
-MS_MOVE since 2.12 in 2010
-
-Reviewed-by: Erik Skultety <eskultet@redhat.com>
-Signed-off-by: Cole Robinson <crobinso@redhat.com>
----
- src/lxc/lxc_container.c | 3 ---
- 1 file changed, 3 deletions(-)
-
-diff --git a/src/lxc/lxc_container.c b/src/lxc/lxc_container.c
-index b5278831da..a5401c2186 100644
---- a/src/lxc/lxc_container.c
-+++ b/src/lxc/lxc_container.c
-@@ -33,9 +33,6 @@
- /* Yes, we want linux private one, for _syscall2() macro */
- #include <linux/unistd.h>
- 
--/* For MS_MOVE */
--#include <linux/fs.h>
--
- #if WITH_CAPNG
- # include <cap-ng.h>
- #endif
diff --git a/0002-virfile-Fix-build-with-glibc-2.36.patch b/0002-virfile-Fix-build-with-glibc-2.36.patch
deleted file mode 100644
index 40fcbc7..0000000
--- a/0002-virfile-Fix-build-with-glibc-2.36.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From c0d9adf220dc0d223330a7bac37b174132d330ba Mon Sep 17 00:00:00 2001
-From: Cole Robinson <crobinso@redhat.com>
-Date: Mon, 1 Aug 2022 15:24:01 -0400
-Subject: [PATCH] virfile: Fix build with glibc 2.36
-Content-type: text/plain
-
-With glibc 2.36, sys/mount.h and linux/mount.h conflict:
-https://sourceware.org/glibc/wiki/Release/2.36#Usage_of_.3Clinux.2Fmount.h.3E_and_.3Csys.2Fmount.h.3E
-
-virfile.c imports sys/mount.h and linux/fs.h, which pulls in
-linux/mount.h.
-
-Manually define the constants we need from linux/fs.h, like was
-done in llvm:
-
-https://reviews.llvm.org/rGb379129c4beb3f26223288627a1291739f33af02
-
-Reviewed-by: Erik Skultety <eskultet@redhat.com>
-Signed-off-by: Cole Robinson <crobinso@redhat.com>
----
- src/util/virfile.c | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/src/util/virfile.c b/src/util/virfile.c
-index 99da058db3..ce541b8946 100644
---- a/src/util/virfile.c
-+++ b/src/util/virfile.c
-@@ -71,7 +71,11 @@
- # endif
- # include <sys/ioctl.h>
- # include <linux/cdrom.h>
--# include <linux/fs.h>
-+/* These come from linux/fs.h, but that header conflicts with
-+ * sys/mount.h on glibc 2.36+ */
-+# define FS_IOC_GETFLAGS _IOR('f', 1, long)
-+# define FS_IOC_SETFLAGS _IOW('f', 2, long)
-+# define FS_NOCOW_FL 0x00800000
- #endif
- 
- #if WITH_LIBATTR
diff --git a/libvirt.spec b/libvirt.spec
index 78091bf..32e1630 100644
--- a/libvirt.spec
+++ b/libvirt.spec
@@ -234,8 +234,8 @@
 
 Summary: Library providing a simple virtualization API
 Name: libvirt
-Version: 8.6.0
-Release: 3%{?dist}
+Version: 8.7.0
+Release: 1%{?dist}
 License: LGPLv2+
 URL: https://libvirt.org/
 
@@ -244,10 +244,6 @@ URL: https://libvirt.org/
 %endif
 Source: https://libvirt.org/sources/%{?mainturl}libvirt-%{version}.tar.xz
 
-# Fix build with glibc 2.36
-Patch0001: 0001-lxc-containter-fix-build-with-glibc-2.36.patch
-Patch0002: 0002-virfile-Fix-build-with-glibc-2.36.patch
-
 Requires: libvirt-daemon = %{version}-%{release}
 Requires: libvirt-daemon-config-network = %{version}-%{release}
 Requires: libvirt-daemon-config-nwfilter = %{version}-%{release}
@@ -1520,18 +1516,12 @@ then
         # own the sockets again when it comes back up. Thus we must
         # do this particular ordering, so that we get libvirtd
         # running with socket activation in use
-        /bin/systemctl is-active libvirtd.service 1>/dev/null 2>&1
-        if test $? = 0
-        then
-            /bin/systemctl stop libvirtd.service >/dev/null 2>&1 || :
-
-            /bin/systemctl try-restart \
-                    libvirtd.socket \
-                    libvirtd-ro.socket \
-                    libvirtd-admin.socket >/dev/null 2>&1 || :
-
-            /bin/systemctl start libvirtd.service >/dev/null 2>&1 || :
-        fi
+        /bin/systemctl stop libvirtd.service >/dev/null 2>&1 || :
+        /bin/systemctl try-restart \
+                libvirtd.socket \
+                libvirtd-ro.socket \
+                libvirtd-admin.socket >/dev/null 2>&1 || :
+        /bin/systemctl start libvirtd.service >/dev/null 2>&1 || :
     fi
 fi
 
@@ -2417,7 +2407,11 @@ exit 0
 %{mingw64_mandir}/man7/virkey*.7*
 %endif
 
+
 %changelog
+* Tue Sep 06 2022 Cole Robinson <crobinso@redhat.com> - 8.7.0-1
+- Update to version 8.7.0
+
 * Tue Aug  9 2022 Daniel P. Berrangé <berrange@redhat.com> - 8.1.0-3
 - Pull in mingw sub-packages
 
diff --git a/sources b/sources
index 7f7abe5..ed5e703 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (libvirt-8.6.0.tar.xz) = 6198ac33ea718045bfd12a2740d5a7fa70c754b1ecda7c0cad5791fbdf7311091587056254fde88ebe3c2f927a8fb56909fe4c3a115595854b18d3a704db73de
+SHA512 (libvirt-8.7.0.tar.xz) = 35d33d0e0dab525e8f0a8a592d286e9d17fc5c5d1ff2fab5af5c40b85248481dd17b5c3daf64e8c6e1b8a93328eebee6ece3e95edacff208a81d8b78dc102d7a