Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-12-SP1:GA
xen.950
xen.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File xen.spec of Package xen.950
# # spec file for package xen # # Copyright (c) 2015 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 28620 %define xen_build_dir xen-4.4.2-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 %ifarch x86_64 %if 0%{?suse_version} > 1230 BuildRequires: libspice-server-devel BuildRequires: spice-protocol-devel BuildRequires: usbredir-devel %endif %endif %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.2_10 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.2-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 Source6: figlet.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: 2e5738ff-add-vga-none-support.patch Patch2: 5315a3bb-x86-don-t-propagate-acpi_skip_timer_override-do-Dom0.patch Patch3: 5315a43a-x86-ACPI-also-print-address-space-for-PM1x-fields.patch Patch4: 53299d8f-xenconsole-reset-tty-on-failure.patch Patch5: 53299d8f-xenconsole-tolerate-tty-errors.patch Patch6: 5346a7a0-x86-AMD-support-further-feature-masking-MSRs.patch Patch7: 53563ea4-x86-MSI-drop-workaround-for-insecure-Dom0-kernels.patch Patch8: 537cd0b0-hvmloader-also-cover-PCI-MMIO-ranges-above-4G-with-UC-MTRR-ranges.patch Patch9: 537cd0cc-hvmloader-PA-range-0xfc000000-0xffffffff-should-be-UC.patch Patch10: 538c7df7-libxenstat-handle-renamed-vifs.patch Patch11: 539ebe62-x86-EFI-improve-boot-time-diagnostics.patch Patch12: 53aac342-x86-HVM-consolidate-and-sanitize-CR4-guest-reserved-bit-determination.patch Patch13: 53c9151b-Fix-xl-vncviewer-accesses-port-0-by-any-invalid-domid.patch Patch14: 53d124e7-fix-list_domain_details-check-config-data-length-0.patch Patch15: 53dba447-x86-ACPI-allow-CMOS-RTC-use-even-when-ACPI-says-there-is-none.patch Patch16: 53df727b-x86-HVM-extend-LAPIC-shortcuts-around-P2M-lookups.patch Patch17: 53e8be5f-x86-vHPET-use-rwlock-instead-of-simple-one.patch Patch18: 53fcebab-xen-pass-kernel-initrd-to-qemu.patch Patch19: 53ff3659-x86-consolidate-boolean-inputs-in-hvm-and-p2m.patch Patch20: 53ff36ae-x86-hvm-treat-non-insn-fetch-NPF-also-as-read-violations.patch Patch21: 53ff36d5-x86-mem_event-deliver-gla-fault-EPT-violation-information.patch Patch22: 54005472-EPT-utilize-GLA-GPA-translation-known-for-certain-faults.patch Patch23: 541ad385-x86-suppress-event-check-IPI-to-MWAITing-CPUs.patch Patch24: 541ad3ca-x86-HVM-batch-vCPU-wakeups.patch Patch25: 5423e61c-x86emul-fix-SYSCALL-SYSENTER-SYSEXIT-emulation.patch Patch26: 5424057f-x86-HVM-fix-miscellaneous-aspects-of-x2APIC-emulation.patch Patch27: 542405b4-x86-HVM-fix-ID-handling-of-x2APIC-emulation.patch Patch28: 54379e6d-x86-vlapic-don-t-silently-accept-bad-vectors.patch Patch29: 54467cfc-x86-hvm-further-restrict-x2apic-MSRs.patch Patch30: 5459f759-xentop-dynamically-expand-columns.patch Patch31: 5489c2cf-have-architectures-specify-Dom0-PIRQs.patch Patch32: 548e9c0d-console-allocate-ring-buffer-earlier.patch Patch33: 54ef188e-honor-MEMF_no_refcount-in-alloc_heap_pages.patch Patch34: 54fd9963-VT-d-print_vtd_entries-should-cope-with-superpages.patch Patch35: 54fee8f1-EFI-fix-getting-EFI-variable-list-on-some-systems.patch Patch36: 5502bb30-x86-EFI-allow-reboot-overrides-when-running-under-EFI.patch Patch37: 5502cc91-Revert-cpupools-update-domU-s-node-affinity-in-cpupool_unassign_cpu.patch Patch38: 5502ccff-x86-don-t-apply-reboot-quirks-if-reboot-set-by-user.patch Patch39: 5513dccf-hvmloader-don-t-treat-ROM-BAR-like-other-BARs.patch Patch40: 5513dcf4-x86-don-t-change-affinity-with-interrupt-unmasked.patch Patch41: 5513dd1e-LZ4-fix-the-data-abort-issue.patch Patch42: 5513dd4d-x86-MSI-fix-error-handling.patch Patch43: 551567dd-VT-d-improve-fault-info-logging.patch Patch44: 55157383-x86_emulate-split-the-reg-mem-union-in-struct-operand.patch Patch45: 551ac326-xentop-add-support-for-qdisk.patch Patch46: 551bb761-limit-XEN_DOMCTL_memory_mapping-hypercall-to-64-GFNs.patch Patch47: 551bb769-domctl-don-t-allow-a-toolstack-domain-to-domain_pause-itself.patch Patch48: 5527edd2-x86-hvm-Fix-the-unknown-nested-vmexit-reason-80000021-bug.patch Patch49: 552d0f49-x86-traps-identify-the-vcpu-in-context-when-dumping-registers.patch Patch50: 552d293b-x86-vMSI-X-honor-all-mask-requests.patch Patch51: 552d2966-x86-vMSI-X-add-valid-bits-for-read-acceleration.patch Patch52: 5530c800-x86-efi-Reserve-SMBIOS-table-region-when-EFI-booting.patch Patch53: 5535f633-dont-leak-hypervisor-stack-to-toolstacks.patch Patch54: 553a1549-passthrough-amd-avoid-reading-an-uninitialized-variable.patch Patch55: 5547421d-x86_emulate-fix-EFLAGS-setting-of-CMPXCHG-emulation.patch Patch56: 5548e903-domctl-don-t-truncate-XEN_DOMCTL_max_mem-requests.patch Patch57: 554b6589-cpupool-assigning-a-CPU-to-a-pool-can-fail.patch Patch58: 55506a66-x86-keep-high-bits-of-RAX-on-guest-port-reads.patch Patch59: 55534cce-cpupools-avoid-crashing-if-shutting-down-with-free-CPUs.patch Patch60: 555b04bd-x86-EFI-sync-runtime-services-top-level-page-tables.patch Patch61: 555c6f18-x86-don-t-unconditionally-touch-the-hvm_domain-union.patch Patch62: 555ee510-x86-irq-limit-the-maximum-number-of-domain-PIRQs.patch Patch63: 556c2cf2-x86-don-t-crash-mapping-a-page-using-EFI-rt-page-tables.patch Patch64: 556d9718-efi-fix-allocation-problems-if-ExitBootServices-fails.patch Patch65: 556eabf7-x86-apic-Disable-the-LAPIC-later-in-smp_send_stop.patch Patch66: 556eac15-x86-crash-don-t-use-set_fixmap-in-the-crash-path.patch Patch67: 5576f178-kexec-add-more-pages-to-v1-environment.patch Patch68: 55780aaa-efi-avoid-calling-boot-services-after-ExitBootServices.patch Patch69: 55780aff-x86-EFI-fix-EFI_MEMORY_WP-handling.patch Patch70: 55780b43-EFI-early-add-mapbs-to-map-EfiBootServices-Code-Data.patch Patch71: 55780b97-EFI-support-default-attributes-to-map-Runtime-service-areas.patch Patch72: 55780be1-x86-EFI-adjust-EFI_MEMORY_WP-handling-for-spec-version-2.5.patch Patch73: 55795af9-VT-d-extend-quirks-to-newer-desktop-chipsets.patch Patch74: 5579829c-gnttab-add-version-check-to-GNTTABOP_swap_grant_ref.patch Patch75: 557982bf-x86-traps-loop-in-the-correct-direction-in-compat_iret.patch Patch76: 557aaf20-cpupool-fix-shutdown-with-cpupools-with-different-schedulers.patch Patch126: CVE-2015-2756-xsa126.patch Patch12801: xsa128-qemut.patch Patch12802: xsa128-qemuu.patch Patch12901: xsa129-qemut.patch Patch12902: xsa129-qemuu.patch Patch13001: xsa130-qemut.patch Patch13002: xsa130-qemuu.patch Patch13101: xsa131-qemut-1.patch Patch13102: xsa131-qemut-2.patch Patch13103: xsa131-qemut-3.patch Patch13104: xsa131-qemut-4.patch Patch13105: xsa131-qemut-5.patch Patch13106: xsa131-qemut-6.patch Patch13107: xsa131-qemut-7.patch Patch13108: xsa131-qemut-8.patch Patch13111: xsa131-qemuu-4.4-1.patch Patch13112: xsa131-qemuu-2.patch Patch13113: xsa131-qemuu-3.patch Patch13114: xsa131-qemuu-4.patch Patch13115: xsa131-qemuu-5.patch Patch13116: xsa131-qemuu-6.patch Patch13117: xsa131-qemuu-7.patch Patch13118: xsa131-qemuu-8.patch Patch13501: xsa135-qemut-1.patch Patch13502: xsa135-qemut-2.patch Patch13503: xsa135-qemuu-4.5-1.patch Patch13504: xsa135-qemuu-4.5-2.patch Patch137: CVE-2015-3259-xsa137.patch Patch139: xsa139-qemuu.patch Patch14001: xsa140-qemuu-1.patch Patch14002: xsa140-qemuu-2.patch Patch14003: xsa140-qemuu-3.patch Patch14004: xsa140-qemuu-4.patch Patch14005: xsa140-qemuu-5.patch Patch14006: xsa140-qemuu-6.patch Patch14007: xsa140-qemuu-7.patch Patch14011: xsa140-qemut-1.patch Patch14012: xsa140-qemut-2.patch Patch14013: xsa140-qemut-3.patch Patch14014: xsa140-qemut-4.patch Patch14015: xsa140-qemut-5.patch Patch14016: xsa140-qemut-6.patch Patch14017: xsa140-qemut-7.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 Patch259: CVE-2013-4540-qemu.patch Patch260: CVE-2014-3615-qemu-54a85d46.patch Patch261: CVE-2014-3615-qemu-c1b886c4.patch Patch262: CVE-2014-3615-qemu-ab9509cc.patch Patch263: CVE-2015-3456-xsa133-qemuu.patch Patch264: CVE-2015-3456-xsa133-qemut.patch Patch265: CVE-2015-5154-qemuu-check-array-bounds-before-writing-to-io_buffer.patch Patch266: CVE-2015-5154-qemuu-fix-START-STOP-UNIT-command-completion.patch Patch267: CVE-2015-5154-qemuu-clear-DRQ-after-handling-all-expected-accesses.patch Patch268: CVE-2015-5154-qemut-check-array-bounds-before-writing-to-io_buffer.patch Patch269: CVE-2015-5154-qemut-fix-START-STOP-UNIT-command-completion.patch Patch270: CVE-2015-5154-qemut-clear-DRQ-after-handling-all-expected-accesses.patch # Our platform specific patches Patch301: xen-destdir.patch Patch302: xen-xmexample.patch Patch303: xen-figlet-makefile.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 Patch322: xl-coredump-file-location.patch # Needs to go upstream Patch330: suspend_evtchn_lock.patch Patch331: xenpaging.doc.patch Patch332: local_attach_support_for_phy.patch Patch333: hotplug-Linux-block-find-free-loop-fix.patch Patch334: add-qxl-support.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 Patch439: xend-fix-sendkey.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: qemu-support-xen-hvm-direct-kernel-boot.patch Patch472: qemu-xen-enable-spice-support.patch Patch473: tigervnc-long-press.patch Patch474: libxl-migration-cleanup-remove-backend-domain-field.patch Patch475: libxl-migration-cleanup-update-uuid-name.patch Patch476: libxl-restore-cleanup-left-xenstore-entries.patch Patch477: blktap-control-socket-race.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 %if %suse_version >= 1315 %ifarch x86_64 Requires: grub2-x86_64-xen %endif %endif 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 6 -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 %patch63 -p1 %patch64 -p1 %patch65 -p1 %patch66 -p1 %patch67 -p1 %patch68 -p1 %patch69 -p1 %patch70 -p1 %patch71 -p1 %patch72 -p1 %patch73 -p1 %patch74 -p1 %patch75 -p1 %patch76 -p1 %patch126 -p1 %patch12801 -p1 %patch12802 -p1 %patch12901 -p1 %patch12902 -p1 %patch13001 -p1 %patch13002 -p1 %patch13101 -p1 %patch13102 -p1 %patch13103 -p1 %patch13104 -p1 %patch13105 -p1 %patch13106 -p1 %patch13107 -p1 %patch13108 -p1 %patch13111 -p1 %patch13112 -p1 %patch13113 -p1 %patch13114 -p1 %patch13115 -p1 %patch13116 -p1 %patch13117 -p1 %patch13118 -p1 %patch13501 -p1 %patch13502 -p1 %patch13503 -p1 %patch13504 -p1 %patch137 -p1 %patch139 -p1 %patch14001 -p1 %patch14002 -p1 %patch14003 -p1 %patch14004 -p1 %patch14005 -p1 %patch14006 -p1 %patch14007 -p1 %patch14011 -p1 %patch14012 -p1 %patch14013 -p1 %patch14014 -p1 %patch14015 -p1 %patch14016 -p1 %patch14017 -p1 # Upstream qemu patches %patch250 -p1 %patch251 -p1 %patch252 -p1 %patch253 -p1 %patch254 -p1 %patch255 -p1 %patch256 -p1 %patch257 -p1 %patch258 -p1 %patch259 -p1 %patch260 -p1 %patch261 -p1 %patch262 -p1 %patch263 -p1 %patch264 -p1 %patch265 -p1 %patch266 -p1 %patch267 -p1 %patch268 -p1 %patch269 -p1 %patch270 -p1 # Our platform specific patches %patch301 -p1 %patch302 -p1 %patch303 -p1 %patch310 -p1 %patch311 -p1 %patch312 -p1 %patch313 -p1 %patch314 -p1 %patch315 -p1 %patch316 -p1 %patch320 -p1 %patch321 -p1 %patch322 -p1 %patch330 -p1 %patch331 -p1 %patch332 -p1 %patch333 -p1 %patch334 -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 %patch439 -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 %patch473 -p1 %patch474 -p1 %patch475 -p1 %patch476 -p1 %patch477 -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" %ifarch x86_64 %if 0%{?suse_version} > 1230 export QEMU_XEN_ENABLE_SPICE="--enable-spice --enable-usb-redir" %endif %endif 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} make -C tools/xen-utils-0.1 XEN_INTREE_BUILD=yes XEN_ROOT=$PWD %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 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 make -C tools/xen-utils-0.1 install DESTDIR=$RPM_BUILD_ROOT XEN_INTREE_BUILD=yes XEN_ROOT=$PWD 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/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* %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 /usr/sbin/xen-list /usr/sbin/xen-destroy %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 %{_mandir}/man1/xen-list.1.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/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 %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 [ -f /etc/default/grub ] && ! (/usr/bin/grep GRUB_CMDLINE_XEN /etc/default/grub >/dev/null); then echo '# Xen boot parameters for all Xen boots' >> /etc/default/grub echo 'GRUB_CMDLINE_XEN=""' >> /etc/default/grub echo '# Xen boot parameters for non-recovery Xen boots (in addition to GRUB_CMDLINE_XEN)' >> /etc/default/grub echo 'GRUB_CMDLINE_XEN_DEFAULT=""' >> /etc/default/grub 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
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor