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
24 %bcond_without host # build guest packages only
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}
32 %define _duplicate_files_terminate_build 0
35 %if %{without userspace}
36 # nothing to be placed to debuginfo package
37 %undefine with_debuginfo
40 %if %{without debuginfo}
41 %define _enable_debug_packages 0
44 %ifnarch %{x8664} %{?with_kernel:x32}
51 %define pname VirtualBox
52 Summary: VirtualBox - x86 hardware virtualizer
53 Summary(pl.UTF-8): VirtualBox - wirtualizator sprzętu x86
54 Name: %{pname}%{?_pld_builder:%{?with_kernel:-kernel}}%{_alt_kernel}
56 Release: %{rel}%{?_pld_builder:%{?with_kernel:@%{_kernel_ver_str}}}
58 Group: Applications/Emulators
59 Source0: https://download.virtualbox.org/virtualbox/%{version}/%{pname}-%{version}.tar.bz2
60 # Source0-md5: b1259b71044ab24671d6f5757855548d
61 Source1: https://download.virtualbox.org/virtualbox/%{version}/VBoxGuestAdditions_%{version}.iso
62 # Source1-md5: c31a1845868d0913012f1dc481461e8f
63 Source2: vboxservice.init
64 Source3: vboxservice.service
65 Source4: vboxservice.sysconfig
68 Source7: %{pname}-virtualbox-host-modules-load.conf
69 Source8: %{pname}-virtualbox-guest-modules-load.conf
70 Source9: vboxautostart.init
71 Source10: autostart.cfg
72 Source11: vboxclient-vmsvga.service
73 Source12: udev-guest.rules
74 Patch0: %{pname}-version-error.patch
75 Patch1: %{pname}-VBoxSysInfo.patch
76 Patch2: %{pname}-warning_workaround.patch
78 Patch6: hardening-shared.patch
79 Patch7: lightdm-greeter-makefile.patch
80 Patch8: lightdm-greeter-g++-link.patch
81 Patch9: pld-guest.patch
82 Patch10: 16-no-update.patch
83 Patch11: %{pname}-all-translations.patch
84 Patch13: %{pname}-no-scrextend.patch
85 Patch15: %{pname}-lightdm-1.19.2.patch
86 Patch16: %{pname}-no-vboxvideo.patch
88 Patch18: qt-detect.patch
89 Patch19: python3.patch
91 Patch21: xsl-style-dir.patch
92 Patch22: build-arch.patch
93 URL: http://www.virtualbox.org/
96 BuildRequires: gcc-multilib-32
97 BuildRequires: glibc-devel(i686)
98 BuildRequires: libstdc++-multilib-32-devel
99 BuildRequires: libstdc++-multilib-32-static
101 %if "%{pld_release}" == "ac"
102 BuildRequires: XFree86-devel
104 BuildRequires: xorg-lib-libX11-devel
105 BuildRequires: xorg-lib-libXcomposite-devel
106 BuildRequires: xorg-lib-libXcursor-devel
107 BuildRequires: xorg-lib-libXdamage-devel
108 BuildRequires: xorg-lib-libXext-devel
109 BuildRequires: xorg-lib-libXinerama-devel
110 BuildRequires: xorg-lib-libXmu-devel
111 BuildRequires: xorg-lib-libXrandr-devel
112 BuildRequires: xorg-proto-glproto-devel
113 BuildRequires: xorg-xserver-server-devel
115 BuildRequires: EGL-devel
116 BuildRequires: OpenGL-GLU-devel
117 BuildRequires: OpenGL-devel
118 BuildRequires: Qt5Core-devel >= %{qtver}
119 BuildRequires: Qt5DBus-devel >= %{qtver}
120 BuildRequires: Qt5Gui-devel >= %{qtver}
121 BuildRequires: Qt5Help-devel >= %{qtver}
122 BuildRequires: Qt5Network-devel >= %{qtver}
123 BuildRequires: Qt5OpenGL-devel >= %{qtver}
124 BuildRequires: Qt5PrintSupport-devel >= %{qtver}
125 BuildRequires: Qt5Widgets-devel >= %{qtver}
126 BuildRequires: Qt5X11Extras-devel >= %{qtver}
127 BuildRequires: Qt5Xml-devel >= %{qtver}
128 BuildRequires: SDL-devel >= 1.2.7
129 BuildRequires: acpica
130 BuildRequires: alsa-lib-devel >= 1.0.6
134 BuildRequires: curl-devel >= 7.19.1
135 BuildRequires: device-mapper-devel >= 1.02
137 BuildRequires: docbook-dtd45-xml
138 BuildRequires: docbook-style-xsl
140 BuildRequires: fakeroot
141 %{?with_lightdm:BuildRequires: fltk-devel}
142 BuildRequires: gcc >= 5:3.2.3
143 %{?with_webservice:BuildRequires: gsoap-devel}
145 BuildRequires: kBuild >= 0.1.9998.3598
146 BuildRequires: libIDL-devel
147 BuildRequires: libcap-static
148 BuildRequires: libdrm-devel
149 BuildRequires: liblzf-devel
150 BuildRequires: libpng-devel >= 2:1.2.5
151 BuildRequires: libstdc++-devel >= 5:3.2.3
152 BuildRequires: libstdc++-static >= 5:3.2.3
153 BuildRequires: libtpms-devel
154 BuildRequires: libuuid-devel
155 BuildRequires: libvncserver-devel >= 0.9.9
156 BuildRequires: libvpx-devel >= 0.9.5
157 BuildRequires: libxml2-devel >= 2.6.26
158 BuildRequires: libxslt-devel >= 1.1.17
159 BuildRequires: libxslt-progs >= 1.1.17
160 %{?with_lightdm:BuildRequires: lightdm-libs-qt5-devel}
161 BuildRequires: makeself
162 BuildRequires: mkisofs
163 BuildRequires: openssl-devel >= 1.0.1
164 BuildRequires: pam-devel
165 BuildRequires: pixman-devel
166 BuildRequires: pkgconfig
167 BuildRequires: pulseaudio-devel >= 0.9.0
168 BuildRequires: python3-devel >= 1:3.6
169 BuildRequires: python3-modules
170 BuildRequires: qt5-assistant
171 BuildRequires: qt5-build
172 BuildRequires: qt5-linguist
173 BuildRequires: rpmbuild(macros) >= 1.752
174 BuildRequires: sed >= 4.0
176 BuildRequires: texlive-fonts-bitstream
177 BuildRequires: texlive-fonts-other
178 BuildRequires: texlive-fonts-type1-bitstream
179 BuildRequires: texlive-format-pdflatex
180 BuildRequires: texlive-latex-ucs
181 BuildRequires: texlive-xetex
184 BuildRequires: xalan-c-devel >= 1.10.0
185 BuildRequires: xerces-c-devel >= 2.6.0
186 BuildRequires: yasm >= 0.5.1
187 BuildRequires: zlib-devel >= 1.2.1
189 %{?with_kernel:%{expand:%buildrequires_kernel kernel%%{_alt_kernel}-module-build >= 3:2.6.20.2}}
190 Requires(post,preun): /sbin/chkconfig
191 Requires(postun): /usr/sbin/groupdel
192 Requires(pre): /usr/bin/getgid
193 Requires(pre): /usr/sbin/groupadd
194 Requires: libvncserver >= 0.9.9
196 Provides: group(vbox)
197 Obsoletes: VirtualBox-udev < 4.2.10-5
198 ExclusiveArch: %{ix86} %{x8664} %{?with_kernel:x32}
199 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
202 %define vbox_arch amd64
204 %define vbox_arch x86
206 %define vbox_platform linux.%{vbox_arch}
207 %define outdir out/%{vbox_platform}/release/bin
208 %define objdir out/%{vbox_platform}/release/obj
210 %define filterout -Werror=format-security
212 %define _noautochrpath .*\\.debug$
215 Oracle VirtualBox is a general-purpose full virtualizer for x86
216 hardware. Targeted at server, desktop and embedded use, it is now the
217 only professional-quality virtualization solution that is also Open
220 Some of the features of VirtualBox are:
222 Modularity: VirtualBox has an extremely modular design with
223 well-defined internal programming interfaces and a client/server
224 design. This makes it easy to control it from several interfaces at
225 once: for example, you can start a virtual machine in a typical
226 virtual machine GUI and then control that machine from the command
227 line. VirtualBox also comes with a full Software Development Kit: even
228 though it is Open Source Software, you don't have to hack the source
229 to write a new interface for VirtualBox.
231 Virtual machine descriptions in XML: the configuration settings of
232 virtual machines are stored entirely in XML and are independent of the
233 local machines. Virtual machine definitions can therefore easily be
234 ported to other computers.
236 You should install this package in your Host OS.
238 %description -l pl.UTF-8
239 Oracle VirtualBox jest emulatorem sprzętu x86. Kierowany do zastosowań
240 serwerowych, desktopowych oraz wbudowanych jest obecnie jedynym
241 wysokiej jakości rozwiązaniem wirtualizacyjnym dostępnym również jako
242 Otwarte Oprogramowanie.
244 Przykładowe cechy VirtualBoksa:
246 Modularność: VirtualBox jest wysoce zmodularyzowanym produktem z
247 dobrze zaprojektowanym wewnętrznym interfejsem programowym typu
248 klient/serwer. Dzięki temu można łatwo kontrolować go za pomocą
249 różnych interfejsów. Można na przykład uruchomić maszynę wirtualną z
250 poziomu interfejsu graficznego, a później kontrolować ją z linii
251 poleceń. VirtualBox dostarcza również pełny pakiet deweloperski, co
252 pozwala stworzyć dowolny inny interfejs zarządzania maszyną wirtualną.
254 Opisy maszyn wirtualnych w XML-u: konfiguracje poszczególnych maszyn
255 wirtualnych są w całości przechowywane w XML-u i są niezależne od
256 lokalnej maszyny. Dzięki temu można szybko i łatwo przenieść
257 konfigurację maszyny wirtualnej na inny komputer.
260 Summary: Qt GUI part for VirtualBox
261 Group: X11/Applications
262 Requires: %{name} = %{version}-%{release}
263 Requires: Qt5Core >= %{qtver}
264 Requires: Qt5Gui-platform-xcb >= %{qtver}
265 Requires: desktop-file-utils
266 Requires: desktop-file-utils
268 Requires: fonts-Type1-urw
269 Requires: gtk-update-icon-cache
270 Requires: hicolor-icon-theme
271 Requires: shared-mime-info
272 Suggests: Qt5Gui-platform-xcb-glx >= %{qtver}
273 Suggests: Qt5Gui-platform-xcb-egl >= %{qtver}
275 Conflicts: %{name} < 4.3.8-3
278 Qt GUI part for VirtualBox.
281 Summary: VirtualBox documentation
285 This package contains VirtualBox User Manual.
288 Summary: VirtualBox Guest Additions
290 Requires: %{name} = %{version}
293 %description additions
294 VirtualBox Guest Additions.
296 This package contains ISO9660 image with drivers for Guest OS.
298 You should install this package in your Host OS.
301 Summary: VirtualBox Guest tools
303 Provides: group(vboxsf)
304 Requires(post): systemd-units >= 38
305 Requires(post,preun): /sbin/chkconfig
306 Requires(postun): /usr/sbin/groupdel
307 Requires(pre): /usr/bin/getgid
308 Requires(pre): /usr/sbin/groupadd
310 Requires: systemd-units >= 38
311 Suggests: kernel(vboxguest)
312 Suggests: kernel(vboxsf)
313 Suggests: pam-pam_vbox
316 Tools that utilize kernel modules for supporting integration with the
317 Host, including file sharing.
319 You should install this package in your Guest OS for base VirtualBox
323 Summary: VirtualBox Guest X11 Additions
324 Group: X11/Applications
325 Requires: %{name}-guest = %{version}-%{release}
326 Requires: xorg-app-xrandr
327 Requires: kernel(vboxvideo)
328 Obsoletes: xorg-driver-input-vboxmouse < %{version}-%{release}
329 Obsoletes: xorg-driver-video-vboxvideo < %{version}-%{release}
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
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 = %{version}-%{release}
357 Provides: lightdm-greeter
359 %description -n lightdm-greeter-vbox
360 VirtualBox greeter for LightDM.
362 %package -n pam-pam_vbox
363 Summary: PAM module to perform automated guest logons
366 %description -n pam-pam_vbox
367 PAM module (Pluggable Authentication Module) which can be used to
368 perform automated guest logons.
370 %package -n dkms-vboxguest
371 Summary: VirtualBox kernel modules source for Linux Guest
372 Summary(pl.UTF-8): Moduły VirtualBoksa do jądra Linuksa dla systemu gościa
378 %description -n dkms-vboxguest
379 This package contains DKMS-ready VirtualBox Guest Additions for Linux
380 Module, host file system access (Shared Folders) and DRM support for
383 %description -n dkms-vboxguest -l pl.UTF-8
384 Ten pakiet zawiera moduł jądra Linuksa vboxguest dla VirtualBoksa -
385 dodatki dla systemu gościa, dostęp do plików systemu głównego z
386 poziomu systemu gościa i sterownik obsługi DRM.
388 %package -n dkms-vboxhost
389 Summary: VirtualBox Support Drivers source
390 Summary(pl.UTF-8): Moduły jądra Linuksa dla VirtualBoksa
396 %description -n dkms-vboxhost
397 This package contains DKMS enabled sourcecode of VirtualBox Support
398 Driver, Network Adapter Driver, Network Filter Driver and PCI card
399 passthrough driver that works as host proxy between guest and PCI
402 %description -n dkms-vboxhost -l pl.UTF-8
403 Ten pakiet zawiera sterownik wsparcia dla systemu głównego, sterownik
404 witrualnej karty sieciowej, sterownik filtrowania sieci dla systemu
405 głównego oraz sterownik, ktory działa jako proxy między gościem i
406 gospodarzem sprzętu PCI.
410 # KEEP ALL REGULAR SUBPACKAGES BEFORE KERNEL PACKAGES.
412 %define kernel_pkg()\
413 %package -n kernel%{_alt_kernel}-virtualbox-guest\
414 Summary: VirtualBox kernel modules for Linux Guest\
415 Summary(pl.UTF-8): Moduły VirtualBoksa do jądra Linuksa dla systemu gościa\
416 Release: %{rel}@%{_kernel_ver_str}\
418 Requires(post,postun): /sbin/depmod\
419 Requires(post): systemd-units >= 38\
420 Requires: dev >= 2.9.0-7\
421 Requires: systemd-units >= 38\
422 %requires_releq_kernel\
423 Requires: %{releq_kernel -n drm}\
424 Requires(postun): %releq_kernel\
425 Provides: kernel(vboxguest) = %{version}-%{rel}\
426 Provides: kernel(vboxsf) = %{version}-%{rel}\
427 %if %{_kernel_version_code} < %{_kernel_version_magic 4 13 0}\
428 Provides: kernel(vboxvideo) = %{version}-%{rel}\
430 Obsoletes: kernel-init-guest\
431 Conflicts: kernel%{_alt_kernel}-virtualbox-host\
433 %description -n kernel%{_alt_kernel}-virtualbox-guest\
434 This package contains VirtualBox Guest Additions for Linux Module,\
435 host file system access (Shared Folders) and DRM support for\
438 %description -n kernel%{_alt_kernel}-virtualbox-guest -l pl.UTF-8\
439 Ten pakiet zawiera moduł jądra Linuksa vboxguest dla VirtualBoksa -\
440 dodatki dla systemu gościa, dostęp do plików systemu głównego z\
441 poziomu systemu gościa i sterownik obsługi DRM.\
443 %package -n kernel%{_alt_kernel}-virtualbox-host\
444 Summary: VirtualBox Support Drivers\
445 Summary(pl.UTF-8): Moduły jądra Linuksa dla VirtualBoksa\
446 Release: %{rel}@%{_kernel_ver_str}\
448 Requires(post,postun): /sbin/depmod\
449 Requires(post): systemd-units >= 38\
450 Requires: dev >= 2.9.0-7\
451 %requires_releq_kernel\
452 Requires(postun): %releq_kernel\
453 Requires: systemd-units >= 38\
454 Provides: kernel(vboxdrv) = %{version}-%{rel}\
455 Provides: kernel(vboxnetadp) = %{version}-%{rel}\
456 Provides: kernel(vboxnetflt) = %{version}-%{rel}\
457 Obsoletes: kernel-init-host\
459 %description -n kernel%{_alt_kernel}-virtualbox-host\
460 This package contains VirtualBox Support Driver, Network Adapter\
461 Driver, Network Filter Driver and PCI card passthrough driver that\
462 works as host proxy between guest and PCI hardware.\
464 %description -n kernel%{_alt_kernel}-virtualbox-host -l pl.UTF-8\
465 Ten pakiet zawiera sterownik wsparcia dla systemu głównego, sterownik\
466 witrualnej karty sieciowej, sterownik filtrowania sieci dla systemu\
467 głównego oraz sterownik, ktory działa jako proxy między gościem i\
468 gospodarzem sprzętu PCI.\
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\
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*\
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*\
494 %post -n kernel%{_alt_kernel}-virtualbox-guest\
495 %depmod %{_kernel_ver}\
497 %postun -n kernel%{_alt_kernel}-virtualbox-guest\
498 %depmod %{_kernel_ver}\
501 %post -n kernel%{_alt_kernel}-virtualbox-host\
502 %depmod %{_kernel_ver}\
504 %postun -n kernel%{_alt_kernel}-virtualbox-host\
505 %depmod %{_kernel_ver}\
509 %define build_kernel_pkg()\
510 export KERN_DIR=%{_kernelsrcdir}\
512 cd 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\
519 %if %{_kernel_version_code} < %{_kernel_version_magic 5 14 0}\
520 cd 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\
532 %define install_kernel_pkg()\
533 %if %{_kernel_version_code} >= %{_kernel_version_magic 4 16 0}\
534 install -d kernel/installed/etc/depmod.d/%{_kernel_ver}\
535 echo 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}\
537 echo override vboxsf %{_kernel_ver} misc >> kernel/installed/etc/depmod.d/%{_kernel_ver}/vboxguest.conf\
542 %{?with_kernel:%{expand:%create_kernel_packages}}
545 %setup -q -n %{pname}-%{version}
555 %if %{with all_langs}
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
572 %{__sed} -i -e "s@_LDFLAGS\.%{vbox_arch}*.*=@& %{rpmldflags}@g" \
573 -i Config.kmk src/libs/xpcom18a4/Config.kmk
575 %{__sed} -i -e 's#@INSTALL_DIR@#%{_libdir}/%{pname}#' src/VBox/Installer/linux/VBox.sh
578 install -d kernel/{GuestDrivers,HostDrivers}
580 ../src/VBox/Additions/linux/export_modules.sh guest-modules.tar.gz
581 tar -zxf guest-modules.tar.gz -C GuestDrivers
583 ../src/VBox/HostDrivers/linux/export_modules.sh --file host-modules.tar.gz --without-hardening
584 tar -zxf host-modules.tar.gz -C HostDrivers
588 # using system kBuild package
591 # use linux icon for now
592 cp -p src/VBox/Frontends/VirtualBox/images/os_{linux26,pld}.png
593 cp -p src/VBox/Frontends/VirtualBox/images/os_{linux26,pld}_64.png
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
600 cat <<'EOF'>> LocalConfig.kmk
601 %{?with_verbose:KBUILD_VERBOSE=3}
603 VBOX_BUILD_PUBLISHER=_PLD
604 VBOX_VERSION_STRING=$(VBOX_VERSION_MAJOR).$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD)_PLD
605 XSERVER_VERSION=%(rpm -q --queryformat '%{V}\n' xorg-xserver-server-devel | awk -F. '{ print $1 $2 }' 2>/dev/null || echo ERROR)
606 VBOX_USE_SYSTEM_XORG_HEADERS=1
607 VBOX_USE_SYSTEM_GL_HEADERS=1
609 VBOX_WITH_LIGHTDM_GREETER=1
610 VBOX_WITH_LIGHTDM_GREETER_PACKING=1
612 TOOL_GCC3_CFLAGS=%{rpmcflags}
613 TOOL_GCC3_CXXFLAGS=%{rpmcxxflags}
614 VBOX_GCC_OPT=%{rpmcxxflags}
616 TOOL_YASM_AS := /usr/bin/yasm
618 VBOX_BLD_PYTHON := %{__python3}
619 VBOX_WITHOUT_PYTHON_LIMITED_API=1
621 VBOX_PATH_APP_PRIVATE_ARCH := %{_libdir}/%{pname}
622 VBOX_PATH_APP_PRIVATE := %{_datadir}/%{pname}
623 VBOX_PATH_SHARED_LIBS := $(VBOX_PATH_APP_PRIVATE_ARCH)
625 VBOX_WITH_RUNPATH := $(VBOX_PATH_APP_PRIVATE_ARCH)
626 #VBOX_PATH_APP_DOCS := %{_docdir}/%{pname}-doc-%{version}
627 VBOX_PATH_DOCBOOK_DTD := %{_datadir}/sgml/docbook/xml-dtd-4.4
629 # don't build testcases to save time, they are not needed for the package
630 VBOX_WITH_TESTCASES :=
631 VBOX_WITH_TESTSUITE :=
633 VBOX_WITH_VRDP_RDESKTOP=
634 VBOX_WITH_MULTIVERSION_PYTHON=0
636 VBOX_ONLY_ADDITIONS_WITHOUT_RTISOMAKER=1
637 VBOX_ONLY_ADDITIONS=1
641 %undefine filterout_c
642 %undefine filterout_cxx
645 %if %{with userspace}
647 --with-gcc="%{__cc}" \
648 --with-g++="%{__cxx}" \
649 %{!?with_doc:--disable-docs} \
651 --disable-hardening \
654 %{!?with_gui:--disable-qt} \
655 %{__enable webservice} \
656 %{!?with_host:--only-additions} \
660 kmk %{?_smp_mflags} %{!?with_host:VBOX_ONLY_ADDITIONS_WITHOUT_RTISOMAKER=1 VBOX_ONLY_ADDITIONS=1}
663 %{?with_kernel:%{expand:%build_kernel_packages}}
664 %{?with_kernel:%{expand:%install_kernel_packages}}
667 rm -rf $RPM_BUILD_ROOT
669 %if %{with userspace}
670 install -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}}
678 # test if we can hardlink -- %{_builddir} and $RPM_BUILD_ROOT on same partition
679 if cp -al COPYING $RPM_BUILD_ROOT/COPYING; then
681 %{__rm} $RPM_BUILD_ROOT/COPYING
684 install -d $RPM_BUILD_ROOT%{_datadir}/%{pname}
686 cp -a$l %{outdir}/* $RPM_BUILD_ROOT%{_libdir}/%{pname}
689 %{__rm} -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/icons
690 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/virtualbox.xml
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
699 install -d $RPM_BUILD_ROOT/etc/xdg/autostart
700 cp -p src/VBox/Additions/x11/Installer/vboxclient.desktop \
701 $RPM_BUILD_ROOT/etc/xdg/autostart/vboxclient.desktop
702 install -p src/VBox/Additions/x11/Installer/98vboxadd-xclient $RPM_BUILD_ROOT%{_bindir}/VBoxClient-all
703 install -p %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxservice
704 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{systemdunitdir}/vboxservice.service
705 cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/vboxservice
707 cp -p %{SOURCE11} $RPM_BUILD_ROOT%{systemdunitdir}/vboxclient-vmsvga.service
709 install -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
711 cp -p %{SOURCE10} $RPM_BUILD_ROOT%{_sysconfdir}/vbox
714 install -d $RPM_BUILD_ROOT%{_datadir}/xgreeters
715 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_sbindir}}/vbox-greeter
716 cp -p %{objdir}/Additions/Installer/linux/other/vbox-greeter.desktop $RPM_BUILD_ROOT%{_datadir}/xgreeters
720 mv $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/src $RPM_BUILD_ROOT%{_usrsrc}/vboxguest-%{version}-%{rel}
724 install -d $RPM_BUILD_ROOT/%{_lib}/security
725 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,/%{_lib}/security}/pam_vbox.so
728 %{__mv} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/mount.vboxsf $RPM_BUILD_ROOT/sbin/mount.vboxsf
731 install -p %{SOURCE5} $RPM_BUILD_ROOT/sbin/mount.vdi
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
737 cp -p %{SOURCE12} $RPM_BUILD_ROOT/etc/udev/rules.d/60-vboxguest.rules
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
751 cp -p$l %{SOURCE1} $RPM_BUILD_ROOT%{_datadir}/%{pname}/VBoxGuestAdditions.iso ||
752 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_datadir}/%{pname}/VBoxGuestAdditions.iso
754 # manual installation steps based on src/VBox/Installer/linux/install.sh
755 ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/VirtualBox
756 ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/VBoxManage
757 ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/VBoxVRDP
758 ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/VBoxHeadless
759 ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/VBoxBalloonCtrl
760 ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/VBoxAutostart
761 ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/vboxwebsrv
762 ln -sf %{_libdir}/%{pname}/vbox-img $RPM_BUILD_ROOT%{_bindir}/vbox-img
763 ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/VBoxDTrace
764 cp -p $RPM_BUILD_ROOT%{_libdir}/%{pname}/icons/128x128/virtualbox.png $RPM_BUILD_ROOT%{_pixmapsdir}/virtualbox.png
765 mv $RPM_BUILD_ROOT%{_libdir}/%{pname}/virtualbox.desktop $RPM_BUILD_ROOT%{_desktopdir}/virtualbox.desktop
766 mv $RPM_BUILD_ROOT%{_libdir}/%{pname}/virtualbox.xml $RPM_BUILD_ROOT%{_datadir}/mime/packages/virtualbox.xml
768 mv $RPM_BUILD_ROOT%{_libdir}/%{pname}/nls $RPM_BUILD_ROOT%{_datadir}/%{pname}
771 cd $RPM_BUILD_ROOT%{_libdir}/%{pname}/icons
775 if expr "$j" : "virtualbox\..*" > /dev/null; then
780 if [ ! -e $RPM_BUILD_ROOT%{_iconsdir}/hicolor/$i/$dst ]; then
781 install -d $RPM_BUILD_ROOT%{_iconsdir}/hicolor/$i/$dst
783 mv $RPM_BUILD_ROOT%{_libdir}/%{pname}/icons/$i/$j $RPM_BUILD_ROOT%{_iconsdir}/hicolor/$i/$dst/$j
789 rm -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/icons
791 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname},/lib/udev}/VBoxCreateUSBNode.sh
792 cp -p %{SOURCE6} $RPM_BUILD_ROOT/etc/udev/rules.d/60-vboxdrv.rules
795 mv $RPM_BUILD_ROOT%{_libdir}/%{pname}/src $RPM_BUILD_ROOT%{_usrsrc}/vboxhost-%{version}-%{rel}
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.*
807 %{__rm} -r $RPM_BUILD_ROOT%{_iconsdir}/hicolor/40x40
810 # duplicate, we already have virtualbox.png (128x128), this is 32x32
811 %{__rm} -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/VBox.png
814 ln -sf %{_docdir}/%{pname}-doc-%{version}/UserManual.pdf $RPM_BUILD_ROOT%{_libdir}/%{pname}/UserManual.pdf
815 %if %{with all_langs}
816 ln -sf %{_docdir}/%{pname}-doc-%{version}/UserManual_fr_FR.pdf $RPM_BUILD_ROOT%{_libdir}/%{pname}/UserManual_fr_FR.pdf
823 install -d $RPM_BUILD_ROOT{/etc/modules-load.d,/sbin}
825 cp -a kernel/installed/* $RPM_BUILD_ROOT
827 # Tell systemd to load modules
828 cp -p %{SOURCE7} $RPM_BUILD_ROOT/etc/modules-load.d/virtualbox-host.conf
829 cp -p %{SOURCE8} $RPM_BUILD_ROOT/etc/modules-load.d/virtualbox-guest.conf
833 rm -rf $RPM_BUILD_ROOT
836 %groupadd -g 221 -r -f vbox
839 /sbin/chkconfig --add vboxautostart
840 %service -n vboxautostart restart
842 for 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
853 You must install vboxdrv kernel modules for this software to work:
854 kernel*-virtualbox-host-%{version}-%{rel}@*
856 On Guest Linux system you might want to install:
857 kernel*-virtualbox-guest-%{version}-%{rel}@*
862 if [ "$1" = "0" ]; then
863 /sbin/chkconfig --del vboxautostart
864 %service vboxautostart -q stop
869 if [ "$1" = "0" ]; then
874 %update_desktop_database
875 %update_icon_cache hicolor
876 %update_mime_database
879 %update_desktop_database
880 %update_icon_cache hicolor
881 %update_mime_database
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
890 /sbin/chkconfig --add vboxservice
891 %service vboxservice restart
892 %systemd_post vboxservice.service vboxclient-vmsvga.service
895 if [ "$1" = "0" ]; then
896 /sbin/chkconfig --del vboxservice
897 %service vboxservice -q stop
899 %systemd_preun vboxservice.service vboxclient-vmsvga.service
902 if [ "$1" = "0" ]; then
908 %triggerpostun guest -- VirtualBox-guest < 4.3.0-1
909 %systemd_trigger vboxservice.service
911 %pre -n lightdm-greeter-vbox
912 %addusertogroup xdm vbox
914 %post -n dkms-vboxguest
915 dkms add -m vboxguest -v %{version}-%{rel} --rpm_safe_upgrade && \
916 dkms build -m vboxguest -v %{version}-%{rel} --rpm_safe_upgrade && \
917 dkms install -m vboxguest -v %{version}-%{rel} --rpm_safe_upgrade || :
919 %preun -n dkms-vboxguest
920 dkms remove -m vboxguest -v %{version}-%{rel} --rpm_safe_upgrade --all || :
922 %post -n dkms-vboxhost
923 dkms add -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade && \
924 dkms build -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade && \
925 dkms install -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade || :
927 %preun -n dkms-vboxhost
928 dkms remove -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade --all || :
930 %if %{with userspace}
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}
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
969 %attr(755,root,root) %{_libdir}/%{pname}/VBoxREM32.so
970 %attr(755,root,root) %{_libdir}/%{pname}/VBoxREM64.so
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
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
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
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
1052 %{_libdir}/%{pname}/UnattendedTemplates
1054 %dir %{_datadir}/%{pname}
1056 %config(noreplace) %verify(not md5 mtime size) /etc/udev/rules.d/60-vboxdrv.rules
1057 %attr(755,root,root) /lib/udev/VBoxCreateUSBNode.sh
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
1116 %defattr(644,root,root,755)
1117 %{_datadir}/%{pname}/VBoxGuestAdditions.iso
1119 %if %{with 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
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
1138 %doc %{outdir}/UserManual.pdf
1139 %if %{with all_langs}
1140 %lang(fr) %doc %{outdir}/UserManual_fr_FR.pdf
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
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
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
1171 %files -n pam-pam_vbox
1172 %defattr(644,root,root,755)
1173 %attr(755,root,root) /%{_lib}/security/pam_vbox.so
1176 %files -n dkms-vboxguest
1177 %defattr(644,root,root,755)
1178 %{_usrsrc}/vboxguest-%{version}-%{rel}
1181 %files -n dkms-vboxhost
1182 %defattr(644,root,root,755)
1183 %{_usrsrc}/vboxhost-%{version}-%{rel}