/[packages]/cauldron/edk2/current/SPECS/edk2.spec
ViewVC logotype

Contents of /cauldron/edk2/current/SPECS/edk2.spec

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1378781 - (show annotations) (download)
Tue Mar 19 07:21:32 2019 UTC (5 years ago) by tv
File size: 16144 byte(s)
- Update to stable-201903
- Update to openssl-1.1.0j
- Move to python3 deps
- Use YYYYMMDD versioning to fix upgrade path
1 # This package depends on automagic byte compilation
2 # https://fedoraproject.org/wiki/Changes/No_more_automagic_Python_bytecompilation_phase_2
3 %global _python_bytecompile_extra 1
4
5 # RPM doesn't detect that code in /usr/share is python3, this forces it
6 # https://fedoraproject.org/wiki/Changes/Avoid_usr_bin_python_in_RPM_Build#Python_bytecompilation
7 %global __python %{__python3}
8
9 # Please keep this package in sync with FC
10
11 %global edk2_date 20180815
12 %global edk2_githash cb5f4f45ce
13 %global openssl_version 1.1.0j
14 %global qosb_version 1.1.3
15
16 # Even though edk2 stable releases are YYYYMM, we need
17 # to use YYYMMDD to avoid needing to bump package epoch
18 # due to previous 'git' Version:
19 %global edk2_stable_date 20190308
20 %global edk2_stable_str edk2-stable201903
21
22 %define qosb_testing 0
23
24 %ifarch x86_64
25 %define qosb_testing 1
26 %endif
27 %define cross 1
28
29 %ifarch %{ix86} x86_64
30 %define build_ovmf_ia32 1
31 %endif
32 %ifarch x86_64
33 %define build_ovmf_x64 1
34 %endif
35 %ifarch aarch64
36 %define build_aavmf_aarch64 1
37 %endif
38 %ifarch %{arm}
39 %define build_aavmf_arm 1
40 %endif
41 %if 0%{?cross:1}
42 %define build_ovmf_x64 1
43 %define build_ovmf_ia32 1
44 %define build_aavmf_aarch64 1
45 %define build_aavmf_arm 1
46 %endif
47
48 Name: edk2
49 #Version: {edk2_date}git%{edk2_githash}
50 Version: %{edk2_stable_date}stable
51 Release: %mkrel 1
52 Summary: EFI Development Kit II
53
54 Group: Emulators
55 License: BSD
56 URL: http://www.tianocore.org/edk2/
57 # Tarball generated from git object update-tarball.sh script
58 #Source0: edk2-{edk2_date}-{edk2_githash}.tar.xz
59 Source0: https://github.com/tianocore/edk2/archive/%{edk2_stable_str}.tar.gz#/edk2-%{edk2_stable_str}.tar.gz
60 Source1: openssl-%{openssl_version}-hobbled.tar.xz
61 Source2: ovmf-whitepaper-c770f8c.txt
62 Source3: https://github.com/puiterwijk/qemu-ovmf-secureboot/archive/v%{qosb_version}/qemu-ovmf-secureboot-%{qosb_version}.tar.gz
63 Source10: hobble-openssl
64 Source11: build-iso.sh
65 Source12: update-tarball.sh
66 Source13: openssl-patch-to-tarball.sh
67
68 # non-upstream patches
69 Patch0001: 0001-OvmfPkg-silence-EFI_D_VERBOSE-0x00400000-in-NvmExpre.patch
70 Patch0002: 0002-OvmfPkg-silence-EFI_D_VERBOSE-0x00400000-in-the-DXE-.patch
71 Patch0003: 0003-OvmfPkg-enable-DEBUG_VERBOSE.patch
72 Patch0004: 0004-OvmfPkg-increase-max-debug-message-length-to-512.patch
73 Patch0005: 0005-advertise-OpenSSL-on-TianoCore-splash-screen-boot-lo.patch
74 Patch0006: 0006-OvmfPkg-QemuVideoDxe-enable-debug-messages-in-VbeShi.patch
75 Patch0007: 0007-MdeModulePkg-TerminalDxe-add-other-text-resolutions.patch
76 Patch0008: 0008-MdeModulePkg-TerminalDxe-set-xterm-resolution-on-mod.patch
77 Patch0009: 0009-OvmfPkg-take-PcdResizeXterm-from-the-QEMU-command-li.patch
78 Patch0010: 0010-ArmVirtPkg-QemuFwCfgLib-allow-UEFI_DRIVER-client-mod.patch
79 Patch0011: 0011-ArmVirtPkg-take-PcdResizeXterm-from-the-QEMU-command.patch
80 Patch0012: 0012-OvmfPkg-allow-exclusion-of-the-shell-from-the-firmwa.patch
81 Patch0013: 0013-OvmfPkg-EnrollDefaultKeys-application-for-enrolling-.patch
82 Patch0014: 0014-ArmPlatformPkg-introduce-fixed-PCD-for-early-hello-m.patch
83 Patch0015: 0015-ArmPlatformPkg-PrePeiCore-write-early-hello-message-.patch
84 Patch0016: 0016-ArmVirtPkg-set-early-hello-message-RH-only.patch
85
86 %if 0%{?cross:1}
87 # Tweak the tools_def to support cross-compiling.
88 # These files are meant for customization, so this is not upstream too.
89 Patch0099: 0099-Tweak-the-tools_def-to-support-cross-compiling.patch
90 %endif
91
92 %if 0%{?fedora:1}
93 #
94 # actual firmware builds support cross-compiling. edk2-tools
95 # in theory should build everywhere without much trouble, but
96 # in practice the edk2 build system barfs on archs it doesn't know
97 # (such as ppc), so lets limit things to the known-good ones.
98 #
99 ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
100 %else
101 ExclusiveArch: x86_64 aarch64
102 %endif
103
104 BuildRequires: gcc gcc-c++
105 BuildRequires: python3 python3-devel python
106 BuildRequires: pkgconfig(uuid)
107 %if 0%{?cross:1}
108 BuildRequires: gcc-aarch64-linux-gnu
109 BuildRequires: gcc-arm-linux-gnu
110 BuildRequires: gcc-x86_64-linux-gnu
111 %endif
112 BuildRequires: iasl
113 BuildRequires: nasm
114 BuildRequires: qemu-img
115 BuildRequires: genisoimage
116 BuildRequires: bc
117
118 # These are for QOSB
119 BuildRequires: python3-requests
120 BuildRequires: qemu-system-x86
121 %if %{?qosb_testing}
122 # This is used for testing the enrollment: builds are run in a chroot, lacking
123 # a kernel. The testing is only performed on x86_64 for now, but we can't make
124 # the BuildRequires only on a specific arch, as that'd come through in the SRPM
125 # NOTE: The actual enrollment needs to happen in all builds for all architectures,
126 # because OVMF is built as noarch, which means that koji enforces that the build
127 # results don't actually differ per arch, and then it picks a random arches' build
128 # for the actual RPM.
129 BuildRequires: kernel-desktop-latest
130 %endif
131
132 %description
133 EDK II is a development code base for creating UEFI drivers, applications
134 and firmware images.
135
136 %package tools
137 Summary: EFI Development Kit II Tools
138 Group: Development/Tools
139 %description tools
140 This package provides tools that are needed to
141 build EFI executables and ROMs using the GNU tools.
142
143 %package tools-python
144 Summary: EFI Development Kit II Tools
145 Group: Development/Tools
146 Requires: python3
147 BuildArch: noarch
148
149 %description tools-python
150 This package provides tools that are needed to build EFI executables
151 and ROMs using the GNU tools. You do not need to install this package;
152 you probably want to install edk2-tools only.
153
154 %package tools-doc
155 Summary: Documentation for EFI Development Kit II Tools
156 Group: Development/Tools
157 BuildArch: noarch
158 %description tools-doc
159 This package documents the tools that are needed to
160 build EFI executables and ROMs using the GNU tools.
161
162 %package qosb
163 Summary: Tool to enroll secureboot
164 Group: Development/Tools
165 Requires: python3
166 Buildarch: noarch
167 %description qosb
168 This package contains QOSB (QEMU OVMF Secure Boot), which can enroll OVMF
169 variable files to enforce Secure Boot.
170
171
172 %if 0%{?build_ovmf_x64:1}
173 %package ovmf
174 Summary: Open Virtual Machine Firmware
175 # OVMF includes the Secure Boot and IPv6 features; it has a builtin OpenSSL
176 # library.
177 License: BSD and OpenSSL
178 Provides: bundled(openssl)
179 Provides: ovmf-x64, edk2-ovmf-x64
180 Provides: edk2-ovmf-x64
181 Obsoletes: edk2-ovmf-x64
182 BuildArch: noarch
183 %description ovmf
184 EFI Development Kit II
185 Open Virtual Machine Firmware (x64)
186 %endif
187
188 %if 0%{?build_ovmf_ia32:1}
189 %package ovmf-ia32
190 Summary: Open Virtual Machine Firmware
191 # OVMF includes the Secure Boot and IPv6 features; it has a builtin OpenSSL
192 # library.
193 License: BSD and OpenSSL
194 Provides: bundled(openssl)
195 BuildArch: noarch
196 %description ovmf-ia32
197 EFI Development Kit II
198 Open Virtual Machine Firmware (ia32)
199 %endif
200
201 %if 0%{?build_aavmf_aarch64:1}
202 %package aarch64
203 Summary: AARCH64 Virtual Machine Firmware
204 BuildArch: noarch
205 # No Secure Boot for AAVMF yet, but we include OpenSSL for the IPv6 stack.
206 License: BSD and OpenSSL
207 Provides: bundled(openssl)
208 %description aarch64
209 EFI Development Kit II
210 AARCH64 UEFI Firmware
211 %endif
212
213 %if 0%{?build_aavmf_arm:1}
214 %package arm
215 Summary: ARM Virtual Machine Firmware
216 BuildArch: noarch
217 %description arm
218 EFI Development Kit II
219 armv7 UEFI Firmware
220
221 %endif
222
223 %prep
224 %setup -q -n edk2-%{edk2_stable_str}
225
226 # Ensure old shell and binary packages are not used
227 rm -rf EdkShellBinPkg
228 rm -rf EdkShellPkg
229 rm -rf FatBinPkg
230 rm -rf ShellBinPkg
231
232 # copy whitepaper into place
233 cp -a -- %{SOURCE2} .
234
235 # extract openssl into place
236 tar -xvf %{SOURCE1} --strip-components=1 --directory CryptoPkg/Library/OpensslLib/openssl
237
238 # Extract QOSB
239 tar -xvf %{SOURCE3}
240 mv qemu-ovmf-secureboot-%{qosb_version}/README.md README.qosb
241 mv qemu-ovmf-secureboot-%{qosb_version}/LICENSE LICENSE.qosb
242
243 %autopatch -p1
244 base64 --decode < MdeModulePkg/Logo/Logo-OpenSSL.bmp.b64 > MdeModulePkg/Logo/Logo-OpenSSL.bmp
245
246 %build
247 source ./edksetup.sh
248
249 # compiler
250 CC_FLAGS="-t GCC5"
251
252 # parallel builds
253 JOBS="%{?_smp_mflags}"
254 JOBS="${JOBS#-j}"
255 if test "$JOBS" != ""; then
256 CC_FLAGS="${CC_FLAGS} -n $JOBS"
257 fi
258
259 # common features
260 CC_FLAGS="$CC_FLAGS --cmd-len=65536 -t %{TOOLCHAIN} -b DEBUG --hash"
261 CC_FLAGS="$CC_FLAGS -D NETWORK_IP6_ENABLE"
262 CC_FLAGS="$CC_FLAGS -D TPM2_ENABLE"
263
264 # ovmf features
265 OVMF_FLAGS="${CC_FLAGS}"
266 OVMF_FLAGS="${OVMF_FLAGS} -D TLS_ENABLE"
267 OVMF_FLAGS="${OVMF_FLAGS} -D HTTP_BOOT_ENABLE"
268 OVMF_FLAGS="${OVMF_FLAGS} -D NETWORK_IP6_ENABLE"
269 OVMF_FLAGS="${OVMF_FLAGS} -D FD_SIZE_2MB"
270
271 # ovmf + secure boot features
272 OVMF_SB_FLAGS="${OVMF_FLAGS}"
273 OVMF_SB_FLAGS="${OVMF_SB_FLAGS} -D SECURE_BOOT_ENABLE"
274 OVMF_SB_FLAGS="${OVMF_SB_FLAGS} -D SMM_REQUIRE"
275 OVMF_SB_FLAGS="${OVMF_SB_FLAGS} -D EXCLUDE_SHELL_FROM_FD"
276
277 # arm firmware features
278 ARM_FLAGS="${CC_FLAGS}"
279 ARM_FLAGS="${ARM_FLAGS} -D DEBUG_PRINT_ERROR_LEVEL=0x8040004F"
280
281 unset MAKEFLAGS
282 make -C BaseTools %{?_smp_mflags} \
283 EXTRA_OPTFLAGS="%{optflags}" \
284 EXTRA_LDFLAGS="%{ldflags}"
285 sed -i -e 's/-Werror//' Conf/tools_def.txt
286
287 %if 0%{?cross:1}
288 export GCC5_IA32_PREFIX="x86_64-linux-gnu-"
289 export GCC5_X64_PREFIX="x86_64-linux-gnu-"
290 export GCC5_AARCH64_PREFIX="aarch64-linux-gnu-"
291 export GCC5_ARM_PREFIX="arm-linux-gnu-"
292 %endif
293
294 # build ovmf (x64)
295 %if 0%{?build_ovmf_x64:1}
296 mkdir -p ovmf
297 build ${OVMF_FLAGS} -a X64 -p OvmfPkg/OvmfPkgX64.dsc
298 cp Build/OvmfX64/*/FV/OVMF_*.fd ovmf/
299 rm -rf Build/OvmfX64
300
301 # build ovmf (x64) with secure boot
302 build ${OVMF_SB_FLAGS} -a IA32 -a X64 -p OvmfPkg/OvmfPkgIa32X64.dsc
303 cp Build/Ovmf3264/*/FV/OVMF_CODE.fd ovmf/OVMF_CODE.secboot.fd
304
305 # build ovmf (x64) shell iso with EnrollDefaultKeys
306 cp Build/Ovmf3264/*/X64/Shell.efi ovmf/
307 cp Build/Ovmf3264/*/X64/EnrollDefaultKeys.efi ovmf
308 sh %{_sourcedir}/build-iso.sh ovmf/
309
310 # Build enrolled VARS file
311 python3 qemu-ovmf-secureboot-%{qosb_version}/ovmf-vars-generator \
312 --qemu-binary /usr/bin/qemu-system-x86_64 \
313 --skip-testing \
314 --ovmf-binary ovmf/OVMF_CODE.secboot.fd \
315 --ovmf-template-vars ovmf/OVMF_VARS.fd \
316 --uefi-shell-iso ovmf/UefiShell.iso \
317 ovmf/OVMF_VARS.secboot.fd
318 %endif
319
320
321 # build ovmf-ia32
322 %if 0%{?build_ovmf_ia32:1}
323 mkdir -p ovmf-ia32
324 build ${OVMF_FLAGS} -a IA32 -p OvmfPkg/OvmfPkgIa32.dsc
325 cp Build/OvmfIa32/*/FV/OVMF_CODE.fd ovmf-ia32/
326 rm -rf Build/OvmfIa32
327
328 # build ovmf-ia32 with secure boot
329 build ${OVMF_SB_FLAGS} -a IA32 -p OvmfPkg/OvmfPkgIa32.dsc
330 cp Build/OvmfIa32/*/FV/OVMF_CODE.fd ovmf-ia32/OVMF_CODE.secboot.fd
331
332 # build ovmf-ia32 shell iso with EnrollDefaultKeys
333 cp Build/OvmfIa32/*/IA32/Shell.efi ovmf-ia32/Shell.efi
334 cp Build/OvmfIa32/*/IA32/EnrollDefaultKeys.efi ovmf-ia32/EnrollDefaultKeys.efi
335 sh %{_sourcedir}/build-iso.sh ovmf-ia32/
336 %endif
337
338
339 # build aarch64 firmware
340 %if 0%{?build_aavmf_aarch64:1}
341 mkdir -p aarch64
342 build $ARM_FLAGS -a AARCH64 -p ArmVirtPkg/ArmVirtQemu.dsc
343 cp Build/ArmVirtQemu-AARCH64/DEBUG_*/FV/*.fd aarch64
344 dd of="aarch64/QEMU_EFI-pflash.raw" if="/dev/zero" bs=1M count=64
345 dd of="aarch64/QEMU_EFI-pflash.raw" if="aarch64/QEMU_EFI.fd" conv=notrunc
346 dd of="aarch64/vars-template-pflash.raw" if="/dev/zero" bs=1M count=64
347 %endif
348
349
350 # build aarch64 firmware
351 %if 0%{?build_aavmf_arm:1}
352 mkdir -p arm
353 build $ARM_FLAGS -a ARM -p ArmVirtPkg/ArmVirtQemu.dsc
354 cp Build/ArmVirtQemu-ARM/DEBUG_*/FV/*.fd arm
355 dd of="arm/QEMU_EFI-pflash.raw" if="/dev/zero" bs=1M count=64
356 dd of="arm/QEMU_EFI-pflash.raw" if="arm/QEMU_EFI.fd" conv=notrunc
357 dd of="arm/vars-template-pflash.raw" if="/dev/zero" bs=1M count=64
358 %endif
359
360 %check
361 %if 0%{?build_ovmf_x64:1}
362 %if 0%{?qosb_testing}
363 # Verify enrolled VARS file
364 python3 qemu-ovmf-secureboot-%{qosb_version}/ovmf-vars-generator \
365 --qemu-binary /usr/bin/qemu-system-x86_64 \
366 --skip-enrollment \
367 --print-output \
368 --ovmf-binary ovmf/OVMF_CODE.secboot.fd \
369 --ovmf-template-vars ovmf/OVMF_VARS.fd \
370 --uefi-shell-iso ovmf/UefiShell.iso \
371 --no-download \
372 --kernel-path `rpm -qal kernel-desktop'*' | grep "\/vmlinuz$" -m 1` \
373 ovmf/OVMF_VARS.secboot.fd || :
374 %endif
375 %endif
376
377 %install
378 cp CryptoPkg/Library/OpensslLib/openssl/LICENSE LICENSE.openssl
379 mkdir -p %{buildroot}%{_bindir} \
380 %{buildroot}%{_datadir}/%{name}/Conf \
381 %{buildroot}%{_datadir}/%{name}/Scripts
382 install BaseTools/Source/C/bin/* \
383 %{buildroot}%{_bindir}
384 install BaseTools/BinWrappers/PosixLike/LzmaF86Compress \
385 %{buildroot}%{_bindir}
386 install BaseTools/BuildEnv \
387 %{buildroot}%{_datadir}/%{name}
388 install BaseTools/Conf/*.template \
389 %{buildroot}%{_datadir}/%{name}/Conf
390 install BaseTools/Scripts/GccBase.lds \
391 %{buildroot}%{_datadir}/%{name}/Scripts
392
393 cp -R BaseTools/Source/Python %{buildroot}%{_datadir}/%{name}/Python
394 for i in build BPDG Ecc GenDepex GenFds GenPatchPcdTable PatchPcdValue TargetTool Trim UPT; do
395 echo '#!/bin/sh
396 export PYTHONPATH=%{_datadir}/%{name}/Python
397 exec python3 '%{_datadir}/%{name}/Python/$i/$i.py' "$@"' > %{buildroot}%{_bindir}/$i
398 chmod +x %{buildroot}%{_bindir}/$i
399 done
400
401 mkdir -p %{buildroot}/usr/share/%{name}
402 %if 0%{?build_ovmf_x64:1}
403 cp -a ovmf %{buildroot}/usr/share/%{name}
404 # Libvirt hardcodes this directory name
405 mkdir %{buildroot}/usr/share/OVMF
406 ln -sf ../%{name}/ovmf/OVMF_CODE.fd %{buildroot}/usr/share/OVMF
407 ln -sf ../%{name}/ovmf/OVMF_CODE.secboot.fd %{buildroot}/usr/share/OVMF
408 ln -sf ../%{name}/ovmf/OVMF_VARS.fd %{buildroot}/usr/share/OVMF
409 ln -sf ../%{name}/ovmf/OVMF_VARS.secboot.fd %{buildroot}/usr/share/OVMF
410 ln -sf ../%{name}/ovmf/UefiShell.iso %{buildroot}/usr/share/OVMF
411 %endif
412 %if 0%{?build_ovmf_ia32:1}
413 cp -a ovmf-ia32 %{buildroot}/usr/share/%{name}
414 %endif
415 %if 0%{?build_aavmf_aarch64:1}
416 cp -a aarch64 %{buildroot}/usr/share/%{name}
417 # Libvirt hardcodes this directory name
418 mkdir %{buildroot}/usr/share/AAVMF
419 ln -sf ../%{name}/aarch64/QEMU_EFI-pflash.raw %{buildroot}/usr/share/AAVMF/AAVMF_CODE.fd
420 ln -sf ../%{name}/aarch64/vars-template-pflash.raw %{buildroot}/usr/share/AAVMF/AAVMF_VARS.fd
421 %endif
422 %if 0%{?build_aavmf_arm:1}
423 cp -a arm %{buildroot}/usr/share/%{name}
424 ln -sf ../%{name}/arm/QEMU_EFI-pflash.raw %{buildroot}/usr/share/AAVMF/AAVMF32_CODE.fd
425 %endif
426
427 install qemu-ovmf-secureboot-%{qosb_version}/ovmf-vars-generator %{buildroot}%{_bindir}
428
429
430 %files tools
431 %license License.txt
432 %license LICENSE.openssl
433 %{_bindir}/Brotli
434 %{_bindir}/DevicePath
435 %{_bindir}/EfiRom
436 %{_bindir}/GenCrc32
437 %{_bindir}/GenFfs
438 %{_bindir}/GenFv
439 %{_bindir}/GenFw
440 %{_bindir}/GenSec
441 %{_bindir}/LzmaCompress
442 %{_bindir}/LzmaF86Compress
443 %{_bindir}/Split
444 %{_bindir}/TianoCompress
445 %{_bindir}/VfrCompile
446 %{_bindir}/VolInfo
447 %dir %{_datadir}/%{name}
448 %{_datadir}/%{name}/BuildEnv
449 %{_datadir}/%{name}/Conf
450 %{_datadir}/%{name}/Scripts
451
452 %files tools-python
453 %{_bindir}/build
454 %{_bindir}/BPDG
455 %{_bindir}/Ecc
456 %{_bindir}/GenDepex
457 %{_bindir}/GenFds
458 %{_bindir}/GenPatchPcdTable
459 %{_bindir}/PatchPcdValue
460 %{_bindir}/TargetTool
461 %{_bindir}/Trim
462 %{_bindir}/UPT
463 %dir %{_datadir}/%{name}
464 %{_datadir}/%{name}/Python
465
466 %files tools-doc
467 %doc BaseTools/UserManuals/*.rtf
468
469 %files qosb
470 %license LICENSE.qosb
471 %doc README.qosb
472 %{_bindir}/ovmf-vars-generator
473
474 %if 0%{?build_ovmf_x64:1}
475 %files ovmf
476 %license OvmfPkg/License.txt
477 %license LICENSE.openssl
478 %doc OvmfPkg/README
479 %doc ovmf-whitepaper-c770f8c.txt
480 %dir /usr/share/%{name}
481 %dir /usr/share/%{name}/ovmf
482 /usr/share/%{name}/ovmf/OVMF*.fd
483 /usr/share/%{name}/ovmf/*.efi
484 /usr/share/%{name}/ovmf/*.iso
485 /usr/share/OVMF
486 %endif
487
488 %if 0%{?build_ovmf_ia32:1}
489 %files ovmf-ia32
490 %license OvmfPkg/License.txt
491 %license LICENSE.openssl
492 %doc OvmfPkg/README
493 %doc ovmf-whitepaper-c770f8c.txt
494 %dir /usr/share/%{name}
495 %dir /usr/share/%{name}/ovmf-ia32
496 /usr/share/%{name}/ovmf-ia32/OVMF*.fd
497 /usr/share/%{name}/ovmf-ia32/*.efi
498 /usr/share/%{name}/ovmf-ia32/*.iso
499 %endif
500
501 %if 0%{?build_aavmf_aarch64:1}
502 %files aarch64
503 %license OvmfPkg/License.txt
504 %license LICENSE.openssl
505 %dir /usr/share/%{name}
506 %dir /usr/share/%{name}/aarch64
507 /usr/share/%{name}/aarch64/QEMU*.fd
508 /usr/share/%{name}/aarch64/*.raw
509 /usr/share/AAVMF/AAVMF_*
510 %endif
511
512 %if 0%{?build_aavmf_arm:1}
513 %files arm
514 %license OvmfPkg/License.txt
515 %license LICENSE.openssl
516 %dir /usr/share/%{name}
517 %dir /usr/share/%{name}/arm
518 /usr/share/%{name}/arm/QEMU*.fd
519 /usr/share/%{name}/arm/*.raw
520 /usr/share/AAVMF/AAVMF32_*
521 %endif
522

  ViewVC Help
Powered by ViewVC 1.1.30