Olaf Hering
d793408b8a
OBS-URL: https://build.opensuse.org/package/show/Virtualization/xen?expand=0&rev=139
1365 lines
43 KiB
RPMSpec
1365 lines
43 KiB
RPMSpec
#
|
|
# spec file for package xen
|
|
#
|
|
# Copyright (c) 2011 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 4.1
|
|
%define xvermaj 4
|
|
%define changeset 23079
|
|
%define xen_build_dir xen-4.1.1-testing
|
|
%define with_kmp 1
|
|
%define with_stubdom 1
|
|
# EFI requires gcc46 or newer
|
|
# its available in 12.1 or >= sles11sp2
|
|
%if %suse_version > 1140 || %suse_version == 1110
|
|
%define with_gcc46 1
|
|
%else
|
|
%define with_gcc46 0
|
|
%endif
|
|
%ifarch x86_64
|
|
%define with_dom0_support 1
|
|
%else
|
|
%define with_dom0_support 0
|
|
%endif
|
|
%define _fwdefdir /etc/sysconfig/SuSEfirewall2.d/services
|
|
%if %suse_version > 1140
|
|
%define with_xend 0
|
|
%else
|
|
%define with_xend 1
|
|
%endif
|
|
BuildRequires: LibVNCServer-devel
|
|
BuildRequires: SDL-devel
|
|
BuildRequires: automake
|
|
BuildRequires: bin86
|
|
BuildRequires: curl-devel
|
|
BuildRequires: dev86
|
|
BuildRequires: graphviz
|
|
BuildRequires: latex2html
|
|
BuildRequires: libjpeg-devel
|
|
BuildRequires: libxml2-devel
|
|
BuildRequires: ncurses-devel
|
|
BuildRequires: openssl
|
|
BuildRequires: openssl-devel
|
|
BuildRequires: pciutils-devel
|
|
BuildRequires: python-devel
|
|
BuildRequires: texinfo
|
|
BuildRequires: transfig
|
|
BuildRequires: libbz2-devel
|
|
%if %suse_version >= 1120
|
|
BuildRequires: xz-devel
|
|
%endif
|
|
%if %suse_version <= 1110
|
|
BuildRequires: pmtools
|
|
%else
|
|
BuildRequires: acpica
|
|
%endif
|
|
%if %suse_version >= 1030
|
|
BuildRequires: texlive
|
|
BuildRequires: texlive-latex
|
|
%else
|
|
BuildRequires: te_ams
|
|
BuildRequires: te_latex
|
|
BuildRequires: tetex
|
|
%endif
|
|
%ifarch x86_64
|
|
%if %{?with_gcc46}0
|
|
BuildRequires: gcc46
|
|
BuildRequires: libgcc46 libgcc46-32bit
|
|
%endif
|
|
BuildRequires: glibc-32bit glibc-devel-32bit
|
|
BuildRequires: gcc-32bit
|
|
BuildRequires: gcc43-32bit
|
|
%define max_cpus 256
|
|
%define pae_enabled n
|
|
%else
|
|
%define max_cpus 32
|
|
%define pae_enabled y
|
|
%endif
|
|
BuildRequires: glibc-devel
|
|
%if %{?with_kmp}0
|
|
BuildRequires: kernel-source kernel-syms module-init-tools xorg-x11
|
|
%endif
|
|
Version: 4.1.1_05
|
|
Release: 1
|
|
License: GPLv2+
|
|
Group: System/Kernel
|
|
AutoReqProv: on
|
|
PreReq: %insserv_prereq %fillup_prereq
|
|
Summary: Xen Virtualization: Hypervisor (aka VMM aka Microkernel)
|
|
Source0: xen-4.1.1-testing-src.tar.bz2
|
|
Source1: stubdom.tar.bz2
|
|
Source2: xen-utils-0.1.tar.bz2
|
|
Source3: README.SuSE
|
|
Source4: boot.xen
|
|
Source5: boot.local.xenU
|
|
Source6: init.xend
|
|
Source7: init.xendomains
|
|
Source8: logrotate.conf
|
|
Source9: domUloader.py
|
|
Source10: xmexample.domUloader
|
|
Source11: xmexample.disks
|
|
Source12: block-nbd
|
|
Source13: block-iscsi
|
|
Source14: block-npiv-common.sh
|
|
Source15: block-npiv
|
|
Source16: block-npiv-vport
|
|
Source17: xmclone.sh
|
|
Source18: xend-relocation.sh
|
|
Source19: init.xen_loop
|
|
%if %{?with_kmp}0
|
|
Source20: xen_pvdrivers.conf
|
|
Source21: kmp_filelist
|
|
%endif
|
|
Source22: block-dmmd
|
|
# Xen API remote authentication sources
|
|
Source23: etc_pam.d_xen-api
|
|
Source24: xenapiusers
|
|
# sysconfig hook script for Xen
|
|
Source25: xen-updown.sh
|
|
# Firewall service file for xend relocation server
|
|
Source26: xend-relocation-server.fw
|
|
Source99: baselibs.conf
|
|
# http://xenbits.xensource.com/ext/xenalyze
|
|
Source20000: xenalyze.hg.tar.bz2
|
|
# Upstream patches
|
|
Patch1: 22998-x86-get_page_from_l1e-retcode.patch
|
|
Patch2: 22999-x86-mod_l1_entry-retcode.patch
|
|
Patch3: 23000-x86-mod_l2_entry-retcode.patch
|
|
Patch4: 23074-pfn.h.patch
|
|
Patch5: 23096-x86-hpet-no-cpumask_lock.patch
|
|
Patch6: 23099-x86-rwlock-scalability.patch
|
|
Patch7: 23103-x86-pirq-guest-eoi-check.patch
|
|
Patch8: 23127-vtd-bios-settings.patch
|
|
Patch9: 23199-amd-iommu-unmapped-intr-fault.patch
|
|
Patch10: 23233-hvm-cr-access.patch
|
|
Patch11: 23234-svm-decode-assist-base.patch
|
|
Patch12: 23235-svm-decode-assist-crs.patch
|
|
Patch13: 23236-svm-decode-assist-invlpg.patch
|
|
Patch14: 23238-svm-decode-assist-insn-fetch.patch
|
|
Patch15: 23303-cpufreq-misc.patch
|
|
Patch16: 23304-amd-oprofile-strings.patch
|
|
Patch17: 23305-amd-fam15-xenoprof.patch
|
|
Patch18: 23306-amd-fam15-vpmu.patch
|
|
Patch19: 23334-amd-fam12+14-vpmu.patch
|
|
Patch20: 23383-libxc-rm-static-vars.patch
|
|
Patch21: 23437-amd-fam15-TSC-scaling.patch
|
|
Patch22: 23462-libxc-cpu-feature.patch
|
|
Patch23: 23481-x86-SMEP.patch
|
|
Patch24: 23504-x86-SMEP-hvm.patch
|
|
Patch25: 23505-x86-cpu-add-arg-check.patch
|
|
Patch26: 23508-vmx-proc-based-ctls-probe.patch
|
|
Patch27: 23510-hvm-cpuid-DRNG.patch
|
|
Patch28: 23511-amd-fam15-no-flush-for-C3.patch
|
|
Patch29: 23516-cpuid-ERMS.patch
|
|
Patch30: 23538-hvm-pio-emul-no-host-crash.patch
|
|
Patch31: 23539-hvm-cpuid-FSGSBASE.patch
|
|
Patch32: 23543-x86_64-maddr_to_virt-assertion.patch
|
|
Patch33: 23546-fucomip.patch
|
|
Patch34: 23571-vtd-fault-verbosity.patch
|
|
Patch35: 23574-x86-dom0-compressed-ELF.patch
|
|
Patch36: 23575-x86-DMI.patch
|
|
Patch37: 23610-x86-topology-info.patch
|
|
Patch38: 23611-amd-fam15-topology.patch
|
|
Patch39: 23613-EFI-headers.patch
|
|
Patch40: 23614-x86_64-EFI-boot.patch
|
|
Patch41: 23615-x86_64-EFI-runtime.patch
|
|
Patch42: 23616-x86_64-EFI-MPS.patch
|
|
Patch43: 23676-x86_64-image-map-bounds.patch
|
|
Patch44: 23685-libxl-segfault-fix.patch
|
|
Patch45: 23706-fix-20892.patch
|
|
Patch46: 23723-x86-CMOS-lock.patch
|
|
Patch47: 23724-x86-smpboot-x2apic.patch
|
|
Patch48: 23726-x86-intel-flexmigration.patch
|
|
Patch49: 23732-sedf.patch
|
|
Patch50: 23735-guest-dom0-cap.patch
|
|
Patch51: 23746-vtd-cleanup-timers.patch
|
|
Patch52: 23747-mmcfg-base-address.patch
|
|
Patch53: 23749-mmcfg-reservation.patch
|
|
# Upstream qemu patches
|
|
# Our patches
|
|
Patch300: xen-config.diff
|
|
Patch301: xend-config.diff
|
|
Patch302: xen-destdir.diff
|
|
Patch303: xen-rpmoptflags.diff
|
|
Patch304: xen-warnings.diff
|
|
Patch305: xen-warnings-unused.diff
|
|
Patch306: xen-changeset.diff
|
|
Patch307: xen-paths.diff
|
|
Patch308: xen-xmexample.diff
|
|
Patch309: xen-xmexample-vti.diff
|
|
Patch310: xen-fixme-doc.diff
|
|
Patch311: xen-domUloader.diff
|
|
Patch312: xen-no-dummy-nfs-ip.diff
|
|
Patch313: serial-split.patch
|
|
Patch314: xen-xm-top-needs-root.diff
|
|
Patch315: xen-max-free-mem.diff
|
|
Patch322: bridge-opensuse.patch
|
|
Patch323: bridge-vlan.diff
|
|
Patch324: bridge-bonding.diff
|
|
Patch325: bridge-record-creation.patch
|
|
Patch326: network-nat.patch
|
|
Patch327: udev-rules.patch
|
|
Patch328: vif-route-ifup.patch
|
|
Patch329: network-nat-open-SuSEfirewall2-FORWARD.patch
|
|
Patch340: xen-hvm-default-bridge.diff
|
|
Patch341: xen-hvm-default-pae.diff
|
|
Patch342: xm-test-cleanup.diff
|
|
Patch343: tools-xc_kexec.diff
|
|
Patch344: tools-kboot.diff
|
|
Patch345: libxen_permissive.patch
|
|
Patch346: xenapi-console-protocol.patch
|
|
Patch347: xen-disable-qemu-monitor.diff
|
|
Patch348: qemu-security-etch1.diff
|
|
Patch350: cdrom-removable.patch
|
|
Patch351: xend-core-dump-loc.diff
|
|
Patch352: blktap.patch
|
|
Patch353: xen-qemu-iscsi-fix.patch
|
|
Patch354: xen-api-auth.patch
|
|
Patch355: tools-gdbserver-build.diff
|
|
Patch356: ioemu-vnc-resize.patch
|
|
Patch357: ioemu-debuginfo.patch
|
|
Patch358: vif-bridge-no-iptables.patch
|
|
Patch359: xenconsole-no-multiple-connections.patch
|
|
Patch360: disable-xl-when-using-xend.patch
|
|
# Needs to go upstream
|
|
Patch370: checkpoint-rename.patch
|
|
Patch371: xm-save-check-file.patch
|
|
Patch372: xm-create-xflag.patch
|
|
Patch373: xend-sysconfig.patch
|
|
Patch374: domu-usb-controller.patch
|
|
Patch375: usb-list.patch
|
|
Patch376: xend-devid-or-name.patch
|
|
Patch377: suspend_evtchn_lock.patch
|
|
Patch378: log-guest-console.patch
|
|
# Patches for snapshot support
|
|
Patch400: snapshot-ioemu-save.patch
|
|
Patch401: snapshot-ioemu-restore.patch
|
|
Patch402: snapshot-ioemu-delete.patch
|
|
Patch403: snapshot-xend.patch
|
|
Patch404: snapshot-without-pv-fix.patch
|
|
# ioemu part of blktap patch series
|
|
Patch410: ioemu-blktap-fv-init.patch
|
|
Patch411: ioemu-blktap-image-format.patch
|
|
Patch412: build-tapdisk-ioemu.patch
|
|
Patch413: tapdisk-ioemu-logfile.patch
|
|
Patch414: ioemu-blktap-zero-size.patch
|
|
Patch415: tapdisk-ioemu-shutdown-fix.patch
|
|
Patch420: blktapctrl-default-to-ioemu.patch
|
|
Patch421: ioemu-blktap-barriers.patch
|
|
# Other bug fixes or features
|
|
Patch423: bdrv_open2_fix_flags.patch
|
|
Patch424: bdrv_open2_flags_2.patch
|
|
Patch425: ioemu-bdrv-open-CACHE_WB.patch
|
|
Patch426: ioemu-7615-qcow2-fix-alloc_cluster_link_l2.patch
|
|
Patch427: xen-ioemu-hvm-pv-support.diff
|
|
Patch428: qemu-dm-segfault.patch
|
|
Patch429: hibernate.patch
|
|
Patch430: del_usb_xend_entry.patch
|
|
Patch431: capslock_enable.patch
|
|
Patch433: multi-xvdp.patch
|
|
Patch434: check_device_status.patch
|
|
Patch435: change_home_server.patch
|
|
Patch436: altgr_2.patch
|
|
Patch438: stdvga-cache.patch
|
|
Patch439: minios-fixups.patch
|
|
Patch440: bdrv_default_rwflag.patch
|
|
Patch442: xen-minimum-restart-time.patch
|
|
Patch443: vif-bridge.mtu.patch
|
|
Patch445: hotplug.losetup.patch
|
|
Patch446: xend-disable-internal-logrotate.patch
|
|
Patch447: xend-config-enable-dump-comment.patch
|
|
Patch448: change-vnc-passwd.patch
|
|
Patch449: kernel-boot-hvm.patch
|
|
Patch450: ioemu-watchdog-support.patch
|
|
Patch451: ioemu-watchdog-linkage.patch
|
|
Patch452: ioemu-watchdog-ib700-timer.patch
|
|
Patch453: tools-watchdog-support.patch
|
|
Patch454: xend-console-port-restore.patch
|
|
Patch455: xencommons-proc-xen.patch
|
|
# Jim's domain lock patch
|
|
Patch480: xend-domain-lock.patch
|
|
Patch481: xend-domain-lock-sfex.patch
|
|
# Hypervisor and PV driver Patches
|
|
Patch500: 32on64-extra-mem.patch
|
|
Patch501: x86-ioapic-ack-default.patch
|
|
Patch502: x86-cpufreq-report.patch
|
|
Patch504: dom-print.patch
|
|
Patch505: pvdrv-import-shared-info.patch
|
|
Patch506: x86-show-page-walk-early.patch
|
|
Patch507: x86-extra-trap-info.patch
|
|
Patch508: pvdrv_emulation_control.patch
|
|
Patch509: blktap-pv-cdrom.patch
|
|
Patch510: pv-driver-build.patch
|
|
Patch511: supported_module.diff
|
|
Patch512: magic_ioport_compat.patch
|
|
Patch513: xen.sles11sp1.bug684297.xen_oldmem_pfn_is_ram.patch
|
|
Patch514: xen.sles11sp1.fate311487.xen_platform_pci.dmistring.patch
|
|
Patch650: disable_emulated_device.diff
|
|
Patch651: ioemu-disable-scsi.patch
|
|
Patch652: ioemu-disable-emulated-ide-if-pv.patch
|
|
Patch700: hv_extid_compatibility.patch
|
|
# xentrace / xenalyze
|
|
Patch1000: xen-unstable.xentrace.dynamic_tbuf.patch
|
|
Patch1001: xen-unstable.xentrace.empty_t_info_pages.patch
|
|
Patch1002: xen-unstable.xentrace.verbose.patch
|
|
Patch1003: xen-unstable.xentrace.no_gdprintk.patch
|
|
Patch1004: xen-unstable.xentrace.comments.patch
|
|
Patch1005: xen-unstable.xentrace.printk_prefix.patch
|
|
Patch1006: xen-unstable.xentrace.remove_debug_printk.patch
|
|
Patch1007: xen-unstable.xentrace.t_info_pages-formula.patch
|
|
Patch1008: xen-unstable.xentrace.register_cpu_notifier-boot_time.patch
|
|
Patch1009: xen-unstable.xentrace.t_info_page-overflow.patch
|
|
Patch1010: xen-unstable.xentrace.t_info_first_offset.patch
|
|
Patch1011: xen-unstable.xentrace.data_size__read_mostly.patch
|
|
Patch1012: xen-unstable.xentrace.__insert_record-dst-type.patch
|
|
# FATE 310510
|
|
Patch1100: xenpaging.guest_remove_page.slow_path.patch
|
|
Patch1101: xenpaging.mem_event-no-p2mt.patch
|
|
Patch1102: xenpaging.no-srand.patch
|
|
Patch1103: xenpaging.return-void.patch
|
|
Patch1104: xenpaging.catch-xc_mem_paging_resume-error.patch
|
|
Patch1105: xenpaging.xenpaging_populate_page-gfn.patch
|
|
Patch1106: xenpaging.autostart.patch
|
|
# xenalyze
|
|
Patch20000: xenalyze.gcc46.patch
|
|
# Build patch
|
|
Patch99998: tmp-initscript-modprobe.patch
|
|
Patch99999: tmp_build.patch
|
|
Url: http://www.cl.cam.ac.uk/Research/SRG/netos/xen/
|
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
|
%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: GPLv2+
|
|
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>
|
|
|
|
%if %{?with_dom0_support}0
|
|
|
|
%package tools
|
|
License: GPLv2+
|
|
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 python-lxml
|
|
# 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>
|
|
%endif
|
|
|
|
%package tools-domU
|
|
License: GPLv2+
|
|
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: GPLv2+
|
|
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: GPLv2+
|
|
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
|
|
|
|
%if %{?with_dom0_support}0
|
|
|
|
%package doc-html
|
|
License: GPLv2+
|
|
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: GPLv2+
|
|
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>
|
|
%endif
|
|
|
|
%prep
|
|
%setup -q -n %xen_build_dir -a 1 -a 20000
|
|
%patch20000 -p1
|
|
tar xfj %{SOURCE2} -C $RPM_BUILD_DIR/%{xen_build_dir}/tools
|
|
%patch1 -p1
|
|
%patch2 -p1
|
|
%patch3 -p1
|
|
%patch4 -p1
|
|
%patch5 -p1
|
|
%patch6 -p1
|
|
%patch7 -p1
|
|
%patch8 -p1
|
|
%patch9 -p1
|
|
%patch10 -p1
|
|
%patch11 -p1
|
|
%patch12 -p1
|
|
%patch13 -p1
|
|
%patch14 -p1
|
|
%patch15 -p1
|
|
%patch16 -p1
|
|
%patch17 -p1
|
|
%patch18 -p1
|
|
%patch19 -p1
|
|
%patch20 -p1
|
|
%patch21 -p1
|
|
%patch22 -p1
|
|
%patch23 -p1
|
|
%patch24 -p1
|
|
%patch25 -p1
|
|
%patch26 -p1
|
|
%patch27 -p1
|
|
%patch28 -p1
|
|
%patch29 -p1
|
|
%patch30 -p1
|
|
%patch31 -p1
|
|
%patch32 -p1
|
|
%patch33 -p1
|
|
%patch34 -p1
|
|
%patch35 -p1
|
|
%patch36 -p1
|
|
%patch37 -p1
|
|
%patch38 -p1
|
|
%patch39 -p1
|
|
%patch40 -p1
|
|
%patch41 -p1
|
|
%patch42 -p1
|
|
%patch43 -p1
|
|
%patch44 -p1
|
|
%patch45 -p1
|
|
%patch46 -p1
|
|
%patch47 -p1
|
|
%patch48 -p1
|
|
%patch49 -p1
|
|
%patch50 -p1
|
|
%patch51 -p1
|
|
%patch52 -p1
|
|
%patch53 -p1
|
|
%patch300 -p1
|
|
%patch301 -p1
|
|
%patch302 -p1
|
|
%patch303 -p1
|
|
%patch304 -p1
|
|
%patch305 -p1
|
|
%patch306 -p1
|
|
%patch307 -p1
|
|
%patch308 -p1
|
|
%patch309 -p1
|
|
%patch310 -p1
|
|
%patch311 -p1
|
|
%patch312 -p1
|
|
%patch313 -p1
|
|
%patch314 -p1
|
|
%patch315 -p1
|
|
%patch322 -p1
|
|
%patch323 -p1
|
|
%patch324 -p1
|
|
%patch325 -p1
|
|
%patch326 -p1
|
|
%patch327 -p1
|
|
%patch328 -p1
|
|
%patch329 -p1
|
|
%patch340 -p1
|
|
%patch341 -p1
|
|
%patch342 -p1
|
|
#%patch343 -p1 kexec
|
|
%patch344 -p1
|
|
%patch345 -p1
|
|
%patch346 -p1
|
|
%patch347 -p1
|
|
%patch348 -p1
|
|
%patch350 -p1
|
|
%patch351 -p1
|
|
%patch352 -p1
|
|
%patch353 -p1
|
|
%patch354 -p1
|
|
###%patch355 -p1 gdbserver
|
|
%patch356 -p1
|
|
%patch357 -p1
|
|
%patch358 -p1
|
|
%patch359 -p1
|
|
%patch360 -p1
|
|
%patch370 -p1
|
|
%patch371 -p1
|
|
%patch372 -p1
|
|
%patch373 -p1
|
|
%patch374 -p1
|
|
%patch375 -p1
|
|
%patch376 -p1
|
|
#%patch377 -p1 suspend_evtchn_lock, buildservice build problem
|
|
%patch378 -p1
|
|
%patch400 -p1
|
|
%patch401 -p1
|
|
%patch402 -p1
|
|
%patch403 -p1
|
|
%patch404 -p1
|
|
%patch410 -p1
|
|
%patch411 -p1
|
|
%patch412 -p1
|
|
%patch413 -p1
|
|
%patch414 -p1
|
|
%patch415 -p1
|
|
%patch420 -p1
|
|
%patch421 -p1
|
|
%patch423 -p1
|
|
%patch424 -p1
|
|
%patch425 -p1
|
|
%patch426 -p1
|
|
%patch427 -p1
|
|
%patch428 -p1
|
|
%patch429 -p1
|
|
%patch430 -p1
|
|
%patch431 -p1
|
|
%patch433 -p1
|
|
%patch434 -p1
|
|
%patch435 -p1
|
|
%patch436 -p1
|
|
%patch438 -p1
|
|
%patch439 -p1
|
|
%patch440 -p1
|
|
%patch442 -p1
|
|
%patch443 -p1
|
|
%patch445 -p1
|
|
%patch446 -p1
|
|
%patch447 -p1
|
|
%patch448 -p1
|
|
%patch449 -p1
|
|
%patch450 -p1
|
|
%patch451 -p1
|
|
%patch452 -p1
|
|
%patch453 -p1
|
|
%patch454 -p1
|
|
%patch455 -p1
|
|
%patch480 -p1
|
|
%patch481 -p1
|
|
%patch500 -p1
|
|
%patch501 -p1
|
|
%patch502 -p1
|
|
%patch504 -p1
|
|
%patch505 -p1
|
|
%patch506 -p1
|
|
%patch507 -p1
|
|
%patch508 -p1
|
|
%patch509 -p1
|
|
%patch510 -p1
|
|
%patch511 -p1
|
|
%patch512 -p1
|
|
%patch513 -p1
|
|
%patch514 -p1
|
|
%patch650 -p1
|
|
%patch651 -p1
|
|
%patch652 -p1
|
|
%patch700 -p1
|
|
# xentrace / xenalyze
|
|
%patch1000 -p1
|
|
%patch1001 -p1
|
|
%patch1002 -p1
|
|
%patch1003 -p1
|
|
%patch1004 -p1
|
|
%patch1005 -p1
|
|
%patch1006 -p1
|
|
%patch1007 -p1
|
|
%patch1008 -p1
|
|
%patch1009 -p1
|
|
%patch1010 -p1
|
|
%patch1011 -p1
|
|
%patch1012 -p1
|
|
# FATE 310510
|
|
%patch1100 -p1
|
|
%patch1101 -p1
|
|
%patch1102 -p1
|
|
%patch1103 -p1
|
|
%patch1104 -p1
|
|
%patch1105 -p1
|
|
%patch1106 -p1
|
|
#
|
|
%patch99998 -p1
|
|
%patch99999 -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
|
|
%if %{?with_dom0_support}0
|
|
make -C xenalyze.hg CC="gcc -I../xen/include" %{?_smp_mflags}
|
|
make -C tools/include/xen-foreign %{?_smp_mflags}
|
|
make tools docs %{?_smp_mflags}
|
|
make -C tools/debugger/gdbsx
|
|
make -C tools/xen-utils-0.1 XEN_INTREE_BUILD=yes
|
|
%else
|
|
make -C tools/include/xen-foreign %{?_smp_mflags}
|
|
make tools docs %{?_smp_mflags}
|
|
%endif
|
|
%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 \
|
|
%{?_smp_mflags} \
|
|
M=$PWD
|
|
cd ../..
|
|
done
|
|
%endif
|
|
|
|
%install
|
|
export CFLAGS="$RPM_OPT_FLAGS"
|
|
%if %{?with_dom0_support}0
|
|
# EFI
|
|
%ifarch x86_64
|
|
make -C xen install \
|
|
%if %{?with_gcc46}0
|
|
CC=gcc-4.6 \
|
|
%endif
|
|
max_phys_cpus=%{max_cpus} debug=n crash_debug=n DESTDIR=$RPM_BUILD_ROOT %{?_smp_mflags}
|
|
make -C xen clean
|
|
%endif
|
|
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}
|
|
}
|
|
make -C xen install max_phys_cpus=%{max_cpus} pae=%{pae_enabled} debug=y crash_debug=y DESTDIR=$RPM_BUILD_ROOT %{?_smp_mflags}
|
|
install_xen dbg
|
|
make -C xen clean
|
|
make -C xen install max_phys_cpus=%{max_cpus} pae=%{pae_enabled} debug=n crash_debug=n DESTDIR=$RPM_BUILD_ROOT %{?_smp_mflags}
|
|
install_xen
|
|
make -C xen clean
|
|
make -C tools/include/xen-foreign %{?_smp_mflags}
|
|
# tools
|
|
export XEN_PYTHON_NATIVE_INSTALL=1
|
|
make -C tools install \
|
|
DESTDIR=$RPM_BUILD_ROOT MANDIR=%{_mandir} %{?_smp_mflags}
|
|
rm -f $RPM_BUILD_ROOT/usr/sbin/{qcow-create,img2qcow,qcow2raw}
|
|
make -C tools/misc/serial-split install \
|
|
DESTDIR=$RPM_BUILD_ROOT MANDIR=%{_mandir} %{?_smp_mflags}
|
|
%ifarch x86_64
|
|
mkdir -p $RPM_BUILD_ROOT/${_libdir}/xen/bin/
|
|
ln -s /usr/lib/xen/bin/qemu-dm $RPM_BUILD_ROOT/%{_libdir}/xen/bin/qemu-dm
|
|
%endif
|
|
# efi depends on gcc46
|
|
echo > xen.files.txt
|
|
if test -d $RPM_BUILD_ROOT%{_libdir}/efi
|
|
then
|
|
echo %{_libdir}/efi >> xen.files.txt
|
|
fi
|
|
cp -avL xenalyze.hg/dump-raw $RPM_BUILD_ROOT/%{_bindir}/xenalyze.dump-raw
|
|
cp -avL xenalyze.hg/xenalyze $RPM_BUILD_ROOT/%{_bindir}
|
|
%else
|
|
make -C tools install DESTDIR=$RPM_BUILD_ROOT MANDIR=%{_mandir} %{?_smp_mflags}
|
|
make -C tools/misc/serial-split install \
|
|
DESTDIR=$RPM_BUILD_ROOT MANDIR=%{_mandir} %{?_smp_mflags}
|
|
%endif
|
|
# PV driver modules
|
|
%if %{?with_kmp}0
|
|
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 %SOURCE20 $RPM_BUILD_ROOT/etc/modprobe.d/xen_pvdrivers.conf
|
|
%endif
|
|
%if %{?with_dom0_support}0
|
|
# Stubdom
|
|
%if %{?with_stubdom}0
|
|
make stubdom
|
|
make -C stubdom install \
|
|
DESTDIR=$RPM_BUILD_ROOT MANDIR=%{_mandir} \
|
|
DOCDIR=%{_defaultdocdir}/xen INCDIR=%{_includedir}
|
|
mkdir -p $RPM_BUILD_ROOT/%{_defaultdocdir}/xen
|
|
%ifarch x86_64
|
|
ln -s /usr/lib/xen/bin/stubdom-dm $RPM_BUILD_ROOT/usr/lib64/xen/bin/stubdom-dm
|
|
ln -s /usr/lib/xen/bin/stubdompath.sh $RPM_BUILD_ROOT/usr/lib64/xen/bin/stubdompath.sh
|
|
%endif
|
|
%endif
|
|
# Docs
|
|
make -C docs install \
|
|
DESTDIR=$RPM_BUILD_ROOT MANDIR=%{_mandir} \
|
|
DOCDIR=%{_defaultdocdir}/xen
|
|
for name in COPYING %SOURCE3 %SOURCE4 %SOURCE5; 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 xenpaging.txt; do
|
|
install -m 644 docs/misc/$name $RPM_BUILD_ROOT/%{_defaultdocdir}/xen/misc/
|
|
done
|
|
%endif
|
|
# init scripts
|
|
%if %{?with_dom0_support}0
|
|
mkdir -p $RPM_BUILD_ROOT/etc/init.d
|
|
install %SOURCE6 $RPM_BUILD_ROOT/etc/init.d/xend
|
|
ln -s /etc/init.d/xend $RPM_BUILD_ROOT/usr/sbin/rcxend
|
|
install %SOURCE7 $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 %SOURCE19 $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 %SOURCE10 %SOURCE11 $RPM_BUILD_ROOT/etc/xen/examples/
|
|
install -m644 tools/xentrace/formats $RPM_BUILD_ROOT/etc/xen/examples/xentrace_formats.txt
|
|
# scripts
|
|
rm -f $RPM_BUILD_ROOT/etc/xen/scripts/block-*nbd
|
|
install -m755 %SOURCE12 %SOURCE13 %SOURCE14 %SOURCE15 %SOURCE16 %SOURCE17 %SOURCE18 %SOURCE22 $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 %SOURCE8 $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/log/xen/console
|
|
ln -s /var/lib/xen/images $RPM_BUILD_ROOT/etc/xen/images
|
|
# Bootloader
|
|
install -m755 %SOURCE9 $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
|
|
# xen utils
|
|
make -C tools/xen-utils-0.1 install DESTDIR=$RPM_BUILD_ROOT XEN_INTREE_BUILD=yes
|
|
# 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/%{_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/%{_libdir}/xen/bin/qemu-dm.debug
|
|
rm -f $RPM_BUILD_ROOT/%{_bindir}/qemu-img-xen
|
|
rm -f $RPM_BUILD_ROOT/%{_bindir}/qemu-nbd-xen
|
|
rm -rf $RPM_BUILD_ROOT/%{_libdir}/debug
|
|
#install firewall definitions format is described here:
|
|
#/usr/share/SuSEfirewall2/services/TEMPLATE
|
|
mkdir -p $RPM_BUILD_ROOT/%{_fwdefdir}
|
|
install -m 644 %{S:26} $RPM_BUILD_ROOT/%{_fwdefdir}/xend-relocation-server
|
|
%else
|
|
# 32 bit hypervisor no longer supported. Remove dom0 tools.
|
|
rm -rf $RPM_BUILD_ROOT/%{_datadir}/doc
|
|
rm -rf $RPM_BUILD_ROOT/%{_datadir}/man
|
|
rm -rf $RPM_BUILD_ROOT/%{_datadir}/xen
|
|
rm -rf $RPM_BUILD_ROOT/%{_datadir}/locale
|
|
rm -rf $RPM_BUILD_ROOT/%{_libdir}/xen
|
|
rm -rf $RPM_BUILD_ROOT/%{_libdir}/python*
|
|
rm -rf $RPM_BUILD_ROOT/usr/sbin
|
|
rm -rf $RPM_BUILD_ROOT/etc/bash_completion.d
|
|
rm -rf $RPM_BUILD_ROOT/etc/init.d
|
|
rm -rf $RPM_BUILD_ROOT/etc/logrotate.d
|
|
rm -rf $RPM_BUILD_ROOT/etc/pam.d
|
|
rm -rf $RPM_BUILD_ROOT/etc/sysconfig
|
|
rm -rf $RPM_BUILD_ROOT/etc/udev
|
|
rm -rf $RPM_BUILD_ROOT/etc/xen
|
|
rm -rf $RPM_BUILD_ROOT/var
|
|
rm -f $RPM_BUILD_ROOT/%{_bindir}/*store*
|
|
rm -f $RPM_BUILD_ROOT/%{_bindir}/*trace*
|
|
rm -f $RPM_BUILD_ROOT/%{_bindir}/xenalyze*
|
|
rm -f $RPM_BUILD_ROOT/%{_bindir}/qemu*
|
|
rm -f $RPM_BUILD_ROOT/%{_bindir}/pygrub
|
|
rm -f $RPM_BUILD_ROOT/%{_bindir}/remus
|
|
rm -f $RPM_BUILD_ROOT/%{_bindir}/tapdisk-ioemu
|
|
rm -f $RPM_BUILD_ROOT/%{_bindir}/xencons
|
|
%endif
|
|
|
|
%if %{?with_dom0_support}0
|
|
|
|
%files -f xen.files.txt
|
|
%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
|
|
%endif
|
|
|
|
%files libs
|
|
%defattr(-,root,root)
|
|
%{_libdir}/fs/
|
|
%{_libdir}/*.so.*
|
|
|
|
%if %{?with_dom0_support}0
|
|
|
|
%files tools
|
|
%defattr(-,root,root)
|
|
/usr/bin/xenalyze
|
|
/usr/bin/xenalyze.dump-raw
|
|
/usr/bin/xencons
|
|
/usr/bin/xenstore*
|
|
/usr/bin/xentrace*
|
|
/usr/bin/pygrub
|
|
/usr/bin/tapdisk-ioemu
|
|
/usr/bin/remus
|
|
/usr/sbin/blktapctrl
|
|
/usr/sbin/flask-loadpolicy
|
|
/usr/sbin/flask-getenforce
|
|
/usr/sbin/flask-setenforce
|
|
/usr/sbin/rcxend
|
|
/usr/sbin/rcxendomains
|
|
/usr/sbin/tapdisk
|
|
/usr/sbin/xen*
|
|
/usr/sbin/xm
|
|
/usr/sbin/xsview
|
|
/usr/sbin/gtracestat
|
|
/usr/sbin/gtraceview
|
|
/usr/sbin/lock-util
|
|
/usr/sbin/tapdisk-client
|
|
/usr/sbin/tapdisk-diff
|
|
/usr/sbin/tapdisk-stream
|
|
/usr/sbin/tapdisk2
|
|
/usr/sbin/td-util
|
|
/usr/sbin/vhd-update
|
|
/usr/sbin/vhd-util
|
|
/usr/sbin/xen-list
|
|
/usr/sbin/gdbsx
|
|
/usr/sbin/xl
|
|
/usr/sbin/kdd
|
|
/usr/sbin/tap-ctl
|
|
%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
|
|
%{_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 %attr(700,root,root) /var/lib/xen/xenpaging
|
|
%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/log/xen/console
|
|
%config /etc/init.d/*
|
|
%config /etc/logrotate.d/xen
|
|
%dir %attr(700,root,root) /etc/xen
|
|
/etc/xen/auto
|
|
%config /etc/xen/examples
|
|
/etc/xen/images
|
|
/etc/xen/scripts
|
|
%config /etc/xen/cpupool
|
|
/etc/xen/README*
|
|
%config /etc/xen/vm
|
|
%config(noreplace) /etc/xen/*.sxp
|
|
%config(noreplace) /etc/xen/*.xml
|
|
%config(noreplace) /etc/xen/xenapiusers
|
|
%config(noreplace) /etc/xen/xl.conf
|
|
%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
|
|
/etc/bash_completion.d/xl.sh
|
|
%dir %{_defaultdocdir}/xen
|
|
%{_defaultdocdir}/xen/COPYING
|
|
%{_defaultdocdir}/xen/README.SuSE
|
|
%{_defaultdocdir}/xen/boot.local.xenU
|
|
%{_defaultdocdir}/xen/boot.xen
|
|
%{_defaultdocdir}/xen/misc
|
|
%dir %{_libdir}/python%{pyver}/site-packages/xen
|
|
%dir %{_libdir}/python%{pyver}/site-packages/grub
|
|
%dir %{_datadir}/xen
|
|
%dir %{_datadir}/xen/man
|
|
%dir %{_datadir}/xen/man/man1
|
|
%dir %{_datadir}/xen/man/man8
|
|
%dir %{_datadir}/xen/qemu
|
|
%{_datadir}/xen/*.dtd
|
|
%{_datadir}/xen/qemu/*
|
|
%{_datadir}/xen/man/man1/*
|
|
%{_datadir}/xen/man/man8/*
|
|
%if %{?with_stubdom}0
|
|
/usr/lib/xen/bin/stubdom-dm
|
|
/usr/lib/xen/bin/stubdompath.sh
|
|
%ifarch x86_64
|
|
%{_libdir}/xen/bin/stubdom-dm
|
|
%{_libdir}/xen/bin/stubdompath.sh
|
|
%endif
|
|
%endif
|
|
%{_libdir}/xen/bin/qemu-dm
|
|
%ifarch x86_64
|
|
/usr/lib/xen/bin/qemu-dm
|
|
# NEEDS FIXING
|
|
##/usr/lib64/xen/bin/xc_kexec
|
|
%else
|
|
# NEEDS FIXING
|
|
#/usr/lib/xen/bin/xc_kexec
|
|
%endif
|
|
/usr/lib/xen/boot/hvmloader
|
|
%{_libdir}/python%{pyver}/site-packages/xen/*
|
|
/usr/lib/xen/boot/domUloader.py
|
|
%{_libdir}/python%{pyver}/site-packages/grub/*
|
|
%{_libdir}/python%{pyver}/site-packages/fsimage.so
|
|
%if %{?with_stubdom}0
|
|
/usr/lib/xen/boot/ioemu-stubdom.gz
|
|
%ifarch x86_64
|
|
/usr/lib/xen/boot/pv-grub-x86_64.gz
|
|
%else
|
|
/usr/lib/xen/boot/pv-grub-x86_32.gz
|
|
%endif
|
|
%endif
|
|
%config %{_fwdefdir}/xend-relocation-server
|
|
%endif
|
|
|
|
%files tools-domU
|
|
%defattr(-,root,root)
|
|
/usr/bin/xen-detect
|
|
/bin/domu-xenstore
|
|
/bin/xenstore-*
|
|
|
|
%files devel
|
|
%defattr(-,root,root)
|
|
%{_bindir}/serial-split
|
|
%{_libdir}/*.a
|
|
%{_libdir}/*.so
|
|
/usr/include/*
|
|
|
|
%if %{?with_dom0_support}0
|
|
|
|
%files doc-html
|
|
%defattr(-,root,root)
|
|
%{_defaultdocdir}/xen/html
|
|
|
|
%files doc-pdf
|
|
%defattr(-,root,root)
|
|
%{_defaultdocdir}/xen/pdf
|
|
%endif
|
|
|
|
%if %{?with_dom0_support}0
|
|
|
|
%post tools
|
|
%if %{?with_xend}0
|
|
# with_xend
|
|
# enable both xm (xend based) and xl (libxl based)
|
|
if /bin/ls /etc/init.d/rc3.d/S??xend > /dev/null 2>&1 ; then
|
|
if ! /bin/ls /etc/init.d/rc3.d/S??xencommons > /dev/null 2>&1 ; then
|
|
echo "postin %{name}-tools: Forcing insserv xencommons during package upgrade because xend was enabled."
|
|
echo "postin %{name}-tools: with xend"
|
|
fi
|
|
%{fillup_and_insserv -Y -n xencommons xencommons}
|
|
else
|
|
%{fillup_and_insserv -y -n xencommons xencommons}
|
|
fi
|
|
%{fillup_and_insserv -y -n xend xend}
|
|
%else
|
|
# without_xend
|
|
# disable xm (xend based) and enable only xl (libxl based)
|
|
if /bin/ls /etc/init.d/rc3.d/S??xend > /dev/null 2>&1 ; then
|
|
if ! /bin/ls /etc/init.d/rc3.d/S??xencommons > /dev/null 2>&1 ; then
|
|
echo "postin %{name}-tools: Forcing insserv xencommons during package upgrade because xend was enabled."
|
|
fi
|
|
echo "postin %{name}-tools: disabling xend in favor of xencommons. xm command replaced by xl."
|
|
%{stop_on_removal xend}
|
|
rm -fv /etc/init.d/rc?.d/???xend || :
|
|
%{fillup_and_insserv -Y -n xencommons xencommons}
|
|
else
|
|
%{fillup_and_insserv -y -n xencommons xencommons}
|
|
fi
|
|
%endif
|
|
#
|
|
%{fillup_and_insserv -y -n xendomains xendomains}
|
|
if [ -f /usr/bin/qemu-img ]; then
|
|
if [ -f /usr/bin/qemu-img-xen ]; then
|
|
rm /usr/bin/qemu-img-xen
|
|
fi
|
|
ln -s /usr/bin/qemu-img /usr/bin/qemu-img-xen
|
|
fi
|
|
if [ -f /usr/bin/qemu-nbd ]; then
|
|
if [ -f /usr/bin/qemu-nbd-xen ]; then
|
|
rm /usr/bin/qemu-nbd-xen
|
|
fi
|
|
ln -s /usr/bin/qemu-nbd /usr/bin/qemu-nbd-xen
|
|
fi
|
|
|
|
%preun tools
|
|
%{stop_on_removal xendomains xend xencommons}
|
|
|
|
%postun tools
|
|
%if %{?with_xend}0
|
|
# with_xend
|
|
%{restart_on_update xend}
|
|
%endif
|
|
%{insserv_cleanup}
|
|
if [ -f /usr/bin/qemu-img-xen ]; then
|
|
rm /usr/bin/qemu-img-xen
|
|
fi
|
|
if [ -f /usr/bin/qemu-nbd-xen ]; then
|
|
rm /usr/bin/qemu-nbd-xen
|
|
fi
|
|
%endif
|
|
|
|
%post libs -p /sbin/ldconfig
|
|
|
|
%postun libs -p /sbin/ldconfig
|
|
|
|
%changelog
|