[Pkg-xen-devel] Build fixes for pkg-xen svn

Ian Campbell ijc at hellion.org.uk
Fri Aug 16 07:51:02 UTC 2013


Hi Bastian,

I had a couple of build failures trying to build the current pkg-xen SVN
tree. The following made it work for me...

Cheers,
Ian.

commit e9a08d8d5afa92da73ab09b3ed53dc9f1f084381
Author: Ian Campbell <ijc at hellion.org.uk>
Date:   Thu Aug 15 17:14:56 2013 +0100

    * debian/patches/series: Add new patch
    * debian/patches/qemu-without-blktap1.patch: Backport upstream patch to build
      qemu-traditional without blktap1, slightly modified to force this behaviour
      without backporting all the autoconf bits.
    * debian/patches/tools-disable.diff: Don't try and download qemu-xen.git tree.
      We get this from the system.

diff --git a/xen/debian/patches/qemu-without-blktap1.patch b/xen/debian/patches/qemu-without-blktap1.patch
new file mode 100644
index 0000000..9a3526f
--- /dev/null
+++ b/xen/debian/patches/qemu-without-blktap1.patch
@@ -0,0 +1,83 @@
+From 84411871262363200e70fa087d7b21647091a450 Mon Sep 17 00:00:00 2001
+From: Ian Campbell <ian.campbell at citrix.com>
+Date: Wed, 31 Jul 2013 16:16:16 +0100
+Subject: [PATCH] qemu-xen-traditional: allow build without blktap1
+
+I intend this to become optional at the xen build level so it needs to become
+optional here. Until the matching Xen patch is applied and exports
+CONFIG_BLKTAP1=y|n there should be no change.
+
+Signed-off-by: Ian Campbell <ian.campbell at citrix.com>
+Acked-by: Ian Jackson <ian.jackson at eu.citrix.com>
+---
+ hw/xen_machine_pv.c | 4 ++--
+ xen-config-host.h   | 2 +-
+ xen-hooks.mak       | 4 +++-
+ 3 files changed, 6 insertions(+), 4 deletions(-)
+
+Index: xen/qemu/hw/xen_machine_pv.c
+===================================================================
+--- xen.orig/qemu/hw/xen_machine_pv.c	2013-08-15 17:08:41.342047187 +0100
++++ xen/qemu/hw/xen_machine_pv.c	2013-08-15 17:08:41.334047168 +0100
+@@ -29,7 +29,7 @@
+ #include "xen_backend.h"
+ #include "qemu-xen.h"
+ 
+-#ifndef CONFIG_STUBDOM
++#if defined(CONFIG_BLKTAP1) && !defined(CONFIG_STUBDOM)
+ #include <hw/xen_blktap.h>
+ #endif
+ 
+@@ -47,7 +47,7 @@
+     CPUState *env;
+     uint32_t domid_target;
+ 
+-#if !defined(CONFIG_STUBDOM) && !defined(__NetBSD__)
++#if defined(CONFIG_BLKTAP1) && !defined(CONFIG_STUBDOM) && !defined(__NetBSD__)
+     /* Initialize tapdisk client */
+     init_blktap();
+ #endif
+Index: xen/qemu/xen-config-host.h
+===================================================================
+--- xen.orig/qemu/xen-config-host.h	2013-08-15 17:08:41.342047187 +0100
++++ xen/qemu/xen-config-host.h	2013-08-15 17:08:41.338047177 +0100
+@@ -18,7 +18,7 @@
+ 
+ #include "xenctrl.h"
+ #include "xenstore.h"
+-#if !defined(CONFIG_STUBDOM) && !defined(__NetBSD__)
++#if defined(CONFIG_BLKTAP1) && !defined(CONFIG_STUBDOM) && !defined(__NetBSD__)
+ #include "blktaplib.h"
+ #endif
+ 
+Index: xen/qemu/xen-hooks.mak
+===================================================================
+--- xen.orig/qemu/xen-hooks.mak	2013-08-15 17:08:41.342047187 +0100
++++ xen/qemu/xen-hooks.mak	2013-08-15 17:08:41.338047177 +0100
+@@ -47,9 +47,11 @@
+ OBJS += xenfbfront.o
+ else
+ ifndef CONFIG_NetBSD
+-CPPFLAGS+= -I$(XEN_ROOT)/tools/blktap/lib
++ifneq ($(CONFIG_BLKTAP1),n)
++CPPFLAGS+= -DCONFIG_BLKTAP1 -I$(XEN_ROOT)/tools/blktap/lib
+ LIBS += -L$(XEN_ROOT)/tools/blktap/lib -lblktap
+ OBJS += xen_blktap.o
++endif
+ OBJS += tpm_tis.o
+ endif
+ endif
+Index: xen/config/Tools.mk.in
+===================================================================
+--- xen.orig/config/Tools.mk.in	2013-08-15 17:08:41.342047187 +0100
++++ xen/config/Tools.mk.in	2013-08-15 17:08:41.338047177 +0100
+@@ -56,6 +56,9 @@
+ CONFIG_ROMBIOS      := @rombios@
+ CONFIG_SEABIOS      := @seabios@
+ 
++# Ensure qemu doesn't try and use blktap1 which we have disabled.
++CONFIG_BLKTAP1      := n
++
+ #System options
+ CONFIG_SYSTEM_LIBAIO:= @system_aio@
+ ZLIB                := @zlib@
diff --git a/xen/debian/patches/series b/xen/debian/patches/series
index 6af353f..8979e81 100644
--- a/xen/debian/patches/series
+++ b/xen/debian/patches/series
@@ -54,3 +54,6 @@ tools-python-shebang.diff
 
 tools-ocaml-fix-build.diff
 tools-xenstore-compatibility.diff
