diff --git a/extra/qemu/PKGBUILD b/extra/qemu/PKGBUILD index d325bd6d0..4d3e3d08a 100644 --- a/extra/qemu/PKGBUILD +++ b/extra/qemu/PKGBUILD @@ -4,7 +4,6 @@ # ALARM: Kevin Mihelich # - remove makedepends on numactl and seabios, revert not installing qemu seabios files -# - remove makedepend on ceph, drop qemu-block-rbd package pkgbase=qemu pkgname=( @@ -29,7 +28,7 @@ pkgname=( qemu-{base,desktop,emulators-full,full} ) pkgver=7.0.0 -pkgrel=10 +pkgrel=12 pkgdesc="A generic and open source machine emulator and virtualizer" arch=(x86_64) url="https://www.qemu.org/" @@ -109,6 +108,7 @@ source=( 99-qemu-guest-agent.rules qemu-7.0.0-virtio-scsi_fix_ctrl_and_event_handler_functions_in_dataplane_mode.patch::https://github.com/qemu/qemu/commit/2f743ef6366c2df4ef51ef3ae318138cdc0125ab.patch qemu-7.0.0-virtio-scsi_dont_waste_cpu_polling_the_eventvirtqueue.patch::https://github.com/qemu/qemu/commit/38738f7dbbda90fbc161757b7f4be35b52205552.patch + qemu-7.0.0-glibc-2.36.patch ) sha512sums=('44ecd10c018a3763e1bc87d1d35b98890d0d5636acd69fe9b5cadf5024d5af6a31684d60cbe1c3370e02986434c1fb0ad99224e0e6f6fe7eda169992508157b1' 'SKIP' @@ -118,7 +118,8 @@ sha512sums=('44ecd10c018a3763e1bc87d1d35b98890d0d5636acd69fe9b5cadf5024d5af6a316 'bdf05f99407491e27a03aaf845b7cc8acfa2e0e59968236f10ffc905e5e3d5e8569df496fd71c887da2b5b8d1902494520c7da2d3a8258f7fd93a881dd610c99' '93b905046fcea8a0a89513b9259c222494ab3b91319dde23baebcb40dc17376a56661b159b99785d6e816831974a0f3cbd7b2f7d89e5fc3c258f88f4492f3839' 'e6208f10db9277c217fe4e1ff57cbb9701bd6fce2f75ed01b5ed5ad78dd0d24d65371ef8d4f6e3a33ad0d280eba6614389795f8c8655ad15162411adc5ec642e' - 'a80b2b9a84ecdfa352b6c35f5db547e670e4e5efd485cade893c04b4e5265439cc844fefbd27c050e63c16f727115d513b33a4d50400e1a8ee9fb646f0c0c61c') + 'a80b2b9a84ecdfa352b6c35f5db547e670e4e5efd485cade893c04b4e5265439cc844fefbd27c050e63c16f727115d513b33a4d50400e1a8ee9fb646f0c0c61c' + 'aa976c84d8524bb40ada506f80c01384c49f2e48fba889b0e535285aee700937886e935d18ad83b38093ba07f38be50b0fae76a0b29fd487daeac31e3221381e') b2sums=('ceda6d9f1a585298bd49fed61e8bb35f0064ad8388a9f979c8bd68a38bfe1a47c5bb055e5f74f970c2c440957042b9de4a861524120040c56e4cd8b56c5cfb68' 'SKIP' 'b1eca364aa60f130ff5e649f5d004d3fcb75356d3421a4542efdfc410d39b40d9434d15e1dd7bbdbd315cb72b5290d3ea5f77f9c41961a5601cd28ef7bbe72e8' @@ -127,7 +128,8 @@ b2sums=('ceda6d9f1a585298bd49fed61e8bb35f0064ad8388a9f979c8bd68a38bfe1a47c5bb055 '3559fe9c4f744194939770047a0a02d07ff791c845a80726d0bc7b8c4801ed5f11150e7d5adab813844b3dab1cf38c3a5a87fb6efbb8fc9dccdda9fa56409ed8' 'a9a2bdfeeb44eb86cbe88ac7c65f72800bdb2fd5cecb02f3a258cf9470b52832180aab43c89d481f7fd4d067342a9a27dd6c8a94d625b95d6e2b912e47d274e7' '70aa62f9101b284248d098868031123e290030607c079475e715e2fde267b217c4f1971ba1f666130d8f427334cb5bf6fbabd87f7b7b83ecc3879a09a786aa90' - 'f6dc6eec36e52ff230247f949651464ff4fbd8d77a295b16d78e290dd90f31f998c10c8490ec439fef10e6a69679e708d7ebf3ddca344c510c0b19b61db20bba') + 'f6dc6eec36e52ff230247f949651464ff4fbd8d77a295b16d78e290dd90f31f998c10c8490ec439fef10e6a69679e708d7ebf3ddca344c510c0b19b61db20bba' + 'a7626f5ba67d628d74c909d84d9862e56435a1ace373fe5dedf93cd7d6ae56809b36cbcc271d156a6c3d5cac2a3824ffe2cb49e8f56d6bd964a7c416327f857e') validpgpkeys=('CEACC9E15534EBABB82D3FA03353C9CEF108B584') # Michael Roth _qemu_system_deps=( @@ -249,6 +251,8 @@ prepare() { # fix issues with virtio-scsi https://lists.gnu.org/archive/html/qemu-devel/2022-04/msg04724.html patch -Np1 -d $pkgbase-$pkgver -i ../qemu-7.0.0-virtio-scsi_fix_ctrl_and_event_handler_functions_in_dataplane_mode.patch patch -Np1 -d $pkgbase-$pkgver -i ../qemu-7.0.0-virtio-scsi_dont_waste_cpu_polling_the_eventvirtqueue.patch + + patch -Np1 -d $pkgbase-$pkgver -i ../qemu-7.0.0-glibc-2.36.patch } build() { diff --git a/extra/qemu/keys/pgp/CEACC9E15534EBABB82D3FA03353C9CEF108B584.asc b/extra/qemu/keys/pgp/CEACC9E15534EBABB82D3FA03353C9CEF108B584.asc new file mode 100644 index 000000000..8fffc1070 --- /dev/null +++ b/extra/qemu/keys/pgp/CEACC9E15534EBABB82D3FA03353C9CEF108B584.asc @@ -0,0 +1,52 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +0m6uWSWk +=bHJF +-----END PGP PUBLIC KEY BLOCK----- diff --git a/extra/qemu/qemu-7.0.0-glibc-2.36.patch b/extra/qemu/qemu-7.0.0-glibc-2.36.patch new file mode 100644 index 000000000..21b09da92 --- /dev/null +++ b/extra/qemu/qemu-7.0.0-glibc-2.36.patch @@ -0,0 +1,43 @@ +diff --git a/linux-user/syscall.c b/linux-user/syscall.c +index b27a6552aa..52d178afe7 100644 +--- a/linux-user/syscall.c ++++ b/linux-user/syscall.c +@@ -95,7 +95,25 @@ + #include + #include + #include ++ ++#ifdef HAVE_SYS_MOUNT_FSCONFIG ++/* ++ * glibc >= 2.36 linux/mount.h conflicts with sys/mount.h, ++ * which in turn prevents use of linux/fs.h. So we have to ++ * define the constants ourselves for now. ++ */ ++#define FS_IOC_GETFLAGS _IOR('f', 1, long) ++#define FS_IOC_SETFLAGS _IOW('f', 2, long) ++#define FS_IOC_GETVERSION _IOR('v', 1, long) ++#define FS_IOC_SETVERSION _IOW('v', 2, long) ++#define FS_IOC_FIEMAP _IOWR('f', 11, struct fiemap) ++#define FS_IOC32_GETFLAGS _IOR('f', 1, int) ++#define FS_IOC32_SETFLAGS _IOW('f', 2, int) ++#define FS_IOC32_GETVERSION _IOR('v', 1, int) ++#define FS_IOC32_SETVERSION _IOW('v', 2, int) ++#else + #include ++#endif + #include + #if defined(CONFIG_FIEMAP) + #include +diff --git a/meson.build b/meson.build +index 294e9a8f32..30a380752c 100644 +--- a/meson.build ++++ b/meson.build +@@ -1963,6 +1963,8 @@ config_host_data.set('HAVE_OPTRESET', + cc.has_header_symbol('getopt.h', 'optreset')) + config_host_data.set('HAVE_IPPROTO_MPTCP', + cc.has_header_symbol('netinet/in.h', 'IPPROTO_MPTCP')) ++config_host_data.set('HAVE_SYS_MOUNT_FSCONFIG', ++ cc.has_header_symbol('sys/mount.h', 'FSCONFIG_SET_FLAG')) + + # has_member + config_host_data.set('HAVE_SIGEV_NOTIFY_THREAD_ID',