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_without doc # don't build the documentation
15 %bcond_without dist_kernel # without distribution kernel
16 %bcond_without kernel # don't build kernel module
17 %bcond_without userspace # don't build userspace package
18 %bcond_with webservice # webservice (SOAP) support
19 %bcond_without lightdm # lightdm greeter
20 %bcond_without dkms # build dkms package
21 %bcond_without verbose
24 %undefine with_dist_kernel
26 %define _duplicate_files_terminate_build 0
29 # The goal here is to have main, userspace, package built once with
30 # simple release number, and only rebuild kernel packages with kernel
31 # version as part of release number, without the need to bump release
32 # with every kernel change.
33 %if 0%{?_pld_builder:1} && %{with kernel} && %{with userspace}
34 %{error:kernel and userspace cannot be built at the same time on PLD builders}
38 %if "%{_alt_kernel}" != "%{nil}"
39 %if 0%{?build_kernels:1}
40 %{error:alt_kernel and build_kernels are mutually exclusive}
43 %undefine with_userspace
44 %global _build_kernels %{alt_kernel}
46 %global _build_kernels %{?build_kernels:,%{?build_kernels}}
49 %if %{without userspace}
50 # nothing to be placed to debuginfo package
51 %define _enable_debug_packages 0
54 %define kbrs %(echo %{_build_kernels} | tr , '\\n' | while read n ; do echo %%undefine alt_kernel ; [ -z "$n" ] || echo %%define alt_kernel $n ; echo "BuildRequires:kernel%%{_alt_kernel}-module-build >= 3:2.6.20.2" ; done)
55 %define kpkg %(echo %{_build_kernels} | tr , '\\n' | while read n ; do echo %%undefine alt_kernel ; [ -z "$n" ] || echo %%define alt_kernel $n ; echo %%kernel_pkg ; done)
56 %define bkpkg %(echo %{_build_kernels} | tr , '\\n' | while read n ; do echo %%undefine alt_kernel ; [ -z "$n" ] || echo %%define alt_kernel $n ; echo %%build_kernel_pkg ; done)
57 %define ikpkg %(echo %{_build_kernels} | tr , '\\n' | while read n ; do echo %%undefine alt_kernel ; [ -z "$n" ] || echo %%define alt_kernel $n ; echo %%install_kernel_pkg ; done)
60 %define pname VirtualBox
61 Summary: VirtualBox - x86 hardware virtualizer
62 Summary(pl.UTF-8): VirtualBox - wirtualizator sprzętu x86
63 Name: %{pname}%{?_pld_builder:%{?with_kernel:-kernel}}%{_alt_kernel}
65 Release: %{rel}%{?_pld_builder:%{?with_kernel:@%{_kernel_ver_str}}}
67 Group: Applications/Emulators
68 Source0: http://download.virtualbox.org/virtualbox/%{version}/%{pname}-%{version}.tar.bz2
69 # Source0-md5: 422ab09b7eb9c0564b55a6a0a6e6678f
70 Source1: http://download.virtualbox.org/virtualbox/%{version}/VBoxGuestAdditions_%{version}.iso
71 # Source1-md5: f23d3980a509418b2dcb614483271ffa
72 Source2: vboxservice.init
73 Source3: vboxservice.service
76 Source7: %{pname}-virtualbox-host-modules-load.conf
77 Source8: %{pname}-virtualbox-guest-modules-load.conf
78 Patch0: %{pname}-configure-spaces.patch
79 Patch1: %{pname}-VBoxSysInfo.patch
80 Patch2: %{pname}-warning_workaround.patch
81 Patch3: %{pname}-dri.patch
83 Patch5: xserver-1.12.patch
84 Patch6: hardening-shared.patch
85 Patch7: lightdm-greeter-glib-includes.patch
86 Patch8: lightdm-greeter-g++-link.patch
87 Patch9: pld-guest.patch
88 Patch10: 16-no-update.patch
89 Patch11: 18-system-xorg.patch
90 URL: http://www.virtualbox.org/
93 BuildRequires: gcc-multilib
94 BuildRequires: glibc-devel(i686)
95 BuildRequires: libstdc++-multilib-devel
96 BuildRequires: libstdc++-multilib-static
98 %if "%{pld_release}" == "ac"
99 BuildRequires: XFree86-devel
101 BuildRequires: xorg-lib-libXcomposite-devel
102 BuildRequires: xorg-lib-libXcursor-devel
103 BuildRequires: xorg-lib-libXmu-devel
104 BuildRequires: xorg-proto-glproto-devel
105 BuildRequires: xorg-xserver-server-devel
107 BuildRequires: OpenGL-GLU-devel
108 BuildRequires: OpenGL-devel
109 BuildRequires: QtGui-devel
110 BuildRequires: QtNetwork-devel
111 BuildRequires: QtOpenGL-devel
112 BuildRequires: SDL-devel >= 1.2.7
113 BuildRequires: acpica
114 BuildRequires: alsa-lib-devel >= 1.0.6
118 BuildRequires: curl-devel
119 BuildRequires: device-mapper-devel
120 %{?with_doc:BuildRequires: docbook-dtd44-xml}
121 BuildRequires: fakeroot
122 %{?with_lightdm:BuildRequires: fltk-devel}
123 BuildRequires: gcc >= 5:3.2.3
124 %{?with_webservice:BuildRequires: gsoap-devel}
126 BuildRequires: kBuild >= 0.1.9998.2700
127 BuildRequires: libIDL-devel
128 BuildRequires: libcap-static
129 BuildRequires: libdrm-devel
130 BuildRequires: libpng-devel >= 1.2.5
131 BuildRequires: libstdc++-devel >= 5:3.2.3
132 BuildRequires: libstdc++-static >= 5:3.2.3
133 BuildRequires: libuuid-devel
134 BuildRequires: libvncserver-devel >= 0.9.9
135 BuildRequires: libvpx-devel
136 BuildRequires: libxml2-devel >= 2.6.26
137 BuildRequires: libxslt-devel >= 1.1.17
138 BuildRequires: libxslt-progs >= 1.1.17
139 %{?with_lightdm:BuildRequires: lightdm-libs-qt-devel}
140 BuildRequires: makeself
141 BuildRequires: mkisofs
142 BuildRequires: pam-devel
143 BuildRequires: pixman-devel
144 BuildRequires: pkgconfig
145 BuildRequires: pulseaudio-devel >= 0.9.0
146 BuildRequires: python-devel
147 BuildRequires: python-modules
148 BuildRequires: qt4-build >= 4.2.0
149 BuildRequires: qt4-linguist
150 BuildRequires: rpmbuild(macros) >= 1.678
151 BuildRequires: sed >= 4.0
153 BuildRequires: texlive-fonts-bitstream
154 BuildRequires: texlive-fonts-other
155 BuildRequires: texlive-fonts-type1-bitstream
156 BuildRequires: texlive-format-pdflatex
157 BuildRequires: texlive-latex-ucs
158 BuildRequires: texlive-xetex
161 BuildRequires: xalan-c-devel >= 1.10.0
162 BuildRequires: xerces-c-devel >= 2.6.0
164 BuildRequires: zlib-devel >= 1.2.1
166 %{?with_dist_kernel:%{expand:%kbrs}}
167 Requires(post,preun): /sbin/chkconfig
168 Requires(postun): /usr/sbin/groupdel
169 Requires(pre): /usr/bin/getgid
170 Requires(pre): /usr/sbin/groupadd
171 Requires: libvncserver >= 0.9.9
173 Provides: group(vbox)
174 Obsoletes: VirtualBox-udev < 4.2.10-5
175 ExclusiveArch: %{ix86} %{x8664}
176 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
179 %define vbox_arch amd64
181 %define vbox_arch x86
183 %define vbox_platform linux.%{vbox_arch}
184 %define outdir out/%{vbox_platform}/release/bin
185 %define objdir out/%{vbox_platform}/release/obj
188 Oracle VirtualBox is a general-purpose full virtualizer for x86
189 hardware. Targeted at server, desktop and embedded use, it is now the
190 only professional-quality virtualization solution that is also Open
193 Some of the features of VirtualBox are:
195 Modularity: VirtualBox has an extremely modular design with
196 well-defined internal programming interfaces and a client/server
197 design. This makes it easy to control it from several interfaces at
198 once: for example, you can start a virtual machine in a typical
199 virtual machine GUI and then control that machine from the command
200 line. VirtualBox also comes with a full Software Development Kit: even
201 though it is Open Source Software, you don't have to hack the source
202 to write a new interface for VirtualBox.
204 Virtual machine descriptions in XML: the configuration settings of
205 virtual machines are stored entirely in XML and are independent of the
206 local machines. Virtual machine definitions can therefore easily be
207 ported to other computers.
209 You should install this package in your Host OS.
211 %description -l pl.UTF-8
212 Oracle VirtualBox jest emulatorem sprzętu x86. Kierowany do zastosowań
213 serwerowych, desktopowych oraz wbudowanych jest obecnie jedynym
214 wysokiej jakości rozwiązaniem wirtualizacyjnym dostępnym również jako
215 Otwarte Oprogramowanie.
217 Przykładowe cechy VirtualBoksa:
219 Modularność: VirtualBox jest wysoce zmodularyzowanym produktem z
220 dobrze zaprojektowanym wewnętrznym interfejsem programowym typu
221 klient/serwer. Dzięki temu można łatwo kontrolować go za pomocą
222 różnych interfejsów. Można na przykład uruchomić maszynę wirtualną z
223 poziomu interfejsu graficznego, a później kontrolować ją z linii
224 poleceń. VirtualBox dostarcza również pełny pakiet deweloperski, co
225 pozwala stworzyć dowolny inny interfejs zarządzania maszyną wirtualną.
227 Opisy maszyn wirtualnych w XML-u: konfiguracje poszczególnych maszyn
228 wirtualnych są w całości przechowywane w XML-u i są niezależne od
229 lokalnej maszyny. Dzięki temu można szybko i łatwo przenieść
230 konfigurację maszyny wirtualnej na inny komputer.
233 Summary: Qt GUI part for VirtualBox
234 Group: X11/Applications
235 Requires: %{name} = %{version}-%{release}
236 Requires: QtCore >= 4.7.0
237 Requires: desktop-file-utils
238 Requires: desktop-file-utils
240 Requires: fonts-Type1-urw
241 Requires: gtk-update-icon-cache
242 Requires: hicolor-icon-theme
243 Requires: shared-mime-info
245 Conflicts: %{name} < 4.3.8-3
248 Qt GUI part for VirtualBox.
251 Summary: VirtualBox documentation
255 This package contains VirtualBox User Manual.
258 Summary: VirtualBox Guest Additions
260 Requires: %{name} = %{version}
261 %if "%{_rpmversion}" >= "5"
265 %description additions
266 VirtualBox Guest Additions.
268 This package contains ISO9660 image with drivers for Guest OS.
270 You should install this package in your Host OS.
273 Summary: VirtualBox Guest tools
275 Requires(post,preun): /sbin/chkconfig
276 Requires(post): systemd-units >= 38
278 Requires: systemd-units >= 38
279 Suggests: kernel(vboxguest)
280 Suggests: kernel(vboxsf)
281 Suggests: pam-pam_vbox
284 Tools that utilize kernel modules for supporting integration with the
285 Host, including file sharing.
287 You should install this package in your Guest OS for base VirtualBox
291 Summary: VirtualBox Guest X11 Additions
292 Group: X11/Applications
293 Requires: %{name}-guest = %{version}-%{release}
294 Requires: xorg-app-xrandr
295 Requires: xorg-driver-video-vboxvideo = %{version}-%{release}
296 Suggests: kernel(vboxvideo)
297 Obsoletes: xorg-driver-input-vboxmouse < %{version}-%{release}
299 %description guest-x11
300 Tools for X11 session that utilize kernel modules for supporting
301 integration with the Host, like tracking of mouse pointer movement and
302 X.org X11 video and mouse drivers
304 You should install this package in your Guest OS for X11 session.
307 Summary: VirtualBox Web Service
308 Group: Applications/Emulators
309 Requires: %{name} = %{version}-%{release}
311 %description webservice
312 This package contains VirtualBox web service API daemon. It allows to
313 control virtual machines via web interface.
315 %package -n lightdm-greeter-vbox
316 Summary: VirtualBox greeter for lightdm
318 # NOTE: '#' in url is lost because rpm treats it as comment, even hacking with
319 # macros doesn't help as rpmbuild takes final result to parse
320 URL: http://www.virtualbox.org/manual/ch09.html#autologon_unix_lightdm
321 Requires: kernel(vboxguest)
322 Requires: lightdm >= 1.0.1
323 Provides: lightdm-greeter
325 %description -n lightdm-greeter-vbox
326 VirtualBox greeter for LightDM.
328 %package -n pam-pam_vbox
329 Summary: PAM module to perform automated guest logons
332 %description -n pam-pam_vbox
333 PAM module (Pluggable Authentication Module) which can be used to
334 perform automated guest logons.
336 %package -n xorg-driver-video-vboxvideo
337 Summary: X.org video driver for VirtualBox guest OS
338 Summary(pl.UTF-8): Sterownik grafiki dla systemu gościa w VirtualBoksie
339 Group: X11/Applications
340 Requires: Mesa-dri-driver-swrast
341 Requires: xorg-xserver-libdri >= 1.7.4
342 Requires: xorg-xserver-server >= 1.0.99.901
343 Requires: xorg-xserver-server(videodrv-abi) <= 15.0
344 Requires: xorg-xserver-server(videodrv-abi) >= 2.0
345 Provides: xorg-driver-video
347 %description -n xorg-driver-video-vboxvideo
348 X.org video driver for VirtualBox guest OS.
350 %description -n xorg-driver-video-vboxvideo -l pl.UTF-8
351 Sterownik grafiki dla systemu gościa w VirtualBoksie.
353 %package -n dkms-vboxguest
354 Summary: VirtualBox kernel modules source for Linux Guest
355 Summary(pl.UTF-8): Moduły VirtualBoksa do jądra Linuksa dla systemu gościa
360 %if "%{_rpmversion}" >= "5"
364 %description -n dkms-vboxguest
365 This package contains DKMS-ready VirtualBox Guest Additions for Linux
366 Module, host file system access (Shared Folders) and DRM support for
369 %description -n dkms-vboxguest -l pl.UTF-8
370 Ten pakiet zawiera moduł jądra Linuksa vboxguest dla VirtualBoksa -
371 dodatki dla systemu gościa, dostęp do plików systemu głównego z
372 poziomu systemu gościa i sterownik obsługi DRM.
374 %package -n dkms-vboxhost
375 Summary: VirtualBox Support Drivers source
376 Summary(pl.UTF-8): Moduły jądra Linuksa dla VirtualBoksa
381 %if "%{_rpmversion}" >= "5"
385 %description -n dkms-vboxhost
386 This package contains DKMS enabled sourcecode of VirtualBox Support
387 Driver, Network Adapter Driver, Network Filter Driver and PCI card
388 passthrough driver that works as host proxy between guest and PCI
391 %description -n dkms-vboxhost -l pl.UTF-8
392 Ten pakiet zawiera sterownik wsparcia dla systemu głównego, sterownik
393 witrualnej karty sieciowej, sterownik filtrowania sieci dla systemu
394 głównego oraz sterownik, ktory działa jako proxy między gościem i
395 gospodarzem sprzętu PCI.
399 # KEEP ALL REGULAR SUBPACKAGES BEFORE KERNEL PACKAGES.
401 %define kernel_pkg()\
402 %package -n kernel%{_alt_kernel}-virtualbox-guest\
403 Summary: VirtualBox kernel modules for Linux Guest\
404 Summary(pl.UTF-8): Moduły VirtualBoksa do jądra Linuksa dla systemu gościa\
405 Release: %{rel}@%{_kernel_ver_str}\
407 Requires(post,postun): /sbin/depmod\
408 Requires(post): systemd-units >= 38\
409 Requires: dev >= 2.9.0-7\
410 Requires: systemd-units >= 38\
411 %if %{with dist_kernel}\
412 %requires_releq_kernel\
413 Requires: %{releq_kernel -n drm}\
414 Requires(postun): %releq_kernel\
416 Provides: kernel(vboxguest) = %{version}-%{rel}\
417 Provides: kernel(vboxsf) = %{version}-%{rel}\
418 Provides: kernel(vboxvideo) = %{version}-%{rel}\
419 Obsoletes: kernel-init-guest\
420 Conflicts: kernel%{_alt_kernel}-virtualbox-host\
422 %description -n kernel%{_alt_kernel}-virtualbox-guest\
423 This package contains VirtualBox Guest Additions for Linux Module,\
424 host file system access (Shared Folders) and DRM support for\
427 %description -n kernel%{_alt_kernel}-virtualbox-guest -l pl.UTF-8\
428 Ten pakiet zawiera moduł jądra Linuksa vboxguest dla VirtualBoksa -\
429 dodatki dla systemu gościa, dostęp do plików systemu głównego z\
430 poziomu systemu gościa i sterownik obsługi DRM.\
432 %package -n kernel%{_alt_kernel}-virtualbox-host\
433 Summary: VirtualBox Support Drivers\
434 Summary(pl.UTF-8): Moduły jądra Linuksa dla VirtualBoksa\
435 Release: %{rel}@%{_kernel_ver_str}\
437 Requires(post,postun): /sbin/depmod\
438 Requires(post): systemd-units >= 38\
439 Requires: dev >= 2.9.0-7\
440 %if %{with dist_kernel}\
441 %requires_releq_kernel\
442 Requires(postun): %releq_kernel\
444 Requires: systemd-units >= 38\
445 Provides: kernel(vboxdrv) = %{version}-%{rel}\
446 Provides: kernel(vboxnetadp) = %{version}-%{rel}\
447 Provides: kernel(vboxnetflt) = %{version}-%{rel}\
448 Provides: kernel(vboxpci) = %{version}-%{rel}\
449 Obsoletes: kernel-init-host\
451 %description -n kernel%{_alt_kernel}-virtualbox-host\
452 This package contains VirtualBox Support Driver, Network Adapter\
453 Driver, Network Filter Driver and PCI card passthrough driver that\
454 works as host proxy between guest and PCI hardware.\
456 %description -n kernel%{_alt_kernel}-virtualbox-host -l pl.UTF-8\
457 Ten pakiet zawiera sterownik wsparcia dla systemu głównego, sterownik\
458 witrualnej karty sieciowej, sterownik filtrowania sieci dla systemu\
459 głównego oraz sterownik, ktory działa jako proxy między gościem i\
460 gospodarzem sprzętu PCI.\
463 %files -n kernel%{_alt_kernel}-virtualbox-guest\
464 %defattr(644,root,root,755)\
465 %config(noreplace) %verify(not md5 mtime size) /etc/modules-load.d/virtualbox-guest.conf\
466 /lib/modules/%{_kernel_ver}/misc/vboxguest.ko*\
467 /lib/modules/%{_kernel_ver}/misc/vboxsf.ko*\
468 /lib/modules/%{_kernel_ver}/misc/vboxvideo.ko*\
470 %files -n kernel%{_alt_kernel}-virtualbox-host\
471 %config(noreplace) %verify(not md5 mtime size) /etc/modules-load.d/virtualbox-host.conf\
472 /lib/modules/%{_kernel_ver}/misc/vboxdrv.ko*\
473 /lib/modules/%{_kernel_ver}/misc/vboxnetadp.ko*\
474 /lib/modules/%{_kernel_ver}/misc/vboxnetflt.ko*\
475 /lib/modules/%{_kernel_ver}/misc/vboxpci.ko*\
478 %post -n kernel%{_alt_kernel}-virtualbox-guest\
479 %depmod %{_kernel_ver}\
481 %postun -n kernel%{_alt_kernel}-virtualbox-guest\
482 %depmod %{_kernel_ver}\
484 %post -n kernel%{_alt_kernel}-virtualbox-host\
485 %depmod %{_kernel_ver}\
487 %postun -n kernel%{_alt_kernel}-virtualbox-host\
488 %depmod %{_kernel_ver}\
491 %define build_kernel_pkg()\
492 export KERN_DIR=%{_kernelsrcdir}\
493 cd PLD-MODULE-BUILD/HostDrivers\
494 %build_kernel_modules -m vboxdrv -C vboxdrv\
495 %build_kernel_modules -m vboxnetadp -C vboxnetadp\
496 %build_kernel_modules -m vboxnetflt -C vboxnetflt\
497 %build_kernel_modules -m vboxpci -C vboxpci\
499 %build_kernel_modules -m vboxguest -C vboxguest\
500 cp -a vboxguest/Module.symvers vboxsf\
501 %build_kernel_modules -m vboxsf -C vboxsf -c\
502 %build_kernel_modules -m vboxvideo -C vboxvideo\
504 %install_kernel_modules -D PLD-MODULE-BUILD/installed -m PLD-MODULE-BUILD/HostDrivers/vboxdrv/vboxdrv -d misc\
505 %install_kernel_modules -D PLD-MODULE-BUILD/installed -m PLD-MODULE-BUILD/HostDrivers/vboxnetadp/vboxnetadp -d misc\
506 %install_kernel_modules -D PLD-MODULE-BUILD/installed -m PLD-MODULE-BUILD/HostDrivers/vboxnetflt/vboxnetflt -d misc\
507 %install_kernel_modules -D PLD-MODULE-BUILD/installed -m PLD-MODULE-BUILD/HostDrivers/vboxpci/vboxpci -d misc\
508 %install_kernel_modules -D PLD-MODULE-BUILD/installed -m PLD-MODULE-BUILD/GuestDrivers/vboxguest/vboxguest -d misc\
509 %install_kernel_modules -D PLD-MODULE-BUILD/installed -m PLD-MODULE-BUILD/GuestDrivers/vboxsf/vboxsf -d misc\
510 %install_kernel_modules -D PLD-MODULE-BUILD/installed -m PLD-MODULE-BUILD/GuestDrivers/vboxvideo/vboxvideo -d misc\
513 %{?with_kernel:%{expand:%kpkg}}
516 %setup -q -n %{pname}-%{version}
528 %{__sed} -i -e 's,@VBOX_DOC_PATH@,%{_docdir}/%{name}-%{version},' \
529 -e 's/Categories=.*/Categories=Utility;Emulator;/' src/VBox/Installer/common/virtualbox.desktop.in
532 %{__sed} -i -e "s@_LDFLAGS\.%{vbox_arch}*.*=@& %{rpmldflags}@g" \
533 -i Config.kmk src/libs/xpcom18a4/Config.kmk
535 %{__sed} -i -e 's#@INSTALL_DIR@#%{_libdir}/%{pname}#' src/VBox/Installer/linux/VBox.sh
537 install -d PLD-MODULE-BUILD/{GuestDrivers,HostDrivers}
539 ../src/VBox/Additions/linux/export_modules guest-modules.tar.gz
540 tar -zxf guest-modules.tar.gz -C GuestDrivers
542 ../src/VBox/HostDrivers/linux/export_modules host-modules.tar.gz --without-hardening
543 tar -zxf host-modules.tar.gz -C HostDrivers
548 # using system kBuild package
551 # use linux icon for now
552 cp -p src/VBox/Frontends/VirtualBox/images/os_{linux26,pld}.png
553 cp -p src/VBox/Frontends/VirtualBox/images/os_{linux26,pld}_64.png
555 cat <<'EOF'>> LocalConfig.kmk
556 %{?with_verbose:KBUILD_VERBOSE=3}
558 __VBOX_BUILD_PUBLISHER=_PLD
559 VBOX_VERSION_STRING=$(VBOX_VERSION_MAJOR).$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD)_PLD
560 XSERVER_VERSION=%(rpm -q --queryformat '%{V}\n' xorg-xserver-server-devel | awk -F. '{ print $1 $2 }' 2>/dev/null || echo ERROR)
561 VBOX_USE_SYSTEM_XORG_HEADERS=1
563 VBOX_WITH_LIGHTDM_GREETER=1
564 VBOX_WITH_LIGHTDM_GREETER_PACKING=1
566 TOOL_GCC3_CFLAGS=%{rpmcflags}
567 TOOL_GCC3_CXXFLAGS=%{rpmcxxflags}
568 VBOX_GCC_OPT=%{rpmcxxflags}
570 VBOX_PATH_APP_PRIVATE_ARCH := %{_libdir}/%{pname}
571 VBOX_PATH_APP_PRIVATE := %{_datadir}/%{pname}
572 VBOX_PATH_SHARED_LIBS := $(VBOX_PATH_APP_PRIVATE_ARCH)
574 VBOX_WITH_RUNPATH := $(VBOX_PATH_APP_PRIVATE_ARCH)
575 #VBOX_PATH_APP_DOCS := %{_docdir}/%{pname}-doc-%{version}
577 # don't build testcases to save time, they are not needed for the package
578 VBOX_WITH_TESTCASES :=
579 VBOX_WITH_TESTSUITE :=
583 %if %{with userspace}
585 --with-gcc="%{__cc}" \
586 --with-g++="%{__cxx}" \
587 %{!?with_doc:--disable-docs} \
589 --disable-hardening \
592 %{__enable webservice} \
597 %{__cc} %{rpmcflags} %{rpmldflags} -Wall -Werror src/VBox/Additions/linux/sharedfolders/{mount.vboxsf.c,vbsfmount.c} -o mount.vboxsf
600 %{?with_kernel:%{expand:%bkpkg}}
603 rm -rf $RPM_BUILD_ROOT
605 %if %{with userspace}
606 install -d $RPM_BUILD_ROOT{%{_bindir},/sbin,%{_sbindir},%{_libdir}/%{pname}/ExtensionPacks} \
607 $RPM_BUILD_ROOT{%{_pixmapsdir},%{_desktopdir},%{_datadir}/mime/packages} \
608 $RPM_BUILD_ROOT%{_libdir}/xorg/modules/{drivers,dri,input} \
609 $RPM_BUILD_ROOT{/lib/udev,/etc/udev/rules.d} \
610 $RPM_BUILD_ROOT{/etc/rc.d/init.d,%{systemdunitdir},%{_usrsrc}}
612 # test if we can hardlink -- %{_builddir} and $RPM_BUILD_ROOT on same partition
613 if cp -al COPYING $RPM_BUILD_ROOT/COPYING; then
615 %{__rm} $RPM_BUILD_ROOT/COPYING
618 cp -a$l %{outdir}/* $RPM_BUILD_ROOT%{_libdir}/%{pname}
619 cp -a$l %{SOURCE1} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/VBoxGuestAdditions.iso
622 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/VBoxOGL.so,%{_libdir}/xorg/modules/dri/vboxvideo_dri.so}
623 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/vboxvideo_drv_system.so,%{_libdir}/xorg/modules/drivers/vboxvideo_drv.so}
624 # XXX: where else to install them that vboxvideo_dri.so finds them? patch with rpath?
625 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLarrayspu.so
626 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLcrutil.so
627 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLerrorspu.so
628 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLfeedbackspu.so
629 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLpackspu.so
630 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLpassthroughspu.so
633 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxClient
634 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxControl
635 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxService
636 install -d $RPM_BUILD_ROOT/etc/xdg/autostart
637 cp -p src/VBox/Additions/x11/Installer/vboxclient.desktop \
638 $RPM_BUILD_ROOT/etc/xdg/autostart/vboxclient.desktop
639 install -p src/VBox/Additions/x11/Installer/98vboxadd-xclient $RPM_BUILD_ROOT%{_bindir}/VBoxClient-all
640 install -p %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxservice
641 install -p %{SOURCE3} $RPM_BUILD_ROOT%{systemdunitdir}/vboxservice.service
644 install -d $RPM_BUILD_ROOT%{_datadir}/xgreeters
645 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_sbindir}}/vbox-greeter
646 cp -p %{objdir}/Additions/Installer/linux/share/VBoxGuestAdditions/vbox-greeter.desktop $RPM_BUILD_ROOT%{_datadir}/xgreeters
650 install -d $RPM_BUILD_ROOT/%{_lib}/security
651 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,/%{_lib}/security}/pam_vbox.so
654 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/mount.vboxsf
655 install -p mount.vboxsf $RPM_BUILD_ROOT/sbin/mount.vboxsf
658 install -p %{SOURCE5} $RPM_BUILD_ROOT/sbin/mount.vdi
660 # these belong to .iso
661 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/autorun.sh
662 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/runasroot.sh
666 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/vboxadd
667 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/vboxadd-service
668 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/vboxadd-x11
669 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/helpers/generate_service_file
670 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPInstall
671 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPLoggerCtl
672 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPUninstall
673 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/load.sh
674 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/loadall.sh
675 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/scripts/VBoxHeadlessXOrg.sh
676 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/scripts/init_template.sh
677 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/scripts/install_service
678 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxshell.py
679 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/xpidl
680 %{__rm} -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/src
683 # use upstream installer to relocate rest of the files, fakeroot because it forces uid/gid 0
684 fakeroot sh -x $RPM_BUILD_ROOT%{_libdir}/%{pname}/scripts/install.sh \
686 --prefix %{_prefix} \
687 %{!?with_webservice:--no-web-service} \
688 --root $RPM_BUILD_ROOT
690 %{__mv} $RPM_BUILD_ROOT{%{_datadir}/%{pname},/lib/udev}/VBoxCreateUSBNode.sh
691 cp -p %{SOURCE6} $RPM_BUILD_ROOT/etc/udev/rules.d/virtualbox.rules
693 # cleanup lowercased variants, not used in any script (less cruft)
694 %{__rm} -r $RPM_BUILD_ROOT%{_bindir}/vboxautostart
695 %{__rm} -r $RPM_BUILD_ROOT%{_bindir}/vboxballoonctrl
696 %{__rm} -r $RPM_BUILD_ROOT%{_bindir}/vboxheadless
697 %{__rm} -r $RPM_BUILD_ROOT%{_bindir}/vboxmanage
698 %{__rm} -r $RPM_BUILD_ROOT%{_bindir}/vboxsdl
699 %{__rm} -r $RPM_BUILD_ROOT%{_bindir}/virtualbox
702 %{__rm} -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/{sdk,testcase}
703 %{__rm} -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/dtrace
704 %{__rm} -r $RPM_BUILD_ROOT%{_datadir}/%{pname}/src
705 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxkeyboard.tar.bz2
706 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/tst*
707 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/scripts/generated.sh
708 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/ExtensionPacks/VNC/ExtPack-license.*
709 %{__rm} $RPM_BUILD_ROOT%{_usrsrc}/vboxhost-%{version}_PLD
710 %{__rm} -r $RPM_BUILD_ROOT%{py_sitescriptdir}/vboxapi*
713 %{__rm} -r $RPM_BUILD_ROOT%{_iconsdir}/hicolor/40x40
714 # duplicate, we already have virtualbox.png (128x128), this is 32x32
715 %{__rm} -r $RPM_BUILD_ROOT%{_pixmapsdir}/VBox.png
718 ln -sf %{_docdir}/%{pname}-doc-%{version}/UserManual.pdf $RPM_BUILD_ROOT%{_libdir}/%{pname}/UserManual.pdf
719 ln -sf %{_docdir}/%{pname}-doc-%{version}/UserManual_fr_FR.pdf $RPM_BUILD_ROOT%{_libdir}/%{pname}/UserManual_fr_FR.pdf
723 install -d $RPM_BUILD_ROOT%{_usrsrc}/vbox{host,guest}-%{version}-%{rel}
724 cp -a PLD-MODULE-BUILD/HostDrivers/* $RPM_BUILD_ROOT%{_usrsrc}/vboxhost-%{version}-%{rel}
725 cp -p src/VBox/HostDrivers/linux/dkms.conf $RPM_BUILD_ROOT%{_usrsrc}/vboxhost-%{version}-%{rel}
726 %{__make} -C $RPM_BUILD_ROOT%{_usrsrc}/vboxhost-%{version}-%{rel} clean
727 rm -rf $RPM_BUILD_ROOT%{_usrsrc}/vboxhost-%{version}-%{rel}/*/o
729 cp -a PLD-MODULE-BUILD/GuestDrivers/* $RPM_BUILD_ROOT%{_usrsrc}/vboxguest-%{version}-%{rel}
730 cp -p src/VBox/Additions/common/VBoxGuest/linux/dkms.conf $RPM_BUILD_ROOT%{_usrsrc}/vboxguest-%{version}-%{rel}
731 %{__make} -C $RPM_BUILD_ROOT%{_usrsrc}/vboxguest-%{version}-%{rel} clean
732 rm -rf $RPM_BUILD_ROOT%{_usrsrc}/vboxguest-%{version}-%{rel}/*/o
737 install -d $RPM_BUILD_ROOT{/etc/modules-load.d,/sbin}
739 cp -a PLD-MODULE-BUILD/installed/* $RPM_BUILD_ROOT
741 # Tell systemd to load modules
742 cp -p %{SOURCE7} $RPM_BUILD_ROOT/etc/modules-load.d/virtualbox-host.conf
743 cp -p %{SOURCE8} $RPM_BUILD_ROOT/etc/modules-load.d/virtualbox-guest.conf
747 rm -rf $RPM_BUILD_ROOT
750 %groupadd -g 221 -r -f vbox
753 for i in /sys/bus/usb/devices/*; do
754 if [ -r "$i/dev" ]; then
755 dev="`cat "$i/dev" 2>/dev/null || true`"
756 major="`expr "$dev" : '\(.*\):' 2> /dev/null || true`"
757 minor="`expr "$dev" : '.*:\(.*\)' 2> /dev/null || true`"
758 class="`cat $i/bDeviceClass 2> /dev/null || true`"
759 /lib/udev/VBoxCreateUSBNode.sh "$major" "$minor" "$class" vbox 2>/dev/null
764 You must install vboxdrv kernel modules for this software to work:
765 kernel*-virtualbox-host-%{version}-%{rel}@*
767 On Guest Linux system you might want to install:
768 kernel*-virtualbox-guest-%{version}-%{rel}@*
773 if [ "$1" = "0" ]; then
778 %update_desktop_database
779 %update_icon_cache hicolor
780 %update_mime_database
783 %update_desktop_database
784 %update_icon_cache hicolor
785 %update_mime_database
788 /sbin/chkconfig --add vboxservice
789 %service vboxservice restart
790 %systemd_post vboxservice.service
793 if [ "$1" = "0" ]; then
794 /sbin/chkconfig --del vboxservice
795 %service vboxservice -q stop
797 %systemd_preun vboxservice.service
802 %triggerpostun guest -- VirtualBox-guest < 4.3.0-1
803 %systemd_trigger vboxservice.service
805 %pre -n lightdm-greeter-vbox
806 %addusertogroup xdm vbox
808 %post -n dkms-vboxguest
810 dkms add -m vboxguest -v %{version}-%{rel} --rpm_safe_upgrade && \
811 dkms build -m vboxguest -v %{version}-%{rel} --rpm_safe_upgrade && \
812 dkms install -m vboxguest -v %{version}-%{rel} --rpm_safe_upgrade || :
814 %preun -n dkms-vboxguest
816 dkms remove -m vboxguest -v %{version}-%{rel} --rpm_safe_upgrade --all || :
818 %post -n dkms-vboxhost
820 dkms add -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade && \
821 dkms build -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade && \
822 dkms install -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade || :
824 %preun -n dkms-vboxhost
826 dkms remove -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade --all || :
828 %if %{with userspace}
830 %defattr(644,root,root,755)
831 %attr(755,root,root) /sbin/mount.vdi
832 %attr(755,root,root) %{_bindir}/VBox
833 %attr(755,root,root) %{_bindir}/VBoxAutostart
834 %attr(755,root,root) %{_bindir}/VBoxBalloonCtrl
835 %attr(755,root,root) %{_bindir}/VBoxHeadless
836 %attr(755,root,root) %{_bindir}/VBoxManage
837 %attr(755,root,root) %{_bindir}/VBoxSDL
838 %attr(755,root,root) %{_bindir}/VBoxTunctl
839 %dir %{_libdir}/%{pname}
841 %attr(755,root,root) %{_libdir}/%{pname}/DBGCPlugInDiggers.so
842 %attr(755,root,root) %{_libdir}/%{pname}/VBoxAuth.so
843 %attr(755,root,root) %{_libdir}/%{pname}/VBoxAuthSimple.so
844 %attr(755,root,root) %{_libdir}/%{pname}/VBoxDD.so
845 %attr(755,root,root) %{_libdir}/%{pname}/VBoxDD2.so
846 %attr(755,root,root) %{_libdir}/%{pname}/VBoxDDU.so
847 %attr(755,root,root) %{_libdir}/%{pname}/VBoxDragAndDropSvc.so
848 %attr(755,root,root) %{_libdir}/%{pname}/VBoxGuestControlSvc.so
849 %attr(755,root,root) %{_libdir}/%{pname}/VBoxGuestPropSvc.so
850 %attr(755,root,root) %{_libdir}/%{pname}/VBoxHostChannel.so
851 %attr(755,root,root) %{_libdir}/%{pname}/VBoxKeyboard.so
852 %attr(755,root,root) %{_libdir}/%{pname}/VBoxOGLhostcrutil.so
853 %attr(755,root,root) %{_libdir}/%{pname}/VBoxOGLhosterrorspu.so
854 %attr(755,root,root) %{_libdir}/%{pname}/VBoxOGLrenderspu.so
855 %attr(755,root,root) %{_libdir}/%{pname}/VBoxPython*.so
856 %attr(755,root,root) %{_libdir}/%{pname}/VBoxREM.so
857 %attr(755,root,root) %{_libdir}/%{pname}/VBoxRT.so
858 %attr(755,root,root) %{_libdir}/%{pname}/VBoxSharedClipboard.so
859 %attr(755,root,root) %{_libdir}/%{pname}/VBoxSharedCrOpenGL.so
860 %attr(755,root,root) %{_libdir}/%{pname}/VBoxSharedFolders.so
861 %attr(755,root,root) %{_libdir}/%{pname}/VBoxVMM.so
862 %attr(755,root,root) %{_libdir}/%{pname}/VBoxXPCOM.so
863 %attr(755,root,root) %{_libdir}/%{pname}/VBoxXPCOMC.so
865 %attr(755,root,root) %{_libdir}/%{pname}/VBoxREM32.so
866 %attr(755,root,root) %{_libdir}/%{pname}/VBoxREM64.so
870 %attr(755,root,root) %{_libdir}/%{pname}/VBoxAutostart
871 %attr(755,root,root) %{_libdir}/%{pname}/VBoxBalloonCtrl
872 %attr(755,root,root) %{_libdir}/%{pname}/VBoxExtPackHelperApp
873 %attr(755,root,root) %{_libdir}/%{pname}/VBoxHeadless
874 %attr(755,root,root) %{_libdir}/%{pname}/VBoxManage
875 %attr(755,root,root) %{_libdir}/%{pname}/VBoxNetAdpCtl
876 %attr(755,root,root) %{_libdir}/%{pname}/VBoxNetDHCP
877 %attr(755,root,root) %{_libdir}/%{pname}/VBoxNetNAT
878 %attr(755,root,root) %{_libdir}/%{pname}/VBoxSDL
879 %attr(755,root,root) %{_libdir}/%{pname}/VBoxSVC
880 %attr(755,root,root) %{_libdir}/%{pname}/VBoxVMMPreload
881 %attr(755,root,root) %{_libdir}/%{pname}/VBoxVolInfo
882 %attr(755,root,root) %{_libdir}/%{pname}/VBoxXPCOMIPCD
883 %attr(755,root,root) %{_libdir}/%{pname}/iPxeBaseBin
885 %attr(755,root,root) %{_libdir}/%{pname}/VBoxManageHelp
888 %dir %{_libdir}/%{pname}/ExtensionPacks
889 %{_libdir}/%{pname}/ExtensionPacks/VNC/ExtPack.xml
890 %dir %{_libdir}/%{pname}/ExtensionPacks/VNC
891 %dir %{_libdir}/%{pname}/ExtensionPacks/VNC/linux*
892 %attr(755,root,root) %{_libdir}/%{pname}/ExtensionPacks/VNC/linux*/VBoxVNC*.so
894 %{_libdir}/%{pname}/VBoxDD2GC.debug
895 %{_libdir}/%{pname}/VBoxDD2GC.gc
896 %{_libdir}/%{pname}/VBoxDD2R0.debug
897 %{_libdir}/%{pname}/VBoxDD2R0.r0
898 %{_libdir}/%{pname}/VBoxDDGC.debug
899 %{_libdir}/%{pname}/VBoxDDGC.gc
900 %{_libdir}/%{pname}/VBoxDDR0.debug
901 %{_libdir}/%{pname}/VBoxDDR0.r0
902 %{_libdir}/%{pname}/VBoxEFI32.fd
903 %{_libdir}/%{pname}/VBoxEFI64.fd
904 %{_libdir}/%{pname}/VMMGC.debug
905 %{_libdir}/%{pname}/VMMGC.gc
906 %{_libdir}/%{pname}/VMMR0.debug
907 %{_libdir}/%{pname}/VMMR0.r0
909 %dir %{_libdir}/%{pname}/components
910 %{_libdir}/%{pname}/components/VBoxXPCOMBase.xpt
911 %{_libdir}/%{pname}/components/VirtualBox_XPCOM.xpt
912 %attr(755,root,root) %{_libdir}/%{pname}/components/VBoxC.so
913 %attr(755,root,root) %{_libdir}/%{pname}/components/VBoxSVCM.so
914 %attr(755,root,root) %{_libdir}/%{pname}/components/VBoxXPCOMIPCC.so
916 %dir %{_datadir}/%{pname}
917 %attr(755,root,root) %{_datadir}/%{pname}/VBoxSysInfo.sh
919 %config(noreplace) %verify(not md5 mtime size) /etc/udev/rules.d/virtualbox.rules
920 %attr(755,root,root) /lib/udev/VBoxCreateUSBNode.sh
923 %defattr(644,root,root,755)
924 %attr(755,root,root) %{_bindir}/VirtualBox
925 %attr(755,root,root) %{_libdir}/%{pname}/VBoxDbg.so
926 %attr(755,root,root) %{_libdir}/%{pname}/VBoxTestOGL
927 %attr(755,root,root) %{_libdir}/%{pname}/VirtualBox
928 %dir %{_datadir}/%{pname}/nls
929 %lang(bg) %{_datadir}/%{pname}/nls/*_bg.qm
930 %lang(ca) %{_datadir}/%{pname}/nls/*_ca.qm
931 %lang(ca_VA) %{_datadir}/%{pname}/nls/*_ca_VA.qm
932 %lang(cs) %{_datadir}/%{pname}/nls/*_cs.qm
933 %lang(da) %{_datadir}/%{pname}/nls/*_da.qm
934 %lang(de) %{_datadir}/%{pname}/nls/*_de.qm
935 %lang(en) %{_datadir}/%{pname}/nls/*_en.qm
936 %lang(es) %{_datadir}/%{pname}/nls/*_es.qm
937 %lang(eu) %{_datadir}/%{pname}/nls/*_eu.qm
938 %lang(fi) %{_datadir}/%{pname}/nls/*_fa_IR.qm
939 %lang(fi) %{_datadir}/%{pname}/nls/*_fi.qm
940 %lang(fr) %{_datadir}/%{pname}/nls/*_fr.qm
941 %lang(gl_ES) %{_datadir}/%{pname}/nls/*_gl_ES.qm
942 %lang(hu) %{_datadir}/%{pname}/nls/*_hu.qm
943 %lang(id) %{_datadir}/%{pname}/nls/*_id.qm
944 %lang(it) %{_datadir}/%{pname}/nls/*_it.qm
945 %lang(ja) %{_datadir}/%{pname}/nls/*_ja.qm
946 %lang(km_KH) %{_datadir}/%{pname}/nls/*_km_KH.qm
947 %lang(ko) %{_datadir}/%{pname}/nls/*_ko.qm
948 %lang(lt) %{_datadir}/%{pname}/nls/*_lt.qm
949 %lang(nl) %{_datadir}/%{pname}/nls/*_nl.qm
950 %lang(pl) %{_datadir}/%{pname}/nls/*_pl.qm
951 %lang(pt) %{_datadir}/%{pname}/nls/*_pt.qm
952 %lang(pt_BR) %{_datadir}/%{pname}/nls/*_pt_BR.qm
953 %lang(ro) %{_datadir}/%{pname}/nls/*_ro.qm
954 %lang(ru) %{_datadir}/%{pname}/nls/*_ru.qm
955 %lang(sk) %{_datadir}/%{pname}/nls/*_sk.qm
956 %lang(sr) %{_datadir}/%{pname}/nls/*_sr.qm
957 %lang(sv) %{_datadir}/%{pname}/nls/*_sv.qm
958 %lang(tr) %{_datadir}/%{pname}/nls/*_tr.qm
959 %lang(uk) %{_datadir}/%{pname}/nls/*_uk.qm
960 %lang(zh_CN) %{_datadir}/%{pname}/nls/*_zh_CN.qm
961 %lang(zh_TW) %{_datadir}/%{pname}/nls/*_zh_TW.qm
962 %{_desktopdir}/virtualbox.desktop
963 %{_pixmapsdir}/virtualbox.png
964 %{_iconsdir}/hicolor/*/apps/virtualbox.png
965 %{_iconsdir}/hicolor/*/apps/virtualbox.svg
966 %{_iconsdir}/hicolor/*/mimetypes/virtualbox-*.png
967 %{_datadir}/mime/packages/virtualbox.xml
970 %defattr(644,root,root,755)
971 %{_datadir}/%{pname}/VBoxGuestAdditions.iso
974 %defattr(644,root,root,755)
975 %attr(755,root,root) /sbin/mount.vboxsf
976 %attr(754,root,root) /etc/rc.d/init.d/vboxservice
977 %{systemdunitdir}/vboxservice.service
978 %attr(755,root,root) %{_bindir}/VBoxControl
979 %attr(755,root,root) %{_bindir}/VBoxService
982 %defattr(644,root,root,755)
983 /etc/xdg/autostart/vboxclient.desktop
984 %attr(755,root,root) %{_bindir}/VBoxClient
985 %attr(755,root,root) %{_bindir}/VBoxClient-all
988 %attr(755,root,root) %{_libdir}/%{pname}/additions/vboxadd
989 %attr(755,root,root) %{_libdir}/%{pname}/additions/vboxadd-service
990 %attr(755,root,root) %{_libdir}/%{pname}/additions/vboxadd-x11
993 %if %{with webservice}
995 %defattr(644,root,root,755)
996 %attr(755,root,root) %{_bindir}/vboxwebsrv
997 %attr(755,root,root) %{_libdir}/%{pname}/vboxwebsrv
998 %attr(755,root,root) %{_libdir}/%{pname}/webtest
1002 %files -n lightdm-greeter-vbox
1003 %defattr(644,root,root,755)
1004 %attr(755,root,root) %{_sbindir}/vbox-greeter
1005 %{_datadir}/xgreeters/vbox-greeter.desktop
1008 %files -n pam-pam_vbox
1009 %defattr(644,root,root,755)
1010 %attr(755,root,root) /%{_lib}/security/pam_vbox.so
1014 %defattr(644,root,root,755)
1015 # this is a symlink...
1016 %doc %{_libdir}/%{pname}/UserManual.pdf
1017 %lang(fr) %doc %{_libdir}/%{pname}/UserManual_fr_FR.pdf
1019 %doc %{outdir}/UserManual.pdf
1020 %lang(fr) %doc %{outdir}/UserManual_fr_FR.pdf
1023 %files -n xorg-driver-video-vboxvideo
1024 %defattr(644,root,root,755)
1025 %attr(755,root,root) %{_libdir}/xorg/modules/drivers/vboxvideo_drv.so
1026 %attr(755,root,root) %{_libdir}/xorg/modules/dri/vboxvideo_dri.so
1027 # vboxvideo_dri.so deps
1028 %attr(755,root,root) %{_libdir}/VBoxOGLarrayspu.so
1029 %attr(755,root,root) %{_libdir}/VBoxOGLcrutil.so
1030 %attr(755,root,root) %{_libdir}/VBoxOGLerrorspu.so
1031 %attr(755,root,root) %{_libdir}/VBoxOGLfeedbackspu.so
1032 %attr(755,root,root) %{_libdir}/VBoxOGLpackspu.so
1033 %attr(755,root,root) %{_libdir}/VBoxOGLpassthroughspu.so
1036 %files -n dkms-vboxguest
1037 %defattr(644,root,root,755)
1038 %{_usrsrc}/vboxguest-%{version}-%{rel}
1040 %files -n dkms-vboxhost
1041 %defattr(644,root,root,755)
1042 %{_usrsrc}/vboxhost-%{version}-%{rel}