# # spec file for package xen # # Copyright (c) 2012 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/ # Name: xen ExclusiveArch: %ix86 x86_64 %define xvers 4.1 %define xvermaj 4 %define changeset 23174 %define xen_build_dir xen-4.1.2-testing %define with_kmp 1 %define with_stubdom 1 # EFI requires gcc46 or newer # its available in 12.1 or >= sles11sp2 %if %suse_version == 1110 %define with_gcc46 1 %else %define with_gcc46 0 %endif %ifarch x86_64 %define with_dom0_support 1 %else %define with_dom0_support 0 %endif %define _fwdefdir /etc/sysconfig/SuSEfirewall2.d/services %if %suse_version > 1140 %define with_xend 1 %else %define with_xend 1 %endif BuildRequires: LibVNCServer-devel BuildRequires: SDL-devel BuildRequires: automake BuildRequires: bin86 BuildRequires: curl-devel BuildRequires: dev86 BuildRequires: graphviz BuildRequires: latex2html BuildRequires: libbz2-devel BuildRequires: libjpeg-devel BuildRequires: libuuid-devel BuildRequires: libxml2-devel BuildRequires: ncurses-devel BuildRequires: openssl BuildRequires: openssl-devel BuildRequires: pciutils-devel BuildRequires: python-devel BuildRequires: texinfo BuildRequires: transfig %if %suse_version >= 1120 BuildRequires: xz-devel %endif %if %suse_version <= 1110 BuildRequires: pmtools %else BuildRequires: acpica %endif %if %suse_version >= 1030 BuildRequires: texlive BuildRequires: texlive-latex %else BuildRequires: te_ams BuildRequires: te_latex BuildRequires: tetex %endif %ifarch x86_64 %if %{?with_gcc46}0 BuildRequires: gcc46 BuildRequires: libgcc46 BuildRequires: libgcc46-32bit %endif BuildRequires: gcc-32bit BuildRequires: gcc43-32bit BuildRequires: glibc-32bit BuildRequires: glibc-devel-32bit %define max_cpus 256 %define pae_enabled n %else %define max_cpus 32 %define pae_enabled y %endif BuildRequires: glibc-devel %if %{?with_kmp}0 BuildRequires: kernel-source BuildRequires: kernel-syms BuildRequires: module-init-tools BuildRequires: xorg-x11 %endif Version: 4.1.2_17 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.1.2-testing-src.tar.bz2 Source1: stubdom.tar.bz2 Source2: xen-utils-0.1.tar.bz2 Source3: README.SuSE Source4: boot.xen Source5: boot.local.xenU Source6: init.xend Source7: init.xendomains Source8: logrotate.conf Source9: domUloader.py Source10: xmexample.domUloader Source11: xmexample.disks Source12: block-nbd Source13: block-iscsi Source14: block-npiv-common.sh Source15: block-npiv Source16: block-npiv-vport Source17: xmclone.sh Source18: xend-relocation.sh Source19: init.xen_loop %if %{?with_kmp}0 Source20: xen_pvdrivers.conf Source21: kmp_filelist %endif Source22: block-dmmd # Xen API remote authentication sources Source23: etc_pam.d_xen-api Source24: xenapiusers # sysconfig hook script for Xen Source25: xen-updown.sh # Firewall service file for xend relocation server Source26: xend-relocation-server.fw # init script and sysconf file for pciback Source27: init.pciback Source28: sysconfig.pciback Source99: baselibs.conf # http://xenbits.xensource.com/ext/xenalyze Source20000: xenalyze.hg.tar.bz2 # Upstream patches Patch22998: 22998-x86-get_page_from_l1e-retcode.patch Patch22999: 22999-x86-mod_l1_entry-retcode.patch Patch23000: 23000-x86-mod_l2_entry-retcode.patch Patch23050: 23050-xentrace_dynamic_tracebuffer_allocation.patch Patch23074: 23074-pfn.h.patch Patch23091: 23091-xentrace_fix_t_info_pages_calculation..patch Patch23092: 23092-xentrace_print_calculated_numbers_in_calculate_tbuf_size.patch Patch23093: 23093-xentrace_remove_gdprintk_usage_since_they_are_not_in_guest_context.patch Patch23094: 23094-xentrace_update_comments.patch Patch23095: 23095-xentrace_use_consistent_printk_prefix.patch Patch23096: 23096-x86-hpet-no-cpumask_lock.patch Patch23099: 23099-x86-rwlock-scalability.patch Patch23103: 23103-x86-pirq-guest-eoi-check.patch Patch23127: 23127-vtd-bios-settings.patch Patch23128: 23128-xentrace_correct_formula_to_calculate_t_info_pages.patch Patch23129: 23129-xentrace_remove_unneeded_debug_printk.patch Patch23173: 23173-xentrace_Move_register_cpu_notifier_call_into_boot-time_init..patch Patch23199: 23199-amd-iommu-unmapped-intr-fault.patch Patch23233: 23233-hvm-cr-access.patch Patch23234: 23234-svm-decode-assist-base.patch Patch23235: 23235-svm-decode-assist-crs.patch Patch23236: 23236-svm-decode-assist-invlpg.patch Patch23238: 23238-svm-decode-assist-insn-fetch.patch Patch23239: 23239-xentrace_correct_overflow_check_for_number_of_per-cpu_trace_pages.patch Patch23246: 23246-x86-xsave-enable.patch Patch23303: 23303-cpufreq-misc.patch Patch23304: 23304-amd-oprofile-strings.patch Patch23305: 23305-amd-fam15-xenoprof.patch Patch23306: 23306-amd-fam15-vpmu.patch Patch23308: 23308-xentrace_Move_the_global_variable_t_info_first_offset_into_calculate_tbuf_size.patch Patch23309: 23309-xentrace_Mark_data_size___read_mostly_because_its_only_written_once.patch Patch23310: 23310-xentrace_Remove_unneeded_cast_when_assigning_pointer_value_to_dst.patch Patch23334: 23334-amd-fam12+14-vpmu.patch Patch23383: 23383-libxc-rm-static-vars.patch Patch23404: 23404-xentrace_reduce_trace_buffer_size_to_something_mfn_offset_can_reach.patch Patch23405: 23405-xentrace_fix_type_of_offset_to_avoid_ouf-of-bounds_access.patch Patch23406: 23406-xentrace_update___insert_record_to_copy_the_trace_record_to_individual_mfns.patch Patch23407: 23407-xentrace_allocate_non-contiguous_per-cpu_trace_buffers.patch Patch23437: 23437-amd-fam15-TSC-scaling.patch Patch23462: 23462-libxc-cpu-feature.patch Patch23506: 23506-x86_Disable_set_gpfn_from_mfn_until_m2p_table_is_allocated..patch Patch23507: 23507-xenpaging_update_machine_to_phys_mapping_during_page_deallocation.patch Patch23508: 23508-vmx-proc-based-ctls-probe.patch Patch23509: 23509-x86_32_Fix_build_Define_machine_to_phys_mapping_valid.patch Patch23511: 23511-amd-fam15-no-flush-for-C3.patch Patch23562: 23562-xenpaging_remove_unused_spinlock_in_pager.patch Patch23571: 23571-vtd-fault-verbosity.patch Patch23574: 23574-x86-dom0-compressed-ELF.patch Patch23575: 23575-x86-DMI.patch Patch23576: 23576-x86_show_page_walk_also_for_early_page_faults.patch Patch23577: 23577-tools_merge_several_bitop_functions_into_xc_bitops.h.patch Patch23578: 23578-xenpaging_add_xs_handle_to_struct_xenpaging.patch Patch23579: 23579-xenpaging_drop_xc.c_remove_ASSERT.patch Patch23580: 23580-xenpaging_drop_xc.c_remove_xc_platform_info_t.patch Patch23581: 23581-xenpaging_drop_xc.c_remove_xc_wait_for_event.patch Patch23582: 23582-xenpaging_drop_xc.c_move_xc_mem_paging_flush_ioemu_cache.patch Patch23583: 23583-xenpaging_drop_xc.c_move_xc_wait_for_event_or_timeout.patch Patch23584: 23584-xenpaging_drop_xc.c_remove_xc_files.patch Patch23585: 23585-xenpaging_correct_dropping_of_pages_to_avoid_full_ring_buffer.patch Patch23586: 23586-xenpaging_do_not_bounce_p2mt_back_to_the_hypervisor.patch Patch23587: 23587-xenpaging_remove_srand_call.patch Patch23588: 23588-xenpaging_remove_return_values_from_functions_that_can_not_fail.patch Patch23589: 23589-xenpaging_catch_xc_mem_paging_resume_errors.patch Patch23590: 23590-xenpaging_remove_local_domain_id_variable.patch Patch23591: 23591-xenpaging_move_num_pages_into_xenpaging_struct.patch Patch23592: 23592-xenpaging_start_paging_in_the_middle_of_gfn_range.patch Patch23593: 23593-xenpaging_pass_integer_to_xenpaging_populate_page.patch Patch23594: 23594-xenpaging_add_helper_function_for_unlinking_pagefile.patch Patch23595: 23595-xenpaging_add_watch_thread_to_catch_guest_shutdown.patch Patch23596: 23596-xenpaging_implement_stopping_of_pager_by_sending_SIGTERM-SIGINT.patch Patch23597: 23597-xenpaging_remove_private_mem_event.h.patch Patch23599: 23599-tools_fix_build_after_recent_xenpaging_changes.patch Patch23610: 23610-x86-topology-info.patch Patch23611: 23611-amd-fam15-topology.patch Patch23613: 23613-EFI-headers.patch Patch23614: 23614-x86_64-EFI-boot.patch Patch23615: 23615-x86_64-EFI-runtime.patch Patch23616: 23616-x86_64-EFI-MPS.patch Patch23643: 23643-xentrace_Allow_tracing_to_be_enabled_at_boot.patch Patch23676: 23676-x86_64-image-map-bounds.patch Patch23686: 23686-pygrub-solaris.patch Patch23697: 23697-pygrub-grub2.patch Patch23719: 23719-xentrace_update___trace_var_comment.patch Patch23723: 23723-x86-CMOS-lock.patch Patch23724: 23724-x86-smpboot-x2apic.patch Patch23726: 23726-x86-intel-flexmigration-v2.patch Patch23735: 23735-guest-dom0-cap.patch Patch23747: 23747-mmcfg-base-address.patch Patch23749: 23749-mmcfg-reservation.patch Patch23752: 23752-x86-shared-IRQ-vector-maps.patch Patch23754: 23754-AMD-perdev-vector-map.patch Patch23771: 23771-x86-ioapic-clear-pin.patch Patch23772: 23772-x86-trampoline.patch Patch23774: 23774-x86_64-EFI-EDD.patch Patch23781: 23781-pm-wide-ACPI-ids.patch Patch23782: 23782-x86-ioapic-clear-irr.patch Patch23783: 23783-ACPI-set-_PDC-bits.patch Patch23795: 23795-intel-ich10-quirk.patch Patch23800: 23800-x86_64-guest-addr-range.patch Patch23804: 23804-x86-IPI-counts.patch Patch23817: 23817-mem_event_add_ref_counting_for_free_requestslots.patch Patch23818: 23818-mem_event_use_mem_event_mark_and_pause_in_mem_event_check_ring.patch Patch23819: 23819-make-docs.patch Patch23827: 23827-xenpaging_use_batch_of_pages_during_final_page-in.patch Patch23841: 23841-mem_event_pass_mem_event_domain_pointer_to_mem_event_functions.patch Patch23842: 23842-mem_event_use_different_ringbuffers_for_share_paging_and_access.patch Patch23853: 23853-x86-pv-cpuid-xsave.patch Patch23874: 23874-xenpaging_track_number_of_paged_pages_in_struct_domain.patch Patch23897: 23897-x86-mce-offline-again.patch Patch23900: 23900-xzalloc.patch Patch23904: 23904-xenpaging_use_p2m-get_entry_in_p2m_mem_paging_functions.patch Patch23905: 23905-xenpaging_fix_locking_in_p2m_mem_paging_functions.patch Patch23906: 23906-xenpaging_remove_confusing_comment_from_p2m_mem_paging_populate.patch Patch23908: 23908-p2m_query-modify_p2mt_with_p2m_lock_held.patch Patch23925: 23925-x86-AMD-ARAT-Fam12.patch Patch23933: 23933-pt-bus2bridge-update.patch Patch23943: 23943-xenpaging_clear_page_content_after_evict.patch Patch23944: 23944-pygrub-debug.patch Patch23949: 23949-constify_vcpu_set_affinitys_second_parameter.patch Patch23953: 23953-xenpaging_handle_evict_failures.patch Patch23955: 23955-x86-pv-cpuid-xsave.patch Patch23957: 23957-cpufreq-error-paths.patch Patch23978: 23978-xenpaging_check_p2mt_in_p2m_mem_paging_functions.patch Patch23979: 23979-xenpaging_document_p2m_mem_paging_functions.patch Patch23980: 23980-xenpaging_disallow_paging_in_a_PoD_guest.patch Patch23993: 23993-x86-microcode-amd-fix-23871.patch Patch23998: 23998-pygrub-GPT.patch Patch23999: 23999-pygrub-grub2.patch Patch24000: 24000-pygrub-grub2.patch Patch24001: 24001-pygrub-grub2.patch Patch24002: 24002-pygrub-grub2.patch Patch24064: 24064-pygrub-HybridISO.patch Patch24104: 24104-waitqueue_Double_size_of_x86_shadow_stack..patch Patch24105: 24105-xenpaging_compare_domain_pointer_in_p2m_mem_paging_populate.patch Patch24106: 24106-mem_event_check_capabilities_only_once.patch Patch24116: 24116-x86-continuation-cancel.patch Patch24123: 24123-x86-cpuidle-quiesce.patch Patch24124: 24124-x86-microcode-amd-quiesce.patch Patch24137: 24137-revert-23666.patch Patch24138: 24138-xenpaging_munmap_all_pages_after_page-in.patch Patch24144: 24144-cpufreq-turbo-crash.patch Patch24148: 24148-shadow-pgt-dying-op-performance.patch Patch24153: 24153-x86-emul-feature-checks.patch Patch24155: 24155-x86-ioapic-EOI-after-migration.patch Patch24156: 24156-x86-ioapic-shared-vectors.patch Patch24157: 24157-x86-xstate-init.patch Patch24168: 24168-x86-vioapic-clear-remote_irr.patch Patch24171: 24171-x86waitqueue_Allocate_whole_page_for_shadow_stack..patch Patch24178: 24178-debug_Add_domain-vcpu_pause_count_info_to_d_key..patch Patch24189: 24189-x86-p2m-pod-locking.patch Patch24190: 24190-hap-log-dirty-disable-rc.patch Patch24193: 24193-hap-track-dirty-vram-rc.patch Patch24195: 24195-waitqueue_Detect_saved-stack_overflow_and_crash_the_guest..patch Patch24196: 24196-waitqueue_Reorder_prepare_to_wait_so_that_vcpu_is_definitely_on_the.patch Patch24197: 24197-x86-waitqueue_Because_we_have_per-cpu_stacks_we_must_wake_up_on_teh.patch Patch24201: 24201-x86-pcpu-platform-op.patch Patch24208: 24208-xenpaging_remove_filename_from_comment.patch Patch24209: 24209-xenpaging_remove_obsolete_comment_in_resume_path.patch Patch24210: 24210-xenpaging_use_PERROR_to_print_errno.patch Patch24211: 24211-xenpaging_simplify_file_op.patch Patch24212: 24212-xenpaging_print_gfn_in_failure_case.patch Patch24213: 24213-xenpaging_update_xenpaging_init.patch Patch24214: 24214-xenpaging_remove_xc_dominfo_t_from_paging_t.patch Patch24215: 24215-xenpaging_track_the_number_of_paged-out_pages.patch Patch24216: 24216-xenpaging_move_page_add-resume_loops_into_its_own_function..patch Patch24217: 24217-xenpaging_improve_mainloop_exit_handling.patch Patch24218: 24218-libxc_add_bitmap_clear_function.patch Patch24219: 24219-xenpaging_retry_unpageable_gfns.patch Patch24220: 24220-xenpaging_install_into_LIBEXEC_dir.patch Patch24221: 24221-xenpaging_add_XEN_PAGING_DIR_-_libxl_xenpaging_dir_path.patch Patch24222: 24222-xenpaging_use_guests_tot_pages_as_working_target.patch Patch24223: 24223-xenpaging_watch_the_guests_memory-target-tot_pages_xenstore_value.patch Patch24224: 24224-xenpaging_add_cmdline_interface_for_pager.patch Patch24225: 24225-xenpaging_improve_policy_mru_list_handling.patch Patch24226: 24226-xenpaging_add_debug_to_show_received_watch_event..patch Patch24227: 24227-xenpaging_restrict_pagefile_permissions.patch Patch24231: 24231-waitqueue_Implement_wake_up_nroneall..patch Patch24232: 24232-waitqueue_Hold_a_reference_to_a_domain_on_a_waitqueue..patch Patch24261: 24261-x86-cpuidle-Westmere-EX.patch Patch24269: 24269-mem_event_move_mem_event_domain_out_of_struct_domain.patch Patch24270: 24270-Free_d-mem_event_on_domain_destruction..patch Patch24272: 24272-xenpaging_Fix_c-s_235070a29c8c3ddf7_update_machine_to_phys_mapping_during_page_deallocation.patch Patch24275: 24275-x86-emul-lzcnt.patch Patch24277: 24277-x86-dom0-features.patch Patch24278: 24278-x86-dom0-no-PCID.patch Patch24282: 24282-x86-log-dirty-bitmap-leak.patch Patch24318: 24318-x86-mm_Fix_checks_during_foreign_mapping_of_paged_pages.patch Patch24344: 24344-tools-x86_64_Fix_cpuid_inline_asm_to_not_clobber_stacks_red_zone.patch Patch24327: 24327-After_preparing_a_page_for_page-in_allow_immediate_fill-in_of_the_page_contents.patch Patch24328: 24328-Tools_Libxc_wrappers_to_automatically_fill_in_page_oud_page_contents_on_prepare.patch Patch24329: 24329-Teach_xenpaging_to_use_the_new_and_non-racy_xc_mem_paging_load_interface.patch Patch24357: 24357-firmware-no-_PS0-_PS3.patch Patch24358: 24358-kexec-compat-overflow.patch Patch24359: 24359-x86-domU-features.patch Patch24360: 24360-x86-pv-domU-no-PCID.patch Patch24389: 24389-amd-fam10-gart-tlb-walk-err.patch Patch24391: 24391-x86-pcpu-version.patch Patch24401: 24401-pygrub-scrolling.patch Patch24402: 24402-pygrub-edit-fix.patch Patch24411: 24411-x86-ucode-AMD-Fam15.patch Patch24412: 24412-x86-AMD-errata-model-shift.patch Patch24417: 24417-amd-erratum-573.patch Patch24429: 24429-mceinj-tool.patch Patch24447: 24447-x86-TXT-INIT-SIPI-delay.patch Patch24448: 24448-x86-pt-irq-leak.patch Patch24453: 24453-x86-vIRQ-IRR-TMR-race.patch Patch24456: 24456-x86-emul-lea.patch Patch24459: 24459-libxl-vifname.patch Patch24460: 24460-pygrub-extlinux.patch Patch24466: 24466-libxc_Only_retry_mapping_pages_when_ENOENT_is_returned.patch Patch24478: 24478-libxl_add_feature_flag_to_xenstore_for_XS_RESET_WATCHES.patch Patch24517: 24517-VT-d-fault-softirq.patch Patch24527: 24527-AMD-Vi-fault-softirq.patch Patch24535: 24535-x86-vMSI-misc.patch Patch24566: 24566-tools-libxc_fix_error_handling_in_xc_mem_paging_load.patch Patch24586: 24586-x86-mm_Properly_account_for_paged_out_pages.patch Patch24609: 24609-tools-libxc_handle_fallback_in_linux_privcmd_map_foreign_bulk_properly.patch Patch24610: 24610-xenpaging_make_file_op_largefile_aware.patch Patch24615: 24615-VESA-lfb-flush.patch Patch24690: 24690-x86-PCI-SERR-no-deadlock.patch Patch24701: 24701-gnttab-map-grant-ref-recovery.patch Patch24706: 24706-pygrub-extlinux.patch Patch24742: 24742-gnttab-misc.patch Patch24780: 24780-x86-paging-use-clear_guest.patch Patch24781: 24781-x86-vmce-mcg_ctl.patch Patch24805: 24805-x86-MSI-X-dom0-ro.patch Patch24883: 24883-x86-guest-walk-not-present.patch Patch24886: 24886-x86-vmce-mcg_ctl-default.patch Patch24887: 24887-x86-vmce-sr.patch Patch24888: 24888-pci-release-devices.patch Patch24950: 24950-gnttab-copy-mapped.patch Patch24970: 24970-x86-cpuidle-deny-port-access.patch Patch24996: 24996-x86-cpuidle-array-overrun.patch Patch25041: 25041-tapdisk2-create-init-name.patch Patch25098: 25098-x86-emul-lock-UD.patch Patch25101: 25101-x86-hpet-disable.patch Patch25168: 25168-x86-memset-size.patch Patch25191: 25191-x86-tdt-delta-calculation.patch Patch25195: 25195-x86-cpuidle-C2-no-flush-or-bm-check.patch Patch25196: 25196-x86-HAP-PAT-sr.patch Patch25200: 25200-x86_64-trap-bounce-flags.patch Patch25242: 25242-x86_64-hotplug-compat-m2p.patch Patch25247: 25247-SVM-no-rdtsc-intercept.patch Patch25267: 25267-x86-text-unlikely.patch Patch25269: 25269-x86-vMCE-addr-misc-write.patch Patch25271: 25271-x86_64-IST-index.patch Patch25327: 25327-pvdrv-no-asm-system-h.patch # Upstream qemu patches Patch100: ioemu-9868-MSI-X.patch Patch101: ioemu-9869-MSI-X-init.patch Patch102: ioemu-9873-MSI-X-fix-unregister_iomem.patch Patch103: ioemu-9877-MSI-X-device-cleanup.patch Patch104: cve-2012-0029-qemu-xen-unstable.patch # Our patches Patch300: xen-config.diff Patch301: xend-config.diff Patch302: xen-destdir.diff Patch303: xen-rpmoptflags.diff Patch304: xen-warnings.diff Patch305: xen-warnings-unused.diff Patch306: xen-changeset.diff Patch307: xen-paths.diff Patch308: xen-xmexample.diff Patch309: xen-xmexample-vti.diff Patch310: xen-fixme-doc.diff Patch311: xen-domUloader.diff Patch312: xen-no-dummy-nfs-ip.diff Patch313: serial-split.patch Patch314: xen-xm-top-needs-root.diff Patch315: xen-max-free-mem.diff Patch322: bridge-opensuse.patch Patch323: bridge-vlan.diff Patch324: bridge-bonding.diff Patch325: bridge-record-creation.patch Patch326: network-nat.patch Patch327: udev-rules.patch Patch328: vif-route-ifup.patch Patch329: network-nat-open-SuSEfirewall2-FORWARD.patch Patch340: xen-hvm-default-bridge.diff Patch341: xen-hvm-default-pae.diff Patch342: xm-test-cleanup.diff Patch343: tools-xc_kexec.diff Patch344: tools-kboot.diff Patch345: libxen_permissive.patch Patch346: xenapi-console-protocol.patch Patch347: xen-disable-qemu-monitor.diff Patch348: qemu-security-etch1.diff Patch350: cdrom-removable.patch Patch351: xend-core-dump-loc.diff Patch352: blktap.patch Patch353: xen-qemu-iscsi-fix.patch Patch354: xen-api-auth.patch Patch355: ioemu-vnc-resize.patch Patch356: ioemu-debuginfo.patch Patch357: vif-bridge-no-iptables.patch Patch358: xenconsole-no-multiple-connections.patch Patch359: disable-xl-when-using-xend.patch # Needs to go upstream Patch370: checkpoint-rename.patch Patch371: xm-save-check-file.patch Patch372: xm-create-xflag.patch Patch373: xend-sysconfig.patch Patch374: domu-usb-controller.patch Patch375: usb-list.patch Patch376: xend-devid-or-name.patch Patch377: suspend_evtchn_lock.patch Patch378: log-guest-console.patch Patch379: xend-migration-domname-fix.patch Patch380: xm-create-maxmem.patch Patch381: vif-bridge-tap-fix.patch Patch382: xencommons-xenstored-root.patch Patch383: xend-cpuid.patch # Patches for snapshot support Patch400: snapshot-ioemu-save.patch Patch401: snapshot-ioemu-restore.patch Patch402: snapshot-ioemu-delete.patch Patch403: snapshot-xend.patch Patch404: snapshot-without-pv-fix.patch # ioemu part of blktap patch series Patch410: ioemu-blktap-fv-init.patch Patch411: ioemu-blktap-image-format.patch Patch412: build-tapdisk-ioemu.patch Patch413: tapdisk-ioemu-logfile.patch Patch414: ioemu-blktap-zero-size.patch Patch415: tapdisk-ioemu-shutdown-fix.patch Patch420: blktapctrl-default-to-ioemu.patch Patch421: ioemu-blktap-barriers.patch # Other bug fixes or features Patch423: bdrv_open2_fix_flags.patch Patch424: bdrv_open2_flags_2.patch Patch425: ioemu-bdrv-open-CACHE_WB.patch Patch426: ioemu-7615-qcow2-fix-alloc_cluster_link_l2.patch Patch427: xen-ioemu-hvm-pv-support.diff Patch428: qemu-dm-segfault.patch Patch429: hibernate.patch Patch430: del_usb_xend_entry.patch Patch431: capslock_enable.patch Patch433: multi-xvdp.patch Patch434: check_device_status.patch Patch435: change_home_server.patch Patch436: altgr_2.patch Patch438: stdvga-cache.patch Patch439: minios-fixups.patch Patch440: bdrv_default_rwflag.patch Patch442: xen-minimum-restart-time.patch Patch443: vif-bridge.mtu.patch Patch445: hotplug.losetup.patch Patch446: xend-disable-internal-logrotate.patch Patch447: xend-config-enable-dump-comment.patch Patch448: change-vnc-passwd.patch Patch449: kernel-boot-hvm.patch Patch450: ioemu-watchdog-support.patch Patch451: ioemu-watchdog-linkage.patch Patch452: ioemu-watchdog-ib700-timer.patch Patch453: tools-watchdog-support.patch Patch454: xend-console-port-restore.patch Patch455: xencommons-proc-xen.patch Patch456: xend-vcpu-affinity-fix.patch Patch457: xenstored.XS_RESET_WATCHES.patch Patch458: xen-cpupool-xl-config-format.patch Patch459: xl-create-pv-with-qcow2-img.patch Patch460: ipxe-gcc45-warnings.patch Patch461: ipxe-ipv4-fragment.patch Patch462: ipxe-enable-nics.patch Patch463: blktap-close-fifos.patch Patch464: blktap-disable-debug-printf.patch # Jim's domain lock patch Patch480: xend-domain-lock.patch Patch481: xend-domain-lock-sfex.patch # Hypervisor and PV driver Patches Patch500: 32on64-extra-mem.patch Patch501: x86-ioapic-ack-default.patch Patch502: x86-cpufreq-report.patch Patch504: dom-print.patch Patch505: pvdrv-import-shared-info.patch Patch507: x86-extra-trap-info.patch Patch508: pvdrv_emulation_control.patch Patch509: blktap-pv-cdrom.patch Patch510: pv-driver-build.patch Patch511: supported_module.diff Patch512: magic_ioport_compat.patch Patch513: xen.sles11sp1.bug684297.xen_oldmem_pfn_is_ram.patch Patch514: xen.sles11sp1.fate311487.xen_platform_pci.dmistring.patch Patch650: disable_emulated_device.diff Patch651: ioemu-disable-scsi.patch Patch652: ioemu-disable-emulated-ide-if-pv.patch Patch653: x86_64-sysret-canonical.patch Patch654: x86_64-AMD-erratum-121.patch Patch655: x86_64-allow-unsafe-adjust.patch Patch700: hv_extid_compatibility.patch Patch701: xen.no-default-runlevel-4.patch # FATE 310510 Patch1100: xenpaging.versioned-interface.patch Patch1101: xenpaging.mmap-before-nominate.patch Patch1102: xenpaging.p2m_is_paged.patch Patch1103: xenpaging.evict_fail_fast_forward.patch Patch1104: xenpaging.error-handling.patch Patch1105: xenpaging.mem_event-use-wait_queue.patch Patch1106: xenpaging.waitqueue-paging.patch Patch1107: xenpaging.evict_mmap_readonly.patch Patch1126: xenpaging.guest-memusage.patch Patch1129: xenpaging.autostart.patch Patch1130: xenpaging.doc.patch Patch1131: xenpaging.speedup-page-out.patch Patch1132: xenpaging.speedup-page-in.gfn_to_slot.patch Patch1134: xen-unstable.misc.linux_privcmd_map_foreign_bulk.retry_paged.patch Patch1135: xenpaging.speedup-page-out.resume_pages.find_next_bit_set.patch Patch1136: xenpaging.speedup-page-out.policy_choose_victim.patch Patch1137: xenpaging.speedup-page-out.evict_pages.free_slot_stack.patch Patch1142: xenpaging.qemu.flush-cache.patch # xenalyze Patch20000: xenalyze.gcc46.patch # Build patch Patch99998: tmp-initscript-modprobe.patch Patch99999: tmp_build.patch Url: http://www.cl.cam.ac.uk/Research/SRG/netos/xen/ BuildRoot: %{_tmppath}/%{name}-%{version}-build %define pyver %(python -c "import sys; print sys.version[:3]") %if %{?with_kmp}0 %suse_kernel_module_package -n xen um xen -f kmp_filelist %endif %description Xen is a virtual machine monitor for x86 that supports execution of multiple guest operating systems with unprecedented levels of performance and resource isolation. This package contains the Xen Hypervisor. (tm) Modern computers are sufficiently powerful to use virtualization to present the illusion of many smaller virtual machines (VMs), each running a separate operating system instance. Successful partitioning of a machine to support the concurrent execution of multiple operating systems poses several challenges. Firstly, virtual machines must be isolated from one another: It is not acceptable for the execution of one to adversely affect the performance of another. This is particularly true when virtual machines are owned by mutually untrusting users. Secondly, it is necessary to support a variety of different operating systems to accommodate the heterogeneity of popular applications. Thirdly, the performance overhead introduced by virtualization should be small. Xen uses a technique called paravirtualization: The guest OS is modified, mainly to enhance performance. The Xen hypervisor (microkernel) does not provide device drivers for your hardware (except for CPU and memory). This job is left to the kernel that's running in domain 0. Thus the domain 0 kernel is privileged; it has full hardware access. It's started immediately after Xen starts up. Other domains have no access to the hardware; instead they use virtual interfaces that are provided by Xen (with the help of the domain 0 kernel). Xen does support booting other Operating Systems; ports of NetBSD (Christian Limpach), FreeBSD (Kip Macy), and Plan 9 (Ron Minnich) exist. A port of Windows XP was developed for an earlier version of Xen, but is not available for release due to license restrictions. In addition to this package you need to install the kernel-xen and xen-tools to use Xen. Xen 3 also supports running unmodified guests using full virtualization, if appropriate hardware is present. Install xen-tools-ioemu if you want to use this. [Hypervisor is a trademark of IBM] Authors: -------- Ian Pratt Keir Fraser Christian Limpach Mark Williamson Ewan Mellor ... %package libs Summary: Xen Virtualization: Libraries Group: System/Kernel #Requires: xen = %{version} %description libs Xen is a virtual machine monitor for x86 that supports execution of multiple guest operating systems with unprecedented levels of performance and resource isolation. This package contains the libraries used to interact with the Xen virtual machine monitor. Modern computers are sufficiently powerful to use virtualization to present the illusion of many smaller virtual machines (VMs), each running a separate operating system instance. Successful partitioning of a machine to support the concurrent execution of multiple operating systems poses several challenges. Firstly, virtual machines must be isolated from one another: It is not acceptable for the execution of one to adversely affect the performance of another. This is particularly true when virtual machines are owned by mutually untrusting users. Secondly, it is necessary to support a variety of different operating systems to accommodate the heterogeneity of popular applications. Thirdly, the performance overhead introduced by virtualization should be small. Xen uses a technique called paravirtualization: The guest OS is modified, mainly to enhance performance. The Xen hypervisor (microkernel) does not provide device drivers for your hardware (except for CPU and memory). This job is left to the kernel that's running in domain 0. Thus the domain 0 kernel is privileged; it has full hardware access. It's started immediately after Xen starts up. Other domains have no access to the hardware; instead they use virtual interfaces that are provided by Xen (with the help of the domain 0 kernel). Xen does support booting other Operating Systems; ports of NetBSD (Christian Limpach), FreeBSD (Kip Macy), and Plan 9 (Ron Minnich) exist. A port of Windows XP was developed for an earlier version of Xen, but is not available for release due to license restrictions. Authors: -------- Ian Pratt %if %{?with_dom0_support}0 %package tools Summary: Xen Virtualization: Control tools for domain 0 Group: System/Kernel Requires: bridge-utils 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 = 3.2 Obsoletes: xen-tools-ioemu <= 3.2 %description tools Xen is a virtual machine monitor for x86 that supports execution of multiple guest operating systems with unprecedented levels of performance and resource isolation. This package contains the control tools that allow you to start, stop, migrate, and manage virtual machines. Modern computers are sufficiently powerful to use virtualization to present the illusion of many smaller virtual machines (VMs), each running a separate operating system instance. Successful partitioning of a machine to support the concurrent execution of multiple operating systems poses several challenges. Firstly, virtual machines must be isolated from one another: It is not acceptable for the execution of one to adversely affect the performance of another. This is particularly true when virtual machines are owned by mutually untrusting users. Secondly, it is necessary to support a variety of different operating systems to accommodate the heterogeneity of popular applications. Thirdly, the performance overhead introduced by virtualization should be small. Xen uses a technique called paravirtualization: The guest OS is modified, mainly to enhance performance. The Xen hypervisor (microkernel) does not provide device drivers for your hardware (except for CPU and memory). This job is left to the kernel that's running in domain 0. Thus the domain 0 kernel is privileged; it has full hardware access. It's started immediately after Xen starts up. Other domains have no access to the hardware; instead they use virtual interfaces that are provided by Xen (with the help of the domain 0 kernel). Xen does support booting other Operating Systems; ports of NetBSD (Christian Limpach), FreeBSD (Kip Macy), and Plan 9 (Ron Minnich) exist. A port of Windows XP was developed for an earlier version of Xen, but is not available for release due to license restrictions. In addition to this package you need to install kernel-xen and xen to use Xen. Authors: -------- Ian Pratt %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 %package devel Summary: Xen Virtualization: Headers and libraries for development Group: System/Kernel Requires: xen-libs = %{version} %description devel Xen is a virtual machine monitor for x86 that supports execution of multiple guest operating systems with unprecedented levels of performance and resource isolation. This package contains the libraries and header files needed to create tools to control virtual machines. Modern computers are sufficiently powerful to use virtualization to present the illusion of many smaller virtual machines (VMs), each running a separate operating system instance. Successful partitioning of a machine to support the concurrent execution of multiple operating systems poses several challenges. Firstly, virtual machines must be isolated from one another: It is not acceptable for the execution of one to adversely affect the performance of another. This is particularly true when virtual machines are owned by mutually untrusting users. Secondly, it is necessary to support a variety of different operating systems to accommodate the heterogeneity of popular applications. Thirdly, the performance overhead introduced by virtualization should be small. Xen uses a technique called paravirtualization: The guest OS is modified, mainly to enhance performance. The Xen hypervisor (microkernel) does not provide device drivers for your hardware (except for CPU and memory). This job is left to the kernel that's running in domain 0. Thus the domain 0 kernel is privileged; it has full hardware access. It's started immediately after Xen starts up. Other domains have no access to the hardware; instead they use virtual interfaces that are provided by Xen (with the help of the domain 0 kernel). Xen does support booting other Operating Systems; ports of NetBSD (Christian Limpach), FreeBSD (Kip Macy), and Plan 9 (Ron Minnich) exist. A port of Windows XP was developed for an earlier version of Xen, but is not available for release due to license restrictions. Authors: -------- Ian Pratt %if %{?with_kmp}0 %package KMP Summary: Xen para-virtual device drivers for fully virtualized guests Group: System/Kernel Conflicts: xen %description KMP Xen para-virtual device drivers for fully virtualized guests Xen is a virtual machine monitor for x86 that supports execution of multiple guest operating systems with unprecedented levels of performance and resource isolation. This package contains the libraries and header files needed to create tools to control virtual machines. Modern computers are sufficiently powerful to use virtualization to present the illusion of many smaller virtual machines (VMs), each running a separate operating system instance. Successful partitioning of a machine to support the concurrent execution of multiple operating systems poses several challenges. Firstly, virtual machines must be isolated from one another: It is not acceptable for the execution of one to adversely affect the performance of another. This is particularly true when virtual machines are owned by mutually untrusting users. Secondly, it is necessary to support a variety of different operating systems to accommodate the heterogeneity of popular applications. Thirdly, the performance overhead introduced by virtualization should be small. Xen uses a technique called paravirtualization: The guest OS is modified, mainly to enhance performance. The Xen hypervisor (microkernel) does not provide device drivers for your hardware (except for CPU and memory). This job is left to the kernel that's running in domain 0. Thus the domain 0 kernel is privileged; it has full hardware access. It's started immediately after Xen starts up. Other domains have no access to the hardware; instead they use virtual interfaces that are provided by Xen (with the help of the domain 0 kernel). Xen does support booting other Operating Systems; ports of NetBSD (Christian Limpach), FreeBSD (Kip Macy), and Plan 9 (Ron Minnich) exist. A port of Windows XP was developed for an earlier version of Xen, but is not available for release due to license restrictions. %endif %if %{?with_dom0_support}0 %package doc-html 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 %package doc-pdf Summary: Xen Virtualization: PDF documentation Group: Documentation/Other %description doc-pdf Xen is a virtual machine monitor for x86 that supports execution of multiple guest operating systems with unprecedented levels of performance and resource isolation. xen-doc-pdf contains the online documentation in PDF format. Use xpdf/kpdf/gpdf/gv/... to read the files in /usr/share/doc/packages/xen/pdf/ Authors: -------- Ian Pratt %endif %prep %setup -q -n %xen_build_dir -a 1 -a 20000 %patch20000 -p1 tar xfj %{SOURCE2} -C $RPM_BUILD_DIR/%{xen_build_dir}/tools # Upstream patches %patch22998 -p1 %patch22999 -p1 %patch23000 -p1 %patch23050 -p1 %patch23074 -p1 %patch23091 -p1 %patch23092 -p1 %patch23093 -p1 %patch23094 -p1 %patch23095 -p1 %patch23096 -p1 %patch23099 -p1 %patch23103 -p1 %patch23127 -p1 %patch23128 -p1 %patch23129 -p1 %patch23173 -p1 %patch23199 -p1 %patch23233 -p1 %patch23234 -p1 %patch23235 -p1 %patch23236 -p1 %patch23238 -p1 %patch23239 -p1 %patch23246 -p1 %patch23303 -p1 %patch23304 -p1 %patch23305 -p1 %patch23306 -p1 %patch23308 -p1 %patch23309 -p1 %patch23310 -p1 %patch23334 -p1 %patch23383 -p1 %patch23404 -p1 %patch23405 -p1 %patch23406 -p1 %patch23407 -p1 %patch23437 -p1 %patch23462 -p1 %patch23506 -p1 %patch23507 -p1 %patch23508 -p1 %patch23509 -p1 %patch23511 -p1 %patch23562 -p1 %patch23571 -p1 %patch23574 -p1 %patch23575 -p1 %patch23576 -p1 %patch23577 -p1 %patch23578 -p1 %patch23579 -p1 %patch23580 -p1 %patch23581 -p1 %patch23582 -p1 %patch23583 -p1 %patch23584 -p1 %patch23585 -p1 %patch23586 -p1 %patch23587 -p1 %patch23588 -p1 %patch23589 -p1 %patch23590 -p1 %patch23591 -p1 %patch23592 -p1 %patch23593 -p1 %patch23594 -p1 %patch23595 -p1 %patch23596 -p1 %patch23597 -p1 %patch23599 -p1 %patch23610 -p1 %patch23611 -p1 %patch23613 -p1 %patch23614 -p1 %patch23615 -p1 %patch23616 -p1 %patch23643 -p1 %patch23676 -p1 %patch23686 -p1 %patch23697 -p1 %patch23719 -p1 %patch23723 -p1 %patch23724 -p1 %patch23726 -p1 %patch23735 -p1 %patch23747 -p1 %patch23749 -p1 %patch23752 -p1 %patch23754 -p1 %patch23771 -p1 %patch23772 -p1 %patch23774 -p1 %patch23781 -p1 %patch23782 -p1 %patch23783 -p1 %patch23795 -p1 %patch23800 -p1 %patch23804 -p1 %patch23817 -p1 %patch23818 -p1 %patch23819 -p1 %patch23827 -p1 %patch23841 -p1 %patch23842 -p1 %patch23853 -p1 %patch23874 -p1 %patch23897 -p1 %patch23900 -p1 %patch23904 -p1 %patch23905 -p1 %patch23906 -p1 %patch23908 -p1 %patch23925 -p1 %patch23933 -p1 %patch23943 -p1 %patch23944 -p1 %patch23949 -p1 %patch23953 -p1 %patch23955 -p1 %patch23957 -p1 %patch23978 -p1 %patch23979 -p1 %patch23980 -p1 %patch23993 -p1 %patch23998 -p1 %patch23999 -p1 %patch24000 -p1 %patch24001 -p1 %patch24002 -p1 %patch24064 -p1 %patch24104 -p1 %patch24105 -p1 %patch24106 -p1 %patch24116 -p1 %patch24123 -p1 %patch24124 -p1 %patch24137 -p1 %patch24138 -p1 %patch24144 -p1 %patch24148 -p1 %patch24153 -p1 %patch24155 -p1 %patch24156 -p1 %patch24157 -p1 %patch24168 -p1 %patch24171 -p1 %patch24178 -p1 %patch24189 -p1 %patch24190 -p1 %patch24193 -p1 %patch24195 -p1 %patch24196 -p1 %patch24197 -p1 %patch24201 -p1 %patch24208 -p1 %patch24209 -p1 %patch24210 -p1 %patch24211 -p1 %patch24212 -p1 %patch24213 -p1 %patch24214 -p1 %patch24215 -p1 %patch24216 -p1 %patch24217 -p1 %patch24218 -p1 %patch24219 -p1 %patch24220 -p1 %patch24221 -p1 %patch24222 -p1 %patch24223 -p1 %patch24224 -p1 %patch24225 -p1 %patch24226 -p1 %patch24227 -p1 %patch24231 -p1 %patch24232 -p1 %patch24261 -p1 %patch24269 -p1 %patch24270 -p1 %patch24272 -p1 %patch24275 -p1 %patch24277 -p1 %patch24278 -p1 %patch24282 -p1 %patch24318 -p1 %patch24344 -p1 %patch24327 -p1 %patch24328 -p1 %patch24329 -p1 %patch24357 -p1 %patch24358 -p1 %patch24359 -p1 %patch24360 -p1 %patch24389 -p1 %patch24391 -p1 %patch24401 -p1 %patch24402 -p1 %patch24411 -p1 %patch24412 -p1 %patch24417 -p1 %patch24429 -p1 %patch24447 -p1 %patch24448 -p1 %patch24453 -p1 %patch24456 -p1 %patch24459 -p1 %patch24460 -p1 %patch24466 -p1 %patch24478 -p1 %patch24517 -p1 %patch24527 -p1 %patch24535 -p1 %patch24566 -p1 %patch24586 -p1 %patch24609 -p1 %patch24610 -p1 %patch24615 -p1 %patch24690 -p1 %patch24701 -p1 %patch24706 -p1 %patch24742 -p1 %patch24780 -p1 %patch24781 -p1 %patch24805 -p1 %patch24883 -p1 %patch24886 -p1 %patch24887 -p1 %patch24888 -p1 %patch24950 -p1 %patch24970 -p1 %patch24996 -p1 %patch25041 -p1 %patch25098 -p1 %patch25101 -p1 %patch25168 -p1 %patch25191 -p1 %patch25195 -p1 %patch25196 -p1 %patch25200 -p1 %patch25242 -p1 %patch25247 -p1 %patch25267 -p1 %patch25269 -p1 %patch25271 -p1 %patch25327 -p1 # Qemu %patch100 -p1 %patch101 -p1 %patch102 -p1 %patch103 -p1 %patch104 -p1 # Our patches %patch300 -p1 %patch301 -p1 %patch302 -p1 %patch303 -p1 %patch304 -p1 %patch305 -p1 %patch306 -p1 %patch307 -p1 %patch308 -p1 %patch309 -p1 %patch310 -p1 %patch311 -p1 %patch312 -p1 %patch313 -p1 %patch314 -p1 %patch315 -p1 %patch322 -p1 %patch323 -p1 %patch324 -p1 %patch325 -p1 %patch326 -p1 %patch327 -p1 %patch328 -p1 %patch329 -p1 %patch340 -p1 %patch341 -p1 %patch342 -p1 #%patch343 -p1 kexec %patch344 -p1 %patch345 -p1 %patch346 -p1 %patch347 -p1 %patch348 -p1 %patch350 -p1 %patch351 -p1 %patch352 -p1 %patch353 -p1 %patch354 -p1 %patch355 -p1 %patch356 -p1 %patch357 -p1 %patch358 -p1 %patch359 -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 %patch400 -p1 %patch401 -p1 %patch402 -p1 %patch403 -p1 %patch404 -p1 %patch410 -p1 %patch411 -p1 %patch412 -p1 %patch413 -p1 %patch414 -p1 %patch415 -p1 %patch420 -p1 %patch421 -p1 %patch423 -p1 %patch424 -p1 %patch425 -p1 %patch426 -p1 %patch427 -p1 %patch428 -p1 %patch429 -p1 %patch430 -p1 %patch431 -p1 %patch433 -p1 %patch434 -p1 %patch435 -p1 %patch436 -p1 %patch438 -p1 %patch439 -p1 %patch440 -p1 %patch442 -p1 %patch443 -p1 %patch445 -p1 %patch446 -p1 %patch447 -p1 %patch448 -p1 %patch449 -p1 %patch450 -p1 %patch451 -p1 %patch452 -p1 %patch453 -p1 %patch454 -p1 %patch455 -p1 %patch456 -p1 %patch457 -p1 %patch458 -p1 %patch459 -p1 %patch460 -p1 %patch461 -p1 %patch462 -p1 %patch463 -p1 %patch464 -p1 %patch480 -p1 %patch481 -p1 %patch500 -p1 %patch501 -p1 %patch502 -p1 %patch504 -p1 %patch505 -p1 %patch507 -p1 %patch508 -p1 %patch509 -p1 %patch510 -p1 %patch511 -p1 %patch512 -p1 %patch513 -p1 %patch514 -p1 %patch650 -p1 %patch651 -p1 %patch652 -p1 %patch653 -p1 %patch654 -p1 %patch655 -p1 %patch700 -p1 %patch701 -p1 # FATE 310510 %patch1100 -p1 %patch1101 -p1 %patch1102 -p1 %patch1103 -p1 %patch1104 -p1 %patch1105 -p1 %patch1106 -p1 %patch1107 -p1 %patch1126 -p1 %patch1129 -p1 %patch1130 -p1 %patch1131 -p1 %patch1132 -p1 %patch1134 -p1 %patch1135 -p1 %patch1136 -p1 %patch1137 -p1 %patch1142 -p1 # %patch99998 -p1 %patch99999 -p1 %build XEN_EXTRAVERSION=%version-%release XEN_EXTRAVERSION=${XEN_EXTRAVERSION#%{xvers}} sed -i "s/XEN_EXTRAVERSION[\t ]*.=.*\$/XEN_EXTRAVERSION = $XEN_EXTRAVERSION/" xen/Makefile sed -i "s/XEN_CHANGESET[\t ]*=.*\$/XEN_CHANGESET = %{changeset}/" xen/Makefile RPM_OPT_FLAGS=${RPM_OPT_FLAGS//-fstack-protector/} export CFLAGS="${RPM_OPT_FLAGS}" export RPM_OPT_FLAGS %if %{?with_dom0_support}0 make -C xenalyze.hg CC="gcc -I../xen/include" %{?_smp_mflags} make -C tools/include/xen-foreign %{?_smp_mflags} make tools docs %{?_smp_mflags} make -C tools/debugger/gdbsx make -C tools/xen-utils-0.1 XEN_INTREE_BUILD=yes %else make -C tools/include/xen-foreign %{?_smp_mflags} make tools docs %{?_smp_mflags} %endif %if %{?with_kmp}0 # pv driver modules export XL=/usr/src/linux export XEN=/usr/src/linux/include/xen mkdir -p obj for flavor in %flavors_to_build; do rm -rf obj/$flavor cp -r unmodified_drivers/linux-2.6 obj/$flavor cd obj/$flavor ./mkbuildtree make -C /usr/src/linux-obj/%_target_cpu/$flavor modules \ %{?_smp_mflags} \ M=$PWD cd ../.. done %endif %install export CFLAGS="$RPM_OPT_FLAGS" %if %{?with_dom0_support}0 # EFI %ifarch x86_64 make -C xen install \ %if %{?with_gcc46}0 CC=gcc-4.6 \ %endif max_phys_cpus=%{max_cpus} debug=n crash_debug=n DESTDIR=$RPM_BUILD_ROOT %{?_smp_mflags} make -C xen clean %endif install_xen() { local ext="" if [ -n "$1" ]; then ext="-$1" mv $RPM_BUILD_ROOT/boot/xen-%{version}-%{release}.gz \ $RPM_BUILD_ROOT/boot/xen${ext}-%{version}-%{release}.gz mv $RPM_BUILD_ROOT/boot/xen-syms-%{version}-%{release} \ $RPM_BUILD_ROOT/boot/xen-syms${ext}-%{version}-%{release} fi rm $RPM_BUILD_ROOT/boot/xen-%{xvers}.gz rm $RPM_BUILD_ROOT/boot/xen-%{xvermaj}.gz rm $RPM_BUILD_ROOT/boot/xen.gz # Do not link to links; grub cannot follow. ln -s xen${ext}-%{version}-%{release}.gz $RPM_BUILD_ROOT/boot/xen${ext}-%{xvers}.gz ln -s xen${ext}-%{version}-%{release}.gz $RPM_BUILD_ROOT/boot/xen${ext}-%{xvermaj}.gz ln -s xen${ext}-%{version}-%{release}.gz $RPM_BUILD_ROOT/boot/xen${ext}.gz ln -sf xen-syms${ext}-%{version}-%{release} $RPM_BUILD_ROOT/boot/xen-syms${ext} } make -C xen install max_phys_cpus=%{max_cpus} pae=%{pae_enabled} debug=y crash_debug=y DESTDIR=$RPM_BUILD_ROOT %{?_smp_mflags} install_xen dbg make -C xen clean make -C xen install max_phys_cpus=%{max_cpus} pae=%{pae_enabled} debug=n crash_debug=n DESTDIR=$RPM_BUILD_ROOT %{?_smp_mflags} install_xen make -C xen clean make -C tools/include/xen-foreign %{?_smp_mflags} # tools export XEN_PYTHON_NATIVE_INSTALL=1 make -C tools install \ DESTDIR=$RPM_BUILD_ROOT MANDIR=%{_mandir} %{?_smp_mflags} rm -f $RPM_BUILD_ROOT/usr/sbin/{qcow-create,img2qcow,qcow2raw} make -C tools/misc/serial-split install \ DESTDIR=$RPM_BUILD_ROOT MANDIR=%{_mandir} %{?_smp_mflags} %ifarch x86_64 mkdir -p $RPM_BUILD_ROOT/${_libdir}/xen/bin/ ln -s /usr/lib/xen/bin/qemu-dm $RPM_BUILD_ROOT/%{_libdir}/xen/bin/qemu-dm %endif # efi depends on gcc46 echo > xen.files.txt if test -d $RPM_BUILD_ROOT%{_libdir}/efi then echo %{_libdir}/efi >> xen.files.txt fi cp -avL xenalyze.hg/dump-raw $RPM_BUILD_ROOT/%{_bindir}/xenalyze.dump-raw cp -avL xenalyze.hg/xenalyze $RPM_BUILD_ROOT/%{_bindir} %else make -C tools install DESTDIR=$RPM_BUILD_ROOT MANDIR=%{_mandir} %{?_smp_mflags} make -C tools/misc/serial-split install \ DESTDIR=$RPM_BUILD_ROOT MANDIR=%{_mandir} %{?_smp_mflags} %endif # PV driver modules %if %{?with_kmp}0 export INSTALL_MOD_PATH=$RPM_BUILD_ROOT export INSTALL_MOD_DIR=updates 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 install -m644 %SOURCE20 $RPM_BUILD_ROOT/etc/modprobe.d/xen_pvdrivers-$flavor.conf done %endif %if %{?with_dom0_support}0 # Stubdom %if %{?with_stubdom}0 make stubdom make -C stubdom install \ DESTDIR=$RPM_BUILD_ROOT MANDIR=%{_mandir} \ DOCDIR=%{_defaultdocdir}/xen INCDIR=%{_includedir} mkdir -p $RPM_BUILD_ROOT/%{_defaultdocdir}/xen %ifarch x86_64 ln -s /usr/lib/xen/bin/stubdom-dm $RPM_BUILD_ROOT/usr/lib64/xen/bin/stubdom-dm ln -s /usr/lib/xen/bin/stubdompath.sh $RPM_BUILD_ROOT/usr/lib64/xen/bin/stubdompath.sh %endif %endif # Docs make -C docs install \ DESTDIR=$RPM_BUILD_ROOT MANDIR=%{_mandir} \ DOCDIR=%{_defaultdocdir}/xen for name in COPYING %SOURCE3 %SOURCE4 %SOURCE5; do install -m 644 $name $RPM_BUILD_ROOT/%{_defaultdocdir}/xen/ done mkdir -p $RPM_BUILD_ROOT/%{_defaultdocdir}/xen/misc for name in vtpm.txt crashdb.txt sedf_scheduler_mini-HOWTO.txt xenpaging.txt; do install -m 644 docs/misc/$name $RPM_BUILD_ROOT/%{_defaultdocdir}/xen/misc/ done %endif # init scripts %if %{?with_dom0_support}0 mkdir -p $RPM_BUILD_ROOT/etc/init.d install %SOURCE6 $RPM_BUILD_ROOT/etc/init.d/xend ln -s /etc/init.d/xend $RPM_BUILD_ROOT/usr/sbin/rcxend install %SOURCE7 $RPM_BUILD_ROOT/etc/init.d/xendomains ln -s /etc/init.d/xendomains $RPM_BUILD_ROOT/usr/sbin/rcxendomains install %SOURCE27 $RPM_BUILD_ROOT/etc/init.d/pciback ln -s /etc/init.d/pciback $RPM_BUILD_ROOT/usr/sbin/rcpciback install %SOURCE28 $RPM_BUILD_ROOT/var/adm/fillup-templates/sysconfig.pciback mkdir -p $RPM_BUILD_ROOT/etc/modprobe.d install -m644 %SOURCE19 $RPM_BUILD_ROOT/etc/modprobe.d/xen_loop.conf # example config mkdir -p $RPM_BUILD_ROOT/etc/xen/{vm,examples,scripts} mv $RPM_BUILD_ROOT/etc/xen/xmexample* $RPM_BUILD_ROOT/etc/xen/examples rm -f $RPM_BUILD_ROOT/etc/xen/examples/*nbd install -m644 %SOURCE10 %SOURCE11 $RPM_BUILD_ROOT/etc/xen/examples/ install -m644 tools/xentrace/formats $RPM_BUILD_ROOT/etc/xen/examples/xentrace_formats.txt # scripts rm -f $RPM_BUILD_ROOT/etc/xen/scripts/block-*nbd install -m755 %SOURCE12 %SOURCE13 %SOURCE14 %SOURCE15 %SOURCE16 %SOURCE17 %SOURCE18 %SOURCE22 $RPM_BUILD_ROOT/etc/xen/scripts/ ln -s /etc/xen/scripts/vm-monitor $RPM_BUILD_ROOT/etc/xen/scripts/set-lock # Xen API remote authentication files install -d $RPM_BUILD_ROOT/etc/pam.d install -m644 %SOURCE23 $RPM_BUILD_ROOT/etc/pam.d/xen-api install -m644 %SOURCE24 $RPM_BUILD_ROOT/etc/xen/ # sysconfig hook for Xen mkdir -p $RPM_BUILD_ROOT/etc/sysconfig/network/scripts mkdir -p $RPM_BUILD_ROOT/etc/sysconfig/network/if-up.d mkdir -p $RPM_BUILD_ROOT/etc/sysconfig/network/if-down.d install -m755 %SOURCE25 $RPM_BUILD_ROOT/etc/sysconfig/network/scripts ln -s /etc/sysconfig/network/scripts/xen-updown.sh $RPM_BUILD_ROOT/etc/sysconfig/network/if-up.d/xen ln -s /etc/sysconfig/network/scripts/xen-updown.sh $RPM_BUILD_ROOT/etc/sysconfig/network/if-down.d/xen # logrotate install -m644 -D %SOURCE8 $RPM_BUILD_ROOT/etc/logrotate.d/xen # directories mkdir -p $RPM_BUILD_ROOT/var/lib/xenstored mkdir -p $RPM_BUILD_ROOT/var/lib/xen/images mkdir -p $RPM_BUILD_ROOT/var/lib/xen/jobs mkdir -p $RPM_BUILD_ROOT/var/lib/xen/save mkdir -p $RPM_BUILD_ROOT/var/lib/xen/dump mkdir -p $RPM_BUILD_ROOT/var/lib/xen/xend-db/domain mkdir -p $RPM_BUILD_ROOT/var/lib/xen/xend-db/migrate mkdir -p $RPM_BUILD_ROOT/var/lib/xen/xend-db/vnet mkdir -p $RPM_BUILD_ROOT/var/log/xen mkdir -p $RPM_BUILD_ROOT/var/log/xen/console ln -s /var/lib/xen/images $RPM_BUILD_ROOT/etc/xen/images # Bootloader install -m755 %SOURCE9 $RPM_BUILD_ROOT/usr/lib/xen/boot/ # udev support mkdir -p $RPM_BUILD_ROOT/etc/udev/rules.d mv $RPM_BUILD_ROOT/etc/udev/rules.d/xen-backend.rules $RPM_BUILD_ROOT/etc/udev/rules.d/40-xen.rules mv $RPM_BUILD_ROOT/etc/udev/rules.d/xend.rules $RPM_BUILD_ROOT/etc/udev/rules.d/40-xend.rules # xen utils make -C tools/xen-utils-0.1 install DESTDIR=$RPM_BUILD_ROOT XEN_INTREE_BUILD=yes # Clean up unpackaged files rm -rf $RPM_BUILD_ROOT/%{_datadir}/doc/xen/qemu/ rm -f $RPM_BUILD_ROOT/%{_datadir}/doc/qemu/qemu-* rm -rf $RPM_BUILD_ROOT/%{_defaultdocdir}/xen/ps rm -rf $RPM_BUILD_ROOT/usr/share/xen/man/man1/qemu/qemu* rm -f $RPM_BUILD_ROOT/usr/share/xen/qemu/openbios-sparc32 rm -f $RPM_BUILD_ROOT/usr/share/xen/qemu/openbios-sparc64 rm -f $RPM_BUILD_ROOT/usr/share/xen/qemu/openbios-ppc rm -f $RPM_BUILD_ROOT/usr/sbin/netfix rm -f $RPM_BUILD_ROOT/%{_libdir}/python%{pyver}/site-packages/*.egg-info rm -rf $RPM_BUILD_ROOT/html rm -rf $RPM_BUILD_ROOT/usr/share/doc/xen/README.* rm -f $RPM_BUILD_ROOT/%{_libdir}/xen/bin/qemu-dm.debug rm -f $RPM_BUILD_ROOT/%{_bindir}/qemu-img-xen rm -f $RPM_BUILD_ROOT/%{_bindir}/qemu-nbd-xen rm -rf $RPM_BUILD_ROOT/%{_libdir}/debug #install firewall definitions format is described here: #/usr/share/SuSEfirewall2/services/TEMPLATE mkdir -p $RPM_BUILD_ROOT/%{_fwdefdir} install -m 644 %{S:26} $RPM_BUILD_ROOT/%{_fwdefdir}/xend-relocation-server %else # 32 bit hypervisor no longer supported. Remove dom0 tools. rm -rf $RPM_BUILD_ROOT/%{_datadir}/doc rm -rf $RPM_BUILD_ROOT/%{_datadir}/man rm -rf $RPM_BUILD_ROOT/%{_datadir}/xen rm -rf $RPM_BUILD_ROOT/%{_datadir}/locale rm -rf $RPM_BUILD_ROOT/%{_libdir}/xen rm -rf $RPM_BUILD_ROOT/%{_libdir}/python* rm -rf $RPM_BUILD_ROOT/usr/sbin rm -rf $RPM_BUILD_ROOT/etc/bash_completion.d rm -rf $RPM_BUILD_ROOT/etc/init.d rm -rf $RPM_BUILD_ROOT/etc/logrotate.d rm -rf $RPM_BUILD_ROOT/etc/pam.d rm -rf $RPM_BUILD_ROOT/etc/sysconfig rm -rf $RPM_BUILD_ROOT/etc/udev rm -rf $RPM_BUILD_ROOT/etc/xen rm -rf $RPM_BUILD_ROOT/var rm -f $RPM_BUILD_ROOT/%{_bindir}/*store* rm -f $RPM_BUILD_ROOT/%{_bindir}/*trace* rm -f $RPM_BUILD_ROOT/%{_bindir}/xenalyze* rm -f $RPM_BUILD_ROOT/%{_bindir}/qemu* rm -f $RPM_BUILD_ROOT/%{_bindir}/pygrub rm -f $RPM_BUILD_ROOT/%{_bindir}/remus rm -f $RPM_BUILD_ROOT/%{_bindir}/tapdisk-ioemu rm -f $RPM_BUILD_ROOT/%{_bindir}/xencons %endif %if %{?with_dom0_support}0 %files -f xen.files.txt %defattr(-,root,root) /boot/xen-%{version}-%{release}.gz /boot/xen-%{xvermaj}.gz /boot/xen-%{xvers}.gz /boot/xen-dbg-%{version}-%{release}.gz /boot/xen-dbg-%{xvermaj}.gz /boot/xen-dbg-%{xvers}.gz /boot/xen-dbg.gz /boot/xen-syms /boot/xen-syms-%{version}-%{release} /boot/xen-syms-dbg /boot/xen-syms-dbg-%{version}-%{release} /boot/xen.gz %endif %files libs %defattr(-,root,root) %{_libdir}/fs/ %{_libdir}/*.so.* %if %{?with_dom0_support}0 %files tools %defattr(-,root,root) /usr/bin/xenalyze /usr/bin/xenalyze.dump-raw /usr/bin/xencons /usr/bin/xenstore* /usr/bin/xentrace* /usr/bin/pygrub /usr/bin/tapdisk-ioemu /usr/bin/remus /usr/sbin/blktapctrl /usr/sbin/flask-loadpolicy /usr/sbin/flask-getenforce /usr/sbin/flask-setenforce /usr/sbin/rcxend /usr/sbin/rcxendomains /usr/sbin/rcpciback /usr/sbin/tapdisk /usr/sbin/xen* /usr/sbin/xm /usr/sbin/xsview /usr/sbin/gtracestat /usr/sbin/gtraceview /usr/sbin/lock-util /usr/sbin/tapdisk-client /usr/sbin/tapdisk-diff /usr/sbin/tapdisk-stream /usr/sbin/tapdisk2 /usr/sbin/td-util /usr/sbin/vhd-update /usr/sbin/vhd-util /usr/sbin/gdbsx /usr/sbin/xl /usr/sbin/kdd /usr/sbin/tap-ctl %{_libdir}/xen %ifarch x86_64 /usr/lib/xen %endif %{_mandir}/man1/*.1.gz %{_mandir}/man5/*.5.gz %{_mandir}/man8/*.8.gz /var/adm/fillup-templates/* %dir /var/lib/xen %dir %attr(700,root,root) /var/lib/xen/images %dir %attr(700,root,root) /var/lib/xen/save %dir %attr(700,root,root) /var/lib/xen/dump %dir %attr(700,root,root) /var/lib/xen/xenpaging %dir /var/lib/xen/xend-db %dir /var/lib/xen/xend-db/domain %dir /var/lib/xen/xend-db/migrate %dir /var/lib/xen/xend-db/vnet %dir /var/lib/xenstored %dir /var/log/xen %dir /var/log/xen/console %config /etc/init.d/* %config /etc/logrotate.d/xen %dir %attr(700,root,root) /etc/xen /etc/xen/auto %config /etc/xen/examples /etc/xen/images /etc/xen/scripts %config /etc/xen/cpupool /etc/xen/README* %config /etc/xen/vm %config(noreplace) /etc/xen/*.sxp %config(noreplace) /etc/xen/*.xml %config(noreplace) /etc/xen/xenapiusers %config(noreplace) /etc/xen/xl.conf %config /etc/pam.d/xen-api %config /etc/modprobe.d/xen_loop.conf %dir /etc/modprobe.d %dir /etc/udev %dir /etc/udev/rules.d /etc/udev/rules.d/40-xen.rules /etc/udev/rules.d/40-xend.rules /etc/sysconfig/network/scripts/xen-updown.sh /etc/sysconfig/network/if-up.d/xen /etc/sysconfig/network/if-down.d/xen /etc/bash_completion.d/xl.sh %dir %{_defaultdocdir}/xen %{_defaultdocdir}/xen/COPYING %{_defaultdocdir}/xen/README.SuSE %{_defaultdocdir}/xen/boot.local.xenU %{_defaultdocdir}/xen/boot.xen %{_defaultdocdir}/xen/misc %dir %{_libdir}/python%{pyver}/site-packages/xen %dir %{_libdir}/python%{pyver}/site-packages/grub %dir %{_datadir}/xen %dir %{_datadir}/xen/man %dir %{_datadir}/xen/man/man1 %dir %{_datadir}/xen/man/man8 %dir %{_datadir}/xen/qemu %{_datadir}/xen/*.dtd %{_datadir}/xen/qemu/* %{_datadir}/xen/man/man1/* %{_datadir}/xen/man/man8/* %{_libdir}/python%{pyver}/site-packages/xen/* %{_libdir}/python%{pyver}/site-packages/grub/* %{_libdir}/python%{pyver}/site-packages/fsimage.so %config %{_fwdefdir}/xend-relocation-server %endif %files tools-domU %defattr(-,root,root) /usr/bin/xen-detect /bin/domu-xenstore /bin/xenstore-* %files devel %defattr(-,root,root) %{_bindir}/serial-split %{_libdir}/*.a %{_libdir}/*.so /usr/include/* %if %{?with_dom0_support}0 %files doc-html %defattr(-,root,root) %{_defaultdocdir}/xen/html %files doc-pdf %defattr(-,root,root) %{_defaultdocdir}/xen/pdf %endif %if %{?with_dom0_support}0 %post tools %if %{?with_xend}0 # with_xend # enable both xm (xend based) and xl (libxl based) if /bin/ls /etc/init.d/rc3.d/S??xend > /dev/null 2>&1 ; then if ! /bin/ls /etc/init.d/rc3.d/S??xencommons > /dev/null 2>&1 ; then echo "postin %{name}-tools: Forcing insserv xencommons during package upgrade because xend was enabled." echo "postin %{name}-tools: with xend" fi %{fillup_and_insserv -Y -n xencommons xencommons} else %{fillup_and_insserv -y -n xencommons xencommons} fi %{fillup_and_insserv -y -n xend xend} %else # without_xend # disable xm (xend based) and enable only xl (libxl based) if /bin/ls /etc/init.d/rc3.d/S??xend > /dev/null 2>&1 ; then if ! /bin/ls /etc/init.d/rc3.d/S??xencommons > /dev/null 2>&1 ; then echo "postin %{name}-tools: Forcing insserv xencommons during package upgrade because xend was enabled." fi echo "postin %{name}-tools: disabling xend in favor of xencommons. xm command replaced by xl." %{stop_on_removal xend} rm -fv /etc/init.d/rc?.d/???xend || : %{fillup_and_insserv -Y -n xencommons xencommons} else %{fillup_and_insserv -y -n xencommons xencommons} fi %endif # %{fillup_and_insserv -y -n xendomains xendomains} %{fillup_only -n pciback} if [ -f /usr/bin/qemu-img ]; then if [ -f /usr/bin/qemu-img-xen ]; then rm /usr/bin/qemu-img-xen fi ln -s /usr/bin/qemu-img /usr/bin/qemu-img-xen fi if [ -f /usr/bin/qemu-nbd ]; then if [ -f /usr/bin/qemu-nbd-xen ]; then rm /usr/bin/qemu-nbd-xen fi ln -s /usr/bin/qemu-nbd /usr/bin/qemu-nbd-xen fi %preun tools %{stop_on_removal xendomains xend xencommons} %postun tools %if %{?with_xend}0 # with_xend %{restart_on_update xend} %endif %{insserv_cleanup} if [ -f /usr/bin/qemu-img-xen ]; then rm /usr/bin/qemu-img-xen fi if [ -f /usr/bin/qemu-nbd-xen ]; then rm /usr/bin/qemu-nbd-xen fi %endif %post libs -p /sbin/ldconfig %postun libs -p /sbin/ldconfig %changelog