summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO4
-rw-r--r--PKGBUILD9
-rw-r--r--qemu-7.0.0-glibc-2.36.patch43
3 files changed, 52 insertions, 4 deletions
diff --git a/.SRCINFO b/.SRCINFO
index cdc27f87c948..10348a53824f 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
pkgbase = qemu-git
pkgdesc = A generic and open source machine emulator and virtualizer. Git version.
- pkgver = 7.1.0.rc0.r0.g7b17a1a841
+ pkgver = 7.1.0.rc1.r4.g2480f3bbd0
pkgrel = 1
epoch = 16
url = https://wiki.qemu.org/
@@ -70,9 +70,11 @@ pkgbase = qemu-git
source = git://git.qemu.org/qemu.git
source = qemu-guest-agent.service
source = 65-kvm.rules
+ source = qemu-7.0.0-glibc-2.36.patch
sha256sums = SKIP
sha256sums = c39bcde4a09165e64419fd2033b3532378bba84d509d39e2d51694d44c1f8d88
sha256sums = a66f0e791b16b03b91049aac61a25950d93e962e1b2ba64a38c6ad7f609b532c
+ sha256sums = 1eee1b5d839fdfc5cd5a18f0c769b01228c14781de1368670e2c589cd6903a6e
pkgname = qemu-git
pkgdesc = QEMU Git version.
diff --git a/PKGBUILD b/PKGBUILD
index eee345141168..7a1ec65cf487 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -16,7 +16,7 @@ pkgname=(
qemu-guest-agent-git
)
pkgdesc="A generic and open source machine emulator and virtualizer. Git version."
-pkgver=7.1.0.rc0.r0.g7b17a1a841
+pkgver=7.1.0.rc1.r4.g2480f3bbd0
pkgrel=1
epoch=16
arch=(i686 x86_64)
@@ -86,10 +86,12 @@ makedepends=(
)
source=(git://git.qemu.org/qemu.git
qemu-guest-agent.service
- 65-kvm.rules)
+ 65-kvm.rules
+ qemu-7.0.0-glibc-2.36.patch)
sha256sums=('SKIP'
'c39bcde4a09165e64419fd2033b3532378bba84d509d39e2d51694d44c1f8d88'
- 'a66f0e791b16b03b91049aac61a25950d93e962e1b2ba64a38c6ad7f609b532c')
+ 'a66f0e791b16b03b91049aac61a25950d93e962e1b2ba64a38c6ad7f609b532c'
+ '1eee1b5d839fdfc5cd5a18f0c769b01228c14781de1368670e2c589cd6903a6e')
case $CARCH in
i?86) _corearch=i386 ;;
@@ -103,6 +105,7 @@ pkgver() {
prepare() {
cd "${srcdir}/${_gitname}"
+ patch -Np1 < ../qemu-7.0.0-glibc-2.36.patch
mkdir build-{full,headless}
mkdir -p extra-arch-{full,headless}/usr/{bin,share/qemu}
}
diff --git a/qemu-7.0.0-glibc-2.36.patch b/qemu-7.0.0-glibc-2.36.patch
new file mode 100644
index 000000000000..21b09da92cf2
--- /dev/null
+++ b/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 <linux/soundcard.h>
+ #include <linux/kd.h>
+ #include <linux/mtio.h>
++
++#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 <linux/fs.h>
++#endif
+ #include <linux/fd.h>
+ #if defined(CONFIG_FIEMAP)
+ #include <linux/fiemap.h>
+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',