3 # - qemu-system-ppc -hda ac-ppc.img says:
4 # qemu: could not open disk image ac-ppc.img: error "Success"
5 # qemu-0.12.2-2.x86_64.rpm - broken
6 # qemu-0.12.3-3.x86_64/qemu-0.12.4-1.x86_64 - stops on "returning from prom_init"
7 # qemu-0.15.0-2.x86_64.rpm - qemu-system-sparc/ppc booting with -kernel, -initrd options stalls in openbios prompt
8 # qemu-0.11.1-*.x86_64.rpm - OK
11 %bcond_with nosdlgui # do not use SDL gui (use X11 instead)
13 Summary: QEMU CPU Emulator
14 Summary(pl.UTF-8): QEMU - emulator procesora
19 Group: Applications/Emulators
20 Source0: http://wiki.qemu.org/download/%{name}-%{version}.tar.gz
21 # Source0-md5: 5efd1091f01e3bc31bfdec27b8edeb00
22 Patch0: qemu-cflags.patch
23 Patch6: %{name}-nosdlgui.patch
24 # Proof of concept, for reference, do not remove
25 Patch8: %{name}-kde_virtual_workspaces_hack.patch
26 Patch17: %{name}-whitelist.patch
27 URL: http://wiki.qemu.org/Index.html
28 BuildRequires: SDL-devel >= 1.2.1
29 BuildRequires: alsa-lib-devel
30 BuildRequires: bluez-libs-devel
31 BuildRequires: gnutls-devel
32 BuildRequires: ncurses-devel
33 BuildRequires: perl-Encode
34 BuildRequires: perl-tools-pod
35 BuildRequires: pkgconfig
36 BuildRequires: sed >= 4.0
37 BuildRequires: texi2html
38 BuildRequires: texinfo
40 BuildRequires: xorg-lib-libX11-devel
41 Requires: %{name}-img = %{version}-%{release}
42 Requires: %{name}-system-alpha = %{version}-%{release}
43 Requires: %{name}-system-arm = %{version}-%{release}
44 Requires: %{name}-system-cris = %{version}-%{release}
45 Requires: %{name}-system-lm32 = %{version}-%{release}
46 Requires: %{name}-system-m68k = %{version}-%{release}
47 Requires: %{name}-system-microblaze = %{version}-%{release}
48 Requires: %{name}-system-mips = %{version}-%{release}
49 Requires: %{name}-system-ppc = %{version}-%{release}
50 Requires: %{name}-system-s390x = %{version}-%{release}
51 Requires: %{name}-system-sh4 = %{version}-%{release}
52 Requires: %{name}-system-sparc = %{version}-%{release}
53 Requires: %{name}-system-x86 = %{version}-%{release}
54 Requires: %{name}-system-xtensa = %{version}-%{release}
55 Requires: %{name}-user = %{version}-%{release}
56 # sparc is currently unsupported (missing cpu_get_real_ticks() impl in vl.c)
57 ExclusiveArch: %{ix86} %{x8664} %{?with_userspace:ppc}
58 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
60 # some PPC/SPARC boot image in ELF format
61 %define _noautostrip .*%{_datadir}/qemu/.*-.*
64 QEMU is a FAST! processor emulator. By using dynamic translation it
65 achieves a reasonnable speed while being easy to port on new host
66 CPUs. QEMU has two operating modes:
68 - User mode emulation. In this mode, QEMU can launch Linux processes
69 compiled for one CPU on another CPU. Linux system calls are converted
70 because of endianness and 32/64 bit mismatches. Wine (Windows
71 emulation) and DOSEMU (DOS emulation) are the main targets for QEMU.
73 - Full system emulation. In this mode, QEMU emulates a full system,
74 including a processor and various peripherials. It can also be used to
75 provide virtual hosting of several virtual PC on a single server.
77 %description -l pl.UTF-8
78 QEMU to szybki(!) emulator procesora. Poprzez użycie dynamicznego
79 tłumaczenia osiąga rozsądną szybkość i jest łatwy do przeportowania,
80 aby działał na kolejnych procesorach. QEMU ma dwa tryby pracy:
82 - Emulacja trybu użytkownika. W tym trybie QEMU może uruchamiać
83 procesy linuksowe skompilowane dla jednego procesora na innym
84 procesorze. Linuksowe wywołania systemowe są tłumaczone ze względu na
85 niezgodność kolejności bajtów w słowie i 32/64-bitowego rozmiaru
86 słowa. Wine (emulacja Windows) i DOSEMU (emulacja DOS-a) to główne
89 - Pełna emulacja systemu. W tym trybie QEMU emuluje cały system,
90 włączając w to procesor i różne urządzenia peryferyjne. Może być także
91 używane do wirtualnego hostowania kilku wirtualnych pecetów na
95 Summary: QEMU common files needed by all QEMU targets
96 Group: Development/Tools
97 Requires: SDL >= 1.2.1
98 Conflicts: qemu < 1.0-2
101 QEMU is a generic and open source processor emulator which achieves a
102 good emulation speed by using dynamic translation.
104 This package provides the common files needed by all QEMU targets.
107 Summary: QEMU command line tool for manipulating disk images
108 Group: Development/Tools
109 Conflicts: qemu < 1.0-2
112 This package provides a command line tool for manipulating disk images
115 Summary: QEMU user mode emulation of qemu targets
116 Group: Development/Tools
117 Requires: %{name}-common = %{version}-%{release}
120 QEMU is a generic and open source processor emulator which achieves a
121 good emulation speed by using dynamic translation.
123 This package provides the user mode emulation of QEMU targets.
125 %package system-alpha
126 Summary: QEMU system emulator for alpha
127 Group: Development/Tools
128 Requires: %{name}-common = %{version}-%{release}
130 %description system-alpha
131 QEMU is a generic and open source processor emulator which achieves a
132 good emulation speed by using dynamic translation.
134 This package provides the system emulator for alpha.
137 Summary: QEMU system emulator for arm
138 Group: Development/Tools
139 Requires: %{name}-common = %{version}-%{release}
141 %description system-arm
142 QEMU is a generic and open source processor emulator which achieves a
143 good emulation speed by using dynamic translation.
145 This package provides the system emulator for arm.
148 Summary: QEMU system emulator for cris
149 Group: Development/Tools
150 Requires: %{name}-common = %{version}-%{release}
152 %description system-cris
153 QEMU is a generic and open source processor emulator which achieves a
154 good emulation speed by using dynamic translation.
156 This package provides the system emulator for cris.
159 Summary: QEMU system emulator for lm32
160 Group: Development/Tools
161 Requires: %{name}-common = %{version}-%{release}
163 %description system-lm32
164 QEMU is a generic and open source processor emulator which achieves a
165 good emulation speed by using dynamic translation.
167 This package provides the system emulator for lm32.
170 Summary: QEMU system emulator for m68k
171 Group: Development/Tools
172 Requires: %{name}-common = %{version}-%{release}
174 %description system-m68k
175 QEMU is a generic and open source processor emulator which achieves a
176 good emulation speed by using dynamic translation.
178 This package provides the system emulator for m68k.
180 %package system-microblaze
181 Summary: QEMU system emulator for microblaze
182 Group: Development/Tools
183 Requires: %{name}-common = %{version}-%{release}
185 %description system-microblaze
186 QEMU is a generic and open source processor emulator which achieves a
187 good emulation speed by using dynamic translation.
189 This package provides the system emulator for microblaze.
192 Summary: QEMU system emulator for mips
193 Group: Development/Tools
194 Requires: %{name}-common = %{version}-%{release}
196 %description system-mips
197 QEMU is a generic and open source processor emulator which achieves a
198 good emulation speed by using dynamic translation.
200 This package provides the system emulator for mips.
203 Summary: QEMU system emulator for ppc
204 Group: Development/Tools
205 Requires: %{name}-common = %{version}-%{release}
207 %description system-ppc
208 QEMU is a generic and open source processor emulator which achieves a
209 good emulation speed by using dynamic translation.
211 This package provides the system emulator for ppc.
213 %package system-s390x
214 Summary: QEMU system emulator for s390x
215 Group: Development/Tools
216 Requires: %{name}-common = %{version}-%{release}
218 %description system-s390x
219 QEMU is a generic and open source processor emulator which achieves a
220 good emulation speed by using dynamic translation.
222 This package provides the system emulator for s390x.
225 Summary: QEMU system emulator for sh4
226 Group: Development/Tools
227 Requires: %{name}-common = %{version}-%{release}
229 %description system-sh4
230 QEMU is a generic and open source processor emulator which achieves a
231 good emulation speed by using dynamic translation.
233 This package provides the system emulator for sh4.
235 %package system-sparc
236 Summary: QEMU system emulator for sparc
237 Group: Development/Tools
238 Requires: %{name}-common = %{version}-%{release}
240 %description system-sparc
241 QEMU is a generic and open source processor emulator which achieves a
242 good emulation speed by using dynamic translation.
244 This package provides the system emulator for sparc/sparc64.
247 Summary: QEMU system emulator for x86
248 Group: Development/Tools
249 Requires: %{name}-common = %{version}-%{release}
251 %description system-x86
252 QEMU is a generic and open source processor emulator which achieves a
253 good emulation speed by using dynamic translation.
255 This package provides the system emulator for x86. When being run in a
256 x86 machine that supports it, this package also provides the KVM
257 virtualization platform.
259 %package system-xtensa
260 Summary: QEMU system emulator for xtensa
261 Group: Development/Tools
262 Requires: %{name}-common = %{version}-%{release}
264 %description system-xtensa
265 QEMU is a generic and open source processor emulator which achieves a
266 good emulation speed by using dynamic translation.
268 This package provides the system emulator for xtensa.
273 %{?with_nosdlgui:%patch6 -p1}
277 # workaround for conflict with alsa/error.h
278 ln -s ../error.h qapi/error.h
282 --extra-cflags="%{rpmcflags} -I/usr/include/ncurses" \
283 --extra-ldflags="%{rpmldflags}" \
284 --sysconfdir=%{_sysconfdir} \
285 --prefix=%{_prefix} \
287 --host-cc="%{__cc}" \
289 --audio-drv-list="alsa" \
290 --interp-prefix=%{_libdir}/%{name}
294 rm -rf $RPM_BUILD_ROOT
297 DESTDIR=$RPM_BUILD_ROOT
299 install -d $RPM_BUILD_ROOT%{_sysconfdir}
300 cat <<'EOF' > $RPM_BUILD_ROOT%{_sysconfdir}/qemu-ifup
306 rm -rf $RPM_BUILD_ROOT%{_docdir}/qemu/qemu-{doc,tech}.html
309 rm -rf $RPM_BUILD_ROOT
312 %defattr(644,root,root,755)
315 %defattr(644,root,root,755)
316 %doc README qemu-doc.html qemu-tech.html
317 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/qemu-ifup
318 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/qemu/target-*.conf
319 %dir %{_sysconfdir}/qemu
320 %attr(755,root,root) %{_bindir}/qemu-nbd
321 %{_mandir}/man1/qemu.1*
322 %{_mandir}/man8/qemu-nbd.8*
324 %dir %{_datadir}/qemu
325 %{_datadir}/%{name}/keymaps
326 # various bios images
327 %{_datadir}/%{name}/*.bin
328 %{_datadir}/%{name}/*.rom
329 %{_datadir}/%{name}/*.dtb
330 %{_datadir}/%{name}/openbios-ppc
331 %{_datadir}/%{name}/openbios-sparc*
332 %{_datadir}/%{name}/palcode-clipper
335 %defattr(644,root,root,755)
336 %attr(755,root,root) %{_bindir}/qemu-img
337 %{_mandir}/man1/qemu-img.1*
340 %defattr(644,root,root,755)
341 %attr(755,root,root) %{_bindir}/qemu-x86_64
342 %attr(755,root,root) %{_bindir}/qemu-i386
343 %attr(755,root,root) %{_bindir}/qemu-alpha
344 %attr(755,root,root) %{_bindir}/qemu-arm
345 %attr(755,root,root) %{_bindir}/qemu-armeb
346 %attr(755,root,root) %{_bindir}/qemu-cris
347 %attr(755,root,root) %{_bindir}/qemu-ga
348 %attr(755,root,root) %{_bindir}/qemu-io
349 %attr(755,root,root) %{_bindir}/qemu-m68k
350 %attr(755,root,root) %{_bindir}/qemu-microblaze
351 %attr(755,root,root) %{_bindir}/qemu-microblazeel
352 %attr(755,root,root) %{_bindir}/qemu-mips
353 %attr(755,root,root) %{_bindir}/qemu-mipsel
354 %attr(755,root,root) %{_bindir}/qemu-ppc
355 %attr(755,root,root) %{_bindir}/qemu-ppc64
356 %attr(755,root,root) %{_bindir}/qemu-ppc64abi32
357 %attr(755,root,root) %{_bindir}/qemu-s390x
358 %attr(755,root,root) %{_bindir}/qemu-sh4
359 %attr(755,root,root) %{_bindir}/qemu-sh4eb
360 %attr(755,root,root) %{_bindir}/qemu-sparc
361 %attr(755,root,root) %{_bindir}/qemu-sparc32plus
362 %attr(755,root,root) %{_bindir}/qemu-sparc64
363 %attr(755,root,root) %{_bindir}/qemu-unicore32
366 %defattr(644,root,root,755)
367 %attr(755,root,root) %{_bindir}/qemu-system-alpha
370 %defattr(644,root,root,755)
371 %attr(755,root,root) %{_bindir}/qemu-system-arm
374 %defattr(644,root,root,755)
375 %attr(755,root,root) %{_bindir}/qemu-system-cris
378 %defattr(644,root,root,755)
379 %attr(755,root,root) %{_bindir}/qemu-system-lm32
382 %defattr(644,root,root,755)
383 %attr(755,root,root) %{_bindir}/qemu-system-m68k
385 %files system-microblaze
386 %defattr(644,root,root,755)
387 %attr(755,root,root) %{_bindir}/qemu-system-microblaze
388 %attr(755,root,root) %{_bindir}/qemu-system-microblazeel
391 %defattr(644,root,root,755)
392 %attr(755,root,root) %{_bindir}/qemu-system-mips
393 %attr(755,root,root) %{_bindir}/qemu-system-mipsel
394 %attr(755,root,root) %{_bindir}/qemu-system-mips64
395 %attr(755,root,root) %{_bindir}/qemu-system-mips64el
398 %defattr(644,root,root,755)
399 %attr(755,root,root) %{_bindir}/qemu-system-ppc
400 %attr(755,root,root) %{_bindir}/qemu-system-ppc64
401 %attr(755,root,root) %{_bindir}/qemu-system-ppcemb
404 %defattr(644,root,root,755)
405 %attr(755,root,root) %{_bindir}/qemu-system-s390x
408 %defattr(644,root,root,755)
409 %attr(755,root,root) %{_bindir}/qemu-system-sh4
410 %attr(755,root,root) %{_bindir}/qemu-system-sh4eb
413 %defattr(644,root,root,755)
414 %attr(755,root,root) %{_bindir}/qemu-system-sparc
415 %attr(755,root,root) %{_bindir}/qemu-system-sparc64
418 %defattr(644,root,root,755)
419 %attr(755,root,root) %{_bindir}/qemu-system-i386
420 %attr(755,root,root) %{_bindir}/qemu-system-x86_64
423 %defattr(644,root,root,755)
424 %attr(755,root,root) %{_bindir}/qemu-system-xtensa
425 %attr(755,root,root) %{_bindir}/qemu-system-xtensaeb