diff mbox series

[XEN] tools: Fix configure of upstream QEMU

Message ID 20200923110323.1980725-1-anthony.perard@citrix.com (mailing list archive)
State New, archived
Headers show
Series [XEN] tools: Fix configure of upstream QEMU | expand

Commit Message

Anthony PERARD Sept. 23, 2020, 11:03 a.m. UTC
QEMU as recently switch its build system to use meson and the
./configure step with meson is more restrictive that the step used to
be, most installation path wants to be within prefix, otherwise we
have this error message:

    ERROR: The value of the 'datadir' option is '/usr/share/qemu-xen' which must be a subdir of the prefix '/usr/lib/xen'.

In order to workaround the limitation, we will set prefix to the same
one as for the rest of Xen installation, and set all the other paths.

For reference, a thread in qemu-devel:
    "configure with datadir outside of --prefix fails with meson"
    https://lore.kernel.org/qemu-devel/20200918133012.GH2024@perard.uk.xensource.com/t/

And an issue in meson:
    "artificial limitation of directories (forced to be in prefix)"
    https://github.com/mesonbuild/meson/issues/2561

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>

---

I've tested the change with an oldish QEMU, qemu-xen-4.12, and the
layout of the tarball generated by osstest doesn't change.
---
 tools/Makefile | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

Comments

Paul Durrant Sept. 23, 2020, 1:06 p.m. UTC | #1
> -----Original Message-----
> From: Anthony PERARD <anthony.perard@citrix.com>
> Sent: 23 September 2020 12:03
> To: xen-devel@lists.xenproject.org
> Cc: Paul Durrant <paul@xen.org>; Anthony PERARD <anthony.perard@citrix.com>; Ian Jackson
> <iwj@xenproject.org>; Wei Liu <wl@xen.org>
> Subject: [XEN PATCH] tools: Fix configure of upstream QEMU
> 
> QEMU as recently switch its build system to use meson and the
> ./configure step with meson is more restrictive that the step used to
> be, most installation path wants to be within prefix, otherwise we
> have this error message:
> 
>     ERROR: The value of the 'datadir' option is '/usr/share/qemu-xen' which must be a subdir of the
> prefix '/usr/lib/xen'.
> 
> In order to workaround the limitation, we will set prefix to the same
> one as for the rest of Xen installation, and set all the other paths.
> 
> For reference, a thread in qemu-devel:
>     "configure with datadir outside of --prefix fails with meson"
>     https://lore.kernel.org/qemu-devel/20200918133012.GH2024@perard.uk.xensource.com/t/
> 
> And an issue in meson:
>     "artificial limitation of directories (forced to be in prefix)"
>     https://github.com/mesonbuild/meson/issues/2561
> 
> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
> 

Tested-by: Paul Durrant <paul@xen.org>
Wei Liu Sept. 30, 2020, 3:09 p.m. UTC | #2
On Wed, Sep 23, 2020 at 12:03:23PM +0100, Anthony PERARD wrote:
> QEMU as recently switch its build system to use meson and the
> ./configure step with meson is more restrictive that the step used to
> be, most installation path wants to be within prefix, otherwise we
> have this error message:
> 
>     ERROR: The value of the 'datadir' option is '/usr/share/qemu-xen' which must be a subdir of the prefix '/usr/lib/xen'.
> 
> In order to workaround the limitation, we will set prefix to the same
> one as for the rest of Xen installation, and set all the other paths.
> 
> For reference, a thread in qemu-devel:
>     "configure with datadir outside of --prefix fails with meson"
>     https://lore.kernel.org/qemu-devel/20200918133012.GH2024@perard.uk.xensource.com/t/
> 
> And an issue in meson:
>     "artificial limitation of directories (forced to be in prefix)"
>     https://github.com/mesonbuild/meson/issues/2561
> 
> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
> ---
> 
> I've tested the change with an oldish QEMU, qemu-xen-4.12, and the
> layout of the tarball generated by osstest doesn't change.

Acked-by: Wei Liu <wl@xen.org>
diff mbox series

Patch

diff --git a/tools/Makefile b/tools/Makefile
index 198b239edcc1..ff21f1125f66 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -238,7 +238,7 @@  subdir-all-qemu-xen-dir: qemu-xen-dir-find
 	$$source/configure --enable-xen --target-list=i386-softmmu \
 		$(QEMU_XEN_ENABLE_DEBUG) \
 		$$enable_trace_backend \
-		--prefix=$(LIBEXEC) \
+		--prefix=$(prefix) \
 		--libdir=$(LIBEXEC_LIB) \
 		--includedir=$(LIBEXEC_INC) \
 		--extra-cflags="-DXC_WANT_COMPAT_EVTCHN_API=1 \
@@ -274,6 +274,10 @@  subdir-all-qemu-xen-dir: qemu-xen-dir-find
 		--bindir=$(LIBEXEC_BIN) \
 		--datadir=$(SHAREDIR)/qemu-xen \
 		--localstatedir=$(localstatedir) \
+		--docdir=$(LIBEXEC)/share/doc \
+		--mandir=$(LIBEXEC)/share/man \
+		--libexecdir=$(LIBEXEC)/libexec \
+		--firmwarepath=$(LIBEXEC)/share/qemu-firmware \
 		--disable-kvm \
 		--disable-docs \
 		--disable-guest-agent \