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