# # spec file for package qemu (Version 0.9.2svn20081008) # # 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 Name: qemu BuildRequires: SDL-devel bison e2fsprogs-devel libgnutls-devel libpcap-devel ncurses-devel Url: http://fabrice.bellard.free.fr/qemu/ License: BSD 3-Clause; GPL v2 or later; LGPL v2.1 or later; X11/MIT Group: System/Emulators/PC Summary: Universal CPU emulator Version: 0.9.2svn20081008 Release: 1 Source: %name-20081008.tar.bz2 Patch1: qemu-0.9.0.cvs-binfmt.patch Patch6: qemu-0.7.0-amd64.patch Patch8: qemu-cvs-pthread.patch Patch14: qemu-0.7.1-jobsignals.patch #Patch19: qemu-0.9.0-nousbdevfs.patch Patch34: qemu-0.9.0-migration.patch Patch37: qemu-0.9.0-kvm.patch Patch38: qemu-0.9.0-kvm-bios.patch Patch39: qemu-0.9.0-kvm-kqemu-window-caption.patch Patch50: qemu-cvs-newpath.patch Patch53: qemu-cvs-sched_getaffinity.patch Patch56: qemu-cvs-ipc.patch Patch57: qemu-cvs-ipc_semop.patch Patch58: qemu-cvs-ioctl_debug.patch Patch59: qemu-cvs-alsa_bitfield.patch Patch60: qemu-cvs-alsa_ioctl.patch Patch61: qemu-cvs-ioctl_nodirection.patch Patch62: qemu-cvs-alsa_mmap.patch Patch63: qemu-cvs-gettimeofday.patch Patch64: qemu-cvs-nofadvise64.patch Patch65: qemu-cvs-flash.patch Patch66: qemu-cvs-mmap-amd64.patch #Patch67: qemu-cvs-noppcemb.patch Patch69: qemu-cvs-ia64.patch Patch82: qemu-cvs-svm2.patch Patch83: qemu-cvs-ppcspe.patch Patch85: qemu-img-vmdk-scsi.patch Patch86: qemu-svn-ncurses.patch Patch87: qemu-svn-nodyngen.patch Patch88: qemu-svn-pcap.patch Patch90: qemu-nonvoid_return.patch #Patch91: qemu-svn-dirent.patch Source200: kvm_bios.bin # this is to make lint happy Source300: rpmlintrc BuildRoot: %{_tmppath}/%{name}-%{version}-build ExclusiveArch: %ix86 ppc sparc x86_64 ia64 s390 ppc64 %description QEMU is an extremely well-performing CPU emulator that allows you to choose between simulating an entire system and running userspace binaries for different architectures under your native operating system. It currently emulates x86, ARM, PowerPC and SPARC CPUs as well as PC and PowerMac systems. Authors: -------- Fabrice Bellard %prep %setup -q -n %name ln -s fpu/*.h . %patch1 -p1 %patch6 %patch8 -p1 %patch14 #%patch19 %patch50 -p1 %patch53 -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 %patch69 %patch83 %patch85 -p1 %patch86 %patch87 %patch88 %patch90 #%patch91 %build cp -p %SOURCE200 pc-bios/ # build QEMU mkdir -p dynamic # build qemu-system without kqemu support ./configure --prefix=/usr \ --interp-prefix=/usr/share/qemu/qemu-i386 \ --audio-card-list="ac97 adlib cs4231a gus" \ --audio-drv-list="alsa sdl" --enable-mixemu \ --disable-gcc-check \ --extra-cflags="$QEMU_OPT_FLAGS" --enable-system --disable-linux-user make %{?jobs:-j%{jobs}} mv */qemu */qemu-* dynamic || true make clean # build userland emus ./configure --prefix=/usr \ --interp-prefix=/usr/share/qemu/qemu-i386 \ --enable-linux-user \ --disable-system \ --static --disable-gcc-check \ --extra-cflags="$QEMU_OPT_FLAGS" make %{?jobs:-j%{jobs}} make qemu-img %install install -d -m 755 $RPM_BUILD_ROOT/usr/bin %ifnarch alpha install -m 755 */qemu $RPM_BUILD_ROOT/usr/bin ln -sf qemu $RPM_BUILD_ROOT/usr/bin/qemu-system-i386 %endif install -m 755 */qemu-*[^.]? $RPM_BUILD_ROOT/usr/bin install -d -m 755 $RPM_BUILD_ROOT/%{_mandir}/man1 install -m 644 qemu.1 $RPM_BUILD_ROOT/%{_mandir}/man1 install -d -m 755 $RPM_BUILD_ROOT/usr/share/qemu install -m 644 pc-bios/*.bin pc-bios/video.x pc-bios/openbios-sparc* $RPM_BUILD_ROOT/usr/share/qemu install -d -m 755 $RPM_BUILD_ROOT/usr/sbin install -m 755 qemu-binfmt-conf.sh $RPM_BUILD_ROOT/usr/sbin install -m 755 qemu-img $RPM_BUILD_ROOT/usr/bin install -d -m 755 $RPM_BUILD_ROOT/usr/share/qemu/keymaps install -m 644 keymaps/[a-z]* $RPM_BUILD_ROOT/usr/share/qemu/keymaps %ifnarch %ix86 x86_64 ln -sf ../../../emul/ia32-linux $RPM_BUILD_ROOT/usr/share/qemu/qemu-i386 %endif %ifnarch ia64 mkdir -p $RPM_BUILD_ROOT/emul/ia32-linux %endif %clean rm -rf ${RPM_BUILD_ROOT} %files %defattr(-, root, root) %doc COPYING COPYING.LIB Changelog README TODO VERSION qemu-doc.html %ifnarch alpha /usr/bin/qemu %endif /usr/bin/qemu-* /usr/sbin/qemu* %{_mandir}/man1/qemu*.1.gz /usr/share/qemu %ifnarch %ix86 x86_64 ia64 %dir /emul/ia32-linux %endif %changelog * Wed Oct 08 2008 uli@suse.de - update -> current SVN - fixes PPC hosts - fixes SH4 targets (reenabled), adds NPTL support - SSSE3, SSE4.* instructions, "unreal" mode fixed - Alpha target converted to TCG - live migration - Bluetooth emulation - SCSI tape support - OpenBIOS binary updated - UHCI emulation rewritten - lots of bugfixes * Mon Aug 04 2008 ro@suse.de - fix build by adding return statements for two nonvoid functions (qemu-nonvoid_return.patch), actually unreached code * Thu Jul 24 2008 uli@suse.de - update -> current SVN - MIPS Magnum R4000 machine (Hervé Poussineau) - Braille support (Samuel Thibault) - Freecom MusicPal system emulation (Jan Kiszka) - OMAP242x and Nokia N800, N810 machines (Andrzej Zaborowski) - EsounD audio driver (Frederick Reeve) - Gravis Ultrasound GF1 sound card (Tibor "TS" Schütz) - added pcap networking - ditched GCC3 thanks to TCG. Hooray! (downside: no PPC and SH4 emulation, no S/390 host) * Thu May 15 2008 cthiel@suse.de - use lsilogic instead of buslogic for SCSI VMDK images * Thu May 08 2008 uli@suse.de - add format option to disable autodetection of disk image format (bnc#380828) * Fri Apr 25 2008 uli@suse.de - revert secfix (causes data corruption, no known good patch available yet) - support creation of SCSI VMDK images * Tue Mar 11 2008 uli@suse.de - secfix (unchecked block read/write vulnerability, bug #362956) * Thu Jan 17 2008 uli@suse.de - update -> 0.9.1 - TFTP booting from host directory (Anthony Liguori, Erwan Velu) - Tap device emulation for Solaris (Sittichai Palanisong) - Monitor multiplexing to several I/O channels (Jason Wessel) - ds1225y nvram support (Herve Poussineau) - CPU model selection support (J. Mayer, Paul Brook, Herve Poussineau) - Several Sparc fixes (Aurelien Jarno, Blue Swirl, Robert Reif) - MIPS 64-bit FPU support (Thiemo Seufer) - Xscale PDA emulation (Andrzej Zaborowski) - ColdFire system emulation (Paul Brook) - Improved SH4 support (Magnus Damm) - MIPS64 support (Aurelien Jarno, Thiemo Seufer) - Preliminary Alpha guest support (J. Mayer) - Gumstix boards: connex and verdex emulation (Thorsten Zitterell) - Intel mainstone II board emulation (Armin Kuster) - VMware SVGA II graphics card support (Andrzej Zaborowski) - revert s390-dis.c to last GPLv2 version - reenabled qemu-system-ppcemb * Mon Dec 10 2007 uli@suse.de - fixed open() usage with O_CREAT * Tue Nov 13 2007 uli@suse.de - update -> current CVS: - Read-only support for Parallels disk images (Alex Beregszaszi) - CRIS emulation (Edgar E. Iglesias) - SPARC32PLUS execution support (Blue Swirl) - MIPS mipssim pseudo machine (Thiemo Seufer) - Strace for Linux userland emulation (Stuart Anderson, Thayne Harbaugh) - OMAP310 MPU emulation plus Palm T|E machine (Andrzej Zaborowski) - ARM v6, v7, NEON SIMD and SMP emulation (Paul Brook/CodeSourcery) * Fri Oct 12 2007 ro@suse.de - hack to fix build: undef DEBUG_BLOCK for now * Fri Sep 28 2007 agraf@suse.de - fix SVM support (Alexander Graf) * Thu Sep 13 2007 agraf@suse.de - add SVM emulation support (Alexander Graf) - fix a misassumption in the s390 fix (uli) - allow more IDE power management (Ben Guthro) - log any I/O error and perform automatic read retry for CDrom (Ben Guthro) - fix Coherent guest support (Jan Jezabek) - fix several Darwin guest issues (Filip Navara) * Mon Aug 20 2007 agraf@suse.de - fix ATAPI bug when using libata (Brandon Philips) (#291775) * Sat Aug 11 2007 olh@suse.de - disable only SNDRV_SB_CSP_IOCTL_LOAD_CODE for _IOC_SIZEBITS < 14 * Thu Aug 09 2007 olh@suse.de - disable some alsa SB ioctl declarations * Tue Aug 07 2007 olh@suse.de - remove inclusion of linux/compiler.h * Mon Jul 30 2007 uli@suse.de - fixed for S/390 * Tue Jul 10 2007 schwab@suse.de - Add (incomplete) m68k emulation. * Mon Jul 09 2007 agraf@suse.de - included alsa support in qemu-user - update to current cvs - TFTP booting from host directory (Anthony Liguori, Erwan Velu) - Tap device emulation for Solaris (Sittichai Palanisong) - Monitor multiplexing to several I/O channels (Jason Wessel) - ds1225y nvram support (Herve Poussineau) - CPU model selection support (J. Mayer, Paul Brook, Herve Poussineau) - Several Sparc fixes (Aurelien Jarno, Blue Swirl) - MIPS 64-bit FPU support (Thiemo Seufer) - Xscale PDA emulation (Andrzei Zaborowski) - ColdFire system emulation (Paul Brook) - Improved SH4 support (Magnus Damm) - MIPS64 support (Aurelien Jarno, Thiemo Seufer) - Preliminary Alpha guest support (J. Mayer) - IPC fixes * Wed Jun 20 2007 agraf@suse.de - applied proper fix for x86_64 and the MAP_32BIT flag * Wed Jun 20 2007 uli@suse.de - added secfixes (bug #252519) * Thu Jun 14 2007 agraf@suse.de - made wine work (set FS register to 0 on init) - suppressed robust_list warnings * Thu Jun 14 2007 agraf@suse.de - made flash player 9 work on ppc - fixed FUTEX_WAKE_OP on machines where endianness differs - made mmap on x86_64 use the MAP_32BIT flag - removed a useless spin_lock - removed an annoying debug message for forking - implemented sched_getaffinity syscall - fixed configure call so it takes gcc3 again * Wed Jun 13 2007 uli@suse.de - support "vga=" parameter (Pascal Terjan) - direct jump support for x86-64 (Gwenole Beauchesne) - fix chaining of CPU instances (Gwenole Beauchesne) - live migration support (Anthony Liguori) - fix fprem/fprem1 insns (Julian Seward) - KVM support - Z80/ZX Spectrum emulation (Stuart Brady) - GCC4 support postponed (breaks x86-64 on i386) * Mon Jun 11 2007 agraf@suse.de - implemented TLS support on i386 so qemu-user can be used to run with current libc versions (partly done by David Woodhouse, fixed by Alexander Graf) - added a dirty hack for an mmap page table bug on qemu-user x86 emulation - disable AF_NETLINK in qemu-user (endianness problems) - applied fast path mangling patch from Kirill A. Shutemov - applied strace patch for debugging (by Stuart R. Anderson) * Wed Apr 04 2007 agraf@suse.de - fixed initrd loading on x86 * Fri Mar 30 2007 ro@suse.de - added bison to BuildRequires * Tue Feb 20 2007 uli@suse.de - added better fix by Robert Schiele (bug #241950) - update -> 0.9.0 - Support for relative paths in backing files for disk images - Async file I/O API - New qcow2 disk image format - Support of multiple VM snapshots - Linux: specific host CDROM and floppy support - SMM support - Moved PCI init, MP table init and ACPI table init to Bochs BIOS - Support for MIPS32 Release 2 instruction set (Thiemo Seufer) - MIPS Malta system emulation (Aurelien Jarno, Stefan Weil) - Darwin userspace emulation (Pierre d'Herbemont) - m68k user support (Paul Brook) - several x86 and x86_64 emulation fixes - Mouse relative offset VNC extension (Anthony Liguori) - PXE boot support (Anthony Liguori) - '-daemonize' option (Anthony Liguori) * Tue Feb 06 2007 uli@suse.de - added fix by Robert Schiele to work without usbdevfs (bug #241950) * Fri Feb 02 2007 ro@suse.de - remove -fstack-protector from CFLAGS * Fri Oct 27 2006 schwab@suse.de - Fix char signedness. * Mon Sep 11 2006 uli@suse.de - re-added ARM FPE patch - fixed SPARC on PPC - install missing openbios-sparc32 * Sat Sep 09 2006 dmueller@suse.de - update to 0.8.2: - ACPI support - PC VGA BIOS fixes - MIPS FPU support (Marius Groeger) - PPC breakpoints and single stepping (Jason Wessel) - USB updates (Paul Brook) - UDP/TCP/telnet character devices (Jason Wessel) - Windows sparse file support (Frediano Ziglio) - RTL8139 NIC TCP segmentation offloading (Igor Kovalenko) - PCNET NIC support (Antony T Curtis) - Support for variable frequency host CPUs - Workaround for win32 SMP hosts - Support for AMD Flash memories (Jocelyn Mayer) - Audio capture to WAV files support (malc) * Tue May 30 2006 uli@suse.de - fixed to build on PPC with new glibc * Mon May 29 2006 uli@suse.de - fixed to build with new kernel headers * Wed Mar 08 2006 uli@suse.de - split giant patch - added NWFPE glue code fix * Wed Mar 08 2006 schwab@suse.de - More fixes for ia64 port. * Tue Mar 07 2006 schwab@suse.de - Remove obsolete hunk from ia64 patch. * Wed Jan 25 2006 mls@suse.de - converted neededforbuild to BuildRequires * Tue Dec 20 2005 uli@suse.de - update -> 0.8.0 * Thu Dec 08 2005 uli@suse.de - update to current CVS (MIPS userspace, ARM system, SMP, USB, NX, VLAN, serial, parallel, ES1370, ALSA backend) - build i386 and AMD64 emus with kqemu support if possible - install missing PPC video driver, SPARC boot ROM - install missing keymaps * Mon Nov 07 2005 uli@suse.de - updated linker scripts for new binutils release * Sat Sep 17 2005 dmueller@suse.de - update to 0.7.2 * Tue Aug 16 2005 schwab@suse.de - Don't package /emul/ia32-linux on ia64. * Mon Aug 15 2005 schwab@suse.de - Fix compilation on ia64. * Mon Aug 01 2005 uli@suse.de - update -> 0.7.1 - enabled x86_64-system * Mon Jul 11 2005 uli@suse.de - update -> CVS (MIPS emulation) - build with throwaway GCC3 (still no GCC4-compatible QEMU in sight) - enabled armeb-user - link *-user statically (necessary for chrooting into non-native systems) - disabled s390, alpha, armv4l build (broken and unmaintained) - disabled qemu-fast (broken and deprecated) - disabled i386-user on x86_64 (useless) - build with %%jobs * Wed Jun 01 2005 ro@suse.de - update to 0.7.0, still no success with gcc-4 * Thu Jan 27 2005 uli@suse.de - baselibs-x86 link is unnecessary on x86/AMD64 - two ARM emulation fixes (RRX operand fix by Paul Brook, shifter carry fix by me) - SDL 1.2.8 can be linked statically -> enabled qemu-fast * Mon Nov 29 2004 uli@suse.de - update -> 0.6.1 - build softmmu binaries on s390 (still doesn't work though) - pack /emul/ia32-linux directory and symlink from /usr/share/qemu so it's possible to use the IA64 baselibs-x86 packages * Wed Sep 15 2004 uli@suse.de - removed unnecessary dependency on private glibc symbol (bug #44864) * Fri Aug 06 2004 uli@suse.de - update -> 0.6.0 (fixes for several OSs, improvements in emulated hardware (IDE, PCI, network, VGA, APM, PowerMac), minor fixes, tool for conversion of VMware images) * Tue May 11 2004 uli@suse.de - update -> 0.5.5 (contains ARM, utime() fixes and several others) - make uname() return target machine name (fixes config.guess, rpm etc.) - fake sigaltstack() (fixes m4) - enabled x86-64 * Wed May 05 2004 uli@suse.de - fixed ARM emulation bug * Wed Apr 28 2004 uli@suse.de - build with -fno-unit-at-a-time (fixes PPC system emulator) * Wed Apr 28 2004 uli@suse.de - update -> 0.5.4 (runs Linux/PPC, several fixes) * Mon Apr 19 2004 uli@suse.de - initial package