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
47 Summary: VirtualBox - x86 hardware virtualizer
48 Summary(pl.UTF-8): VirtualBox - wirtualizator sprzętu x86
49 Name: %{pname}%{?_pld_builder:%{?with_kernel:-kernel}}%{_alt_kernel}
51 Release: %{rel}%{?_pld_builder:%{?with_kernel:@%{_kernel_ver_str}}}
53 Group: Applications/Emulators
54 Source0: http://download.virtualbox.org/virtualbox/%{version}/%{pname}-%{version}.tar.bz2
55 # Source0-md5: 96e53b9e75a37cc6fd2d13d9c9f6881d
56 Source1: http://download.virtualbox.org/virtualbox/%{version}/VBoxGuestAdditions_%{version}.iso
57 # Source1-md5: b5722fb63e3928e8829ca84132e49c7b
58 Source2: vboxservice.init
59 Source3: vboxservice.service
60 Source4: vboxservice.sysconfig
63 Source7: %{pname}-virtualbox-host-modules-load.conf
64 Source8: %{pname}-virtualbox-guest-modules-load.conf
65 Source9: vboxautostart.init
66 Source10: autostart.cfg
67 Source11: vboxclient-vmsvga.service
68 Source12: udev-guest.rules
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: kernel-5.0.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: VirtualBox-udev < 4.2.10-5
186 ExclusiveArch: %{ix86} %{x8664} %{?with_kernel:x32}
187 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
190 %define vbox_arch amd64
192 %define vbox_arch x86
194 %define vbox_platform linux.%{vbox_arch}
195 %define outdir out/%{vbox_platform}/release/bin
196 %define objdir out/%{vbox_platform}/release/obj
198 %define filterout -Werror=format-security
201 Oracle VirtualBox is a general-purpose full virtualizer for x86
202 hardware. Targeted at server, desktop and embedded use, it is now the
203 only professional-quality virtualization solution that is also Open
206 Some of the features of VirtualBox are:
208 Modularity: VirtualBox has an extremely modular design with
209 well-defined internal programming interfaces and a client/server
210 design. This makes it easy to control it from several interfaces at
211 once: for example, you can start a virtual machine in a typical
212 virtual machine GUI and then control that machine from the command
213 line. VirtualBox also comes with a full Software Development Kit: even
214 though it is Open Source Software, you don't have to hack the source
215 to write a new interface for VirtualBox.
217 Virtual machine descriptions in XML: the configuration settings of
218 virtual machines are stored entirely in XML and are independent of the
219 local machines. Virtual machine definitions can therefore easily be
220 ported to other computers.
222 You should install this package in your Host OS.
224 %description -l pl.UTF-8
225 Oracle VirtualBox jest emulatorem sprzętu x86. Kierowany do zastosowań
226 serwerowych, desktopowych oraz wbudowanych jest obecnie jedynym
227 wysokiej jakości rozwiązaniem wirtualizacyjnym dostępnym również jako
228 Otwarte Oprogramowanie.
230 Przykładowe cechy VirtualBoksa:
232 Modularność: VirtualBox jest wysoce zmodularyzowanym produktem z
233 dobrze zaprojektowanym wewnętrznym interfejsem programowym typu
234 klient/serwer. Dzięki temu można łatwo kontrolować go za pomocą
235 różnych interfejsów. Można na przykład uruchomić maszynę wirtualną z
236 poziomu interfejsu graficznego, a później kontrolować ją z linii
237 poleceń. VirtualBox dostarcza również pełny pakiet deweloperski, co
238 pozwala stworzyć dowolny inny interfejs zarządzania maszyną wirtualną.
240 Opisy maszyn wirtualnych w XML-u: konfiguracje poszczególnych maszyn
241 wirtualnych są w całości przechowywane w XML-u i są niezależne od
242 lokalnej maszyny. Dzięki temu można szybko i łatwo przenieść
243 konfigurację maszyny wirtualnej na inny komputer.
246 Summary: Qt GUI part for VirtualBox
247 Group: X11/Applications
248 Requires: %{name} = %{version}-%{release}
249 Requires: Qt5Core >= %{qtver}
250 Requires: Qt5Gui-platform-xcb >= %{qtver}
251 Requires: desktop-file-utils
252 Requires: desktop-file-utils
254 Requires: fonts-Type1-urw
255 Requires: gtk-update-icon-cache
256 Requires: hicolor-icon-theme
257 Requires: shared-mime-info
258 Suggests: Qt5Gui-platform-xcb-glx >= %{qtver}
259 Suggests: Qt5Gui-platform-xcb-egl >= %{qtver}
261 Conflicts: %{name} < 4.3.8-3
264 Qt GUI part for VirtualBox.
267 Summary: VirtualBox documentation
271 This package contains VirtualBox User Manual.
274 Summary: VirtualBox Guest Additions
276 Requires: %{name} = %{version}
277 %if "%{_rpmversion}" >= "5"
281 %description additions
282 VirtualBox Guest Additions.
284 This package contains ISO9660 image with drivers for Guest OS.
286 You should install this package in your Host OS.
289 Summary: VirtualBox Guest tools
291 Provides: group(vboxsf)
292 Requires(post): systemd-units >= 38
293 Requires(post,preun): /sbin/chkconfig
294 Requires(postun): /usr/sbin/groupdel
295 Requires(pre): /usr/bin/getgid
296 Requires(pre): /usr/sbin/groupadd
298 Requires: systemd-units >= 38
299 Suggests: kernel(vboxguest)
300 Suggests: kernel(vboxsf)
301 Suggests: pam-pam_vbox
304 Tools that utilize kernel modules for supporting integration with the
305 Host, including file sharing.
307 You should install this package in your Guest OS for base VirtualBox
311 Summary: VirtualBox Guest X11 Additions
312 Group: X11/Applications
313 Requires: %{name}-guest = %{version}-%{release}
314 Requires: xorg-app-xrandr
315 Requires: xorg-driver-video-vboxvideo = %{version}-%{release}
316 Requires: kernel(vboxvideo)
317 Obsoletes: xorg-driver-input-vboxmouse < %{version}-%{release}
319 %description guest-x11
320 Tools for X11 session that utilize kernel modules for supporting
321 integration with the Host, like tracking of mouse pointer movement and
322 X.org X11 video and mouse drivers
324 You should install this package in your Guest OS for X11 session.
327 Summary: VirtualBox Web Service
328 Group: Applications/Emulators
329 Requires: %{name} = %{version}-%{release}
331 %description webservice
332 This package contains VirtualBox web service API daemon. It allows to
333 control virtual machines via web interface.
335 %package -n lightdm-greeter-vbox
336 Summary: VirtualBox greeter for lightdm
338 # NOTE: '#' in url is lost because rpm treats it as comment, even hacking with
339 # macros doesn't help as rpmbuild takes final result to parse
340 URL: http://www.virtualbox.org/manual/ch09.html#autologon_unix_lightdm
341 Requires: %{name} = %{version}-%{release}
342 Requires: kernel(vboxguest)
343 Requires: lightdm >= 1.0.1
344 Requires: pam-pam_vbox = %{version}-%{release}
345 Provides: lightdm-greeter
347 %description -n lightdm-greeter-vbox
348 VirtualBox greeter for LightDM.
350 %package -n pam-pam_vbox
351 Summary: PAM module to perform automated guest logons
354 %description -n pam-pam_vbox
355 PAM module (Pluggable Authentication Module) which can be used to
356 perform automated guest logons.
358 %package -n xorg-driver-video-vboxvideo
359 Summary: X.org video driver for VirtualBox guest OS
360 Summary(pl.UTF-8): Sterownik grafiki dla systemu gościa w VirtualBoksie
361 Group: X11/Applications
362 Requires: Mesa-dri-driver-swrast
363 Requires: xorg-driver-video-modesetting
364 Requires: xorg-xserver-libdri >= 1.7.4
365 Requires: xorg-xserver-server >= 1.0.99.901
366 %{?requires_xorg_xserver_videodrv}
367 Provides: OpenGL = 2.1
368 Provides: OpenGL-GLX = 1.3
369 Provides: xorg-xserver-module(glx)
371 %description -n xorg-driver-video-vboxvideo
372 X.org video driver for VirtualBox guest OS.
374 %description -n xorg-driver-video-vboxvideo -l pl.UTF-8
375 Sterownik grafiki dla systemu gościa w VirtualBoksie.
377 %package -n dkms-vboxguest
378 Summary: VirtualBox kernel modules source for Linux Guest
379 Summary(pl.UTF-8): Moduły VirtualBoksa do jądra Linuksa dla systemu gościa
383 %if "%{_rpmversion}" >= "5"
387 %description -n dkms-vboxguest
388 This package contains DKMS-ready VirtualBox Guest Additions for Linux
389 Module, host file system access (Shared Folders) and DRM support for
392 %description -n dkms-vboxguest -l pl.UTF-8
393 Ten pakiet zawiera moduł jądra Linuksa vboxguest dla VirtualBoksa -
394 dodatki dla systemu gościa, dostęp do plików systemu głównego z
395 poziomu systemu gościa i sterownik obsługi DRM.
397 %package -n dkms-vboxhost
398 Summary: VirtualBox Support Drivers source
399 Summary(pl.UTF-8): Moduły jądra Linuksa dla VirtualBoksa
403 %if "%{_rpmversion}" >= "5"
407 %description -n dkms-vboxhost
408 This package contains DKMS enabled sourcecode of VirtualBox Support
409 Driver, Network Adapter Driver, Network Filter Driver and PCI card
410 passthrough driver that works as host proxy between guest and PCI
413 %description -n dkms-vboxhost -l pl.UTF-8
414 Ten pakiet zawiera sterownik wsparcia dla systemu głównego, sterownik
415 witrualnej karty sieciowej, sterownik filtrowania sieci dla systemu
416 głównego oraz sterownik, ktory działa jako proxy między gościem i
417 gospodarzem sprzętu PCI.
421 # KEEP ALL REGULAR SUBPACKAGES BEFORE KERNEL PACKAGES.
423 %define kernel_pkg()\
424 %package -n kernel%{_alt_kernel}-virtualbox-guest\
425 Summary: VirtualBox kernel modules for Linux Guest\
426 Summary(pl.UTF-8): Moduły VirtualBoksa do jądra Linuksa dla systemu gościa\
427 Release: %{rel}@%{_kernel_ver_str}\
429 Requires(post,postun): /sbin/depmod\
430 Requires(post): systemd-units >= 38\
431 Requires: dev >= 2.9.0-7\
432 Requires: systemd-units >= 38\
433 %requires_releq_kernel\
434 Requires: %{releq_kernel -n drm}\
435 Requires(postun): %releq_kernel\
436 Provides: kernel(vboxguest) = %{version}-%{rel}\
437 Provides: kernel(vboxsf) = %{version}-%{rel}\
438 Provides: kernel(vboxvideo) = %{version}-%{rel}\
439 Obsoletes: kernel-init-guest\
440 Conflicts: kernel%{_alt_kernel}-virtualbox-host\
442 %description -n kernel%{_alt_kernel}-virtualbox-guest\
443 This package contains VirtualBox Guest Additions for Linux Module,\
444 host file system access (Shared Folders) and DRM support for\
447 %description -n kernel%{_alt_kernel}-virtualbox-guest -l pl.UTF-8\
448 Ten pakiet zawiera moduł jądra Linuksa vboxguest dla VirtualBoksa -\
449 dodatki dla systemu gościa, dostęp do plików systemu głównego z\
450 poziomu systemu gościa i sterownik obsługi DRM.\
452 %package -n kernel%{_alt_kernel}-virtualbox-host\
453 Summary: VirtualBox Support Drivers\
454 Summary(pl.UTF-8): Moduły jądra Linuksa dla VirtualBoksa\
455 Release: %{rel}@%{_kernel_ver_str}\
457 Requires(post,postun): /sbin/depmod\
458 Requires(post): systemd-units >= 38\
459 Requires: dev >= 2.9.0-7\
460 %requires_releq_kernel\
461 Requires(postun): %releq_kernel\
462 Requires: systemd-units >= 38\
463 Provides: kernel(vboxdrv) = %{version}-%{rel}\
464 Provides: kernel(vboxnetadp) = %{version}-%{rel}\
465 Provides: kernel(vboxnetflt) = %{version}-%{rel}\
466 Provides: kernel(vboxpci) = %{version}-%{rel}\
467 Obsoletes: kernel-init-host\
469 %description -n kernel%{_alt_kernel}-virtualbox-host\
470 This package contains VirtualBox Support Driver, Network Adapter\
471 Driver, Network Filter Driver and PCI card passthrough driver that\
472 works as host proxy between guest and PCI hardware.\
474 %description -n kernel%{_alt_kernel}-virtualbox-host -l pl.UTF-8\
475 Ten pakiet zawiera sterownik wsparcia dla systemu głównego, sterownik\
476 witrualnej karty sieciowej, sterownik filtrowania sieci dla systemu\
477 głównego oraz sterownik, ktory działa jako proxy między gościem i\
478 gospodarzem sprzętu PCI.\
481 %files -n kernel%{_alt_kernel}-virtualbox-guest\
482 %defattr(644,root,root,755)\
483 %if %{_kernel_version_code} >= %{_kernel_version_magic 4 16 0}\
484 %config(noreplace) %verify(not md5 mtime size) /etc/depmod.d/%{_kernel_ver}/vboxguest.conf\
486 %config(noreplace) %verify(not md5 mtime size) /etc/modules-load.d/virtualbox-guest.conf\
487 /lib/modules/%{_kernel_ver}/misc/vboxguest.ko*\
488 /lib/modules/%{_kernel_ver}/misc/vboxsf.ko*\
489 %if %{_kernel_version_code} < %{_kernel_version_magic 4 13 0}\
490 /lib/modules/%{_kernel_ver}/misc/vboxvideo.ko*\
493 %files -n kernel%{_alt_kernel}-virtualbox-host\
494 %config(noreplace) %verify(not md5 mtime size) /etc/modules-load.d/virtualbox-host.conf\
495 /lib/modules/%{_kernel_ver}/misc/vboxdrv.ko*\
496 /lib/modules/%{_kernel_ver}/misc/vboxnetadp.ko*\
497 /lib/modules/%{_kernel_ver}/misc/vboxnetflt.ko*\
498 /lib/modules/%{_kernel_ver}/misc/vboxpci.ko*\
501 %post -n kernel%{_alt_kernel}-virtualbox-guest\
502 %depmod %{_kernel_ver}\
504 %postun -n kernel%{_alt_kernel}-virtualbox-guest\
505 %depmod %{_kernel_ver}\
507 %post -n kernel%{_alt_kernel}-virtualbox-host\
508 %depmod %{_kernel_ver}\
510 %postun -n kernel%{_alt_kernel}-virtualbox-host\
511 %depmod %{_kernel_ver}\
514 %define build_kernel_pkg()\
515 export KERN_DIR=%{_kernelsrcdir}\
516 cd PLD-MODULE-BUILD/HostDrivers\
517 %build_kernel_modules -m vboxdrv -C vboxdrv\
518 %build_kernel_modules -m vboxnetadp -C vboxnetadp\
519 %build_kernel_modules -m vboxnetflt -C vboxnetflt\
520 %build_kernel_modules -m vboxpci -C vboxpci\
522 %build_kernel_modules -m vboxguest -C vboxguest\
523 cp -a vboxguest/Module.symvers vboxsf\
524 %build_kernel_modules -m vboxsf -C vboxsf -c\
525 %if %{_kernel_version_code} < %{_kernel_version_magic 4 13 0}\
526 %build_kernel_modules -m vboxvideo -C vboxvideo\
529 %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\
530 %install_kernel_modules -D PLD-MODULE-BUILD/installed -m PLD-MODULE-BUILD/GuestDrivers/vboxguest/vboxguest -d misc\
531 %if %{_kernel_version_code} < %{_kernel_version_magic 4 13 0}\
532 %install_kernel_modules -D PLD-MODULE-BUILD/installed -m PLD-MODULE-BUILD/GuestDrivers/vboxvideo/vboxvideo -d misc\
536 %define install_kernel_pkg()\
537 %if %{_kernel_version_code} >= %{_kernel_version_magic 4 16 0}\
538 install -d PLD-MODULE-BUILD/installed/etc/depmod.d/%{_kernel_ver}\
539 echo override vboxguest %{_kernel_ver} misc > PLD-MODULE-BUILD/installed/etc/depmod.d/%{_kernel_ver}/vboxguest.conf\
543 %{?with_kernel:%{expand:%create_kernel_packages}}
546 %setup -q -n %{pname}-%{version}
558 %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 PLD-MODULE-BUILD/{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
589 # using system kBuild package
592 # use linux icon for now
593 cp -p src/VBox/Frontends/VirtualBox/images/os_{linux26,pld}.png
594 cp -p src/VBox/Frontends/VirtualBox/images/os_{linux26,pld}_64.png
596 # don't force whole userspace to be built with -fPIC
597 # see https://www.virtualbox.org/pipermail/vbox-dev/2015-February/012863.html
598 %define filterout_c -fPIC
599 %define filterout_cxx -fPIC
601 cat <<'EOF'>> LocalConfig.kmk
602 %{?with_verbose:KBUILD_VERBOSE=3}
604 VBOX_BUILD_PUBLISHER=_PLD
605 VBOX_VERSION_STRING=$(VBOX_VERSION_MAJOR).$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD)_PLD
606 XSERVER_VERSION=%(rpm -q --queryformat '%{V}\n' xorg-xserver-server-devel | awk -F. '{ print $1 $2 }' 2>/dev/null || echo ERROR)
607 VBOX_USE_SYSTEM_XORG_HEADERS=1
608 VBOX_USE_SYSTEM_GL_HEADERS=1
610 VBOX_WITH_LIGHTDM_GREETER=1
611 VBOX_WITH_LIGHTDM_GREETER_PACKING=1
613 TOOL_GCC3_CFLAGS=%{rpmcflags}
614 TOOL_GCC3_CXXFLAGS=%{rpmcxxflags}
615 VBOX_GCC_OPT=%{rpmcxxflags}
617 VBOX_PATH_APP_PRIVATE_ARCH := %{_libdir}/%{pname}
618 VBOX_PATH_APP_PRIVATE := %{_datadir}/%{pname}
619 VBOX_PATH_SHARED_LIBS := $(VBOX_PATH_APP_PRIVATE_ARCH)
621 VBOX_WITH_RUNPATH := $(VBOX_PATH_APP_PRIVATE_ARCH)
622 #VBOX_PATH_APP_DOCS := %{_docdir}/%{pname}-doc-%{version}
623 VBOX_PATH_DOCBOOK_DTD := %{_datadir}/sgml/docbook/xml-dtd-4.4
625 # don't build testcases to save time, they are not needed for the package
626 VBOX_WITH_TESTCASES :=
627 VBOX_WITH_TESTSUITE :=
629 VBOX_WITH_VRDP_RDESKTOP=
630 VBOX_WITH_MULTIVERSION_PYTHON=0
633 %undefine filterout_c
634 %undefine filterout_cxx
637 %if %{with userspace}
639 --with-gcc="%{__cc}" \
640 --with-g++="%{__cxx}" \
641 %{!?with_doc:--disable-docs} \
643 --disable-hardening \
646 %{!?with_gui:--disable-qt} \
647 %{__enable webservice} \
654 %{?with_kernel:%{expand:%build_kernel_packages}}
655 %{?with_kernel:%{expand:%install_kernel_packages}}
658 rm -rf $RPM_BUILD_ROOT
660 %if %{with userspace}
661 install -d $RPM_BUILD_ROOT{%{_bindir},/sbin,%{_sbindir},%{_libdir}/%{pname}/ExtensionPacks} \
662 $RPM_BUILD_ROOT{%{_pixmapsdir},%{_desktopdir},%{_datadir}/mime/packages} \
663 $RPM_BUILD_ROOT/etc/sysconfig \
664 $RPM_BUILD_ROOT%{_sysconfdir}/vbox/autostart \
665 $RPM_BUILD_ROOT%{_libdir}/xorg/modules/{drivers,dri,input} \
666 $RPM_BUILD_ROOT{/lib/udev,/etc/udev/rules.d} \
667 $RPM_BUILD_ROOT{/etc/rc.d/init.d,%{systemdunitdir},%{_usrsrc}}
669 # test if we can hardlink -- %{_builddir} and $RPM_BUILD_ROOT on same partition
670 if cp -al COPYING $RPM_BUILD_ROOT/COPYING; then
672 %{__rm} $RPM_BUILD_ROOT/COPYING
675 install -d $RPM_BUILD_ROOT%{_datadir}/%{pname}
677 cp -a$l %{outdir}/* $RPM_BUILD_ROOT%{_libdir}/%{pname}
678 cp -p$l %{SOURCE1} $RPM_BUILD_ROOT%{_datadir}/%{pname}/VBoxGuestAdditions.iso ||
679 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_datadir}/%{pname}/VBoxGuestAdditions.iso
682 %{__rm} -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/icons
683 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/virtualbox.xml
687 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/VBoxOGL.so,%{_libdir}/xorg/modules/dri/vboxvideo_dri.so}
688 # XXX: where else to install them that vboxvideo_dri.so finds them? patch with rpath?
689 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxEGL.so
690 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLarrayspu.so
691 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLcrutil.so
692 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLerrorspu.so
693 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLfeedbackspu.so
694 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLpackspu.so
695 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLpassthroughspu.so
698 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxClient
699 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxControl
700 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxService
701 install -d $RPM_BUILD_ROOT/etc/xdg/autostart
702 cp -p src/VBox/Additions/x11/Installer/vboxclient.desktop \
703 $RPM_BUILD_ROOT/etc/xdg/autostart/vboxclient.desktop
704 install -p src/VBox/Additions/x11/Installer/98vboxadd-xclient $RPM_BUILD_ROOT%{_bindir}/VBoxClient-all
705 install -p %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxservice
706 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{systemdunitdir}/vboxservice.service
707 cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/vboxservice
709 cp -p %{SOURCE11} $RPM_BUILD_ROOT%{systemdunitdir}/vboxclient-vmsvga.service
711 install -p %{SOURCE9} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxautostart
712 %{__sed} -i -e 's#@INSTALL_DIR@#%{_libdir}/%{pname}#' $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxautostart
713 cp -p %{SOURCE10} $RPM_BUILD_ROOT%{_sysconfdir}/vbox
716 install -d $RPM_BUILD_ROOT%{_datadir}/xgreeters
717 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_sbindir}}/vbox-greeter
718 cp -p %{objdir}/Additions/Installer/linux/other/vbox-greeter.desktop $RPM_BUILD_ROOT%{_datadir}/xgreeters
722 mv $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/src $RPM_BUILD_ROOT%{_usrsrc}/vboxguest-%{version}-%{rel}
726 install -d $RPM_BUILD_ROOT/%{_lib}/security
727 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,/%{_lib}/security}/pam_vbox.so
730 %{__mv} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/mount.vboxsf $RPM_BUILD_ROOT/sbin/mount.vboxsf
733 install -p %{SOURCE5} $RPM_BUILD_ROOT/sbin/mount.vdi
735 # these belong to .iso
736 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/autorun.sh
737 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/runasroot.sh
741 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPInstall
742 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPLoggerCtl
743 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPUninstall
744 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/load.sh
745 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/loadall.sh
746 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxshell.py
747 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/xpidl
750 # manual installation steps based on src/VBox/Installer/linux/install.sh
751 ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/VirtualBox
752 ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/VBoxManage
753 ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/VBoxSDL
754 ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/VBoxVRDP
755 ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/VBoxHeadless
756 ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/VBoxBalloonCtrl
757 ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/VBoxAutostart
758 ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/vboxwebsrv
759 ln -sf %{_libdir}/%{pname}/vbox-img $RPM_BUILD_ROOT%{_bindir}/vbox-img
760 ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/VBoxDTrace
761 cp -p $RPM_BUILD_ROOT%{_libdir}/%{pname}/icons/128x128/virtualbox.png $RPM_BUILD_ROOT%{_pixmapsdir}/virtualbox.png
762 mv $RPM_BUILD_ROOT%{_libdir}/%{pname}/virtualbox.desktop $RPM_BUILD_ROOT%{_desktopdir}/virtualbox.desktop
763 mv $RPM_BUILD_ROOT%{_libdir}/%{pname}/virtualbox.xml $RPM_BUILD_ROOT%{_datadir}/mime/packages/virtualbox.xml
765 mv $RPM_BUILD_ROOT%{_libdir}/%{pname}/nls $RPM_BUILD_ROOT%{_datadir}/%{pname}
768 cd $RPM_BUILD_ROOT%{_libdir}/%{pname}/icons
772 if expr "$j" : "virtualbox\..*" > /dev/null; then
777 if [ ! -e $RPM_BUILD_ROOT%{_iconsdir}/hicolor/$i/$dst ]; then
778 install -d $RPM_BUILD_ROOT%{_iconsdir}/hicolor/$i/$dst
780 mv $RPM_BUILD_ROOT%{_libdir}/%{pname}/icons/$i/$j $RPM_BUILD_ROOT%{_iconsdir}/hicolor/$i/$dst/$j
786 rm -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/icons
788 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname},/lib/udev}/VBoxCreateUSBNode.sh
789 cp -p %{SOURCE6} $RPM_BUILD_ROOT/etc/udev/rules.d/60-vboxdrv.rules
790 cp -p %{SOURCE12} $RPM_BUILD_ROOT/etc/udev/rules.d/60-vboxguest.rules
793 mv $RPM_BUILD_ROOT%{_libdir}/%{pname}/src $RPM_BUILD_ROOT%{_usrsrc}/vboxhost-%{version}-%{rel}
797 %{__rm} -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/{sdk,testcase}
798 %{__rm} -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/dtrace
799 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxkeyboard.tar.bz2
800 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/tst*
801 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/scripts/generated.sh
802 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/ExtensionPacks/VNC/ExtPack-license.*
806 %{__rm} -r $RPM_BUILD_ROOT%{_iconsdir}/hicolor/40x40
809 # duplicate, we already have virtualbox.png (128x128), this is 32x32
810 %{__rm} -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/VBox.png
813 ln -sf %{_docdir}/%{pname}-doc-%{version}/UserManual.pdf $RPM_BUILD_ROOT%{_libdir}/%{pname}/UserManual.pdf
814 %if %{with all_langs}
815 ln -sf %{_docdir}/%{pname}-doc-%{version}/UserManual_fr_FR.pdf $RPM_BUILD_ROOT%{_libdir}/%{pname}/UserManual_fr_FR.pdf
821 install -d $RPM_BUILD_ROOT{/etc/modules-load.d,/sbin}
823 cp -a PLD-MODULE-BUILD/installed/* $RPM_BUILD_ROOT
825 # Tell systemd to load modules
826 cp -p %{SOURCE7} $RPM_BUILD_ROOT/etc/modules-load.d/virtualbox-host.conf
827 cp -p %{SOURCE8} $RPM_BUILD_ROOT/etc/modules-load.d/virtualbox-guest.conf
831 rm -rf $RPM_BUILD_ROOT
834 %groupadd -g 221 -r -f vbox
837 /sbin/chkconfig --add vboxautostart
838 %service -n vboxautostart restart
840 for i in /sys/bus/usb/devices/*; do
841 if [ -r "$i/dev" ]; then
842 dev="`cat "$i/dev" 2>/dev/null || true`"
843 major="`expr "$dev" : '\(.*\):' 2> /dev/null || true`"
844 minor="`expr "$dev" : '.*:\(.*\)' 2> /dev/null || true`"
845 class="`cat $i/bDeviceClass 2> /dev/null || true`"
846 /lib/udev/VBoxCreateUSBNode.sh "$major" "$minor" "$class" vbox 2>/dev/null
851 You must install vboxdrv kernel modules for this software to work:
852 kernel*-virtualbox-host-%{version}-%{rel}@*
854 On Guest Linux system you might want to install:
855 kernel*-virtualbox-guest-%{version}-%{rel}@*
860 if [ "$1" = "0" ]; then
861 /sbin/chkconfig --del vboxautostart
862 %service vboxautostart -q stop
867 if [ "$1" = "0" ]; then
872 %update_desktop_database
873 %update_icon_cache hicolor
874 %update_mime_database
877 %update_desktop_database
878 %update_icon_cache hicolor
879 %update_mime_database
882 %useradd -u 336 -d /usr/share/empty -s /bin/false -c "VirtualBox guest additions" -g nobody vboxadd
883 # Add a group "vboxsf" for Shared Folders access
884 # All users which want to access the auto-mounted Shared Folders have to be added to this group.
885 %groupadd -g 266 -r -f vboxsf
888 /sbin/chkconfig --add vboxservice
889 %service vboxservice restart
890 %systemd_post vboxservice.service vboxclient-vmsvga.service
893 if [ "$1" = "0" ]; then
894 /sbin/chkconfig --del vboxservice
895 %service vboxservice -q stop
897 %systemd_preun vboxservice.service vboxclient-vmsvga.service
900 if [ "$1" = "0" ]; then
906 %triggerpostun guest -- VirtualBox-guest < 4.3.0-1
907 %systemd_trigger vboxservice.service
909 %pre -n lightdm-greeter-vbox
910 %addusertogroup xdm vbox
912 %post -n dkms-vboxguest
913 dkms add -m vboxguest -v %{version}-%{rel} --rpm_safe_upgrade && \
914 dkms build -m vboxguest -v %{version}-%{rel} --rpm_safe_upgrade && \
915 dkms install -m vboxguest -v %{version}-%{rel} --rpm_safe_upgrade || :
917 %preun -n dkms-vboxguest
918 dkms remove -m vboxguest -v %{version}-%{rel} --rpm_safe_upgrade --all || :
920 %post -n dkms-vboxhost
921 dkms add -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade && \
922 dkms build -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade && \
923 dkms install -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade || :
925 %preun -n dkms-vboxhost
926 dkms remove -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade --all || :
928 %if %{with userspace}
930 %defattr(644,root,root,755)
931 %dir %attr(751,root,root) %{_sysconfdir}/vbox
932 %dir %attr(770,root,vbox) %{_sysconfdir}/vbox/autostart
933 %attr(640,root,vbox) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vbox/autostart.cfg
934 %attr(754,root,root) /etc/rc.d/init.d/vboxautostart
935 %attr(755,root,root) /sbin/mount.vdi
936 %attr(755,root,root) %{_bindir}/VBoxAutostart
937 %attr(755,root,root) %{_bindir}/VBoxBalloonCtrl
938 %attr(755,root,root) %{_bindir}/VBoxDTrace
939 %attr(755,root,root) %{_bindir}/VBoxHeadless
940 %attr(755,root,root) %{_bindir}/VBoxManage
941 %attr(755,root,root) %{_bindir}/VBoxSDL
942 %attr(755,root,root) %{_bindir}/VBoxVRDP
943 %attr(755,root,root) %{_bindir}/vbox-img
944 %dir %{_libdir}/%{pname}
946 %attr(755,root,root) %{_libdir}/%{pname}/DbgPlugInDiggers.so
947 %attr(755,root,root) %{_libdir}/%{pname}/VBoxAuth.so
948 %attr(755,root,root) %{_libdir}/%{pname}/VBoxAuthSimple.so
949 %attr(755,root,root) %{_libdir}/%{pname}/VBoxDD.so
950 %attr(755,root,root) %{_libdir}/%{pname}/VBoxDD2.so
951 %attr(755,root,root) %{_libdir}/%{pname}/VBoxDDU.so
952 %attr(755,root,root) %{_libdir}/%{pname}/VBoxDragAndDropSvc.so
953 %attr(755,root,root) %{_libdir}/%{pname}/VBoxGlobal.so
954 %attr(755,root,root) %{_libdir}/%{pname}/VBoxGuestControlSvc.so
955 %attr(755,root,root) %{_libdir}/%{pname}/VBoxGuestPropSvc.so
956 %attr(755,root,root) %{_libdir}/%{pname}/VBoxHostChannel.so
957 %attr(755,root,root) %{_libdir}/%{pname}/VBoxKeyboard.so
958 %attr(755,root,root) %{_libdir}/%{pname}/VBoxOGLhostcrutil.so
959 %attr(755,root,root) %{_libdir}/%{pname}/VBoxOGLhosterrorspu.so
960 %attr(755,root,root) %{_libdir}/%{pname}/VBoxOGLrenderspu.so
961 %attr(755,root,root) %{_libdir}/%{pname}/VBoxPython*.so
962 %attr(755,root,root) %{_libdir}/%{pname}/VBoxREM.so
963 %attr(755,root,root) %{_libdir}/%{pname}/VBoxRT.so
964 %attr(755,root,root) %{_libdir}/%{pname}/VBoxSVGA3D.so
965 %attr(755,root,root) %{_libdir}/%{pname}/VBoxSharedClipboard.so
966 %attr(755,root,root) %{_libdir}/%{pname}/VBoxSharedCrOpenGL.so
967 %attr(755,root,root) %{_libdir}/%{pname}/VBoxSharedFolders.so
968 %attr(755,root,root) %{_libdir}/%{pname}/VBoxVMM.so
969 %attr(755,root,root) %{_libdir}/%{pname}/VBoxXPCOM.so
970 %attr(755,root,root) %{_libdir}/%{pname}/VBoxXPCOMC.so
972 %attr(755,root,root) %{_libdir}/%{pname}/VBoxREM32.so
973 %attr(755,root,root) %{_libdir}/%{pname}/VBoxREM64.so
977 %attr(755,root,root) %{_libdir}/%{pname}/VBox.sh
978 %attr(755,root,root) %{_libdir}/%{pname}/VBoxAutostart
979 %attr(755,root,root) %{_libdir}/%{pname}/VBoxBalloonCtrl
980 %attr(755,root,root) %{_libdir}/%{pname}/VBoxDTrace
981 %attr(755,root,root) %{_libdir}/%{pname}/VBoxExtPackHelperApp
982 %attr(755,root,root) %{_libdir}/%{pname}/VBoxHeadless
983 %attr(755,root,root) %{_libdir}/%{pname}/VBoxManage
984 %attr(755,root,root) %{_libdir}/%{pname}/VBoxNetAdpCtl
985 %attr(755,root,root) %{_libdir}/%{pname}/VBoxNetDHCP
986 %attr(755,root,root) %{_libdir}/%{pname}/VBoxNetNAT
987 %attr(755,root,root) %{_libdir}/%{pname}/VBoxSDL
988 %attr(755,root,root) %{_libdir}/%{pname}/VBoxSVC
989 %attr(755,root,root) %{_libdir}/%{pname}/VBoxTunctl
990 %attr(755,root,root) %{_libdir}/%{pname}/VBoxVMMPreload
991 %attr(755,root,root) %{_libdir}/%{pname}/VBoxVolInfo
992 %attr(755,root,root) %{_libdir}/%{pname}/VBoxXPCOMIPCD
993 %attr(755,root,root) %{_libdir}/%{pname}/VirtualBoxVM
994 %attr(755,root,root) %{_libdir}/%{pname}/bldRTLdrCheckImports
995 %attr(755,root,root) %{_libdir}/%{pname}/iPxeBaseBin
997 %attr(755,root,root) %{_libdir}/%{pname}/VBoxManageHelp
999 %dir %{_libdir}/%{pname}/tools
1000 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTCat
1001 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTChMod
1002 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTCp
1003 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTDbgSymCache
1004 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTFuzzMaster
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/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}/VBoxDDRC.debug
1038 %{_libdir}/%{pname}/VBoxDDRC.rc
1039 %{_libdir}/%{pname}/VBoxDDR0.debug
1040 %{_libdir}/%{pname}/VBoxDDR0.r0
1041 %{_libdir}/%{pname}/VBoxEFI32.fd
1042 %{_libdir}/%{pname}/VBoxEFI64.fd
1043 %{_libdir}/%{pname}/VMMRC.debug
1044 %{_libdir}/%{pname}/VMMRC.rc
1045 %{_libdir}/%{pname}/VMMR0.debug
1046 %{_libdir}/%{pname}/VMMR0.r0
1048 %dir %{_libdir}/%{pname}/components
1049 %{_libdir}/%{pname}/components/VBoxXPCOMBase.xpt
1050 %{_libdir}/%{pname}/components/VirtualBox_XPCOM.xpt
1051 %attr(755,root,root) %{_libdir}/%{pname}/components/VBoxC.so
1052 %attr(755,root,root) %{_libdir}/%{pname}/components/VBoxSVCM.so
1053 %attr(755,root,root) %{_libdir}/%{pname}/components/VBoxXPCOMIPCC.so
1054 %attr(755,root,root) %{_libdir}/%{pname}/VBoxSysInfo.sh
1056 %{_libdir}/%{pname}/UnattendedTemplates
1058 %dir %{_datadir}/%{pname}
1060 %config(noreplace) %verify(not md5 mtime size) /etc/udev/rules.d/60-vboxdrv.rules
1061 %attr(755,root,root) /lib/udev/VBoxCreateUSBNode.sh
1065 %defattr(644,root,root,755)
1066 %attr(755,root,root) %{_bindir}/VirtualBox
1067 %attr(755,root,root) %{_libdir}/%{pname}/VBoxDbg.so
1068 %attr(755,root,root) %{_libdir}/%{pname}/VBoxTestOGL
1069 %attr(755,root,root) %{_libdir}/%{pname}/VirtualBox
1070 %dir %{_datadir}/%{pname}/nls
1071 %lang(bg) %{_datadir}/%{pname}/nls/*_bg.qm
1072 %lang(ca) %{_datadir}/%{pname}/nls/*_ca.qm
1073 %lang(ca_VA) %{_datadir}/%{pname}/nls/*_ca_VA.qm
1074 %lang(cs) %{_datadir}/%{pname}/nls/*_cs.qm
1075 %lang(da) %{_datadir}/%{pname}/nls/*_da.qm
1076 %lang(de) %{_datadir}/%{pname}/nls/*_de.qm
1077 %lang(en) %{_datadir}/%{pname}/nls/*_el.qm
1078 %lang(en) %{_datadir}/%{pname}/nls/*_en.qm
1079 %lang(es) %{_datadir}/%{pname}/nls/*_es.qm
1080 %lang(eu) %{_datadir}/%{pname}/nls/*_eu.qm
1081 %lang(fa) %{_datadir}/%{pname}/nls/*_fa.qm
1082 %lang(fi) %{_datadir}/%{pname}/nls/*_fi.qm
1083 %lang(fr) %{_datadir}/%{pname}/nls/*_fr.qm
1084 %lang(gl) %{_datadir}/%{pname}/nls/*_gl.qm
1085 %lang(he) %{_datadir}/%{pname}/nls/*_he.qm
1086 %lang(hu) %{_datadir}/%{pname}/nls/*_hu.qm
1087 %lang(id) %{_datadir}/%{pname}/nls/*_id.qm
1088 %lang(it) %{_datadir}/%{pname}/nls/*_it.qm
1089 %lang(ja) %{_datadir}/%{pname}/nls/*_ja.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
1121 %defattr(644,root,root,755)
1122 %attr(755,root,root) /sbin/mount.vboxsf
1123 %attr(754,root,root) /etc/rc.d/init.d/vboxservice
1124 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/vboxservice
1125 %{systemdunitdir}/vboxservice.service
1126 %{systemdunitdir}/vboxclient-vmsvga.service
1127 %attr(755,root,root) %{_bindir}/VBoxControl
1128 %attr(755,root,root) %{_bindir}/VBoxService
1129 %config(noreplace) %verify(not md5 mtime size) /etc/udev/rules.d/60-vboxguest.rules
1132 %defattr(644,root,root,755)
1133 /etc/xdg/autostart/vboxclient.desktop
1134 %attr(755,root,root) %{_bindir}/VBoxClient
1135 %attr(755,root,root) %{_bindir}/VBoxClient-all
1137 %if %{with webservice}
1139 %defattr(644,root,root,755)
1140 %attr(755,root,root) %{_bindir}/vboxwebsrv
1141 %attr(755,root,root) %{_libdir}/%{pname}/vboxwebsrv
1142 %attr(755,root,root) %{_libdir}/%{pname}/webtest
1146 %files -n lightdm-greeter-vbox
1147 %defattr(644,root,root,755)
1148 %attr(755,root,root) %{_sbindir}/vbox-greeter
1149 %{_datadir}/xgreeters/vbox-greeter.desktop
1152 %files -n pam-pam_vbox
1153 %defattr(644,root,root,755)
1154 %attr(755,root,root) /%{_lib}/security/pam_vbox.so
1158 %defattr(644,root,root,755)
1159 # this is a symlink...
1160 %doc %{_libdir}/%{pname}/UserManual.pdf
1161 %if %{with all_langs}
1162 %lang(fr) %doc %{_libdir}/%{pname}/UserManual_fr_FR.pdf
1165 %doc %{outdir}/UserManual.pdf
1166 %if %{with all_langs}
1167 %lang(fr) %doc %{outdir}/UserManual_fr_FR.pdf
1171 %files -n xorg-driver-video-vboxvideo
1172 %defattr(644,root,root,755)
1173 %attr(755,root,root) %{_libdir}/xorg/modules/dri/vboxvideo_dri.so
1174 # vboxvideo_dri.so deps
1175 %attr(755,root,root) %{_libdir}/VBoxEGL.so
1176 %attr(755,root,root) %{_libdir}/VBoxOGLarrayspu.so
1177 %attr(755,root,root) %{_libdir}/VBoxOGLcrutil.so
1178 %attr(755,root,root) %{_libdir}/VBoxOGLerrorspu.so
1179 %attr(755,root,root) %{_libdir}/VBoxOGLfeedbackspu.so
1180 %attr(755,root,root) %{_libdir}/VBoxOGLpackspu.so
1181 %attr(755,root,root) %{_libdir}/VBoxOGLpassthroughspu.so
1184 %files -n dkms-vboxguest
1185 %defattr(644,root,root,755)
1186 %{_usrsrc}/vboxguest-%{version}-%{rel}
1188 %files -n dkms-vboxhost
1189 %defattr(644,root,root,755)
1190 %{_usrsrc}/vboxhost-%{version}-%{rel}