diff options
author | Mike Frysinger <vapier@gentoo.org> | 2016-05-17 00:40:51 -0400 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2016-05-17 00:41:34 -0400 |
commit | 6b13602fdf3ffadf7a32cf41f29580a686bd0802 (patch) | |
tree | b28bac2e372ccab2029a38bb2ab38bf452648e50 /app-emulation | |
parent | app-emulation/qemu-guest-agent: version bump to 2.6.0 #583212 (diff) | |
download | gentoo-6b13602fdf3ffadf7a32cf41f29580a686bd0802.tar.gz gentoo-6b13602fdf3ffadf7a32cf41f29580a686bd0802.tar.bz2 gentoo-6b13602fdf3ffadf7a32cf41f29580a686bd0802.zip |
app-emulation/qemu: workaround breakage in xfs/linux headers #577810
Add upstream patch to workaround some combinations of xfsprogs & linux
headers so we don't have to worry about stable breakage anymore. This
fix is already in upstream & unstable versions.
Diffstat (limited to 'app-emulation')
-rw-r--r-- | app-emulation/qemu/files/qemu-2.5.1-xfs-linux-headers.patch | 82 | ||||
-rw-r--r-- | app-emulation/qemu/qemu-2.5.1.ebuild | 1 |
2 files changed, 83 insertions, 0 deletions
diff --git a/app-emulation/qemu/files/qemu-2.5.1-xfs-linux-headers.patch b/app-emulation/qemu/files/qemu-2.5.1-xfs-linux-headers.patch new file mode 100644 index 000000000000..743171b49dd4 --- /dev/null +++ b/app-emulation/qemu/files/qemu-2.5.1-xfs-linux-headers.patch @@ -0,0 +1,82 @@ +https://bugs.gentoo.org/577810 + +From 277abf15a60f7653bfb05ffb513ed74ffdaea1b7 Mon Sep 17 00:00:00 2001 +From: Jan Vesely <jano.vesely@gmail.com> +Date: Fri, 29 Apr 2016 13:15:23 -0400 +Subject: [PATCH] configure: Check if struct fsxattr is available from linux + header +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Fixes build failure with --enable-xfsctl and +new linux headers (>=4.5) and older xfsprogs(<4.5): +In file included from /usr/include/xfs/xfs.h:38:0, + from /var/tmp/portage/app-emulation/qemu-2.5.0-r1/work/qemu-2.5.0/block/raw-posix.c:97: +/usr/include/xfs/xfs_fs.h:42:8: error: redefinition of ‘struct fsxattr’ + struct fsxattr { + ^ +In file included from /var/tmp/portage/app-emulation/qemu-2.5.0-r1/work/qemu-2.5.0/block/raw-posix.c:60:0: +/usr/include/linux/fs.h:155:8: note: originally defined here + struct fsxattr { + +This is really a bug in the system headers, but we can work around it +by defining HAVE_FSXATTR in the QEMU headers if linux/fs.h provides +the struct, so that xfs_fs.h doesn't try to define it as well. + +CC: qemu-trivial@nongnu.org +CC: Markus Armbruster <armbru@redhat.com> +CC: Peter Maydell <peter.maydell@linaro.org> +CC: Stefan Weil <sw@weilnetz.de> +Tested-by: Stefan Weil <sw@weilnetz.de> +Signed-off-by: Jan Vesely <jano.vesely@gmail.com> +[PMM: adjusted commit message, comments] +Signed-off-by: Peter Maydell <peter.maydell@linaro.org> +--- + configure | 23 +++++++++++++++++++++++ + 1 file changed, 23 insertions(+) + +diff --git a/configure b/configure +index ab54f3c..c37fc5f 100755 +--- a/configure ++++ b/configure +@@ -4494,6 +4494,21 @@ if test "$fortify_source" != "no"; then + fi + + ########################################## ++# check if struct fsxattr is available via linux/fs.h ++ ++have_fsxattr=no ++cat > $TMPC << EOF ++#include <linux/fs.h> ++struct fsxattr foo; ++int main(void) { ++ return 0; ++} ++EOF ++if compile_prog "" "" ; then ++ have_fsxattr=yes ++fi ++ ++########################################## + # End of CC checks + # After here, no more $cc or $ld runs + +@@ -5160,6 +5175,14 @@ fi + if test "$have_ifaddrs_h" = "yes" ; then + echo "HAVE_IFADDRS_H=y" >> $config_host_mak + fi ++ ++# Work around a system header bug with some kernel/XFS header ++# versions where they both try to define 'struct fsxattr': ++# xfs headers will not try to redefine structs from linux headers ++# if this macro is set. ++if test "$have_fsxattr" = "yes" ; then ++ echo "HAVE_FSXATTR=y" >> $config_host_mak ++fi + if test "$vte" = "yes" ; then + echo "CONFIG_VTE=y" >> $config_host_mak + echo "VTE_CFLAGS=$vte_cflags" >> $config_host_mak +-- +2.8.2 + diff --git a/app-emulation/qemu/qemu-2.5.1.ebuild b/app-emulation/qemu/qemu-2.5.1.ebuild index 27d1c30952ea..ae5fa97bd6a3 100644 --- a/app-emulation/qemu/qemu-2.5.1.ebuild +++ b/app-emulation/qemu/qemu-2.5.1.ebuild @@ -343,6 +343,7 @@ src_prepare() { epatch "${FILESDIR}"/${PN}-2.5.1-CVE-2016-4020.patch #580040 epatch "${FILESDIR}"/${PN}-2.5.1-CVE-2015-8558.patch #568246 #580426 epatch "${FILESDIR}"/${PN}-2.5.0-sysmacros.patch + epatch "${FILESDIR}"/${PN}-2.5.1-xfs-linux-headers.patch #577810 # Fix ld and objcopy being called directly tc-export AR LD OBJCOPY |