diff --git a/package/qemu/0002-configure-improve-usbfs-check.patch b/package/qemu/0002-configure-improve-usbfs-check.patch new file mode 100644 index 0000000000..d693b5d7ef --- /dev/null +++ b/package/qemu/0002-configure-improve-usbfs-check.patch @@ -0,0 +1,60 @@ +From 9672cccd64c446369b5649fe23d575917638be46 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Tue, 5 Feb 2019 15:07:43 +0100 +Subject: [PATCH] configure: improve usbfs check + +The current check to test if usbfs support should be compiled or not +solely relies on the presence of , without +actually checking that all definition used by Qemu are provided by +this header file. + +With sufficiently old kernel headers, may be +present, but some of the definitions needed by Qemu may not be +available. + +This commit improves the check by building a small program that +actually tests whether the necessary definitions are available. + +In addition, it fixes a bug where have_usbfs was set to "yes" +regardless of the result of the test. + +Signed-off-by: Thomas Petazzoni +--- + configure | 19 +++++++++++++++++-- + 1 file changed, 17 insertions(+), 2 deletions(-) + +diff --git a/configure b/configure +index 3d89870d99..799c8e3b08 100755 +--- a/configure ++++ b/configure +@@ -4266,10 +4266,25 @@ fi + # check for usbfs + have_usbfs=no + if test "$linux_user" = "yes"; then +- if check_include linux/usbdevice_fs.h; then ++ cat > $TMPC << EOF ++#include ++ ++#ifndef USBDEVFS_GET_CAPABILITIES ++#error "USBDEVFS_GET_CAPABILITIES undefined" ++#endif ++ ++#ifndef USBDEVFS_DISCONNECT_CLAIM ++#error "USBDEVFS_DISCONNECT_CLAIM undefined" ++#endif ++ ++int main(void) ++{ ++ return 0; ++} ++EOF ++ if compile_prog "" ""; then + have_usbfs=yes + fi +- have_usbfs=yes + fi + + # check for fallocate +-- +2.20.1 +