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 URL: http://www.virtualbox.org/
96 BuildRequires: gcc-multilib-32
97 BuildRequires: glibc-devel(i686)
98 BuildRequires: libstdc++-multilib-32-devel
99 BuildRequires: libstdc++-multilib-32-static
101 %if "%{pld_release}" == "ac"
102 BuildRequires: XFree86-devel
104 BuildRequires: xorg-lib-libX11-devel
105 BuildRequires: xorg-lib-libXcomposite-devel
106 BuildRequires: xorg-lib-libXcursor-devel
107 BuildRequires: xorg-lib-libXdamage-devel
108 BuildRequires: xorg-lib-libXext-devel
109 BuildRequires: xorg-lib-libXinerama-devel
110 BuildRequires: xorg-lib-libXmu-devel
111 BuildRequires: xorg-lib-libXrandr-devel
112 BuildRequires: xorg-proto-glproto-devel
113 BuildRequires: xorg-xserver-server-devel
115 BuildRequires: EGL-devel
116 BuildRequires: OpenGL-GLU-devel
117 BuildRequires: OpenGL-devel
118 BuildRequires: Qt5Core-devel >= %{qtver}
119 BuildRequires: Qt5DBus-devel >= %{qtver}
120 BuildRequires: Qt5Gui-devel >= %{qtver}
121 BuildRequires: Qt5Help-devel >= %{qtver}
122 BuildRequires: Qt5Network-devel >= %{qtver}
123 BuildRequires: Qt5OpenGL-devel >= %{qtver}
124 BuildRequires: Qt5PrintSupport-devel >= %{qtver}
125 BuildRequires: Qt5Widgets-devel >= %{qtver}
126 BuildRequires: Qt5X11Extras-devel >= %{qtver}
127 BuildRequires: Qt5Xml-devel >= %{qtver}
128 BuildRequires: SDL-devel >= 1.2.7
129 BuildRequires: acpica
130 BuildRequires: alsa-lib-devel >= 1.0.6
134 BuildRequires: curl-devel >= 7.19.1
135 BuildRequires: device-mapper-devel >= 1.02
137 BuildRequires: docbook-dtd45-xml
138 BuildRequires: docbook-style-xsl
140 BuildRequires: fakeroot
141 %{?with_lightdm:BuildRequires: fltk-devel}
142 BuildRequires: gcc >= 5:3.2.3
143 %{?with_webservice:BuildRequires: gsoap-devel}
145 BuildRequires: kBuild >= 0.1.9998.3598
146 BuildRequires: libIDL-devel
147 BuildRequires: libcap-static
148 BuildRequires: libdrm-devel
149 BuildRequires: libpng-devel >= 2:1.2.5
150 BuildRequires: libstdc++-devel >= 5:3.2.3
151 BuildRequires: libstdc++-static >= 5:3.2.3
152 BuildRequires: libuuid-devel
153 BuildRequires: libvncserver-devel >= 0.9.9
154 BuildRequires: libvpx-devel >= 0.9.5
155 BuildRequires: libxml2-devel >= 2.6.26
156 BuildRequires: libxslt-devel >= 1.1.17
157 BuildRequires: libxslt-progs >= 1.1.17
158 %{?with_lightdm:BuildRequires: lightdm-libs-qt5-devel}
159 BuildRequires: makeself
160 BuildRequires: mkisofs
161 BuildRequires: openssl-devel >= 1.0.1
162 BuildRequires: pam-devel
163 BuildRequires: pixman-devel
164 BuildRequires: pkgconfig
165 BuildRequires: pulseaudio-devel >= 0.9.0
166 BuildRequires: python3-devel >= 1:3.6
167 BuildRequires: python3-modules
168 BuildRequires: qt5-assistant
169 BuildRequires: qt5-build
170 BuildRequires: qt5-linguist
171 BuildRequires: rpmbuild(macros) >= 1.752
172 BuildRequires: sed >= 4.0
174 BuildRequires: texlive-fonts-bitstream
175 BuildRequires: texlive-fonts-other
176 BuildRequires: texlive-fonts-type1-bitstream
177 BuildRequires: texlive-format-pdflatex
178 BuildRequires: texlive-latex-ucs
179 BuildRequires: texlive-xetex
182 BuildRequires: xalan-c-devel >= 1.10.0
183 BuildRequires: xerces-c-devel >= 2.6.0
184 BuildRequires: yasm >= 0.5.1
185 BuildRequires: zlib-devel >= 1.2.1
187 %{?with_kernel:%{expand:%buildrequires_kernel kernel%%{_alt_kernel}-module-build >= 3:2.6.20.2}}
188 Requires(post,preun): /sbin/chkconfig
189 Requires(postun): /usr/sbin/groupdel
190 Requires(pre): /usr/bin/getgid
191 Requires(pre): /usr/sbin/groupadd
192 Requires: libvncserver >= 0.9.9
194 Provides: group(vbox)
195 Obsoletes: VirtualBox-udev < 4.2.10-5
196 ExclusiveArch: %{ix86} %{x8664} %{?with_kernel:x32}
197 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
200 %define vbox_arch amd64
202 %define vbox_arch x86
204 %define vbox_platform linux.%{vbox_arch}
205 %define outdir out/%{vbox_platform}/release/bin
206 %define objdir out/%{vbox_platform}/release/obj
208 %define filterout -Werror=format-security
210 %define _noautochrpath .*\\.debug$
213 Oracle VirtualBox is a general-purpose full virtualizer for x86
214 hardware. Targeted at server, desktop and embedded use, it is now the
215 only professional-quality virtualization solution that is also Open
218 Some of the features of VirtualBox are:
220 Modularity: VirtualBox has an extremely modular design with
221 well-defined internal programming interfaces and a client/server
222 design. This makes it easy to control it from several interfaces at
223 once: for example, you can start a virtual machine in a typical
224 virtual machine GUI and then control that machine from the command
225 line. VirtualBox also comes with a full Software Development Kit: even
226 though it is Open Source Software, you don't have to hack the source
227 to write a new interface for VirtualBox.
229 Virtual machine descriptions in XML: the configuration settings of
230 virtual machines are stored entirely in XML and are independent of the
231 local machines. Virtual machine definitions can therefore easily be
232 ported to other computers.
234 You should install this package in your Host OS.
236 %description -l pl.UTF-8
237 Oracle VirtualBox jest emulatorem sprzętu x86. Kierowany do zastosowań
238 serwerowych, desktopowych oraz wbudowanych jest obecnie jedynym
239 wysokiej jakości rozwiązaniem wirtualizacyjnym dostępnym również jako
240 Otwarte Oprogramowanie.
242 Przykładowe cechy VirtualBoksa:
244 Modularność: VirtualBox jest wysoce zmodularyzowanym produktem z
245 dobrze zaprojektowanym wewnętrznym interfejsem programowym typu
246 klient/serwer. Dzięki temu można łatwo kontrolować go za pomocą
247 różnych interfejsów. Można na przykład uruchomić maszynę wirtualną z
248 poziomu interfejsu graficznego, a później kontrolować ją z linii
249 poleceń. VirtualBox dostarcza również pełny pakiet deweloperski, co
250 pozwala stworzyć dowolny inny interfejs zarządzania maszyną wirtualną.
252 Opisy maszyn wirtualnych w XML-u: konfiguracje poszczególnych maszyn
253 wirtualnych są w całości przechowywane w XML-u i są niezależne od
254 lokalnej maszyny. Dzięki temu można szybko i łatwo przenieść
255 konfigurację maszyny wirtualnej na inny komputer.
258 Summary: Qt GUI part for VirtualBox
259 Group: X11/Applications
260 Requires: %{name} = %{version}-%{release}
261 Requires: Qt5Core >= %{qtver}
262 Requires: Qt5Gui-platform-xcb >= %{qtver}
263 Requires: desktop-file-utils
264 Requires: desktop-file-utils
266 Requires: fonts-Type1-urw
267 Requires: gtk-update-icon-cache
268 Requires: hicolor-icon-theme
269 Requires: shared-mime-info
270 Suggests: Qt5Gui-platform-xcb-glx >= %{qtver}
271 Suggests: Qt5Gui-platform-xcb-egl >= %{qtver}
273 Conflicts: %{name} < 4.3.8-3
276 Qt GUI part for VirtualBox.
279 Summary: VirtualBox documentation
283 This package contains VirtualBox User Manual.
286 Summary: VirtualBox Guest Additions
288 Requires: %{name} = %{version}
291 %description additions
292 VirtualBox Guest Additions.
294 This package contains ISO9660 image with drivers for Guest OS.
296 You should install this package in your Host OS.
299 Summary: VirtualBox Guest tools
301 Provides: group(vboxsf)
302 Requires(post): systemd-units >= 38
303 Requires(post,preun): /sbin/chkconfig
304 Requires(postun): /usr/sbin/groupdel
305 Requires(pre): /usr/bin/getgid
306 Requires(pre): /usr/sbin/groupadd
308 Requires: systemd-units >= 38
309 Suggests: kernel(vboxguest)
310 Suggests: kernel(vboxsf)
311 Suggests: pam-pam_vbox
314 Tools that utilize kernel modules for supporting integration with the
315 Host, including file sharing.
317 You should install this package in your Guest OS for base VirtualBox
321 Summary: VirtualBox Guest X11 Additions
322 Group: X11/Applications
323 Requires: %{name}-guest = %{version}-%{release}
324 Requires: xorg-app-xrandr
325 Requires: kernel(vboxvideo)
326 Obsoletes: xorg-driver-input-vboxmouse < %{version}-%{release}
327 Obsoletes: xorg-driver-video-vboxvideo < %{version}-%{release}
329 %description guest-x11
330 Tools for X11 session that utilize kernel modules for supporting
331 integration with the Host, like tracking of mouse pointer movement and
332 X.org X11 video and mouse drivers
334 You should install this package in your Guest OS for X11 session.
337 Summary: VirtualBox Web Service
338 Group: Applications/Emulators
339 Requires: %{name} = %{version}-%{release}
341 %description webservice
342 This package contains VirtualBox web service API daemon. It allows to
343 control virtual machines via web interface.
345 %package -n lightdm-greeter-vbox
346 Summary: VirtualBox greeter for lightdm
348 # NOTE: '#' in url is lost because rpm treats it as comment, even hacking with
349 # macros doesn't help as rpmbuild takes final result to parse
350 URL: http://www.virtualbox.org/manual/ch09.html#autologon_unix_lightdm
351 Requires: %{name} = %{version}-%{release}
352 Requires: kernel(vboxguest)
353 Requires: lightdm >= 1.0.1
354 Requires: pam-pam_vbox = %{version}-%{release}
355 Provides: lightdm-greeter
357 %description -n lightdm-greeter-vbox
358 VirtualBox greeter for LightDM.
360 %package -n pam-pam_vbox
361 Summary: PAM module to perform automated guest logons
364 %description -n pam-pam_vbox
365 PAM module (Pluggable Authentication Module) which can be used to
366 perform automated guest logons.
368 %package -n dkms-vboxguest
369 Summary: VirtualBox kernel modules source for Linux Guest
370 Summary(pl.UTF-8): Moduły VirtualBoksa do jądra Linuksa dla systemu gościa
376 %description -n dkms-vboxguest
377 This package contains DKMS-ready VirtualBox Guest Additions for Linux
378 Module, host file system access (Shared Folders) and DRM support for
381 %description -n dkms-vboxguest -l pl.UTF-8
382 Ten pakiet zawiera moduł jądra Linuksa vboxguest dla VirtualBoksa -
383 dodatki dla systemu gościa, dostęp do plików systemu głównego z
384 poziomu systemu gościa i sterownik obsługi DRM.
386 %package -n dkms-vboxhost
387 Summary: VirtualBox Support Drivers source
388 Summary(pl.UTF-8): Moduły jądra Linuksa dla VirtualBoksa
394 %description -n dkms-vboxhost
395 This package contains DKMS enabled sourcecode of VirtualBox Support
396 Driver, Network Adapter Driver, Network Filter Driver and PCI card
397 passthrough driver that works as host proxy between guest and PCI
400 %description -n dkms-vboxhost -l pl.UTF-8
401 Ten pakiet zawiera sterownik wsparcia dla systemu głównego, sterownik
402 witrualnej karty sieciowej, sterownik filtrowania sieci dla systemu
403 głównego oraz sterownik, ktory działa jako proxy między gościem i
404 gospodarzem sprzętu PCI.
408 # KEEP ALL REGULAR SUBPACKAGES BEFORE KERNEL PACKAGES.
410 %define kernel_pkg()\
411 %package -n kernel%{_alt_kernel}-virtualbox-guest\
412 Summary: VirtualBox kernel modules for Linux Guest\
413 Summary(pl.UTF-8): Moduły VirtualBoksa do jądra Linuksa dla systemu gościa\
414 Release: %{rel}@%{_kernel_ver_str}\
416 Requires(post,postun): /sbin/depmod\
417 Requires(post): systemd-units >= 38\
418 Requires: dev >= 2.9.0-7\
419 Requires: systemd-units >= 38\
420 %requires_releq_kernel\
421 Requires: %{releq_kernel -n drm}\
422 Requires(postun): %releq_kernel\
423 Provides: kernel(vboxguest) = %{version}-%{rel}\
424 Provides: kernel(vboxsf) = %{version}-%{rel}\
425 %if %{_kernel_version_code} < %{_kernel_version_magic 4 13 0}\
426 Provides: kernel(vboxvideo) = %{version}-%{rel}\
428 Obsoletes: kernel-init-guest\
429 Conflicts: kernel%{_alt_kernel}-virtualbox-host\
431 %description -n kernel%{_alt_kernel}-virtualbox-guest\
432 This package contains VirtualBox Guest Additions for Linux Module,\
433 host file system access (Shared Folders) and DRM support for\
436 %description -n kernel%{_alt_kernel}-virtualbox-guest -l pl.UTF-8\
437 Ten pakiet zawiera moduł jądra Linuksa vboxguest dla VirtualBoksa -\
438 dodatki dla systemu gościa, dostęp do plików systemu głównego z\
439 poziomu systemu gościa i sterownik obsługi DRM.\
441 %package -n kernel%{_alt_kernel}-virtualbox-host\
442 Summary: VirtualBox Support Drivers\
443 Summary(pl.UTF-8): Moduły jądra Linuksa dla VirtualBoksa\
444 Release: %{rel}@%{_kernel_ver_str}\
446 Requires(post,postun): /sbin/depmod\
447 Requires(post): systemd-units >= 38\
448 Requires: dev >= 2.9.0-7\
449 %requires_releq_kernel\
450 Requires(postun): %releq_kernel\
451 Requires: systemd-units >= 38\
452 Provides: kernel(vboxdrv) = %{version}-%{rel}\
453 Provides: kernel(vboxnetadp) = %{version}-%{rel}\
454 Provides: kernel(vboxnetflt) = %{version}-%{rel}\
455 Obsoletes: kernel-init-host\
457 %description -n kernel%{_alt_kernel}-virtualbox-host\
458 This package contains VirtualBox Support Driver, Network Adapter\
459 Driver, Network Filter Driver and PCI card passthrough driver that\
460 works as host proxy between guest and PCI hardware.\
462 %description -n kernel%{_alt_kernel}-virtualbox-host -l pl.UTF-8\
463 Ten pakiet zawiera sterownik wsparcia dla systemu głównego, sterownik\
464 witrualnej karty sieciowej, sterownik filtrowania sieci dla systemu\
465 głównego oraz sterownik, ktory działa jako proxy między gościem i\
466 gospodarzem sprzętu PCI.\
469 %files -n kernel%{_alt_kernel}-virtualbox-guest\
470 %defattr(644,root,root,755)\
471 %if %{_kernel_version_code} >= %{_kernel_version_magic 4 16 0}\
472 %config(noreplace) %verify(not md5 mtime size) /etc/depmod.d/%{_kernel_ver}/vboxguest.conf\
474 %config(noreplace) %verify(not md5 mtime size) /etc/modules-load.d/virtualbox-guest.conf\
475 %if %{_kernel_version_code} < %{_kernel_version_magic 5 14 0}\
476 /lib/modules/%{_kernel_ver}/misc/vboxguest.ko*\
477 /lib/modules/%{_kernel_ver}/misc/vboxsf.ko*\
478 %if %{_kernel_version_code} < %{_kernel_version_magic 4 13 0}\
479 /lib/modules/%{_kernel_ver}/misc/vboxvideo.ko*\
484 %files -n kernel%{_alt_kernel}-virtualbox-host\
485 %config(noreplace) %verify(not md5 mtime size) /etc/modules-load.d/virtualbox-host.conf\
486 /lib/modules/%{_kernel_ver}/misc/vboxdrv.ko*\
487 /lib/modules/%{_kernel_ver}/misc/vboxnetadp.ko*\
488 /lib/modules/%{_kernel_ver}/misc/vboxnetflt.ko*\
492 %post -n kernel%{_alt_kernel}-virtualbox-guest\
493 %depmod %{_kernel_ver}\
495 %postun -n kernel%{_alt_kernel}-virtualbox-guest\
496 %depmod %{_kernel_ver}\
499 %post -n kernel%{_alt_kernel}-virtualbox-host\
500 %depmod %{_kernel_ver}\
502 %postun -n kernel%{_alt_kernel}-virtualbox-host\
503 %depmod %{_kernel_ver}\
507 %define build_kernel_pkg()\
508 export KERN_DIR=%{_kernelsrcdir}\
510 cd kernel/HostDrivers\
511 %build_kernel_modules -m vboxdrv -C vboxdrv\
512 %build_kernel_modules -m vboxnetadp -C vboxnetadp KBUILD_EXTRA_SYMBOLS=$PWD/../vboxdrv/Module.symvers\
513 %build_kernel_modules -m vboxnetflt -C vboxnetflt KBUILD_EXTRA_SYMBOLS=$PWD/../vboxdrv/Module.symvers\
514 %install_kernel_modules -D ../../kernel/installed -m vboxdrv/vboxdrv,vboxnetadp/vboxnetadp,vboxnetflt/vboxnetflt -d misc\
517 %if %{_kernel_version_code} < %{_kernel_version_magic 5 14 0}\
518 cd kernel/GuestDrivers\
519 %build_kernel_modules -m vboxguest -C vboxguest\
520 %build_kernel_modules -m vboxsf -C vboxsf KBUILD_EXTRA_SYMBOLS=$PWD/../vboxguest/Module.symvers\
521 %install_kernel_modules -D ../../kernel/installed -m vboxsf/vboxsf,vboxguest/vboxguest -d misc\
522 %if %{_kernel_version_code} < %{_kernel_version_magic 4 13 0}\
523 %build_kernel_modules -m vboxvideo -C vboxvideo KBUILD_EXTRA_SYMBOLS=$PWD/../vboxguest/Module.symvers\
524 %install_kernel_modules -D ../../kernel/installed -m vboxvideo/vboxvideo -d misc\
530 %define install_kernel_pkg()\
531 %if %{_kernel_version_code} >= %{_kernel_version_magic 4 16 0}\
532 install -d kernel/installed/etc/depmod.d/%{_kernel_ver}\
533 echo override vboxguest %{_kernel_ver} misc > kernel/installed/etc/depmod.d/%{_kernel_ver}/vboxguest.conf\
534 %if %{_kernel_version_code} >= %{_kernel_version_magic 5 6 0}\
535 echo override vboxsf %{_kernel_ver} misc >> kernel/installed/etc/depmod.d/%{_kernel_ver}/vboxguest.conf\
540 %{?with_kernel:%{expand:%create_kernel_packages}}
543 %setup -q -n %{pname}-%{version}
554 %if %{with all_langs}
566 %{__sed} -i -e 's,@VBOX_DOC_PATH@,%{_docdir}/%{name}-%{version},' \
567 -e 's/Categories=.*/Categories=Utility;Emulator;/' src/VBox/Installer/common/virtualbox.desktop.in
570 %{__sed} -i -e "s@_LDFLAGS\.%{vbox_arch}*.*=@& %{rpmldflags}@g" \
571 -i Config.kmk src/libs/xpcom18a4/Config.kmk
573 %{__sed} -i -e 's#@INSTALL_DIR@#%{_libdir}/%{pname}#' src/VBox/Installer/linux/VBox.sh
576 install -d kernel/{GuestDrivers,HostDrivers}
578 ../src/VBox/Additions/linux/export_modules.sh guest-modules.tar.gz
579 tar -zxf guest-modules.tar.gz -C GuestDrivers
581 ../src/VBox/HostDrivers/linux/export_modules.sh --file host-modules.tar.gz --without-hardening
582 tar -zxf host-modules.tar.gz -C HostDrivers
586 # using system kBuild package
589 # use linux icon for now
590 cp -p src/VBox/Frontends/VirtualBox/images/os_{linux26,pld}.png
591 cp -p src/VBox/Frontends/VirtualBox/images/os_{linux26,pld}_64.png
593 # don't force whole userspace to be built with -fPIC
594 # see https://www.virtualbox.org/pipermail/vbox-dev/2015-February/012863.html
595 %define filterout_c -fPIC
596 %define filterout_cxx -fPIC
598 cat <<'EOF'>> LocalConfig.kmk
599 %{?with_verbose:KBUILD_VERBOSE=3}
601 VBOX_BUILD_PUBLISHER=_PLD
602 VBOX_VERSION_STRING=$(VBOX_VERSION_MAJOR).$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD)_PLD
603 XSERVER_VERSION=%(rpm -q --queryformat '%{V}\n' xorg-xserver-server-devel | awk -F. '{ print $1 $2 }' 2>/dev/null || echo ERROR)
604 VBOX_USE_SYSTEM_XORG_HEADERS=1
605 VBOX_USE_SYSTEM_GL_HEADERS=1
607 VBOX_WITH_LIGHTDM_GREETER=1
608 VBOX_WITH_LIGHTDM_GREETER_PACKING=1
610 TOOL_GCC3_CFLAGS=%{rpmcflags}
611 TOOL_GCC3_CXXFLAGS=%{rpmcxxflags}
612 VBOX_GCC_OPT=%{rpmcxxflags}
614 VBOX_PATH_APP_PRIVATE_ARCH := %{_libdir}/%{pname}
615 VBOX_PATH_APP_PRIVATE := %{_datadir}/%{pname}
616 VBOX_PATH_SHARED_LIBS := $(VBOX_PATH_APP_PRIVATE_ARCH)
618 VBOX_WITH_RUNPATH := $(VBOX_PATH_APP_PRIVATE_ARCH)
619 #VBOX_PATH_APP_DOCS := %{_docdir}/%{pname}-doc-%{version}
620 VBOX_PATH_DOCBOOK_DTD := %{_datadir}/sgml/docbook/xml-dtd-4.4
622 # don't build testcases to save time, they are not needed for the package
623 VBOX_WITH_TESTCASES :=
624 VBOX_WITH_TESTSUITE :=
626 VBOX_WITH_VRDP_RDESKTOP=
627 VBOX_WITH_MULTIVERSION_PYTHON=0
628 %{!?with_host:VBOX_ONLY_ADDITIONS_WITHOUT_RTISOMAKER=1}
631 %undefine filterout_c
632 %undefine filterout_cxx
635 %if %{with userspace}
637 --with-gcc="%{__cc}" \
638 --with-g++="%{__cxx}" \
639 %{!?with_doc:--disable-docs} \
641 --disable-hardening \
644 %{!?with_gui:--disable-qt} \
645 %{__enable webservice} \
646 %{!?with_host:--only-additions} \
653 %{?with_kernel:%{expand:%build_kernel_packages}}
654 %{?with_kernel:%{expand:%install_kernel_packages}}
657 rm -rf $RPM_BUILD_ROOT
659 %if %{with userspace}
660 install -d $RPM_BUILD_ROOT{%{_bindir},/sbin,%{_sbindir},%{_libdir}/%{pname}/ExtensionPacks} \
661 $RPM_BUILD_ROOT{%{_pixmapsdir},%{_desktopdir},%{_datadir}/mime/packages} \
662 $RPM_BUILD_ROOT/etc/sysconfig \
663 $RPM_BUILD_ROOT%{_sysconfdir}/vbox/autostart \
664 $RPM_BUILD_ROOT%{_libdir}/xorg/modules/{drivers,dri,input} \
665 $RPM_BUILD_ROOT{/lib/udev,/etc/udev/rules.d} \
666 $RPM_BUILD_ROOT{/etc/rc.d/init.d,%{systemdunitdir},%{_usrsrc}}
668 # test if we can hardlink -- %{_builddir} and $RPM_BUILD_ROOT on same partition
669 if cp -al COPYING $RPM_BUILD_ROOT/COPYING; then
671 %{__rm} $RPM_BUILD_ROOT/COPYING
674 install -d $RPM_BUILD_ROOT%{_datadir}/%{pname}
676 cp -a$l %{outdir}/* $RPM_BUILD_ROOT%{_libdir}/%{pname}
679 %{__rm} -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/icons
680 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/virtualbox.xml
684 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxClient
685 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxControl
686 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxDRMClient
687 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxService
688 install -d $RPM_BUILD_ROOT/etc/xdg/autostart
689 cp -p src/VBox/Additions/x11/Installer/vboxclient.desktop \
690 $RPM_BUILD_ROOT/etc/xdg/autostart/vboxclient.desktop
691 install -p src/VBox/Additions/x11/Installer/98vboxadd-xclient $RPM_BUILD_ROOT%{_bindir}/VBoxClient-all
692 install -p %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxservice
693 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{systemdunitdir}/vboxservice.service
694 cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/vboxservice
696 cp -p %{SOURCE11} $RPM_BUILD_ROOT%{systemdunitdir}/vboxclient-vmsvga.service
698 install -p %{SOURCE9} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxautostart
699 %{__sed} -i -e 's#@INSTALL_DIR@#%{_libdir}/%{pname}#' $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxautostart
700 cp -p %{SOURCE10} $RPM_BUILD_ROOT%{_sysconfdir}/vbox
703 install -d $RPM_BUILD_ROOT%{_datadir}/xgreeters
704 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_sbindir}}/vbox-greeter
705 cp -p %{objdir}/Additions/Installer/linux/other/vbox-greeter.desktop $RPM_BUILD_ROOT%{_datadir}/xgreeters
709 mv $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/src $RPM_BUILD_ROOT%{_usrsrc}/vboxguest-%{version}-%{rel}
713 install -d $RPM_BUILD_ROOT/%{_lib}/security
714 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,/%{_lib}/security}/pam_vbox.so
717 %{__mv} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/mount.vboxsf $RPM_BUILD_ROOT/sbin/mount.vboxsf
720 install -p %{SOURCE5} $RPM_BUILD_ROOT/sbin/mount.vdi
722 # these belong to .iso
723 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/autorun.sh
724 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/runasroot.sh
726 cp -p %{SOURCE12} $RPM_BUILD_ROOT/etc/udev/rules.d/60-vboxguest.rules
731 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPInstall
732 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPLoggerCtl
733 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPUninstall
734 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/load.sh
735 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/loadall.sh
736 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxshell.py
737 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/xpidl
740 cp -p$l %{SOURCE1} $RPM_BUILD_ROOT%{_datadir}/%{pname}/VBoxGuestAdditions.iso ||
741 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_datadir}/%{pname}/VBoxGuestAdditions.iso
743 # manual installation steps based on src/VBox/Installer/linux/install.sh
744 ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/VirtualBox
745 ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/VBoxManage
746 ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/VBoxVRDP
747 ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/VBoxHeadless
748 ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/VBoxBalloonCtrl
749 ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/VBoxAutostart
750 ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/vboxwebsrv
751 ln -sf %{_libdir}/%{pname}/vbox-img $RPM_BUILD_ROOT%{_bindir}/vbox-img
752 ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/VBoxDTrace
753 cp -p $RPM_BUILD_ROOT%{_libdir}/%{pname}/icons/128x128/virtualbox.png $RPM_BUILD_ROOT%{_pixmapsdir}/virtualbox.png
754 mv $RPM_BUILD_ROOT%{_libdir}/%{pname}/virtualbox.desktop $RPM_BUILD_ROOT%{_desktopdir}/virtualbox.desktop
755 mv $RPM_BUILD_ROOT%{_libdir}/%{pname}/virtualbox.xml $RPM_BUILD_ROOT%{_datadir}/mime/packages/virtualbox.xml
757 mv $RPM_BUILD_ROOT%{_libdir}/%{pname}/nls $RPM_BUILD_ROOT%{_datadir}/%{pname}
760 cd $RPM_BUILD_ROOT%{_libdir}/%{pname}/icons
764 if expr "$j" : "virtualbox\..*" > /dev/null; then
769 if [ ! -e $RPM_BUILD_ROOT%{_iconsdir}/hicolor/$i/$dst ]; then
770 install -d $RPM_BUILD_ROOT%{_iconsdir}/hicolor/$i/$dst
772 mv $RPM_BUILD_ROOT%{_libdir}/%{pname}/icons/$i/$j $RPM_BUILD_ROOT%{_iconsdir}/hicolor/$i/$dst/$j
778 rm -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/icons
780 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname},/lib/udev}/VBoxCreateUSBNode.sh
781 cp -p %{SOURCE6} $RPM_BUILD_ROOT/etc/udev/rules.d/60-vboxdrv.rules
784 mv $RPM_BUILD_ROOT%{_libdir}/%{pname}/src $RPM_BUILD_ROOT%{_usrsrc}/vboxhost-%{version}-%{rel}
788 %{__rm} -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/{sdk,testcase}
789 %{__rm} -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/dtrace
790 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxkeyboard.tar.bz2
791 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/scripts/generated.sh
792 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/ExtensionPacks/VNC/ExtPack-license.*
796 %{__rm} -r $RPM_BUILD_ROOT%{_iconsdir}/hicolor/40x40
799 # duplicate, we already have virtualbox.png (128x128), this is 32x32
800 %{__rm} -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/VBox.png
803 ln -sf %{_docdir}/%{pname}-doc-%{version}/UserManual.pdf $RPM_BUILD_ROOT%{_libdir}/%{pname}/UserManual.pdf
804 %if %{with all_langs}
805 ln -sf %{_docdir}/%{pname}-doc-%{version}/UserManual_fr_FR.pdf $RPM_BUILD_ROOT%{_libdir}/%{pname}/UserManual_fr_FR.pdf
812 install -d $RPM_BUILD_ROOT{/etc/modules-load.d,/sbin}
814 cp -a kernel/installed/* $RPM_BUILD_ROOT
816 # Tell systemd to load modules
817 cp -p %{SOURCE7} $RPM_BUILD_ROOT/etc/modules-load.d/virtualbox-host.conf
818 cp -p %{SOURCE8} $RPM_BUILD_ROOT/etc/modules-load.d/virtualbox-guest.conf
822 rm -rf $RPM_BUILD_ROOT
825 %groupadd -g 221 -r -f vbox
828 /sbin/chkconfig --add vboxautostart
829 %service -n vboxautostart restart
831 for i in /sys/bus/usb/devices/*; do
832 if [ -r "$i/dev" ]; then
833 dev="`cat "$i/dev" 2>/dev/null || true`"
834 major="`expr "$dev" : '\(.*\):' 2> /dev/null || true`"
835 minor="`expr "$dev" : '.*:\(.*\)' 2> /dev/null || true`"
836 class="`cat $i/bDeviceClass 2> /dev/null || true`"
837 /lib/udev/VBoxCreateUSBNode.sh "$major" "$minor" "$class" vbox 2>/dev/null
842 You must install vboxdrv kernel modules for this software to work:
843 kernel*-virtualbox-host-%{version}-%{rel}@*
845 On Guest Linux system you might want to install:
846 kernel*-virtualbox-guest-%{version}-%{rel}@*
851 if [ "$1" = "0" ]; then
852 /sbin/chkconfig --del vboxautostart
853 %service vboxautostart -q stop
858 if [ "$1" = "0" ]; then
863 %update_desktop_database
864 %update_icon_cache hicolor
865 %update_mime_database
868 %update_desktop_database
869 %update_icon_cache hicolor
870 %update_mime_database
873 %useradd -u 336 -d /usr/share/empty -s /bin/false -c "VirtualBox guest additions" -g nobody vboxadd
874 # Add a group "vboxsf" for Shared Folders access
875 # All users which want to access the auto-mounted Shared Folders have to be added to this group.
876 %groupadd -g 266 -r -f vboxsf
879 /sbin/chkconfig --add vboxservice
880 %service vboxservice restart
881 %systemd_post vboxservice.service vboxclient-vmsvga.service
884 if [ "$1" = "0" ]; then
885 /sbin/chkconfig --del vboxservice
886 %service vboxservice -q stop
888 %systemd_preun vboxservice.service vboxclient-vmsvga.service
891 if [ "$1" = "0" ]; then
897 %triggerpostun guest -- VirtualBox-guest < 4.3.0-1
898 %systemd_trigger vboxservice.service
900 %pre -n lightdm-greeter-vbox
901 %addusertogroup xdm vbox
903 %post -n dkms-vboxguest
904 dkms add -m vboxguest -v %{version}-%{rel} --rpm_safe_upgrade && \
905 dkms build -m vboxguest -v %{version}-%{rel} --rpm_safe_upgrade && \
906 dkms install -m vboxguest -v %{version}-%{rel} --rpm_safe_upgrade || :
908 %preun -n dkms-vboxguest
909 dkms remove -m vboxguest -v %{version}-%{rel} --rpm_safe_upgrade --all || :
911 %post -n dkms-vboxhost
912 dkms add -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade && \
913 dkms build -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade && \
914 dkms install -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade || :
916 %preun -n dkms-vboxhost
917 dkms remove -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade --all || :
919 %if %{with userspace}
922 %defattr(644,root,root,755)
923 %dir %attr(751,root,root) %{_sysconfdir}/vbox
924 %dir %attr(770,root,vbox) %{_sysconfdir}/vbox/autostart
925 %attr(640,root,vbox) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vbox/autostart.cfg
926 %attr(754,root,root) /etc/rc.d/init.d/vboxautostart
927 %attr(755,root,root) /sbin/mount.vdi
928 %attr(755,root,root) %{_bindir}/VBoxAutostart
929 %attr(755,root,root) %{_bindir}/VBoxBalloonCtrl
930 %attr(755,root,root) %{_bindir}/VBoxDTrace
931 %attr(755,root,root) %{_bindir}/VBoxHeadless
932 %attr(755,root,root) %{_bindir}/VBoxManage
933 %attr(755,root,root) %{_bindir}/VBoxVRDP
934 %attr(755,root,root) %{_bindir}/vbox-img
935 %dir %{_libdir}/%{pname}
937 %attr(755,root,root) %{_libdir}/%{pname}/DbgPlugInDiggers.so
938 %attr(755,root,root) %{_libdir}/%{pname}/VBoxAuth.so
939 %attr(755,root,root) %{_libdir}/%{pname}/VBoxAuthSimple.so
940 %attr(755,root,root) %{_libdir}/%{pname}/VBoxDD.so
941 %attr(755,root,root) %{_libdir}/%{pname}/VBoxDD2.so
942 %attr(755,root,root) %{_libdir}/%{pname}/VBoxDDU.so
943 %attr(755,root,root) %{_libdir}/%{pname}/VBoxDragAndDropSvc.so
944 %attr(755,root,root) %{_libdir}/%{pname}/VBoxGuestControlSvc.so
945 %attr(755,root,root) %{_libdir}/%{pname}/VBoxGuestPropSvc.so
946 %attr(755,root,root) %{_libdir}/%{pname}/VBoxHostChannel.so
947 %attr(755,root,root) %{_libdir}/%{pname}/VBoxKeyboard.so
948 %attr(755,root,root) %{_libdir}/%{pname}/VBoxPython*.so
949 %attr(755,root,root) %{_libdir}/%{pname}/VBoxRT.so
950 %attr(755,root,root) %{_libdir}/%{pname}/VBoxSVGA3D.so
951 %attr(755,root,root) %{_libdir}/%{pname}/VBoxSharedClipboard.so
952 %attr(755,root,root) %{_libdir}/%{pname}/VBoxSharedFolders.so
953 %attr(755,root,root) %{_libdir}/%{pname}/VBoxVMM.so
954 %attr(755,root,root) %{_libdir}/%{pname}/VBoxXPCOM.so
955 %attr(755,root,root) %{_libdir}/%{pname}/VBoxXPCOMC.so
957 %attr(755,root,root) %{_libdir}/%{pname}/VBoxREM32.so
958 %attr(755,root,root) %{_libdir}/%{pname}/VBoxREM64.so
962 %attr(755,root,root) %{_libdir}/%{pname}/VBox.sh
963 %attr(755,root,root) %{_libdir}/%{pname}/VBoxAutostart
964 %attr(755,root,root) %{_libdir}/%{pname}/VBoxBalloonCtrl
965 %attr(755,root,root) %{_libdir}/%{pname}/VBoxDTrace
966 %attr(755,root,root) %{_libdir}/%{pname}/VBoxExtPackHelperApp
967 %attr(755,root,root) %{_libdir}/%{pname}/VBoxHeadless
968 %attr(755,root,root) %{_libdir}/%{pname}/VBoxManage
969 %attr(755,root,root) %{_libdir}/%{pname}/VBoxNetAdpCtl
970 %attr(755,root,root) %{_libdir}/%{pname}/VBoxNetDHCP
971 %attr(755,root,root) %{_libdir}/%{pname}/VBoxNetNAT
972 %attr(755,root,root) %{_libdir}/%{pname}/VBoxSVC
973 %attr(755,root,root) %{_libdir}/%{pname}/VBoxVMMPreload
974 %attr(755,root,root) %{_libdir}/%{pname}/VBoxVolInfo
975 %attr(755,root,root) %{_libdir}/%{pname}/VBoxXPCOMIPCD
976 %attr(755,root,root) %{_libdir}/%{pname}/VirtualBoxVM
977 %attr(755,root,root) %{_libdir}/%{pname}/bldRTLdrCheckImports
978 %attr(755,root,root) %{_libdir}/%{pname}/iPxeBaseBin
979 %attr(755,root,root) %{_libdir}/%{pname}/vboximg-mount
980 %dir %{_libdir}/%{pname}/tools
981 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTCat
982 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTChMod
983 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTCp
984 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTDbgSymCache
985 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTEfiFatExtract
986 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTFuzzClient
987 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTFuzzMaster
988 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTGzip
989 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTHttp
990 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTIsoMaker
991 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTKrnlModInfo
992 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTLdrCheckImports
993 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTLdrFlt
994 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTLs
995 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTManifest
996 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTMkDir
997 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTRm
998 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTRmDir
999 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTShutdown
1000 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTSignTool
1001 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTTar
1002 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTTraceLogTool
1003 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTUnzip
1004 %attr(755,root,root) %{_libdir}/%{pname}/tools/scm
1006 %dir %{_libdir}/%{pname}/ExtensionPacks
1007 %{_libdir}/%{pname}/ExtensionPacks/VNC/ExtPack.xml
1008 %dir %{_libdir}/%{pname}/ExtensionPacks/VNC
1009 %dir %{_libdir}/%{pname}/ExtensionPacks/VNC/linux*
1010 %attr(755,root,root) %{_libdir}/%{pname}/ExtensionPacks/VNC/linux*/VBoxVNC*.so
1011 %dir %{_libdir}/%{pname}/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack
1012 %{_libdir}/%{pname}/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/ExtPack.xml
1013 %dir %{_libdir}/%{pname}/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux*
1014 %attr(755,root,root) %{_libdir}/%{pname}/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux*/VBoxDTrace*.so
1015 %{_libdir}/%{pname}/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux*/VBoxDTraceR0.debug
1016 %{_libdir}/%{pname}/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux*/VBoxDTraceR0.r0
1018 %{_libdir}/%{pname}/VBoxBugReport
1019 %{_libdir}/%{pname}/VBoxCpuReport
1020 %{_libdir}/%{pname}/VBoxDDR0.debug
1021 %{_libdir}/%{pname}/VBoxDDR0.r0
1022 %{_libdir}/%{pname}/VBoxEFI32.fd
1023 %{_libdir}/%{pname}/VBoxEFI64.fd
1024 %{_libdir}/%{pname}/VMMR0.debug
1025 %{_libdir}/%{pname}/VMMR0.r0
1027 %dir %{_libdir}/%{pname}/components
1028 %{_libdir}/%{pname}/components/VBoxXPCOMBase.xpt
1029 %{_libdir}/%{pname}/components/VirtualBox_XPCOM.xpt
1030 %attr(755,root,root) %{_libdir}/%{pname}/components/VBoxC.so
1031 %attr(755,root,root) %{_libdir}/%{pname}/components/VBoxSVCM.so
1032 %attr(755,root,root) %{_libdir}/%{pname}/components/VBoxXPCOMIPCC.so
1033 %attr(755,root,root) %{_libdir}/%{pname}/VBoxSysInfo.sh
1035 %{_libdir}/%{pname}/UnattendedTemplates
1037 %dir %{_datadir}/%{pname}
1039 %config(noreplace) %verify(not md5 mtime size) /etc/udev/rules.d/60-vboxdrv.rules
1040 %attr(755,root,root) /lib/udev/VBoxCreateUSBNode.sh
1044 %defattr(644,root,root,755)
1045 %attr(755,root,root) %{_bindir}/VirtualBox
1046 %attr(755,root,root) %{_libdir}/%{pname}/UICommon.so
1047 %attr(755,root,root) %{_libdir}/%{pname}/VBoxDbg.so
1048 %attr(755,root,root) %{_libdir}/%{pname}/VBoxTestOGL
1049 %attr(755,root,root) %{_libdir}/%{pname}/VirtualBox
1050 %dir %{_datadir}/%{pname}/nls
1051 %lang(bg) %{_datadir}/%{pname}/nls/*_bg.qm
1052 %lang(ca) %{_datadir}/%{pname}/nls/*_ca.qm
1053 %lang(ca_VA) %{_datadir}/%{pname}/nls/*_ca_VA.qm
1054 %lang(cs) %{_datadir}/%{pname}/nls/*_cs.qm
1055 %lang(da) %{_datadir}/%{pname}/nls/*_da.qm
1056 %lang(de) %{_datadir}/%{pname}/nls/*_de.qm
1057 %lang(en) %{_datadir}/%{pname}/nls/*_el.qm
1058 %lang(en) %{_datadir}/%{pname}/nls/*_en.qm
1059 %lang(es) %{_datadir}/%{pname}/nls/*_es.qm
1060 %lang(eu) %{_datadir}/%{pname}/nls/*_eu.qm
1061 %lang(fa) %{_datadir}/%{pname}/nls/*_fa.qm
1062 %lang(fi) %{_datadir}/%{pname}/nls/*_fi.qm
1063 %lang(fr) %{_datadir}/%{pname}/nls/*_fr.qm
1064 %lang(gl) %{_datadir}/%{pname}/nls/*_gl.qm
1065 %lang(he) %{_datadir}/%{pname}/nls/*_he.qm
1066 %lang(hr) %{_datadir}/%{pname}/nls/*_hr_HR.qm
1067 %lang(hu) %{_datadir}/%{pname}/nls/*_hu.qm
1068 %lang(id) %{_datadir}/%{pname}/nls/*_id.qm
1069 %lang(it) %{_datadir}/%{pname}/nls/*_it.qm
1070 %lang(ja) %{_datadir}/%{pname}/nls/*_ja.qm
1071 %lang(ka) %{_datadir}/%{pname}/nls/*_ka.qm
1072 %lang(km_KH) %{_datadir}/%{pname}/nls/*_km_KH.qm
1073 %lang(ko) %{_datadir}/%{pname}/nls/*_ko.qm
1074 %lang(lt) %{_datadir}/%{pname}/nls/*_lt.qm
1075 %lang(nl) %{_datadir}/%{pname}/nls/*_nl.qm
1076 %lang(pl) %{_datadir}/%{pname}/nls/*_pl.qm
1077 %lang(pt) %{_datadir}/%{pname}/nls/*_pt.qm
1078 %lang(pt_BR) %{_datadir}/%{pname}/nls/*_pt_BR.qm
1079 %lang(ro) %{_datadir}/%{pname}/nls/*_ro.qm
1080 %lang(ru) %{_datadir}/%{pname}/nls/*_ru.qm
1081 %lang(sk) %{_datadir}/%{pname}/nls/*_sk.qm
1082 %lang(sk) %{_datadir}/%{pname}/nls/*_sl.qm
1083 %lang(sr) %{_datadir}/%{pname}/nls/*_sr.qm
1084 %lang(sv) %{_datadir}/%{pname}/nls/*_sv.qm
1085 %lang(th) %{_datadir}/%{pname}/nls/*_th.qm
1086 %lang(tr) %{_datadir}/%{pname}/nls/*_tr.qm
1087 %lang(uk) %{_datadir}/%{pname}/nls/*_uk.qm
1088 %lang(zh_CN) %{_datadir}/%{pname}/nls/*_zh_CN.qm
1089 %lang(zh_TW) %{_datadir}/%{pname}/nls/*_zh_TW.qm
1090 %{_desktopdir}/virtualbox.desktop
1091 %{_pixmapsdir}/virtualbox.png
1092 %{_iconsdir}/hicolor/*/apps/virtualbox.png
1093 %{_iconsdir}/hicolor/*/apps/virtualbox.svg
1094 %{_iconsdir}/hicolor/*/mimetypes/virtualbox-*.png
1095 %{_datadir}/mime/packages/virtualbox.xml
1099 %defattr(644,root,root,755)
1100 %{_datadir}/%{pname}/VBoxGuestAdditions.iso
1102 %if %{with webservice}
1104 %defattr(644,root,root,755)
1105 %attr(755,root,root) %{_bindir}/vboxwebsrv
1106 %attr(755,root,root) %{_libdir}/%{pname}/vboxwebsrv
1107 %attr(755,root,root) %{_libdir}/%{pname}/webtest
1112 %defattr(644,root,root,755)
1113 # this is a symlink...
1114 %doc %{_libdir}/%{pname}/UserManual.pdf
1115 %if %{with all_langs}
1116 %lang(fr) %doc %{_libdir}/%{pname}/UserManual_fr_FR.pdf
1119 %doc %{outdir}/UserManual.pdf
1120 %if %{with all_langs}
1121 %lang(fr) %doc %{outdir}/UserManual_fr_FR.pdf
1127 %defattr(644,root,root,755)
1128 %attr(755,root,root) /sbin/mount.vboxsf
1129 %attr(754,root,root) /etc/rc.d/init.d/vboxservice
1130 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/vboxservice
1131 %{systemdunitdir}/vboxservice.service
1132 %{systemdunitdir}/vboxclient-vmsvga.service
1133 %attr(755,root,root) %{_bindir}/VBoxControl
1134 %attr(755,root,root) %{_bindir}/VBoxService
1135 %config(noreplace) %verify(not md5 mtime size) /etc/udev/rules.d/60-vboxguest.rules
1138 %defattr(644,root,root,755)
1139 /etc/xdg/autostart/vboxclient.desktop
1140 %attr(755,root,root) %{_bindir}/VBoxClient
1141 %attr(755,root,root) %{_bindir}/VBoxClient-all
1142 %attr(755,root,root) %{_bindir}/VBoxDRMClient
1145 %files -n lightdm-greeter-vbox
1146 %defattr(644,root,root,755)
1147 %attr(755,root,root) %{_sbindir}/vbox-greeter
1148 %{_datadir}/xgreeters/vbox-greeter.desktop
1151 %files -n pam-pam_vbox
1152 %defattr(644,root,root,755)
1153 %attr(755,root,root) /%{_lib}/security/pam_vbox.so
1156 %files -n dkms-vboxguest
1157 %defattr(644,root,root,755)
1158 %{_usrsrc}/vboxguest-%{version}-%{rel}
1161 %files -n dkms-vboxhost
1162 %defattr(644,root,root,755)
1163 %{_usrsrc}/vboxhost-%{version}-%{rel}