diff --git a/README.md b/README.md index ec88e2c..753d621 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,5 @@ # xen +With Xen virtualization, a thin software layer known as the Xen hypervisor is inserted between the server’s hardware and the operating system. This provides an abstraction layer that allows each physical server to run one or more “virtual servers,” effectively decoupling the operating system and its applications from the underlying physical server. +Once a virtual server image has been created it can run on any server, at any time, and multiple virtual servers can simultaneously share a single server, increasing its utilization while receiving a resource guarantee that ensures that application layer performance criteria are met. + diff --git a/xen-3.1.0-gcc4.patch b/xen-3.1.0-gcc4.patch new file mode 100644 index 0000000..cac7b4a --- /dev/null +++ b/xen-3.1.0-gcc4.patch @@ -0,0 +1,20 @@ +diff -Nru xen-3.1.0-src.orig/tools/libxc/xc_core.c xen-3.1.0-src/tools/libxc/xc_core.c +--- xen-3.1.0-src.orig/tools/libxc/xc_core.c 2007-05-18 16:45:21.000000000 +0200 ++++ xen-3.1.0-src/tools/libxc/xc_core.c 2007-06-22 18:47:13.000000000 +0200 +@@ -192,12 +192,14 @@ + if ( sheaders->num == sheaders->num_max ) + { + Elf64_Shdr *shdrs; +- if ( sheaders->num_max + SHDR_INC < sheaders->num_max ) ++ ++ sheaders->num_max += SHDR_INC; ++ if ( sheaders->num_max < SHDR_INC ) + { + errno = E2BIG; + return NULL; + } +- sheaders->num_max += SHDR_INC; ++ + shdrs = realloc(sheaders->shdrs, + sizeof(sheaders->shdrs[0]) * sheaders->num_max); + if ( shdrs == NULL ) diff --git a/xen-4.1.2-gcc-4.8-2.patch b/xen-4.1.2-gcc-4.8-2.patch new file mode 100644 index 0000000..8b42b80 --- /dev/null +++ b/xen-4.1.2-gcc-4.8-2.patch @@ -0,0 +1,33 @@ +--- xen-4.1.2/tools/libxc/xc_dom_boot.c.orig 2013-05-29 17:56:31.336771949 +0200 ++++ xen-4.1.2/tools/libxc/xc_dom_boot.c 2013-05-29 17:54:38.353087947 +0200 +@@ -265,7 +265,7 @@ + return rc; + + /* let the vm run */ +- memset(ctxt, 0, sizeof(ctxt)); ++ memset(ctxt, 0, sizeof(*ctxt)); + if ( (rc = dom->arch_hooks->vcpu(dom, ctxt)) != 0 ) + return rc; + xc_dom_unmap_all(dom); +--- xen-4.1.2/tools/blktap2/drivers/md5.c.orig 2013-05-29 18:12:16.545606480 +0200 ++++ xen-4.1.2/tools/blktap2/drivers/md5.c 2013-05-29 18:11:29.410164715 +0200 +@@ -174,7 +174,7 @@ + MD5Transform(ctx->buf, (uint32_t *) ctx->in); + byteReverse((unsigned char *) ctx->buf, 4); + memcpy(digest, ctx->buf, 16); +- memset(ctx, 0, sizeof(ctx)); /* In case it's sensitive */ ++ memset(ctx, 0, sizeof(*ctx)); /* In case it's sensitive */ + } + + /* The four core functions - F1 is optimized somewhat */ +--- xen-4.1.2/tools/xenstat/libxenstat/src/xenstat_linux.c.orig 2013-05-29 18:13:04.107043178 +0200 ++++ xen-4.1.2/tools/xenstat/libxenstat/src/xenstat_linux.c 2013-05-29 18:07:34.835942468 +0200 +@@ -113,7 +113,7 @@ + + /* Initialize all variables called has passed as non-NULL to zeros */ + if (iface != NULL) +- memset(iface, 0, sizeof(iface)); ++ memset(iface, 0, sizeof(*iface)); + if (rxBytes != NULL) + *rxBytes = 0; + if (rxPackets != NULL) diff --git a/xen-4.1.2-gcc-4.8.patch b/xen-4.1.2-gcc-4.8.patch new file mode 100644 index 0000000..fdb0c71 --- /dev/null +++ b/xen-4.1.2-gcc-4.8.patch @@ -0,0 +1,31 @@ +gcc 4.8 gives the following error when building xen/common/compat/memory.c + +memory.c: In function 'compat_memory_op': +/builddir/build/BUILD/xen-4.2.1/xen/include/public/arch-x86/xen.h:35:33: error: typedef '__guest_handle_const_compat_memory_exchange_t' locally defined but not used [-Werror=unused-local-typedefs] + typedef struct { type *p; } __guest_handle_ ## name + ^ +/builddir/build/BUILD/xen-4.2.1/xen/include/public/arch-x86/xen.h:43:5: note: in expansion of macro '___DEFINE_XEN_GUEST_HANDLE' + ___DEFINE_XEN_GUEST_HANDLE(const_##name, const type) + ^ +/builddir/build/BUILD/xen-4.2.1/xen/include/public/arch-x86/xen.h:44:41: note: in expansion of macro '__DEFINE_XEN_GUEST_HANDLE' + #define DEFINE_XEN_GUEST_HANDLE(name) __DEFINE_XEN_GUEST_HANDLE(name, name) + ^ +memory.c:261:13: note: in expansion of macro 'DEFINE_XEN_GUEST_HANDLE' + DEFINE_XEN_GUEST_HANDLE(compat_memory_exchange_t); + ^ + +The error is harmless in this case so turn the check off. + +Signed-off-by: Michael Young + +--- xen-4.2.1/Config.mk.orig 2013-02-07 21:11:51.603970255 +0000 ++++ xen-4.2.1/Config.mk 2013-02-07 21:51:44.992048787 +0000 +@@ -156,7 +156,7 @@ + + CFLAGS += -std=gnu99 + +-CFLAGS += -Wall -Wstrict-prototypes ++CFLAGS += -Wall -Wstrict-prototypes -Wno-unused-local-typedefs + + # Clang complains about macros that expand to 'if ( ( foo == bar ) ) ...' + # and is over-zealous with the printf format lint diff --git a/xen-4.2.2-gcc-4.7.patch b/xen-4.2.2-gcc-4.7.patch new file mode 100644 index 0000000..12148da --- /dev/null +++ b/xen-4.2.2-gcc-4.7.patch @@ -0,0 +1,30 @@ +# HG changeset patch +# User Olaf Hering +# Date 1354786108 -3600 +# Node ID 5dab922f04f4790b70d43d062114bddcc1bb7de6 +# Parent 670b07e8d7382229639af0d1df30071e6c1ebb19 +tools/gdbsx: fix build failure with glibc-2.17 + +[ 1029s] xg_main.c: In function '_domctl_hcall': +[ 1029s] xg_main.c:181:52: error: 'ulong' undeclared (first use in this +function) +[ 1029s] xg_main.c:181:52: note: each undeclared identifier is reported only +once for each function it appears in +[ 1029s] xg_main.c: In function '_check_hyp': +[ 1029s] xg_main.c:221:52: error: 'ulong' undeclared (first use in this +function) +[ 1029s] make[4]: *** [xg_main.o] Error 1 + +Signed-off-by: Olaf Hering + +diff -r 670b07e8d738 -r 5dab922f04f4 tools/debugger/gdbsx/xg/xg_main.c +--- a/tools/debugger/gdbsx/xg/xg_main.c ++++ b/tools/debugger/gdbsx/xg/xg_main.c +@@ -34,6 +34,7 @@ + * XGTRC(): generic trace utility + */ + ++#include + #include + #include + #include diff --git a/xen-4.2.2-qemu-configure.patch b/xen-4.2.2-qemu-configure.patch new file mode 100644 index 0000000..08f46e4 --- /dev/null +++ b/xen-4.2.2-qemu-configure.patch @@ -0,0 +1,32 @@ +diff --git xen-4.2.2/tools/qemu-xen/configure xen-4.2.2/tools/qemu-xen/configure +index 24778bf..947fa3f 100755 +--- xen-4.2.2/tools/qemu-xen/configure.orig 2013-04-06 01:39:54.000000000 +0200 ++++ xen-4.2.2/tools/qemu-xen/configure 2013-05-30 01:37:45.490314092 +0200 +@@ -2463,11 +2463,14 @@ + cat > $TMPC < + #include +-int main(void) { clockid_t id; return clock_gettime(id, NULL); } ++int main(void) { ++ timer_t timer; struct itimerspec timeout; timer_settime(timer, 0, &timeout, NULL); ++ clockid_t id; return clock_gettime(id, NULL); ++} + EOF + + if compile_prog "" "" ; then +- : ++ LIBS="-lrt $LIBS" + elif compile_prog "" "-lrt" ; then + LIBS="-lrt $LIBS" + fi +--- xen-4.2.2/tools/qemu-xen-traditional/configure.orig 2013-05-30 01:57:46.182064602 +0200 ++++ xen-4.2.2/tools/qemu-xen-traditional/configure 2013-05-30 01:58:20.425657638 +0200 +@@ -1102,7 +1102,7 @@ + + rt=no + if $cc $ARCH_CFLAGS -o $TMPE $TMPC > /dev/null 2> /dev/null ; then +- : ++ rt=yes + elif $cc $ARCH_CFLAGS -o $TMPE $TMPC -lrt > /dev/null 2> /dev/null ; then + rt=yes + fi diff --git a/xen-4.2.2-qemu-remove-CFLAGS.patch b/xen-4.2.2-qemu-remove-CFLAGS.patch new file mode 100644 index 0000000..059726d --- /dev/null +++ b/xen-4.2.2-qemu-remove-CFLAGS.patch @@ -0,0 +1,10 @@ +--- xen-4.2.2/tools/Makefile.orig 2013-05-30 03:04:27.029917107 +0200 ++++ xen-4.2.2/tools/Makefile 2013-05-30 03:04:53.093610079 +0200 +@@ -187,6 +187,7 @@ + source=.; \ + fi; \ + cd qemu-xen-dir; \ ++ env -u CFLAGS \ + $$source/configure --enable-xen --target-list=i386-softmmu \ + --source-path=$$source \ + --extra-cflags="-I$(XEN_ROOT)/tools/include \ diff --git a/xen-4.2.2-qemu-texinfo-5.patch b/xen-4.2.2-qemu-texinfo-5.patch new file mode 100644 index 0000000..04a1228 --- /dev/null +++ b/xen-4.2.2-qemu-texinfo-5.patch @@ -0,0 +1,28 @@ +--- xen-4.2.2/tools/qemu-xen/qemu-options.hx.orig 2013-05-08 15:18:06.824805369 +0200 ++++ xen-4.2.2/tools/qemu-xen/qemu-options.hx 2013-05-08 15:19:01.540111255 +0200 +@@ -1518,18 +1518,13 @@ + devices. + + Syntax for specifying a sheepdog device +-@table @list +-``sheepdog:'' +- +-``sheepdog::'' +- +-``sheepdog::'' +- +-``sheepdog:::'' +- +-``sheepdog::::'' +- +-``sheepdog::::'' ++@table @code ++@item sheepdog: ++@item sheepdog:: ++@item sheepdog:: ++@item sheepdog::: ++@item sheepdog:::: ++@item sheepdog:::: + @end table + + Example diff --git a/xen-grub-conf-07_xen b/xen-grub-conf-07_xen new file mode 100644 index 0000000..667e3d0 --- /dev/null +++ b/xen-grub-conf-07_xen @@ -0,0 +1,104 @@ +#! /bin/sh -e + +# grub-mkconfig helper script for Xen hypervisor. +# +# Copyright (C) 2006,2007,2008,2009 Free Software Foundation, Inc. +# +# GRUB is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# GRUB is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GRUB. If not, see . + +prefix=/usr +exec_prefix=/usr +libdir=/usr/lib +. ${libdir}/grub/grub-mkconfig_lib + +if [ "x${GRUB_DISTRIBUTOR}" = "x" ] ; then + OS=GNU/Linux +else + OS="${GRUB_DISTRIBUTOR} GNU/Linux" +fi + +# loop-AES arranges things so that /dev/loop/X can be our root device, but +# the initrds that Linux uses don't like that. +case ${GRUB_DEVICE} in + /dev/loop/*|/dev/loop[0-9]) + GRUB_DEVICE=`losetup ${GRUB_DEVICE} | sed -e "s/^[^(]*(\([^)]\+\)).*/\1/"` + ;; +esac + +if [ "x${GRUB_DEVICE_UUID}" = "x" ] || [ "x${GRUB_DISABLE_LINUX_UUID}" = "xtrue" ] \ + || ! test -e "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" ; then + LINUX_ROOT_DEVICE=${GRUB_DEVICE} +else + LINUX_ROOT_DEVICE=UUID=${GRUB_DEVICE_UUID} +fi + +xen_entry () +{ + cat << EOF +menuentry "$1" { +EOF + prepare_grub_to_access_device ${GRUB_DEVICE_BOOT} | sed -e "s/^/\t/" + cat << EOF + multiboot /boot/xen.gz + module ${rel_dirname}/${basename} -- root=${linux_root_device_thisversion} ro $2 +EOF + if test -n "${initrd}" ; then + cat << EOF + module ${rel_dirname}/${initrd} +EOF + fi + cat << EOF +} +EOF +} + +list=`for i in /boot/vmlinu[xz]-*-xen* /vmlinu[xz]-*-xen* ; do + if grub_file_is_not_garbage "$i" ; then echo -n "$i " ; fi + done` + +while [ "x$list" != "x" ] ; do + linux=`version_find_latest $list` + echo "Found linux xen image: $linux" >&2 + basename=`basename $linux` + dirname=`dirname $linux` + rel_dirname=`make_system_path_relative_to_its_root $dirname` + version=`echo $basename | sed -e "s,^[^0-9]*-,,g"` + alt_version=`echo $version | sed -e "s,\.old$,,g"` + linux_root_device_thisversion="${LINUX_ROOT_DEVICE}" + + initrd= + for i in "initramfs.img-${version}" "initramfs-${version}.img" \ + "initramfs-${version}" "initramfs.img-${alt_version}" \ + "initramfs-${alt_version}.img" "initramfs-${alt_version}"; do + if test -e "${dirname}/${i}" ; then + initrd="$i" + break + fi + done + if test -n "${initrd}" ; then + echo "Found initrd image: ${dirname}/${initrd}" >&2 + else + # "UUID=" magic is parsed by initrds. Since there's no initrd, it can't work here. + linux_root_device_thisversion=${GRUB_DEVICE} + fi + + xen_entry "${OS}, Xen hypervisor with Linux ${version}" \ + "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}" + if [ "x${GRUB_DISABLE_LINUX_RECOVERY}" != "xtrue" ]; then + xen_entry "${OS}, with Linux ${version} (recovery mode)" \ + "single ${GRUB_CMDLINE_LINUX}" + fi + + list=`echo $list | tr ' ' '\n' | grep -vx $linux | tr '\n' ' '` +done diff --git a/xen.spec b/xen.spec new file mode 100644 index 0000000..7ed5653 --- /dev/null +++ b/xen.spec @@ -0,0 +1,373 @@ +%define bigver %(echo %version | cut -d. -f1) +%define majver %(echo %version | cut -d. -f1-2) +Name: xen +Version: 4.2.2 +Release: 1mamba +Summary: An high performing server virtualization software +Group: Applications/Emulators +Vendor: openmamba +Distribution: openmamba +Packager: Silvan Calarco +URL: http://www.xen.org +Source: http://bits.xensource.com/oss-xen/release/%{version}/xen-%{version}.tar.gz +Source1: xen-grub-conf-07_xen +Patch0: %{name}-3.1.0-gcc4.patch +Patch1: xen-4.1.2-gcc-4.8.patch +Patch2: xen-4.1.2-gcc-4.8-2.patch +Patch3: xen-4.2.2-qemu-texinfo-5.patch +Patch4: xen-4.2.2-qemu-configure.patch +Patch5: xen-4.2.2-gcc-4.7.patch +Patch6: xen-4.2.2-qemu-remove-CFLAGS.patch +License: GPL +## AUTOBUILDREQ-BEGIN +BuildRequires: glibc-devel +BuildRequires: libaio-devel +BuildRequires: libbluetooth-devel +BuildRequires: libbzip2-devel +BuildRequires: libcheck-devel +BuildRequires: libcurl-devel +BuildRequires: libe2fs-devel +BuildRequires: libGL-devel +BuildRequires: libglib-devel +BuildRequires: libgnutls-devel +BuildRequires: libjpeg-devel +BuildRequires: liblzma-devel +BuildRequires: liblzo-devel +BuildRequires: libncurses-devel +BuildRequires: libnspr-devel +BuildRequires: libnss-devel +BuildRequires: libopenssl-devel +BuildRequires: libpci-devel +BuildRequires: libpng-devel +BuildRequires: libpython27-devel +BuildRequires: libpython-devel +BuildRequires: libsasl-devel +BuildRequires: libSDL-devel +BuildRequires: libuuid-devel +BuildRequires: libX11-devel +BuildRequires: libXext-devel +BuildRequires: libyajl-devel +BuildRequires: libz-devel +## AUTOBUILDREQ-END +BuildRequires: ocaml-findlib +Requires: bridge-utils +Requires: python +Requires: libxen = %{version}-%{release} +BuildRoot: %{_tmppath}/%{name}-%{version}-root + +%description +With Xen virtualization, a thin software layer known as the Xen hypervisor is inserted between the server’s hardware and the operating system. This provides an abstraction layer that allows each physical server to run one or more “virtual servers,” effectively decoupling the operating system and its applications from the underlying physical server. +Once a virtual server image has been created it can run on any server, at any time, and multiple virtual servers can simultaneously share a single server, increasing its utilization while receiving a resource guarantee that ensures that application layer performance criteria are met. + +%package -n libxen +Summary: Libraries used by Xen +Group: System/Libraries + +%description -n libxen +With Xen virtualization, a thin software layer known as the Xen hypervisor is inserted between the server’s hardware and the operating system. This provides an abstraction layer that allows each physical server to run one or more “virtual servers,” effectively decoupling the operating system and its applications from the underlying physical server. +Once a virtual server image has been created it can run on any server, at any time, and multiple virtual servers can simultaneously share a single server, increasing its utilization while receiving a resource guarantee that ensures that application layer performance criteria are met. +This package contains the dynamic libraries used by Xen. + +%package -n libxen-devel +Summary: Static libraries and header files for Xen +Requires: libxen = %{version}-%{release} +Group: Development/Libraries +Provides: xen-devel +Obsoletes: xen-devel + +%description -n libxen-devel +With Xen virtualization, a thin software layer known as the Xen hypervisor is inserted between the server’s hardware and the operating system. This provides an abstraction layer that allows each physical server to run one or more “virtual servers,” effectively decoupling the operating system and its applications from the underlying physical server. +Once a virtual server image has been created it can run on any server, at any time, and multiple virtual servers can simultaneously share a single server, increasing its utilization while receiving a resource guarantee that ensures that application layer performance criteria are met. +This is the development package. + +%package -n python-xen +Summary: Python bindings for Xen +Group: System/Libraries + +%description -n python-xen +With Xen virtualization, a thin software layer known as the Xen hypervisor is inserted between the server’s hardware and the operating system. This provides an abstraction layer that allows each physical server to run one or more “virtual servers,” effectively decoupling the operating system and its applications from the underlying physical server. +Once a virtual server image has been created it can run on any server, at any time, and multiple virtual servers can simultaneously share a single server, increasing its utilization while receiving a resource guarantee that ensures that application layer performance criteria are met. +This package contains the python bindings. + +%prep +%setup -q +#-D -T +#:<< _EOF +%patch1 -p1 +#%patch2 -p1 +%patch3 -p1 +%patch4 -p1 +%patch5 -p1 +%patch6 -p1 + +%build +ld -v | grep gold && { + echo "ERROR: gold linker detected, this package requires standard ld; aborting." + exit 1 +} + +%ifarch x86_64 + %make xen +%else + XEN_TARGET_ARCH=x86_64 make %{_smp_mflags} CROSS_COMPILE=x86_64-openmamba-linux-gnu- xen +%endif + +%configure \ + --disable-ocamltools + +%make tools docs -j1 + +%install +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" +%if "%{_target_cpu}" == "i586" + XEN_TARGET_ARCH=x86_64 make CROSS_COMPILE=x86_64-openmamba-linux-gnu- install-xen DESTDIR=%{buildroot} +%else + make install-xen DESTDIR=%{buildroot} +%endif +make install-tools install-docs DESTDIR=%{buildroot} +install -D -m0755 %{SOURCE1} %{buildroot}%{_sysconfdir}/grub.d/07_xen + +# enable xend-unix-server for virtual-manager +echo "(xend-unix-server yes)" >> %{buildroot}%{_sysconfdir}/xen/xend-config.sxp + +install -d %{buildroot}%{_sysconfdir}/modules.d/ +cat > %{buildroot}%{_sysconfdir}/modules.d/xen.conf << _EOF +blkbk +netbk +netloop +_EOF + +rm -f %{buildroot}%{_sysconfdir}/udev/xend.rules + +# remove qemu etc, man and doc stuff installed under /usr/local +rm -rf %{buildroot}%{_prefix}/local + +%clean +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" + +%post +%if "%{_target_cpu}" == "i586" + if [ -x /usr/sbin/update-grub ]; then + /usr/sbin/update-grub 2>/dev/null + fi +%endif +: + +%post -n libxen -p /sbin/ldconfig +%postun -n libxen -p /sbin/ldconfig + +%files +%defattr(-,root,root) +%config(noreplace) %{_sysconfdir}/sysconfig/xencommons +%config(noreplace) %{_sysconfdir}/sysconfig/xendomains +%{_sysconfdir}/hotplug/xen-backend.agent +%{_sysconfdir}/bash_completion.d/xl.sh +%{_sysconfdir}/grub.d/07_xen +%{_initrddir}/xen-watchdog +%{_initrddir}/xencommons +%{_initrddir}/xend +%{_initrddir}/xendomains +#%{_sysconfdir}/udev/rules.d/xen-backend.rules +#%{_sysconfdir}/udev/xen-backend.rules +#%{_sysconfdir}/udev/rules.d/xend.rules +%dir %{_sysconfdir}/xen +%{_sysconfdir}/xen/* +%{_sysconfdir}/modules.d/xen.conf +/boot/xen-%{version}.gz +/boot/xen-%{majver}.gz +/boot/xen-%{bigver}.gz +/boot/xen.gz +/boot/xen-syms-%{version} +%{_bindir}/qemu-img-xen +%{_bindir}/qemu-nbd-xen +%{_bindir}/pygrub +%{_bindir}/remus +%{_bindir}/xen-detect +%{_bindir}/xencons +%{_bindir}/xenstore +%{_bindir}/xenstore-chmod +%{_bindir}/xenstore-control +%{_bindir}/xenstore-exists +%{_bindir}/xenstore-list +%{_bindir}/xenstore-ls +%{_bindir}/xenstore-read +%{_bindir}/xenstore-rm +%{_bindir}/xenstore-watch +%{_bindir}/xenstore-write +%{_bindir}/xentrace +%{_bindir}/xentrace_format +%{_bindir}/xentrace_setsize +%{_sbindir}/blktapctrl +%{_sbindir}/flask-getenforce +%{_sbindir}/flask-get-bool +%{_sbindir}/flask-label-pci +%{_sbindir}/flask-set-bool +%{_sbindir}/flask-loadpolicy +%{_sbindir}/flask-setenforce +#%{_sbindir}/fs-backend +%{_sbindir}/gdbsx +%{_sbindir}/gtracestat +%{_sbindir}/gtraceview +%{_sbindir}/img2qcow +%{_sbindir}/kdd +%{_sbindir}/lock-util +#%{_sbindir}/oxenstored +%{_sbindir}/qcow-create +%{_sbindir}/qcow2raw +%{_sbindir}/tap-ctl +%{_sbindir}/tapdisk +%{_sbindir}/tapdisk-client +%{_sbindir}/tapdisk-diff +%{_sbindir}/tapdisk-stream +%{_sbindir}/tapdisk2 +%{_sbindir}/td-util +%{_sbindir}/vhd-update +%{_sbindir}/vhd-util +%{_sbindir}/xen-bugtool +%{_sbindir}/xen-hptool +%{_sbindir}/xen-hvmcrash +%{_sbindir}/xen-hvmctx +%{_sbindir}/xen-lowmemd +%{_sbindir}/xen-tmem-list-parse +%{_sbindir}/xen-python-path +%{_sbindir}/xen-ringwatch +%{_sbindir}/xenbaked +%{_sbindir}/xenconsoled +%{_sbindir}/xend +%{_sbindir}/xenlockprof +%{_sbindir}/xenmon.py +#%{_sbindir}/xenpaging +%{_sbindir}/xenperf +%{_sbindir}/xenpm +%{_sbindir}/xenpmd +%{_sbindir}/xenstored +%{_sbindir}/xentop +%{_sbindir}/xentrace_setmask +%{_sbindir}/xenwatchdogd +%{_sbindir}/xl +%{_sbindir}/xm +%{_sbindir}/xsview +%{_mandir}/man1/*.gz +%{_mandir}/man5/*.gz +%{_mandir}/man8/xentrace.8* +%ifarch x86_64 +%{_prefix}/lib/xen/bin/qemu-dm +%{_prefix}/lib//xen/bin/qemu-ga +%{_prefix}/lib/xen/bin/qemu-img +%{_prefix}/lib/xen/bin/qemu-io +%{_prefix}/lib/xen/bin/qemu-nbd +%{_prefix}/lib/xen/bin/qemu-system-i386 +%{_prefix}/lib/xen/bin/xenpaging +%{_datadir}/xen/man/man1/qemu-img.1 +%{_datadir}/xen/man/man1/qemu.1 +%{_datadir}/xen/man/man8/qemu-nbd.8 +%endif +%{_datadir}/xen/create.dtd +%dir %{_datadir}/xen +%dir %{_datadir}/xen/qemu +%{_datadir}/xen/qemu/* +%dir %{_datadir}/qemu-xen +%{_datadir}/qemu-xen/* +%{_docdir}/xen/* +%doc COPYING README + +%files -n libxen +%defattr(-,root,root) +%{_libdir}/fs/ext2fs-lib/fsimage.so +%{_libdir}/fs/fat/fsimage.so +%{_libdir}/fs/iso9660/fsimage.so +%{_libdir}/fs/reiserfs/fsimage.so +%{_libdir}/fs/ufs/fsimage.so +%{_libdir}/fs/xfs/fsimage.so +%{_libdir}/fs/zfs/fsimage.so +%{_libdir}/libblktap.so.* +%{_libdir}/libblktapctl.so.* +#%{_libdir}/libflask.so.* +%{_libdir}/libfsimage.so.* +%{_libdir}/libvhd.so.* +%{_libdir}/libxenctrl.so.* +%{_libdir}/libxenguest.so.* +%{_libdir}/libxenlight.so.* +%{_libdir}/libxenstat.so.* +%{_libdir}/libxenstore.so.* +%{_libdir}/libxenvchan.so.* +%{_libdir}/libxlutil.so.* +#%{_libdir}/ocaml/site-lib/* +%dir %{_libdir}/xen +%dir %{_libdir}/xen/bin +%{_libdir}/xen/bin/* +%dir %{_prefix}/lib/xen/boot +%{_prefix}/lib/xen/boot/hvmloader + +%files -n libxen-devel +%defattr(-,root,root) +%{_includedir}/* +%{_libdir}/libblktap.a +%{_libdir}/libblktap.so +%{_libdir}/libblktapctl.a +%{_libdir}/libblktapctl.so +#%{_libdir}/libflask.a +#%{_libdir}/libflask.so +%{_libdir}/libfsimage.so +%{_libdir}/libvhd.a +%{_libdir}/libvhd.so +%{_libdir}/libxenctrl.a +%{_libdir}/libxenctrl.so +%{_libdir}/libxenguest.a +%{_libdir}/libxenguest.so +%{_libdir}/libxenlight.a +%{_libdir}/libxenlight.so +%{_libdir}/libxenstat.a +%{_libdir}/libxenstat.so +%{_libdir}/libxenvchan.a +%{_libdir}/libxenvchan.so +%{_libdir}/libxenstore.a +%{_libdir}/libxenstore.so +%{_libdir}/libxlutil.a +%{_libdir}/libxlutil.so + +%files -n python-xen +%defattr(-,root,root) +%dir %{python_sitearch}/xen +%{python_sitearch}/xen/* +%{python_sitearch}/fsimage.so +%{python_sitearch}/grub/* +%{python_sitearch}/pygrub-*.egg-info +%{python_sitearch}/xen-*.egg-info + +%changelog +* Wed May 29 2013 Silvan Calarco 4.2.2-1mamba +- update to 4.2.2 + +* Wed May 29 2013 Silvan Calarco 4.1.2-2mamba +- python 2.7 rebuild + +* Sat Jun 16 2012 Automatic Build System 4.1.2-1mamba +- automatic version update by autodist + +* Thu Jan 13 2011 Silvan Calarco 4.0.1-2mamba +- rebuilt with xz 5.0.0 + +* Thu Sep 02 2010 Automatic Build System 4.0.1-1mamba +- automatic update to 4.0.1 by autodist + +* Tue Jun 22 2010 Silvan Calarco 4.0.0-2mamba +- added libxen and libxen-devel (replacing xen-devel) subpackages +- added pluggable module loading file for blkbk, netbk and netloop +- xend-config.sxp: configure unix-server for virtual-manager + +* Fri Apr 09 2010 Silvan Calarco 4.0.0-1mamba +- update to 4.0.0 +- added configuration file for grub 2 + +* Mon Mar 08 2010 Automatic Build System 3.4.2-1mamba +- automatic update to 3.4.2 by autodist + +* Sat Mar 06 2010 Silvan Calarco 3.4.1-2mamba +- added build of xen hypervisor (x86_64) and docs + +* Fri Mar 05 2010 Silvan Calarco 3.4.1-1mamba +- update to 3.4.1 + +* Fri Jun 22 2007 Silvan Calarco src-1mamba +- package created by autospec