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: 465b52e516a6c57c8c19717bdd8e6456
56 Source1: http://download.virtualbox.org/virtualbox/%{version}/VBoxGuestAdditions_%{version}.iso
57 # Source1-md5: 40f300532a50775de939838a4f4a5d0d
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
87 Patch18: kernel-5.3.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 KBUILD_EXTRA_SYMBOLS=$PWD/../vboxdrv/Module.symvers\
519 %build_kernel_modules -m vboxnetflt -C vboxnetflt KBUILD_EXTRA_SYMBOLS=$PWD/../vboxdrv/Module.symvers\
520 %build_kernel_modules -m vboxpci -C vboxpci KBUILD_EXTRA_SYMBOLS=$PWD/../vboxdrv/Module.symvers\
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}
569 %{__sed} -i -e 's,@VBOX_DOC_PATH@,%{_docdir}/%{name}-%{version},' \
570 -e 's/Categories=.*/Categories=Utility;Emulator;/' src/VBox/Installer/common/virtualbox.desktop.in
573 %{__sed} -i -e "s@_LDFLAGS\.%{vbox_arch}*.*=@& %{rpmldflags}@g" \
574 -i Config.kmk src/libs/xpcom18a4/Config.kmk
576 %{__sed} -i -e 's#@INSTALL_DIR@#%{_libdir}/%{pname}#' src/VBox/Installer/linux/VBox.sh
579 install -d PLD-MODULE-BUILD/{GuestDrivers,HostDrivers}
581 ../src/VBox/Additions/linux/export_modules.sh guest-modules.tar.gz
582 tar -zxf guest-modules.tar.gz -C GuestDrivers
584 ../src/VBox/HostDrivers/linux/export_modules.sh --file host-modules.tar.gz --without-hardening
585 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
692 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxClient
693 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxControl
694 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxService
695 install -d $RPM_BUILD_ROOT/etc/xdg/autostart
696 cp -p src/VBox/Additions/x11/Installer/vboxclient.desktop \
697 $RPM_BUILD_ROOT/etc/xdg/autostart/vboxclient.desktop
698 install -p src/VBox/Additions/x11/Installer/98vboxadd-xclient $RPM_BUILD_ROOT%{_bindir}/VBoxClient-all
699 install -p %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxservice
700 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{systemdunitdir}/vboxservice.service
701 cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/vboxservice
703 cp -p %{SOURCE11} $RPM_BUILD_ROOT%{systemdunitdir}/vboxclient-vmsvga.service
705 install -p %{SOURCE9} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxautostart
706 %{__sed} -i -e 's#@INSTALL_DIR@#%{_libdir}/%{pname}#' $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxautostart
707 cp -p %{SOURCE10} $RPM_BUILD_ROOT%{_sysconfdir}/vbox
710 install -d $RPM_BUILD_ROOT%{_datadir}/xgreeters
711 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_sbindir}}/vbox-greeter
712 cp -p %{objdir}/Additions/Installer/linux/other/vbox-greeter.desktop $RPM_BUILD_ROOT%{_datadir}/xgreeters
716 mv $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/src $RPM_BUILD_ROOT%{_usrsrc}/vboxguest-%{version}-%{rel}
720 install -d $RPM_BUILD_ROOT/%{_lib}/security
721 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,/%{_lib}/security}/pam_vbox.so
724 %{__mv} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/mount.vboxsf $RPM_BUILD_ROOT/sbin/mount.vboxsf
727 install -p %{SOURCE5} $RPM_BUILD_ROOT/sbin/mount.vdi
729 # these belong to .iso
730 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/autorun.sh
731 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/runasroot.sh
735 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPInstall
736 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPLoggerCtl
737 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPUninstall
738 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/load.sh
739 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/loadall.sh
740 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxshell.py
741 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/xpidl
744 # manual installation steps based on src/VBox/Installer/linux/install.sh
745 ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/VirtualBox
746 ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/VBoxManage
747 ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/VBoxSDL
748 ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/VBoxVRDP
749 ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/VBoxHeadless
750 ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/VBoxBalloonCtrl
751 ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/VBoxAutostart
752 ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/vboxwebsrv
753 ln -sf %{_libdir}/%{pname}/vbox-img $RPM_BUILD_ROOT%{_bindir}/vbox-img
754 ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/VBoxDTrace
755 cp -p $RPM_BUILD_ROOT%{_libdir}/%{pname}/icons/128x128/virtualbox.png $RPM_BUILD_ROOT%{_pixmapsdir}/virtualbox.png
756 mv $RPM_BUILD_ROOT%{_libdir}/%{pname}/virtualbox.desktop $RPM_BUILD_ROOT%{_desktopdir}/virtualbox.desktop
757 mv $RPM_BUILD_ROOT%{_libdir}/%{pname}/virtualbox.xml $RPM_BUILD_ROOT%{_datadir}/mime/packages/virtualbox.xml
759 mv $RPM_BUILD_ROOT%{_libdir}/%{pname}/nls $RPM_BUILD_ROOT%{_datadir}/%{pname}
762 cd $RPM_BUILD_ROOT%{_libdir}/%{pname}/icons
766 if expr "$j" : "virtualbox\..*" > /dev/null; then
771 if [ ! -e $RPM_BUILD_ROOT%{_iconsdir}/hicolor/$i/$dst ]; then
772 install -d $RPM_BUILD_ROOT%{_iconsdir}/hicolor/$i/$dst
774 mv $RPM_BUILD_ROOT%{_libdir}/%{pname}/icons/$i/$j $RPM_BUILD_ROOT%{_iconsdir}/hicolor/$i/$dst/$j
780 rm -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/icons
782 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname},/lib/udev}/VBoxCreateUSBNode.sh
783 cp -p %{SOURCE6} $RPM_BUILD_ROOT/etc/udev/rules.d/60-vboxdrv.rules
784 cp -p %{SOURCE12} $RPM_BUILD_ROOT/etc/udev/rules.d/60-vboxguest.rules
787 mv $RPM_BUILD_ROOT%{_libdir}/%{pname}/src $RPM_BUILD_ROOT%{_usrsrc}/vboxhost-%{version}-%{rel}
791 %{__rm} -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/{sdk,testcase}
792 %{__rm} -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/dtrace
793 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxkeyboard.tar.bz2
794 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/tst*
795 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/scripts/generated.sh
796 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/ExtensionPacks/VNC/ExtPack-license.*
800 %{__rm} -r $RPM_BUILD_ROOT%{_iconsdir}/hicolor/40x40
803 # duplicate, we already have virtualbox.png (128x128), this is 32x32
804 %{__rm} -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/VBox.png
807 ln -sf %{_docdir}/%{pname}-doc-%{version}/UserManual.pdf $RPM_BUILD_ROOT%{_libdir}/%{pname}/UserManual.pdf
808 %if %{with all_langs}
809 ln -sf %{_docdir}/%{pname}-doc-%{version}/UserManual_fr_FR.pdf $RPM_BUILD_ROOT%{_libdir}/%{pname}/UserManual_fr_FR.pdf
815 install -d $RPM_BUILD_ROOT{/etc/modules-load.d,/sbin}
817 cp -a PLD-MODULE-BUILD/installed/* $RPM_BUILD_ROOT
819 # Tell systemd to load modules
820 cp -p %{SOURCE7} $RPM_BUILD_ROOT/etc/modules-load.d/virtualbox-host.conf
821 cp -p %{SOURCE8} $RPM_BUILD_ROOT/etc/modules-load.d/virtualbox-guest.conf
825 rm -rf $RPM_BUILD_ROOT
828 %groupadd -g 221 -r -f vbox
831 /sbin/chkconfig --add vboxautostart
832 %service -n vboxautostart restart
834 for i in /sys/bus/usb/devices/*; do
835 if [ -r "$i/dev" ]; then
836 dev="`cat "$i/dev" 2>/dev/null || true`"
837 major="`expr "$dev" : '\(.*\):' 2> /dev/null || true`"
838 minor="`expr "$dev" : '.*:\(.*\)' 2> /dev/null || true`"
839 class="`cat $i/bDeviceClass 2> /dev/null || true`"
840 /lib/udev/VBoxCreateUSBNode.sh "$major" "$minor" "$class" vbox 2>/dev/null
845 You must install vboxdrv kernel modules for this software to work:
846 kernel*-virtualbox-host-%{version}-%{rel}@*
848 On Guest Linux system you might want to install:
849 kernel*-virtualbox-guest-%{version}-%{rel}@*
854 if [ "$1" = "0" ]; then
855 /sbin/chkconfig --del vboxautostart
856 %service vboxautostart -q stop
861 if [ "$1" = "0" ]; then
866 %update_desktop_database
867 %update_icon_cache hicolor
868 %update_mime_database
871 %update_desktop_database
872 %update_icon_cache hicolor
873 %update_mime_database
876 %useradd -u 336 -d /usr/share/empty -s /bin/false -c "VirtualBox guest additions" -g nobody vboxadd
877 # Add a group "vboxsf" for Shared Folders access
878 # All users which want to access the auto-mounted Shared Folders have to be added to this group.
879 %groupadd -g 266 -r -f vboxsf
882 /sbin/chkconfig --add vboxservice
883 %service vboxservice restart
884 %systemd_post vboxservice.service vboxclient-vmsvga.service
887 if [ "$1" = "0" ]; then
888 /sbin/chkconfig --del vboxservice
889 %service vboxservice -q stop
891 %systemd_preun vboxservice.service vboxclient-vmsvga.service
894 if [ "$1" = "0" ]; then
900 %triggerpostun guest -- VirtualBox-guest < 4.3.0-1
901 %systemd_trigger vboxservice.service
903 %pre -n lightdm-greeter-vbox
904 %addusertogroup xdm vbox
906 %post -n dkms-vboxguest
907 dkms add -m vboxguest -v %{version}-%{rel} --rpm_safe_upgrade && \
908 dkms build -m vboxguest -v %{version}-%{rel} --rpm_safe_upgrade && \
909 dkms install -m vboxguest -v %{version}-%{rel} --rpm_safe_upgrade || :
911 %preun -n dkms-vboxguest
912 dkms remove -m vboxguest -v %{version}-%{rel} --rpm_safe_upgrade --all || :
914 %post -n dkms-vboxhost
915 dkms add -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade && \
916 dkms build -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade && \
917 dkms install -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade || :
919 %preun -n dkms-vboxhost
920 dkms remove -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade --all || :
922 %if %{with userspace}
924 %defattr(644,root,root,755)
925 %dir %attr(751,root,root) %{_sysconfdir}/vbox
926 %dir %attr(770,root,vbox) %{_sysconfdir}/vbox/autostart
927 %attr(640,root,vbox) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vbox/autostart.cfg
928 %attr(754,root,root) /etc/rc.d/init.d/vboxautostart
929 %attr(755,root,root) /sbin/mount.vdi
930 %attr(755,root,root) %{_bindir}/VBoxAutostart
931 %attr(755,root,root) %{_bindir}/VBoxBalloonCtrl
932 %attr(755,root,root) %{_bindir}/VBoxDTrace
933 %attr(755,root,root) %{_bindir}/VBoxHeadless
934 %attr(755,root,root) %{_bindir}/VBoxManage
935 %attr(755,root,root) %{_bindir}/VBoxSDL
936 %attr(755,root,root) %{_bindir}/VBoxVRDP
937 %attr(755,root,root) %{_bindir}/vbox-img
938 %dir %{_libdir}/%{pname}
940 %attr(755,root,root) %{_libdir}/%{pname}/DbgPlugInDiggers.so
941 %attr(755,root,root) %{_libdir}/%{pname}/VBoxAuth.so
942 %attr(755,root,root) %{_libdir}/%{pname}/VBoxAuthSimple.so
943 %attr(755,root,root) %{_libdir}/%{pname}/VBoxDD.so
944 %attr(755,root,root) %{_libdir}/%{pname}/VBoxDD2.so
945 %attr(755,root,root) %{_libdir}/%{pname}/VBoxDDU.so
946 %attr(755,root,root) %{_libdir}/%{pname}/VBoxDragAndDropSvc.so
947 %attr(755,root,root) %{_libdir}/%{pname}/VBoxGlobal.so
948 %attr(755,root,root) %{_libdir}/%{pname}/VBoxGuestControlSvc.so
949 %attr(755,root,root) %{_libdir}/%{pname}/VBoxGuestPropSvc.so
950 %attr(755,root,root) %{_libdir}/%{pname}/VBoxHostChannel.so
951 %attr(755,root,root) %{_libdir}/%{pname}/VBoxKeyboard.so
952 %attr(755,root,root) %{_libdir}/%{pname}/VBoxPython*.so
953 %attr(755,root,root) %{_libdir}/%{pname}/VBoxREM.so
954 %attr(755,root,root) %{_libdir}/%{pname}/VBoxRT.so
955 %attr(755,root,root) %{_libdir}/%{pname}/VBoxSVGA3D.so
956 %attr(755,root,root) %{_libdir}/%{pname}/VBoxSharedClipboard.so
957 %attr(755,root,root) %{_libdir}/%{pname}/VBoxSharedCrOpenGL.so
958 %attr(755,root,root) %{_libdir}/%{pname}/VBoxSharedFolders.so
959 %attr(755,root,root) %{_libdir}/%{pname}/VBoxVMM.so
960 %attr(755,root,root) %{_libdir}/%{pname}/VBoxXPCOM.so
961 %attr(755,root,root) %{_libdir}/%{pname}/VBoxXPCOMC.so
963 %attr(755,root,root) %{_libdir}/%{pname}/VBoxREM32.so
964 %attr(755,root,root) %{_libdir}/%{pname}/VBoxREM64.so
968 %attr(755,root,root) %{_libdir}/%{pname}/VBox.sh
969 %attr(755,root,root) %{_libdir}/%{pname}/VBoxAutostart
970 %attr(755,root,root) %{_libdir}/%{pname}/VBoxBalloonCtrl
971 %attr(755,root,root) %{_libdir}/%{pname}/VBoxDTrace
972 %attr(755,root,root) %{_libdir}/%{pname}/VBoxExtPackHelperApp
973 %attr(755,root,root) %{_libdir}/%{pname}/VBoxHeadless
974 %attr(755,root,root) %{_libdir}/%{pname}/VBoxManage
975 %attr(755,root,root) %{_libdir}/%{pname}/VBoxNetAdpCtl
976 %attr(755,root,root) %{_libdir}/%{pname}/VBoxNetDHCP
977 %attr(755,root,root) %{_libdir}/%{pname}/VBoxNetNAT
978 %attr(755,root,root) %{_libdir}/%{pname}/VBoxSDL
979 %attr(755,root,root) %{_libdir}/%{pname}/VBoxSVC
980 %attr(755,root,root) %{_libdir}/%{pname}/VBoxTunctl
981 %attr(755,root,root) %{_libdir}/%{pname}/VBoxVMMPreload
982 %attr(755,root,root) %{_libdir}/%{pname}/VBoxVolInfo
983 %attr(755,root,root) %{_libdir}/%{pname}/VBoxXPCOMIPCD
984 %attr(755,root,root) %{_libdir}/%{pname}/VirtualBoxVM
985 %attr(755,root,root) %{_libdir}/%{pname}/bldRTLdrCheckImports
986 %attr(755,root,root) %{_libdir}/%{pname}/iPxeBaseBin
988 %attr(755,root,root) %{_libdir}/%{pname}/VBoxManageHelp
990 %dir %{_libdir}/%{pname}/tools
991 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTCat
992 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTChMod
993 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTCp
994 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTDbgSymCache
995 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTFuzzMaster
996 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTGzip
997 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTHttp
998 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTIsoMaker
999 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTKrnlModInfo
1000 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTLdrCheckImports
1001 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTLdrFlt
1002 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTLs
1003 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTManifest
1004 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTMkDir
1005 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTRm
1006 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTRmDir
1007 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTShutdown
1008 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTSignTool
1009 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTTar
1010 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTTraceLogTool
1011 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTUnzip
1012 %attr(755,root,root) %{_libdir}/%{pname}/tools/scm
1014 %dir %{_libdir}/%{pname}/ExtensionPacks
1015 %{_libdir}/%{pname}/ExtensionPacks/VNC/ExtPack.xml
1016 %dir %{_libdir}/%{pname}/ExtensionPacks/VNC
1017 %dir %{_libdir}/%{pname}/ExtensionPacks/VNC/linux*
1018 %attr(755,root,root) %{_libdir}/%{pname}/ExtensionPacks/VNC/linux*/VBoxVNC*.so
1019 %dir %{_libdir}/%{pname}/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack
1020 %{_libdir}/%{pname}/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/ExtPack.xml
1021 %dir %{_libdir}/%{pname}/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux*
1022 %attr(755,root,root) %{_libdir}/%{pname}/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux*/VBoxDTrace*.so
1023 %{_libdir}/%{pname}/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux*/VBoxDTraceR0.debug
1024 %{_libdir}/%{pname}/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux*/VBoxDTraceR0.r0
1026 %{_libdir}/%{pname}/VBoxBugReport
1027 %{_libdir}/%{pname}/VBoxCpuReport
1028 %{_libdir}/%{pname}/VBoxDDRC.debug
1029 %{_libdir}/%{pname}/VBoxDDRC.rc
1030 %{_libdir}/%{pname}/VBoxDDR0.debug
1031 %{_libdir}/%{pname}/VBoxDDR0.r0
1032 %{_libdir}/%{pname}/VBoxEFI32.fd
1033 %{_libdir}/%{pname}/VBoxEFI64.fd
1034 %{_libdir}/%{pname}/VMMRC.debug
1035 %{_libdir}/%{pname}/VMMRC.rc
1036 %{_libdir}/%{pname}/VMMR0.debug
1037 %{_libdir}/%{pname}/VMMR0.r0
1039 %dir %{_libdir}/%{pname}/components
1040 %{_libdir}/%{pname}/components/VBoxXPCOMBase.xpt
1041 %{_libdir}/%{pname}/components/VirtualBox_XPCOM.xpt
1042 %attr(755,root,root) %{_libdir}/%{pname}/components/VBoxC.so
1043 %attr(755,root,root) %{_libdir}/%{pname}/components/VBoxSVCM.so
1044 %attr(755,root,root) %{_libdir}/%{pname}/components/VBoxXPCOMIPCC.so
1045 %attr(755,root,root) %{_libdir}/%{pname}/VBoxSysInfo.sh
1047 %{_libdir}/%{pname}/UnattendedTemplates
1049 %dir %{_datadir}/%{pname}
1051 %config(noreplace) %verify(not md5 mtime size) /etc/udev/rules.d/60-vboxdrv.rules
1052 %attr(755,root,root) /lib/udev/VBoxCreateUSBNode.sh
1056 %defattr(644,root,root,755)
1057 %attr(755,root,root) %{_bindir}/VirtualBox
1058 %attr(755,root,root) %{_libdir}/%{pname}/VBoxDbg.so
1059 %attr(755,root,root) %{_libdir}/%{pname}/VBoxTestOGL
1060 %attr(755,root,root) %{_libdir}/%{pname}/VirtualBox
1061 %dir %{_datadir}/%{pname}/nls
1062 %lang(bg) %{_datadir}/%{pname}/nls/*_bg.qm
1063 %lang(ca) %{_datadir}/%{pname}/nls/*_ca.qm
1064 %lang(ca_VA) %{_datadir}/%{pname}/nls/*_ca_VA.qm
1065 %lang(cs) %{_datadir}/%{pname}/nls/*_cs.qm
1066 %lang(da) %{_datadir}/%{pname}/nls/*_da.qm
1067 %lang(de) %{_datadir}/%{pname}/nls/*_de.qm
1068 %lang(en) %{_datadir}/%{pname}/nls/*_el.qm
1069 %lang(en) %{_datadir}/%{pname}/nls/*_en.qm
1070 %lang(es) %{_datadir}/%{pname}/nls/*_es.qm
1071 %lang(eu) %{_datadir}/%{pname}/nls/*_eu.qm
1072 %lang(fa) %{_datadir}/%{pname}/nls/*_fa.qm
1073 %lang(fi) %{_datadir}/%{pname}/nls/*_fi.qm
1074 %lang(fr) %{_datadir}/%{pname}/nls/*_fr.qm
1075 %lang(gl) %{_datadir}/%{pname}/nls/*_gl.qm
1076 %lang(he) %{_datadir}/%{pname}/nls/*_he.qm
1077 %lang(hu) %{_datadir}/%{pname}/nls/*_hu.qm
1078 %lang(id) %{_datadir}/%{pname}/nls/*_id.qm
1079 %lang(it) %{_datadir}/%{pname}/nls/*_it.qm
1080 %lang(ja) %{_datadir}/%{pname}/nls/*_ja.qm
1081 %lang(km_KH) %{_datadir}/%{pname}/nls/*_km_KH.qm
1082 %lang(ko) %{_datadir}/%{pname}/nls/*_ko.qm
1083 %lang(lt) %{_datadir}/%{pname}/nls/*_lt.qm
1084 %lang(nl) %{_datadir}/%{pname}/nls/*_nl.qm
1085 %lang(pl) %{_datadir}/%{pname}/nls/*_pl.qm
1086 %lang(pt) %{_datadir}/%{pname}/nls/*_pt.qm
1087 %lang(pt_BR) %{_datadir}/%{pname}/nls/*_pt_BR.qm
1088 %lang(ro) %{_datadir}/%{pname}/nls/*_ro.qm
1089 %lang(ru) %{_datadir}/%{pname}/nls/*_ru.qm
1090 %lang(sk) %{_datadir}/%{pname}/nls/*_sk.qm
1091 %lang(sk) %{_datadir}/%{pname}/nls/*_sl.qm
1092 %lang(sr) %{_datadir}/%{pname}/nls/*_sr.qm
1093 %lang(sv) %{_datadir}/%{pname}/nls/*_sv.qm
1094 %lang(th) %{_datadir}/%{pname}/nls/*_th.qm
1095 %lang(tr) %{_datadir}/%{pname}/nls/*_tr.qm
1096 %lang(uk) %{_datadir}/%{pname}/nls/*_uk.qm
1097 %lang(zh_CN) %{_datadir}/%{pname}/nls/*_zh_CN.qm
1098 %lang(zh_TW) %{_datadir}/%{pname}/nls/*_zh_TW.qm
1099 %{_desktopdir}/virtualbox.desktop
1100 %{_pixmapsdir}/virtualbox.png
1101 %{_iconsdir}/hicolor/*/apps/virtualbox.png
1102 %{_iconsdir}/hicolor/*/apps/virtualbox.svg
1103 %{_iconsdir}/hicolor/*/mimetypes/virtualbox-*.png
1104 %{_datadir}/mime/packages/virtualbox.xml
1108 %defattr(644,root,root,755)
1109 %{_datadir}/%{pname}/VBoxGuestAdditions.iso
1112 %defattr(644,root,root,755)
1113 %attr(755,root,root) /sbin/mount.vboxsf
1114 %attr(754,root,root) /etc/rc.d/init.d/vboxservice
1115 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/vboxservice
1116 %{systemdunitdir}/vboxservice.service
1117 %{systemdunitdir}/vboxclient-vmsvga.service
1118 %attr(755,root,root) %{_bindir}/VBoxControl
1119 %attr(755,root,root) %{_bindir}/VBoxService
1120 %config(noreplace) %verify(not md5 mtime size) /etc/udev/rules.d/60-vboxguest.rules
1123 %defattr(644,root,root,755)
1124 /etc/xdg/autostart/vboxclient.desktop
1125 %attr(755,root,root) %{_bindir}/VBoxClient
1126 %attr(755,root,root) %{_bindir}/VBoxClient-all
1128 %if %{with webservice}
1130 %defattr(644,root,root,755)
1131 %attr(755,root,root) %{_bindir}/vboxwebsrv
1132 %attr(755,root,root) %{_libdir}/%{pname}/vboxwebsrv
1133 %attr(755,root,root) %{_libdir}/%{pname}/webtest
1137 %files -n lightdm-greeter-vbox
1138 %defattr(644,root,root,755)
1139 %attr(755,root,root) %{_sbindir}/vbox-greeter
1140 %{_datadir}/xgreeters/vbox-greeter.desktop
1143 %files -n pam-pam_vbox
1144 %defattr(644,root,root,755)
1145 %attr(755,root,root) /%{_lib}/security/pam_vbox.so
1149 %defattr(644,root,root,755)
1150 # this is a symlink...
1151 %doc %{_libdir}/%{pname}/UserManual.pdf
1152 %if %{with all_langs}
1153 %lang(fr) %doc %{_libdir}/%{pname}/UserManual_fr_FR.pdf
1156 %doc %{outdir}/UserManual.pdf
1157 %if %{with all_langs}
1158 %lang(fr) %doc %{outdir}/UserManual_fr_FR.pdf
1162 %files -n xorg-driver-video-vboxvideo
1163 %defattr(644,root,root,755)
1164 %attr(755,root,root) %{_libdir}/xorg/modules/dri/vboxvideo_dri.so
1165 # vboxvideo_dri.so deps
1166 %attr(755,root,root) %{_libdir}/VBoxEGL.so
1169 %files -n dkms-vboxguest
1170 %defattr(644,root,root,755)
1171 %{_usrsrc}/vboxguest-%{version}-%{rel}
1173 %files -n dkms-vboxhost
1174 %defattr(644,root,root,755)
1175 %{_usrsrc}/vboxhost-%{version}-%{rel}