2 # - https://www.virtualbox.org/wiki/Linux%20build%20instructions
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
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
25 %if 0%{?_pld_builder:1} && %{with kernel} && %{with userspace}
26 %{error:kernel and userspace cannot be built at the same time on PLD builders}
31 %define _duplicate_files_terminate_build 0
34 %if %{without userspace}
35 # nothing to be placed to debuginfo package
36 %undefine with_debuginfo
39 %if %{without debuginfo}
40 %define _enable_debug_packages 0
46 %define pname VirtualBox
48 Summary: VirtualBox - x86 hardware virtualizer
49 Summary(pl.UTF-8): VirtualBox - wirtualizator sprzętu x86
50 Name: %{pname}%{ver_suffix}%{?_pld_builder:%{?with_kernel:-kernel}}%{_alt_kernel}
52 Release: %{rel}%{?_pld_builder:%{?with_kernel:@%{_kernel_ver_str}}}
54 Group: Applications/Emulators
55 Source0: http://download.virtualbox.org/virtualbox/%{version}/%{pname}-%{version}.tar.bz2
56 # Source0-md5: 4e84cd1aecb67e3f59b3ee06292bb2d0
57 Source1: http://download.virtualbox.org/virtualbox/%{version}/VBoxGuestAdditions_%{version}.iso
58 # Source1-md5: e97c15595392a7c918ae119bc85211c0
59 Source2: vboxservice.init
60 Source3: vboxservice.service
61 Source4: vboxservice.sysconfig
64 Source7: %{pname}-virtualbox-host-modules-load.conf
65 Source8: %{pname}-virtualbox-guest-modules-load.conf
66 Source9: vboxautostart.init
67 Source10: autostart.cfg
68 Source11: vboxclient-vmsvga.service
69 Patch0: %{pname}-version-error.patch
70 Patch1: %{pname}-VBoxSysInfo.patch
71 Patch2: %{pname}-warning_workaround.patch
72 Patch3: %{pname}-dri.patch
74 Patch5: xserver-1.12.patch
75 Patch6: hardening-shared.patch
76 Patch7: lightdm-greeter-makefile.patch
77 Patch8: lightdm-greeter-g++-link.patch
78 Patch9: pld-guest.patch
79 Patch10: 16-no-update.patch
80 Patch11: %{pname}-all-translations.patch
82 Patch13: %{pname}-no-scrextend.patch
83 Patch14: %{pname}-multipython.patch
84 Patch15: %{pname}-lightdm-1.19.2.patch
85 Patch16: %{pname}-no-vboxvideo.patch
86 Patch17: kernel-4.4.169.patch
87 Patch18: %{pname}-kerndir.patch
88 URL: http://www.virtualbox.org/
91 BuildRequires: gcc-multilib-32
92 BuildRequires: glibc-devel(i686)
93 BuildRequires: libstdc++-multilib-32-devel
94 BuildRequires: libstdc++-multilib-32-static
96 %if "%{pld_release}" == "ac"
97 BuildRequires: XFree86-devel
99 BuildRequires: xorg-lib-libX11-devel
100 BuildRequires: xorg-lib-libXcomposite-devel
101 BuildRequires: xorg-lib-libXcursor-devel
102 BuildRequires: xorg-lib-libXdamage-devel
103 BuildRequires: xorg-lib-libXext-devel
104 BuildRequires: xorg-lib-libXinerama-devel
105 BuildRequires: xorg-lib-libXmu-devel
106 BuildRequires: xorg-lib-libXrandr-devel
107 BuildRequires: xorg-proto-glproto-devel
108 BuildRequires: xorg-xserver-server-devel
110 BuildRequires: EGL-devel
111 BuildRequires: OpenGL-GLU-devel
112 BuildRequires: OpenGL-devel
113 BuildRequires: Qt5Core-devel >= %{qtver}
114 BuildRequires: Qt5DBus-devel >= %{qtver}
115 BuildRequires: Qt5Gui-devel >= %{qtver}
116 BuildRequires: Qt5Network-devel >= %{qtver}
117 BuildRequires: Qt5OpenGL-devel >= %{qtver}
118 BuildRequires: Qt5PrintSupport-devel >= %{qtver}
119 BuildRequires: Qt5Widgets-devel >= %{qtver}
120 BuildRequires: Qt5X11Extras-devel >= %{qtver}
121 BuildRequires: Qt5Xml-devel >= %{qtver}
122 BuildRequires: SDL-devel >= 1.2.7
123 BuildRequires: acpica
124 BuildRequires: alsa-lib-devel >= 1.0.6
128 BuildRequires: curl-devel >= 7.19.1
129 BuildRequires: device-mapper-devel >= 1.02
130 %{?with_doc:BuildRequires: docbook-dtd44-xml}
131 BuildRequires: fakeroot
132 %{?with_lightdm:BuildRequires: fltk-devel}
133 BuildRequires: gcc >= 5:3.2.3
134 %{?with_webservice:BuildRequires: gsoap-devel}
136 BuildRequires: kBuild >= 0.1.9998.3093
137 BuildRequires: libIDL-devel
138 BuildRequires: libcap-static
139 BuildRequires: libdrm-devel
140 BuildRequires: libpng-devel >= 1.2.5
141 BuildRequires: libstdc++-devel >= 5:3.2.3
142 BuildRequires: libstdc++-static >= 5:3.2.3
143 BuildRequires: libuuid-devel
144 BuildRequires: libvncserver-devel >= 0.9.9
145 BuildRequires: libvpx-devel >= 0.9.5
146 BuildRequires: libxml2-devel >= 2.6.26
147 BuildRequires: libxslt-devel >= 1.1.17
148 BuildRequires: libxslt-progs >= 1.1.17
149 %{?with_lightdm:BuildRequires: lightdm-libs-qt5-devel}
150 BuildRequires: makeself
151 BuildRequires: mkisofs
152 BuildRequires: openssl-devel >= 1.0.1
153 BuildRequires: pam-devel
154 BuildRequires: pixman-devel
155 BuildRequires: pkgconfig
156 BuildRequires: pulseaudio-devel >= 0.9.0
157 BuildRequires: python-devel >= 2.3
158 BuildRequires: python-modules
159 BuildRequires: qt5-build
160 BuildRequires: qt5-linguist
161 BuildRequires: rpmbuild(macros) >= 1.715
162 BuildRequires: sed >= 4.0
164 BuildRequires: texlive-fonts-bitstream
165 BuildRequires: texlive-fonts-other
166 BuildRequires: texlive-fonts-type1-bitstream
167 BuildRequires: texlive-format-pdflatex
168 BuildRequires: texlive-latex-ucs
169 BuildRequires: texlive-xetex
172 BuildRequires: xalan-c-devel >= 1.10.0
173 BuildRequires: xerces-c-devel >= 2.6.0
174 BuildRequires: yasm >= 0.5.1
175 BuildRequires: zlib-devel >= 1.2.1
177 %{?with_kernel:%{expand:%buildrequires_kernel kernel%%{_alt_kernel}-module-build >= 3:2.6.20.2}}
178 Requires(post,preun): /sbin/chkconfig
179 Requires(postun): /usr/sbin/groupdel
180 Requires(pre): /usr/bin/getgid
181 Requires(pre): /usr/sbin/groupadd
182 Requires: libvncserver >= 0.9.9
184 Provides: group(vbox)
185 Obsoletes: %{pname}-udev < 4.2.10-5
186 Obsoletes: %{pname} < 6.0.0
187 Conflicts: %{pname} >= 6.0.0
188 ExclusiveArch: %{ix86} %{x8664} %{?with_kernel:x32}
189 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
192 %define vbox_arch amd64
194 %define vbox_arch x86
196 %define vbox_platform linux.%{vbox_arch}
197 %define outdir out/%{vbox_platform}/release/bin
198 %define objdir out/%{vbox_platform}/release/obj
200 %define filterout -Werror=format-security
203 Oracle VirtualBox is a general-purpose full virtualizer for x86
204 hardware. Targeted at server, desktop and embedded use, it is now the
205 only professional-quality virtualization solution that is also Open
208 Some of the features of VirtualBox are:
210 Modularity: VirtualBox has an extremely modular design with
211 well-defined internal programming interfaces and a client/server
212 design. This makes it easy to control it from several interfaces at
213 once: for example, you can start a virtual machine in a typical
214 virtual machine GUI and then control that machine from the command
215 line. VirtualBox also comes with a full Software Development Kit: even
216 though it is Open Source Software, you don't have to hack the source
217 to write a new interface for VirtualBox.
219 Virtual machine descriptions in XML: the configuration settings of
220 virtual machines are stored entirely in XML and are independent of the
221 local machines. Virtual machine definitions can therefore easily be
222 ported to other computers.
224 You should install this package in your Host OS.
226 %description -l pl.UTF-8
227 Oracle VirtualBox jest emulatorem sprzętu x86. Kierowany do zastosowań
228 serwerowych, desktopowych oraz wbudowanych jest obecnie jedynym
229 wysokiej jakości rozwiązaniem wirtualizacyjnym dostępnym również jako
230 Otwarte Oprogramowanie.
232 Przykładowe cechy VirtualBoksa:
234 Modularność: VirtualBox jest wysoce zmodularyzowanym produktem z
235 dobrze zaprojektowanym wewnętrznym interfejsem programowym typu
236 klient/serwer. Dzięki temu można łatwo kontrolować go za pomocą
237 różnych interfejsów. Można na przykład uruchomić maszynę wirtualną z
238 poziomu interfejsu graficznego, a później kontrolować ją z linii
239 poleceń. VirtualBox dostarcza również pełny pakiet deweloperski, co
240 pozwala stworzyć dowolny inny interfejs zarządzania maszyną wirtualną.
242 Opisy maszyn wirtualnych w XML-u: konfiguracje poszczególnych maszyn
243 wirtualnych są w całości przechowywane w XML-u i są niezależne od
244 lokalnej maszyny. Dzięki temu można szybko i łatwo przenieść
245 konfigurację maszyny wirtualnej na inny komputer.
248 Summary: Qt GUI part for VirtualBox
249 Group: X11/Applications
250 Requires: %{name} = %{version}-%{release}
251 Requires: Qt5Core >= %{qtver}
252 Requires: Qt5Gui-platform-xcb >= %{qtver}
253 Requires: desktop-file-utils
254 Requires: desktop-file-utils
256 Requires: fonts-Type1-urw
257 Requires: gtk-update-icon-cache
258 Requires: hicolor-icon-theme
259 Requires: shared-mime-info
260 Suggests: Qt5Gui-platform-xcb-glx >= %{qtver}
261 Suggests: Qt5Gui-platform-xcb-egl >= %{qtver}
263 Obsoletes: %{pname} < 6.0.0
264 Conflicts: %{pname} >= 6.0.0
268 Qt GUI part for VirtualBox.
271 Summary: VirtualBox documentation
273 Obsoletes: %{pname}-doc < 6.0.0
274 Conflicts: %{pname}-doc >= 6.0.0
277 This package contains VirtualBox User Manual.
280 Summary: VirtualBox Guest Additions
282 Obsoletes: %{pname}-additions < 6.0.0
283 Conflicts: %{pname}-additions >= 6.0.0
284 Requires: %{name} = %{version}
285 %if "%{_rpmversion}" >= "5"
289 %description additions
290 VirtualBox Guest Additions.
292 This package contains ISO9660 image with drivers for Guest OS.
294 You should install this package in your Host OS.
297 Summary: VirtualBox Guest tools
299 Provides: group(vboxsf)
300 Requires(post): systemd-units >= 38
301 Requires(post,preun): /sbin/chkconfig
302 Requires(postun): /usr/sbin/groupdel
303 Requires(pre): /usr/bin/getgid
304 Requires(pre): /usr/sbin/groupadd
306 Obsoletes: %{pname}-guest < 6.0.0
307 Conflicts: %{pname}-guest >= 6.0.0
308 Requires: systemd-units >= 38
309 Suggests: kernel(vboxguest)
310 Suggests: kernel(vboxsf)
311 Suggests: pam-pam_vbox
314 Tools that utilize kernel modules for supporting integration with the
315 Host, including file sharing.
317 You should install this package in your Guest OS for base VirtualBox
321 Summary: VirtualBox Guest X11 Additions
322 Group: X11/Applications
323 Requires: %{name}-guest = %{version}-%{release}
324 Requires: xorg-app-xrandr
325 Requires: xorg-driver-video-vboxvideo = %{version}-%{release}
326 Requires: kernel(vboxvideo)
327 Obsoletes: xorg-driver-input-vboxmouse < %{version}-%{release}
328 Obsoletes: %{pname}-guest-x11 < 6.0.0
329 Conflicts: %{pname}-guest-x11 >= 6.0.0
331 %description guest-x11
332 Tools for X11 session that utilize kernel modules for supporting
333 integration with the Host, like tracking of mouse pointer movement and
334 X.org X11 video and mouse drivers
336 You should install this package in your Guest OS for X11 session.
339 Summary: VirtualBox Web Service
340 Group: Applications/Emulators
341 Requires: %{name} = %{version}-%{release}
343 %description webservice
344 This package contains VirtualBox web service API daemon. It allows to
345 control virtual machines via web interface.
347 %package -n lightdm-greeter-vbox%{ver_suffix}
348 Summary: VirtualBox greeter for lightdm
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
352 URL: http://www.virtualbox.org/manual/ch09.html#autologon_unix_lightdm
353 Requires: %{name} = %{version}-%{release}
354 Requires: kernel(vboxguest)
355 Requires: lightdm >= 1.0.1
356 Requires: pam-pam_vbox%{ver_suffix} = %{version}-%{release}
357 Conflicts: lightdm-greeter-vbox >= 6.0.0
358 Obsoletes: lightdm-greeter-vbox < 6.0.0
359 Provides: lightdm-greeter
361 %description -n lightdm-greeter-vbox%{ver_suffix}
362 VirtualBox greeter for LightDM.
364 %package -n pam-pam_vbox%{ver_suffix}
365 Summary: PAM module to perform automated guest logons
367 Conflicts: pam-pam_vbox >= 6.0.0
368 Obsoletes: pam-pam_vbox < 6.0.0
370 %description -n pam-pam_vbox%{ver_suffix}
371 PAM module (Pluggable Authentication Module) which can be used to
372 perform automated guest logons.
374 %package -n xorg-driver-video-vboxvideo%{ver_suffix}
375 Summary: X.org video driver for VirtualBox guest OS
376 Summary(pl.UTF-8): Sterownik grafiki dla systemu gościa w VirtualBoksie
377 Group: X11/Applications
378 Requires: Mesa-dri-driver-swrast
379 Requires: xorg-driver-video-modesetting
380 Requires: xorg-xserver-libdri >= 1.7.4
381 Requires: xorg-xserver-server >= 1.0.99.901
382 %{?requires_xorg_xserver_videodrv}
383 Conflicts: xorg-driver-video-vboxvideo >= 6.0.0
384 Obsoletes: xorg-driver-video-vboxvideo < 6.0.0
385 Provides: OpenGL = 2.1
386 Provides: OpenGL-GLX = 1.3
387 Provides: xorg-xserver-module(glx)
389 %description -n xorg-driver-video-vboxvideo%{ver_suffix}
390 X.org video driver for VirtualBox guest OS.
392 %description -n xorg-driver-video-vboxvideo%{ver_suffix} -l pl.UTF-8
393 Sterownik grafiki dla systemu gościa w VirtualBoksie.
395 %package -n dkms-vboxguest%{ver_suffix}
396 Summary: VirtualBox kernel modules source for Linux Guest
397 Summary(pl.UTF-8): Moduły VirtualBoksa do jądra Linuksa dla systemu gościa
401 Conflicts: dkms-vboxguest >= 6.0.0
402 Obsoletes: dkms-vboxhost < 6.0.0
403 %if "%{_rpmversion}" >= "5"
407 %description -n dkms-vboxguest%{ver_suffix}
408 This package contains DKMS-ready VirtualBox Guest Additions for Linux
409 Module, host file system access (Shared Folders) and DRM support for
412 %description -n dkms-vboxguest%{ver_suffix} -l pl.UTF-8
413 Ten pakiet zawiera moduł jądra Linuksa vboxguest dla VirtualBoksa -
414 dodatki dla systemu gościa, dostęp do plików systemu głównego z
415 poziomu systemu gościa i sterownik obsługi DRM.
417 %package -n dkms-vboxhost%{ver_suffix}
418 Summary: VirtualBox Support Drivers source
419 Summary(pl.UTF-8): Moduły jądra Linuksa dla VirtualBoksa
423 Conflicts: dkms-vboxhost >= 6.0.0
424 Obsoletes: dkms-vboxhost < 6.0.0
425 %if "%{_rpmversion}" >= "5"
429 %description -n dkms-vboxhost%{ver_suffix}
430 This package contains DKMS enabled sourcecode of VirtualBox Support
431 Driver, Network Adapter Driver, Network Filter Driver and PCI card
432 passthrough driver that works as host proxy between guest and PCI
435 %description -n dkms-vboxhost%{ver_suffix} -l pl.UTF-8
436 Ten pakiet zawiera sterownik wsparcia dla systemu głównego, sterownik
437 witrualnej karty sieciowej, sterownik filtrowania sieci dla systemu
438 głównego oraz sterownik, ktory działa jako proxy między gościem i
439 gospodarzem sprzętu PCI.
443 # KEEP ALL REGULAR SUBPACKAGES BEFORE KERNEL PACKAGES.
445 %define kernel_pkg()\
446 %package -n kernel%{_alt_kernel}-virtualbox%{ver_suffix}-guest\
447 Summary: VirtualBox kernel modules for Linux Guest\
448 Summary(pl.UTF-8): Moduły VirtualBoksa do jądra Linuksa dla systemu gościa\
449 Release: %{rel}@%{_kernel_ver_str}\
451 Requires(post,postun): /sbin/depmod\
452 Requires(post): systemd-units >= 38\
453 Requires: dev >= 2.9.0-7\
454 Requires: systemd-units >= 38\
455 %requires_releq_kernel\
456 Requires: %{releq_kernel -n drm}\
457 Requires(postun): %releq_kernel\
458 Provides: kernel(vboxguest) = %{version}-%{rel}\
459 Provides: kernel(vboxsf) = %{version}-%{rel}\
460 Provides: kernel(vboxvideo) = %{version}-%{rel}\
461 Obsoletes: kernel-init-guest\
462 Obsoletes: kernel%{_alt_kernel}-virtualbox%{ver_suffix}-guest < 6.0.0\
463 Conflicts: kernel%{_alt_kernel}-virtualbox%{ver_suffix}-guest >= 6.0.0\
464 Conflicts: kernel%{_alt_kernel}-virtualbox%{ver_suffix}-host\
466 %description -n kernel%{_alt_kernel}-virtualbox%{ver_suffix}-guest\
467 This package contains VirtualBox Guest Additions for Linux Module,\
468 host file system access (Shared Folders) and DRM support for\
471 %description -n kernel%{_alt_kernel}-virtualbox%{ver_suffix}-guest -l pl.UTF-8\
472 Ten pakiet zawiera moduł jądra Linuksa vboxguest dla VirtualBoksa -\
473 dodatki dla systemu gościa, dostęp do plików systemu głównego z\
474 poziomu systemu gościa i sterownik obsługi DRM.\
476 %package -n kernel%{_alt_kernel}-virtualbox%{ver_suffix}-host\
477 Summary: VirtualBox Support Drivers\
478 Summary(pl.UTF-8): Moduły jądra Linuksa dla VirtualBoksa\
479 Release: %{rel}@%{_kernel_ver_str}\
481 Requires(post,postun): /sbin/depmod\
482 Requires(post): systemd-units >= 38\
483 Requires: dev >= 2.9.0-7\
484 %requires_releq_kernel\
485 Requires(postun): %releq_kernel\
486 Requires: systemd-units >= 38\
487 Provides: kernel(vboxdrv) = %{version}-%{rel}\
488 Provides: kernel(vboxnetadp) = %{version}-%{rel}\
489 Provides: kernel(vboxnetflt) = %{version}-%{rel}\
490 Provides: kernel(vboxpci) = %{version}-%{rel}\
491 Obsoletes: kernel-init-host\
492 Obsoletes: kernel%{_alt_kernel}-virtualbox-host < 6.0.0\
493 Conflicts: kernel%{_alt_kernel}-virtualbox-host >= 6.0.0\
495 %description -n kernel%{_alt_kernel}-virtualbox%{ver_suffix}-host\
496 This package contains VirtualBox Support Driver, Network Adapter\
497 Driver, Network Filter Driver and PCI card passthrough driver that\
498 works as host proxy between guest and PCI hardware.\
500 %description -n kernel%{_alt_kernel}-virtualbox%{ver_suffix}-host -l pl.UTF-8\
501 Ten pakiet zawiera sterownik wsparcia dla systemu głównego, sterownik\
502 witrualnej karty sieciowej, sterownik filtrowania sieci dla systemu\
503 głównego oraz sterownik, ktory działa jako proxy między gościem i\
504 gospodarzem sprzętu PCI.\
507 %files -n kernel%{_alt_kernel}-virtualbox%{ver_suffix}-guest\
508 %defattr(644,root,root,755)\
509 %config(noreplace) %verify(not md5 mtime size) /etc/modules-load.d/virtualbox-guest.conf\
510 /lib/modules/%{_kernel_ver}/misc/vboxguest.ko*\
511 /lib/modules/%{_kernel_ver}/misc/vboxsf.ko*\
512 %if %{_kernel_version_code} < %{_kernel_version_magic 4 13 0}\
513 /lib/modules/%{_kernel_ver}/misc/vboxvideo.ko*\
516 %files -n kernel%{_alt_kernel}-virtualbox%{ver_suffix}-host\
517 %config(noreplace) %verify(not md5 mtime size) /etc/modules-load.d/virtualbox-host.conf\
518 /lib/modules/%{_kernel_ver}/misc/vboxdrv.ko*\
519 /lib/modules/%{_kernel_ver}/misc/vboxnetadp.ko*\
520 /lib/modules/%{_kernel_ver}/misc/vboxnetflt.ko*\
521 /lib/modules/%{_kernel_ver}/misc/vboxpci.ko*\
524 %post -n kernel%{_alt_kernel}-virtualbox%{ver_suffix}-guest\
525 %depmod %{_kernel_ver}\
527 %postun -n kernel%{_alt_kernel}-virtualbox%{ver_suffix}-guest\
528 %depmod %{_kernel_ver}\
530 %post -n kernel%{_alt_kernel}-virtualbox%{ver_suffix}-host\
531 %depmod %{_kernel_ver}\
533 %postun -n kernel%{_alt_kernel}-virtualbox%{ver_suffix}-host\
534 %depmod %{_kernel_ver}\
537 %define build_kernel_pkg()\
538 export KERN_DIR=%{_kernelsrcdir}\
539 cd PLD-MODULE-BUILD/HostDrivers\
540 %build_kernel_modules -m vboxdrv -C vboxdrv\
541 %build_kernel_modules -m vboxnetadp -C vboxnetadp\
542 %build_kernel_modules -m vboxnetflt -C vboxnetflt\
543 %build_kernel_modules -m vboxpci -C vboxpci\
545 %build_kernel_modules -m vboxguest -C vboxguest\
546 cp -a vboxguest/Module.symvers vboxsf\
547 %build_kernel_modules -m vboxsf -C vboxsf -c\
548 %if %{_kernel_version_code} < %{_kernel_version_magic 4 13 0}\
549 %build_kernel_modules -m vboxvideo -C vboxvideo\
552 %install_kernel_modules -D PLD-MODULE-BUILD/installed -m PLD-MODULE-BUILD/HostDrivers/vboxdrv/vboxdrv,PLD-MODULE-BUILD/HostDrivers/vboxnetadp/vboxnetadp,PLD-MODULE-BUILD/HostDrivers/vboxnetflt/vboxnetflt,PLD-MODULE-BUILD/HostDrivers/vboxpci/vboxpci,PLD-MODULE-BUILD/GuestDrivers/vboxsf/vboxsf -d misc\
553 %install_kernel_modules -D PLD-MODULE-BUILD/installed -m PLD-MODULE-BUILD/GuestDrivers/vboxguest/vboxguest -d misc\
554 %if %{_kernel_version_code} < %{_kernel_version_magic 4 13 0}\
555 %install_kernel_modules -D PLD-MODULE-BUILD/installed -m PLD-MODULE-BUILD/GuestDrivers/vboxvideo/vboxvideo -d misc\
559 %{?with_kernel:%{expand:%create_kernel_packages}}
562 %setup -q -n %{pname}-%{version}
574 %if %{with all_langs}
584 %{__sed} -i -e 's,@VBOX_DOC_PATH@,%{_docdir}/%{name}-%{version},' \
585 -e 's/Categories=.*/Categories=Utility;Emulator;/' src/VBox/Installer/common/virtualbox.desktop.in
588 %{__sed} -i -e "s@_LDFLAGS\.%{vbox_arch}*.*=@& %{rpmldflags}@g" \
589 -i Config.kmk src/libs/xpcom18a4/Config.kmk
591 %{__sed} -i -e 's#@INSTALL_DIR@#%{_libdir}/%{pname}#' src/VBox/Installer/linux/VBox.sh
594 install -d PLD-MODULE-BUILD/{GuestDrivers,HostDrivers}
596 ../src/VBox/Additions/linux/export_modules.sh guest-modules.tar.gz
597 tar -zxf guest-modules.tar.gz -C GuestDrivers
599 ../src/VBox/HostDrivers/linux/export_modules.sh --file host-modules.tar.gz --without-hardening
600 tar -zxf host-modules.tar.gz -C HostDrivers
605 # using system kBuild package
608 # use linux icon for now
609 cp -p src/VBox/Frontends/VirtualBox/images/os_{linux26,pld}.png
610 cp -p src/VBox/Frontends/VirtualBox/images/os_{linux26,pld}_64.png
612 # don't force whole userspace to be built with -fPIC
613 # see https://www.virtualbox.org/pipermail/vbox-dev/2015-February/012863.html
614 %define filterout_c -fPIC
615 %define filterout_cxx -fPIC
617 cat <<'EOF'>> LocalConfig.kmk
618 %{?with_verbose:KBUILD_VERBOSE=3}
620 VBOX_BUILD_PUBLISHER=_PLD
621 VBOX_VERSION_STRING=$(VBOX_VERSION_MAJOR).$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD)_PLD
622 XSERVER_VERSION=%(rpm -q --queryformat '%{V}\n' xorg-xserver-server-devel | awk -F. '{ print $1 $2 }' 2>/dev/null || echo ERROR)
623 VBOX_USE_SYSTEM_XORG_HEADERS=1
624 VBOX_USE_SYSTEM_GL_HEADERS=1
626 VBOX_WITH_LIGHTDM_GREETER=1
627 VBOX_WITH_LIGHTDM_GREETER_PACKING=1
629 TOOL_GCC3_CFLAGS=%{rpmcflags}
630 TOOL_GCC3_CXXFLAGS=%{rpmcxxflags}
631 VBOX_GCC_OPT=%{rpmcxxflags}
633 VBOX_PATH_APP_PRIVATE_ARCH := %{_libdir}/%{pname}
634 VBOX_PATH_APP_PRIVATE := %{_datadir}/%{pname}
635 VBOX_PATH_SHARED_LIBS := $(VBOX_PATH_APP_PRIVATE_ARCH)
637 VBOX_WITH_RUNPATH := $(VBOX_PATH_APP_PRIVATE_ARCH)
638 #VBOX_PATH_APP_DOCS := %{_docdir}/%{pname}-doc-%{version}
639 VBOX_PATH_DOCBOOK_DTD := %{_datadir}/sgml/docbook/xml-dtd-4.4
641 # don't build testcases to save time, they are not needed for the package
642 VBOX_WITH_TESTCASES :=
643 VBOX_WITH_TESTSUITE :=
645 VBOX_WITH_VRDP_RDESKTOP=
646 VBOX_WITH_MULTIVERSION_PYTHON=0
649 %undefine filterout_c
650 %undefine filterout_cxx
653 %if %{with userspace}
655 --with-gcc="%{__cc}" \
656 --with-g++="%{__cxx}" \
657 %{!?with_doc:--disable-docs} \
659 --disable-hardening \
662 %{!?with_gui:--disable-qt} \
663 %{__enable webservice} \
670 %{?with_kernel:%{expand:%build_kernel_packages}}
673 rm -rf $RPM_BUILD_ROOT
675 %if %{with userspace}
676 install -d $RPM_BUILD_ROOT{%{_bindir},/sbin,%{_sbindir},%{_libdir}/%{pname}/ExtensionPacks} \
677 $RPM_BUILD_ROOT{%{_pixmapsdir},%{_desktopdir},%{_datadir}/mime/packages} \
678 $RPM_BUILD_ROOT/etc/sysconfig \
679 $RPM_BUILD_ROOT%{_sysconfdir}/vbox/autostart \
680 $RPM_BUILD_ROOT%{_libdir}/xorg/modules/{drivers,dri,input} \
681 $RPM_BUILD_ROOT{/lib/udev,/etc/udev/rules.d} \
682 $RPM_BUILD_ROOT{/etc/rc.d/init.d,%{systemdunitdir},%{_usrsrc}}
684 # test if we can hardlink -- %{_builddir} and $RPM_BUILD_ROOT on same partition
685 if cp -al COPYING $RPM_BUILD_ROOT/COPYING; then
687 %{__rm} $RPM_BUILD_ROOT/COPYING
690 install -d $RPM_BUILD_ROOT%{_datadir}/%{pname}
692 cp -a$l %{outdir}/* $RPM_BUILD_ROOT%{_libdir}/%{pname}
693 cp -p$l %{SOURCE1} $RPM_BUILD_ROOT%{_datadir}/%{pname}/VBoxGuestAdditions.iso ||
694 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_datadir}/%{pname}/VBoxGuestAdditions.iso
697 %{__rm} -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/icons
698 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/virtualbox.xml
702 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/VBoxOGL.so,%{_libdir}/xorg/modules/dri/vboxvideo_dri.so}
703 # XXX: where else to install them that vboxvideo_dri.so finds them? patch with rpath?
704 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxEGL.so
705 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLarrayspu.so
706 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLcrutil.so
707 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLerrorspu.so
708 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLfeedbackspu.so
709 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLpackspu.so
710 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLpassthroughspu.so
713 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxClient
714 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxControl
715 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxService
716 install -d $RPM_BUILD_ROOT/etc/xdg/autostart
717 cp -p src/VBox/Additions/x11/Installer/vboxclient.desktop \
718 $RPM_BUILD_ROOT/etc/xdg/autostart/vboxclient.desktop
719 install -p src/VBox/Additions/x11/Installer/98vboxadd-xclient $RPM_BUILD_ROOT%{_bindir}/VBoxClient-all
720 install -p %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxservice
721 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{systemdunitdir}/vboxservice.service
722 cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/vboxservice
724 cp -p %{SOURCE11} $RPM_BUILD_ROOT%{systemdunitdir}/vboxclient-vmsvga.service
726 install -p %{SOURCE9} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxautostart
727 %{__sed} -i -e 's#@INSTALL_DIR@#%{_libdir}/%{pname}#' $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxautostart
728 cp -p %{SOURCE10} $RPM_BUILD_ROOT%{_sysconfdir}/vbox
731 install -d $RPM_BUILD_ROOT%{_datadir}/xgreeters
732 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_sbindir}}/vbox-greeter
733 cp -p %{objdir}/Additions/Installer/linux/other/vbox-greeter.desktop $RPM_BUILD_ROOT%{_datadir}/xgreeters
737 mv $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/src $RPM_BUILD_ROOT%{_usrsrc}/vboxguest-%{version}-%{rel}
741 install -d $RPM_BUILD_ROOT/%{_lib}/security
742 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,/%{_lib}/security}/pam_vbox.so
745 %{__mv} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/mount.vboxsf $RPM_BUILD_ROOT/sbin/mount.vboxsf
748 install -p %{SOURCE5} $RPM_BUILD_ROOT/sbin/mount.vdi
750 # these belong to .iso
751 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/autorun.sh
752 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/runasroot.sh
756 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPInstall
757 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPLoggerCtl
758 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPUninstall
759 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/load.sh
760 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/loadall.sh
761 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxshell.py
762 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/xpidl
765 # manual installation steps based on src/VBox/Installer/linux/install.sh
766 ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/VirtualBox
767 ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/VBoxManage
768 ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/VBoxSDL
769 ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/VBoxVRDP
770 ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/VBoxHeadless
771 ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/VBoxBalloonCtrl
772 ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/VBoxAutostart
773 ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/vboxwebsrv
774 ln -sf %{_libdir}/%{pname}/vbox-img $RPM_BUILD_ROOT%{_bindir}/vbox-img
775 ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/VBoxDTrace
776 cp -p $RPM_BUILD_ROOT%{_libdir}/%{pname}/icons/128x128/virtualbox.png $RPM_BUILD_ROOT%{_pixmapsdir}/virtualbox.png
777 mv $RPM_BUILD_ROOT%{_libdir}/%{pname}/virtualbox.desktop $RPM_BUILD_ROOT%{_desktopdir}/virtualbox.desktop
778 mv $RPM_BUILD_ROOT%{_libdir}/%{pname}/virtualbox.xml $RPM_BUILD_ROOT%{_datadir}/mime/packages/virtualbox.xml
780 mv $RPM_BUILD_ROOT%{_libdir}/%{pname}/nls $RPM_BUILD_ROOT%{_datadir}/%{pname}
783 cd $RPM_BUILD_ROOT%{_libdir}/%{pname}/icons
787 if expr "$j" : "virtualbox\..*" > /dev/null; then
792 if [ ! -e $RPM_BUILD_ROOT%{_iconsdir}/hicolor/$i/$dst ]; then
793 install -d $RPM_BUILD_ROOT%{_iconsdir}/hicolor/$i/$dst
795 mv $RPM_BUILD_ROOT%{_libdir}/%{pname}/icons/$i/$j $RPM_BUILD_ROOT%{_iconsdir}/hicolor/$i/$dst/$j
801 rm -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/icons
803 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname},/lib/udev}/VBoxCreateUSBNode.sh
804 cp -p %{SOURCE6} $RPM_BUILD_ROOT/etc/udev/rules.d/60-vboxdrv.rules
807 mv $RPM_BUILD_ROOT%{_libdir}/%{pname}/src $RPM_BUILD_ROOT%{_usrsrc}/vboxhost-%{version}-%{rel}
811 %{__rm} -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/{sdk,testcase}
812 %{__rm} -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/dtrace
813 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxkeyboard.tar.bz2
814 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/tst*
815 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/scripts/generated.sh
816 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/ExtensionPacks/VNC/ExtPack-license.*
820 %{__rm} -r $RPM_BUILD_ROOT%{_iconsdir}/hicolor/40x40
823 # duplicate, we already have virtualbox.png (128x128), this is 32x32
824 %{__rm} -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/VBox.png
827 ln -sf %{_docdir}/%{pname}-doc-%{version}/UserManual.pdf $RPM_BUILD_ROOT%{_libdir}/%{pname}/UserManual.pdf
828 %if %{with all_langs}
829 ln -sf %{_docdir}/%{pname}-doc-%{version}/UserManual_fr_FR.pdf $RPM_BUILD_ROOT%{_libdir}/%{pname}/UserManual_fr_FR.pdf
835 install -d $RPM_BUILD_ROOT{/etc/modules-load.d,/sbin}
837 cp -a PLD-MODULE-BUILD/installed/* $RPM_BUILD_ROOT
839 # Tell systemd to load modules
840 cp -p %{SOURCE7} $RPM_BUILD_ROOT/etc/modules-load.d/virtualbox-host.conf
841 cp -p %{SOURCE8} $RPM_BUILD_ROOT/etc/modules-load.d/virtualbox-guest.conf
845 rm -rf $RPM_BUILD_ROOT
848 %groupadd -g 221 -r -f vbox
851 /sbin/chkconfig --add vboxautostart
852 %service -n vboxautostart restart
854 for i in /sys/bus/usb/devices/*; do
855 if [ -r "$i/dev" ]; then
856 dev="`cat "$i/dev" 2>/dev/null || true`"
857 major="`expr "$dev" : '\(.*\):' 2> /dev/null || true`"
858 minor="`expr "$dev" : '.*:\(.*\)' 2> /dev/null || true`"
859 class="`cat $i/bDeviceClass 2> /dev/null || true`"
860 /lib/udev/VBoxCreateUSBNode.sh "$major" "$minor" "$class" vbox 2>/dev/null
865 You must install vboxdrv kernel modules for this software to work:
866 kernel*-virtualbox-host-%{version}-%{rel}@*
868 On Guest Linux system you might want to install:
869 kernel*-virtualbox-guest-%{version}-%{rel}@*
874 if [ "$1" = "0" ]; then
875 /sbin/chkconfig --del vboxautostart
876 %service vboxautostart -q stop
881 if [ "$1" = "0" ]; then
886 %update_desktop_database
887 %update_icon_cache hicolor
888 %update_mime_database
891 %update_desktop_database
892 %update_icon_cache hicolor
893 %update_mime_database
896 # Add a group "vboxsf" for Shared Folders access
897 # All users which want to access the auto-mounted Shared Folders have to be added to this group.
898 %groupadd -g 266 -r -f vboxsf
901 /sbin/chkconfig --add vboxservice
902 %service vboxservice restart
903 %systemd_post vboxservice.service vboxclient-vmsvga.service
906 if [ "$1" = "0" ]; then
907 /sbin/chkconfig --del vboxservice
908 %service vboxservice -q stop
910 %systemd_preun vboxservice.service vboxclient-vmsvga.service
913 if [ "$1" = "0" ]; then
918 %triggerpostun guest -- VirtualBox-guest < 4.3.0-1
919 %systemd_trigger vboxservice.service
921 %pre -n lightdm-greeter-vbox%{ver_suffix}
922 %addusertogroup xdm vbox
924 %post -n dkms-vboxguest%{ver_suffix}
925 dkms add -m vboxguest -v %{version}-%{rel} --rpm_safe_upgrade && \
926 dkms build -m vboxguest -v %{version}-%{rel} --rpm_safe_upgrade && \
927 dkms install -m vboxguest -v %{version}-%{rel} --rpm_safe_upgrade || :
929 %preun -n dkms-vboxguest%{ver_suffix}
930 dkms remove -m vboxguest -v %{version}-%{rel} --rpm_safe_upgrade --all || :
932 %post -n dkms-vboxhost%{ver_suffix}
933 dkms add -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade && \
934 dkms build -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade && \
935 dkms install -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade || :
937 %preun -n dkms-vboxhost%{ver_suffix}
938 dkms remove -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade --all || :
940 %if %{with userspace}
942 %defattr(644,root,root,755)
943 %dir %attr(751,root,root) %{_sysconfdir}/vbox
944 %dir %attr(770,root,vbox) %{_sysconfdir}/vbox/autostart
945 %attr(640,root,vbox) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vbox/autostart.cfg
946 %attr(754,root,root) /etc/rc.d/init.d/vboxautostart
947 %attr(755,root,root) /sbin/mount.vdi
948 %attr(755,root,root) %{_bindir}/VBoxAutostart
949 %attr(755,root,root) %{_bindir}/VBoxBalloonCtrl
950 %attr(755,root,root) %{_bindir}/VBoxDTrace
951 %attr(755,root,root) %{_bindir}/VBoxHeadless
952 %attr(755,root,root) %{_bindir}/VBoxManage
953 %attr(755,root,root) %{_bindir}/VBoxSDL
954 %attr(755,root,root) %{_bindir}/VBoxVRDP
955 %attr(755,root,root) %{_bindir}/vbox-img
956 %dir %{_libdir}/%{pname}
958 %attr(755,root,root) %{_libdir}/%{pname}/DbgPlugInDiggers.so
959 %attr(755,root,root) %{_libdir}/%{pname}/VBoxAuth.so
960 %attr(755,root,root) %{_libdir}/%{pname}/VBoxAuthSimple.so
961 %attr(755,root,root) %{_libdir}/%{pname}/VBoxDD.so
962 %attr(755,root,root) %{_libdir}/%{pname}/VBoxDD2.so
963 %attr(755,root,root) %{_libdir}/%{pname}/VBoxDDU.so
964 %attr(755,root,root) %{_libdir}/%{pname}/VBoxDragAndDropSvc.so
965 %attr(755,root,root) %{_libdir}/%{pname}/VBoxGuestControlSvc.so
966 %attr(755,root,root) %{_libdir}/%{pname}/VBoxGuestPropSvc.so
967 %attr(755,root,root) %{_libdir}/%{pname}/VBoxHostChannel.so
968 %attr(755,root,root) %{_libdir}/%{pname}/VBoxKeyboard.so
969 %attr(755,root,root) %{_libdir}/%{pname}/VBoxOGLhostcrutil.so
970 %attr(755,root,root) %{_libdir}/%{pname}/VBoxOGLhosterrorspu.so
971 %attr(755,root,root) %{_libdir}/%{pname}/VBoxOGLrenderspu.so
972 %attr(755,root,root) %{_libdir}/%{pname}/VBoxPython*.so
973 %attr(755,root,root) %{_libdir}/%{pname}/VBoxREM.so
974 %attr(755,root,root) %{_libdir}/%{pname}/VBoxRT.so
975 %attr(755,root,root) %{_libdir}/%{pname}/VBoxSharedClipboard.so
976 %attr(755,root,root) %{_libdir}/%{pname}/VBoxSharedCrOpenGL.so
977 %attr(755,root,root) %{_libdir}/%{pname}/VBoxSharedFolders.so
978 %attr(755,root,root) %{_libdir}/%{pname}/VBoxVMM.so
979 %attr(755,root,root) %{_libdir}/%{pname}/VBoxXPCOM.so
980 %attr(755,root,root) %{_libdir}/%{pname}/VBoxXPCOMC.so
982 %attr(755,root,root) %{_libdir}/%{pname}/VBoxREM32.so
983 %attr(755,root,root) %{_libdir}/%{pname}/VBoxREM64.so
987 %attr(755,root,root) %{_libdir}/%{pname}/VBox.sh
988 %attr(755,root,root) %{_libdir}/%{pname}/VBoxAutostart
989 %attr(755,root,root) %{_libdir}/%{pname}/VBoxBalloonCtrl
990 %attr(755,root,root) %{_libdir}/%{pname}/VBoxDTrace
991 %attr(755,root,root) %{_libdir}/%{pname}/VBoxExtPackHelperApp
992 %attr(755,root,root) %{_libdir}/%{pname}/VBoxHeadless
993 %attr(755,root,root) %{_libdir}/%{pname}/VBoxManage
994 %attr(755,root,root) %{_libdir}/%{pname}/VBoxNetAdpCtl
995 %attr(755,root,root) %{_libdir}/%{pname}/VBoxNetDHCP
996 %attr(755,root,root) %{_libdir}/%{pname}/VBoxNetNAT
997 %attr(755,root,root) %{_libdir}/%{pname}/VBoxSDL
998 %attr(755,root,root) %{_libdir}/%{pname}/VBoxSVC
999 %attr(755,root,root) %{_libdir}/%{pname}/VBoxTunctl
1000 %attr(755,root,root) %{_libdir}/%{pname}/VBoxVMMPreload
1001 %attr(755,root,root) %{_libdir}/%{pname}/VBoxVolInfo
1002 %attr(755,root,root) %{_libdir}/%{pname}/VBoxXPCOMIPCD
1003 %attr(755,root,root) %{_libdir}/%{pname}/iPxeBaseBin
1005 %attr(755,root,root) %{_libdir}/%{pname}/VBoxManageHelp
1007 %dir %{_libdir}/%{pname}/tools
1008 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTCat
1009 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTChMod
1010 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTDbgSymCache
1011 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTGzip
1012 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTHttp
1013 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTIsoMaker
1014 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTKrnlModInfo
1015 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTLdrFlt
1016 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTLs
1017 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTManifest
1018 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTMkDir
1019 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTRm
1020 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTRmDir
1021 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTShutdown
1022 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTSignTool
1023 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTTar
1024 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTTraceLogTool
1025 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTUnzip
1026 %attr(755,root,root) %{_libdir}/%{pname}/tools/scm
1028 %dir %{_libdir}/%{pname}/ExtensionPacks
1029 %{_libdir}/%{pname}/ExtensionPacks/VNC/ExtPack.xml
1030 %dir %{_libdir}/%{pname}/ExtensionPacks/VNC
1031 %dir %{_libdir}/%{pname}/ExtensionPacks/VNC/linux*
1032 %attr(755,root,root) %{_libdir}/%{pname}/ExtensionPacks/VNC/linux*/VBoxVNC*.so
1033 %dir %{_libdir}/%{pname}/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack
1034 %{_libdir}/%{pname}/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/ExtPack.xml
1035 %dir %{_libdir}/%{pname}/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux*
1036 %attr(755,root,root) %{_libdir}/%{pname}/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux*/VBoxDTrace*.so
1037 %{_libdir}/%{pname}/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux*/VBoxDTraceR0.debug
1038 %{_libdir}/%{pname}/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux*/VBoxDTraceR0.r0
1040 %{_libdir}/%{pname}/VBoxBugReport
1041 %{_libdir}/%{pname}/VBoxCpuReport
1042 %{_libdir}/%{pname}/VBoxDDRC.debug
1043 %{_libdir}/%{pname}/VBoxDDRC.rc
1044 %{_libdir}/%{pname}/VBoxDDR0.debug
1045 %{_libdir}/%{pname}/VBoxDDR0.r0
1046 %{_libdir}/%{pname}/VBoxEFI32.fd
1047 %{_libdir}/%{pname}/VBoxEFI64.fd
1048 %{_libdir}/%{pname}/VMMRC.debug
1049 %{_libdir}/%{pname}/VMMRC.rc
1050 %{_libdir}/%{pname}/VMMR0.debug
1051 %{_libdir}/%{pname}/VMMR0.r0
1053 %dir %{_libdir}/%{pname}/components
1054 %{_libdir}/%{pname}/components/VBoxXPCOMBase.xpt
1055 %{_libdir}/%{pname}/components/VirtualBox_XPCOM.xpt
1056 %attr(755,root,root) %{_libdir}/%{pname}/components/VBoxC.so
1057 %attr(755,root,root) %{_libdir}/%{pname}/components/VBoxSVCM.so
1058 %attr(755,root,root) %{_libdir}/%{pname}/components/VBoxXPCOMIPCC.so
1059 %attr(755,root,root) %{_libdir}/%{pname}/VBoxSysInfo.sh
1061 %{_libdir}/%{pname}/UnattendedTemplates
1063 %dir %{_datadir}/%{pname}
1065 %config(noreplace) %verify(not md5 mtime size) /etc/udev/rules.d/*.rules
1066 %attr(755,root,root) /lib/udev/VBoxCreateUSBNode.sh
1070 %defattr(644,root,root,755)
1071 %attr(755,root,root) %{_bindir}/VirtualBox
1072 %attr(755,root,root) %{_libdir}/%{pname}/VBoxDbg.so
1073 %attr(755,root,root) %{_libdir}/%{pname}/VBoxTestOGL
1074 %attr(755,root,root) %{_libdir}/%{pname}/VirtualBox
1075 %dir %{_datadir}/%{pname}/nls
1076 %lang(bg) %{_datadir}/%{pname}/nls/*_bg.qm
1077 %lang(ca) %{_datadir}/%{pname}/nls/*_ca.qm
1078 %lang(ca_VA) %{_datadir}/%{pname}/nls/*_ca_VA.qm
1079 %lang(cs) %{_datadir}/%{pname}/nls/*_cs.qm
1080 %lang(da) %{_datadir}/%{pname}/nls/*_da.qm
1081 %lang(de) %{_datadir}/%{pname}/nls/*_de.qm
1082 %lang(en) %{_datadir}/%{pname}/nls/*_el.qm
1083 %lang(en) %{_datadir}/%{pname}/nls/*_en.qm
1084 %lang(es) %{_datadir}/%{pname}/nls/*_es.qm
1085 %lang(eu) %{_datadir}/%{pname}/nls/*_eu.qm
1086 %lang(fa) %{_datadir}/%{pname}/nls/*_fa.qm
1087 %lang(fi) %{_datadir}/%{pname}/nls/*_fi.qm
1088 %lang(fr) %{_datadir}/%{pname}/nls/*_fr.qm
1089 %lang(gl) %{_datadir}/%{pname}/nls/*_gl.qm
1090 %lang(he) %{_datadir}/%{pname}/nls/*_he.qm
1091 %lang(hu) %{_datadir}/%{pname}/nls/*_hu.qm
1092 %lang(id) %{_datadir}/%{pname}/nls/*_id.qm
1093 %lang(it) %{_datadir}/%{pname}/nls/*_it.qm
1094 %lang(ja) %{_datadir}/%{pname}/nls/*_ja.qm
1095 %lang(km_KH) %{_datadir}/%{pname}/nls/*_km_KH.qm
1096 %lang(ko) %{_datadir}/%{pname}/nls/*_ko.qm
1097 %lang(lt) %{_datadir}/%{pname}/nls/*_lt.qm
1098 %lang(nl) %{_datadir}/%{pname}/nls/*_nl.qm
1099 %lang(pl) %{_datadir}/%{pname}/nls/*_pl.qm
1100 %lang(pt) %{_datadir}/%{pname}/nls/*_pt.qm
1101 %lang(pt_BR) %{_datadir}/%{pname}/nls/*_pt_BR.qm
1102 %lang(ro) %{_datadir}/%{pname}/nls/*_ro.qm
1103 %lang(ru) %{_datadir}/%{pname}/nls/*_ru.qm
1104 %lang(sk) %{_datadir}/%{pname}/nls/*_sk.qm
1105 %lang(sk) %{_datadir}/%{pname}/nls/*_sl.qm
1106 %lang(sr) %{_datadir}/%{pname}/nls/*_sr.qm
1107 %lang(sv) %{_datadir}/%{pname}/nls/*_sv.qm
1108 %lang(th) %{_datadir}/%{pname}/nls/*_th.qm
1109 %lang(tr) %{_datadir}/%{pname}/nls/*_tr.qm
1110 %lang(uk) %{_datadir}/%{pname}/nls/*_uk.qm
1111 %lang(zh_CN) %{_datadir}/%{pname}/nls/*_zh_CN.qm
1112 %lang(zh_TW) %{_datadir}/%{pname}/nls/*_zh_TW.qm
1113 %{_desktopdir}/virtualbox.desktop
1114 %{_pixmapsdir}/virtualbox.png
1115 %{_iconsdir}/hicolor/*/apps/virtualbox.png
1116 %{_iconsdir}/hicolor/*/apps/virtualbox.svg
1117 %{_iconsdir}/hicolor/*/mimetypes/virtualbox-*.png
1118 %{_datadir}/mime/packages/virtualbox.xml
1122 %defattr(644,root,root,755)
1123 %{_datadir}/%{pname}/VBoxGuestAdditions.iso
1126 %defattr(644,root,root,755)
1127 %attr(755,root,root) /sbin/mount.vboxsf
1128 %attr(754,root,root) /etc/rc.d/init.d/vboxservice
1129 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/vboxservice
1130 %{systemdunitdir}/vboxservice.service
1131 %{systemdunitdir}/vboxclient-vmsvga.service
1132 %attr(755,root,root) %{_bindir}/VBoxControl
1133 %attr(755,root,root) %{_bindir}/VBoxService
1136 %defattr(644,root,root,755)
1137 /etc/xdg/autostart/vboxclient.desktop
1138 %attr(755,root,root) %{_bindir}/VBoxClient
1139 %attr(755,root,root) %{_bindir}/VBoxClient-all
1141 %if %{with webservice}
1143 %defattr(644,root,root,755)
1144 %attr(755,root,root) %{_bindir}/vboxwebsrv
1145 %attr(755,root,root) %{_libdir}/%{pname}/vboxwebsrv
1146 %attr(755,root,root) %{_libdir}/%{pname}/webtest
1150 %files -n lightdm-greeter-vbox%{ver_suffix}
1151 %defattr(644,root,root,755)
1152 %attr(755,root,root) %{_sbindir}/vbox-greeter
1153 %{_datadir}/xgreeters/vbox-greeter.desktop
1156 %files -n pam-pam_vbox%{ver_suffix}
1157 %defattr(644,root,root,755)
1158 %attr(755,root,root) /%{_lib}/security/pam_vbox.so
1162 %defattr(644,root,root,755)
1163 # this is a symlink...
1164 %doc %{_libdir}/%{pname}/UserManual.pdf
1165 %if %{with all_langs}
1166 %lang(fr) %doc %{_libdir}/%{pname}/UserManual_fr_FR.pdf
1169 %doc %{outdir}/UserManual.pdf
1170 %if %{with all_langs}
1171 %lang(fr) %doc %{outdir}/UserManual_fr_FR.pdf
1175 %files -n xorg-driver-video-vboxvideo%{ver_suffix}
1176 %defattr(644,root,root,755)
1177 %attr(755,root,root) %{_libdir}/xorg/modules/dri/vboxvideo_dri.so
1178 # vboxvideo_dri.so deps
1179 %attr(755,root,root) %{_libdir}/VBoxEGL.so
1180 %attr(755,root,root) %{_libdir}/VBoxOGLarrayspu.so
1181 %attr(755,root,root) %{_libdir}/VBoxOGLcrutil.so
1182 %attr(755,root,root) %{_libdir}/VBoxOGLerrorspu.so
1183 %attr(755,root,root) %{_libdir}/VBoxOGLfeedbackspu.so
1184 %attr(755,root,root) %{_libdir}/VBoxOGLpackspu.so
1185 %attr(755,root,root) %{_libdir}/VBoxOGLpassthroughspu.so
1188 %files -n dkms-vboxguest%{ver_suffix}
1189 %defattr(644,root,root,755)
1190 %{_usrsrc}/vboxguest-%{version}-%{rel}
1192 %files -n dkms-vboxhost%{ver_suffix}
1193 %defattr(644,root,root,755)
1194 %{_usrsrc}/vboxhost-%{version}-%{rel}