]> git.pld-linux.org Git - packages/VirtualBox.git/blame_incremental - VirtualBox.spec
- up to 7.0.18
[packages/VirtualBox.git] / VirtualBox.spec
... / ...
CommitLineData
1# NOTE
2# - https://www.virtualbox.org/wiki/Linux%20build%20instructions
3# TODO
4# - java bindings
5# - Package SDK.
6# - Check License of VBoxGuestAdditions_*.iso, it's probably not GPL v2.
7# If so check if it is distributable.
8# - guest x11 additions: currently incomplete/untested
9# - enable VDE networking: --enable-vde
10# - initscripts for webservice
11# - fix desc for dkms packages (proper wording needed), kernel modules desc is mess as well
12#
13# Conditional build:
14%bcond_with all_langs # build with all manual translations
15%bcond_without doc # don't build the documentation
16%bcond_without debuginfo # disable debuginfo creation (to save space when compiling)
17%bcond_without kernel # don't build kernel module
18%bcond_without userspace # don't build userspace package
19%bcond_with webservice # webservice (SOAP) support
20%bcond_without lightdm # lightdm greeter
21%bcond_without dkms # build dkms package
22%bcond_without verbose
23%bcond_without gui # disable Qt4 GUI frontend build
24%bcond_without host # build guest packages only
25
26%if 0%{?_pld_builder:1} && %{with kernel} && %{with userspace}
27%{error:kernel and userspace cannot be built at the same time on PLD builders}
28exit 1
29%endif
30
31%if %{with kernel}
32%define _duplicate_files_terminate_build 0
33%endif
34
35%if %{without userspace}
36# nothing to be placed to debuginfo package
37%undefine with_debuginfo
38%endif
39
40%if %{without debuginfo}
41%define _enable_debug_packages 0
42%endif
43
44%ifnarch %{x8664} %{?with_kernel:x32}
45%undefine with_host
46%endif
47
48%define qtver 5.6.0
49
50%define rel 1
51%define pname VirtualBox
52Summary: VirtualBox - x86 hardware virtualizer
53Summary(pl.UTF-8): VirtualBox - wirtualizator sprzętu x86
54Name: %{pname}%{?_pld_builder:%{?with_kernel:-kernel}}%{_alt_kernel}
55Version: 7.0.18
56Release: %{rel}%{?_pld_builder:%{?with_kernel:@%{_kernel_ver_str}}}
57License: GPL v2
58Group: Applications/Emulators
59Source0: https://download.virtualbox.org/virtualbox/%{version}/%{pname}-%{version}.tar.bz2
60# Source0-md5: b1259b71044ab24671d6f5757855548d
61Source1: https://download.virtualbox.org/virtualbox/%{version}/VBoxGuestAdditions_%{version}.iso
62# Source1-md5: c31a1845868d0913012f1dc481461e8f
63Source2: vboxservice.init
64Source3: vboxservice.service
65Source4: vboxservice.sysconfig
66Source5: mount.vdi
67Source6: udev.rules
68Source7: %{pname}-virtualbox-host-modules-load.conf
69Source8: %{pname}-virtualbox-guest-modules-load.conf
70Source9: vboxautostart.init
71Source10: autostart.cfg
72Source11: vboxclient-vmsvga.service
73Source12: udev-guest.rules
74Patch0: %{pname}-version-error.patch
75Patch1: %{pname}-VBoxSysInfo.patch
76Patch2: %{pname}-warning_workaround.patch
77Patch4: wrapper.patch
78Patch6: hardening-shared.patch
79Patch7: lightdm-greeter-makefile.patch
80Patch8: lightdm-greeter-g++-link.patch
81Patch9: pld-guest.patch
82Patch10: 16-no-update.patch
83Patch11: %{pname}-all-translations.patch
84Patch13: %{pname}-no-scrextend.patch
85Patch15: %{pname}-lightdm-1.19.2.patch
86Patch16: %{pname}-no-vboxvideo.patch
87Patch17: qt5-gl.patch
88Patch18: qt-detect.patch
89Patch19: python3.patch
90Patch20: gcc-13.patch
91Patch21: xsl-style-dir.patch
92Patch22: build-arch.patch
93URL: http://www.virtualbox.org/
94%if %{with userspace}
95%ifarch %{x8664}
96BuildRequires: gcc-multilib-32
97BuildRequires: glibc-devel(i686)
98BuildRequires: libstdc++-multilib-32-devel
99BuildRequires: libstdc++-multilib-32-static
100%endif
101%if "%{pld_release}" == "ac"
102BuildRequires: XFree86-devel
103%else
104BuildRequires: xorg-lib-libX11-devel
105BuildRequires: xorg-lib-libXcomposite-devel
106BuildRequires: xorg-lib-libXcursor-devel
107BuildRequires: xorg-lib-libXdamage-devel
108BuildRequires: xorg-lib-libXext-devel
109BuildRequires: xorg-lib-libXinerama-devel
110BuildRequires: xorg-lib-libXmu-devel
111BuildRequires: xorg-lib-libXrandr-devel
112BuildRequires: xorg-proto-glproto-devel
113BuildRequires: xorg-xserver-server-devel
114%endif
115BuildRequires: EGL-devel
116BuildRequires: OpenGL-GLU-devel
117BuildRequires: OpenGL-devel
118BuildRequires: Qt5Core-devel >= %{qtver}
119BuildRequires: Qt5DBus-devel >= %{qtver}
120BuildRequires: Qt5Gui-devel >= %{qtver}
121BuildRequires: Qt5Help-devel >= %{qtver}
122BuildRequires: Qt5Network-devel >= %{qtver}
123BuildRequires: Qt5OpenGL-devel >= %{qtver}
124BuildRequires: Qt5PrintSupport-devel >= %{qtver}
125BuildRequires: Qt5Widgets-devel >= %{qtver}
126BuildRequires: Qt5X11Extras-devel >= %{qtver}
127BuildRequires: Qt5Xml-devel >= %{qtver}
128BuildRequires: SDL-devel >= 1.2.7
129BuildRequires: acpica
130BuildRequires: alsa-lib-devel >= 1.0.6
131BuildRequires: bash
132BuildRequires: bcc
133BuildRequires: bin86
134BuildRequires: curl-devel >= 7.19.1
135BuildRequires: device-mapper-devel >= 1.02
136%if %{with doc}
137BuildRequires: docbook-dtd45-xml
138BuildRequires: docbook-style-xsl
139%endif
140BuildRequires: fakeroot
141%{?with_lightdm:BuildRequires: fltk-devel}
142BuildRequires: gcc >= 5:3.2.3
143%{?with_webservice:BuildRequires: gsoap-devel}
144BuildRequires: issue
145BuildRequires: kBuild >= 0.1.9998.3598
146BuildRequires: libIDL-devel
147BuildRequires: libcap-static
148BuildRequires: libdrm-devel
149BuildRequires: liblzf-devel
150BuildRequires: libpng-devel >= 2:1.2.5
151BuildRequires: libstdc++-devel >= 5:3.2.3
152BuildRequires: libstdc++-static >= 5:3.2.3
153BuildRequires: libtpms-devel
154BuildRequires: libuuid-devel
155BuildRequires: libvncserver-devel >= 0.9.9
156BuildRequires: libvpx-devel >= 0.9.5
157BuildRequires: libxml2-devel >= 2.6.26
158BuildRequires: libxslt-devel >= 1.1.17
159BuildRequires: libxslt-progs >= 1.1.17
160%{?with_lightdm:BuildRequires: lightdm-libs-qt5-devel}
161BuildRequires: makeself
162BuildRequires: mkisofs
163BuildRequires: openssl-devel >= 1.0.1
164BuildRequires: pam-devel
165BuildRequires: pixman-devel
166BuildRequires: pkgconfig
167BuildRequires: pulseaudio-devel >= 0.9.0
168BuildRequires: python3-devel >= 1:3.6
169BuildRequires: python3-modules
170BuildRequires: qt5-assistant
171BuildRequires: qt5-build
172BuildRequires: qt5-linguist
173BuildRequires: rpmbuild(macros) >= 1.752
174BuildRequires: sed >= 4.0
175%if %{with doc}
176BuildRequires: texlive-fonts-bitstream
177BuildRequires: texlive-fonts-other
178BuildRequires: texlive-fonts-type1-bitstream
179BuildRequires: texlive-format-pdflatex
180BuildRequires: texlive-latex-ucs
181BuildRequires: texlive-xetex
182%endif
183BuildRequires: which
184BuildRequires: xalan-c-devel >= 1.10.0
185BuildRequires: xerces-c-devel >= 2.6.0
186BuildRequires: yasm >= 0.5.1
187BuildRequires: zlib-devel >= 1.2.1
188%endif
189%{?with_kernel:%{expand:%buildrequires_kernel kernel%%{_alt_kernel}-module-build >= 3:2.6.20.2}}
190Requires(post,preun): /sbin/chkconfig
191Requires(postun): /usr/sbin/groupdel
192Requires(pre): /usr/bin/getgid
193Requires(pre): /usr/sbin/groupadd
194Requires: libvncserver >= 0.9.9
195Requires: udev-core
196Provides: group(vbox)
197Obsoletes: VirtualBox-udev < 4.2.10-5
198ExclusiveArch: %{ix86} %{x8664} %{?with_kernel:x32}
199BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
200
201%ifarch %{x8664}
202%define vbox_arch amd64
203%else
204%define vbox_arch x86
205%endif
206%define vbox_platform linux.%{vbox_arch}
207%define outdir out/%{vbox_platform}/release/bin
208%define objdir out/%{vbox_platform}/release/obj
209
210%define filterout -Werror=format-security
211
212%define _noautochrpath .*\\.debug$
213
214%description
215Oracle VirtualBox is a general-purpose full virtualizer for x86
216hardware. Targeted at server, desktop and embedded use, it is now the
217only professional-quality virtualization solution that is also Open
218Source Software.
219
220Some of the features of VirtualBox are:
221
222Modularity: VirtualBox has an extremely modular design with
223well-defined internal programming interfaces and a client/server
224design. This makes it easy to control it from several interfaces at
225once: for example, you can start a virtual machine in a typical
226virtual machine GUI and then control that machine from the command
227line. VirtualBox also comes with a full Software Development Kit: even
228though it is Open Source Software, you don't have to hack the source
229to write a new interface for VirtualBox.
230
231Virtual machine descriptions in XML: the configuration settings of
232virtual machines are stored entirely in XML and are independent of the
233local machines. Virtual machine definitions can therefore easily be
234ported to other computers.
235
236You should install this package in your Host OS.
237
238%description -l pl.UTF-8
239Oracle VirtualBox jest emulatorem sprzętu x86. Kierowany do zastosowań
240serwerowych, desktopowych oraz wbudowanych jest obecnie jedynym
241wysokiej jakości rozwiązaniem wirtualizacyjnym dostępnym również jako
242Otwarte Oprogramowanie.
243
244Przykładowe cechy VirtualBoksa:
245
246Modularność: VirtualBox jest wysoce zmodularyzowanym produktem z
247dobrze zaprojektowanym wewnętrznym interfejsem programowym typu
248klient/serwer. Dzięki temu można łatwo kontrolować go za pomocą
249różnych interfejsów. Można na przykład uruchomić maszynę wirtualną z
250poziomu interfejsu graficznego, a później kontrolować ją z linii
251poleceń. VirtualBox dostarcza również pełny pakiet deweloperski, co
252pozwala stworzyć dowolny inny interfejs zarządzania maszyną wirtualną.
253
254Opisy maszyn wirtualnych w XML-u: konfiguracje poszczególnych maszyn
255wirtualnych są w całości przechowywane w XML-u i są niezależne od
256lokalnej maszyny. Dzięki temu można szybko i łatwo przenieść
257konfigurację maszyny wirtualnej na inny komputer.
258
259%package gui
260Summary: Qt GUI part for VirtualBox
261Group: X11/Applications
262Requires: %{name} = %{version}-%{release}
263Requires: Qt5Core >= %{qtver}
264Requires: Qt5Gui-platform-xcb >= %{qtver}
265Requires: desktop-file-utils
266Requires: desktop-file-utils
267Requires: fontconfig
268Requires: fonts-Type1-urw
269Requires: gtk-update-icon-cache
270Requires: hicolor-icon-theme
271Requires: shared-mime-info
272Suggests: Qt5Gui-platform-xcb-glx >= %{qtver}
273Suggests: Qt5Gui-platform-xcb-egl >= %{qtver}
274Suggests: gxmessage
275Conflicts: %{name} < 4.3.8-3
276
277%description gui
278Qt GUI part for VirtualBox.
279
280%package doc
281Summary: VirtualBox documentation
282Group: Documentation
283
284%description doc
285This package contains VirtualBox User Manual.
286
287%package additions
288Summary: VirtualBox Guest Additions
289Group: Base
290Requires: %{name} = %{version}
291BuildArch: noarch
292
293%description additions
294VirtualBox Guest Additions.
295
296This package contains ISO9660 image with drivers for Guest OS.
297
298You should install this package in your Host OS.
299
300%package guest
301Summary: VirtualBox Guest tools
302Group: Base
303Provides: group(vboxsf)
304Requires(post): systemd-units >= 38
305Requires(post,preun): /sbin/chkconfig
306Requires(postun): /usr/sbin/groupdel
307Requires(pre): /usr/bin/getgid
308Requires(pre): /usr/sbin/groupadd
309Requires: rc-scripts
310Requires: systemd-units >= 38
311Suggests: kernel(vboxguest)
312Suggests: kernel(vboxsf)
313Suggests: pam-pam_vbox
314
315%description guest
316Tools that utilize kernel modules for supporting integration with the
317Host, including file sharing.
318
319You should install this package in your Guest OS for base VirtualBox
320communication
321
322%package guest-x11
323Summary: VirtualBox Guest X11 Additions
324Group: X11/Applications
325Requires: %{name}-guest = %{version}-%{release}
326Requires: xorg-app-xrandr
327Requires: kernel(vboxvideo)
328Obsoletes: xorg-driver-input-vboxmouse < %{version}-%{release}
329Obsoletes: xorg-driver-video-vboxvideo < %{version}-%{release}
330
331%description guest-x11
332Tools for X11 session that utilize kernel modules for supporting
333integration with the Host, like tracking of mouse pointer movement and
334X.org X11 video and mouse drivers
335
336You should install this package in your Guest OS for X11 session.
337
338%package webservice
339Summary: VirtualBox Web Service
340Group: Applications/Emulators
341Requires: %{name} = %{version}-%{release}
342
343%description webservice
344This package contains VirtualBox web service API daemon. It allows to
345control virtual machines via web interface.
346
347%package -n lightdm-greeter-vbox
348Summary: VirtualBox greeter for lightdm
349Group: Themes
350# NOTE: '#' in url is lost because rpm treats it as comment, even hacking with
351# macros doesn't help as rpmbuild takes final result to parse
352URL: http://www.virtualbox.org/manual/ch09.html#autologon_unix_lightdm
353Requires: %{name} = %{version}-%{release}
354Requires: kernel(vboxguest)
355Requires: lightdm >= 1.0.1
356Requires: pam-pam_vbox = %{version}-%{release}
357Provides: lightdm-greeter
358
359%description -n lightdm-greeter-vbox
360VirtualBox greeter for LightDM.
361
362%package -n pam-pam_vbox
363Summary: PAM module to perform automated guest logons
364Group: Base
365
366%description -n pam-pam_vbox
367PAM module (Pluggable Authentication Module) which can be used to
368perform automated guest logons.
369
370%package -n dkms-vboxguest
371Summary: VirtualBox kernel modules source for Linux Guest
372Summary(pl.UTF-8): Moduły VirtualBoksa do jądra Linuksa dla systemu gościa
373License: GPL v2+
374Group: Base/Kernel
375Requires: dkms
376BuildArch: noarch
377
378%description -n dkms-vboxguest
379This package contains DKMS-ready VirtualBox Guest Additions for Linux
380Module, host file system access (Shared Folders) and DRM support for
381Linux guest system.
382
383%description -n dkms-vboxguest -l pl.UTF-8
384Ten pakiet zawiera moduł jądra Linuksa vboxguest dla VirtualBoksa -
385dodatki dla systemu gościa, dostęp do plików systemu głównego z
386poziomu systemu gościa i sterownik obsługi DRM.
387
388%package -n dkms-vboxhost
389Summary: VirtualBox Support Drivers source
390Summary(pl.UTF-8): Moduły jądra Linuksa dla VirtualBoksa
391License: GPL v2+
392Group: Base/Kernel
393Requires: dkms
394BuildArch: noarch
395
396%description -n dkms-vboxhost
397This package contains DKMS enabled sourcecode of VirtualBox Support
398Driver, Network Adapter Driver, Network Filter Driver and PCI card
399passthrough driver that works as host proxy between guest and PCI
400hardware.
401
402%description -n dkms-vboxhost -l pl.UTF-8
403Ten pakiet zawiera sterownik wsparcia dla systemu głównego, sterownik
404witrualnej karty sieciowej, sterownik filtrowania sieci dla systemu
405głównego oraz sterownik, ktory działa jako proxy między gościem i
406gospodarzem sprzętu PCI.
407
408# KERNEL PACKAGES
409
410# KEEP ALL REGULAR SUBPACKAGES BEFORE KERNEL PACKAGES.
411
412%define kernel_pkg()\
413%package -n kernel%{_alt_kernel}-virtualbox-guest\
414Summary: VirtualBox kernel modules for Linux Guest\
415Summary(pl.UTF-8): Moduły VirtualBoksa do jądra Linuksa dla systemu gościa\
416Release: %{rel}@%{_kernel_ver_str}\
417Group: Base/Kernel\
418Requires(post,postun): /sbin/depmod\
419Requires(post): systemd-units >= 38\
420Requires: dev >= 2.9.0-7\
421Requires: systemd-units >= 38\
422%requires_releq_kernel\
423Requires: %{releq_kernel -n drm}\
424Requires(postun): %releq_kernel\
425Provides: kernel(vboxguest) = %{version}-%{rel}\
426Provides: kernel(vboxsf) = %{version}-%{rel}\
427%if %{_kernel_version_code} < %{_kernel_version_magic 4 13 0}\
428Provides: kernel(vboxvideo) = %{version}-%{rel}\
429%endif\
430Obsoletes: kernel-init-guest\
431Conflicts: kernel%{_alt_kernel}-virtualbox-host\
432\
433%description -n kernel%{_alt_kernel}-virtualbox-guest\
434This package contains VirtualBox Guest Additions for Linux Module,\
435host file system access (Shared Folders) and DRM support for\
436Linux guest system.\
437\
438%description -n kernel%{_alt_kernel}-virtualbox-guest -l pl.UTF-8\
439Ten pakiet zawiera moduł jądra Linuksa vboxguest dla VirtualBoksa -\
440dodatki dla systemu gościa, dostęp do plików systemu głównego z\
441poziomu systemu gościa i sterownik obsługi DRM.\
442\
443%package -n kernel%{_alt_kernel}-virtualbox-host\
444Summary: VirtualBox Support Drivers\
445Summary(pl.UTF-8): Moduły jądra Linuksa dla VirtualBoksa\
446Release: %{rel}@%{_kernel_ver_str}\
447Group: Base/Kernel\
448Requires(post,postun): /sbin/depmod\
449Requires(post): systemd-units >= 38\
450Requires: dev >= 2.9.0-7\
451%requires_releq_kernel\
452Requires(postun): %releq_kernel\
453Requires: systemd-units >= 38\
454Provides: kernel(vboxdrv) = %{version}-%{rel}\
455Provides: kernel(vboxnetadp) = %{version}-%{rel}\
456Provides: kernel(vboxnetflt) = %{version}-%{rel}\
457Obsoletes: kernel-init-host\
458\
459%description -n kernel%{_alt_kernel}-virtualbox-host\
460This package contains VirtualBox Support Driver, Network Adapter\
461Driver, Network Filter Driver and PCI card passthrough driver that\
462works as host proxy between guest and PCI hardware.\
463\
464%description -n kernel%{_alt_kernel}-virtualbox-host -l pl.UTF-8\
465Ten pakiet zawiera sterownik wsparcia dla systemu głównego, sterownik\
466witrualnej karty sieciowej, sterownik filtrowania sieci dla systemu\
467głównego oraz sterownik, ktory działa jako proxy między gościem i\
468gospodarzem sprzętu PCI.\
469\
470%if %{with kernel}\
471%files -n kernel%{_alt_kernel}-virtualbox-guest\
472%defattr(644,root,root,755)\
473%if %{_kernel_version_code} >= %{_kernel_version_magic 4 16 0}\
474%config(noreplace) %verify(not md5 mtime size) /etc/depmod.d/%{_kernel_ver}/vboxguest.conf\
475%endif\
476%config(noreplace) %verify(not md5 mtime size) /etc/modules-load.d/virtualbox-guest.conf\
477%if %{_kernel_version_code} < %{_kernel_version_magic 5 14 0}\
478/lib/modules/%{_kernel_ver}/misc/vboxguest.ko*\
479/lib/modules/%{_kernel_ver}/misc/vboxsf.ko*\
480%if %{_kernel_version_code} < %{_kernel_version_magic 4 13 0}\
481/lib/modules/%{_kernel_ver}/misc/vboxvideo.ko*\
482%endif\
483%endif\
484\
485%if %{with host}\
486%files -n kernel%{_alt_kernel}-virtualbox-host\
487%config(noreplace) %verify(not md5 mtime size) /etc/modules-load.d/virtualbox-host.conf\
488/lib/modules/%{_kernel_ver}/misc/vboxdrv.ko*\
489/lib/modules/%{_kernel_ver}/misc/vboxnetadp.ko*\
490/lib/modules/%{_kernel_ver}/misc/vboxnetflt.ko*\
491%endif\
492%endif\
493\
494%post -n kernel%{_alt_kernel}-virtualbox-guest\
495%depmod %{_kernel_ver}\
496\
497%postun -n kernel%{_alt_kernel}-virtualbox-guest\
498%depmod %{_kernel_ver}\
499\
500%if %{with host}\
501%post -n kernel%{_alt_kernel}-virtualbox-host\
502%depmod %{_kernel_ver}\
503\
504%postun -n kernel%{_alt_kernel}-virtualbox-host\
505%depmod %{_kernel_ver}\
506%endif\
507%{nil}
508
509%define build_kernel_pkg()\
510export KERN_DIR=%{_kernelsrcdir}\
511%if %{with host}\
512cd kernel/HostDrivers\
513%build_kernel_modules -m vboxdrv -C vboxdrv\
514%build_kernel_modules -m vboxnetadp -C vboxnetadp KBUILD_EXTRA_SYMBOLS=$PWD/../vboxdrv/Module.symvers\
515%build_kernel_modules -m vboxnetflt -C vboxnetflt KBUILD_EXTRA_SYMBOLS=$PWD/../vboxdrv/Module.symvers\
516%install_kernel_modules -D ../../kernel/installed -m vboxdrv/vboxdrv,vboxnetadp/vboxnetadp,vboxnetflt/vboxnetflt -d misc\
517cd ../..\
518%endif\
519%if %{_kernel_version_code} < %{_kernel_version_magic 5 14 0}\
520cd kernel/GuestDrivers\
521%build_kernel_modules -m vboxguest -C vboxguest\
522%build_kernel_modules -m vboxsf -C vboxsf KBUILD_EXTRA_SYMBOLS=$PWD/../vboxguest/Module.symvers\
523%install_kernel_modules -D ../../kernel/installed -m vboxsf/vboxsf,vboxguest/vboxguest -d misc\
524%if %{_kernel_version_code} < %{_kernel_version_magic 4 13 0}\
525%build_kernel_modules -m vboxvideo -C vboxvideo KBUILD_EXTRA_SYMBOLS=$PWD/../vboxguest/Module.symvers\
526%install_kernel_modules -D ../../kernel/installed -m vboxvideo/vboxvideo -d misc\
527%endif\
528cd ../..\
529%endif\
530%{nil}
531
532%define install_kernel_pkg()\
533%if %{_kernel_version_code} >= %{_kernel_version_magic 4 16 0}\
534install -d kernel/installed/etc/depmod.d/%{_kernel_ver}\
535echo override vboxguest %{_kernel_ver} misc > kernel/installed/etc/depmod.d/%{_kernel_ver}/vboxguest.conf\
536%if %{_kernel_version_code} >= %{_kernel_version_magic 5 6 0}\
537echo override vboxsf %{_kernel_ver} misc >> kernel/installed/etc/depmod.d/%{_kernel_ver}/vboxguest.conf\
538%endif\
539%endif\
540%{nil}
541
542%{?with_kernel:%{expand:%create_kernel_packages}}
543
544%prep
545%setup -q -n %{pname}-%{version}
546%patch0 -p1
547%patch1 -p1
548%patch2 -p1
549%patch4 -p1
550%patch6 -p1
551%patch7 -p1
552%patch8 -p1
553%patch9 -p1
554%patch10 -p1
555%if %{with all_langs}
556%patch11 -p0
557%endif
558%patch13 -p1
559%patch15 -p0
560%patch16 -p0
561%patch17 -p1
562%patch18 -p1
563%patch19 -p1
564%patch20 -p1
565%patch21 -p1
566%patch22 -p1
567
568%{__sed} -i -e 's,@VBOX_DOC_PATH@,%{_docdir}/%{name}-%{version},' \
569 -e 's/Categories=.*/Categories=Utility;Emulator;/' src/VBox/Installer/common/virtualbox.desktop.in
570
571# Respect LDFLAGS
572%{__sed} -i -e "s@_LDFLAGS\.%{vbox_arch}*.*=@& %{rpmldflags}@g" \
573 -i Config.kmk src/libs/xpcom18a4/Config.kmk
574
575%{__sed} -i -e 's#@INSTALL_DIR@#%{_libdir}/%{pname}#' src/VBox/Installer/linux/VBox.sh
576
577%if %{with kernel}
578install -d kernel/{GuestDrivers,HostDrivers}
579cd kernel
580../src/VBox/Additions/linux/export_modules.sh guest-modules.tar.gz
581tar -zxf guest-modules.tar.gz -C GuestDrivers
582
583../src/VBox/HostDrivers/linux/export_modules.sh --file host-modules.tar.gz --without-hardening
584tar -zxf host-modules.tar.gz -C HostDrivers
585cd -
586%endif
587
588# using system kBuild package
589%{__rm} -r kBuild
590
591# use linux icon for now
592cp -p src/VBox/Frontends/VirtualBox/images/os_{linux26,pld}.png
593cp -p src/VBox/Frontends/VirtualBox/images/os_{linux26,pld}_64.png
594
595# don't force whole userspace to be built with -fPIC
596# see https://www.virtualbox.org/pipermail/vbox-dev/2015-February/012863.html
597%define filterout_c -fPIC
598%define filterout_cxx -fPIC
599
600cat <<'EOF'>> LocalConfig.kmk
601%{?with_verbose:KBUILD_VERBOSE=3}
602USERNAME=%(id -un)
603VBOX_BUILD_PUBLISHER=_PLD
604VBOX_VERSION_STRING=$(VBOX_VERSION_MAJOR).$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD)_PLD
605XSERVER_VERSION=%(rpm -q --queryformat '%{V}\n' xorg-xserver-server-devel | awk -F. '{ print $1 $2 }' 2>/dev/null || echo ERROR)
606VBOX_USE_SYSTEM_XORG_HEADERS=1
607VBOX_USE_SYSTEM_GL_HEADERS=1
608%if %{with lightdm}
609VBOX_WITH_LIGHTDM_GREETER=1
610VBOX_WITH_LIGHTDM_GREETER_PACKING=1
611%endif
612TOOL_GCC3_CFLAGS=%{rpmcflags}
613TOOL_GCC3_CXXFLAGS=%{rpmcxxflags}
614VBOX_GCC_OPT=%{rpmcxxflags}
615
616TOOL_YASM_AS := /usr/bin/yasm
617
618VBOX_BLD_PYTHON := %{__python3}
619VBOX_WITHOUT_PYTHON_LIMITED_API=1
620
621VBOX_PATH_APP_PRIVATE_ARCH := %{_libdir}/%{pname}
622VBOX_PATH_APP_PRIVATE := %{_datadir}/%{pname}
623VBOX_PATH_SHARED_LIBS := $(VBOX_PATH_APP_PRIVATE_ARCH)
624VBOX_WITH_ORIGIN :=
625VBOX_WITH_RUNPATH := $(VBOX_PATH_APP_PRIVATE_ARCH)
626#VBOX_PATH_APP_DOCS := %{_docdir}/%{pname}-doc-%{version}
627VBOX_PATH_DOCBOOK_DTD := %{_datadir}/sgml/docbook/xml-dtd-4.4
628
629# don't build testcases to save time, they are not needed for the package
630VBOX_WITH_TESTCASES :=
631VBOX_WITH_TESTSUITE :=
632
633VBOX_WITH_VRDP_RDESKTOP=
634VBOX_WITH_MULTIVERSION_PYTHON=0
635%if %{without host}
636VBOX_ONLY_ADDITIONS_WITHOUT_RTISOMAKER=1
637VBOX_ONLY_ADDITIONS=1
638%endif
639EOF
640
641%undefine filterout_c
642%undefine filterout_cxx
643
644%build
645%if %{with userspace}
646./configure \
647 --with-gcc="%{__cc}" \
648 --with-g++="%{__cxx}" \
649 %{!?with_doc:--disable-docs} \
650 --disable-java \
651 --disable-hardening \
652 --disable-kmods \
653 --enable-vnc \
654 %{!?with_gui:--disable-qt} \
655 %{__enable webservice} \
656 %{!?with_host:--only-additions} \
657 %{nil}
658
659. "$PWD/env.sh"
660kmk %{?_smp_mflags} %{!?with_host:VBOX_ONLY_ADDITIONS_WITHOUT_RTISOMAKER=1 VBOX_ONLY_ADDITIONS=1}
661%endif
662
663%{?with_kernel:%{expand:%build_kernel_packages}}
664%{?with_kernel:%{expand:%install_kernel_packages}}
665
666%install
667rm -rf $RPM_BUILD_ROOT
668
669%if %{with userspace}
670install -d $RPM_BUILD_ROOT{%{_bindir},/sbin,%{_sbindir},%{_libdir}/%{pname}/ExtensionPacks} \
671 $RPM_BUILD_ROOT{%{_pixmapsdir},%{_desktopdir},%{_datadir}/mime/packages} \
672 $RPM_BUILD_ROOT/etc/sysconfig \
673 $RPM_BUILD_ROOT%{_sysconfdir}/vbox/autostart \
674 $RPM_BUILD_ROOT%{_libdir}/xorg/modules/{drivers,dri,input} \
675 $RPM_BUILD_ROOT{/lib/udev,/etc/udev/rules.d} \
676 $RPM_BUILD_ROOT{/etc/rc.d/init.d,%{systemdunitdir},%{_usrsrc}}
677
678# test if we can hardlink -- %{_builddir} and $RPM_BUILD_ROOT on same partition
679if cp -al COPYING $RPM_BUILD_ROOT/COPYING; then
680 l=l
681 %{__rm} $RPM_BUILD_ROOT/COPYING
682fi
683
684install -d $RPM_BUILD_ROOT%{_datadir}/%{pname}
685
686cp -a$l %{outdir}/* $RPM_BUILD_ROOT%{_libdir}/%{pname}
687
688%if %{without gui}
689%{__rm} -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/icons
690%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/virtualbox.xml
691%endif
692
693# Guest Only Tools
694%{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxAudioTest
695%{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxClient
696%{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxControl
697%{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxDRMClient
698%{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxService
699install -d $RPM_BUILD_ROOT/etc/xdg/autostart
700cp -p src/VBox/Additions/x11/Installer/vboxclient.desktop \
701 $RPM_BUILD_ROOT/etc/xdg/autostart/vboxclient.desktop
702install -p src/VBox/Additions/x11/Installer/98vboxadd-xclient $RPM_BUILD_ROOT%{_bindir}/VBoxClient-all
703install -p %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxservice
704cp -p %{SOURCE3} $RPM_BUILD_ROOT%{systemdunitdir}/vboxservice.service
705cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/vboxservice
706
707cp -p %{SOURCE11} $RPM_BUILD_ROOT%{systemdunitdir}/vboxclient-vmsvga.service
708
709install -p %{SOURCE9} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxautostart
710%{__sed} -i -e 's#@INSTALL_DIR@#%{_libdir}/%{pname}#' $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxautostart
711cp -p %{SOURCE10} $RPM_BUILD_ROOT%{_sysconfdir}/vbox
712
713%if %{with lightdm}
714install -d $RPM_BUILD_ROOT%{_datadir}/xgreeters
715%{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_sbindir}}/vbox-greeter
716cp -p %{objdir}/Additions/Installer/linux/other/vbox-greeter.desktop $RPM_BUILD_ROOT%{_datadir}/xgreeters
717%endif
718
719%if %{with dkms}
720mv $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/src $RPM_BUILD_ROOT%{_usrsrc}/vboxguest-%{version}-%{rel}
721%endif
722
723# pam
724install -d $RPM_BUILD_ROOT/%{_lib}/security
725%{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,/%{_lib}/security}/pam_vbox.so
726
727# mount.vboxsf
728%{__mv} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/mount.vboxsf $RPM_BUILD_ROOT/sbin/mount.vboxsf
729
730# mount.vdi
731install -p %{SOURCE5} $RPM_BUILD_ROOT/sbin/mount.vdi
732
733# these belong to .iso
734%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/autorun.sh
735%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/runasroot.sh
736
737cp -p %{SOURCE12} $RPM_BUILD_ROOT/etc/udev/rules.d/60-vboxguest.rules
738
739%if %{with host}
740# unknown - checkme
741%if 1
742%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPInstall
743%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPLoggerCtl
744%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPUninstall
745%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/load.sh
746%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/loadall.sh
747%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxshell.py
748%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/xpidl
749%endif
750
751cp -p$l %{SOURCE1} $RPM_BUILD_ROOT%{_datadir}/%{pname}/VBoxGuestAdditions.iso ||
752cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_datadir}/%{pname}/VBoxGuestAdditions.iso
753
754# manual installation steps based on src/VBox/Installer/linux/install.sh
755ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/VirtualBox
756ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/VBoxManage
757ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/VBoxVRDP
758ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/VBoxHeadless
759ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/VBoxBalloonCtrl
760ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/VBoxAutostart
761ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/vboxwebsrv
762ln -sf %{_libdir}/%{pname}/vbox-img $RPM_BUILD_ROOT%{_bindir}/vbox-img
763ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/VBoxDTrace
764cp -p $RPM_BUILD_ROOT%{_libdir}/%{pname}/icons/128x128/virtualbox.png $RPM_BUILD_ROOT%{_pixmapsdir}/virtualbox.png
765mv $RPM_BUILD_ROOT%{_libdir}/%{pname}/virtualbox.desktop $RPM_BUILD_ROOT%{_desktopdir}/virtualbox.desktop
766mv $RPM_BUILD_ROOT%{_libdir}/%{pname}/virtualbox.xml $RPM_BUILD_ROOT%{_datadir}/mime/packages/virtualbox.xml
767
768mv $RPM_BUILD_ROOT%{_libdir}/%{pname}/nls $RPM_BUILD_ROOT%{_datadir}/%{pname}
769
770(
771cd $RPM_BUILD_ROOT%{_libdir}/%{pname}/icons
772for i in *; do
773cd $i
774 for j in *; do
775 if expr "$j" : "virtualbox\..*" > /dev/null; then
776 dst=apps
777 else
778 dst=mimetypes
779 fi
780 if [ ! -e $RPM_BUILD_ROOT%{_iconsdir}/hicolor/$i/$dst ]; then
781 install -d $RPM_BUILD_ROOT%{_iconsdir}/hicolor/$i/$dst
782 fi
783 mv $RPM_BUILD_ROOT%{_libdir}/%{pname}/icons/$i/$j $RPM_BUILD_ROOT%{_iconsdir}/hicolor/$i/$dst/$j
784 done
785cd -
786done
787)
788
789rm -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/icons
790
791%{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname},/lib/udev}/VBoxCreateUSBNode.sh
792cp -p %{SOURCE6} $RPM_BUILD_ROOT/etc/udev/rules.d/60-vboxdrv.rules
793
794%if %{with dkms}
795mv $RPM_BUILD_ROOT%{_libdir}/%{pname}/src $RPM_BUILD_ROOT%{_usrsrc}/vboxhost-%{version}-%{rel}
796%endif
797
798# cleanup unpackaged
799%{__rm} -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/{sdk,testcase}
800%{__rm} -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/dtrace
801%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxkeyboard.tar.bz2
802%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/scripts/generated.sh
803%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/ExtensionPacks/VNC/ExtPack-license.*
804
805%if %{with gui}
806# weird icon size
807%{__rm} -r $RPM_BUILD_ROOT%{_iconsdir}/hicolor/40x40
808%endif
809
810# duplicate, we already have virtualbox.png (128x128), this is 32x32
811%{__rm} -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/VBox.png
812
813%if %{with doc}
814ln -sf %{_docdir}/%{pname}-doc-%{version}/UserManual.pdf $RPM_BUILD_ROOT%{_libdir}/%{pname}/UserManual.pdf
815%if %{with all_langs}
816ln -sf %{_docdir}/%{pname}-doc-%{version}/UserManual_fr_FR.pdf $RPM_BUILD_ROOT%{_libdir}/%{pname}/UserManual_fr_FR.pdf
817%endif
818%endif
819%endif
820%endif
821
822%if %{with kernel}
823install -d $RPM_BUILD_ROOT{/etc/modules-load.d,/sbin}
824
825cp -a kernel/installed/* $RPM_BUILD_ROOT
826
827# Tell systemd to load modules
828cp -p %{SOURCE7} $RPM_BUILD_ROOT/etc/modules-load.d/virtualbox-host.conf
829cp -p %{SOURCE8} $RPM_BUILD_ROOT/etc/modules-load.d/virtualbox-guest.conf
830%endif
831
832%clean
833rm -rf $RPM_BUILD_ROOT
834
835%pre
836%groupadd -g 221 -r -f vbox
837
838%post
839/sbin/chkconfig --add vboxautostart
840%service -n vboxautostart restart
841
842for i in /sys/bus/usb/devices/*; do
843 if [ -r "$i/dev" ]; then
844 dev="`cat "$i/dev" 2>/dev/null || true`"
845 major="`expr "$dev" : '\(.*\):' 2> /dev/null || true`"
846 minor="`expr "$dev" : '.*:\(.*\)' 2> /dev/null || true`"
847 class="`cat $i/bDeviceClass 2> /dev/null || true`"
848 /lib/udev/VBoxCreateUSBNode.sh "$major" "$minor" "$class" vbox 2>/dev/null
849 fi
850done
851
852cat << 'EOF'
853You must install vboxdrv kernel modules for this software to work:
854 kernel*-virtualbox-host-%{version}-%{rel}@*
855
856On Guest Linux system you might want to install:
857 kernel*-virtualbox-guest-%{version}-%{rel}@*
858
859EOF
860
861%preun
862if [ "$1" = "0" ]; then
863 /sbin/chkconfig --del vboxautostart
864 %service vboxautostart -q stop
865fi
866
867
868%postun
869if [ "$1" = "0" ]; then
870 %groupremove vbox
871fi
872
873%post gui
874%update_desktop_database
875%update_icon_cache hicolor
876%update_mime_database
877
878%postun gui
879%update_desktop_database
880%update_icon_cache hicolor
881%update_mime_database
882
883%pre guest
884%useradd -u 336 -d /usr/share/empty -s /bin/false -c "VirtualBox guest additions" -g nobody vboxadd
885# Add a group "vboxsf" for Shared Folders access
886# All users which want to access the auto-mounted Shared Folders have to be added to this group.
887%groupadd -g 266 -r -f vboxsf
888
889%post guest
890/sbin/chkconfig --add vboxservice
891%service vboxservice restart
892%systemd_post vboxservice.service vboxclient-vmsvga.service
893
894%preun guest
895if [ "$1" = "0" ]; then
896 /sbin/chkconfig --del vboxservice
897 %service vboxservice -q stop
898fi
899%systemd_preun vboxservice.service vboxclient-vmsvga.service
900
901%postun guest
902if [ "$1" = "0" ]; then
903 %userremove vboxadd
904 %groupremove vboxsf
905fi
906%systemd_reload
907
908%triggerpostun guest -- VirtualBox-guest < 4.3.0-1
909%systemd_trigger vboxservice.service
910
911%pre -n lightdm-greeter-vbox
912%addusertogroup xdm vbox
913
914%post -n dkms-vboxguest
915dkms add -m vboxguest -v %{version}-%{rel} --rpm_safe_upgrade && \
916dkms build -m vboxguest -v %{version}-%{rel} --rpm_safe_upgrade && \
917dkms install -m vboxguest -v %{version}-%{rel} --rpm_safe_upgrade || :
918
919%preun -n dkms-vboxguest
920dkms remove -m vboxguest -v %{version}-%{rel} --rpm_safe_upgrade --all || :
921
922%post -n dkms-vboxhost
923dkms add -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade && \
924dkms build -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade && \
925dkms install -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade || :
926
927%preun -n dkms-vboxhost
928dkms remove -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade --all || :
929
930%if %{with userspace}
931%if %{with host}
932%files
933%defattr(644,root,root,755)
934%dir %attr(751,root,root) %{_sysconfdir}/vbox
935%dir %attr(770,root,vbox) %{_sysconfdir}/vbox/autostart
936%attr(640,root,vbox) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vbox/autostart.cfg
937%attr(754,root,root) /etc/rc.d/init.d/vboxautostart
938%attr(755,root,root) /sbin/mount.vdi
939%attr(755,root,root) %{_bindir}/VBoxAutostart
940%attr(755,root,root) %{_bindir}/VBoxBalloonCtrl
941%attr(755,root,root) %{_bindir}/VBoxDTrace
942%attr(755,root,root) %{_bindir}/VBoxHeadless
943%attr(755,root,root) %{_bindir}/VBoxManage
944%attr(755,root,root) %{_bindir}/VBoxVRDP
945%attr(755,root,root) %{_bindir}/vbox-img
946%dir %{_libdir}/%{pname}
947# libraries
948%attr(755,root,root) %{_libdir}/%{pname}/DbgPlugInDiggers.so
949%attr(755,root,root) %{_libdir}/%{pname}/VBoxAuth.so
950%attr(755,root,root) %{_libdir}/%{pname}/VBoxAuthSimple.so
951%attr(755,root,root) %{_libdir}/%{pname}/VBoxDD.so
952%attr(755,root,root) %{_libdir}/%{pname}/VBoxDD2.so
953%attr(755,root,root) %{_libdir}/%{pname}/VBoxDDU.so
954%attr(755,root,root) %{_libdir}/%{pname}/VBoxDxVk.so
955%attr(755,root,root) %{_libdir}/%{pname}/VBoxDragAndDropSvc.so
956%attr(755,root,root) %{_libdir}/%{pname}/VBoxGuestControlSvc.so
957%attr(755,root,root) %{_libdir}/%{pname}/VBoxGuestPropSvc.so
958%attr(755,root,root) %{_libdir}/%{pname}/VBoxHostChannel.so
959%attr(755,root,root) %{_libdir}/%{pname}/VBoxKeyboard.so
960%attr(755,root,root) %{_libdir}/%{pname}/VBoxPython*.so
961%attr(755,root,root) %{_libdir}/%{pname}/VBoxRT.so
962%attr(755,root,root) %{_libdir}/%{pname}/VBoxSVGA3D.so
963%attr(755,root,root) %{_libdir}/%{pname}/VBoxSharedClipboard.so
964%attr(755,root,root) %{_libdir}/%{pname}/VBoxSharedFolders.so
965%attr(755,root,root) %{_libdir}/%{pname}/VBoxVMM.so
966%attr(755,root,root) %{_libdir}/%{pname}/VBoxXPCOM.so
967%attr(755,root,root) %{_libdir}/%{pname}/VBoxXPCOMC.so
968%ifarch %{ix86}
969%attr(755,root,root) %{_libdir}/%{pname}/VBoxREM32.so
970%attr(755,root,root) %{_libdir}/%{pname}/VBoxREM64.so
971%endif
972
973# binaries
974%attr(755,root,root) %{_libdir}/%{pname}/VBox.sh
975%attr(755,root,root) %{_libdir}/%{pname}/VBoxAudioTest
976%attr(755,root,root) %{_libdir}/%{pname}/VBoxAutostart
977%attr(755,root,root) %{_libdir}/%{pname}/VBoxBalloonCtrl
978%attr(755,root,root) %{_libdir}/%{pname}/VBoxDTrace
979%attr(755,root,root) %{_libdir}/%{pname}/VBoxExtPackHelperApp
980%attr(755,root,root) %{_libdir}/%{pname}/VBoxHeadless
981%attr(755,root,root) %{_libdir}/%{pname}/VBoxManage
982%attr(755,root,root) %{_libdir}/%{pname}/VBoxNetAdpCtl
983%attr(755,root,root) %{_libdir}/%{pname}/VBoxNetDHCP
984%attr(755,root,root) %{_libdir}/%{pname}/VBoxNetNAT
985%attr(755,root,root) %{_libdir}/%{pname}/VBoxSVC
986%attr(755,root,root) %{_libdir}/%{pname}/VBoxVMMPreload
987%attr(755,root,root) %{_libdir}/%{pname}/VBoxVolInfo
988%attr(755,root,root) %{_libdir}/%{pname}/VBoxXPCOMIPCD
989%attr(755,root,root) %{_libdir}/%{pname}/VirtualBoxVM
990%attr(755,root,root) %{_libdir}/%{pname}/bldRTLdrCheckImports
991%attr(755,root,root) %{_libdir}/%{pname}/iPxeBaseBin
992%attr(755,root,root) %{_libdir}/%{pname}/vboximg-mount
993%dir %{_libdir}/%{pname}/tools
994%attr(755,root,root) %{_libdir}/%{pname}/tools/LnxPerfHack
995%attr(755,root,root) %{_libdir}/%{pname}/tools/RTCat
996%attr(755,root,root) %{_libdir}/%{pname}/tools/RTChMod
997%attr(755,root,root) %{_libdir}/%{pname}/tools/RTCp
998%attr(755,root,root) %{_libdir}/%{pname}/tools/RTDbgSymCache
999%attr(755,root,root) %{_libdir}/%{pname}/tools/RTEfiFatExtract
1000%attr(755,root,root) %{_libdir}/%{pname}/tools/RTEfiSigDb
1001%attr(755,root,root) %{_libdir}/%{pname}/tools/RTFuzzClient
1002%attr(755,root,root) %{_libdir}/%{pname}/tools/RTFuzzMaster
1003%attr(755,root,root) %{_libdir}/%{pname}/tools/RTFtpServer
1004%attr(755,root,root) %{_libdir}/%{pname}/tools/RTGzip
1005%attr(755,root,root) %{_libdir}/%{pname}/tools/RTHttp
1006%attr(755,root,root) %{_libdir}/%{pname}/tools/RTHttpServer
1007%attr(755,root,root) %{_libdir}/%{pname}/tools/RTIsoMaker
1008%attr(755,root,root) %{_libdir}/%{pname}/tools/RTKrnlModInfo
1009%attr(755,root,root) %{_libdir}/%{pname}/tools/RTLdrCheckImports
1010%attr(755,root,root) %{_libdir}/%{pname}/tools/RTLdrFlt
1011%attr(755,root,root) %{_libdir}/%{pname}/tools/RTLs
1012%attr(755,root,root) %{_libdir}/%{pname}/tools/RTManifest
1013%attr(755,root,root) %{_libdir}/%{pname}/tools/RTMkDir
1014%attr(755,root,root) %{_libdir}/%{pname}/tools/RTRm
1015%attr(755,root,root) %{_libdir}/%{pname}/tools/RTRmDir
1016%attr(755,root,root) %{_libdir}/%{pname}/tools/RTShutdown
1017%attr(755,root,root) %{_libdir}/%{pname}/tools/RTSignTool
1018%attr(755,root,root) %{_libdir}/%{pname}/tools/RTTar
1019%attr(755,root,root) %{_libdir}/%{pname}/tools/RTTraceLogTool
1020%attr(755,root,root) %{_libdir}/%{pname}/tools/RTUnzip
1021%attr(755,root,root) %{_libdir}/%{pname}/tools/scm
1022
1023%dir %{_libdir}/%{pname}/ExtensionPacks
1024%{_libdir}/%{pname}/ExtensionPacks/VNC/ExtPack.xml
1025%dir %{_libdir}/%{pname}/ExtensionPacks/VNC
1026%dir %{_libdir}/%{pname}/ExtensionPacks/VNC/linux*
1027%attr(755,root,root) %{_libdir}/%{pname}/ExtensionPacks/VNC/linux*/VBoxVNC*.so
1028%dir %{_libdir}/%{pname}/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack
1029%{_libdir}/%{pname}/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/ExtPack.xml
1030%dir %{_libdir}/%{pname}/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux*
1031%attr(755,root,root) %{_libdir}/%{pname}/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux*/VBoxDTrace*.so
1032%{_libdir}/%{pname}/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux*/VBoxDTraceR0.debug
1033%{_libdir}/%{pname}/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux*/VBoxDTraceR0.r0
1034
1035%{_libdir}/%{pname}/VBoxBugReport
1036%{_libdir}/%{pname}/VBoxCpuReport
1037%{_libdir}/%{pname}/VBoxDDR0.debug
1038%{_libdir}/%{pname}/VBoxDDR0.r0
1039%{_libdir}/%{pname}/VBoxEFI32.fd
1040%{_libdir}/%{pname}/VBoxEFI64.fd
1041%{_libdir}/%{pname}/VMMR0.debug
1042%{_libdir}/%{pname}/VMMR0.r0
1043
1044%dir %{_libdir}/%{pname}/components
1045%{_libdir}/%{pname}/components/VBoxXPCOMBase.xpt
1046%{_libdir}/%{pname}/components/VirtualBox_XPCOM.xpt
1047%attr(755,root,root) %{_libdir}/%{pname}/components/VBoxC.so
1048%attr(755,root,root) %{_libdir}/%{pname}/components/VBoxSVCM.so
1049%attr(755,root,root) %{_libdir}/%{pname}/components/VBoxXPCOMIPCC.so
1050%attr(755,root,root) %{_libdir}/%{pname}/VBoxSysInfo.sh
1051
1052%{_libdir}/%{pname}/UnattendedTemplates
1053
1054%dir %{_datadir}/%{pname}
1055
1056%config(noreplace) %verify(not md5 mtime size) /etc/udev/rules.d/60-vboxdrv.rules
1057%attr(755,root,root) /lib/udev/VBoxCreateUSBNode.sh
1058
1059%if %{with gui}
1060%files gui
1061%defattr(644,root,root,755)
1062%attr(755,root,root) %{_bindir}/VirtualBox
1063%attr(755,root,root) %{_libdir}/%{pname}/UICommon.so
1064%attr(755,root,root) %{_libdir}/%{pname}/VBoxDbg.so
1065%attr(755,root,root) %{_libdir}/%{pname}/VBoxTestOGL
1066%attr(755,root,root) %{_libdir}/%{pname}/VirtualBox
1067%dir %{_datadir}/%{pname}/nls
1068%lang(bg) %{_datadir}/%{pname}/nls/*_bg.qm
1069%lang(ca) %{_datadir}/%{pname}/nls/*_ca.qm
1070%lang(ca_VA) %{_datadir}/%{pname}/nls/*_ca_VA.qm
1071%lang(cs) %{_datadir}/%{pname}/nls/*_cs.qm
1072%lang(da) %{_datadir}/%{pname}/nls/*_da.qm
1073%lang(de) %{_datadir}/%{pname}/nls/*_de.qm
1074%lang(en) %{_datadir}/%{pname}/nls/*_el.qm
1075%lang(en) %{_datadir}/%{pname}/nls/*_en.qm
1076%lang(es) %{_datadir}/%{pname}/nls/*_es.qm
1077%lang(eu) %{_datadir}/%{pname}/nls/*_eu.qm
1078%lang(fa) %{_datadir}/%{pname}/nls/*_fa.qm
1079%lang(fi) %{_datadir}/%{pname}/nls/*_fi.qm
1080%lang(fr) %{_datadir}/%{pname}/nls/*_fr.qm
1081%lang(gl) %{_datadir}/%{pname}/nls/*_gl.qm
1082%lang(he) %{_datadir}/%{pname}/nls/*_he.qm
1083%lang(hr) %{_datadir}/%{pname}/nls/*_hr_HR.qm
1084%lang(hu) %{_datadir}/%{pname}/nls/*_hu.qm
1085%lang(id) %{_datadir}/%{pname}/nls/*_id.qm
1086%lang(it) %{_datadir}/%{pname}/nls/*_it.qm
1087%lang(ja) %{_datadir}/%{pname}/nls/*_ja.qm
1088%lang(ka) %{_datadir}/%{pname}/nls/*_ka.qm
1089%lang(km_KH) %{_datadir}/%{pname}/nls/*_km_KH.qm
1090%lang(ko) %{_datadir}/%{pname}/nls/*_ko.qm
1091%lang(lt) %{_datadir}/%{pname}/nls/*_lt.qm
1092%lang(nl) %{_datadir}/%{pname}/nls/*_nl.qm
1093%lang(pl) %{_datadir}/%{pname}/nls/*_pl.qm
1094%lang(pt) %{_datadir}/%{pname}/nls/*_pt.qm
1095%lang(pt_BR) %{_datadir}/%{pname}/nls/*_pt_BR.qm
1096%lang(ro) %{_datadir}/%{pname}/nls/*_ro.qm
1097%lang(ru) %{_datadir}/%{pname}/nls/*_ru.qm
1098%lang(sk) %{_datadir}/%{pname}/nls/*_sk.qm
1099%lang(sk) %{_datadir}/%{pname}/nls/*_sl.qm
1100%lang(sr) %{_datadir}/%{pname}/nls/*_sr.qm
1101%lang(sv) %{_datadir}/%{pname}/nls/*_sv.qm
1102%lang(th) %{_datadir}/%{pname}/nls/*_th.qm
1103%lang(tr) %{_datadir}/%{pname}/nls/*_tr.qm
1104%lang(uk) %{_datadir}/%{pname}/nls/*_uk.qm
1105%lang(zh_CN) %{_datadir}/%{pname}/nls/*_zh_CN.qm
1106%lang(zh_TW) %{_datadir}/%{pname}/nls/*_zh_TW.qm
1107%{_desktopdir}/virtualbox.desktop
1108%{_pixmapsdir}/virtualbox.png
1109%{_iconsdir}/hicolor/*/apps/virtualbox.png
1110%{_iconsdir}/hicolor/*/apps/virtualbox.svg
1111%{_iconsdir}/hicolor/*/mimetypes/virtualbox-*.png
1112%{_datadir}/mime/packages/virtualbox.xml
1113%endif
1114
1115%files additions
1116%defattr(644,root,root,755)
1117%{_datadir}/%{pname}/VBoxGuestAdditions.iso
1118
1119%if %{with webservice}
1120%files webservice
1121%defattr(644,root,root,755)
1122%attr(755,root,root) %{_bindir}/vboxwebsrv
1123%attr(755,root,root) %{_libdir}/%{pname}/vboxwebsrv
1124%attr(755,root,root) %{_libdir}/%{pname}/webtest
1125%endif
1126
1127%if %{with doc}
1128%files doc
1129%defattr(644,root,root,755)
1130%doc %{_libdir}/%{pname}/UserManual.qch
1131%doc %{_libdir}/%{pname}/UserManual.qhc
1132# this is a symlink...
1133%doc %{_libdir}/%{pname}/UserManual.pdf
1134%if %{with all_langs}
1135%lang(fr) %doc %{_libdir}/%{pname}/UserManual_fr_FR.pdf
1136%endif
1137# ..to this file
1138%doc %{outdir}/UserManual.pdf
1139%if %{with all_langs}
1140%lang(fr) %doc %{outdir}/UserManual_fr_FR.pdf
1141%endif
1142%endif
1143%endif
1144
1145%files guest
1146%defattr(644,root,root,755)
1147%attr(755,root,root) /sbin/mount.vboxsf
1148%attr(754,root,root) /etc/rc.d/init.d/vboxservice
1149%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/vboxservice
1150%{systemdunitdir}/vboxservice.service
1151%{systemdunitdir}/vboxclient-vmsvga.service
1152%attr(755,root,root) %{_bindir}/VBoxAudioTest
1153%attr(755,root,root) %{_bindir}/VBoxControl
1154%attr(755,root,root) %{_bindir}/VBoxService
1155%config(noreplace) %verify(not md5 mtime size) /etc/udev/rules.d/60-vboxguest.rules
1156
1157%files guest-x11
1158%defattr(644,root,root,755)
1159/etc/xdg/autostart/vboxclient.desktop
1160%attr(755,root,root) %{_bindir}/VBoxClient
1161%attr(755,root,root) %{_bindir}/VBoxClient-all
1162%attr(755,root,root) %{_bindir}/VBoxDRMClient
1163
1164%if %{with lightdm}
1165%files -n lightdm-greeter-vbox
1166%defattr(644,root,root,755)
1167%attr(755,root,root) %{_sbindir}/vbox-greeter
1168%{_datadir}/xgreeters/vbox-greeter.desktop
1169%endif
1170
1171%files -n pam-pam_vbox
1172%defattr(644,root,root,755)
1173%attr(755,root,root) /%{_lib}/security/pam_vbox.so
1174
1175%if %{with dkms}
1176%files -n dkms-vboxguest
1177%defattr(644,root,root,755)
1178%{_usrsrc}/vboxguest-%{version}-%{rel}
1179
1180%if %{with host}
1181%files -n dkms-vboxhost
1182%defattr(644,root,root,755)
1183%{_usrsrc}/vboxhost-%{version}-%{rel}
1184%endif
1185%endif
1186%endif
This page took 0.087483 seconds and 5 git commands to generate.