ba5dde9750
53a199d7-x86-EFI-allow-FPU-XMM-use-in-runtime-service-functions.patch - Upstream patches from Jan 538c338f-x86-amd_ucode-flip-revision-numbers-in-printk.patch 538ee637-ACPI-Prevent-acpi_table_entries-from-falling-into-a-infinite-loop.patch 5390917a-VT-d-honor-APEI-firmware-first-mode-in-XSA-59-workaround-code.patch 53909259-x86-domctl-two-functional-fixes-to-XEN_DOMCTL_-gs-etvcpuextstate.patch 5390927f-x86-fix-reboot-shutdown-with-running-HVM-guests.patch 5396d818-avoid-crash-on-HVM-domain-destroy-with-PCI-passthrough.patch 5396e805-x86-HVM-refine-SMEP-test-in-HVM_CR4_GUEST_RESERVED_BITS.patch 539ebe62-x86-EFI-improve-boot-time-diagnostics.patch 539ec004-x86-mce-don-t-spam-the-console-with-CPUx-Temperature-z.patch 53a040c6-page-alloc-scrub-pages-used-by-hypervisor-upon-freeing.patch (replaces xsa100.patch) 53a1990a-IOMMU-prevent-VT-d-device-IOTLB-operations-on-wrong-IOMMU.patch - Replace 'domUloader' with 'pygrub' when converting or importing Xen domains into libvirt with xen2libvirt. domUloader is no longer provided in xen-tools. Modified: xen2libvirt.py Thu Jun 13 15:50:19 MDT 2014 - cyliu@suse.com - fate#310956: Support Direct Kernel Boot for FV guests patches would go to upstream: qemu side: qemu-support-xen-hvm-direct-kernel-boot.patch xen side: xen-pass-kernel-initrd-to-qemu.patch - bnc#880751 - VUL-0: xen: Hypervisor heap contents leaked to guests xsa100.patch OBS-URL: https://build.opensuse.org/package/show/Virtualization/xen?expand=0&rev=320
1586 lines
49 KiB
RPMSpec
1586 lines
49 KiB
RPMSpec
#
|
|
# spec file for package xen
|
|
#
|
|
# Copyright (c) 2014 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/
|
|
#
|
|
|
|
|
|
# needssslcertforbuild
|
|
|
|
Name: xen
|
|
ExclusiveArch: %ix86 x86_64 %arm aarch64
|
|
%define xvers 4.4
|
|
%define xvermaj 4
|
|
%define changeset 28401
|
|
%define xen_build_dir xen-4.4.0-testing
|
|
#
|
|
%define with_kmp 0
|
|
%define with_xend 0
|
|
%define with_xend_tools_pkg 0
|
|
%define with_debug 0
|
|
%define with_stubdom 0
|
|
%define with_gdbsx 0
|
|
%define with_dom0_support 0
|
|
%define with_qemu_traditional 0
|
|
#
|
|
%ifarch x86_64
|
|
%define with_kmp 1
|
|
%define with_debug 1
|
|
%define with_stubdom 1
|
|
%define with_gdbsx 1
|
|
%define with_dom0_support 1
|
|
%define with_qemu_traditional 1
|
|
%define with_xend_tools_pkg 0
|
|
%if %suse_version > 1230
|
|
%if %suse_version == 1315
|
|
%define with_xend_tools_pkg 0
|
|
%else
|
|
%define with_xend_tools_pkg 1
|
|
%endif
|
|
%endif
|
|
%if %suse_version > 1230
|
|
%if %suse_version == 1315
|
|
%define with_xend 0
|
|
%else
|
|
%define with_xend 1
|
|
%endif
|
|
%else
|
|
%define with_xend 1
|
|
%endif
|
|
%endif
|
|
#
|
|
%ifarch %arm aarch64
|
|
%define with_dom0_support 1
|
|
%endif
|
|
#
|
|
%define max_cpus 4
|
|
%ifarch x86_64
|
|
%if %suse_version == 1315
|
|
%define max_cpus 1024
|
|
%else
|
|
%define max_cpus 512
|
|
%endif
|
|
%endif
|
|
#
|
|
%define xen_install_suffix %{nil}
|
|
%ifarch x86_64
|
|
%define xen_install_suffix .gz
|
|
%endif
|
|
# EFI requires gcc 4.6 or newer
|
|
# gcc46 is available in 12.1 or sles11sp2
|
|
# gcc47 is available in sles11sp3
|
|
# 12.2+ have gcc 4.7 as default compiler
|
|
%if %suse_version == 1110
|
|
%define with_gcc47 1
|
|
%else
|
|
%define with_gcc47 0
|
|
%endif
|
|
%define _fwdefdir /etc/sysconfig/SuSEfirewall2.d/services
|
|
%if %suse_version >= 1230
|
|
%define with_systemd 1
|
|
%else
|
|
%define with_systemd 0
|
|
%endif
|
|
%ifarch %arm aarch64
|
|
BuildRequires: libfdt1-devel
|
|
%endif
|
|
%ifarch %ix86 x86_64
|
|
BuildRequires: dev86
|
|
%endif
|
|
BuildRequires: bison
|
|
BuildRequires: fdupes
|
|
BuildRequires: flex
|
|
BuildRequires: glib2-devel
|
|
BuildRequires: libaio-devel
|
|
BuildRequires: libbz2-devel
|
|
BuildRequires: libpixman-1-0-devel
|
|
BuildRequires: libuuid-devel
|
|
BuildRequires: libxml2-devel
|
|
BuildRequires: libyajl-devel
|
|
%if %{?with_qemu_traditional}0
|
|
BuildRequires: SDL-devel
|
|
BuildRequires: pciutils-devel
|
|
%endif
|
|
%if %{?with_stubdom}0
|
|
%if 0%{?suse_version} < 1230
|
|
BuildRequires: texinfo
|
|
%else
|
|
BuildRequires: makeinfo
|
|
%endif
|
|
%endif
|
|
BuildRequires: ncurses-devel
|
|
BuildRequires: openssl-devel
|
|
BuildRequires: python-devel
|
|
%if %{?with_systemd}0
|
|
BuildRequires: systemd
|
|
%endif
|
|
%if %suse_version >= 1120
|
|
BuildRequires: xz-devel
|
|
%endif
|
|
%if %suse_version <= 1110
|
|
BuildRequires: pmtools
|
|
%else
|
|
%ifarch %ix86 x86_64
|
|
BuildRequires: acpica
|
|
%endif
|
|
%endif
|
|
%ifarch x86_64
|
|
%if %{?with_gcc47}0
|
|
BuildRequires: gcc47
|
|
%endif
|
|
BuildRequires: glibc-32bit
|
|
BuildRequires: glibc-devel-32bit
|
|
%endif
|
|
%if %{?with_kmp}0
|
|
BuildRequires: kernel-source
|
|
BuildRequires: kernel-syms
|
|
BuildRequires: module-init-tools
|
|
%if %suse_version >= 1230
|
|
BuildRequires: lndir
|
|
BuildRequires: pesign-obs-integration
|
|
%else
|
|
BuildRequires: xorg-x11-util-devel
|
|
%endif
|
|
%endif
|
|
|
|
Version: 4.4.0_24
|
|
Release: 0
|
|
PreReq: %insserv_prereq %fillup_prereq
|
|
Summary: Xen Virtualization: Hypervisor (aka VMM aka Microkernel)
|
|
License: GPL-2.0
|
|
Group: System/Kernel
|
|
Source0: xen-4.4.0-testing-src.tar.bz2
|
|
Source1: stubdom.tar.bz2
|
|
Source2: qemu-xen-traditional-dir-remote.tar.bz2
|
|
Source3: qemu-xen-dir-remote.tar.bz2
|
|
Source4: seabios-dir-remote.tar.bz2
|
|
Source5: ipxe.tar.bz2
|
|
Source10: README.SuSE
|
|
Source11: boot.xen
|
|
Source12: boot.local.xenU
|
|
Source14: init.xendomains
|
|
Source15: logrotate.conf
|
|
Source18: xmexample.disks
|
|
Source19: block-nbd
|
|
Source20: block-iscsi
|
|
Source21: block-npiv-common.sh
|
|
Source22: block-npiv
|
|
Source23: block-npiv-vport
|
|
Source24: xmclone.sh
|
|
Source26: init.xen_loop
|
|
%if %{?with_kmp}0
|
|
Source28: kmp_filelist
|
|
%endif
|
|
Source29: block-dmmd
|
|
# Xen API remote authentication sources
|
|
Source30: etc_pam.d_xen-api
|
|
Source31: xenapiusers
|
|
# Sysconfig hook script for Xen
|
|
Source32: xen-updown.sh
|
|
# Init script and sysconf file for pciback
|
|
Source34: init.pciback
|
|
Source35: sysconfig.pciback
|
|
Source36: xnloader.py
|
|
Source37: xen2libvirt.py
|
|
# Systemd service files
|
|
Source41: xencommons.service
|
|
Source42: xendomains.service
|
|
Source43: xen-watchdog.service
|
|
# Xend files
|
|
%if %{?with_xend}0
|
|
Source50: init.xend
|
|
Source51: xend-relocation.sh
|
|
Source52: xend-relocation-server.fw
|
|
Source53: domUloader.py
|
|
Source54: xmexample.domUloader
|
|
Source55: xmexample.disks
|
|
Source56: xend.service
|
|
%endif
|
|
Source57: xen-utils-0.1.tar.bz2
|
|
# For xen-libs
|
|
Source99: baselibs.conf
|
|
# http://xenbits.xensource.com/ext/xenalyze
|
|
Source20000: xenalyze.hg.tar.bz2
|
|
# Upstream patches
|
|
Patch1: 530b27fd-x86-MCE-Fix-race-condition-in-mctelem_reserve.patch
|
|
Patch2: 530b2880-Nested-VMX-update-nested-paging-mode-on-vmexit.patch
|
|
Patch3: 530b28c5-x86-MSI-don-t-risk-division-by-zero.patch
|
|
Patch4: 530c54c3-x86-mce-Reduce-boot-time-logspam.patch
|
|
Patch5: 5315a254-IOMMU-generalize-and-correct-softirq-processing.patch
|
|
Patch6: 5315a3bb-x86-don-t-propagate-acpi_skip_timer_override-do-Dom0.patch
|
|
Patch7: 5315a43a-x86-ACPI-also-print-address-space-for-PM1x-fields.patch
|
|
Patch8: 531d8db1-x86-hvm-refine-the-judgment-on-IDENT_PT-for-EMT.patch
|
|
Patch9: 531d8e09-x86-HVM-fix-memory-type-merging-in-epte_get_entry_emt.patch
|
|
Patch10: 531d8e34-x86-HVM-consolidate-passthrough-handling-in-epte_get_entry_emt.patch
|
|
Patch11: 531d8fd0-kexec-identify-which-cpu-the-kexec-image-is-being-executed-on.patch
|
|
Patch12: 531dc0e2-xmalloc-handle-correctly-page-allocation-when-align-size.patch
|
|
Patch13: 53206661-pygrub-support-linux16-and-initrd16.patch
|
|
Patch14: 5321b20b-common-make-hypercall-preemption-checks-consistent.patch
|
|
Patch15: 5321b257-x86-make-hypercall-preemption-checks-consistent.patch
|
|
Patch16: 53271880-VT-d-fix-RMRR-handling.patch
|
|
Patch17: 5327190a-x86-Intel-work-around-Xeon-7400-series-erratum-AAI65.patch
|
|
Patch18: 53299d8f-xenconsole-reset-tty-on-failure.patch
|
|
Patch19: 53299d8f-xenconsole-tolerate-tty-errors.patch
|
|
Patch20: 532fff53-x86-fix-determination-of-bit-count-for-struct-domain-allocations.patch
|
|
Patch21: 5331917d-x86-enforce-preemption-in-HVM_set_mem_access-p2m_set_mem_access.patch
|
|
Patch22: 53356c1e-x86-HVM-correct-CPUID-leaf-80000008-handling.patch
|
|
Patch23: 533ad1ee-VMX-fix-PAT-value-seen-by-guest.patch
|
|
Patch24: 533d413b-x86-mm-fix-checks-against-max_mapped_pfn.patch
|
|
Patch25: 53455585-x86-AMD-feature-masking-is-unavailable-on-Fam11.patch
|
|
Patch26: 5346a7a0-x86-AMD-support-further-feature-masking-MSRs.patch
|
|
Patch27: 534bbd90-x86-nested-HAP-don-t-BUG-on-legitimate-error.patch
|
|
Patch28: 534bdf47-x86-HAP-also-flush-TLB-when-altering-a-present-1G-or-intermediate-entry.patch
|
|
Patch29: 53563ea4-x86-MSI-drop-workaround-for-insecure-Dom0-kernels.patch
|
|
Patch30: 5357baff-x86-add-missing-break-in-dom0_pit_access.patch
|
|
Patch31: 535a34eb-VT-d-suppress-UR-signaling-for-server-chipsets.patch
|
|
Patch32: 535a3516-VT-d-suppress-UR-signaling-for-desktop-chipsets.patch
|
|
Patch33: 535a354b-passthrough-allow-to-suppress-SERR-and-PERR-signaling.patch
|
|
Patch34: 535e31bc-x86-HVM-correct-the-SMEP-logic-for-HVM_CR0_GUEST_RESERVED_BITS.patch
|
|
Patch35: 535fa503-x86-HVM-restrict-HVMOP_set_mem_type.patch
|
|
Patch36: 53636978-hvm_set_ioreq_page-releases-wrong-page-in-error-path.patch
|
|
Patch37: 53636ebf-x86-fix-guest-CPUID-handling.patch
|
|
Patch38: 53709b77-Nested-VMX-load-current_vmcs-only-when-it-exists.patch
|
|
Patch39: 53732f4f-x86-MCE-bypass-uninitialized-vcpu-in-vMCE-injection.patch
|
|
Patch40: 537b5e50-VT-d-apply-quirks-at-device-setup-time-rather-than-only-at-boot.patch
|
|
Patch41: 537b5e79-VT-d-extend-error-report-masking-workaround-to-newer-chipsets.patch
|
|
Patch42: 537b5ede-move-domain-to-cpupool0-before-destroying-it.patch
|
|
Patch43: 537cd0b0-hvmloader-also-cover-PCI-MMIO-ranges-above-4G-with-UC-MTRR-ranges.patch
|
|
Patch44: 537cd0cc-hvmloader-PA-range-0xfc000000-0xffffffff-should-be-UC.patch
|
|
Patch45: 5383167d-ACPI-ERST-fix-table-mapping.patch
|
|
Patch46: 5383175e-VT-d-fix-mask-applied-to-DMIBAR-in-desktop-chipset-XSA-59-workaround.patch
|
|
Patch47: 53859549-AMD-IOMMU-don-t-free-page-table-prematurely.patch
|
|
Patch48: 5385956b-x86-don-t-use-VA-for-cache-flush-when-also-flushing-TLB.patch
|
|
Patch49: 53859956-timers-set-the-deadline-more-accurately.patch
|
|
Patch50: 538c338f-x86-amd_ucode-flip-revision-numbers-in-printk.patch
|
|
Patch51: 538dcada-x86-HVM-eliminate-vulnerabilities-from-hvm_inject_msi.patch
|
|
Patch52: 538ee637-ACPI-Prevent-acpi_table_entries-from-falling-into-a-infinite-loop.patch
|
|
Patch53: 5390917a-VT-d-honor-APEI-firmware-first-mode-in-XSA-59-workaround-code.patch
|
|
Patch54: 53909259-x86-domctl-two-functional-fixes-to-XEN_DOMCTL_-gs-etvcpuextstate.patch
|
|
Patch55: 5390927f-x86-fix-reboot-shutdown-with-running-HVM-guests.patch
|
|
Patch56: 5396d818-avoid-crash-on-HVM-domain-destroy-with-PCI-passthrough.patch
|
|
Patch57: 5396e805-x86-HVM-refine-SMEP-test-in-HVM_CR4_GUEST_RESERVED_BITS.patch
|
|
Patch58: 539ebe62-x86-EFI-improve-boot-time-diagnostics.patch
|
|
Patch59: 539ec004-x86-mce-don-t-spam-the-console-with-CPUx-Temperature-z.patch
|
|
Patch60: 53a040c6-page-alloc-scrub-pages-used-by-hypervisor-upon-freeing.patch
|
|
Patch61: 53a1990a-IOMMU-prevent-VT-d-device-IOTLB-operations-on-wrong-IOMMU.patch
|
|
Patch62: 53a199d7-x86-EFI-allow-FPU-XMM-use-in-runtime-service-functions.patch
|
|
# Upstream qemu
|
|
Patch250: VNC-Support-for-ExtendedKeyEvent-client-message.patch
|
|
Patch251: 0001-net-move-the-tap-buffer-into-TAPState.patch
|
|
Patch252: 0002-net-increase-tap-buffer-size.patch
|
|
Patch253: 0003-e1000-fix-access-4-bytes-beyond-buffer-end.patch
|
|
Patch254: 0004-e1000-secrc-support.patch
|
|
Patch255: 0005-e1000-multi-buffer-packet-support.patch
|
|
Patch256: 0006-e1000-clear-EOP-for-multi-buffer-descriptors.patch
|
|
Patch257: 0007-e1000-verify-we-have-buffers-upfront.patch
|
|
Patch258: 0008-e1000-check-buffer-availability.patch
|
|
# Our platform specific patches
|
|
Patch301: xen-destdir.patch
|
|
Patch302: xen-xmexample.patch
|
|
Patch310: bridge-opensuse.patch
|
|
Patch311: bridge-vlan.patch
|
|
Patch312: bridge-bonding.patch
|
|
Patch313: bridge-record-creation.patch
|
|
Patch314: vif-bridge-no-iptables.patch
|
|
Patch315: vif-bridge-tap-fix.patch
|
|
Patch316: xl-conf-default-bridge.patch
|
|
Patch320: network-nat-open-SuSEfirewall2-FORWARD.patch
|
|
Patch321: udev-rules.patch
|
|
# Needs to go upstream
|
|
Patch330: suspend_evtchn_lock.patch
|
|
Patch331: xenpaging.doc.patch
|
|
Patch332: local_attach_support_for_phy.patch
|
|
# Qemu traditional
|
|
Patch350: blktap.patch
|
|
Patch351: cdrom-removable.patch
|
|
Patch352: change-vnc-passwd.patch
|
|
Patch353: xen-qemu-iscsi-fix.patch
|
|
Patch354: qemu-security-etch1.patch
|
|
Patch355: xen-disable-qemu-monitor.patch
|
|
Patch356: xen-hvm-default-bridge.patch
|
|
Patch357: qemu-ifup-set-mtu.patch
|
|
Patch358: ioemu-vnc-resize.patch
|
|
Patch359: capslock_enable.patch
|
|
Patch360: altgr_2.patch
|
|
Patch361: log-guest-console.patch
|
|
Patch362: ioemu-blktap-fv-init.patch
|
|
Patch363: ioemu-blktap-image-format.patch
|
|
Patch364: build-tapdisk-ioemu.patch
|
|
Patch365: tapdisk-ioemu-logfile.patch
|
|
Patch366: ioemu-blktap-zero-size.patch
|
|
Patch367: tapdisk-ioemu-shutdown-fix.patch
|
|
Patch368: ioemu-blktap-barriers.patch
|
|
Patch369: bdrv_open2_fix_flags.patch
|
|
Patch370: bdrv_open2_flags_2.patch
|
|
Patch371: ioemu-bdrv-open-CACHE_WB.patch
|
|
Patch372: ioemu-7615-qcow2-fix-alloc_cluster_link_l2.patch
|
|
Patch373: qemu-dm-segfault.patch
|
|
Patch374: bdrv_default_rwflag.patch
|
|
Patch375: kernel-boot-hvm.patch
|
|
Patch376: ioemu-watchdog-support.patch
|
|
Patch377: ioemu-watchdog-linkage.patch
|
|
Patch378: ioemu-watchdog-ib700-timer.patch
|
|
Patch379: ioemu-hvm-pv-support.patch
|
|
Patch380: pvdrv_emulation_control.patch
|
|
Patch381: ioemu-disable-scsi.patch
|
|
Patch382: ioemu-disable-emulated-ide-if-pv.patch
|
|
Patch383: xenpaging.qemu.flush-cache.patch
|
|
Patch384: qemu-xen-upstream-blkif-discard.patch
|
|
Patch385: xen_pvonhvm.xen_emul_unplug.patch
|
|
Patch386: libxc-pass-errno-to-callers-of-xc_domain_save.patch
|
|
Patch387: libxl.set-migration-constraints-from-cmdline.patch
|
|
Patch388: libxl.honor-more-top-level-vfb-options.patch
|
|
Patch389: qemu-xen-upstream-megasas-buildtime.patch
|
|
Patch390: libxl.pvscsi.patch
|
|
# Xend
|
|
Patch400: xend-set-migration-constraints-from-cmdline.patch
|
|
Patch402: xen.migrate.tools-xend_move_assert_to_exception_block.patch
|
|
Patch403: xend-pvscsi-recognize-also-SCSI-CDROM-devices.patch
|
|
Patch404: xend-config.patch
|
|
Patch405: xend-max-free-mem.patch
|
|
Patch406: xend-hvm-default-pae.patch
|
|
Patch407: xend-vif-route-ifup.patch
|
|
Patch408: xend-xenapi-console-protocol.patch
|
|
Patch409: xend-core-dump-loc.patch
|
|
Patch410: xend-xen-api-auth.patch
|
|
Patch411: xend-checkpoint-rename.patch
|
|
Patch412: xend-xm-save-check-file.patch
|
|
Patch413: xend-xm-create-xflag.patch
|
|
Patch414: xend-domu-usb-controller.patch
|
|
Patch415: xend-devid-or-name.patch
|
|
Patch416: xend-migration-domname-fix.patch
|
|
Patch417: xend-del_usb_xend_entry.patch
|
|
Patch418: xend-xen-domUloader.patch
|
|
Patch419: xend-multi-xvdp.patch
|
|
Patch420: xend-check_device_status.patch
|
|
Patch421: xend-change_home_server.patch
|
|
Patch422: xend-minimum-restart-time.patch
|
|
Patch423: xend-disable-internal-logrotate.patch
|
|
Patch424: xend-config-enable-dump-comment.patch
|
|
Patch425: xend-tools-watchdog-support.patch
|
|
Patch426: xend-console-port-restore.patch
|
|
Patch427: xend-vcpu-affinity-fix.patch
|
|
Patch428: xend-migration-bridge-check.patch
|
|
Patch429: xend-managed-pci-device.patch
|
|
Patch430: xend-hvm-firmware-passthrough.patch
|
|
Patch431: xend-cpuinfo-model-name.patch
|
|
Patch432: xend-xm-reboot-fix.patch
|
|
Patch433: xend-domain-lock.patch
|
|
Patch434: xend-domain-lock-sfex.patch
|
|
Patch435: xend-32on64-extra-mem.patch
|
|
Patch436: xend-hv_extid_compatibility.patch
|
|
Patch437: xend-xenpaging.autostart.patch
|
|
Patch438: xend-remove-xm-deprecation-warning.patch
|
|
# Other bug fixes or features
|
|
Patch450: libxen_permissive.patch
|
|
Patch451: xenconsole-no-multiple-connections.patch
|
|
Patch452: hibernate.patch
|
|
Patch453: stdvga-cache.patch
|
|
Patch454: ipxe-enable-nics.patch
|
|
Patch455: pygrub-netware-xnloader.patch
|
|
Patch456: pygrub-boot-legacy-sles.patch
|
|
Patch460: blktapctrl-close-fifos.patch
|
|
Patch461: blktapctrl-default-to-ioemu.patch
|
|
Patch462: blktapctrl-disable-debug-printf.patch
|
|
Patch463: blktap-pv-cdrom.patch
|
|
Patch464: set-mtu-from-bridge-for-tap-interface.patch
|
|
Patch465: libxl.add-option-for-discard-support-to-xl-disk-conf.patch
|
|
Patch466: aarch64-rename-PSR_MODE_ELxx-to-match-linux-headers.patch
|
|
Patch467: xl-check-for-libvirt-managed-domain.patch
|
|
Patch468: libxl.introduce-an-option-to-disable-the-non-O_DIRECT-workaround.patch
|
|
Patch469: libxl.add-option-to-disable-disk-cache-flushes-in-qdisk.patch
|
|
Patch470: qemu-xen-upstream-qdisk-cache-unsafe.patch
|
|
Patch471: xen-pass-kernel-initrd-to-qemu.patch
|
|
Patch472: qemu-support-xen-hvm-direct-kernel-boot.patch
|
|
# Hypervisor and PV driver Patches
|
|
Patch501: x86-ioapic-ack-default.patch
|
|
Patch502: x86-cpufreq-report.patch
|
|
Patch503: x86-dom-print.patch
|
|
Patch504: x86-extra-trap-info.patch
|
|
Patch520: supported_module.patch
|
|
Patch521: magic_ioport_compat.patch
|
|
# Build patches
|
|
Patch99997: disable-wget-check.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).
|
|
|
|
In addition to this package you need to install the kernel-xen, xen-libs
|
|
and xen-tools packages to use Xen. Xen version 3 and newer also supports
|
|
running unmodified guests using full virtualization, if appropriate hardware
|
|
is present.
|
|
|
|
[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
|
|
Summary: Xen Virtualization: Libraries
|
|
Group: System/Kernel
|
|
|
|
%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.
|
|
|
|
In addition to this package you need to install kernel-xen, xen and
|
|
xen-tools to use Xen.
|
|
|
|
|
|
Authors:
|
|
--------
|
|
Ian Pratt <ian.pratt@cl.cam.ac.uk>
|
|
|
|
|
|
%if %{?with_dom0_support}0
|
|
|
|
%package tools
|
|
Summary: Xen Virtualization: Control tools for domain 0
|
|
Group: System/Kernel
|
|
Requires: bridge-utils
|
|
Requires: grub2-x86_64-xen
|
|
Requires: multipath-tools
|
|
Requires: python
|
|
Requires: python-curses
|
|
Requires: python-lxml
|
|
Requires: python-openssl
|
|
Requires: python-pam
|
|
Requires: python-xml
|
|
Requires: xen-libs = %{version}
|
|
# subpackage existed in 10.3
|
|
Provides: xen-tools-ioemu = %{version}
|
|
Obsoletes: xen-tools-ioemu < %{version}
|
|
Conflicts: libvirt < 1.0.5
|
|
|
|
%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.
|
|
|
|
In addition to this package you need to install kernel-xen, xen and
|
|
xen-libs to use Xen.
|
|
|
|
|
|
Authors:
|
|
--------
|
|
Ian Pratt <ian.pratt@cl.cam.ac.uk>
|
|
|
|
|
|
%if %{?with_xend}0
|
|
%if %{?with_xend_tools_pkg}0
|
|
%package xend-tools
|
|
Summary: Xen Virtualization: Control tools for domain 0
|
|
Group: System/Kernel
|
|
Requires: pciutils
|
|
Requires: python
|
|
Requires: python-curses
|
|
Requires: python-lxml
|
|
Requires: python-openssl
|
|
Requires: python-pam
|
|
Requires: python-xml
|
|
Requires: xen-tools
|
|
Conflicts: libvirt < 1.0.5
|
|
|
|
%description xend-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 using the legacy xend/xm toolstack.
|
|
|
|
In addition to this package you need to install kernel-xen, xen and
|
|
xen-libs to use Xen.
|
|
%endif
|
|
%endif
|
|
%endif
|
|
|
|
%package tools-domU
|
|
Summary: Xen Virtualization: Control tools for domain U
|
|
Group: System/Kernel
|
|
Conflicts: xen-tools
|
|
|
|
%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
|
|
Summary: Xen Virtualization: Headers and libraries for development
|
|
Group: System/Kernel
|
|
Requires: libuuid-devel
|
|
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.
|
|
|
|
|
|
|
|
Authors:
|
|
--------
|
|
Ian Pratt <ian.pratt@cl.cam.ac.uk>
|
|
|
|
%if %{?with_kmp}0
|
|
|
|
%package KMP
|
|
Summary: Xen para-virtual device drivers for fully virtualized guests
|
|
Group: System/Kernel
|
|
Conflicts: xen
|
|
%if %suse_version >= 1230
|
|
Requires: pesign-obs-integration
|
|
%endif
|
|
|
|
%description KMP
|
|
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 para-virtual device drivers for fully
|
|
virtualized guests.
|
|
|
|
%endif
|
|
|
|
%if %{?with_dom0_support}0
|
|
|
|
%package doc-html
|
|
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>
|
|
%endif
|
|
|
|
%prep
|
|
%setup -q -n %xen_build_dir -a 1 -a 2 -a 3 -a 4 -a 5 -a 57 -a 20000
|
|
# Upstream patches
|
|
%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
|
|
%patch54 -p1
|
|
%patch55 -p1
|
|
%patch56 -p1
|
|
%patch57 -p1
|
|
%patch58 -p1
|
|
%patch59 -p1
|
|
%patch60 -p1
|
|
%patch61 -p1
|
|
%patch62 -p1
|
|
# Upstream qemu patches
|
|
%patch250 -p1
|
|
%patch251 -p1
|
|
%patch252 -p1
|
|
%patch253 -p1
|
|
%patch254 -p1
|
|
%patch255 -p1
|
|
%patch256 -p1
|
|
%patch257 -p1
|
|
%patch258 -p1
|
|
# Our platform specific patches
|
|
%patch301 -p1
|
|
%patch302 -p1
|
|
%patch310 -p1
|
|
%patch311 -p1
|
|
%patch312 -p1
|
|
%patch313 -p1
|
|
%patch314 -p1
|
|
%patch315 -p1
|
|
%patch316 -p1
|
|
%patch320 -p1
|
|
%patch321 -p1
|
|
%patch330 -p1
|
|
%patch331 -p1
|
|
%patch332 -p1
|
|
# Qemu traditional
|
|
%patch350 -p1
|
|
%patch351 -p1
|
|
%patch352 -p1
|
|
%patch353 -p1
|
|
%patch354 -p1
|
|
%patch355 -p1
|
|
%patch356 -p1
|
|
%patch357 -p1
|
|
%patch358 -p1
|
|
%patch359 -p1
|
|
%patch360 -p1
|
|
%patch361 -p1
|
|
%patch362 -p1
|
|
%patch363 -p1
|
|
%patch364 -p1
|
|
%patch365 -p1
|
|
%patch366 -p1
|
|
%patch367 -p1
|
|
%patch368 -p1
|
|
%patch369 -p1
|
|
%patch370 -p1
|
|
%patch371 -p1
|
|
%patch372 -p1
|
|
%patch373 -p1
|
|
%patch374 -p1
|
|
%patch375 -p1
|
|
%patch376 -p1
|
|
%patch377 -p1
|
|
%patch378 -p1
|
|
%patch379 -p1
|
|
%patch380 -p1
|
|
%patch381 -p1
|
|
%patch382 -p1
|
|
%patch383 -p1
|
|
%patch384 -p1
|
|
%patch385 -p1
|
|
%patch386 -p1
|
|
%patch387 -p1
|
|
%patch388 -p1
|
|
%patch389 -p1
|
|
%patch390 -p1
|
|
# Xend
|
|
%patch400 -p1
|
|
%patch402 -p1
|
|
%patch403 -p1
|
|
%patch404 -p1
|
|
%patch405 -p1
|
|
%patch406 -p1
|
|
%patch407 -p1
|
|
%patch408 -p1
|
|
%patch409 -p1
|
|
%patch410 -p1
|
|
%patch411 -p1
|
|
%patch412 -p1
|
|
%patch413 -p1
|
|
%patch414 -p1
|
|
%patch415 -p1
|
|
%patch416 -p1
|
|
%patch417 -p1
|
|
%patch418 -p1
|
|
%patch419 -p1
|
|
%patch420 -p1
|
|
%patch421 -p1
|
|
%patch422 -p1
|
|
%patch423 -p1
|
|
%patch424 -p1
|
|
%patch425 -p1
|
|
%patch426 -p1
|
|
%patch427 -p1
|
|
%patch428 -p1
|
|
%patch429 -p1
|
|
%patch430 -p1
|
|
%patch431 -p1
|
|
%patch432 -p1
|
|
%patch433 -p1
|
|
%patch434 -p1
|
|
%patch435 -p1
|
|
%patch436 -p1
|
|
%patch437 -p1
|
|
%patch438 -p1
|
|
# Other bug fixes or features
|
|
%patch450 -p1
|
|
%patch451 -p1
|
|
%patch452 -p1
|
|
%patch453 -p1
|
|
%patch454 -p1
|
|
%patch455 -p1
|
|
%patch456 -p1
|
|
%patch460 -p1
|
|
%patch461 -p1
|
|
%patch462 -p1
|
|
%patch463 -p1
|
|
%patch464 -p1
|
|
%patch465 -p1
|
|
%patch466 -p1
|
|
%patch467 -p1
|
|
%patch468 -p1
|
|
%patch469 -p1
|
|
%patch470 -p1
|
|
%patch471 -p1
|
|
%patch472 -p1
|
|
# Hypervisor and PV driver Patches
|
|
%patch501 -p1
|
|
%patch502 -p1
|
|
%patch503 -p1
|
|
%patch504 -p1
|
|
%patch520 -p1
|
|
%patch521 -p1
|
|
# Build patches
|
|
%patch99997 -p1
|
|
%patch99998 -p1
|
|
%patch99999 -p1
|
|
|
|
# tools/qemu-xen-traditional-dir-remote/configure ./tools/qemu-xen-dir-remote/configure use
|
|
# clock_gettime to check whether -lrt is needed - and don't check other functions
|
|
# with glibc 2.17 clock_gettime is part of libc, so use timer_settime
|
|
sed -i -e 's/int main(void) { clockid_t id; return clock_gettime(id, NULL); }/int main(void) { struct itimerspec v;timer_t t; return timer_gettime (t, \&v);}/' \
|
|
tools/qemu-xen-traditional-dir-remote/configure ./tools/qemu-xen-dir-remote/configure
|
|
|
|
%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
|
|
export EXTRA_CFLAGS_XEN_TOOLS="$RPM_OPT_FLAGS"
|
|
configure_flags=
|
|
%if %{?with_stubdom}0
|
|
configure_flags=--enable-stubdom
|
|
%else
|
|
configure_flags=--disable-stubdom
|
|
%endif
|
|
%if %{?with_qemu_traditional}0
|
|
configure_flags="${configure_flags} --enable-qemu-traditional"
|
|
%else
|
|
configure_flags="${configure_flags} --disable-qemu-traditional"
|
|
%endif
|
|
%if %{?with_xend}0
|
|
configure_flags="${configure_flags} --enable-xend --enable-blktap1"
|
|
%else
|
|
%if %{?with_qemu_traditional}0
|
|
configure_flags="${configure_flags} --disable-xend --enable-blktap1"
|
|
%else
|
|
configure_flags="${configure_flags} --disable-xend --disable-blktap1"
|
|
%endif
|
|
%endif
|
|
./configure \
|
|
--enable-xenapi \
|
|
--prefix=/usr \
|
|
--exec_prefix=/usr \
|
|
--bindir=%{_bindir} \
|
|
--sbindir=%{_sbindir} \
|
|
--libdir=%{_libdir} \
|
|
--datadir=%{_datadir} \
|
|
${configure_flags}
|
|
%if %{?with_dom0_support}0
|
|
CFLAGS_SAVE=$CFLAGS
|
|
%ifarch %ix86 x86_64
|
|
make -C xenalyze.hg CC="gcc -I../xen/include -DMAX_CPUS=%{max_cpus} ${RPM_OPT_FLAGS}" %{?_smp_mflags} -k
|
|
%endif
|
|
make -C tools/include/xen-foreign %{?_smp_mflags}
|
|
make tools docs %{?_smp_mflags}
|
|
%if %{?with_xend}0
|
|
make -C tools/xen-utils-0.1 XEN_INTREE_BUILD=yes XEN_ROOT=$PWD
|
|
%endif
|
|
%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 EXTRA_CFLAGS_XEN_TOOLS="$RPM_OPT_FLAGS"
|
|
export EXTRA_CFLAGS_QEMU_TRADITIONAL="$RPM_OPT_FLAGS"
|
|
export EXTRA_CFLAGS_QEMU_XEN="$RPM_OPT_FLAGS"
|
|
# EFI
|
|
%if %{?with_dom0_support}0
|
|
export BRP_PESIGN_FILES="*.ko *.efi /lib/firmware"
|
|
make -C xen install \
|
|
%if %{?with_gcc47}0
|
|
CC=gcc-4.7 \
|
|
%endif
|
|
max_phys_cpus=%{max_cpus} debug=n crash_debug=n DESTDIR=$RPM_BUILD_ROOT %{?_smp_mflags}
|
|
make -C xen clean
|
|
install_xen()
|
|
{
|
|
local ext=""
|
|
if [ -n "$1" ]; then
|
|
ext="-$1"
|
|
mv $RPM_BUILD_ROOT/boot/xen-%{version}-%{release}%{xen_install_suffix} \
|
|
$RPM_BUILD_ROOT/boot/xen${ext}-%{version}-%{release}%{xen_install_suffix}
|
|
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}%{xen_install_suffix}
|
|
rm $RPM_BUILD_ROOT/boot/xen-%{xvermaj}%{xen_install_suffix}
|
|
rm $RPM_BUILD_ROOT/boot/xen%{xen_install_suffix}
|
|
# Do not link to links; grub cannot follow.
|
|
ln -s xen${ext}-%{version}-%{release}%{xen_install_suffix} $RPM_BUILD_ROOT/boot/xen${ext}-%{xvers}%{xen_install_suffix}
|
|
ln -s xen${ext}-%{version}-%{release}%{xen_install_suffix} $RPM_BUILD_ROOT/boot/xen${ext}-%{xvermaj}%{xen_install_suffix}
|
|
ln -s xen${ext}-%{version}-%{release}%{xen_install_suffix} $RPM_BUILD_ROOT/boot/xen${ext}%{xen_install_suffix}
|
|
ln -sf xen-syms${ext}-%{version}-%{release} $RPM_BUILD_ROOT/boot/xen-syms${ext}
|
|
}
|
|
%if %{?with_debug}0
|
|
make -C xen install max_phys_cpus=%{max_cpus} debug=y crash_debug=y DESTDIR=$RPM_BUILD_ROOT %{?_smp_mflags}
|
|
install_xen dbg
|
|
make -C xen clean
|
|
%endif
|
|
make -C xen install max_phys_cpus=%{max_cpus} 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}
|
|
echo > xen.files.txt
|
|
# EFI depends on gcc47
|
|
if test -d $RPM_BUILD_ROOT%{_libdir}/efi
|
|
then
|
|
echo %{_libdir}/efi >> xen.files.txt
|
|
fi
|
|
%ifarch x86_64
|
|
ln -s /usr/lib/xen/bin/qemu-dm $RPM_BUILD_ROOT/%{_libdir}/xen/bin/qemu-dm
|
|
ln -s /usr/lib/xen/bin/qemu-system-i386 $RPM_BUILD_ROOT/%{_libdir}/xen/bin/qemu-system-i386
|
|
cp -avL xenalyze.hg/dump-raw $RPM_BUILD_ROOT/%{_bindir}/xenalyze.dump-raw
|
|
cp -avL xenalyze.hg/xenalyze $RPM_BUILD_ROOT/%{_bindir}
|
|
%endif
|
|
%else
|
|
make -C tools 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
|
|
mkdir -p $RPM_BUILD_ROOT/etc/modprobe.d
|
|
for flavor in %flavors_to_build; do
|
|
make -C /usr/src/linux-obj/%_target_cpu/$flavor modules_install \
|
|
M=$PWD/obj/$flavor
|
|
done
|
|
%endif
|
|
|
|
# Stubdom
|
|
%if %{?with_dom0_support}0
|
|
%if %{?with_stubdom}0
|
|
# remove -fstack-protector flag for stubdom build section
|
|
export EXTRA_CFLAGS_XEN_TOOLS=$(echo $RPM_OPT_FLAGS |sed -e 's/-fstack-protector//g')
|
|
export EXTRA_CFLAGS_QEMU_TRADITIONAL=$(echo $RPM_OPT_FLAGS |sed -e 's/-fstack-protector//g')
|
|
export EXTRA_CFLAGS_QEMU_XEN=$(echo $RPM_OPT_FLAGS |sed -e 's/-fstack-protector//g')
|
|
make stubdom %{?_smp_mflags}
|
|
make -C stubdom install \
|
|
DESTDIR=$RPM_BUILD_ROOT MANDIR=%{_mandir} \
|
|
DOCDIR=%{_defaultdocdir}/xen INCDIR=%{_includedir}
|
|
mkdir -p $RPM_BUILD_ROOT/%{_defaultdocdir}/xen
|
|
# restore -fstack-protector flag
|
|
export EXTRA_CFLAGS_XEN_TOOLS="$RPM_OPT_FLAGS"
|
|
export EXTRA_CFLAGS_QEMU_TRADITIONAL="$RPM_OPT_FLAGS"
|
|
export EXTRA_CFLAGS_QEMU_XEN="$RPM_OPT_FLAGS"
|
|
%endif
|
|
|
|
# Docs
|
|
make -C docs install \
|
|
DESTDIR=$RPM_BUILD_ROOT MANDIR=%{_mandir} \
|
|
DOCDIR=%{_defaultdocdir}/xen
|
|
for name in COPYING %SOURCE10 %SOURCE11 %SOURCE12; 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 xl-disk-configuration.txt xl-network-configuration.markdown \
|
|
xl-numa-placement.markdown; 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 tools/hotplug/Linux/init.d/xendomains $RPM_BUILD_ROOT/etc/init.d/xendomains
|
|
ln -s /etc/init.d/xendomains $RPM_BUILD_ROOT/usr/sbin/rcxendomains
|
|
install %SOURCE34 $RPM_BUILD_ROOT/etc/init.d/pciback
|
|
ln -s /etc/init.d/pciback $RPM_BUILD_ROOT/usr/sbin/rcpciback
|
|
install %SOURCE35 $RPM_BUILD_ROOT/var/adm/fillup-templates/sysconfig.pciback
|
|
mkdir -p $RPM_BUILD_ROOT/etc/modprobe.d
|
|
install -m644 %SOURCE26 $RPM_BUILD_ROOT/etc/modprobe.d/xen_loop.conf
|
|
|
|
# Xend init scripts and related programs
|
|
%if %{?with_xend}0
|
|
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/etc/udev/rules.d
|
|
mkdir -p $RPM_BUILD_ROOT/etc/xen/{vm,examples,scripts}
|
|
mv $RPM_BUILD_ROOT/etc/udev/rules.d/xend.rules $RPM_BUILD_ROOT/etc/udev/rules.d/40-xend.rules
|
|
install %SOURCE50 $RPM_BUILD_ROOT/etc/init.d/xend
|
|
ln -s /etc/init.d/xend $RPM_BUILD_ROOT/usr/sbin/rcxend
|
|
install -m755 %SOURCE51 $RPM_BUILD_ROOT/etc/xen/scripts/
|
|
mkdir -p $RPM_BUILD_ROOT/%{_fwdefdir}
|
|
install -m 644 %{S:26} $RPM_BUILD_ROOT/%{_fwdefdir}/xend-relocation-server
|
|
make -C tools/xen-utils-0.1 install DESTDIR=$RPM_BUILD_ROOT XEN_INTREE_BUILD=yes XEN_ROOT=$PWD
|
|
install -m755 %SOURCE53 $RPM_BUILD_ROOT/usr/lib/xen/boot/
|
|
mv $RPM_BUILD_ROOT/etc/xen/xmexample* $RPM_BUILD_ROOT/etc/xen/examples
|
|
install -m644 %SOURCE54 %SOURCE55 $RPM_BUILD_ROOT/etc/xen/examples/
|
|
ln -s /etc/xen/scripts/vm-monitor $RPM_BUILD_ROOT/etc/xen/scripts/set-lock
|
|
%if %{?with_systemd}0
|
|
mkdir -p %{buildroot}%{_unitdir}
|
|
install -m 644 %{SOURCE56} %{buildroot}%{_unitdir}/xend.service
|
|
%endif
|
|
%endif
|
|
install -m755 %SOURCE37 $RPM_BUILD_ROOT/usr/sbin/xen2libvirt
|
|
|
|
# Example config
|
|
mkdir -p $RPM_BUILD_ROOT/etc/xen/{vm,examples,scripts}
|
|
mv $RPM_BUILD_ROOT/etc/xen/xlexample* $RPM_BUILD_ROOT/etc/xen/examples
|
|
rm -f $RPM_BUILD_ROOT/etc/xen/examples/*nbd
|
|
install -m644 %SOURCE18 $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 %SOURCE19 %SOURCE20 %SOURCE21 %SOURCE22 %SOURCE23 %SOURCE24 %SOURCE29 $RPM_BUILD_ROOT/etc/xen/scripts/
|
|
|
|
# Xen API remote authentication files
|
|
install -d $RPM_BUILD_ROOT/etc/pam.d
|
|
install -m644 %SOURCE30 $RPM_BUILD_ROOT/etc/pam.d/xen-api
|
|
install -m644 %SOURCE31 $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 %SOURCE32 $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 %SOURCE15 $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/log/xen
|
|
mkdir -p $RPM_BUILD_ROOT/var/log/xen/console
|
|
ln -s /var/lib/xen/images $RPM_BUILD_ROOT/etc/xen/images
|
|
|
|
# Bootloader
|
|
mkdir -p $RPM_BUILD_ROOT/usr/lib/xen/boot/
|
|
install -m755 %SOURCE36 $RPM_BUILD_ROOT/%{_libdir}/python%{pyver}/site-packages
|
|
|
|
# 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
|
|
|
|
# Systemd
|
|
%if %{?with_systemd}0
|
|
mkdir -p %{buildroot}%{_unitdir}
|
|
install -m 644 %{SOURCE41} %{buildroot}%{_unitdir}/xencommons.service
|
|
install -m 644 %{SOURCE42} %{buildroot}%{_unitdir}/xendomains.service
|
|
install -m 644 %{SOURCE43} %{buildroot}%{_unitdir}/xen-watchdog.service
|
|
%endif
|
|
|
|
# Clean up unpackaged files
|
|
rm -f $RPM_BUILD_ROOT/%{_datadir}/doc/packages/xen/html/hypercall/x86_64/.deps
|
|
rm -f $RPM_BUILD_ROOT/%{_datadir}/doc/packages/xen/html/hypercall/x86_32/.deps
|
|
rm -f $RPM_BUILD_ROOT/%{_datadir}/doc/packages/xen/html/hypercall/arm/.deps
|
|
rm -f $RPM_BUILD_ROOT/usr/share/xen/qemu/openbios-*
|
|
rm -f $RPM_BUILD_ROOT/usr/share/qemu-xen/qemu/openbios-*
|
|
rm -f $RPM_BUILD_ROOT/usr/share/qemu-xen/qemu/palcode-clipper
|
|
rm -f $RPM_BUILD_ROOT/%{_libdir}/python%{pyver}/site-packages/*.egg-info
|
|
rm -rf $RPM_BUILD_ROOT/usr/share/doc/xen/README.*
|
|
rm -rf $RPM_BUILD_ROOT/usr/lib/debug
|
|
rm -f $RPM_BUILD_ROOT/usr/etc/qemu/target-x86_64.conf
|
|
rm -f $RPM_BUILD_ROOT/usr/libexec/qemu-bridge-helper
|
|
rm -f $RPM_BUILD_ROOT/usr/lib/debug/usr/libexec/qemu-bridge-helper.debug
|
|
rm -f $RPM_BUILD_ROOT/usr/sbin/xen-mfndump
|
|
rm -f $RPM_BUILD_ROOT/usr/lib/debug/usr/sbin/xen-mfndump.debug
|
|
rm -f $RPM_BUILD_ROOT/%{_bindir}/qemu-img-xen
|
|
rm -f $RPM_BUILD_ROOT/%{_bindir}/qemu-nbd-xen
|
|
|
|
%if %{?with_xend}0
|
|
%else
|
|
# Remove xend/xm
|
|
rm -rf $RPM_BUILD_ROOT/%{_libdir}/python%{pyver}/site-packages/xen/remus/*
|
|
rm -rf $RPM_BUILD_ROOT/%{_libdir}/python%{pyver}/site-packages/xen/sv/*
|
|
rm -rf $RPM_BUILD_ROOT/%{_libdir}/python%{pyver}/site-packages/xen/util/*
|
|
rm -rf $RPM_BUILD_ROOT/%{_libdir}/python%{pyver}/site-packages/xen/xend/*
|
|
rm -rf $RPM_BUILD_ROOT/%{_libdir}/python%{pyver}/site-packages/xen/xm/*
|
|
rm -rf $RPM_BUILD_ROOT/%{_libdir}/python%{pyver}/site-packages/xen/web/*
|
|
rm -rf $RPM_BUILD_ROOT/var/lib/xen/xend-db
|
|
rm -f $RPM_BUILD_ROOT/etc/udev/rules.d/xend.rules
|
|
rm -f $RPM_BUILD_ROOT/etc/udev/rules.d/40-xend.rules
|
|
rm -f $RPM_BUILD_ROOT/etc/init.d/xend
|
|
rm -f $RPM_BUILD_ROOT/usr/sbin/rcxend
|
|
rm -f $RPM_BUILD_ROOT/usr/sbin/xm
|
|
rm -f $RPM_BUILD_ROOT/usr/sbin/xend
|
|
rm -f $RPM_BUILD_ROOT/usr/sbin/xen-bugtool
|
|
rm -f $RPM_BUILD_ROOT/usr/sbin/xen-python-path
|
|
rm -f $RPM_BUILD_ROOT/usr/sbin/xen-list
|
|
rm -f $RPM_BUILD_ROOT/usr/sbin/xen-destroy
|
|
rm -f $RPM_BUILD_ROOT/usr/sbin/xen-vmresync
|
|
rm -f $RPM_BUILD_ROOT/usr/sbin/blktapctrl
|
|
rm -f $RPM_BUILD_ROOT/etc/xen/scripts/xend-relocation.sh
|
|
rm -f $RPM_BUILD_ROOT/etc/xen/scripts/domain-lock*
|
|
rm -f $RPM_BUILD_ROOT/etc/xen/scripts/vm-monitor
|
|
rm -f $RPM_BUILD_ROOT/etc/xen/scripts/blktap
|
|
rm -f $RPM_BUILD_ROOT/etc/xen/xm-config.xml
|
|
rm -f $RPM_BUILD_ROOT/etc/xen/*.sxp
|
|
rm -f $RPM_BUILD_ROOT/usr/share/man/man1/xm*
|
|
rm -f $RPM_BUILD_ROOT/usr/share/man/man5/xmdomain.cfg*
|
|
rm -f $RPM_BUILD_ROOT/usr/share/man/man5/xend-config.sxp*
|
|
rm -f $RPM_BUILD_ROOT/usr/share/man/man1/xen-list.1.gz
|
|
%endif
|
|
|
|
# Create symlinks for keymaps
|
|
%fdupes -s $RPM_BUILD_ROOT/%{_datadir}
|
|
|
|
%else
|
|
# !with_dom0_support
|
|
|
|
# 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/%{_libdir}/xen
|
|
rm -rf $RPM_BUILD_ROOT/%{_libdir}/python*
|
|
rm -rf $RPM_BUILD_ROOT/usr/sbin
|
|
rm -rf $RPM_BUILD_ROOT/etc/xen
|
|
rm -rf $RPM_BUILD_ROOT/%{_datadir}/qemu-xen
|
|
rm -rf $RPM_BUILD_ROOT/var
|
|
rm -f $RPM_BUILD_ROOT/%{_sysconfdir}/bash_completion.d/xl.sh
|
|
rm -f $RPM_BUILD_ROOT/%{_sysconfdir}/udev/rules.d/xen*
|
|
rm -f $RPM_BUILD_ROOT/%{_sysconfdir}/init.d/xen*
|
|
rm -f $RPM_BUILD_ROOT/%{_bindir}/*store*
|
|
rm -f $RPM_BUILD_ROOT/%{_bindir}/*trace*
|
|
rm -f $RPM_BUILD_ROOT/%{_bindir}/xenco*
|
|
rm -f $RPM_BUILD_ROOT/%{_bindir}/pygrub
|
|
rm -f $RPM_BUILD_ROOT/%{_bindir}/remus
|
|
rm -f $RPM_BUILD_ROOT/usr/etc/qemu/target-x86_64.conf
|
|
rm -f $RPM_BUILD_ROOT/usr/libexec/qemu-bridge-helper
|
|
%endif
|
|
|
|
%if %{?with_dom0_support}0
|
|
|
|
%files -f xen.files.txt
|
|
%defattr(-,root,root)
|
|
/boot/xen-%{version}-%{release}%{xen_install_suffix}
|
|
/boot/xen-%{xvermaj}%{xen_install_suffix}
|
|
/boot/xen-%{xvers}%{xen_install_suffix}
|
|
%if %{?with_debug}0
|
|
/boot/xen-dbg-%{version}-%{release}%{xen_install_suffix}
|
|
/boot/xen-dbg-%{xvermaj}%{xen_install_suffix}
|
|
/boot/xen-dbg-%{xvers}%{xen_install_suffix}
|
|
/boot/xen-dbg%{xen_install_suffix}
|
|
%endif
|
|
/boot/xen-syms
|
|
/boot/xen-syms-%{version}-%{release}
|
|
%if %{?with_debug}0
|
|
/boot/xen-syms-dbg
|
|
/boot/xen-syms-dbg-%{version}-%{release}
|
|
%endif
|
|
/boot/xen%{xen_install_suffix}
|
|
|
|
%endif
|
|
|
|
%files libs
|
|
%defattr(-,root,root)
|
|
%{_libdir}/fs/
|
|
%{_libdir}/*.so.*
|
|
|
|
%if %{?with_dom0_support}0
|
|
|
|
%files tools
|
|
%defattr(-,root,root)
|
|
%ifarch %ix86 x86_64
|
|
/usr/bin/xenalyze
|
|
/usr/bin/xenalyze.dump-raw
|
|
%endif
|
|
/usr/bin/xencons
|
|
/usr/bin/xenstore*
|
|
/usr/bin/xentrace*
|
|
/usr/bin/pygrub
|
|
%if %{?with_qemu_traditional}0
|
|
/usr/bin/tapdisk-ioemu
|
|
%endif
|
|
/usr/bin/remus
|
|
/usr/bin/xencov_split
|
|
#/usr/sbin/flask-*
|
|
/usr/sbin/tap*
|
|
/usr/sbin/rcxendomains
|
|
/usr/sbin/rcpciback
|
|
/usr/sbin/xenbaked
|
|
/usr/sbin/xenconsoled
|
|
/usr/sbin/xencov
|
|
/usr/sbin/xenlockprof
|
|
/usr/sbin/xenmon.py
|
|
/usr/sbin/xenperf
|
|
/usr/sbin/xenpm
|
|
/usr/sbin/xenpmd
|
|
/usr/sbin/xen-ringwatch
|
|
/usr/sbin/xenstored
|
|
/usr/sbin/xen-tmem-list-parse
|
|
/usr/sbin/xentop
|
|
/usr/sbin/xentrace_setmask
|
|
/usr/sbin/xenwatchdogd
|
|
/usr/sbin/gtracestat
|
|
/usr/sbin/gtraceview
|
|
/usr/sbin/lock-util
|
|
/usr/sbin/td-util
|
|
/usr/sbin/vhd-update
|
|
/usr/sbin/vhd-util
|
|
%if %{?with_gdbsx}0
|
|
/usr/sbin/gdbsx
|
|
%endif
|
|
/usr/sbin/xl
|
|
/usr/sbin/xen2libvirt
|
|
%ifarch %ix86 x86_64
|
|
/usr/sbin/xen-hptool
|
|
/usr/sbin/xen-hvmcrash
|
|
/usr/sbin/xen-hvmctx
|
|
/usr/sbin/xen-lowmemd
|
|
/usr/sbin/kdd
|
|
%endif
|
|
%dir %attr(700,root,root) /etc/xen
|
|
%dir /etc/xen/scripts
|
|
%if %{?with_qemu_traditional}0
|
|
/etc/xen/scripts/qemu-ifup
|
|
%endif
|
|
/etc/xen/scripts/block*
|
|
/etc/xen/scripts/external-device-migrate
|
|
/etc/xen/scripts/hotplugpath.sh
|
|
/etc/xen/scripts/locking.sh
|
|
/etc/xen/scripts/logging.sh
|
|
/etc/xen/scripts/network-*
|
|
/etc/xen/scripts/vif2
|
|
/etc/xen/scripts/vif-*
|
|
/etc/xen/scripts/vscsi
|
|
/etc/xen/scripts/xen-hotplug-*
|
|
/etc/xen/scripts/xen-network-common.sh
|
|
/etc/xen/scripts/xen-script-common.sh
|
|
/etc/xen/scripts/xmclone.sh
|
|
%{_libdir}/xen
|
|
%ifarch x86_64 aarch64
|
|
/usr/lib/xen
|
|
%endif
|
|
/var/adm/fillup-templates/sysconfig.pciback
|
|
/var/adm/fillup-templates/sysconfig.xencommons
|
|
/var/adm/fillup-templates/sysconfig.xendomains
|
|
%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
|
|
%ifarch %ix86 x86_64
|
|
%dir %attr(700,root,root) /var/lib/xen/xenpaging
|
|
%endif
|
|
%dir /var/lib/xenstored
|
|
%dir /var/log/xen
|
|
%dir /var/log/xen/console
|
|
%config /etc/logrotate.d/xen
|
|
/etc/xen/auto
|
|
%config /etc/xen/examples
|
|
/etc/xen/images
|
|
%config /etc/xen/cpupool
|
|
/etc/xen/README*
|
|
%config /etc/xen/vm
|
|
%config(noreplace) /etc/xen/xenapiusers
|
|
%config(noreplace) /etc/xen/xl.conf
|
|
%config /etc/pam.d/xen-api
|
|
%config /etc/modprobe.d/xen_loop.conf
|
|
%config /etc/init.d/xencommons
|
|
%config /etc/init.d/xendomains
|
|
%config /etc/init.d/xen-watchdog
|
|
%config /etc/init.d/pciback
|
|
%if %{?with_systemd}0
|
|
%{_unitdir}/xencommons.service
|
|
%{_unitdir}/xendomains.service
|
|
%{_unitdir}/xen-watchdog.service
|
|
%endif
|
|
%dir /etc/modprobe.d
|
|
%dir /etc/udev
|
|
%dir /etc/udev/rules.d
|
|
/etc/udev/rules.d/40-xen.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
|
|
%ifnarch %arm aarch64
|
|
%dir %{_datadir}/qemu-xen
|
|
%{_datadir}/qemu-xen/*
|
|
%endif
|
|
%if %{?with_qemu_traditional}0
|
|
%dir %{_datadir}/xen
|
|
%dir %{_datadir}/xen/qemu
|
|
%{_datadir}/xen/qemu/*
|
|
%endif
|
|
%dir %{_libdir}/python%{pyver}/site-packages/grub
|
|
%dir %{_libdir}/python%{pyver}/site-packages/xen
|
|
%dir %{_libdir}/python%{pyver}/site-packages/xen/lowlevel
|
|
%{_libdir}/python%{pyver}/site-packages/grub/*
|
|
%{_libdir}/python%{pyver}/site-packages/xen/__init__*
|
|
%{_libdir}/python%{pyver}/site-packages/xen/lowlevel/*
|
|
%{_libdir}/python%{pyver}/site-packages/fsimage.so
|
|
%{_libdir}/python%{pyver}/site-packages/xnloader.py
|
|
%dir %{_defaultdocdir}/xen
|
|
%{_defaultdocdir}/xen/COPYING
|
|
%{_defaultdocdir}/xen/README.SuSE
|
|
%{_defaultdocdir}/xen/boot.local.xenU
|
|
%{_defaultdocdir}/xen/boot.xen
|
|
%{_defaultdocdir}/xen/misc
|
|
%{_mandir}/man1/xentop.1.gz
|
|
%{_mandir}/man1/xentrace_format.1.gz
|
|
%{_mandir}/man1/xl.1.gz
|
|
%{_mandir}/man1/xenstore-chmod.1.gz
|
|
%{_mandir}/man1/xenstore-ls.1.gz
|
|
%{_mandir}/man1/xenstore.1.gz
|
|
%{_mandir}/man5/xl.cfg.5.gz
|
|
%{_mandir}/man5/xl.conf.5.gz
|
|
%{_mandir}/man5/xlcpupool.cfg.5.gz
|
|
%{_mandir}/man8/*.8.gz
|
|
|
|
%if %{?with_xend}0
|
|
%if %{?with_xend_tools_pkg}0
|
|
%files xend-tools
|
|
%endif
|
|
%defattr(-,root,root)
|
|
/etc/udev/rules.d/40-xend.rules
|
|
/usr/sbin/rcxend
|
|
/usr/sbin/xm
|
|
/usr/sbin/xend
|
|
/usr/sbin/xen-bugtool
|
|
/usr/sbin/xen-python-path
|
|
/usr/sbin/xen-list
|
|
/usr/sbin/xen-destroy
|
|
/usr/sbin/xen-vmresync
|
|
/usr/sbin/blktapctrl
|
|
%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 %{_libdir}/python%{pyver}/site-packages/xen/remus
|
|
%dir %{_libdir}/python%{pyver}/site-packages/xen/util
|
|
%dir %{_libdir}/python%{pyver}/site-packages/xen/xend
|
|
%dir %{_libdir}/python%{pyver}/site-packages/xen/xm
|
|
%dir %{_libdir}/python%{pyver}/site-packages/xen/web
|
|
%dir %{_datadir}/xen
|
|
%{_datadir}/xen/*.dtd
|
|
%config /etc/init.d/xend
|
|
%if %{?with_systemd}0
|
|
%{_unitdir}/xend.service
|
|
%endif
|
|
%dir %attr(700,root,root) /etc/xen
|
|
%config(noreplace) /etc/xen/*.sxp
|
|
%config(noreplace) /etc/xen/*.xml
|
|
/etc/xen/scripts/blktap
|
|
/etc/xen/scripts/xend-relocation.sh
|
|
/etc/xen/scripts/domain-lock*
|
|
/etc/xen/scripts/vm-monitor
|
|
/etc/xen/scripts/set-lock
|
|
%{_libdir}/python%{pyver}/site-packages/xen/remus/*
|
|
%{_libdir}/python%{pyver}/site-packages/xen/util/*
|
|
%{_libdir}/python%{pyver}/site-packages/xen/xend/*
|
|
%{_libdir}/python%{pyver}/site-packages/xen/xm/*
|
|
%{_libdir}/python%{pyver}/site-packages/xen/web/*
|
|
%config %{_fwdefdir}/xend-relocation-server
|
|
%{_mandir}/man1/xm.1.gz
|
|
%{_mandir}/man5/xmdomain.cfg.5.gz
|
|
%{_mandir}/man5/xend-config.sxp.5.gz
|
|
%{_mandir}/man1/xen-list.1.gz
|
|
%endif
|
|
# with_dom0_support
|
|
%endif
|
|
|
|
%files tools-domU
|
|
%defattr(-,root,root)
|
|
%ifarch %ix86 x86_64
|
|
/usr/bin/xen-detect
|
|
%endif
|
|
/bin/domu-xenstore
|
|
/bin/xenstore-*
|
|
|
|
%files devel
|
|
%defattr(-,root,root)
|
|
%{_libdir}/*.a
|
|
%{_libdir}/*.so
|
|
/usr/include/*
|
|
|
|
%if %{?with_dom0_support}0
|
|
|
|
%files doc-html
|
|
%defattr(-,root,root)
|
|
%{_defaultdocdir}/xen/html
|
|
|
|
%post
|
|
if [ -x /sbin/update-bootloader ]; then
|
|
/sbin/update-bootloader --refresh; exit 0
|
|
fi
|
|
|
|
%post tools
|
|
%if %{?with_systemd}0
|
|
%{fillup_and_insserv -i -y -n xencommons xencommons}
|
|
/bin/systemctl enable xencommons.service
|
|
%if %suse_version <= 1230
|
|
%if %{?with_xend}0
|
|
%{fillup_and_insserv -y -n xend xend}
|
|
/bin/systemctl enable xend.service
|
|
%endif
|
|
%endif
|
|
%else
|
|
%{fillup_and_insserv -y -n xencommons xencommons}
|
|
%if %suse_version <= 1230
|
|
%if %{?with_xend}0
|
|
# 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}
|
|
%endif
|
|
%endif
|
|
%endif
|
|
|
|
%if %{?with_systemd}0
|
|
%{fillup_and_insserv -i -y -n xendomains xendomains}
|
|
/bin/systemctl enable xendomains.service
|
|
%else
|
|
%{fillup_and_insserv -y -n xendomains xendomains}
|
|
%{fillup_only -n pciback}
|
|
%endif
|
|
if [ -f /usr/bin/qemu-img ]; then
|
|
if [ -f /usr/bin/qemu-img-xen ]; then
|
|
rm /usr/bin/qemu-img-xen
|
|
fi
|
|
rm -f /usr/lib/xen/bin/qemu-img-xen
|
|
ln -s /usr/bin/qemu-img /usr/lib/xen/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
|
|
rm -f /usr/lib/xen/bin/qemu-nbd-xen
|
|
ln -s /usr/bin/qemu-nbd /usr/lib/xen/bin/qemu-nbd-xen
|
|
fi
|
|
if [ -f /usr/bin/qemu-io ]; then
|
|
rm -f /usr/lib/xen/bin/qemu-io-xen
|
|
ln -s /usr/bin/qemu-io /usr/lib/xen/bin/qemu-io-xen
|
|
fi
|
|
|
|
%if %{?with_xend}0
|
|
%if %{?with_xend_tools_pkg}0
|
|
%post xend-tools
|
|
%endif
|
|
%if %{?with_systemd}0
|
|
%{fillup_and_insserv -i -y -n xend xend}
|
|
/bin/systemctl enable xend.service
|
|
%else
|
|
%{fillup_and_insserv -y -n xend xend}
|
|
%endif
|
|
%endif
|
|
|
|
%preun tools
|
|
%if %{?with_systemd}0
|
|
if [ $1 -eq 0 ]; then
|
|
/bin/systemctl disable xencommons.service
|
|
/bin/systemctl disable xendomains.service
|
|
%if %suse_version <= 1230
|
|
%if %{?with_xend}0
|
|
/bin/systemctl disable xend.service
|
|
%endif
|
|
%endif
|
|
fi
|
|
%else
|
|
%{stop_on_removal xendomains xencommons}
|
|
%if %suse_version <= 1230
|
|
%if %{?with_xend}0
|
|
%{stop_on_removal xend}
|
|
%endif
|
|
%endif
|
|
%endif
|
|
|
|
%if %suse_version > 1230
|
|
%if %{?with_xend}0
|
|
%if %{?with_xend_tools_pkg}0
|
|
%preun xend-tools
|
|
%endif
|
|
%if %{?with_systemd}0
|
|
if [ $1 -eq 0 ]; then
|
|
/bin/systemctl disable xend.service
|
|
fi
|
|
%else
|
|
%{stop_on_removal xend}
|
|
%endif
|
|
%endif
|
|
%endif
|
|
|
|
%postun tools
|
|
%if %suse_version <= 1230
|
|
%if %{?with_xend}0
|
|
%{restart_on_update xend}
|
|
%endif
|
|
%endif
|
|
%{insserv_cleanup}
|
|
%if %suse_version <= 1230
|
|
%if %{?with_xend}0
|
|
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
|
|
%endif
|
|
|
|
%if %suse_version > 1230
|
|
%if %{?with_xend}0
|
|
%if %{?with_xend_tools_pkg}0
|
|
%postun xend-tools
|
|
%endif
|
|
%{restart_on_update xend}
|
|
%{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
|
|
%endif
|
|
|
|
%endif
|
|
|
|
%post libs -p /sbin/ldconfig
|
|
|
|
%postun libs -p /sbin/ldconfig
|
|
|
|
%changelog
|