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