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: dea0dbd1aa2012b4a35c0d416f8155c8
61 Source1: https://download.virtualbox.org/virtualbox/%{version}/VBoxGuestAdditions_%{version}.iso
62 # Source1-md5: 536e5176026317c9e3b364ecb558fd02
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
77 Patch3: kernel-6.4.10.patch
79 Patch6: hardening-shared.patch
80 Patch7: lightdm-greeter-makefile.patch
81 Patch8: lightdm-greeter-g++-link.patch
82 Patch9: pld-guest.patch
83 Patch10: 16-no-update.patch
84 Patch11: %{pname}-all-translations.patch
85 Patch13: %{pname}-no-scrextend.patch
86 Patch15: %{pname}-lightdm-1.19.2.patch
87 Patch16: %{pname}-no-vboxvideo.patch
89 Patch18: qt-detect.patch
90 Patch19: python3.patch
92 Patch21: xsl-style-dir.patch
93 Patch22: build-arch.patch
94 URL: http://www.virtualbox.org/
97 BuildRequires: gcc-multilib-32
98 BuildRequires: glibc-devel(i686)
99 BuildRequires: libstdc++-multilib-32-devel
100 BuildRequires: libstdc++-multilib-32-static
102 %if "%{pld_release}" == "ac"
103 BuildRequires: XFree86-devel
105 BuildRequires: xorg-lib-libX11-devel
106 BuildRequires: xorg-lib-libXcomposite-devel
107 BuildRequires: xorg-lib-libXcursor-devel
108 BuildRequires: xorg-lib-libXdamage-devel
109 BuildRequires: xorg-lib-libXext-devel
110 BuildRequires: xorg-lib-libXinerama-devel
111 BuildRequires: xorg-lib-libXmu-devel
112 BuildRequires: xorg-lib-libXrandr-devel
113 BuildRequires: xorg-proto-glproto-devel
114 BuildRequires: xorg-xserver-server-devel
116 BuildRequires: EGL-devel
117 BuildRequires: OpenGL-GLU-devel
118 BuildRequires: OpenGL-devel
119 BuildRequires: Qt5Core-devel >= %{qtver}
120 BuildRequires: Qt5DBus-devel >= %{qtver}
121 BuildRequires: Qt5Gui-devel >= %{qtver}
122 BuildRequires: Qt5Help-devel >= %{qtver}
123 BuildRequires: Qt5Network-devel >= %{qtver}
124 BuildRequires: Qt5OpenGL-devel >= %{qtver}
125 BuildRequires: Qt5PrintSupport-devel >= %{qtver}
126 BuildRequires: Qt5Widgets-devel >= %{qtver}
127 BuildRequires: Qt5X11Extras-devel >= %{qtver}
128 BuildRequires: Qt5Xml-devel >= %{qtver}
129 BuildRequires: SDL-devel >= 1.2.7
130 BuildRequires: acpica
131 BuildRequires: alsa-lib-devel >= 1.0.6
135 BuildRequires: curl-devel >= 7.19.1
136 BuildRequires: device-mapper-devel >= 1.02
138 BuildRequires: docbook-dtd45-xml
139 BuildRequires: docbook-style-xsl
141 BuildRequires: fakeroot
142 %{?with_lightdm:BuildRequires: fltk-devel}
143 BuildRequires: gcc >= 5:3.2.3
144 %{?with_webservice:BuildRequires: gsoap-devel}
146 BuildRequires: kBuild >= 0.1.9998.3598
147 BuildRequires: libIDL-devel
148 BuildRequires: libcap-static
149 BuildRequires: libdrm-devel
150 BuildRequires: liblzf-devel
151 BuildRequires: libpng-devel >= 2:1.2.5
152 BuildRequires: libstdc++-devel >= 5:3.2.3
153 BuildRequires: libstdc++-static >= 5:3.2.3
154 BuildRequires: libtpms-devel
155 BuildRequires: libuuid-devel
156 BuildRequires: libvncserver-devel >= 0.9.9
157 BuildRequires: libvpx-devel >= 0.9.5
158 BuildRequires: libxml2-devel >= 2.6.26
159 BuildRequires: libxslt-devel >= 1.1.17
160 BuildRequires: libxslt-progs >= 1.1.17
161 %{?with_lightdm:BuildRequires: lightdm-libs-qt5-devel}
162 BuildRequires: makeself
163 BuildRequires: mkisofs
164 BuildRequires: openssl-devel >= 1.0.1
165 BuildRequires: pam-devel
166 BuildRequires: pixman-devel
167 BuildRequires: pkgconfig
168 BuildRequires: pulseaudio-devel >= 0.9.0
169 BuildRequires: python3-devel >= 1:3.6
170 BuildRequires: python3-modules
171 BuildRequires: qt5-assistant
172 BuildRequires: qt5-build
173 BuildRequires: qt5-linguist
174 BuildRequires: rpmbuild(macros) >= 1.752
175 BuildRequires: sed >= 4.0
177 BuildRequires: texlive-fonts-bitstream
178 BuildRequires: texlive-fonts-other
179 BuildRequires: texlive-fonts-type1-bitstream
180 BuildRequires: texlive-format-pdflatex
181 BuildRequires: texlive-latex-ucs
182 BuildRequires: texlive-xetex
185 BuildRequires: xalan-c-devel >= 1.10.0
186 BuildRequires: xerces-c-devel >= 2.6.0
187 BuildRequires: yasm >= 0.5.1
188 BuildRequires: zlib-devel >= 1.2.1
190 %{?with_kernel:%{expand:%buildrequires_kernel kernel%%{_alt_kernel}-module-build >= 3:2.6.20.2}}
191 Requires(post,preun): /sbin/chkconfig
192 Requires(postun): /usr/sbin/groupdel
193 Requires(pre): /usr/bin/getgid
194 Requires(pre): /usr/sbin/groupadd
195 Requires: libvncserver >= 0.9.9
197 Provides: group(vbox)
198 Obsoletes: VirtualBox-udev < 4.2.10-5
199 ExclusiveArch: %{ix86} %{x8664} %{?with_kernel:x32}
200 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
203 %define vbox_arch amd64
205 %define vbox_arch x86
207 %define vbox_platform linux.%{vbox_arch}
208 %define outdir out/%{vbox_platform}/release/bin
209 %define objdir out/%{vbox_platform}/release/obj
211 %define filterout -Werror=format-security
213 %define _noautochrpath .*\\.debug$
216 Oracle VirtualBox is a general-purpose full virtualizer for x86
217 hardware. Targeted at server, desktop and embedded use, it is now the
218 only professional-quality virtualization solution that is also Open
221 Some of the features of VirtualBox are:
223 Modularity: VirtualBox has an extremely modular design with
224 well-defined internal programming interfaces and a client/server
225 design. This makes it easy to control it from several interfaces at
226 once: for example, you can start a virtual machine in a typical
227 virtual machine GUI and then control that machine from the command
228 line. VirtualBox also comes with a full Software Development Kit: even
229 though it is Open Source Software, you don't have to hack the source
230 to write a new interface for VirtualBox.
232 Virtual machine descriptions in XML: the configuration settings of
233 virtual machines are stored entirely in XML and are independent of the
234 local machines. Virtual machine definitions can therefore easily be
235 ported to other computers.
237 You should install this package in your Host OS.
239 %description -l pl.UTF-8
240 Oracle VirtualBox jest emulatorem sprzętu x86. Kierowany do zastosowań
241 serwerowych, desktopowych oraz wbudowanych jest obecnie jedynym
242 wysokiej jakości rozwiązaniem wirtualizacyjnym dostępnym również jako
243 Otwarte Oprogramowanie.
245 Przykładowe cechy VirtualBoksa:
247 Modularność: VirtualBox jest wysoce zmodularyzowanym produktem z
248 dobrze zaprojektowanym wewnętrznym interfejsem programowym typu
249 klient/serwer. Dzięki temu można łatwo kontrolować go za pomocą
250 różnych interfejsów. Można na przykład uruchomić maszynę wirtualną z
251 poziomu interfejsu graficznego, a później kontrolować ją z linii
252 poleceń. VirtualBox dostarcza również pełny pakiet deweloperski, co
253 pozwala stworzyć dowolny inny interfejs zarządzania maszyną wirtualną.
255 Opisy maszyn wirtualnych w XML-u: konfiguracje poszczególnych maszyn
256 wirtualnych są w całości przechowywane w XML-u i są niezależne od
257 lokalnej maszyny. Dzięki temu można szybko i łatwo przenieść
258 konfigurację maszyny wirtualnej na inny komputer.
261 Summary: Qt GUI part for VirtualBox
262 Group: X11/Applications
263 Requires: %{name} = %{version}-%{release}
264 Requires: Qt5Core >= %{qtver}
265 Requires: Qt5Gui-platform-xcb >= %{qtver}
266 Requires: desktop-file-utils
267 Requires: desktop-file-utils
269 Requires: fonts-Type1-urw
270 Requires: gtk-update-icon-cache
271 Requires: hicolor-icon-theme
272 Requires: shared-mime-info
273 Suggests: Qt5Gui-platform-xcb-glx >= %{qtver}
274 Suggests: Qt5Gui-platform-xcb-egl >= %{qtver}
276 Conflicts: %{name} < 4.3.8-3
279 Qt GUI part for VirtualBox.
282 Summary: VirtualBox documentation
286 This package contains VirtualBox User Manual.
289 Summary: VirtualBox Guest Additions
291 Requires: %{name} = %{version}
294 %description additions
295 VirtualBox Guest Additions.
297 This package contains ISO9660 image with drivers for Guest OS.
299 You should install this package in your Host OS.
302 Summary: VirtualBox Guest tools
304 Provides: group(vboxsf)
305 Requires(post): systemd-units >= 38
306 Requires(post,preun): /sbin/chkconfig
307 Requires(postun): /usr/sbin/groupdel
308 Requires(pre): /usr/bin/getgid
309 Requires(pre): /usr/sbin/groupadd
311 Requires: systemd-units >= 38
312 Suggests: kernel(vboxguest)
313 Suggests: kernel(vboxsf)
314 Suggests: pam-pam_vbox
317 Tools that utilize kernel modules for supporting integration with the
318 Host, including file sharing.
320 You should install this package in your Guest OS for base VirtualBox
324 Summary: VirtualBox Guest X11 Additions
325 Group: X11/Applications
326 Requires: %{name}-guest = %{version}-%{release}
327 Requires: xorg-app-xrandr
328 Requires: kernel(vboxvideo)
329 Obsoletes: xorg-driver-input-vboxmouse < %{version}-%{release}
330 Obsoletes: xorg-driver-video-vboxvideo < %{version}-%{release}
332 %description guest-x11
333 Tools for X11 session that utilize kernel modules for supporting
334 integration with the Host, like tracking of mouse pointer movement and
335 X.org X11 video and mouse drivers
337 You should install this package in your Guest OS for X11 session.
340 Summary: VirtualBox Web Service
341 Group: Applications/Emulators
342 Requires: %{name} = %{version}-%{release}
344 %description webservice
345 This package contains VirtualBox web service API daemon. It allows to
346 control virtual machines via web interface.
348 %package -n lightdm-greeter-vbox
349 Summary: VirtualBox greeter for lightdm
351 # NOTE: '#' in url is lost because rpm treats it as comment, even hacking with
352 # macros doesn't help as rpmbuild takes final result to parse
353 URL: http://www.virtualbox.org/manual/ch09.html#autologon_unix_lightdm
354 Requires: %{name} = %{version}-%{release}
355 Requires: kernel(vboxguest)
356 Requires: lightdm >= 1.0.1
357 Requires: pam-pam_vbox = %{version}-%{release}
358 Provides: lightdm-greeter
360 %description -n lightdm-greeter-vbox
361 VirtualBox greeter for LightDM.
363 %package -n pam-pam_vbox
364 Summary: PAM module to perform automated guest logons
367 %description -n pam-pam_vbox
368 PAM module (Pluggable Authentication Module) which can be used to
369 perform automated guest logons.
371 %package -n dkms-vboxguest
372 Summary: VirtualBox kernel modules source for Linux Guest
373 Summary(pl.UTF-8): Moduły VirtualBoksa do jądra Linuksa dla systemu gościa
379 %description -n dkms-vboxguest
380 This package contains DKMS-ready VirtualBox Guest Additions for Linux
381 Module, host file system access (Shared Folders) and DRM support for
384 %description -n dkms-vboxguest -l pl.UTF-8
385 Ten pakiet zawiera moduł jądra Linuksa vboxguest dla VirtualBoksa -
386 dodatki dla systemu gościa, dostęp do plików systemu głównego z
387 poziomu systemu gościa i sterownik obsługi DRM.
389 %package -n dkms-vboxhost
390 Summary: VirtualBox Support Drivers source
391 Summary(pl.UTF-8): Moduły jądra Linuksa dla VirtualBoksa
397 %description -n dkms-vboxhost
398 This package contains DKMS enabled sourcecode of VirtualBox Support
399 Driver, Network Adapter Driver, Network Filter Driver and PCI card
400 passthrough driver that works as host proxy between guest and PCI
403 %description -n dkms-vboxhost -l pl.UTF-8
404 Ten pakiet zawiera sterownik wsparcia dla systemu głównego, sterownik
405 witrualnej karty sieciowej, sterownik filtrowania sieci dla systemu
406 głównego oraz sterownik, ktory działa jako proxy między gościem i
407 gospodarzem sprzętu PCI.
411 # KEEP ALL REGULAR SUBPACKAGES BEFORE KERNEL PACKAGES.
413 %define kernel_pkg()\
414 %package -n kernel%{_alt_kernel}-virtualbox-guest\
415 Summary: VirtualBox kernel modules for Linux Guest\
416 Summary(pl.UTF-8): Moduły VirtualBoksa do jądra Linuksa dla systemu gościa\
417 Release: %{rel}@%{_kernel_ver_str}\
419 Requires(post,postun): /sbin/depmod\
420 Requires(post): systemd-units >= 38\
421 Requires: dev >= 2.9.0-7\
422 Requires: systemd-units >= 38\
423 %requires_releq_kernel\
424 Requires: %{releq_kernel -n drm}\
425 Requires(postun): %releq_kernel\
426 Provides: kernel(vboxguest) = %{version}-%{rel}\
427 Provides: kernel(vboxsf) = %{version}-%{rel}\
428 %if %{_kernel_version_code} < %{_kernel_version_magic 4 13 0}\
429 Provides: kernel(vboxvideo) = %{version}-%{rel}\
431 Obsoletes: kernel-init-guest\
432 Conflicts: kernel%{_alt_kernel}-virtualbox-host\
434 %description -n kernel%{_alt_kernel}-virtualbox-guest\
435 This package contains VirtualBox Guest Additions for Linux Module,\
436 host file system access (Shared Folders) and DRM support for\
439 %description -n kernel%{_alt_kernel}-virtualbox-guest -l pl.UTF-8\
440 Ten pakiet zawiera moduł jądra Linuksa vboxguest dla VirtualBoksa -\
441 dodatki dla systemu gościa, dostęp do plików systemu głównego z\
442 poziomu systemu gościa i sterownik obsługi DRM.\
444 %package -n kernel%{_alt_kernel}-virtualbox-host\
445 Summary: VirtualBox Support Drivers\
446 Summary(pl.UTF-8): Moduły jądra Linuksa dla VirtualBoksa\
447 Release: %{rel}@%{_kernel_ver_str}\
449 Requires(post,postun): /sbin/depmod\
450 Requires(post): systemd-units >= 38\
451 Requires: dev >= 2.9.0-7\
452 %requires_releq_kernel\
453 Requires(postun): %releq_kernel\
454 Requires: systemd-units >= 38\
455 Provides: kernel(vboxdrv) = %{version}-%{rel}\
456 Provides: kernel(vboxnetadp) = %{version}-%{rel}\
457 Provides: kernel(vboxnetflt) = %{version}-%{rel}\
458 Obsoletes: kernel-init-host\
460 %description -n kernel%{_alt_kernel}-virtualbox-host\
461 This package contains VirtualBox Support Driver, Network Adapter\
462 Driver, Network Filter Driver and PCI card passthrough driver that\
463 works as host proxy between guest and PCI hardware.\
465 %description -n kernel%{_alt_kernel}-virtualbox-host -l pl.UTF-8\
466 Ten pakiet zawiera sterownik wsparcia dla systemu głównego, sterownik\
467 witrualnej karty sieciowej, sterownik filtrowania sieci dla systemu\
468 głównego oraz sterownik, ktory działa jako proxy między gościem i\
469 gospodarzem sprzętu PCI.\
472 %files -n kernel%{_alt_kernel}-virtualbox-guest\
473 %defattr(644,root,root,755)\
474 %if %{_kernel_version_code} >= %{_kernel_version_magic 4 16 0}\
475 %config(noreplace) %verify(not md5 mtime size) /etc/depmod.d/%{_kernel_ver}/vboxguest.conf\
477 %config(noreplace) %verify(not md5 mtime size) /etc/modules-load.d/virtualbox-guest.conf\
478 %if %{_kernel_version_code} < %{_kernel_version_magic 5 14 0}\
479 /lib/modules/%{_kernel_ver}/misc/vboxguest.ko*\
480 /lib/modules/%{_kernel_ver}/misc/vboxsf.ko*\
481 %if %{_kernel_version_code} < %{_kernel_version_magic 4 13 0}\
482 /lib/modules/%{_kernel_ver}/misc/vboxvideo.ko*\
487 %files -n kernel%{_alt_kernel}-virtualbox-host\
488 %config(noreplace) %verify(not md5 mtime size) /etc/modules-load.d/virtualbox-host.conf\
489 /lib/modules/%{_kernel_ver}/misc/vboxdrv.ko*\
490 /lib/modules/%{_kernel_ver}/misc/vboxnetadp.ko*\
491 /lib/modules/%{_kernel_ver}/misc/vboxnetflt.ko*\
495 %post -n kernel%{_alt_kernel}-virtualbox-guest\
496 %depmod %{_kernel_ver}\
498 %postun -n kernel%{_alt_kernel}-virtualbox-guest\
499 %depmod %{_kernel_ver}\
502 %post -n kernel%{_alt_kernel}-virtualbox-host\
503 %depmod %{_kernel_ver}\
505 %postun -n kernel%{_alt_kernel}-virtualbox-host\
506 %depmod %{_kernel_ver}\
510 %define build_kernel_pkg()\
511 export KERN_DIR=%{_kernelsrcdir}\
513 cd kernel/HostDrivers\
514 %build_kernel_modules -m vboxdrv -C vboxdrv\
515 %build_kernel_modules -m vboxnetadp -C vboxnetadp KBUILD_EXTRA_SYMBOLS=$PWD/../vboxdrv/Module.symvers\
516 %build_kernel_modules -m vboxnetflt -C vboxnetflt KBUILD_EXTRA_SYMBOLS=$PWD/../vboxdrv/Module.symvers\
517 %install_kernel_modules -D ../../kernel/installed -m vboxdrv/vboxdrv,vboxnetadp/vboxnetadp,vboxnetflt/vboxnetflt -d misc\
520 %if %{_kernel_version_code} < %{_kernel_version_magic 5 14 0}\
521 cd kernel/GuestDrivers\
522 %build_kernel_modules -m vboxguest -C vboxguest\
523 %build_kernel_modules -m vboxsf -C vboxsf KBUILD_EXTRA_SYMBOLS=$PWD/../vboxguest/Module.symvers\
524 %install_kernel_modules -D ../../kernel/installed -m vboxsf/vboxsf,vboxguest/vboxguest -d misc\
525 %if %{_kernel_version_code} < %{_kernel_version_magic 4 13 0}\
526 %build_kernel_modules -m vboxvideo -C vboxvideo KBUILD_EXTRA_SYMBOLS=$PWD/../vboxguest/Module.symvers\
527 %install_kernel_modules -D ../../kernel/installed -m vboxvideo/vboxvideo -d misc\
533 %define install_kernel_pkg()\
534 %if %{_kernel_version_code} >= %{_kernel_version_magic 4 16 0}\
535 install -d kernel/installed/etc/depmod.d/%{_kernel_ver}\
536 echo override vboxguest %{_kernel_ver} misc > kernel/installed/etc/depmod.d/%{_kernel_ver}/vboxguest.conf\
537 %if %{_kernel_version_code} >= %{_kernel_version_magic 5 6 0}\
538 echo override vboxsf %{_kernel_ver} misc >> kernel/installed/etc/depmod.d/%{_kernel_ver}/vboxguest.conf\
543 %{?with_kernel:%{expand:%create_kernel_packages}}
546 %setup -q -n %{pname}-%{version}
557 %if %{with all_langs}
570 %{__sed} -i -e 's,@VBOX_DOC_PATH@,%{_docdir}/%{name}-%{version},' \
571 -e 's/Categories=.*/Categories=Utility;Emulator;/' src/VBox/Installer/common/virtualbox.desktop.in
574 %{__sed} -i -e "s@_LDFLAGS\.%{vbox_arch}*.*=@& %{rpmldflags}@g" \
575 -i Config.kmk src/libs/xpcom18a4/Config.kmk
577 %{__sed} -i -e 's#@INSTALL_DIR@#%{_libdir}/%{pname}#' src/VBox/Installer/linux/VBox.sh
580 install -d kernel/{GuestDrivers,HostDrivers}
582 ../src/VBox/Additions/linux/export_modules.sh guest-modules.tar.gz
583 tar -zxf guest-modules.tar.gz -C GuestDrivers
585 ../src/VBox/HostDrivers/linux/export_modules.sh --file host-modules.tar.gz --without-hardening
586 tar -zxf host-modules.tar.gz -C HostDrivers
590 # using system kBuild package
593 # use linux icon for now
594 cp -p src/VBox/Frontends/VirtualBox/images/os_{linux26,pld}.png
595 cp -p src/VBox/Frontends/VirtualBox/images/os_{linux26,pld}_64.png
597 # don't force whole userspace to be built with -fPIC
598 # see https://www.virtualbox.org/pipermail/vbox-dev/2015-February/012863.html
599 %define filterout_c -fPIC
600 %define filterout_cxx -fPIC
602 cat <<'EOF'>> LocalConfig.kmk
603 %{?with_verbose:KBUILD_VERBOSE=3}
605 VBOX_BUILD_PUBLISHER=_PLD
606 VBOX_VERSION_STRING=$(VBOX_VERSION_MAJOR).$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD)_PLD
607 XSERVER_VERSION=%(rpm -q --queryformat '%{V}\n' xorg-xserver-server-devel | awk -F. '{ print $1 $2 }' 2>/dev/null || echo ERROR)
608 VBOX_USE_SYSTEM_XORG_HEADERS=1
609 VBOX_USE_SYSTEM_GL_HEADERS=1
611 VBOX_WITH_LIGHTDM_GREETER=1
612 VBOX_WITH_LIGHTDM_GREETER_PACKING=1
614 TOOL_GCC3_CFLAGS=%{rpmcflags}
615 TOOL_GCC3_CXXFLAGS=%{rpmcxxflags}
616 VBOX_GCC_OPT=%{rpmcxxflags}
618 TOOL_YASM_AS := /usr/bin/yasm
620 VBOX_BLD_PYTHON := %{__python3}
622 VBOX_PATH_APP_PRIVATE_ARCH := %{_libdir}/%{pname}
623 VBOX_PATH_APP_PRIVATE := %{_datadir}/%{pname}
624 VBOX_PATH_SHARED_LIBS := $(VBOX_PATH_APP_PRIVATE_ARCH)
626 VBOX_WITH_RUNPATH := $(VBOX_PATH_APP_PRIVATE_ARCH)
627 #VBOX_PATH_APP_DOCS := %{_docdir}/%{pname}-doc-%{version}
628 VBOX_PATH_DOCBOOK_DTD := %{_datadir}/sgml/docbook/xml-dtd-4.4
630 # don't build testcases to save time, they are not needed for the package
631 VBOX_WITH_TESTCASES :=
632 VBOX_WITH_TESTSUITE :=
634 VBOX_WITH_VRDP_RDESKTOP=
635 VBOX_WITH_MULTIVERSION_PYTHON=0
637 VBOX_ONLY_ADDITIONS_WITHOUT_RTISOMAKER=1
638 VBOX_ONLY_ADDITIONS=1
642 %undefine filterout_c
643 %undefine filterout_cxx
646 %if %{with userspace}
648 --with-gcc="%{__cc}" \
649 --with-g++="%{__cxx}" \
650 %{!?with_doc:--disable-docs} \
652 --disable-hardening \
655 %{!?with_gui:--disable-qt} \
656 %{__enable webservice} \
657 %{!?with_host:--only-additions} \
661 kmk %{?_smp_mflags} %{!?with_host:VBOX_ONLY_ADDITIONS_WITHOUT_RTISOMAKER=1 VBOX_ONLY_ADDITIONS=1}
664 %{?with_kernel:%{expand:%build_kernel_packages}}
665 %{?with_kernel:%{expand:%install_kernel_packages}}
668 rm -rf $RPM_BUILD_ROOT
670 %if %{with userspace}
671 install -d $RPM_BUILD_ROOT{%{_bindir},/sbin,%{_sbindir},%{_libdir}/%{pname}/ExtensionPacks} \
672 $RPM_BUILD_ROOT{%{_pixmapsdir},%{_desktopdir},%{_datadir}/mime/packages} \
673 $RPM_BUILD_ROOT/etc/sysconfig \
674 $RPM_BUILD_ROOT%{_sysconfdir}/vbox/autostart \
675 $RPM_BUILD_ROOT%{_libdir}/xorg/modules/{drivers,dri,input} \
676 $RPM_BUILD_ROOT{/lib/udev,/etc/udev/rules.d} \
677 $RPM_BUILD_ROOT{/etc/rc.d/init.d,%{systemdunitdir},%{_usrsrc}}
679 # test if we can hardlink -- %{_builddir} and $RPM_BUILD_ROOT on same partition
680 if cp -al COPYING $RPM_BUILD_ROOT/COPYING; then
682 %{__rm} $RPM_BUILD_ROOT/COPYING
685 install -d $RPM_BUILD_ROOT%{_datadir}/%{pname}
687 cp -a$l %{outdir}/* $RPM_BUILD_ROOT%{_libdir}/%{pname}
690 %{__rm} -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/icons
691 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/virtualbox.xml
695 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxAudioTest
696 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxClient
697 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxControl
698 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxDRMClient
699 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxService
700 install -d $RPM_BUILD_ROOT/etc/xdg/autostart
701 cp -p src/VBox/Additions/x11/Installer/vboxclient.desktop \
702 $RPM_BUILD_ROOT/etc/xdg/autostart/vboxclient.desktop
703 install -p src/VBox/Additions/x11/Installer/98vboxadd-xclient $RPM_BUILD_ROOT%{_bindir}/VBoxClient-all
704 install -p %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxservice
705 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{systemdunitdir}/vboxservice.service
706 cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/vboxservice
708 cp -p %{SOURCE11} $RPM_BUILD_ROOT%{systemdunitdir}/vboxclient-vmsvga.service
710 install -p %{SOURCE9} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxautostart
711 %{__sed} -i -e 's#@INSTALL_DIR@#%{_libdir}/%{pname}#' $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxautostart
712 cp -p %{SOURCE10} $RPM_BUILD_ROOT%{_sysconfdir}/vbox
715 install -d $RPM_BUILD_ROOT%{_datadir}/xgreeters
716 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_sbindir}}/vbox-greeter
717 cp -p %{objdir}/Additions/Installer/linux/other/vbox-greeter.desktop $RPM_BUILD_ROOT%{_datadir}/xgreeters
721 mv $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/src $RPM_BUILD_ROOT%{_usrsrc}/vboxguest-%{version}-%{rel}
725 install -d $RPM_BUILD_ROOT/%{_lib}/security
726 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,/%{_lib}/security}/pam_vbox.so
729 %{__mv} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/mount.vboxsf $RPM_BUILD_ROOT/sbin/mount.vboxsf
732 install -p %{SOURCE5} $RPM_BUILD_ROOT/sbin/mount.vdi
734 # these belong to .iso
735 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/autorun.sh
736 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/runasroot.sh
738 cp -p %{SOURCE12} $RPM_BUILD_ROOT/etc/udev/rules.d/60-vboxguest.rules
743 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPInstall
744 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPLoggerCtl
745 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPUninstall
746 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/load.sh
747 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/loadall.sh
748 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxshell.py
749 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/xpidl
752 cp -p$l %{SOURCE1} $RPM_BUILD_ROOT%{_datadir}/%{pname}/VBoxGuestAdditions.iso ||
753 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_datadir}/%{pname}/VBoxGuestAdditions.iso
755 # manual installation steps based on src/VBox/Installer/linux/install.sh
756 ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/VirtualBox
757 ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/VBoxManage
758 ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/VBoxVRDP
759 ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/VBoxHeadless
760 ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/VBoxBalloonCtrl
761 ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/VBoxAutostart
762 ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/vboxwebsrv
763 ln -sf %{_libdir}/%{pname}/vbox-img $RPM_BUILD_ROOT%{_bindir}/vbox-img
764 ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/VBoxDTrace
765 cp -p $RPM_BUILD_ROOT%{_libdir}/%{pname}/icons/128x128/virtualbox.png $RPM_BUILD_ROOT%{_pixmapsdir}/virtualbox.png
766 mv $RPM_BUILD_ROOT%{_libdir}/%{pname}/virtualbox.desktop $RPM_BUILD_ROOT%{_desktopdir}/virtualbox.desktop
767 mv $RPM_BUILD_ROOT%{_libdir}/%{pname}/virtualbox.xml $RPM_BUILD_ROOT%{_datadir}/mime/packages/virtualbox.xml
769 mv $RPM_BUILD_ROOT%{_libdir}/%{pname}/nls $RPM_BUILD_ROOT%{_datadir}/%{pname}
772 cd $RPM_BUILD_ROOT%{_libdir}/%{pname}/icons
776 if expr "$j" : "virtualbox\..*" > /dev/null; then
781 if [ ! -e $RPM_BUILD_ROOT%{_iconsdir}/hicolor/$i/$dst ]; then
782 install -d $RPM_BUILD_ROOT%{_iconsdir}/hicolor/$i/$dst
784 mv $RPM_BUILD_ROOT%{_libdir}/%{pname}/icons/$i/$j $RPM_BUILD_ROOT%{_iconsdir}/hicolor/$i/$dst/$j
790 rm -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/icons
792 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname},/lib/udev}/VBoxCreateUSBNode.sh
793 cp -p %{SOURCE6} $RPM_BUILD_ROOT/etc/udev/rules.d/60-vboxdrv.rules
796 mv $RPM_BUILD_ROOT%{_libdir}/%{pname}/src $RPM_BUILD_ROOT%{_usrsrc}/vboxhost-%{version}-%{rel}
800 %{__rm} -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/{sdk,testcase}
801 %{__rm} -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/dtrace
802 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxkeyboard.tar.bz2
803 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/scripts/generated.sh
804 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/ExtensionPacks/VNC/ExtPack-license.*
808 %{__rm} -r $RPM_BUILD_ROOT%{_iconsdir}/hicolor/40x40
811 # duplicate, we already have virtualbox.png (128x128), this is 32x32
812 %{__rm} -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/VBox.png
815 ln -sf %{_docdir}/%{pname}-doc-%{version}/UserManual.pdf $RPM_BUILD_ROOT%{_libdir}/%{pname}/UserManual.pdf
816 %if %{with all_langs}
817 ln -sf %{_docdir}/%{pname}-doc-%{version}/UserManual_fr_FR.pdf $RPM_BUILD_ROOT%{_libdir}/%{pname}/UserManual_fr_FR.pdf
824 install -d $RPM_BUILD_ROOT{/etc/modules-load.d,/sbin}
826 cp -a kernel/installed/* $RPM_BUILD_ROOT
828 # Tell systemd to load modules
829 cp -p %{SOURCE7} $RPM_BUILD_ROOT/etc/modules-load.d/virtualbox-host.conf
830 cp -p %{SOURCE8} $RPM_BUILD_ROOT/etc/modules-load.d/virtualbox-guest.conf
834 rm -rf $RPM_BUILD_ROOT
837 %groupadd -g 221 -r -f vbox
840 /sbin/chkconfig --add vboxautostart
841 %service -n vboxautostart restart
843 for i in /sys/bus/usb/devices/*; do
844 if [ -r "$i/dev" ]; then
845 dev="`cat "$i/dev" 2>/dev/null || true`"
846 major="`expr "$dev" : '\(.*\):' 2> /dev/null || true`"
847 minor="`expr "$dev" : '.*:\(.*\)' 2> /dev/null || true`"
848 class="`cat $i/bDeviceClass 2> /dev/null || true`"
849 /lib/udev/VBoxCreateUSBNode.sh "$major" "$minor" "$class" vbox 2>/dev/null
854 You must install vboxdrv kernel modules for this software to work:
855 kernel*-virtualbox-host-%{version}-%{rel}@*
857 On Guest Linux system you might want to install:
858 kernel*-virtualbox-guest-%{version}-%{rel}@*
863 if [ "$1" = "0" ]; then
864 /sbin/chkconfig --del vboxautostart
865 %service vboxautostart -q stop
870 if [ "$1" = "0" ]; then
875 %update_desktop_database
876 %update_icon_cache hicolor
877 %update_mime_database
880 %update_desktop_database
881 %update_icon_cache hicolor
882 %update_mime_database
885 %useradd -u 336 -d /usr/share/empty -s /bin/false -c "VirtualBox guest additions" -g nobody vboxadd
886 # Add a group "vboxsf" for Shared Folders access
887 # All users which want to access the auto-mounted Shared Folders have to be added to this group.
888 %groupadd -g 266 -r -f vboxsf
891 /sbin/chkconfig --add vboxservice
892 %service vboxservice restart
893 %systemd_post vboxservice.service vboxclient-vmsvga.service
896 if [ "$1" = "0" ]; then
897 /sbin/chkconfig --del vboxservice
898 %service vboxservice -q stop
900 %systemd_preun vboxservice.service vboxclient-vmsvga.service
903 if [ "$1" = "0" ]; then
909 %triggerpostun guest -- VirtualBox-guest < 4.3.0-1
910 %systemd_trigger vboxservice.service
912 %pre -n lightdm-greeter-vbox
913 %addusertogroup xdm vbox
915 %post -n dkms-vboxguest
916 dkms add -m vboxguest -v %{version}-%{rel} --rpm_safe_upgrade && \
917 dkms build -m vboxguest -v %{version}-%{rel} --rpm_safe_upgrade && \
918 dkms install -m vboxguest -v %{version}-%{rel} --rpm_safe_upgrade || :
920 %preun -n dkms-vboxguest
921 dkms remove -m vboxguest -v %{version}-%{rel} --rpm_safe_upgrade --all || :
923 %post -n dkms-vboxhost
924 dkms add -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade && \
925 dkms build -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade && \
926 dkms install -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade || :
928 %preun -n dkms-vboxhost
929 dkms remove -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade --all || :
931 %if %{with userspace}
934 %defattr(644,root,root,755)
935 %dir %attr(751,root,root) %{_sysconfdir}/vbox
936 %dir %attr(770,root,vbox) %{_sysconfdir}/vbox/autostart
937 %attr(640,root,vbox) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vbox/autostart.cfg
938 %attr(754,root,root) /etc/rc.d/init.d/vboxautostart
939 %attr(755,root,root) /sbin/mount.vdi
940 %attr(755,root,root) %{_bindir}/VBoxAutostart
941 %attr(755,root,root) %{_bindir}/VBoxBalloonCtrl
942 %attr(755,root,root) %{_bindir}/VBoxDTrace
943 %attr(755,root,root) %{_bindir}/VBoxHeadless
944 %attr(755,root,root) %{_bindir}/VBoxManage
945 %attr(755,root,root) %{_bindir}/VBoxVRDP
946 %attr(755,root,root) %{_bindir}/vbox-img
947 %dir %{_libdir}/%{pname}
949 %attr(755,root,root) %{_libdir}/%{pname}/DbgPlugInDiggers.so
950 %attr(755,root,root) %{_libdir}/%{pname}/VBoxAuth.so
951 %attr(755,root,root) %{_libdir}/%{pname}/VBoxAuthSimple.so
952 %attr(755,root,root) %{_libdir}/%{pname}/VBoxDD.so
953 %attr(755,root,root) %{_libdir}/%{pname}/VBoxDD2.so
954 %attr(755,root,root) %{_libdir}/%{pname}/VBoxDDU.so
955 %attr(755,root,root) %{_libdir}/%{pname}/VBoxDxVk.so
956 %attr(755,root,root) %{_libdir}/%{pname}/VBoxDragAndDropSvc.so
957 %attr(755,root,root) %{_libdir}/%{pname}/VBoxGuestControlSvc.so
958 %attr(755,root,root) %{_libdir}/%{pname}/VBoxGuestPropSvc.so
959 %attr(755,root,root) %{_libdir}/%{pname}/VBoxHostChannel.so
960 %attr(755,root,root) %{_libdir}/%{pname}/VBoxKeyboard.so
961 %attr(755,root,root) %{_libdir}/%{pname}/VBoxPython*.so
962 %attr(755,root,root) %{_libdir}/%{pname}/VBoxRT.so
963 %attr(755,root,root) %{_libdir}/%{pname}/VBoxSVGA3D.so
964 %attr(755,root,root) %{_libdir}/%{pname}/VBoxSharedClipboard.so
965 %attr(755,root,root) %{_libdir}/%{pname}/VBoxSharedFolders.so
966 %attr(755,root,root) %{_libdir}/%{pname}/VBoxVMM.so
967 %attr(755,root,root) %{_libdir}/%{pname}/VBoxXPCOM.so
968 %attr(755,root,root) %{_libdir}/%{pname}/VBoxXPCOMC.so
970 %attr(755,root,root) %{_libdir}/%{pname}/VBoxREM32.so
971 %attr(755,root,root) %{_libdir}/%{pname}/VBoxREM64.so
975 %attr(755,root,root) %{_libdir}/%{pname}/VBox.sh
976 %attr(755,root,root) %{_libdir}/%{pname}/VBoxAudioTest
977 %attr(755,root,root) %{_libdir}/%{pname}/VBoxAutostart
978 %attr(755,root,root) %{_libdir}/%{pname}/VBoxBalloonCtrl
979 %attr(755,root,root) %{_libdir}/%{pname}/VBoxDTrace
980 %attr(755,root,root) %{_libdir}/%{pname}/VBoxExtPackHelperApp
981 %attr(755,root,root) %{_libdir}/%{pname}/VBoxHeadless
982 %attr(755,root,root) %{_libdir}/%{pname}/VBoxManage
983 %attr(755,root,root) %{_libdir}/%{pname}/VBoxNetAdpCtl
984 %attr(755,root,root) %{_libdir}/%{pname}/VBoxNetDHCP
985 %attr(755,root,root) %{_libdir}/%{pname}/VBoxNetNAT
986 %attr(755,root,root) %{_libdir}/%{pname}/VBoxSVC
987 %attr(755,root,root) %{_libdir}/%{pname}/VBoxVMMPreload
988 %attr(755,root,root) %{_libdir}/%{pname}/VBoxVolInfo
989 %attr(755,root,root) %{_libdir}/%{pname}/VBoxXPCOMIPCD
990 %attr(755,root,root) %{_libdir}/%{pname}/VirtualBoxVM
991 %attr(755,root,root) %{_libdir}/%{pname}/bldRTLdrCheckImports
992 %attr(755,root,root) %{_libdir}/%{pname}/iPxeBaseBin
993 %attr(755,root,root) %{_libdir}/%{pname}/vboximg-mount
994 %dir %{_libdir}/%{pname}/tools
995 %attr(755,root,root) %{_libdir}/%{pname}/tools/LnxPerfHack
996 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTCat
997 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTChMod
998 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTCp
999 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTDbgSymCache
1000 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTEfiFatExtract
1001 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTEfiSigDb
1002 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTFuzzClient
1003 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTFuzzMaster
1004 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTFtpServer
1005 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTGzip
1006 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTHttp
1007 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTHttpServer
1008 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTIsoMaker
1009 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTKrnlModInfo
1010 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTLdrCheckImports
1011 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTLdrFlt
1012 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTLs
1013 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTManifest
1014 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTMkDir
1015 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTRm
1016 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTRmDir
1017 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTShutdown
1018 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTSignTool
1019 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTTar
1020 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTTraceLogTool
1021 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTUnzip
1022 %attr(755,root,root) %{_libdir}/%{pname}/tools/scm
1024 %dir %{_libdir}/%{pname}/ExtensionPacks
1025 %{_libdir}/%{pname}/ExtensionPacks/VNC/ExtPack.xml
1026 %dir %{_libdir}/%{pname}/ExtensionPacks/VNC
1027 %dir %{_libdir}/%{pname}/ExtensionPacks/VNC/linux*
1028 %attr(755,root,root) %{_libdir}/%{pname}/ExtensionPacks/VNC/linux*/VBoxVNC*.so
1029 %dir %{_libdir}/%{pname}/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack
1030 %{_libdir}/%{pname}/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/ExtPack.xml
1031 %dir %{_libdir}/%{pname}/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux*
1032 %attr(755,root,root) %{_libdir}/%{pname}/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux*/VBoxDTrace*.so
1033 %{_libdir}/%{pname}/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux*/VBoxDTraceR0.debug
1034 %{_libdir}/%{pname}/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux*/VBoxDTraceR0.r0
1036 %{_libdir}/%{pname}/VBoxBugReport
1037 %{_libdir}/%{pname}/VBoxCpuReport
1038 %{_libdir}/%{pname}/VBoxDDR0.debug
1039 %{_libdir}/%{pname}/VBoxDDR0.r0
1040 %{_libdir}/%{pname}/VBoxEFI32.fd
1041 %{_libdir}/%{pname}/VBoxEFI64.fd
1042 %{_libdir}/%{pname}/VMMR0.debug
1043 %{_libdir}/%{pname}/VMMR0.r0
1045 %dir %{_libdir}/%{pname}/components
1046 %{_libdir}/%{pname}/components/VBoxXPCOMBase.xpt
1047 %{_libdir}/%{pname}/components/VirtualBox_XPCOM.xpt
1048 %attr(755,root,root) %{_libdir}/%{pname}/components/VBoxC.so
1049 %attr(755,root,root) %{_libdir}/%{pname}/components/VBoxSVCM.so
1050 %attr(755,root,root) %{_libdir}/%{pname}/components/VBoxXPCOMIPCC.so
1051 %attr(755,root,root) %{_libdir}/%{pname}/VBoxSysInfo.sh
1053 %{_libdir}/%{pname}/UnattendedTemplates
1055 %dir %{_datadir}/%{pname}
1057 %config(noreplace) %verify(not md5 mtime size) /etc/udev/rules.d/60-vboxdrv.rules
1058 %attr(755,root,root) /lib/udev/VBoxCreateUSBNode.sh
1062 %defattr(644,root,root,755)
1063 %attr(755,root,root) %{_bindir}/VirtualBox
1064 %attr(755,root,root) %{_libdir}/%{pname}/UICommon.so
1065 %attr(755,root,root) %{_libdir}/%{pname}/VBoxDbg.so
1066 %attr(755,root,root) %{_libdir}/%{pname}/VBoxTestOGL
1067 %attr(755,root,root) %{_libdir}/%{pname}/VirtualBox
1068 %dir %{_datadir}/%{pname}/nls
1069 %lang(bg) %{_datadir}/%{pname}/nls/*_bg.qm
1070 %lang(ca) %{_datadir}/%{pname}/nls/*_ca.qm
1071 %lang(ca_VA) %{_datadir}/%{pname}/nls/*_ca_VA.qm
1072 %lang(cs) %{_datadir}/%{pname}/nls/*_cs.qm
1073 %lang(da) %{_datadir}/%{pname}/nls/*_da.qm
1074 %lang(de) %{_datadir}/%{pname}/nls/*_de.qm
1075 %lang(en) %{_datadir}/%{pname}/nls/*_el.qm
1076 %lang(en) %{_datadir}/%{pname}/nls/*_en.qm
1077 %lang(es) %{_datadir}/%{pname}/nls/*_es.qm
1078 %lang(eu) %{_datadir}/%{pname}/nls/*_eu.qm
1079 %lang(fa) %{_datadir}/%{pname}/nls/*_fa.qm
1080 %lang(fi) %{_datadir}/%{pname}/nls/*_fi.qm
1081 %lang(fr) %{_datadir}/%{pname}/nls/*_fr.qm
1082 %lang(gl) %{_datadir}/%{pname}/nls/*_gl.qm
1083 %lang(he) %{_datadir}/%{pname}/nls/*_he.qm
1084 %lang(hr) %{_datadir}/%{pname}/nls/*_hr_HR.qm
1085 %lang(hu) %{_datadir}/%{pname}/nls/*_hu.qm
1086 %lang(id) %{_datadir}/%{pname}/nls/*_id.qm
1087 %lang(it) %{_datadir}/%{pname}/nls/*_it.qm
1088 %lang(ja) %{_datadir}/%{pname}/nls/*_ja.qm
1089 %lang(ka) %{_datadir}/%{pname}/nls/*_ka.qm
1090 %lang(km_KH) %{_datadir}/%{pname}/nls/*_km_KH.qm
1091 %lang(ko) %{_datadir}/%{pname}/nls/*_ko.qm
1092 %lang(lt) %{_datadir}/%{pname}/nls/*_lt.qm
1093 %lang(nl) %{_datadir}/%{pname}/nls/*_nl.qm
1094 %lang(pl) %{_datadir}/%{pname}/nls/*_pl.qm
1095 %lang(pt) %{_datadir}/%{pname}/nls/*_pt.qm
1096 %lang(pt_BR) %{_datadir}/%{pname}/nls/*_pt_BR.qm
1097 %lang(ro) %{_datadir}/%{pname}/nls/*_ro.qm
1098 %lang(ru) %{_datadir}/%{pname}/nls/*_ru.qm
1099 %lang(sk) %{_datadir}/%{pname}/nls/*_sk.qm
1100 %lang(sk) %{_datadir}/%{pname}/nls/*_sl.qm
1101 %lang(sr) %{_datadir}/%{pname}/nls/*_sr.qm
1102 %lang(sv) %{_datadir}/%{pname}/nls/*_sv.qm
1103 %lang(th) %{_datadir}/%{pname}/nls/*_th.qm
1104 %lang(tr) %{_datadir}/%{pname}/nls/*_tr.qm
1105 %lang(uk) %{_datadir}/%{pname}/nls/*_uk.qm
1106 %lang(zh_CN) %{_datadir}/%{pname}/nls/*_zh_CN.qm
1107 %lang(zh_TW) %{_datadir}/%{pname}/nls/*_zh_TW.qm
1108 %{_desktopdir}/virtualbox.desktop
1109 %{_pixmapsdir}/virtualbox.png
1110 %{_iconsdir}/hicolor/*/apps/virtualbox.png
1111 %{_iconsdir}/hicolor/*/apps/virtualbox.svg
1112 %{_iconsdir}/hicolor/*/mimetypes/virtualbox-*.png
1113 %{_datadir}/mime/packages/virtualbox.xml
1117 %defattr(644,root,root,755)
1118 %{_datadir}/%{pname}/VBoxGuestAdditions.iso
1120 %if %{with webservice}
1122 %defattr(644,root,root,755)
1123 %attr(755,root,root) %{_bindir}/vboxwebsrv
1124 %attr(755,root,root) %{_libdir}/%{pname}/vboxwebsrv
1125 %attr(755,root,root) %{_libdir}/%{pname}/webtest
1130 %defattr(644,root,root,755)
1131 %doc %{_libdir}/%{pname}/UserManual.qch
1132 %doc %{_libdir}/%{pname}/UserManual.qhc
1133 # this is a symlink...
1134 %doc %{_libdir}/%{pname}/UserManual.pdf
1135 %if %{with all_langs}
1136 %lang(fr) %doc %{_libdir}/%{pname}/UserManual_fr_FR.pdf
1139 %doc %{outdir}/UserManual.pdf
1140 %if %{with all_langs}
1141 %lang(fr) %doc %{outdir}/UserManual_fr_FR.pdf
1147 %defattr(644,root,root,755)
1148 %attr(755,root,root) /sbin/mount.vboxsf
1149 %attr(754,root,root) /etc/rc.d/init.d/vboxservice
1150 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/vboxservice
1151 %{systemdunitdir}/vboxservice.service
1152 %{systemdunitdir}/vboxclient-vmsvga.service
1153 %attr(755,root,root) %{_bindir}/VBoxAudioTest
1154 %attr(755,root,root) %{_bindir}/VBoxControl
1155 %attr(755,root,root) %{_bindir}/VBoxService
1156 %config(noreplace) %verify(not md5 mtime size) /etc/udev/rules.d/60-vboxguest.rules
1159 %defattr(644,root,root,755)
1160 /etc/xdg/autostart/vboxclient.desktop
1161 %attr(755,root,root) %{_bindir}/VBoxClient
1162 %attr(755,root,root) %{_bindir}/VBoxClient-all
1163 %attr(755,root,root) %{_bindir}/VBoxDRMClient
1166 %files -n lightdm-greeter-vbox
1167 %defattr(644,root,root,755)
1168 %attr(755,root,root) %{_sbindir}/vbox-greeter
1169 %{_datadir}/xgreeters/vbox-greeter.desktop
1172 %files -n pam-pam_vbox
1173 %defattr(644,root,root,755)
1174 %attr(755,root,root) /%{_lib}/security/pam_vbox.so
1177 %files -n dkms-vboxguest
1178 %defattr(644,root,root,755)
1179 %{_usrsrc}/vboxguest-%{version}-%{rel}
1182 %files -n dkms-vboxhost
1183 %defattr(644,root,root,755)
1184 %{_usrsrc}/vboxhost-%{version}-%{rel}