Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
DISCONTINUED:openSUSE:11.1
kvm
kvm.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File kvm.spec of Package kvm
# # spec file for package kvm (Version 78) # # Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # # norootforbuild # icecream 0 %bcond_with vde Name: kvm BuildRequires: SDL-devel alsa alsa-devel gnutls-devel ncurses-devel perl texinfo %ifarch %ix86 x86_64 ia64 BuildRequires: pmtools %endif %ifarch %ix86 x86_64 BuildRequires: dev86 %endif %if %suse_version >= 1100 BuildRequires: libpulse-devel %endif %if %{with vde} BuildRequires: vde2-devel %endif License: BSD 3-Clause; GPL v2 only; GPL v2 or later; LGPL v2.1 or later; X11/MIT Group: System/Kernel Summary: Kernel-based Virtual Machine Url: http://kvm.qumranet.com/ Version: 78 Release: 6 Source0: %name-%version.tar.bz2 ### To update to new version, recompress the kvm-??.tar.gz using: # rpmbuild -bp kvm.spec --define="_sourcedir `pwd`" #%( if [ -f %name-%version.tar.gz ]; then gunzip %name-%version.tar.gz tar --delete %name-%version/patches \ --file=%{name}-%{version}.tar bzip2 %name-%version.tar fi ) ### ExclusiveArch: %ix86 x86_64 ia64 s390 Source1: 60-kvm.rules Source2: kvm-driver-disc-20080318.iso Source3: qemu-ifup # common and X86 patches Patch01: qemu-datadir.diff Patch02: kvm-buildfix.patch Patch03: kvm-nested_paging.patch Patch04: kvm-qemu-default-memsize.patch Patch05: kvm-explicit-decl.patch Patch06: kvm-qemu-writeback.patch # Sound Patch07: kvm-audio.patch Patch08: kvm-pulseaudio.patch # Mac OS X patches Patch10: kvm-qemu-hpet.patch Patch11: kvm-qemu-lpc.patch Patch12: kvm-qemu-applesmc.patch Patch14: kvm-qemu-ide-ich6.patch Patch15: kvm-qemu-macmodel.patch Patch16: kvm-qemu-rtl8139-link.patch Patch17: kvm-qemu-multiboot.patch Patch81: kvm-qemu-cpuid4.patch Patch82: kvm-kernel-cpuid4.patch Patch83: kvm-gfxboot.patch Patch84: kvm-kernel-msr.patch Patch85: kvm-maccpuid.patch Patch86: kvm-ioapic.patch Patch90: kvm-bios.patch # Post-release upstream patches Patch100: kvm-preXX-init-on-demand.patch # for IA64 Source500: ia64-fix-pagesize.pl Patch500: IA64-kvm-suse.patch # For upstream patches: Source100: convert-commits-to-patch.sh #Patch100: kvm-commits.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build PreReq: /usr/sbin/groupadd %define use_kmp 1 %if %use_kmp BuildRequires: module-init-tools Requires: kvm-kmp %suse_kernel_module_package debug kdump um xen xenpae %endif # Can't use --with-patched-kernel with kvm-36 on i386, so for now also on 10.3: BuildRequires: kernel-syms %description KVM (Kernel-based Virtual Machine) is a virtualization software for Linux which is based on hardware virtualization extensions (Intel VT-X and AMD-V) and a modified version of qemu to enable full hardware emulation as far as needed to boot many PC operating systems in unmodified form, including Linux, Windows and Mac OS X. Note: KVM is not yet ready for production use and has known issues. You can find details the Novell bugzilla: http://bugzilla.novell.com KVM depends on Intel VT and AMD-V and does not run on CPUs without these extensions. qemu can be used on those, with some performance penalty, instead. As the hardware emulation used for KVM is based on QEMU, virtual machines can be moved between QEMU and KVM hosts seamlessly. The package libvirt contains libvirtd, a simple hypervisor for managing multiple QEMU and KVM virtual machines on one host machine. The included virtsh allows to define virtual machines using XML files and allows some simple management of such virtual machines on the command line. virt-manager is a GUI for connecting to, and controlling virtual machines based on libvirt. Authors: -------- Avi Kivity <avi@qumranet.com> Yaniv Kamay <yaniv@qumranet.com> Dor Laor <dor.laor@qumranet.com> %package KMP License: BSD 3-Clause; GPL v2 only; GPL v2 or later; LGPL v2.1 or later; X11/MIT Summary: Updated kernel modules for KVM (Kernel-based Virtual Machine) Group: System/Kernel %description KMP This package contains updated kernel modules which are recommended for enhanced functionality of KVM. The Linux kernel rpm already contains kvm modules, but with this package installed and the modules of this package loaded, certain fixes which are not yet available in the kernel rpm. To verify the kernel to which this package is built for, compare the postfix of this package has after "kvm-kmp-" with the postfix after "kernel-", e.g. kvm-kmp-default contains updated modules for the kernel-default with the exact same version number. To take advantage of KVM in general, you need qemu-kvm (which is included in the package kvm) which contains the PC hardware simulation that is needed for full virtualisation. KVM guests implemented using qemu-kvm can be monitored using libvirt which contains a hypervisor for managing multible QEMU and KVM and Xen virtual machines. virt-manager provides a graphical application for connecting to and controlling virtual machines based on libvirt. Authors: -------- Avi Kivity <avi@qumranet.com> Yaniv Kamay <yaniv@qumranet.com> Dor Laor <dor.laor@qumranet.com> %prep # build the BIOS on x86 platforms %ifarch %ix86 x86_64 %define bios_targets bios vgabios extboot %define vanilla 0 # build no BIOS on others %else %define vanilla 1 %endif %setup -q %patch01 -p1 -b .use-qemu-kvm-as-datadir %if %use_kmp %patch02 -p1 %patch03 -p1 %endif %patch04 -p1 %patch05 -p1 %patch06 -p1 # Sound %patch07 -p1 %if %suse_version >= 1100 %patch08 -p1 %endif # Mac OS X guest %if !%{vanilla} %patch10 -p1 %patch11 -p1 %patch12 -p1 %patch14 -p1 %patch15 -p1 %patch16 -p1 %patch17 -p1 %patch81 -p1 %patch82 -p1 %patch83 -p0 %patch84 -p1 %patch85 -p1 %patch86 -p1 cp -a bios bios-mac %patch90 -p1 -b .bios-mac %endif # Post-release patches %patch100 -p1 # IA64 support %ifarch ia64 %patch500 -p1 #%_sourcedir/ia64-fix-pagesize.pl # needs testing... %endif # Currently not used, keep it for later use: # Apply selected upstream patches from the kvm-commits list: #sh %_sourcedir/convert-commits-to-patch.sh %PATCH100 | patch -p0 %build # Temporary workaround until qemu's configure is fixed: sed -i 's/-lcurses/-lncurses/' qemu/configure ./configure --prefix=%{_prefix} \ --qemu-cflags="%{optflags}" # Aborts if curses support is not enabled: grep "^CONFIG_CURSES=yes" qemu/config-host.mak # Patch kvm/user Makefile to accept inital CFLAGS: sed -i 's/CFLAGS =/CFLAGS +=/' user/Makefile echo "CFLAGS=%optflags" >> user/config.mak # Main build: %if !%{vanilla} make libkvm user qemu %{?bios_targets} %{?jobs:-j%jobs} make -C bios-mac %else make libkvm user qemu %{?jobs:-j%jobs} %endif # kernel modules %if %use_kmp mkdir suse-kernel for flavor in %flavors_to_build; do rm -rf suse-kernel/$flavor cp -r kernel suse-kernel/$flavor cd suse-kernel/$flavor sed "s|KERNELDIR=.*|KERNELDIR=/usr/src/linux-obj/%_target_cpu/$flavor| s|KERNELSOURCEDIR=.*|KERNELSOURCEDIR=/usr/src/linux|" ../../config.mak >../config.mak make cd ../.. done %endif %install # kernel modules %if %use_kmp export INSTALL_MOD_PATH=$RPM_BUILD_ROOT export INSTALL_MOD_DIR=updates for flavor in %flavors_to_build; do make -C /usr/src/linux-obj/%_target_cpu/$flavor modules_install \ M=$PWD/suse-kernel/$flavor done %endif make DESTDIR=%{buildroot} WANT_MODULE="" install mv qemu/qemu-doc.html qemu/qemu-kvm.html %if !%{vanilla} install -m 644 bios-mac/BIOS-bochs-latest %{buildroot}/%{_datadir}/qemu-kvm/bios-mac.bin %endif cd %{buildroot} rm -r .{%_bindir/qemu-img,%_bindir/qemu-nbd,%_datadir/{doc,qemu-kvm/{openbios-sparc32,openbios-sparc64,ppc_rom.bin}}} %ifarch ia64 s390 rm -f .%_datadir/qemu-kvm/bios.bin %endif rm -r .{%_mandir/man1/qemu-img.1,%_mandir/man8/qemu-nbd.8,%_includedir,%_libdir} mv .%_bindir/{qemu*,qemu-kvm} mv .%_mandir/man1/{qemu.1,qemu-kvm.1} chmod 644 .%_mandir/man1/* install -D -m 644 %{SOURCE1} %{buildroot}/etc/udev/rules.d/60-kvm.rules install -D -m 644 %{SOURCE2} %{buildroot}/usr/share/qemu-kvm/kvm-driver-disc-20080318.iso install -D -m 755 %{SOURCE3} %{buildroot}/usr/share/qemu-kvm/qemu-ifup %pre /usr/sbin/groupadd -r kvm 2>/dev/null || : %files %defattr(-,root,root) %doc qemu/qemu-kvm.html %attr(755,root,kvm) %{_bindir}/qemu-kvm %{_datadir}/qemu-kvm %config /etc/udev/rules.d/60-kvm.rules %_mandir/man1/qemu-kvm.1.gz %changelog * Mon Dec 01 2008 agraf@suse.de - update OSX patch to work for kvm-78 * Fri Nov 21 2008 brogers@novell.com - revert disk caching mode back to writeback for now. * Sat Nov 08 2008 agraf@suse.de - fix external buildservice compilation * Fri Nov 07 2008 agraf@suse.de - fix compilation for < 11.1 * Thu Nov 06 2008 brogers@novell.com - make qemu-ifup script executable * Thu Nov 06 2008 brogers@novell.com - allow autoloading to handle our KMP unsupported status - add a default qemu-ifup script for bridged configuration * Wed Nov 05 2008 agraf@suse.de - update to KVM 78 - fix nmi watchdog emulation (Jan Kiszka) - merge qemu-svn - new live migration implementation - usb improvements - migration fixes - read UUID from qemu (Gleb Natapov) - increase max cpu count to 255 for ia64 (Xiantao Zhang) - fix some AMD->Intel live migration failures - increase rmap preallocation (Marcelo Tosatti) - fixes oops on mmu intensive smp workloads - update e820 table for ept real mode identity map page (Sheng Yang) - add autoloading of KVM modules - do not block other VMMs when KVM is loaded * Thu Oct 23 2008 brogers@novell.com - misc cleanup and again address s390 build * Thu Oct 23 2008 brogers@novell.com - fix build failures in check-gcc-output * Fri Oct 17 2008 agraf@suse.de - update to KVM 77 - improved usb support - vnc improvements - pass uuid to guest - scsi/virtio improvements - improve debugging support - improve >4GB memory support (Alex Williamson) - fix ia64 boot with acpi enabled (Xiantao Zhang) - fix ia64 with >= 3GB RAM (Xiantao Zhang) - fix live migration - kernel support for device assignment (Allen Kay, Amit Shah, Weidong Han, Ben-Ami Yassour) - improved NMI support (Jan Kiszka) - add driver kit to /usr/share/qemu-kvm - fix issues with our new 2.6.27 kernels - set default RAM size to 384MB * Wed Oct 01 2008 rw@suse.de - reflect move to 64k page size on ia64 (bnc#429881) - fix build for ia64 * Mon Sep 22 2008 lnussel@suse.de - optionally build with vde support - require gnutls to enable vnc tls support * Tue Sep 16 2008 brogers@novell.com - Fix build for ia64 and first attempt for s390 - bnc#353836: s390 source now GPLv2 * Tue Sep 16 2008 agraf@suse.de - update to KVM 75 - ballooning (Anthony Liguori) - requires 2.6.27+ host to work correctly - fixes extboot failures after reset - fixes rare reboot failures with Windows - fixes ACPI error messages in Windows event log - fixes hibernate/resume with guest smp - fix random segfaults with npt (Joerg Roedel) - enable building on 10.3 again * Thu Sep 04 2008 agraf@suse.de - update to KVM 74 - fix shadow ptes corruption on i386 hosts running smp guests - improved usb support - usb auto connect/disconnect - add IA64 support - spec file cleanup * Fri Aug 22 2008 agraf@suse.de - fix the PulseAudio disabling for older distributions * Thu Aug 21 2008 agraf@suse.de - update to KVM 73 - improve qcow2 performance with cache=off - ide fixes - external module compatibility with 2.6.27 hosts - virtio-net speedup (Mark McLoughlin) - support Windows hibernation on non-FlexPriority hosts - full swapping support (Andrea Arcangeli) - needs 2.6.27 hosts - paravirt guest: query tsc frequency from host (Glauber Costa) - fix debug register corruption on Intel hosts (Marcelo Tosatti) - fix -no-kvm-irqchip * Wed Aug 20 2008 agraf@suse.de - fix the PulseAudio disabling for older distributions * Tue Aug 19 2008 brogers@novell.com - change kernel module install location from weak-updates to updates as per email received from Peter Bowen (pzb@novell.com). * Tue Aug 19 2008 agraf@suse.de Temporary fixes for NPT breakage: - Disabled nested paging by default - When nested paging is enabled, make it slow but reliable * Wed Jul 30 2008 agraf@suse.de - update to KVM 72 - fixes suspend/resume of multiple nics - adds Virtual Distributed Ethernet (vde) support - avoid losing the iothread on random signals - add 'info kvm' monitor command (Anthony Liguori) - avoid tpr patching when the stack is not valid (Marcelo Tosatti) - fixes some variant of Windows 2003 SMP - fix extboot stomping on reserved interrupt vectors (H. Peter Anvin) - MMU improvements - fix interrupt reinjection in real mode (Jan Kiszka) - x86 hardware task switching fixes (Marcelo Tosatti) - fix interrupts being delayed by instruction emulation - improves Vista stability - ignore no-op DEBUGCTL msr writes (Alexander Graf) - fixes Netware - fix running of 32-bit code in x86_64 SLES10SP2 (bnc#403189) - make /usr/bin/qemu-kvm runnable as non kvm group member - take out the vmi fix again, as that's fixed upstream * Tue Jul 22 2008 agraf@suse.de - disable PulseAudio for older distributions, so the package still builds on < 11.0 * Tue Jul 15 2008 agraf@suse.de - update to KVM 71 - virtio fixes - adds pulseaudio driver - fix lost interrupt when changing a device irq - fix host msr corruption when host preempt is enabled - fix kvmclock (Gerd Hoffmann, used in xenner) - allow Linux 2.6.9 guests to boot - fix booting guests compiled with gcc 4.3 - fix ioapic hang on heavy load (Mark McLoughlin) - fix suspend/resume on AMD (Joerg Roedel) - enable PulseAudio support * Wed Jul 09 2008 agraf@suse.de - add support for VMI-enabled kernels * Wed Jun 25 2008 agraf@suse.de - update to KVM 70 - improve virtio net performance (Anthony Liguori) - fix corrupted breakpoints (Jerone Young) - fix debugging (Jan Kiszka) - add mtrr support - merge qemu-svn - remove dependency on gcc 3 - vnc client segfault fix - fix vnc problems on resize - enable tpr optimization for smp - should drastically speed up Windows XP SMP guests - fix false flooding when a pte points to a page table - improves 2.4 pae guests with CONFIG_HIGHPTE - enable NMI support on Intel (Sheng Yang) - fix hypercall return value on AMD - fixes running CONFIG_KVM_GUEST guests - allow VMware Server to take over vmx when unloading the module (Eli Collins) - fix crash on resume from suspend to ram (Andrea Arcangeli) - emulator improvements - Snow Leopard compatibility fixes - reenable CPU emulation * Thu Jun 05 2008 agraf@suse.de - update to KVM 69 - update to latest Mac patches * Mon May 26 2008 agraf@suse.de - enable ALSA * Fri Mar 28 2008 coolo@suse.de - adding ncurses-devel to buildrequires * Fri Mar 07 2008 bk@suse.de - Update to kvm-63, adds curses interface. It still uses gcc for qemu's CPU emulation which is broken with gcc4 -> disable it temporarily. * Mon Feb 25 2008 alex@suse.de - Fix cpuid patch * Thu Feb 21 2008 bk@suse.de - Add fixes from upstream and drop cpuidfake patch, fixes bnc#360671 * Fri Feb 15 2008 bk@suse.de - Update to kvm-61, adds paravirtualized clock and dozens of fixes - Fix cpuid asm or 64-bit guest support and fix core duo support - Build the BIOS images from source and add ACPI entries for -M mac - Build qemu with -O0 to work around real-mode emulation problems * Fri Feb 15 2008 agraf@suse.de - Include fix to make gfxboot work on Intel * Wed Feb 13 2008 anschneider@suse.de - Add upstream patch to fix VMs that no longer boot * Thu Jan 24 2008 bk@suse.de - Update to kvm-60, add C2D cpuid level 4, use bios.mac for -M mac * Fri Jan 11 2008 bk@suse.de - Update to kvm-59, now works with gfxboot of recent openSUSE CDs! * Tue Aug 28 2007 bk@suse.de - based unpon version in opensue buildservice by dbahi/kraxel
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