5ae0b92ca4
Update block-npiv - bnc#496033 - Support for creating NPIV ports without starting vm block-npiv-common.sh block-npiv-vport Update block-npiv - bnc#500043 - Fix access to NPIV disk from HVM vm Update xen-qemu-iscsi-fix.patch OBS-URL: https://build.opensuse.org/package/show/Virtualization/xen?expand=0&rev=20
976 lines
32 KiB
RPMSpec
976 lines
32 KiB
RPMSpec
#
|
|
# spec file for package xen (Version 3.4.1_19718_03)
|
|
#
|
|
# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
|
#
|
|
# All modifications and additions to the file contributed by third parties
|
|
# remain the property of their copyright owners, unless otherwise agreed
|
|
# upon. The license for this file, and modifications and additions to the
|
|
# file, is the same license as for the pristine package itself (unless the
|
|
# license for the pristine package is not an Open Source License, in which
|
|
# case the license is the MIT License). An "Open Source License" is a
|
|
# license that conforms to the Open Source Definition (Version 1.9)
|
|
# published by the Open Source Initiative.
|
|
|
|
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
|
#
|
|
|
|
# norootforbuild
|
|
|
|
|
|
Name: xen
|
|
ExclusiveArch: %ix86 x86_64
|
|
%define xvers 3.4
|
|
%define xvermaj 3
|
|
%define changeset 19718
|
|
%define xen_build_dir xen-3.4.1-testing
|
|
%define with_kmp 1
|
|
BuildRequires: LibVNCServer-devel SDL-devel automake bin86 curl-devel dev86 graphviz latex2html libjpeg-devel libxml2-devel ncurses-devel openssl openssl-devel pciutils-devel python-devel texinfo transfig
|
|
%if %suse_version >= 1030
|
|
BuildRequires: texlive texlive-latex
|
|
%else
|
|
BuildRequires: te_ams te_latex tetex
|
|
%endif
|
|
%ifarch x86_64
|
|
BuildRequires: glibc-32bit glibc-devel-32bit
|
|
%endif
|
|
%if %{?with_kmp}0
|
|
BuildRequires: kernel-source kernel-syms module-init-tools xorg-x11
|
|
%endif
|
|
Version: 3.4.1_19718_03
|
|
Release: 1
|
|
License: GPL v2 only
|
|
Group: System/Kernel
|
|
AutoReqProv: on
|
|
PreReq: %insserv_prereq %fillup_prereq
|
|
Summary: Xen Virtualization: Hypervisor (aka VMM aka Microkernel)
|
|
Source0: xen-3.4.1-testing-src.tar.bz2
|
|
Source2: README.SuSE
|
|
Source3: boot.xen
|
|
Source4: boot.local.xenU
|
|
Source5: init.xend
|
|
Source6: init.xendomains
|
|
Source7: logrotate.conf
|
|
Source8: domUloader.py
|
|
Source9: xmexample.domUloader
|
|
Source10: xmexample.disks
|
|
Source11: block-nbd
|
|
Source12: block-iscsi
|
|
Source13: block-npiv-common.sh
|
|
Source14: block-npiv
|
|
Source15: block-npiv-vport
|
|
Source16: xmclone.sh
|
|
Source17: xend-relocation.sh
|
|
Source18: init.xen_loop
|
|
%if %{?with_kmp}0
|
|
Source19: xen_pvdrivers
|
|
Source20: kmp_filelist
|
|
%endif
|
|
# Xen API remote authentication sources
|
|
Source23: etc_pam.d_xen-api
|
|
Source24: xenapiusers
|
|
# sysconfig hook script for Xen
|
|
Source25: xen-updown.sh
|
|
# Upstream patches
|
|
Patch0: 19614-x86-emul-lldt-ltr.patch
|
|
Patch1: 20013-xend-memleak.patch
|
|
Patch2: 20031-x86-pmode-load-seg-retry.patch
|
|
Patch3: 20035-x86-load-sreg-adjust.patch
|
|
Patch4: 20059-vmx-nmi-handling.patch
|
|
Patch5: 20077-x86-runstate-cswitch-out.patch
|
|
Patch6: 20078-x86_64-branch-emulation.patch
|
|
Patch7: 20101-hvm-no-compat-virt-start.patch
|
|
Patch8: 20112-x86-dom0-boot-run-timers.patch
|
|
Patch9: 20125-xc-parse-tuple-fix.patch
|
|
# Our patches
|
|
Patch100: xen-config.diff
|
|
Patch101: xend-config.diff
|
|
Patch102: xen-destdir.diff
|
|
Patch103: xen-rpmoptflags.diff
|
|
Patch104: xen-warnings.diff
|
|
Patch105: xen-changeset.diff
|
|
Patch106: xen-paths.diff
|
|
Patch107: xen-xmexample.diff
|
|
Patch108: xen-xmexample-vti.diff
|
|
Patch109: xen-fixme-doc.diff
|
|
Patch110: xen-domUloader.diff
|
|
Patch111: xen-no-dummy-nfs-ip.diff
|
|
Patch112: serial-split.patch
|
|
Patch113: xen-xm-top-needs-root.diff
|
|
Patch114: xen-tightvnc-args.diff
|
|
Patch115: xen-max-free-mem.diff
|
|
Patch116: xen-ioapic-ack-default.diff
|
|
Patch120: block-losetup-retry.diff
|
|
Patch121: block-flags.diff
|
|
Patch122: xen-hvm-default-bridge.diff
|
|
Patch123: xen-hvm-default-pae.diff
|
|
Patch124: xm-test-cleanup.diff
|
|
Patch130: tools-xc_kexec.diff
|
|
Patch131: tools-kboot.diff
|
|
Patch132: libxen_permissive.patch
|
|
Patch133: xenapi-console-protocol.patch
|
|
Patch134: xen-disable-qemu-monitor.diff
|
|
Patch135: supported_module.diff
|
|
Patch136: qemu-security-etch1.diff
|
|
Patch140: cdrom-removable.patch
|
|
Patch150: bridge-opensuse.patch
|
|
Patch151: bridge-vlan.diff
|
|
Patch152: bridge-bonding.diff
|
|
Patch153: bridge-hostonly.diff
|
|
Patch154: bridge-record-creation.patch
|
|
Patch155: xend-core-dump-loc.diff
|
|
Patch156: blktap.patch
|
|
Patch157: xen-qemu-iscsi-fix.patch
|
|
Patch158: xen-api-auth.patch
|
|
Patch159: tools-gdbserver-build.diff
|
|
Patch160: network-route.patch
|
|
# Needs to go upstream sometime, when python 2.6 is widespread
|
|
Patch161: udev-rules.patch
|
|
Patch162: ioemu-vnc-resize.patch
|
|
# Needs to go upstream
|
|
Patch163: checkpoint-rename.patch
|
|
Patch164: network-nat.patch
|
|
Patch165: ioemu-debuginfo.patch
|
|
Patch166: xm-save-check-file.patch
|
|
Patch167: mkbuildtree.patch
|
|
# Patches for snapshot support
|
|
Patch200: snapshot-ioemu-save.patch
|
|
Patch201: snapshot-ioemu-restore.patch
|
|
Patch202: snapshot-ioemu-delete.patch
|
|
Patch203: snapshot-xend.patch
|
|
# ioemu part of blktap patch series
|
|
Patch210: ioemu-blktap-fv-init.patch
|
|
Patch211: ioemu-blktap-image-format.patch
|
|
Patch212: build-tapdisk-ioemu.patch
|
|
Patch213: tapdisk-ioemu-logfile.patch
|
|
Patch214: ioemu-blktap-zero-size.patch
|
|
Patch215: tapdisk-ioemu-shutdown-fix.patch
|
|
# More random patches
|
|
Patch220: qemu-dm-segfault.patch
|
|
Patch221: blktapctrl-default-to-ioemu.patch
|
|
Patch222: ioemu-blktap-barriers.patch
|
|
Patch223: bdrv_open2_fix_flags.patch
|
|
Patch224: bdrv_open2_flags_2.patch
|
|
# Jim's domain lock patch
|
|
Patch300: xend-domain-lock.patch
|
|
# Patches from Jan
|
|
Patch340: x86_64-note-init-p2m.patch
|
|
Patch341: x86-cpufreq-report.patch
|
|
Patch342: dump-exec-state.patch
|
|
Patch343: dom-print.patch
|
|
Patch344: pv-driver-build.patch
|
|
Patch345: x86-show-page-walk-early.patch
|
|
Patch346: x86-extra-trap-info.patch
|
|
Patch347: svm-lmsl.patch
|
|
Patch348: x86_64-5Tb.patch
|
|
# Other patches
|
|
Patch400: x86-alloc-cpu-structs.patch
|
|
Patch401: 32on64-extra-mem.patch
|
|
Patch402: msi-enable.patch
|
|
Patch403: xen-ioemu-hvm-pv-support.diff
|
|
Patch404: pvdrv_emulation_control.patch
|
|
Patch405: blktap-pv-cdrom.patch
|
|
Patch406: network-nat-open-SuSEfirewall2-FORWARD.patch
|
|
Patch407: ioemu-7615-qcow2-fix-alloc_cluster_link_l2.patch
|
|
Patch408: qemu-retry-be-status.patch
|
|
%if %{?with_kmp}0
|
|
Patch450: disable_emulated_device.diff
|
|
%endif
|
|
# novell_shim patches
|
|
Patch500: hv_tools.patch
|
|
Patch501: hv_xen_base.patch
|
|
Patch502: hv_xen_extension.patch
|
|
Patch503: hv_win7_eoi_bug.patch
|
|
Patch999: tmp_build.patch
|
|
Url: http://www.cl.cam.ac.uk/Research/SRG/netos/xen/
|
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
|
#%define pysite %(python -c "import distutils.sysconfig; print distutils.sysconfig.get_python_lib()")
|
|
%define pyver %(python -c "import sys; print sys.version[:3]")
|
|
%if %{?with_kmp}0
|
|
%suse_kernel_module_package -n xen um xen -f kmp_filelist
|
|
%endif
|
|
|
|
%description
|
|
Xen is a virtual machine monitor for x86 that supports execution of
|
|
multiple guest operating systems with unprecedented levels of
|
|
performance and resource isolation.
|
|
|
|
This package contains the Xen Hypervisor. (tm)
|
|
|
|
Modern computers are sufficiently powerful to use virtualization to
|
|
present the illusion of many smaller virtual machines (VMs), each
|
|
running a separate operating system instance. Successful partitioning
|
|
of a machine to support the concurrent execution of multiple operating
|
|
systems poses several challenges. Firstly, virtual machines must be
|
|
isolated from one another: It is not acceptable for the execution of
|
|
one to adversely affect the performance of another. This is
|
|
particularly true when virtual machines are owned by mutually
|
|
untrusting users. Secondly, it is necessary to support a variety of
|
|
different operating systems to accommodate the heterogeneity of popular
|
|
applications. Thirdly, the performance overhead introduced by
|
|
virtualization should be small.
|
|
|
|
Xen uses a technique called paravirtualization: The guest OS is
|
|
modified, mainly to enhance performance.
|
|
|
|
The Xen hypervisor (microkernel) does not provide device drivers for
|
|
your hardware (except for CPU and memory). This job is left to the
|
|
kernel that's running in domain 0. Thus the domain 0 kernel is
|
|
privileged; it has full hardware access. It's started immediately after
|
|
Xen starts up. Other domains have no access to the hardware; instead
|
|
they use virtual interfaces that are provided by Xen (with the help of
|
|
the domain 0 kernel).
|
|
|
|
Xen does support booting other Operating Systems; ports of NetBSD
|
|
(Christian Limpach), FreeBSD (Kip Macy), and Plan 9 (Ron Minnich)
|
|
exist. A port of Windows XP was developed for an earlier version of
|
|
Xen, but is not available for release due to license restrictions.
|
|
|
|
In addition to this package you need to install the kernel-xen and
|
|
xen-tools to use Xen. Xen 3 also supports running unmodified guests
|
|
using full virtualization, if appropriate hardware is present. Install
|
|
xen-tools-ioemu if you want to use this.
|
|
|
|
[Hypervisor is a trademark of IBM]
|
|
|
|
|
|
|
|
Authors:
|
|
--------
|
|
Ian Pratt <ian.pratt@cl.cam.ac.uk>
|
|
Keir Fraser <Keir.Fraser@cl.cam.ac.uk>
|
|
Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
|
|
Mark Williamson <mark.williamson@cl.cam.ac.uk>
|
|
Ewan Mellor <ewan@xensource.com>
|
|
...
|
|
|
|
%package libs
|
|
License: GPL v2 or later
|
|
Summary: Xen Virtualization: Libraries
|
|
Group: System/Kernel
|
|
#Requires: xen = %{version}
|
|
AutoReqProv: on
|
|
|
|
%description libs
|
|
Xen is a virtual machine monitor for x86 that supports execution of
|
|
multiple guest operating systems with unprecedented levels of
|
|
performance and resource isolation.
|
|
|
|
This package contains the libraries used to interact with the Xen
|
|
virtual machine monitor.
|
|
|
|
Modern computers are sufficiently powerful to use virtualization to
|
|
present the illusion of many smaller virtual machines (VMs), each
|
|
running a separate operating system instance. Successful partitioning
|
|
of a machine to support the concurrent execution of multiple operating
|
|
systems poses several challenges. Firstly, virtual machines must be
|
|
isolated from one another: It is not acceptable for the execution of
|
|
one to adversely affect the performance of another. This is
|
|
particularly true when virtual machines are owned by mutually
|
|
untrusting users. Secondly, it is necessary to support a variety of
|
|
different operating systems to accommodate the heterogeneity of popular
|
|
applications. Thirdly, the performance overhead introduced by
|
|
virtualization should be small.
|
|
|
|
Xen uses a technique called paravirtualization: The guest OS is
|
|
modified, mainly to enhance performance.
|
|
|
|
The Xen hypervisor (microkernel) does not provide device drivers for
|
|
your hardware (except for CPU and memory). This job is left to the
|
|
kernel that's running in domain 0. Thus the domain 0 kernel is
|
|
privileged; it has full hardware access. It's started immediately after
|
|
Xen starts up. Other domains have no access to the hardware; instead
|
|
they use virtual interfaces that are provided by Xen (with the help of
|
|
the domain 0 kernel).
|
|
|
|
Xen does support booting other Operating Systems; ports of NetBSD
|
|
(Christian Limpach), FreeBSD (Kip Macy), and Plan 9 (Ron Minnich)
|
|
exist. A port of Windows XP was developed for an earlier version of
|
|
Xen, but is not available for release due to license restrictions.
|
|
|
|
|
|
|
|
Authors:
|
|
--------
|
|
Ian Pratt <ian.pratt@cl.cam.ac.uk>
|
|
|
|
%package tools
|
|
License: GPL v2 or later
|
|
Summary: Xen Virtualization: Control tools for domain 0
|
|
Group: System/Kernel
|
|
Requires: xen-libs = %{version}
|
|
Requires: bridge-utils multipath-tools python python-curses python-openssl python-pam python-xml pyxml
|
|
#Requires: ipcalc
|
|
# subpackage existed in 10.3
|
|
Provides: xen-tools-ioemu = 3.2
|
|
Obsoletes: xen-tools-ioemu <= 3.2
|
|
AutoReqProv: on
|
|
|
|
%description tools
|
|
Xen is a virtual machine monitor for x86 that supports execution of
|
|
multiple guest operating systems with unprecedented levels of
|
|
performance and resource isolation.
|
|
|
|
This package contains the control tools that allow you to start, stop,
|
|
migrate, and manage virtual machines.
|
|
|
|
Modern computers are sufficiently powerful to use virtualization to
|
|
present the illusion of many smaller virtual machines (VMs), each
|
|
running a separate operating system instance. Successful partitioning
|
|
of a machine to support the concurrent execution of multiple operating
|
|
systems poses several challenges. Firstly, virtual machines must be
|
|
isolated from one another: It is not acceptable for the execution of
|
|
one to adversely affect the performance of another. This is
|
|
particularly true when virtual machines are owned by mutually
|
|
untrusting users. Secondly, it is necessary to support a variety of
|
|
different operating systems to accommodate the heterogeneity of popular
|
|
applications. Thirdly, the performance overhead introduced by
|
|
virtualization should be small.
|
|
|
|
Xen uses a technique called paravirtualization: The guest OS is
|
|
modified, mainly to enhance performance.
|
|
|
|
The Xen hypervisor (microkernel) does not provide device drivers for
|
|
your hardware (except for CPU and memory). This job is left to the
|
|
kernel that's running in domain 0. Thus the domain 0 kernel is
|
|
privileged; it has full hardware access. It's started immediately after
|
|
Xen starts up. Other domains have no access to the hardware; instead
|
|
they use virtual interfaces that are provided by Xen (with the help of
|
|
the domain 0 kernel).
|
|
|
|
Xen does support booting other Operating Systems; ports of NetBSD
|
|
(Christian Limpach), FreeBSD (Kip Macy), and Plan 9 (Ron Minnich)
|
|
exist. A port of Windows XP was developed for an earlier version of
|
|
Xen, but is not available for release due to license restrictions.
|
|
|
|
In addition to this package you need to install kernel-xen and xen to
|
|
use Xen.
|
|
|
|
|
|
|
|
Authors:
|
|
--------
|
|
Ian Pratt <ian.pratt@cl.cam.ac.uk>
|
|
|
|
%package tools-domU
|
|
License: GPL v2 or later
|
|
Summary: Xen Virtualization: Control tools for domain U
|
|
Group: System/Kernel
|
|
Conflicts: xen-tools
|
|
AutoReqProv: on
|
|
|
|
%description tools-domU
|
|
Xen is a virtual machine monitor for x86 that supports execution of
|
|
multiple guest operating systems with unprecedented levels of
|
|
performance and resource isolation.
|
|
|
|
This package contains tools that allow unprivileged domains to query
|
|
the virtualized environment.
|
|
|
|
|
|
|
|
Authors:
|
|
--------
|
|
Ian Pratt <ian.pratt@cl.cam.ac.uk>
|
|
|
|
%package devel
|
|
License: GPL v2 or later
|
|
Summary: Xen Virtualization: Headers and libraries for development
|
|
Group: System/Kernel
|
|
Requires: xen-libs = %{version}
|
|
|
|
%description devel
|
|
Xen is a virtual machine monitor for x86 that supports execution of
|
|
multiple guest operating systems with unprecedented levels of
|
|
performance and resource isolation.
|
|
|
|
This package contains the libraries and header files needed to create
|
|
tools to control virtual machines.
|
|
|
|
Modern computers are sufficiently powerful to use virtualization to
|
|
present the illusion of many smaller virtual machines (VMs), each
|
|
running a separate operating system instance. Successful partitioning
|
|
of a machine to support the concurrent execution of multiple operating
|
|
systems poses several challenges. Firstly, virtual machines must be
|
|
isolated from one another: It is not acceptable for the execution of
|
|
one to adversely affect the performance of another. This is
|
|
particularly true when virtual machines are owned by mutually
|
|
untrusting users. Secondly, it is necessary to support a variety of
|
|
different operating systems to accommodate the heterogeneity of popular
|
|
applications. Thirdly, the performance overhead introduced by
|
|
virtualization should be small.
|
|
|
|
Xen uses a technique called paravirtualization: The guest OS is
|
|
modified, mainly to enhance performance.
|
|
|
|
The Xen hypervisor (microkernel) does not provide device drivers for
|
|
your hardware (except for CPU and memory). This job is left to the
|
|
kernel that's running in domain 0. Thus the domain 0 kernel is
|
|
privileged; it has full hardware access. It's started immediately after
|
|
Xen starts up. Other domains have no access to the hardware; instead
|
|
they use virtual interfaces that are provided by Xen (with the help of
|
|
the domain 0 kernel).
|
|
|
|
Xen does support booting other Operating Systems; ports of NetBSD
|
|
(Christian Limpach), FreeBSD (Kip Macy), and Plan 9 (Ron Minnich)
|
|
exist. A port of Windows XP was developed for an earlier version of
|
|
Xen, but is not available for release due to license restrictions.
|
|
|
|
|
|
|
|
Authors:
|
|
--------
|
|
Ian Pratt <ian.pratt@cl.cam.ac.uk>
|
|
|
|
%if %{?with_kmp}0
|
|
|
|
%package KMP
|
|
License: GPL v2 or later
|
|
Group: System/Kernel
|
|
Summary: Xen para-virtual device drivers for fully virtualized guests
|
|
Conflicts: xen
|
|
|
|
%description KMP
|
|
Xen para-virtual device drivers for fully virtualized guests
|
|
|
|
Xen is a virtual machine monitor for x86 that supports execution of
|
|
multiple guest operating systems with unprecedented levels of
|
|
performance and resource isolation.
|
|
|
|
This package contains the libraries and header files needed to create
|
|
tools to control virtual machines.
|
|
|
|
Modern computers are sufficiently powerful to use virtualization to
|
|
present the illusion of many smaller virtual machines (VMs), each
|
|
running a separate operating system instance. Successful partitioning
|
|
of a machine to support the concurrent execution of multiple operating
|
|
systems poses several challenges. Firstly, virtual machines must be
|
|
isolated from one another: It is not acceptable for the execution of
|
|
one to adversely affect the performance of another. This is
|
|
particularly true when virtual machines are owned by mutually
|
|
untrusting users. Secondly, it is necessary to support a variety of
|
|
different operating systems to accommodate the heterogeneity of popular
|
|
applications. Thirdly, the performance overhead introduced by
|
|
virtualization should be small.
|
|
|
|
Xen uses a technique called paravirtualization: The guest OS is
|
|
modified, mainly to enhance performance.
|
|
|
|
The Xen hypervisor (microkernel) does not provide device drivers for
|
|
your hardware (except for CPU and memory). This job is left to the
|
|
kernel that's running in domain 0. Thus the domain 0 kernel is
|
|
privileged; it has full hardware access. It's started immediately after
|
|
Xen starts up. Other domains have no access to the hardware; instead
|
|
they use virtual interfaces that are provided by Xen (with the help of
|
|
the domain 0 kernel).
|
|
|
|
Xen does support booting other Operating Systems; ports of NetBSD
|
|
(Christian Limpach), FreeBSD (Kip Macy), and Plan 9 (Ron Minnich)
|
|
exist. A port of Windows XP was developed for an earlier version of
|
|
Xen, but is not available for release due to license restrictions.
|
|
|
|
|
|
|
|
%endif
|
|
|
|
%package doc-html
|
|
License: GPL v2 or later
|
|
Summary: Xen Virtualization: HTML documentation
|
|
Group: Documentation/HTML
|
|
|
|
%description doc-html
|
|
Xen is a virtual machine monitor for x86 that supports execution of
|
|
multiple guest operating systems with unprecedented levels of
|
|
performance and resource isolation.
|
|
|
|
xen-doc-html contains the online documentation in HTML format. Point
|
|
your browser at file:/usr/share/doc/packages/xen/html/
|
|
|
|
|
|
|
|
Authors:
|
|
--------
|
|
Ian Pratt <ian.pratt@cl.cam.ac.uk>
|
|
|
|
%package doc-pdf
|
|
License: GPL v2 or later
|
|
Summary: Xen Virtualization: PDF documentation
|
|
Group: Documentation/Other
|
|
|
|
%description doc-pdf
|
|
Xen is a virtual machine monitor for x86 that supports execution of
|
|
multiple guest operating systems with unprecedented levels of
|
|
performance and resource isolation.
|
|
|
|
xen-doc-pdf contains the online documentation in PDF format. Use
|
|
xpdf/kpdf/gpdf/gv/... to read the files in
|
|
/usr/share/doc/packages/xen/pdf/
|
|
|
|
|
|
|
|
Authors:
|
|
--------
|
|
Ian Pratt <ian.pratt@cl.cam.ac.uk>
|
|
|
|
%prep
|
|
%setup -q -n %xen_build_dir
|
|
%patch0 -p1
|
|
%patch1 -p1
|
|
%patch2 -p1
|
|
%patch3 -p1
|
|
%patch4 -p1
|
|
%patch5 -p1
|
|
%patch6 -p1
|
|
%patch7 -p1
|
|
%patch8 -p1
|
|
%patch9 -p1
|
|
%patch100 -p1
|
|
%patch101 -p1
|
|
%patch102 -p1
|
|
%patch103 -p1
|
|
%patch104 -p1
|
|
%patch105 -p1
|
|
%patch106 -p1
|
|
%patch107 -p1
|
|
%patch108 -p1
|
|
%patch109 -p1
|
|
%patch110 -p1
|
|
%patch111 -p1
|
|
%patch112 -p1
|
|
%patch113 -p1
|
|
#%patch114 -p1 - vnc patch, may no longer be applicable.
|
|
%patch115 -p1
|
|
%patch116 -p1
|
|
%patch120 -p1
|
|
%patch121 -p1
|
|
%patch122 -p1
|
|
%patch123 -p1
|
|
%patch124 -p1
|
|
%patch130 -p1
|
|
%patch131 -p1
|
|
%patch132 -p1
|
|
%patch133 -p1
|
|
%patch134 -p1
|
|
%patch135 -p1
|
|
%patch136 -p1
|
|
%patch140 -p1
|
|
%patch150 -p1
|
|
%patch151 -p1
|
|
%patch152 -p1
|
|
#%patch153 -p1 - hostonly
|
|
%patch154 -p1
|
|
%patch155 -p1
|
|
%patch156 -p1
|
|
%patch157 -p1
|
|
%patch158 -p1
|
|
%patch159 -p1
|
|
%patch160 -p1
|
|
%patch161 -p1
|
|
%patch162 -p1
|
|
%patch163 -p1
|
|
%patch164 -p1
|
|
%patch165 -p1
|
|
%patch166 -p1
|
|
%patch167 -p1
|
|
%patch200 -p1
|
|
%patch201 -p1
|
|
%patch202 -p1
|
|
%patch203 -p1
|
|
%patch210 -p1
|
|
%patch211 -p1
|
|
%patch212 -p1
|
|
%patch213 -p1
|
|
%patch214 -p1
|
|
%patch215 -p1
|
|
%patch220 -p1
|
|
%patch221 -p1
|
|
%patch222 -p1
|
|
%patch223 -p1
|
|
%patch224 -p1
|
|
%patch300 -p1
|
|
#%patch340 -p1 - Port Later if needed
|
|
%patch341 -p1
|
|
%patch342 -p1
|
|
%patch343 -p1
|
|
%patch344 -p1
|
|
%patch345 -p1
|
|
%patch346 -p1
|
|
%patch347 -p1
|
|
%patch348 -p1
|
|
#%patch400 -p1 - Major Port or not needed
|
|
%patch401 -p1
|
|
#%patch402 -p1 - Needed?
|
|
%patch403 -p1
|
|
%patch404 -p1
|
|
%patch405 -p1
|
|
%patch406 -p1
|
|
%patch407 -p1
|
|
%patch408 -p1
|
|
%if %{?with_kmp}0
|
|
%patch450 -p1
|
|
%endif
|
|
%ifarch x86_64
|
|
%patch500 -p1
|
|
%patch501 -p1
|
|
%patch502 -p1
|
|
%patch503 -p1
|
|
%endif
|
|
%patch999 -p1
|
|
|
|
%build
|
|
XEN_EXTRAVERSION=%version-%release
|
|
XEN_EXTRAVERSION=${XEN_EXTRAVERSION#%{xvers}}
|
|
sed -i "s/XEN_EXTRAVERSION[\t ]*.=.*\$/XEN_EXTRAVERSION = $XEN_EXTRAVERSION/" xen/Makefile
|
|
sed -i "s/XEN_CHANGESET[\t ]*=.*\$/XEN_CHANGESET = %{changeset}/" xen/Makefile
|
|
RPM_OPT_FLAGS=${RPM_OPT_FLAGS//-fstack-protector/}
|
|
export CFLAGS="${RPM_OPT_FLAGS}"
|
|
export RPM_OPT_FLAGS
|
|
make -C tools/include/xen-foreign
|
|
make tools docs
|
|
cd tools/debugger/gdb
|
|
# there are code problems that don't pass the 02-check-gcc-output, hence bitbucket
|
|
./gdbbuild 1>/dev/null 2>/dev/null
|
|
cd ../../..
|
|
%if %{?with_kmp}0
|
|
# pv driver modules
|
|
export XL=/usr/src/linux
|
|
export XEN=/usr/src/linux/include/xen
|
|
mkdir -p obj
|
|
for flavor in %flavors_to_build; do
|
|
rm -rf obj/$flavor
|
|
cp -r unmodified_drivers/linux-2.6 obj/$flavor
|
|
cd obj/$flavor
|
|
./mkbuildtree
|
|
make -C /usr/src/linux-obj/%_target_cpu/$flavor modules \
|
|
M=$PWD
|
|
cd ../..
|
|
done
|
|
%endif
|
|
|
|
%install
|
|
test ! -z "$RPM_BUILD_ROOT" -a "$RPM_BUILD_ROOT" != "/" && rm -rf $RPM_BUILD_ROOT
|
|
export CFLAGS="$RPM_OPT_FLAGS"
|
|
export RPM_OPT_FLAGS
|
|
install_xen()
|
|
{
|
|
local ext=""
|
|
if [ -n "$1" ]; then
|
|
ext="-$1"
|
|
mv $RPM_BUILD_ROOT/boot/xen-%{version}-%{release}.gz \
|
|
$RPM_BUILD_ROOT/boot/xen${ext}-%{version}-%{release}.gz
|
|
mv $RPM_BUILD_ROOT/boot/xen-syms-%{version}-%{release} \
|
|
$RPM_BUILD_ROOT/boot/xen-syms${ext}-%{version}-%{release}
|
|
fi
|
|
rm $RPM_BUILD_ROOT/boot/xen-%{xvers}.gz
|
|
rm $RPM_BUILD_ROOT/boot/xen-%{xvermaj}.gz
|
|
rm $RPM_BUILD_ROOT/boot/xen.gz
|
|
# Do not link to links; grub cannot follow.
|
|
ln -s xen${ext}-%{version}-%{release}.gz $RPM_BUILD_ROOT/boot/xen${ext}-%{xvers}.gz
|
|
ln -s xen${ext}-%{version}-%{release}.gz $RPM_BUILD_ROOT/boot/xen${ext}-%{xvermaj}.gz
|
|
ln -s xen${ext}-%{version}-%{release}.gz $RPM_BUILD_ROOT/boot/xen${ext}.gz
|
|
ln -sf xen-syms${ext}-%{version}-%{release} $RPM_BUILD_ROOT/boot/xen-syms${ext}
|
|
}
|
|
%ifarch %ix86
|
|
make -C xen install pae=y debug=y crash_debug=y DESTDIR=$RPM_BUILD_ROOT
|
|
install_xen dbg
|
|
make -C xen clean
|
|
make -C xen install pae=y debug=n crash_debug=n DESTDIR=$RPM_BUILD_ROOT
|
|
install_xen
|
|
make -C xen clean
|
|
%else
|
|
make -C xen install max_phys_cpus=255 pae=n debug=y crash_debug=y DESTDIR=$RPM_BUILD_ROOT
|
|
install_xen dbg
|
|
make -C xen clean
|
|
make -C xen install max_phys_cpus=255 pae=n debug=n crash_debug=n DESTDIR=$RPM_BUILD_ROOT
|
|
install_xen
|
|
make -C xen clean
|
|
%endif
|
|
export CFLAGS="$RPM_OPT_FLAGS"
|
|
export RPM_OPT_FLAGS
|
|
make -C tools/include/xen-foreign
|
|
# tools
|
|
export XEN_PYTHON_NATIVE_INSTALL=1
|
|
make -C tools install \
|
|
DESTDIR=$RPM_BUILD_ROOT MANDIR=%{_mandir}
|
|
cp tools/debugger/gdb/gdb-6.2.1-linux-i386-xen/gdb/gdbserver/gdbserver-xen $RPM_BUILD_ROOT/usr/bin/gdbserver-xen
|
|
rm -f $RPM_BUILD_ROOT/usr/sbin/{qcow-create,img2qcow,qcow2raw}
|
|
make -C tools/misc/serial-split install \
|
|
DESTDIR=$RPM_BUILD_ROOT MANDIR=%{_mandir}
|
|
%ifarch x86_64
|
|
mkdir -p $RPM_BUILD_ROOT/usr/lib/xen/bin/
|
|
ln -s %{_libdir}/xen/bin/qemu-dm $RPM_BUILD_ROOT/usr/lib/xen/bin/qemu-dm
|
|
%endif
|
|
%if %{?with_kmp}0
|
|
# pv driver modules
|
|
export INSTALL_MOD_PATH=$RPM_BUILD_ROOT
|
|
export INSTALL_MOD_DIR=updates
|
|
for flavor in %flavors_to_build; do
|
|
make -C /usr/src/linux-obj/%_target_cpu/$flavor modules_install \
|
|
M=$PWD/obj/$flavor
|
|
done
|
|
mkdir -p $RPM_BUILD_ROOT/etc/modprobe.d
|
|
install -m644 %SOURCE19 $RPM_BUILD_ROOT/etc/modprobe.d/xen_pvdrivers
|
|
%endif
|
|
# docs
|
|
make -C docs install \
|
|
DESTDIR=$RPM_BUILD_ROOT MANDIR=%{_mandir} \
|
|
DOCDIR=%{_defaultdocdir}/xen
|
|
for name in COPYING %SOURCE2 %SOURCE3 %SOURCE4; do
|
|
install -m 644 $name $RPM_BUILD_ROOT/%{_defaultdocdir}/xen/
|
|
done
|
|
mkdir -p $RPM_BUILD_ROOT/%{_defaultdocdir}/xen/misc
|
|
for name in vtpm.txt crashdb.txt sedf_scheduler_mini-HOWTO.txt; do
|
|
install -m 644 docs/misc/$name $RPM_BUILD_ROOT/%{_defaultdocdir}/xen/misc/
|
|
done
|
|
# init scripts
|
|
mkdir -p $RPM_BUILD_ROOT/etc/init.d
|
|
install %SOURCE5 $RPM_BUILD_ROOT/etc/init.d/xend
|
|
ln -s /etc/init.d/xend $RPM_BUILD_ROOT/usr/sbin/rcxend
|
|
install %SOURCE6 $RPM_BUILD_ROOT/etc/init.d/xendomains
|
|
ln -s /etc/init.d/xendomains $RPM_BUILD_ROOT/usr/sbin/rcxendomains
|
|
mkdir -p $RPM_BUILD_ROOT/etc/modprobe.d
|
|
install -m644 %SOURCE18 $RPM_BUILD_ROOT/etc/modprobe.d/xen_loop.conf
|
|
# example config
|
|
mkdir -p $RPM_BUILD_ROOT/etc/xen/{vm,examples,scripts}
|
|
mv $RPM_BUILD_ROOT/etc/xen/xmexample* $RPM_BUILD_ROOT/etc/xen/examples
|
|
rm -f $RPM_BUILD_ROOT/etc/xen/examples/*nbd
|
|
install -m644 %SOURCE9 %SOURCE10 $RPM_BUILD_ROOT/etc/xen/examples/
|
|
# scripts
|
|
rm -f $RPM_BUILD_ROOT/etc/xen/scripts/block-*nbd
|
|
install -m755 %SOURCE11 %SOURCE12 %SOURCE13 %SOURCE14 %SOURCE15 %SOURCE16 %SOURCE17 $RPM_BUILD_ROOT/etc/xen/scripts/
|
|
ln -s /etc/xen/scripts/vm-monitor $RPM_BUILD_ROOT/etc/xen/scripts/set-lock
|
|
# Xen API remote authentication files
|
|
install -d $RPM_BUILD_ROOT/etc/pam.d
|
|
install -m644 %SOURCE23 $RPM_BUILD_ROOT/etc/pam.d/xen-api
|
|
install -m644 %SOURCE24 $RPM_BUILD_ROOT/etc/xen/
|
|
# sysconfig hook for Xen
|
|
mkdir -p $RPM_BUILD_ROOT/etc/sysconfig/network/scripts
|
|
mkdir -p $RPM_BUILD_ROOT/etc/sysconfig/network/if-up.d
|
|
mkdir -p $RPM_BUILD_ROOT/etc/sysconfig/network/if-down.d
|
|
install -m755 %SOURCE25 $RPM_BUILD_ROOT/etc/sysconfig/network/scripts
|
|
ln -s /etc/sysconfig/network/scripts/xen-updown.sh $RPM_BUILD_ROOT/etc/sysconfig/network/if-up.d/xen
|
|
ln -s /etc/sysconfig/network/scripts/xen-updown.sh $RPM_BUILD_ROOT/etc/sysconfig/network/if-down.d/xen
|
|
# logrotate
|
|
install -m644 -D %SOURCE7 $RPM_BUILD_ROOT/etc/logrotate.d/xen
|
|
# directories
|
|
mkdir -p $RPM_BUILD_ROOT/var/lib/xenstored
|
|
mkdir -p $RPM_BUILD_ROOT/var/lib/xen/images
|
|
mkdir -p $RPM_BUILD_ROOT/var/lib/xen/jobs
|
|
mkdir -p $RPM_BUILD_ROOT/var/lib/xen/save
|
|
mkdir -p $RPM_BUILD_ROOT/var/lib/xen/dump
|
|
mkdir -p $RPM_BUILD_ROOT/var/lib/xen/xend-db/domain
|
|
mkdir -p $RPM_BUILD_ROOT/var/lib/xen/xend-db/migrate
|
|
mkdir -p $RPM_BUILD_ROOT/var/lib/xen/xend-db/vnet
|
|
mkdir -p $RPM_BUILD_ROOT/var/log/xen
|
|
mkdir -p $RPM_BUILD_ROOT/var/run/xenstored
|
|
ln -s /var/lib/xen/images $RPM_BUILD_ROOT/etc/xen/images
|
|
# Bootloader
|
|
install -m755 %SOURCE8 $RPM_BUILD_ROOT/usr/lib/xen/boot/
|
|
# udev support
|
|
mkdir -p $RPM_BUILD_ROOT/etc/udev/rules.d
|
|
mv $RPM_BUILD_ROOT/etc/udev/rules.d/xen-backend.rules $RPM_BUILD_ROOT/etc/udev/rules.d/40-xen.rules
|
|
mv $RPM_BUILD_ROOT/etc/udev/rules.d/xend.rules $RPM_BUILD_ROOT/etc/udev/rules.d/40-xend.rules
|
|
#%find_lang xen-vm # po files are misnamed upstream
|
|
# Clean up unpackaged files
|
|
rm -rf $RPM_BUILD_ROOT/%{_datadir}/doc/xen/qemu/
|
|
rm -f $RPM_BUILD_ROOT/%{_datadir}/doc/qemu/qemu-*
|
|
rm -rf $RPM_BUILD_ROOT/%{_defaultdocdir}/xen/ps
|
|
rm -rf $RPM_BUILD_ROOT/usr/share/xen/man/man1/qemu/qemu*
|
|
rm -f $RPM_BUILD_ROOT/usr/share/xen/qemu/openbios-sparc32
|
|
rm -f $RPM_BUILD_ROOT/usr/share/xen/qemu/openbios-sparc64
|
|
rm -f $RPM_BUILD_ROOT/usr/share/xen/qemu/openbios-ppc
|
|
rm -f $RPM_BUILD_ROOT/usr/sbin/netfix
|
|
#rm -f $RPM_BUILD_ROOT/%pysite/*.egg-info
|
|
rm -f $RPM_BUILD_ROOT/%{_libdir}/python%{pyver}/site-packages/*.egg-info
|
|
rm -rf $RPM_BUILD_ROOT/html
|
|
rm -rf $RPM_BUILD_ROOT/usr/share/doc/xen/README.*
|
|
rm -f $RPM_BUILD_ROOT/usr/share/doc/xen/create.dtd
|
|
rm -f $RPM_BUILD_ROOT/%{_libdir}/xen/bin/qemu-dm.debug
|
|
|
|
%files
|
|
%defattr(-,root,root)
|
|
/boot/xen-%{version}-%{release}.gz
|
|
/boot/xen-%{xvermaj}.gz
|
|
/boot/xen-%{xvers}.gz
|
|
/boot/xen-dbg-%{version}-%{release}.gz
|
|
/boot/xen-dbg-%{xvermaj}.gz
|
|
/boot/xen-dbg-%{xvers}.gz
|
|
/boot/xen-dbg.gz
|
|
/boot/xen-syms
|
|
/boot/xen-syms-%{version}-%{release}
|
|
/boot/xen-syms-dbg
|
|
/boot/xen-syms-dbg-%{version}-%{release}
|
|
/boot/xen.gz
|
|
|
|
%files libs
|
|
%defattr(-,root,root)
|
|
%{_libdir}/fs/
|
|
%{_libdir}/libblktap.so.*
|
|
%{_libdir}/libflask.so.*
|
|
%{_libdir}/libfsimage.so.*
|
|
%{_libdir}/libxen*.so.*
|
|
|
|
%files tools
|
|
%defattr(-,root,root)
|
|
#/usr/bin/lomount
|
|
/usr/bin/xencons
|
|
/usr/bin/xenstore*
|
|
/usr/bin/xentrace*
|
|
/usr/bin/pygrub
|
|
/usr/bin/qemu-img-xen
|
|
/usr/bin/qemu-nbd-xen
|
|
/usr/bin/tapdisk-ioemu
|
|
/usr/bin/gdbserver-xen
|
|
/usr/sbin/blktapctrl
|
|
/usr/sbin/flask-loadpolicy
|
|
/usr/sbin/rcxend
|
|
/usr/sbin/rcxendomains
|
|
/usr/sbin/tapdisk
|
|
/usr/sbin/xen*
|
|
/usr/sbin/xm
|
|
/usr/sbin/xsview
|
|
/usr/sbin/fs-backend
|
|
%dir %{_libdir}/xen
|
|
%dir %{_libdir}/xen/bin
|
|
%ifarch x86_64
|
|
%dir /usr/lib/xen
|
|
%dir /usr/lib/xen/bin
|
|
%endif
|
|
%dir /usr/lib/xen/boot
|
|
#%{_datadir}/xen/*.dtd
|
|
%{_libdir}/xen/bin/readnotes
|
|
%{_libdir}/xen/bin/xc_restore
|
|
%{_libdir}/xen/bin/xc_save
|
|
%{_libdir}/xen/bin/xenconsole
|
|
%{_libdir}/xen/bin/xenctx
|
|
%{_libdir}/xen/bin/lsevtchn
|
|
%{_mandir}/man1/*.1.gz
|
|
%{_mandir}/man5/*.5.gz
|
|
%{_mandir}/man8/*.8.gz
|
|
/var/adm/fillup-templates/*
|
|
%dir /var/lib/xen
|
|
%dir %attr(700,root,root) /var/lib/xen/images
|
|
%dir %attr(700,root,root) /var/lib/xen/save
|
|
%dir %attr(700,root,root) /var/lib/xen/dump
|
|
%dir /var/lib/xen/xend-db
|
|
%dir /var/lib/xen/xend-db/domain
|
|
%dir /var/lib/xen/xend-db/migrate
|
|
%dir /var/lib/xen/xend-db/vnet
|
|
%dir /var/lib/xenstored
|
|
%dir /var/log/xen
|
|
%dir /var/run/xenstored
|
|
/etc/init.d/xend
|
|
/etc/init.d/xendomains
|
|
%config /etc/logrotate.d/xen
|
|
%dir %attr(700,root,root) /etc/xen
|
|
/etc/xen/auto
|
|
%config /etc/xen/examples
|
|
/etc/xen/images
|
|
/etc/xen/qemu-ifup
|
|
/etc/xen/scripts
|
|
/etc/xen/README*
|
|
%config /etc/xen/vm
|
|
%config /etc/xen/*.sxp
|
|
%config /etc/xen/*.xml
|
|
%config(noreplace) /etc/xen/xenapiusers
|
|
%config /etc/pam.d/xen-api
|
|
%config /etc/modprobe.d/xen_loop.conf
|
|
%dir /etc/modprobe.d
|
|
%dir /etc/udev
|
|
%dir /etc/udev/rules.d
|
|
/etc/udev/rules.d/40-xen.rules
|
|
/etc/udev/rules.d/40-xend.rules
|
|
/etc/sysconfig/network/scripts/xen-updown.sh
|
|
/etc/sysconfig/network/if-up.d/xen
|
|
/etc/sysconfig/network/if-down.d/xen
|
|
%dir %{_defaultdocdir}/xen
|
|
%{_defaultdocdir}/xen/COPYING
|
|
%{_defaultdocdir}/xen/README.SuSE
|
|
%{_defaultdocdir}/xen/boot.local.xenU
|
|
%{_defaultdocdir}/xen/boot.xen
|
|
%{_defaultdocdir}/xen/misc
|
|
#%dir %pysite/xen
|
|
%dir %{_libdir}/python%{pyver}/site-packages/xen
|
|
#%dir %pysite/grub
|
|
%dir %{_libdir}/python%{pyver}/site-packages/grub
|
|
# formerly tools-ioemu
|
|
%dir %{_datadir}/xen
|
|
%dir %{_datadir}/xen/man
|
|
%dir %{_datadir}/xen/man/man1
|
|
%dir %{_datadir}/xen/man/man8
|
|
%dir %{_datadir}/xen/qemu
|
|
%dir %{_datadir}/xen/qemu/keymaps
|
|
%{_datadir}/xen/qemu/*
|
|
%{_datadir}/xen/man/man1/*
|
|
%{_datadir}/xen/man/man8/*
|
|
%{_libdir}/xen/bin/qemu-dm
|
|
%ifarch x86_64
|
|
/usr/lib/xen/bin/qemu-dm
|
|
/usr/lib64/xen/bin/xc_kexec
|
|
%else
|
|
/usr/lib/xen/bin/xc_kexec
|
|
%endif
|
|
/usr/lib/xen/boot/hvmloader
|
|
#%pysite/xen/*
|
|
%{_libdir}/python%{pyver}/site-packages/xen/*
|
|
/usr/lib/xen/boot/domUloader.py
|
|
#%pysite/grub/*
|
|
%{_libdir}/python%{pyver}/site-packages/grub/*
|
|
#%pysite/fsimage.so
|
|
%{_libdir}/python%{pyver}/site-packages/fsimage.so
|
|
|
|
%files tools-domU
|
|
%defattr(-,root,root)
|
|
/usr/bin/xen-detect
|
|
/bin/domu-xenstore
|
|
/bin/xenstore-*
|
|
|
|
%files devel
|
|
%defattr(-,root,root)
|
|
%{_libdir}/libblktap.a
|
|
%{_libdir}/libblktap.so
|
|
%{_libdir}/libflask.a
|
|
%{_libdir}/libflask.so
|
|
%{_libdir}/libfsimage.so
|
|
%{_libdir}/libxen*.a
|
|
%{_libdir}/libxen*.so
|
|
/usr/bin/serial-split
|
|
/usr/include/blktaplib.h
|
|
/usr/include/flask.h
|
|
/usr/include/fsimage*
|
|
/usr/include/xen*.h
|
|
/usr/include/xen/
|
|
/usr/include/xs.h
|
|
/usr/include/xs_lib.h
|
|
|
|
%files doc-html
|
|
%defattr(-,root,root)
|
|
%{_defaultdocdir}/xen/html
|
|
|
|
%files doc-pdf
|
|
%defattr(-,root,root)
|
|
%{_defaultdocdir}/xen/pdf
|
|
|
|
%clean
|
|
#test ! -z "$RPM_BUILD_ROOT" -a "$RPM_BUILD_ROOT" != "/" && rm -rf $RPM_BUILD_ROOT
|
|
#rm -rf $RPM_BUILD_DIR/%xen_build_dir
|
|
|
|
%post tools
|
|
%{fillup_and_insserv -y -n xend xend}
|
|
%{fillup_and_insserv -y -n xendomains xendomains}
|
|
|
|
%preun tools
|
|
%{stop_on_removal xendomains xend}
|
|
|
|
%postun tools
|
|
%{restart_on_update xend}
|
|
%{insserv_cleanup}
|
|
|
|
%post libs
|
|
/sbin/ldconfig
|
|
|
|
%postun libs
|
|
/sbin/ldconfig
|
|
|
|
%changelog
|