+
+qemu-without-blktap1.patch
+
diff --git a/xen/debian/patches/tools-disable.diff b/xen/debian/patches/tools-disable.diff
index f70d331..fbb89df 100644
--- a/xen/debian/patches/tools-disable.diff
+++ b/xen/debian/patches/tools-disable.diff
@@ -1,5 +1,7 @@
---- a/tools/Makefile
-+++ b/tools/Makefile
+Index: xen/tools/Makefile
+===================================================================
+--- xen.orig/tools/Makefile	2013-08-15 16:34:03.008676061 +0100
++++ xen/tools/Makefile	2013-08-15 17:06:07.117678328 +0100
 @@ -1,10 +1,6 @@
  XEN_ROOT = $(CURDIR)/..
  include $(XEN_ROOT)/tools/Rules.mk
@@ -26,21 +28,22 @@
  SUBDIRS-$(CONFIG_NetBSD) += xenbackendd
  SUBDIRS-y += libfsimage
  SUBDIRS-$(LIBXENAPI_BINDINGS) += libxen
-@@ -34,9 +23,12 @@
+@@ -34,8 +23,10 @@
  
  # do not recurse in to a dir we are about to delete
  ifneq "$(MAKECMDGOALS)" "distclean"
 +CONFIG_QEMU = $(CURDIR)/../qemu
 +ifneq ($(wildcard $(CONFIG_QEMU)),)
  SUBDIRS-$(CONFIG_IOEMU) += qemu-xen-traditional-dir
- SUBDIRS-$(CONFIG_IOEMU) += qemu-xen-dir
- endif
+-SUBDIRS-$(CONFIG_IOEMU) += qemu-xen-dir
 +endif
+ endif
  
  SUBDIRS-y += xenpmd
- SUBDIRS-y += libxl
---- a/tools/Rules.mk
-+++ b/tools/Rules.mk
+Index: xen/tools/Rules.mk
+===================================================================
+--- xen.orig/tools/Rules.mk	2013-08-15 16:34:03.008676061 +0100
++++ xen/tools/Rules.mk	2013-08-15 17:05:56.000000000 +0100
 @@ -41,11 +41,7 @@
  LDLIBS_libxenvchan = $(SHLIB_libxenctrl) $(SHLIB_libxenstore) -L$(XEN_LIBVCHAN) -lxenvchan
  SHLIB_libxenvchan  = -Wl,-rpath-link=$(XEN_LIBVCHAN)





More information about the Pkg-xen-devel mailing list