]> TLD Linux GIT Repositories - packages/qemu.git/blob - qemu.spec
- updated to 8.2.2
[packages/qemu.git] / qemu.spec
1 # TODO:
2 # plugins? (probes)
3 #
4 # Conditional build:
5 %bcond_without  sdl             # SDL UI and audio support
6 %bcond_without  opengl          # Don't require GL deps
7 %bcond_without  ceph            # Ceph/RBD support
8 %bcond_without  glusterfs       # GlusterFS backend
9 %bcond_without  rdma            # RDMA-based migration support
10 %bcond_without  gtk3            # Do not build GTK+ UI
11 %bcond_without  vte             # VTE support in GTK+ UI
12 %bcond_without  spice           # SPICE support
13 %bcond_without  oss             # OSS audio support
14 %bcond_without  pulseaudio      # PulseAudio audio support
15 %bcond_without  xen             # Xen backend driver support
16 %bcond_with     brlapi          # brlapi support
17 %bcond_without  smartcard       # smartcard-nss support
18 %bcond_without  iscsi           # iscsi support
19 %bcond_without  libnfs          # NFS support
20 %bcond_without  multipath       # Multipath support
21 %bcond_without  pmem            # libpmem (persistent memory) support
22 %bcond_without  seccomp         # seccomp support
23 %bcond_without  usbredir        # usb network redirection support
24 %bcond_without  system_seabios  # system seabios binary
25 %bcond_without  snappy          # snappy compression library
26 %bcond_without  user_static     # build linux-user static packages
27 %bcond_with     lttng           # lttng-ust trace backend support [needs update]
28 %bcond_without  systemtap       # SystemTap/dtrace trace backend support
29 %bcond_without  virgl           # build virgl support
30 %bcond_without  xkbcommon       # xkbcommon support
31
32 %if %{without gtk}
33 %undefine       with_vte
34 %endif
35 %ifarch x32
36 %undefine       with_xen
37 %endif
38 %ifnarch %{x8664} aarch64
39 %undefine       with_ceph
40 %undefine       with_pmem
41 %endif
42
43 Summary:        QEMU CPU Emulator
44 Summary(pl.UTF-8):      QEMU - emulator procesora
45 Name:           qemu
46 Version:        5.2.0
47 Release:        1
48 License:        GPL v2, BSD (edk2 firmware files)
49 Group:          Applications/Emulators
50 Source0:        https://download.qemu.org/%{name}-%{version}.tar.xz
51 # Source0-md5:  179f86928835da857c237b42f4b2df73
52 # Loads kvm kernel modules at boot
53 Source3:        kvm-modules-load.conf
54 # Creates /dev/kvm
55 Source4:        80-kvm.rules
56 # KSM control scripts
57 Source6:        ksm.sysconfig
58 Source7:        ksmctl.c
59 Source9:        ksmtuned
60 Source10:       ksmtuned.conf
61 Source12:       99-%{name}-guest-agent.rules
62 Source13:       %{name}-guest-agent.init
63 Source14:       %{name}-guest-agent.logrotate
64 Patch0:         %{name}-cflags.patch
65 Patch2:         %{name}-user-execve.patch
66 Patch3:         %{name}-xattr.patch
67 Patch4:         libjpeg-boolean.patch
68 Patch5:         x32.patch
69 URL:            https://www.qemu.org/
70 %{?with_opengl:BuildRequires:   Mesa-libgbm-devel}
71 %{?with_opengl:BuildRequires:   OpenGL-GLX-devel}
72 %{?with_opengl:BuildRequires:   OpenGL-devel}
73 %{?with_sdl:BuildRequires:      SDL2-devel >= 2.0}
74 %{?with_sdl:BuildRequires:      SDL2_image-devel >= 2.0}
75 BuildRequires:  alsa-lib-devel
76 BuildRequires:  bcc >= 0.16.21-2
77 %{?with_brlapi:BuildRequires:   brlapi-devel}
78 BuildRequires:  bzip2-devel
79 BuildRequires:  capstone-devel >= 3.0.5
80 %{?with_ceph:BuildRequires:     ceph-devel}
81 BuildRequires:  curl-devel
82 BuildRequires:  cyrus-sasl-devel >= 2
83 BuildRequires:  glib2-devel >= 1:2.48
84 # minimal is 3.4 but new features are used up to 6
85 %{?with_glusterfs:BuildRequires:        glusterfs-devel >= 6}
86 BuildRequires:  gnutls-devel >= 3.1.18
87 %{?with_gtk3:BuildRequires:     gtk+3-devel >= 3.16}
88 BuildRequires:  libaio-devel
89 %{?with_smartcard:BuildRequires:        libcacard-devel >= 2.5.1}
90 BuildRequires:  libcap-ng-devel
91 %{?with_opengl:BuildRequires:   libepoxy-devel}
92 BuildRequires:  libfdt-devel >= 1.4.2
93 %{?with_rdma:BuildRequires:     libibverbs-devel}
94 %{?with_iscsi:BuildRequires:    libiscsi-devel >= 1.9.0}
95 %{?with_rdma:BuildRequires:     libibumad-devel}
96 BuildRequires:  libjpeg-devel
97 %{?with_libnfs:BuildRequires:   libnfs-devel >= 1.9.3}
98 BuildRequires:  libpng-devel
99 %{?with_rdma:BuildRequires:     librdmacm-devel}
100 %{?with_seccomp:BuildRequires:  libseccomp-devel >= 2.3.0}
101 BuildRequires:  libssh-devel >= 0.8
102 BuildRequires:  libslirp-devel >= 4.0.0
103 # for tests only
104 #BuildRequires: libtasn1-devel
105 BuildRequires:  libusb-devel >= 1.0.22
106 BuildRequires:  liburing-devel
107 BuildRequires:  libuuid-devel
108 BuildRequires:  libxml2-devel >= 2.0
109 %{?with_lttng:BuildRequires:    lttng-ust-devel}
110 BuildRequires:  lzfse-devel
111 BuildRequires:  lzo-devel >= 2
112 %{?with_multipath:BuildRequires:        multipath-tools-devel}
113 BuildRequires:  ncurses-devel
114 # also libgcrypt-devel >= 1.5.0 possible, but gnutls already pulls nettle
115 BuildRequires:  nettle-devel >= 2.7.1
116 %{?with_smartcard:BuildRequires:        nss-devel >= 1:3.12.8}
117 BuildRequires:  numactl-devel
118 BuildRequires:  pam-devel
119 BuildRequires:  perl-Encode
120 BuildRequires:  perl-tools-pod
121 BuildRequires:  pixman-devel >= 0.21.8
122 BuildRequires:  pkgconfig
123 %{?with_pmem:BuildRequires:     pmdk-devel}
124 %{?with_pulseaudio:BuildRequires:       pulseaudio-devel}
125 BuildRequires:  python3 >= 1:3.5
126 BuildRequires:  rpmbuild(macros) >= 1.644
127 %{?with_system_seabios:BuildRequires:   seabios}
128 BuildRequires:  sed >= 4.0
129 %{?with_snappy:BuildRequires:   snappy-devel}
130 BuildRequires:  sphinx-pdg
131 %if %{with spice}
132 BuildRequires:  spice-protocol >= 0.12.3
133 BuildRequires:  spice-server-devel >= 0.12.5
134 %endif
135 %{?with_systemtap:BuildRequires:        systemtap-sdt-devel}
136 BuildRequires:  texi2html
137 BuildRequires:  texinfo
138 %{?with_multipath:BuildRequires:        udev-devel}
139 %{?with_usbredir:BuildRequires: usbredir-devel >= 0.6}
140 %{?with_lttng:BuildRequires:    userspace-rcu-devel}
141 BuildRequires:  vde2-devel
142 BuildRequires:  which
143 %{?with_virgl:BuildRequires:    virglrenderer-devel}
144 %{?with_vte:BuildRequires:      vte-devel >= 0.32.0}
145 # xencontrol xenstore xenguest xenforeignmemory xengnttab xenevtchn xendevicemodel; xentoolcore for xen 4.10+
146 # min version is 4.2, more features up to 4.10
147 %{?with_xen:BuildRequires:      xen-devel >= 4.10}
148 BuildRequires:  xfsprogs-devel
149 %{?with_xkbcommon:BuildRequires:        xorg-lib-libxkbcommon-devel}
150 BuildRequires:  xorg-lib-libX11-devel
151 BuildRequires:  zlib-devel
152 BuildRequires:  zstd-devel >= 1.4.0
153 %if %{with user_static}
154 BuildRequires:  glib2-static >= 1:2.48
155 BuildRequires:  glibc-static
156 BuildRequires:  pcre-static
157 BuildRequires:  zlib-static
158 %endif
159 Requires:       %{name}-img = %{version}-%{release}
160 Requires:       %{name}-system-aarch64 = %{version}-%{release}
161 Requires:       %{name}-system-alpha = %{version}-%{release}
162 Requires:       %{name}-system-arm = %{version}-%{release}
163 Requires:       %{name}-system-avr = %{version}-%{release}
164 Requires:       %{name}-system-cris = %{version}-%{release}
165 Requires:       %{name}-system-hppa = %{version}-%{release}
166 Requires:       %{name}-system-m68k = %{version}-%{release}
167 Requires:       %{name}-system-microblaze = %{version}-%{release}
168 Requires:       %{name}-system-mips = %{version}-%{release}
169 Requires:       %{name}-system-moxie = %{version}-%{release}
170 Requires:       %{name}-system-nios2 = %{version}-%{release}
171 Requires:       %{name}-system-or1k = %{version}-%{release}
172 Requires:       %{name}-system-ppc = %{version}-%{release}
173 Requires:       %{name}-system-riscv32 = %{version}-%{release}
174 Requires:       %{name}-system-riscv64 = %{version}-%{release}
175 Requires:       %{name}-system-rx = %{version}-%{release}
176 Requires:       %{name}-system-s390x = %{version}-%{release}
177 Requires:       %{name}-system-sh4 = %{version}-%{release}
178 Requires:       %{name}-system-sparc = %{version}-%{release}
179 Requires:       %{name}-system-tricore = %{version}-%{release}
180 Requires:       %{name}-system-x86 = %{version}-%{release}
181 Requires:       %{name}-system-xtensa = %{version}-%{release}
182 Requires:       %{name}-user = %{version}-%{release}
183 Obsoletes:      qemu-kvm
184 ExcludeArch:    i386
185 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
186
187 %define systempkg_req \
188 Requires:       capstone >= 3.0.5 \
189 %{?with_smartcard:Requires:     libcacard >= 2.5.1} \
190 Requires:       libfdt >= 1.4.2 \
191 %if %{with seccomp} \
192 Requires:       libseccomp >= 2.3.0 \
193 %endif \
194 Requires:       libslirp >= 4.0.0 \
195 Requires:       libusb >= 1.0.22 \
196 Requires:       pixman >= 0.21.8 \
197 %if %{with spice} \
198 Requires:       spice-server-libs >= 0.12.5 \
199 %endif \
200 %if %{with usbredir} \
201 Requires:       usbredir >= 0.6 \
202 %endif \
203 Requires:       zstd >= 1.4.0
204
205 # don't strip/chrpath anything in there; these are boot images, roms etc
206 %define         _noautostrip    .*%{_datadir}/qemu/.*
207 %define         _noautochrpath  .*%{_datadir}/qemu/.*
208
209 %description
210 QEMU is a FAST! processor emulator. By using dynamic translation it
211 achieves a reasonnable speed while being easy to port on new host
212 CPUs. QEMU has two operating modes:
213
214 - User mode emulation. In this mode, QEMU can launch Linux processes
215   compiled for one CPU on another CPU. Linux system calls are converted
216   because of endianness and 32/64 bit mismatches. Wine (Windows
217   emulation) and DOSEMU (DOS emulation) are the main targets for QEMU.
218
219 - Full system emulation. In this mode, QEMU emulates a full system,
220   including a processor and various peripherials. It can also be used to
221   provide virtual hosting of several virtual PC on a single server.
222
223 %description -l pl.UTF-8
224 QEMU to szybki(!) emulator procesora. Poprzez użycie dynamicznego
225 tłumaczenia osiąga rozsądną szybkość i jest łatwy do przeportowania,
226 aby działał na kolejnych procesorach. QEMU ma dwa tryby pracy:
227
228 - Emulacja trybu użytkownika. W tym trybie QEMU może uruchamiać
229   procesy linuksowe skompilowane dla jednego procesora na innym
230   procesorze. Linuksowe wywołania systemowe są tłumaczone ze względu na
231   niezgodność kolejności bajtów w słowie i 32/64-bitowego rozmiaru
232   słowa. Wine (emulacja Windows) i DOSEMU (emulacja DOS-a) to główne
233   cele QEMU.
234
235 - Pełna emulacja systemu. W tym trybie QEMU emuluje cały system,
236   włączając w to procesor i różne urządzenia peryferyjne. Może być także
237   używane do wirtualnego hostowania kilku wirtualnych pecetów na
238   pojedynczym serwerze.
239
240 %package common
241 Summary:        QEMU common files needed by all QEMU targets
242 Summary(pl.UTF-8):      Wspólne pliki QEMU wymagane przez wszystkie środowiska QEMU
243 Group:          Applications/Emulators
244 Requires(postun):       /usr/sbin/groupdel
245 Requires(postun):       /usr/sbin/userdel
246 Requires(pre):  /bin/id
247 Requires(pre):  /usr/bin/getgid
248 Requires(pre):  /usr/sbin/groupadd
249 Requires(pre):  /usr/sbin/useradd
250 Requires:       glib2 >= 1:2.48
251 Requires:       gnutls-libs >= 3.1.18
252 %{?with_gtk3:Requires:  gtk+3 >= 3.16}
253 Requires:       nettle >= 2.7.1
254 %{?with_vte:Requires:   vte >= 0.32.0}
255 Provides:       group(qemu)
256 Provides:       user(qemu)
257 Obsoletes:      qemu-kvm-common
258 Obsoletes:      qemu-module-block-archipelago < 2.9.0
259 Obsoletes:      qemu-system-lm32
260 Obsoletes:      qemu-system-unicore32
261 Conflicts:      qemu < 1.0-2
262
263 %description common
264 QEMU is a generic and open source processor emulator which achieves a
265 good emulation speed by using dynamic translation.
266
267 This package provides the common files needed by all QEMU targets.
268
269 %description common -l pl.UTF-8
270 QEMU to ogólny, mający otwarte źródła emulator procesora, osiągający
271 dobrą szybkość emulacji dzięki użyciu translacji dynamicznej.
272
273 Ten pakiet udostępnia wspólne pliki wymagane przez wszystkie
274 środowiska QEMU.
275
276 %package img
277 Summary:        QEMU command line tool for manipulating disk images
278 Summary(pl.UTF-8):      Narzędzie QEMU do operacji na obrazach dysków
279 Group:          Applications/Emulators
280 Obsoletes:      qemu-kvm-img
281 Conflicts:      qemu < 1.0-2
282
283 %description img
284 This package provides a command line tool for manipulating disk
285 images.
286
287 %description img -l pl.UTF-8
288 Ten pakiet udostępnia działające z linii poleceń narzędzia do operacji
289 na obrazach dysków.
290
291 %package user
292 Summary:        QEMU user mode emulation of qemu targets
293 Summary(pl.UTF-8):      QEMU - emulacja trybu użytkownika środowisk qemu
294 Group:          Applications/Emulators
295 Requires:       %{name}-common = %{version}-%{release}
296 Obsoletes:      qemu-kvm-user
297
298 %description user
299 QEMU is a generic and open source processor emulator which achieves a
300 good emulation speed by using dynamic translation.
301
302 This package provides the user mode emulation of QEMU targets.
303
304 %description user -l pl.UTF-8
305 QEMU to ogólny, mający otwarte źródła emulator procesora, osiągający
306 dobrą szybkość emulacji dzięki użyciu translacji dynamicznej.
307
308 Ten pakiet udostępnia emulację trybu użytkownika środowisk QEMU.
309
310 %package user-static
311 Summary:        QEMU user mode emulation of qemu targets static build
312 Summary(pl.UTF-8):      QEMU - emulacja trybu użytkownika środowisk qemu - wersja statyczna
313 Group:          Applications/Emulators
314
315 %description user-static
316 QEMU is a generic and open source processor emulator which achieves a
317 good emulation speed by using dynamic translation.
318
319 This package provides the user mode emulation of qemu targets built as
320 static binaries.
321
322 %description user-static -l pl.UTF-8
323 QEMU to ogólny, mający otwarte źródła emulator procesora, osiągający
324 dobrą szybkość emulacji dzięki użyciu translacji dynamicznej.
325
326 Ten pakiet udostępnia emulację trybu użytkownika środowisk QEMU w
327 oparciu o programy wykonywalne zbudowane statycznie.
328
329 %package system-aarch64
330 Summary:        QEMU system emulator for AArch64
331 Summary(pl.UTF-8):      QEMU - emulator systemu z procesorem AArch64
332 Group:          Applications/Emulators
333 Requires:       %{name}-common = %{version}-%{release}
334 %systempkg_req
335 Obsoletes:      qemu-kvm-system-aarch64
336
337 %description system-aarch64
338 QEMU is a generic and open source processor emulator which achieves a
339 good emulation speed by using dynamic translation.
340
341 This package provides the system emulator with AArch64 (ARM64) CPU.
342
343 %description system-aarch64 -l pl.UTF-8
344 QEMU to ogólny, mający otwarte źródła emulator procesora, osiągający
345 dobrą szybkość emulacji dzięki użyciu translacji dynamicznej.
346
347 Ten pakiet zawiera emulator systemu z procesorem AArch64 (ARM64).
348
349 %package system-alpha
350 Summary:        QEMU system emulator for Alpha
351 Summary(pl.UTF-8):      QEMU - emulator systemu z procesorem Alpha
352 Group:          Applications/Emulators
353 Requires:       %{name}-common = %{version}-%{release}
354 %systempkg_req
355 Obsoletes:      qemu-kvm-system-alpha
356
357 %description system-alpha
358 QEMU is a generic and open source processor emulator which achieves a
359 good emulation speed by using dynamic translation.
360
361 This package provides the system emulator with Alpha CPU.
362
363 %description system-alpha -l pl.UTF-8
364 QEMU to ogólny, mający otwarte źródła emulator procesora, osiągający
365 dobrą szybkość emulacji dzięki użyciu translacji dynamicznej.
366
367 Ten pakiet zawiera emulator systemu z procesorem Alpha.
368
369 %package system-arm
370 Summary:        QEMU system emulator for 32-bit ARM
371 Summary(pl.UTF-8):      QEMU - emulator systemu z 32-bitowym procesorem ARM
372 Group:          Applications/Emulators
373 Requires:       %{name}-common = %{version}-%{release}
374 %systempkg_req
375 Obsoletes:      qemu-kvm-system-arm
376
377 %description system-arm
378 QEMU is a generic and open source processor emulator which achieves a
379 good emulation speed by using dynamic translation.
380
381 This package provides the system emulator for 32-bit ARM.
382
383 %description system-arm -l pl.UTF-8
384 QEMU to ogólny, mający otwarte źródła emulator procesora, osiągający
385 dobrą szybkość emulacji dzięki użyciu translacji dynamicznej.
386
387 Ten pakiet zawiera emulator systemu z 32-bitowym procesorem ARM.
388
389 %package system-avr
390 Summary:        QEMU system emulator for AVR
391 Summary(pl.UTF-8):      QEMU - emulator systemu z procesorem AVR
392 Group:          Applications/Emulators
393 Requires:       %{name}-common = %{version}-%{release}
394 %systempkg_req
395 Obsoletes:      qemu-kvm-system-avr
396
397 %description system-avr
398 QEMU is a generic and open source processor emulator which achieves a
399 good emulation speed by using dynamic translation.
400
401 This package provides the system emulator for AVR.
402
403 %description system-avr -l pl.UTF-8
404 QEMU to ogólny, mający otwarte źródła emulator procesora, osiągający
405 dobrą szybkość emulacji dzięki użyciu translacji dynamicznej.
406
407 Ten pakiet zawiera emulator systemu z procesorem AVR.
408
409 %package system-cris
410 Summary:        QEMU system emulator for CRIS
411 Summary(pl.UTF-8):      QEMU - emulator systemu z procesorem CRIS
412 Group:          Applications/Emulators
413 Requires:       %{name}-common = %{version}-%{release}
414 %systempkg_req
415 Obsoletes:      qemu-kvm-system-cris
416
417 %description system-cris
418 QEMU is a generic and open source processor emulator which achieves a
419 good emulation speed by using dynamic translation.
420
421 This package provides the system emulator with CRIS CPU.
422
423 %description system-cris -l pl.UTF-8
424 QEMU to ogólny, mający otwarte źródła emulator procesora, osiągający
425 dobrą szybkość emulacji dzięki użyciu translacji dynamicznej.
426
427 Ten pakiet zawiera emulator systemu z procesorem CRIS.
428
429 %package system-hppa
430 Summary:        QEMU system emulator for HP/PA
431 Summary(pl.UTF-8):      QEMU - emulator systemu z procesorem HP/PA
432 Group:          Applications/Emulators
433 Requires:       %{name}-common = %{version}-%{release}
434 %systempkg_req
435
436 %description system-hppa
437 QEMU is a generic and open source processor emulator which achieves a
438 good emulation speed by using dynamic translation.
439
440 This package provides the system emulator with HP/PA (PA-RISC) CPU.
441
442 %description system-hppa -l pl.UTF-8
443 QEMU to ogólny, mający otwarte źródła emulator procesora, osiągający
444 dobrą szybkość emulacji dzięki użyciu translacji dynamicznej.
445
446 Ten pakiet zawiera emulator systemu z procesorem HP/PA (PA-RISC).
447
448 %package system-m68k
449 Summary:        QEMU system emulator for m68k
450 Summary(pl.UTF-8):      QEMU - emulator systemu z procesorem m68k
451 Group:          Applications/Emulators
452 Requires:       %{name}-common = %{version}-%{release}
453 %systempkg_req
454 Obsoletes:      qemu-kvm-system-m68k
455
456 %description system-m68k
457 QEMU is a generic and open source processor emulator which achieves a
458 good emulation speed by using dynamic translation.
459
460 This package provides the system emulator with m68k (Motorola 68xxx)
461 CPU.
462
463 %description system-m68k -l pl.UTF-8
464 QEMU to ogólny, mający otwarte źródła emulator procesora, osiągający
465 dobrą szybkość emulacji dzięki użyciu translacji dynamicznej.
466
467 Ten pakiet zawiera emulator systemu z procesorem m68k (Motorola
468 68xxx).
469
470 %package system-microblaze
471 Summary:        QEMU system emulator for MicroBlaze
472 Summary(pl.UTF-8):      QEMU - emulator systemu z procesorem MicroBlaze
473 Group:          Applications/Emulators
474 Requires:       %{name}-common = %{version}-%{release}
475 %systempkg_req
476 Obsoletes:      qemu-kvm-system-microblaze
477
478 %description system-microblaze
479 QEMU is a generic and open source processor emulator which achieves a
480 good emulation speed by using dynamic translation.
481
482 This package provides the system emulator with MicroBlaze CPU.
483
484 %description system-microblaze -l pl.UTF-8
485 QEMU to ogólny, mający otwarte źródła emulator procesora, osiągający
486 dobrą szybkość emulacji dzięki użyciu translacji dynamicznej.
487
488 Ten pakiet zawiera emulator systemu z procesorem MicroBlaze.
489
490 %package system-mips
491 Summary:        QEMU system emulator for MIPS
492 Summary(pl.UTF-8):      QEMU - emulator systemu z procesorem MIPS
493 Group:          Applications/Emulators
494 Requires:       %{name}-common = %{version}-%{release}
495 %systempkg_req
496 Obsoletes:      qemu-kvm-system-mips
497
498 %description system-mips
499 QEMU is a generic and open source processor emulator which achieves a
500 good emulation speed by using dynamic translation.
501
502 This package provides the system emulator with MIPS CPU.
503
504 %description system-mips -l pl.UTF-8
505 QEMU to ogólny, mający otwarte źródła emulator procesora, osiągający
506 dobrą szybkość emulacji dzięki użyciu translacji dynamicznej.
507
508 Ten pakiet zawiera emulator systemu z procesorem MIPS.
509
510 %package system-moxie
511 Summary:        QEMU system emulator for Moxie
512 Summary(pl.UTF-8):      QEMU - emulator systemu z procesorem Moxie
513 Group:          Applications/Emulators
514 Requires:       %{name}-common = %{version}-%{release}
515 %systempkg_req
516
517 %description system-moxie
518 QEMU is a generic and open source processor emulator which achieves a
519 good emulation speed by using dynamic translation.
520
521 This package provides the system emulator with Moxie CPU.
522
523 %description system-moxie -l pl.UTF-8
524 QEMU to ogólny, mający otwarte źródła emulator procesora, osiągający
525 dobrą szybkość emulacji dzięki użyciu translacji dynamicznej.
526
527 Ten pakiet zawiera emulator systemu z procesorem Moxie.
528
529 %package system-nios2
530 Summary:        QEMU system emulator for Nios II
531 Summary(pl.UTF-8):      QEMU - emulator systemu z procesorem Nios II
532 Group:          Applications/Emulators
533 Requires:       %{name}-common = %{version}-%{release}
534 %systempkg_req
535
536 %description system-nios2
537 QEMU is a generic and open source processor emulator which achieves a
538 good emulation speed by using dynamic translation.
539
540 This package provides the system emulator with Nios II CPU.
541
542 %description system-nios2 -l pl.UTF-8
543 QEMU to ogólny, mający otwarte źródła emulator procesora, osiągający
544 dobrą szybkość emulacji dzięki użyciu translacji dynamicznej.
545
546 Ten pakiet zawiera emulator systemu z procesorem Nios II.
547
548 %package system-or1k
549 Summary:        QEMU system emulator for OpenRISC
550 Summary(pl.UTF-8):      QEMU - emulator systemu z procesorem OpenRISC
551 Group:          Applications/Emulators
552 Requires:       %{name}-common = %{version}-%{release}
553 %systempkg_req
554 Obsoletes:      qemu-kvm-system-or1k
555 Obsoletes:      qemu-system-or32
556
557 %description system-or1k
558 QEMU is a generic and open source processor emulator which achieves a
559 good emulation speed by using dynamic translation.
560
561 This package provides the system emulator with OpenRISC CPU.
562
563 %description system-or1k -l pl.UTF-8
564 QEMU to ogólny, mający otwarte źródła emulator procesora, osiągający
565 dobrą szybkość emulacji dzięki użyciu translacji dynamicznej.
566
567 Ten pakiet zawiera emulator systemu z procesorem OpenRISC.
568
569 %package system-ppc
570 Summary:        QEMU system emulator for PowerPC
571 Summary(pl.UTF-8):      QEMU - emulator systemu z procesorem PowerPC
572 Group:          Applications/Emulators
573 Requires:       %{name}-common = %{version}-%{release}
574 %systempkg_req
575 Obsoletes:      qemu-kvm-system-ppc
576
577 %description system-ppc
578 QEMU is a generic and open source processor emulator which achieves a
579 good emulation speed by using dynamic translation.
580
581 This package provides the system emulator with PowerPC CPU.
582
583 %description system-ppc -l pl.UTF-8
584 QEMU to ogólny, mający otwarte źródła emulator procesora, osiągający
585 dobrą szybkość emulacji dzięki użyciu translacji dynamicznej.
586
587 Ten pakiet zawiera emulator systemu z procesorem PowerPC.
588
589 %package system-riscv32
590 Summary:        QEMU system emulator for RISC-V (32 bit)
591 Summary(pl.UTF-8):      QEMU - emulator systemu z procesorem RISC-V (32 bit)
592 Group:          Applications/Emulators
593 Requires:       %{name}-common = %{version}-%{release}
594 %systempkg_req
595
596 %description system-riscv32
597 QEMU is a generic and open source processor emulator which achieves a
598 good emulation speed by using dynamic translation.
599
600 This package provides the system emulator with RISC-V (32 bit) CPU.
601
602 %description system-riscv32 -l pl.UTF-8
603 QEMU to ogólny, mający otwarte źródła emulator procesora, osiągający
604 dobrą szybkość emulacji dzięki użyciu translacji dynamicznej.
605
606 Ten pakiet zawiera emulator systemu z procesorem RISC-V (32 bit).
607
608 %package system-riscv64
609 Summary:        QEMU system emulator for RISC-V (64 bit)
610 Summary(pl.UTF-8):      QEMU - emulator systemu z procesorem RISC-V (64 bitowym)
611 Group:          Applications/Emulators
612 Requires:       %{name}-common = %{version}-%{release}
613 %systempkg_req
614
615 %description system-riscv64
616 QEMU is a generic and open source processor emulator which achieves a
617 good emulation speed by using dynamic translation.
618
619 This package provides the system emulator with RISC-V (64 bit) CPU.
620
621 %description system-riscv64 -l pl.UTF-8
622 QEMU to ogólny, mający otwarte źródła emulator procesora, osiągający
623 dobrą szybkość emulacji dzięki użyciu translacji dynamicznej.
624
625 Ten pakiet zawiera emulator systemu z procesorem RISC-V (64-bitowym).
626
627 %package system-rx
628 Summary:        QEMU system emulator for Renesas RX
629 Summary(pl.UTF-8):      QEMU - emulator systemu z procesorem Renesas RX
630 Group:          Applications/Emulators
631 Requires:       %{name}-common = %{version}-%{release}
632 %systempkg_req
633
634 %description system-rx
635 QEMU is a generic and open source processor emulator which achieves a
636 good emulation speed by using dynamic translation.
637
638 This package provides the system emulator with Renesas RX CPU.
639
640 %description system-rx -l pl.UTF-8
641 QEMU to ogólny, mający otwarte źródła emulator procesora, osiągający
642 dobrą szybkość emulacji dzięki użyciu translacji dynamicznej.
643
644 Ten pakiet zawiera emulator systemu z procesorem Renesas RX.
645
646 %package system-s390x
647 Summary:        QEMU system emulator for S390x (IBM Z)
648 Summary(pl.UTF-8):      QEMU - emulator systemu z procesorem S390x (IBM Z)
649 Group:          Applications/Emulators
650 Requires:       %{name}-common = %{version}-%{release}
651 %systempkg_req
652 Obsoletes:      qemu-kvm-system-s390x
653
654 %description system-s390x
655 QEMU is a generic and open source processor emulator which achieves a
656 good emulation speed by using dynamic translation.
657
658 This package provides the system emulator with S390x (IBM Z) CPU.
659
660 %description system-s390x -l pl.UTF-8
661 QEMU to ogólny, mający otwarte źródła emulator procesora, osiągający
662 dobrą szybkość emulacji dzięki użyciu translacji dynamicznej.
663
664 Ten pakiet zawiera emulator systemu z procesorem S390x (IBM Z).
665
666 %package system-sh4
667 Summary:        QEMU system emulator for SH4
668 Summary(pl.UTF-8):      QEMU - emulator systemu z procesorem SH4
669 Group:          Applications/Emulators
670 Requires:       %{name}-common = %{version}-%{release}
671 %systempkg_req
672 Obsoletes:      qemu-kvm-system-sh4
673
674 %description system-sh4
675 QEMU is a generic and open source processor emulator which achieves a
676 good emulation speed by using dynamic translation.
677
678 This package provides the system emulator with SH4 CPU.
679
680 %description system-sh4 -l pl.UTF-8
681 QEMU to ogólny, mający otwarte źródła emulator procesora, osiągający
682 dobrą szybkość emulacji dzięki użyciu translacji dynamicznej.
683
684 Ten pakiet zawiera emulator systemu z procesorem SH4.
685
686 %package system-sparc
687 Summary:        QEMU system emulator for SPARC
688 Summary(pl.UTF-8):      QEMU - emulator systemu z procesorem SPARC
689 Group:          Applications/Emulators
690 Requires:       %{name}-common = %{version}-%{release}
691 %systempkg_req
692 Obsoletes:      qemu-kvm-system-sparc
693
694 %description system-sparc
695 QEMU is a generic and open source processor emulator which achieves a
696 good emulation speed by using dynamic translation.
697
698 This package provides the system emulator with SPARC/SPARC64 CPU.
699
700 %description system-sparc -l pl.UTF-8
701 QEMU to ogólny, mający otwarte źródła emulator procesora, osiągający
702 dobrą szybkość emulacji dzięki użyciu translacji dynamicznej.
703
704 Ten pakiet zawiera emulator systemu z procesorem SPARC/SPARC64.
705
706 %package system-tricore
707 Summary:        QEMU system emulator for TriCore
708 Summary(pl.UTF-8):      QEMU - emulator systemu z procesorem TriCore
709 Group:          Applications/Emulators
710 Requires:       %{name}-common = %{version}-%{release}
711 %systempkg_req
712
713 %description system-tricore
714 QEMU is a generic and open source processor emulator which achieves a
715 good emulation speed by using dynamic translation.
716
717 This package provides the system emulator with TriCore CPU.
718
719 %description system-sparc -l pl.UTF-8
720 QEMU to ogólny, mający otwarte źródła emulator procesora, osiągający
721 dobrą szybkość emulacji dzięki użyciu translacji dynamicznej.
722
723 Ten pakiet zawiera emulator systemu z procesorem TriCore.
724
725 %package system-x86
726 Summary:        QEMU system emulator for x86
727 Summary(pl.UTF-8):      QEMU - emulator systemu z procesorem x86
728 Group:          Applications/Emulators
729 Requires:       %{name}-common = %{version}-%{release}
730 %{?with_system_seabios:Requires:        seabios}
731 %systempkg_req
732 Obsoletes:      kvm
733 Obsoletes:      qemu-kvm-system-x86
734
735 %description system-x86
736 QEMU is a generic and open source processor emulator which achieves a
737 good emulation speed by using dynamic translation.
738
739 This package provides the system emulator with x86 CPU.
740
741 %description system-x86 -l pl.UTF-8
742 QEMU to ogólny, mający otwarte źródła emulator procesora, osiągający
743 dobrą szybkość emulacji dzięki użyciu translacji dynamicznej.
744
745 Ten pakiet zawiera emulator systemu z procesorem x86.
746
747 %package system-xtensa
748 Summary:        QEMU system emulator for Xtensa
749 Summary(pl.UTF-8):      QEMU - emulator systemu z procesorem Xtensa
750 Group:          Applications/Emulators
751 Requires:       %{name}-common = %{version}-%{release}
752 %systempkg_req
753 Obsoletes:      qemu-kvm-system-xtensa
754
755 %description system-xtensa
756 QEMU is a generic and open source processor emulator which achieves a
757 good emulation speed by using dynamic translation.
758
759 This package provides the system emulator with Xtensa CPU.
760
761 %description system-xtensa -l pl.UTF-8
762 QEMU to ogólny, mający otwarte źródła emulator procesora, osiągający
763 dobrą szybkość emulacji dzięki użyciu translacji dynamicznej.
764
765 Ten pakiet zawiera emulator systemu z procesorem Xtensa.
766
767 %package guest-agent
768 Summary:        QEMU guest agent
769 Summary(pl.UTF-8):      Agent gościa QEMU
770 Group:          Daemons
771 Requires:       glib2 >= 1:2.48
772 Obsoletes:      qemu-kvm-guest-agent
773 Conflicts:      SysVinit < 2.96-2
774
775 %description guest-agent
776 QEMU is a generic and open source processor emulator which achieves a
777 good emulation speed by using dynamic translation.
778
779 This package provides an agent to run inside guests, which
780 communicates with the host over a virtio-serial channel named
781 "org.qemu.guest_agent.0".
782
783 This package does not need to be installed on the host OS.
784
785 %description guest-agent -l pl.UTF-8
786 QEMU to ogólny, mający otwarte źródła emulator procesora, osiągający
787 dobrą szybkość emulacji dzięki użyciu translacji dynamicznej.
788
789 Ten pakiet udostępnia agenta przeznaczonego do uruchomienia w
790 systemach-gościach, komunikującego się kanałem virtio-serial o nazwie
791 "org.qemu.guest_agent.0".
792
793 Ten pakiet nie musi być zainstalowany w systemie hosta.
794
795 %package module-block-curl
796 Summary:        QEMU module for 'curl' block devices
797 Summary(pl.UTF-8):      Moduł QEMU dla urządeń blokowych typu 'curl'
798 Group:          Applications/Emulators
799 Requires:       %{name}-common = %{version}-%{release}
800
801 %description module-block-curl
802 QEMU block device support for CURL. It allows to access remote disks
803 over http, https, ftp and other transports provided by the CURL
804 library.
805
806 %description module-block-curl -l pl.UTF-8
807 Moduł QEMU dla urządeń blokowych CURL. Pozwala na dostęp do zdalnych
808 dysków poprzez http, https, ftp i inne protokoły obsługiwane przez
809 bibliotekę CURL.
810
811 %package module-block-gluster
812 Summary:        QEMU module for 'gluster' block devices
813 Summary(pl.UTF-8):      Moduł QEMU dla urządeń blokowych typu 'gluster'
814 Group:          Applications/Emulators
815 Requires:       %{name}-common = %{version}-%{release}
816 Requires:       glusterfs-libs >= 6
817
818 %description module-block-gluster
819 QEMU block device support for remote Gluster storage.
820
821 %description module-block-gluster -l pl.UTF-8
822 Moduł urządzeń blokowych QEMU do dostępu do zdalnej przestrzeni
823 dyskowej Gluster.
824
825 %package module-block-iscsi
826 Summary:        QEMU module for 'iscsi' block devices
827 Summary(pl.UTF-8):      Moduł QEMU dla urządeń blokowych typu 'iscsi'
828 Group:          Applications/Emulators
829 Requires:       %{name}-common = %{version}-%{release}
830 Requires:       libiscsi >= 1.9.0
831
832 %description module-block-iscsi
833 QEMU block device support for iSCSI volumes.
834
835 %description module-block-iscsi -l pl.UTF-8
836 Moduł urządzeń blokowych QEMU do dostępu do wolumenów iSCSI.
837
838 %package module-block-nfs
839 Summary:        QEMU module for 'nfs' block devices
840 Summary(pl.UTF-8):      Moduł QEMU dla urządeń blokowych typu 'nfs'
841 Group:          Applications/Emulators
842 Requires:       %{name}-common = %{version}-%{release}
843 Requires:       libnfs >= 1.9.3
844
845 %description module-block-nfs
846 QEMU block device support for remote NFS storage.
847
848 %description module-block-nfs -l pl.UTF-8
849 Moduł urządzeń blokowych QEMU do dostępu do zdalnej przestrzeni po
850 NFS.
851
852 %package module-block-rbd
853 Summary:        QEMU module for 'rbd' block devices
854 Summary(pl.UTF-8):      Moduł QEMU dla urządeń blokowych typu 'rbd'
855 Group:          Applications/Emulators
856 Requires:       %{name}-common = %{version}-%{release}
857
858 %description module-block-rbd
859 QEMU block device support for Ceph/RBD volumes.
860
861 %description module-block-rbd -l pl.UTF-8
862 Moduł urządzeń blokowych QEMU do wolumenów Ceph/RBD.
863
864 %package module-block-ssh
865 Summary:        QEMU module for 'ssh' block devices
866 Summary(pl.UTF-8):      Moduł QEMU dla urządeń blokowych typu 'ssh'
867 Group:          Applications/Emulators
868 Requires:       %{name}-common = %{version}-%{release}
869 Requires:       libssh >= 0.8
870
871 %description module-block-ssh
872 QEMU block device support for accessing remote disks using the Secure
873 Shell (SSH) protocol.
874
875 %description module-block-ssh -l pl.UTF-8
876 Moduł urządzeń blokowych QEMU do dostępu do zdalnych dysków poprzez
877 protokół SSH (Secure Shell).
878
879 %package module-ui-gtk
880 Summary:        QEMU GTK UI driver
881 Summary(pl.UTF-8):      Sterownik interfejsu użytkownika GTK dla QEMU
882 Group:          Applications/Emulators
883 Requires:       %{name}-common = %{version}-%{release}
884
885 %description module-ui-gtk
886 QEMU GTK UI driver.
887
888 %description module-ui-gtk -l pl.UTF-8
889 Sterownik interfejsu użytkownika GTK dla QEMU.
890
891 %package module-ui-sdl
892 Summary:        QEMU SDL UI and audio driver
893 Summary(pl.UTF-8):      Sterownik interfejsu użytkownika i dźwięku SDL dla QEMU
894 Group:          Applications/Emulators
895 Requires:       %{name}-common = %{version}-%{release}
896
897 %description module-ui-sdl
898 QEMU SDL UI and audio driver.
899
900 %description module-ui-sdl -l pl.UTF-8
901 Sterownik interfejsu użytkownika i dźwięku SDL dla QEMU.
902
903 %package -n systemtap-qemu
904 Summary:        systemtap/dtrace probes for QEMU
905 Summary(pl.UTF-8):      Sondy systemtap/dtrace dla QEMU
906 Group:          Development/Tools
907 Requires:       %{name}-common = %{version}-%{release}
908 Requires:       systemtap-client
909
910 %description -n systemtap-qemu
911 systemtap/dtrace probes for QEMU.
912
913 %description -n systemtap-qemu -l pl.UTF-8
914 Sondy systemtap/dtrace dla QEMU.
915
916 %prep
917 %setup -q
918 %patch0 -p1
919 %patch2 -p1
920 %patch3 -p1
921 %patch4 -p1
922 %patch5 -p1
923
924 %{__sed} -i '1s,/usr/bin/env python3,%{__python3},' scripts/qemu-trace-stap
925
926 %if %{with systemtap}
927 # don't require stap binary during build
928 %{__sed} -i -e "s/has 'stap'/true/" configure
929 %endif
930 %build
931
932 build() {
933         local target=$1
934         shift
935
936         install -d build-$target
937         cd build-$target
938
939         ../configure \
940         --prefix=%{_prefix} \
941         --libdir=%{_libdir} \
942         --libexecdir=%{_libexecdir} \
943         --sysconfdir=%{_sysconfdir} \
944         --localstatedir=%{_localstatedir} \
945         --interp-prefix=%{_libdir}/qemu/lib-%%M \
946         --cc="%{__cc}" \
947         --cxx="%{__cxx}" \
948         --host-cc="%{__cc}" \
949         --disable-strip \
950         --enable-trace-backends="nop%{?with_systemtap:,dtrace}%{?with_lttng:,ust}" \
951         --enable-kvm \
952         "$@"
953
954         %{__make} \
955                 V=1 \
956                 %{!?with_smartcard:CONFIG_USB_SMARTCARD=n}
957
958         cd ..
959 }
960
961 build dynamic \
962         --extra-cflags="%{rpmcflags} %{rpmcppflags}" \
963         --extra-ldflags="%{rpmldflags} -Wl,-z,relro -Wl,-z,now" \
964         --audio-drv-list="alsa%{?with_oss:,oss}%{?with_sdl:,sdl}%{?with_pulseaudio:,pa}" \
965         --enable-attr \
966         %{__enable_disable brlapi} \
967         --enable-cap-ng \
968         --enable-capstone=system \
969         --enable-curl \
970         --enable-curses \
971         --enable-docs \
972         --enable-fdt \
973         %{__enable_disable glusterfs} \
974         %{!?with_gtk3:--disable-gtk} \
975         %{__enable_disable iscsi libiscsi} \
976         %{__enable_disable libnfs} \
977         %{__enable_disable pmem libpmem} \
978         --enable-lzo \
979         %{__enable_disable multipath mpath} \
980         --enable-modules \
981         --disable-netmap \
982         --enable-nettle \
983         %{__enable_disable ceph rbd} \
984         %{__enable_disable rdma} \
985         %{__enable_disable sdl} \
986         %{__enable_disable seccomp} \
987         --enable-slirp=system \
988         %{__enable_disable spice} \
989         %{__enable_disable smartcard} \
990         %{__enable_disable snappy} \
991         --enable-tpm \
992         %{__enable_disable usbredir usb-redir} \
993         --enable-vde \
994         %{__enable_disable virgl virglrenderer} \
995         --enable-virtfs \
996         --enable-vnc-jpeg \
997         --enable-vnc-png \
998         --enable-vnc-sasl \
999         %{!?with_vte:--disable-vte} \
1000         %{__enable_disable xen} \
1001         %{__enable_disable xkbcommon}
1002
1003 %if %{with user_static}
1004 build static \
1005         --disable-brlapi \
1006         --disable-cap-ng \
1007         --disable-capstone \
1008         --disable-curl \
1009         --disable-curses \
1010         --disable-gcrypt \
1011         --disable-gnutls \
1012         --disable-gtk \
1013         --disable-guest-agent \
1014         --disable-guest-agent-msi \
1015         --disable-libnfs \
1016         --disable-linux-io-uring \
1017         --disable-mpath \
1018         --disable-nettle \
1019         --disable-pie \
1020         --disable-sdl \
1021         --disable-slirp \
1022         --disable-spice \
1023         --disable-system \
1024         --disable-tcmalloc \
1025         --disable-tools \
1026         --enable-user \
1027         --disable-xkbcommon \
1028         --disable-zstd \
1029         --static
1030 %endif
1031
1032 %{__cc} %{SOURCE7} %{rpmcflags} -o ksmctl
1033
1034 %install
1035 rm -rf $RPM_BUILD_ROOT
1036 install -d \
1037         $RPM_BUILD_ROOT/etc/{qemu,sysconfig,modules-load.d,rc.d/init.d,logrotate.d} \
1038         $RPM_BUILD_ROOT{%{_sysconfdir}/sasl,/lib/udev/rules.d,%{_sbindir}}
1039
1040 %if %{with user_static}
1041 %{__make} -C build-static install \
1042         %{!?with_smartcard:CONFIG_USB_SMARTCARD=n} \
1043         DESTDIR=$RPM_BUILD_ROOT
1044
1045 # Give all QEMU user emulators a -static suffix
1046 for src in $RPM_BUILD_ROOT%{_bindir}/qemu-*; do
1047         %{__mv} $src $src-static
1048 done
1049
1050 %endif
1051
1052 %{__make} -C build-dynamic install \
1053         %{!?with_smartcard:CONFIG_USB_SMARTCARD=n} \
1054         DESTDIR=$RPM_BUILD_ROOT
1055
1056 # let rpm generate dependencies
1057 chmod 755 $RPM_BUILD_ROOT%{_libdir}/%{name}/*.so
1058
1059 echo "#allow br0" > $RPM_BUILD_ROOT/etc/qemu/bridge.conf
1060
1061 install -d $RPM_BUILD_ROOT%{_sysconfdir}
1062 cat <<'EOF' > $RPM_BUILD_ROOT%{_sysconfdir}/qemu-ifup
1063 #!/bin/sh
1064
1065 EOF
1066
1067 install -p qemu.sasl $RPM_BUILD_ROOT%{_sysconfdir}/sasl/qemu.conf
1068
1069 %ifarch %{ix86} %{x8664} x32
1070 install -p %{SOURCE3} $RPM_BUILD_ROOT/etc/modules-load.d/kvm.conf
1071 install -p %{SOURCE4} $RPM_BUILD_ROOT/lib/udev/rules.d
1072 %endif
1073
1074 install -p %{SOURCE6} $RPM_BUILD_ROOT/etc/sysconfig/ksm
1075 install -p ksmctl $RPM_BUILD_ROOT%{_sbindir}
1076
1077 install -p %{SOURCE9} $RPM_BUILD_ROOT%{_sbindir}/ksmtuned
1078 install -p %{SOURCE10} $RPM_BUILD_ROOT%{_sysconfdir}/ksmtuned.conf
1079
1080 # For the qemu-guest-agent subpackage install the udev rules.
1081 install -p %{SOURCE12} $RPM_BUILD_ROOT/lib/udev/rules.d
1082
1083 install -p %{SOURCE13} $RPM_BUILD_ROOT/etc/rc.d/init.d/qemu-ga
1084 install -p %{SOURCE14} $RPM_BUILD_ROOT/etc/logrotate.d/qemu-ga
1085
1086 %if %{with system_seabios}
1087 ln -sf /usr/share/seabios/bios.bin $RPM_BUILD_ROOT%{_datadir}/%{name}/bios-256k.bin
1088 # bios.bin provided by qemu is stripped to 128k, with no Xen support, keep it
1089 for f in $RPM_BUILD_ROOT%{_datadir}/%{name}/*.aml ; do
1090         bn="$(basename $f)"
1091         if [ -e "/usr/share/seabios/$bn" ] ; then
1092                 ln -sf "/usr/share/seabios/$bn" "$f"
1093         fi
1094 done
1095 %endif
1096
1097 %if %{with gtk3}
1098 %{__mv} $RPM_BUILD_ROOT%{_localedir}/{de_DE,de}
1099 %{__mv} $RPM_BUILD_ROOT%{_localedir}/{fr_FR,fr}
1100 %find_lang %{name}
1101 %else
1102 : > qemu.lang
1103 %endif
1104
1105 # Windows installer icon, not used
1106 %{__rm} $RPM_BUILD_ROOT%{_datadir}/%{name}/qemu-nsis.bmp
1107 # packaged as %doc
1108 %{__rm} $RPM_BUILD_ROOT%{_datadir}/%{name}/edk2-licenses.txt
1109
1110 # cleanup Sphinx files
1111 %{__rm} $RPM_BUILD_ROOT%{_docdir}/qemu/{interop,specs,system,tools,user}/{.buildinfo,objects.inv}
1112
1113 %clean
1114 rm -rf $RPM_BUILD_ROOT
1115
1116 %pre common
1117 %groupadd -g 160 kvm
1118 %groupadd -g 276 qemu
1119 %useradd -u 276 -g qemu -G kvm -c "QEMU User" qemu
1120
1121 %postun common
1122 if [ "$1" = "0" ]; then
1123         %userremove qemu
1124         %groupremove qemu
1125         %groupremove kvm
1126 fi
1127
1128 %post guest-agent
1129 /sbin/chkconfig --add qemu-ga
1130 %service qemu-ga restart "qemu-ga"
1131
1132 %preun guest-agent
1133 if [ "$1" = "0" ]; then
1134         %service qemu-ga stop
1135         /sbin/chkconfig --del qemu-ga
1136 fi
1137
1138 %files
1139 %defattr(644,root,root,755)
1140
1141 %files common -f %{name}.lang
1142 %defattr(644,root,root,755)
1143 %doc LICENSE README.rst pc-bios/edk2-licenses.txt
1144 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/qemu-ifup
1145 %config(noreplace) %verify(not md5 mtime size) /etc/ksmtuned.conf
1146 %config(noreplace) %verify(not md5 mtime size) /etc/sasl/qemu.conf
1147 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/ksm
1148 %dir /etc/qemu
1149 %attr(640,root,qemu) %config(noreplace) %verify(not md5 mtime size) /etc/qemu/bridge.conf
1150 %attr(755,root,root) %{_bindir}/elf2dmp
1151 %attr(755,root,root) %{_bindir}/qemu-edid
1152 %if %{with xkbcommon}
1153 %attr(755,root,root) %{_bindir}/qemu-keymap
1154 %endif
1155 %attr(755,root,root) %{_bindir}/qemu-nbd
1156 %attr(755,root,root) %{_bindir}/qemu-pr-helper
1157 %attr(755,root,root) %{_bindir}/qemu-storage-daemon
1158 %attr(755,root,root) %{_sbindir}/ksmctl
1159 %attr(755,root,root) %{_sbindir}/ksmtuned
1160 %attr(755,root,root) %{_libexecdir}/qemu-bridge-helper
1161 %if %{with virgl}
1162 %attr(755,root,root) %{_libexecdir}/vhost-user-gpu
1163 %endif
1164 %attr(755,root,root) %{_libexecdir}/virtfs-proxy-helper
1165 %attr(755,root,root) %{_libexecdir}/virtiofsd
1166 %dir %{_libdir}/%{name}
1167 # modules without too many external dependencies
1168 %attr(755,root,root) %{_libdir}/%{name}/block-dmg-bz2.so
1169 %attr(755,root,root) %{_libdir}/%{name}/block-dmg-lzfse.so
1170 %attr(755,root,root) %{_libdir}/%{name}/audio-alsa.so
1171 %if %{with oss}
1172 %attr(755,root,root) %{_libdir}/%{name}/audio-oss.so
1173 %endif
1174 %if %{with pulseaudio}
1175 %attr(755,root,root) %{_libdir}/%{name}/audio-pa.so
1176 %endif
1177 %if %{with spice}
1178 %attr(755,root,root) %{_libdir}/%{name}/audio-spice.so
1179 %attr(755,root,root) %{_libdir}/%{name}/chardev-spice.so
1180 %attr(755,root,root) %{_libdir}/%{name}/hw-display-qxl.so
1181 %endif
1182 %attr(755,root,root) %{_libdir}/%{name}/hw-display-virtio-gpu-pci.so
1183 %attr(755,root,root) %{_libdir}/%{name}/hw-display-virtio-gpu.so
1184 %attr(755,root,root) %{_libdir}/%{name}/hw-display-virtio-vga.so
1185 %attr(755,root,root) %{_libdir}/%{name}/hw-usb-redirect.so
1186 %attr(755,root,root) %{_libdir}/%{name}/hw-usb-smartcard.so
1187 %attr(755,root,root) %{_libdir}/%{name}/ui-curses.so
1188 %attr(755,root,root) %{_libdir}/%{name}/ui-egl-headless.so
1189 %if %{with opengl}
1190 %attr(755,root,root) %{_libdir}/%{name}/ui-opengl.so
1191 %endif
1192 %if %{with spice}
1193 %attr(755,root,root) %{_libdir}/%{name}/ui-spice-app.so
1194 %attr(755,root,root) %{_libdir}/%{name}/ui-spice-core.so
1195 %endif
1196 %dir %{_datadir}/%{name}
1197 %dir %{_datadir}/%{name}/firmware
1198 %{_datadir}/%{name}/keymaps
1199 %{_datadir}/%{name}/trace-events-all
1200 %dir %{_datadir}/%{name}/vhost-user
1201 %if %{with virgl}
1202 %{_datadir}/%{name}/vhost-user/50-qemu-gpu.json
1203 %endif
1204 %{_datadir}/%{name}/vhost-user/50-qemu-virtiofsd.json
1205 %{_desktopdir}/qemu.desktop
1206 %{_iconsdir}/hicolor/*x*/apps/qemu.png
1207 %{_iconsdir}/hicolor/32x32/apps/qemu.bmp
1208 %{_iconsdir}/hicolor/scalable/apps/qemu.svg
1209 %{_mandir}/man1/qemu.1*
1210 %{_mandir}/man1/virtfs-proxy-helper.1*
1211 %{_mandir}/man1/virtiofsd.1*
1212 %{_mandir}/man7/qemu-block-drivers.7*
1213 %{_mandir}/man7/qemu-cpu-models.7*
1214 %{_mandir}/man7/qemu-qmp-ref.7*
1215 %{_mandir}/man8/qemu-nbd.8*
1216 %{_mandir}/man8/qemu-pr-helper.8*
1217 %{_docdir}/qemu
1218
1219 %files img
1220 %defattr(644,root,root,755)
1221 %attr(755,root,root) %{_bindir}/qemu-img
1222 %{_mandir}/man1/qemu-img.1*
1223
1224 %files user
1225 %defattr(644,root,root,755)
1226 %attr(755,root,root) %{_bindir}/qemu-aarch64
1227 %attr(755,root,root) %{_bindir}/qemu-aarch64_be
1228 %attr(755,root,root) %{_bindir}/qemu-alpha
1229 %attr(755,root,root) %{_bindir}/qemu-arm
1230 %attr(755,root,root) %{_bindir}/qemu-armeb
1231 %attr(755,root,root) %{_bindir}/qemu-cris
1232 %attr(755,root,root) %{_bindir}/qemu-hppa
1233 %attr(755,root,root) %{_bindir}/qemu-i386
1234 %attr(755,root,root) %{_bindir}/qemu-io
1235 %attr(755,root,root) %{_bindir}/qemu-m68k
1236 %attr(755,root,root) %{_bindir}/qemu-microblaze
1237 %attr(755,root,root) %{_bindir}/qemu-microblazeel
1238 %attr(755,root,root) %{_bindir}/qemu-mips
1239 %attr(755,root,root) %{_bindir}/qemu-mipsel
1240 %attr(755,root,root) %{_bindir}/qemu-mips64
1241 %attr(755,root,root) %{_bindir}/qemu-mips64el
1242 %attr(755,root,root) %{_bindir}/qemu-mipsn32
1243 %attr(755,root,root) %{_bindir}/qemu-mipsn32el
1244 %attr(755,root,root) %{_bindir}/qemu-nios2
1245 %attr(755,root,root) %{_bindir}/qemu-or1k
1246 %attr(755,root,root) %{_bindir}/qemu-ppc
1247 %attr(755,root,root) %{_bindir}/qemu-ppc64
1248 %attr(755,root,root) %{_bindir}/qemu-ppc64le
1249 %attr(755,root,root) %{_bindir}/qemu-riscv32
1250 %attr(755,root,root) %{_bindir}/qemu-riscv64
1251 %attr(755,root,root) %{_bindir}/qemu-s390x
1252 %attr(755,root,root) %{_bindir}/qemu-sh4
1253 %attr(755,root,root) %{_bindir}/qemu-sh4eb
1254 %attr(755,root,root) %{_bindir}/qemu-sparc
1255 %attr(755,root,root) %{_bindir}/qemu-sparc32plus
1256 %attr(755,root,root) %{_bindir}/qemu-sparc64
1257 %attr(755,root,root) %{_bindir}/qemu-x86_64
1258 %attr(755,root,root) %{_bindir}/qemu-xtensa
1259 %attr(755,root,root) %{_bindir}/qemu-xtensaeb
1260
1261 %if %{with user_static}
1262 %files user-static
1263 %defattr(644,root,root,755)
1264 %attr(755,root,root) %{_bindir}/qemu-aarch64-static
1265 %attr(755,root,root) %{_bindir}/qemu-aarch64_be-static
1266 %attr(755,root,root) %{_bindir}/qemu-alpha-static
1267 %attr(755,root,root) %{_bindir}/qemu-arm-static
1268 %attr(755,root,root) %{_bindir}/qemu-armeb-static
1269 %attr(755,root,root) %{_bindir}/qemu-cris-static
1270 %attr(755,root,root) %{_bindir}/qemu-hppa-static
1271 %attr(755,root,root) %{_bindir}/qemu-i386-static
1272 %attr(755,root,root) %{_bindir}/qemu-m68k-static
1273 %attr(755,root,root) %{_bindir}/qemu-microblaze-static
1274 %attr(755,root,root) %{_bindir}/qemu-microblazeel-static
1275 %attr(755,root,root) %{_bindir}/qemu-mips-static
1276 %attr(755,root,root) %{_bindir}/qemu-mips64-static
1277 %attr(755,root,root) %{_bindir}/qemu-mips64el-static
1278 %attr(755,root,root) %{_bindir}/qemu-mipsel-static
1279 %attr(755,root,root) %{_bindir}/qemu-mipsn32-static
1280 %attr(755,root,root) %{_bindir}/qemu-mipsn32el-static
1281 %attr(755,root,root) %{_bindir}/qemu-nios2-static
1282 %attr(755,root,root) %{_bindir}/qemu-or1k-static
1283 %attr(755,root,root) %{_bindir}/qemu-ppc-static
1284 %attr(755,root,root) %{_bindir}/qemu-ppc64-static
1285 %attr(755,root,root) %{_bindir}/qemu-ppc64le-static
1286 %attr(755,root,root) %{_bindir}/qemu-riscv32-static
1287 %attr(755,root,root) %{_bindir}/qemu-riscv64-static
1288 %attr(755,root,root) %{_bindir}/qemu-s390x-static
1289 %attr(755,root,root) %{_bindir}/qemu-sh4-static
1290 %attr(755,root,root) %{_bindir}/qemu-sh4eb-static
1291 %attr(755,root,root) %{_bindir}/qemu-sparc-static
1292 %attr(755,root,root) %{_bindir}/qemu-sparc32plus-static
1293 %attr(755,root,root) %{_bindir}/qemu-sparc64-static
1294 %attr(755,root,root) %{_bindir}/qemu-x86_64-static
1295 %attr(755,root,root) %{_bindir}/qemu-xtensa-static
1296 %attr(755,root,root) %{_bindir}/qemu-xtensaeb-static
1297 %attr(755,root,root) %{_bindir}/qemu-trace-stap-static
1298 %endif
1299
1300 %files system-aarch64
1301 %defattr(644,root,root,755)
1302 %attr(755,root,root) %{_bindir}/qemu-system-aarch64
1303 %{_datadir}/%{name}/edk2-aarch64-code.fd
1304 %{_datadir}/%{name}/firmware/60-edk2-aarch64.json
1305
1306 %files system-alpha
1307 %defattr(644,root,root,755)
1308 %attr(755,root,root) %{_bindir}/qemu-system-alpha
1309 %{_datadir}/%{name}/palcode-clipper
1310
1311 %files system-arm
1312 %defattr(644,root,root,755)
1313 %attr(755,root,root) %{_bindir}/qemu-system-arm
1314 %{_datadir}/%{name}/edk2-arm-code.fd
1315 %{_datadir}/%{name}/edk2-arm-vars.fd
1316 %{_datadir}/%{name}/firmware/60-edk2-arm.json
1317 %{_datadir}/%{name}/npcm7xx_bootrom.bin
1318
1319 %files system-avr
1320 %defattr(644,root,root,755)
1321 %attr(755,root,root) %{_bindir}/qemu-system-avr
1322
1323 %files system-cris
1324 %defattr(644,root,root,755)
1325 %attr(755,root,root) %{_bindir}/qemu-system-cris
1326
1327 %files system-hppa
1328 %defattr(644,root,root,755)
1329 %attr(755,root,root) %{_bindir}/qemu-system-hppa
1330 %{_datadir}/%{name}/hppa-firmware.img
1331
1332 %files system-m68k
1333 %defattr(644,root,root,755)
1334 %attr(755,root,root) %{_bindir}/qemu-system-m68k
1335
1336 %files system-microblaze
1337 %defattr(644,root,root,755)
1338 %attr(755,root,root) %{_bindir}/qemu-system-microblaze
1339 %attr(755,root,root) %{_bindir}/qemu-system-microblazeel
1340
1341 %files system-mips
1342 %defattr(644,root,root,755)
1343 %attr(755,root,root) %{_bindir}/qemu-system-mips
1344 %attr(755,root,root) %{_bindir}/qemu-system-mipsel
1345 %attr(755,root,root) %{_bindir}/qemu-system-mips64
1346 %attr(755,root,root) %{_bindir}/qemu-system-mips64el
1347
1348 %files system-moxie
1349 %defattr(644,root,root,755)
1350 %attr(755,root,root) %{_bindir}/qemu-system-moxie
1351
1352 %files system-nios2
1353 %defattr(644,root,root,755)
1354 %attr(755,root,root) %{_bindir}/qemu-system-nios2
1355
1356 %files system-or1k
1357 %defattr(644,root,root,755)
1358 %attr(755,root,root) %{_bindir}/qemu-system-or1k
1359
1360 %files system-ppc
1361 %defattr(644,root,root,755)
1362 %attr(755,root,root) %{_bindir}/qemu-system-ppc
1363 %attr(755,root,root) %{_bindir}/qemu-system-ppc64
1364 %{_datadir}/%{name}/bamboo.dtb
1365 %{_datadir}/%{name}/canyonlands.dtb
1366 %{_datadir}/%{name}/openbios-ppc
1367 %{_datadir}/%{name}/petalogix-ml605.dtb
1368 %{_datadir}/%{name}/petalogix-s3adsp1800.dtb
1369 %{_datadir}/%{name}/qemu_vga.ndrv
1370 %{_datadir}/%{name}/skiboot.lid
1371 %{_datadir}/%{name}/slof.bin
1372 %{_datadir}/%{name}/u-boot.e500
1373 %{_datadir}/%{name}/u-boot-sam460-20100605.bin
1374
1375 %files system-riscv32
1376 %defattr(644,root,root,755)
1377 %attr(755,root,root) %{_bindir}/qemu-system-riscv32
1378 %{_datadir}/%{name}/opensbi-riscv32-generic-fw_dynamic.bin
1379 %{_datadir}/%{name}/opensbi-riscv32-generic-fw_dynamic.elf
1380
1381 %files system-riscv64
1382 %defattr(644,root,root,755)
1383 %attr(755,root,root) %{_bindir}/qemu-system-riscv64
1384 %{_datadir}/%{name}/opensbi-riscv64-generic-fw_dynamic.bin
1385 %{_datadir}/%{name}/opensbi-riscv64-generic-fw_dynamic.elf
1386
1387 %files system-rx
1388 %defattr(644,root,root,755)
1389 %attr(755,root,root) %{_bindir}/qemu-system-rx
1390
1391 %files system-s390x
1392 %defattr(644,root,root,755)
1393 %attr(755,root,root) %{_bindir}/qemu-system-s390x
1394 %{_datadir}/%{name}/s390-ccw.img
1395 %{_datadir}/%{name}/s390-netboot.img
1396
1397 %files system-sh4
1398 %defattr(644,root,root,755)
1399 %attr(755,root,root) %{_bindir}/qemu-system-sh4
1400 %attr(755,root,root) %{_bindir}/qemu-system-sh4eb
1401
1402 %files system-sparc
1403 %defattr(644,root,root,755)
1404 %attr(755,root,root) %{_bindir}/qemu-system-sparc
1405 %attr(755,root,root) %{_bindir}/qemu-system-sparc64
1406 %{_datadir}/%{name}/QEMU,cgthree.bin
1407 %{_datadir}/%{name}/QEMU,tcx.bin
1408 %{_datadir}/%{name}/openbios-sparc32
1409 %{_datadir}/%{name}/openbios-sparc64
1410
1411 %files system-tricore
1412 %defattr(644,root,root,755)
1413 %attr(755,root,root) %{_bindir}/qemu-system-tricore
1414
1415 %files system-x86
1416 %defattr(644,root,root,755)
1417 %attr(755,root,root) %{_bindir}/qemu-system-i386
1418 %attr(755,root,root) %{_bindir}/qemu-system-x86_64
1419 %ifarch %{ix86} %{x8664} x32
1420 %config(noreplace) %verify(not md5 mtime size) /etc/modules-load.d/kvm.conf
1421 /lib/udev/rules.d/80-kvm.rules
1422 %endif
1423 %{_datadir}/%{name}/bios.bin
1424 %{_datadir}/%{name}/bios-256k.bin
1425 %{_datadir}/%{name}/bios-microvm.bin
1426 %{_datadir}/%{name}/edk2-i386-code.fd
1427 %{_datadir}/%{name}/edk2-i386-secure-code.fd
1428 %{_datadir}/%{name}/edk2-i386-vars.fd
1429 %{_datadir}/%{name}/edk2-x86_64-code.fd
1430 %{_datadir}/%{name}/edk2-x86_64-secure-code.fd
1431 %{_datadir}/%{name}/efi-e1000e.rom
1432 %{_datadir}/%{name}/efi-e1000.rom
1433 %{_datadir}/%{name}/efi-eepro100.rom
1434 %{_datadir}/%{name}/efi-ne2k_pci.rom
1435 %{_datadir}/%{name}/efi-pcnet.rom
1436 %{_datadir}/%{name}/efi-rtl8139.rom
1437 %{_datadir}/%{name}/efi-virtio.rom
1438 %{_datadir}/%{name}/efi-vmxnet3.rom
1439 %{_datadir}/%{name}/kvmvapic.bin
1440 %{_datadir}/%{name}/linuxboot.bin
1441 %{_datadir}/%{name}/linuxboot_dma.bin
1442 %{_datadir}/%{name}/multiboot.bin
1443 %{_datadir}/%{name}/pvh.bin
1444 %{_datadir}/%{name}/pxe-e1000.rom
1445 %{_datadir}/%{name}/pxe-eepro100.rom
1446 %{_datadir}/%{name}/pxe-ne2k_pci.rom
1447 %{_datadir}/%{name}/pxe-pcnet.rom
1448 %{_datadir}/%{name}/pxe-rtl8139.rom
1449 %{_datadir}/%{name}/pxe-virtio.rom
1450 %{_datadir}/%{name}/qboot.rom
1451 %{_datadir}/%{name}/sgabios.bin
1452 %{_datadir}/%{name}/vgabios.bin
1453 %{_datadir}/%{name}/vgabios-ati.bin
1454 %{_datadir}/%{name}/vgabios-bochs-display.bin
1455 %{_datadir}/%{name}/vgabios-cirrus.bin
1456 %{_datadir}/%{name}/vgabios-qxl.bin
1457 %{_datadir}/%{name}/vgabios-ramfb.bin
1458 %{_datadir}/%{name}/vgabios-stdvga.bin
1459 %{_datadir}/%{name}/vgabios-virtio.bin
1460 %{_datadir}/%{name}/vgabios-vmware.bin
1461 %{_datadir}/%{name}/firmware/50-edk2-i386-secure.json
1462 %{_datadir}/%{name}/firmware/50-edk2-x86_64-secure.json
1463 %{_datadir}/%{name}/firmware/60-edk2-i386.json
1464 %{_datadir}/%{name}/firmware/60-edk2-x86_64.json
1465
1466 %files system-xtensa
1467 %defattr(644,root,root,755)
1468 %attr(755,root,root) %{_bindir}/qemu-system-xtensa
1469 %attr(755,root,root) %{_bindir}/qemu-system-xtensaeb
1470
1471 %files guest-agent
1472 %defattr(644,root,root,755)
1473 %attr(755,root,root) %{_bindir}/qemu-ga
1474 /lib/udev/rules.d/99-qemu-guest-agent.rules
1475 %attr(754,root,root) /etc/rc.d/init.d/qemu-ga
1476 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/qemu-ga
1477 %{_mandir}/man7/qemu-ga-ref.7*
1478 %{_mandir}/man8/qemu-ga.8*
1479
1480 %files module-block-curl
1481 %defattr(644,root,root,755)
1482 %attr(755,root,root) %{_libdir}/%{name}/block-curl.so
1483
1484 %if %{with glusterfs}
1485 %files module-block-gluster
1486 %defattr(644,root,root,755)
1487 %attr(755,root,root) %{_libdir}/%{name}/block-gluster.so
1488 %endif
1489
1490 %if %{with iscsi}
1491 %files module-block-iscsi
1492 %defattr(644,root,root,755)
1493 %attr(755,root,root) %{_libdir}/%{name}/block-iscsi.so
1494 %endif
1495
1496 %if %{with libnfs}
1497 %files module-block-nfs
1498 %defattr(644,root,root,755)
1499 %attr(755,root,root) %{_libdir}/%{name}/block-nfs.so
1500 %endif
1501
1502 %if %{with ceph}
1503 %files module-block-rbd
1504 %defattr(644,root,root,755)
1505 %attr(755,root,root) %{_libdir}/%{name}/block-rbd.so
1506 %endif
1507
1508 %files module-block-ssh
1509 %defattr(644,root,root,755)
1510 %attr(755,root,root) %{_libdir}/%{name}/block-ssh.so
1511
1512 %if %{with gtk3}
1513 %files module-ui-gtk
1514 %defattr(644,root,root,755)
1515 %attr(755,root,root) %{_libdir}/%{name}/ui-gtk.so
1516 %endif
1517
1518 %if %{with sdl}
1519 %files module-ui-sdl
1520 %defattr(644,root,root,755)
1521 %attr(755,root,root) %{_libdir}/%{name}/audio-sdl.so
1522 %attr(755,root,root) %{_libdir}/%{name}/ui-sdl.so
1523 %endif
1524
1525 %if %{with systemtap}
1526 %files -n systemtap-qemu
1527 %defattr(644,root,root,755)
1528 %attr(755,root,root) %{_bindir}/qemu-trace-stap
1529 %{_datadir}/systemtap/tapset/qemu-*.stp
1530 %{_mandir}/man1/qemu-trace-stap.1*
1531 %endif