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 debuginfo # disable debuginfo creation (to save space when compiling)
16 %bcond_without dist_kernel # without distribution kernel
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
25 %undefine with_dist_kernel
27 %define _duplicate_files_terminate_build 0
30 # The goal here is to have main, userspace, package built once with
31 # simple release number, and only rebuild kernel packages with kernel
32 # version as part of release number, without the need to bump release
33 # with every kernel change.
34 %if 0%{?_pld_builder:1} && %{with kernel} && %{with userspace}
35 %{error:kernel and userspace cannot be built at the same time on PLD builders}
39 %if "%{_alt_kernel}" != "%{nil}"
40 %if 0%{?build_kernels:1}
41 %{error:alt_kernel and build_kernels are mutually exclusive}
44 %undefine with_userspace
45 %global _build_kernels %{alt_kernel}
47 %global _build_kernels %{?build_kernels:,%{?build_kernels}}
50 %if %{without userspace}
51 # nothing to be placed to debuginfo package
52 %undefine with_debuginfo
55 %if %{without debuginfo}
56 %define _enable_debug_packages 0
59 %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)
60 %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)
61 %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)
62 %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)
65 %define pname VirtualBox
66 Summary: VirtualBox - x86 hardware virtualizer
67 Summary(pl.UTF-8): VirtualBox - wirtualizator sprzętu x86
68 Name: %{pname}%{?_pld_builder:%{?with_kernel:-kernel}}%{_alt_kernel}
70 Release: %{rel}%{?_pld_builder:%{?with_kernel:@%{_kernel_ver_str}}}
72 Group: Applications/Emulators
73 Source0: http://download.virtualbox.org/virtualbox/%{version}/%{pname}-%{version}.tar.bz2
74 # Source0-md5: 422ab09b7eb9c0564b55a6a0a6e6678f
75 Source1: http://download.virtualbox.org/virtualbox/%{version}/VBoxGuestAdditions_%{version}.iso
76 # Source1-md5: f23d3980a509418b2dcb614483271ffa
77 Source2: vboxservice.init
78 Source3: vboxservice.service
81 Source7: %{pname}-virtualbox-host-modules-load.conf
82 Source8: %{pname}-virtualbox-guest-modules-load.conf
83 Patch0: %{pname}-configure-spaces.patch
84 Patch1: %{pname}-VBoxSysInfo.patch
85 Patch2: %{pname}-warning_workaround.patch
86 Patch3: %{pname}-dri.patch
88 Patch5: xserver-1.12.patch
89 Patch6: hardening-shared.patch
90 Patch7: lightdm-greeter-glib-includes.patch
91 Patch8: lightdm-greeter-g++-link.patch
92 Patch9: pld-guest.patch
93 Patch10: 16-no-update.patch
94 Patch11: 18-system-xorg.patch
95 URL: http://www.virtualbox.org/
98 BuildRequires: gcc-multilib
99 BuildRequires: glibc-devel(i686)
100 BuildRequires: libstdc++-multilib-devel
101 BuildRequires: libstdc++-multilib-static
103 %if "%{pld_release}" == "ac"
104 BuildRequires: XFree86-devel
106 BuildRequires: xorg-lib-libXcomposite-devel
107 BuildRequires: xorg-lib-libXcursor-devel
108 BuildRequires: xorg-lib-libXmu-devel
109 BuildRequires: xorg-proto-glproto-devel
110 BuildRequires: xorg-xserver-server-devel
112 BuildRequires: OpenGL-GLU-devel
113 BuildRequires: OpenGL-devel
114 BuildRequires: QtGui-devel
115 BuildRequires: QtNetwork-devel
116 BuildRequires: QtOpenGL-devel
117 BuildRequires: SDL-devel >= 1.2.7
118 BuildRequires: acpica
119 BuildRequires: alsa-lib-devel >= 1.0.6
123 BuildRequires: curl-devel
124 BuildRequires: device-mapper-devel
125 %{?with_doc:BuildRequires: docbook-dtd44-xml}
126 BuildRequires: fakeroot
127 %{?with_lightdm:BuildRequires: fltk-devel}
128 BuildRequires: gcc >= 5:3.2.3
129 %{?with_webservice:BuildRequires: gsoap-devel}
131 BuildRequires: kBuild >= 0.1.9998.2700
132 BuildRequires: libIDL-devel
133 BuildRequires: libcap-static
134 BuildRequires: libdrm-devel
135 BuildRequires: libpng-devel >= 1.2.5
136 BuildRequires: libstdc++-devel >= 5:3.2.3
137 BuildRequires: libstdc++-static >= 5:3.2.3
138 BuildRequires: libuuid-devel
139 BuildRequires: libvncserver-devel >= 0.9.9
140 BuildRequires: libvpx-devel
141 BuildRequires: libxml2-devel >= 2.6.26
142 BuildRequires: libxslt-devel >= 1.1.17
143 BuildRequires: libxslt-progs >= 1.1.17
144 %{?with_lightdm:BuildRequires: lightdm-libs-qt-devel}
145 BuildRequires: makeself
146 BuildRequires: mkisofs
147 BuildRequires: pam-devel
148 BuildRequires: pixman-devel
149 BuildRequires: pkgconfig
150 BuildRequires: pulseaudio-devel >= 0.9.0
151 BuildRequires: python-devel
152 BuildRequires: python-modules
153 BuildRequires: qt4-build >= 4.2.0
154 BuildRequires: qt4-linguist
155 BuildRequires: rpmbuild(macros) >= 1.678
156 BuildRequires: sed >= 4.0
158 BuildRequires: texlive-fonts-bitstream
159 BuildRequires: texlive-fonts-other
160 BuildRequires: texlive-fonts-type1-bitstream
161 BuildRequires: texlive-format-pdflatex
162 BuildRequires: texlive-latex-ucs
163 BuildRequires: texlive-xetex
166 BuildRequires: xalan-c-devel >= 1.10.0
167 BuildRequires: xerces-c-devel >= 2.6.0
169 BuildRequires: zlib-devel >= 1.2.1
171 %{?with_dist_kernel:%{expand:%kbrs}}
172 Requires(post,preun): /sbin/chkconfig
173 Requires(postun): /usr/sbin/groupdel
174 Requires(pre): /usr/bin/getgid
175 Requires(pre): /usr/sbin/groupadd
176 Requires: libvncserver >= 0.9.9
178 Provides: group(vbox)
179 Obsoletes: VirtualBox-udev < 4.2.10-5
180 ExclusiveArch: %{ix86} %{x8664}
181 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
184 %define vbox_arch amd64
186 %define vbox_arch x86
188 %define vbox_platform linux.%{vbox_arch}
189 %define outdir out/%{vbox_platform}/release/bin
190 %define objdir out/%{vbox_platform}/release/obj
193 Oracle VirtualBox is a general-purpose full virtualizer for x86
194 hardware. Targeted at server, desktop and embedded use, it is now the
195 only professional-quality virtualization solution that is also Open
198 Some of the features of VirtualBox are:
200 Modularity: VirtualBox has an extremely modular design with
201 well-defined internal programming interfaces and a client/server
202 design. This makes it easy to control it from several interfaces at
203 once: for example, you can start a virtual machine in a typical
204 virtual machine GUI and then control that machine from the command
205 line. VirtualBox also comes with a full Software Development Kit: even
206 though it is Open Source Software, you don't have to hack the source
207 to write a new interface for VirtualBox.
209 Virtual machine descriptions in XML: the configuration settings of
210 virtual machines are stored entirely in XML and are independent of the
211 local machines. Virtual machine definitions can therefore easily be
212 ported to other computers.
214 You should install this package in your Host OS.
216 %description -l pl.UTF-8
217 Oracle VirtualBox jest emulatorem sprzętu x86. Kierowany do zastosowań
218 serwerowych, desktopowych oraz wbudowanych jest obecnie jedynym
219 wysokiej jakości rozwiązaniem wirtualizacyjnym dostępnym również jako
220 Otwarte Oprogramowanie.
222 Przykładowe cechy VirtualBoksa:
224 Modularność: VirtualBox jest wysoce zmodularyzowanym produktem z
225 dobrze zaprojektowanym wewnętrznym interfejsem programowym typu
226 klient/serwer. Dzięki temu można łatwo kontrolować go za pomocą
227 różnych interfejsów. Można na przykład uruchomić maszynę wirtualną z
228 poziomu interfejsu graficznego, a później kontrolować ją z linii
229 poleceń. VirtualBox dostarcza również pełny pakiet deweloperski, co
230 pozwala stworzyć dowolny inny interfejs zarządzania maszyną wirtualną.
232 Opisy maszyn wirtualnych w XML-u: konfiguracje poszczególnych maszyn
233 wirtualnych są w całości przechowywane w XML-u i są niezależne od
234 lokalnej maszyny. Dzięki temu można szybko i łatwo przenieść
235 konfigurację maszyny wirtualnej na inny komputer.
238 Summary: Qt GUI part for VirtualBox
239 Group: X11/Applications
240 Requires: %{name} = %{version}-%{release}
241 Requires: QtCore >= 4.7.0
242 Requires: desktop-file-utils
243 Requires: desktop-file-utils
245 Requires: fonts-Type1-urw
246 Requires: gtk-update-icon-cache
247 Requires: hicolor-icon-theme
248 Requires: shared-mime-info
250 Conflicts: %{name} < 4.3.8-3
253 Qt GUI part for VirtualBox.
256 Summary: VirtualBox documentation
260 This package contains VirtualBox User Manual.
263 Summary: VirtualBox Guest Additions
265 Requires: %{name} = %{version}
266 %if "%{_rpmversion}" >= "5"
270 %description additions
271 VirtualBox Guest Additions.
273 This package contains ISO9660 image with drivers for Guest OS.
275 You should install this package in your Host OS.
278 Summary: VirtualBox Guest tools
280 Provides: group(vboxsf)
281 Requires(post): systemd-units >= 38
282 Requires(post,preun): /sbin/chkconfig
283 Requires(postun): /usr/sbin/groupdel
284 Requires(pre): /usr/bin/getgid
285 Requires(pre): /usr/sbin/groupadd
287 Requires: systemd-units >= 38
288 Suggests: kernel(vboxguest)
289 Suggests: kernel(vboxsf)
290 Suggests: pam-pam_vbox
293 Tools that utilize kernel modules for supporting integration with the
294 Host, including file sharing.
296 You should install this package in your Guest OS for base VirtualBox
300 Summary: VirtualBox Guest X11 Additions
301 Group: X11/Applications
302 Requires: %{name}-guest = %{version}-%{release}
303 Requires: xorg-app-xrandr
304 Requires: xorg-driver-video-vboxvideo = %{version}-%{release}
305 Suggests: kernel(vboxvideo)
306 Obsoletes: xorg-driver-input-vboxmouse < %{version}-%{release}
308 %description guest-x11
309 Tools for X11 session that utilize kernel modules for supporting
310 integration with the Host, like tracking of mouse pointer movement and
311 X.org X11 video and mouse drivers
313 You should install this package in your Guest OS for X11 session.
316 Summary: VirtualBox Web Service
317 Group: Applications/Emulators
318 Requires: %{name} = %{version}-%{release}
320 %description webservice
321 This package contains VirtualBox web service API daemon. It allows to
322 control virtual machines via web interface.
324 %package -n lightdm-greeter-vbox
325 Summary: VirtualBox greeter for lightdm
327 # NOTE: '#' in url is lost because rpm treats it as comment, even hacking with
328 # macros doesn't help as rpmbuild takes final result to parse
329 URL: http://www.virtualbox.org/manual/ch09.html#autologon_unix_lightdm
330 Requires: kernel(vboxguest)
331 Requires: lightdm >= 1.0.1
332 Requires: pam-pam_vbox = %{version}-%{release}
333 Provides: lightdm-greeter
335 %description -n lightdm-greeter-vbox
336 VirtualBox greeter for LightDM.
338 %package -n pam-pam_vbox
339 Summary: PAM module to perform automated guest logons
342 %description -n pam-pam_vbox
343 PAM module (Pluggable Authentication Module) which can be used to
344 perform automated guest logons.
346 %package -n xorg-driver-video-vboxvideo
347 Summary: X.org video driver for VirtualBox guest OS
348 Summary(pl.UTF-8): Sterownik grafiki dla systemu gościa w VirtualBoksie
349 Group: X11/Applications
350 Requires: Mesa-dri-driver-swrast
351 Requires: xorg-xserver-libdri >= 1.7.4
352 Requires: xorg-xserver-server >= 1.0.99.901
353 Requires: xorg-xserver-server(videodrv-abi) <= 15.0
354 Requires: xorg-xserver-server(videodrv-abi) >= 2.0
355 Provides: OpenGL = 2.1
356 Provides: OpenGL-GLX = 1.3
357 Provides: xorg-driver-video
358 Provides: xorg-xserver-module(glx)
360 %description -n xorg-driver-video-vboxvideo
361 X.org video driver for VirtualBox guest OS.
363 %description -n xorg-driver-video-vboxvideo -l pl.UTF-8
364 Sterownik grafiki dla systemu gościa w VirtualBoksie.
366 %package -n dkms-vboxguest
367 Summary: VirtualBox kernel modules source for Linux Guest
368 Summary(pl.UTF-8): Moduły VirtualBoksa do jądra Linuksa dla systemu gościa
373 %if "%{_rpmversion}" >= "5"
377 %description -n dkms-vboxguest
378 This package contains DKMS-ready VirtualBox Guest Additions for Linux
379 Module, host file system access (Shared Folders) and DRM support for
382 %description -n dkms-vboxguest -l pl.UTF-8
383 Ten pakiet zawiera moduł jądra Linuksa vboxguest dla VirtualBoksa -
384 dodatki dla systemu gościa, dostęp do plików systemu głównego z
385 poziomu systemu gościa i sterownik obsługi DRM.
387 %package -n dkms-vboxhost
388 Summary: VirtualBox Support Drivers source
389 Summary(pl.UTF-8): Moduły jądra Linuksa dla VirtualBoksa
394 %if "%{_rpmversion}" >= "5"
398 %description -n dkms-vboxhost
399 This package contains DKMS enabled sourcecode of VirtualBox Support
400 Driver, Network Adapter Driver, Network Filter Driver and PCI card
401 passthrough driver that works as host proxy between guest and PCI
404 %description -n dkms-vboxhost -l pl.UTF-8
405 Ten pakiet zawiera sterownik wsparcia dla systemu głównego, sterownik
406 witrualnej karty sieciowej, sterownik filtrowania sieci dla systemu
407 głównego oraz sterownik, ktory działa jako proxy między gościem i
408 gospodarzem sprzętu PCI.
412 # KEEP ALL REGULAR SUBPACKAGES BEFORE KERNEL PACKAGES.
414 %define kernel_pkg()\
415 %package -n kernel%{_alt_kernel}-virtualbox-guest\
416 Summary: VirtualBox kernel modules for Linux Guest\
417 Summary(pl.UTF-8): Moduły VirtualBoksa do jądra Linuksa dla systemu gościa\
418 Release: %{rel}@%{_kernel_ver_str}\
420 Requires(post,postun): /sbin/depmod\
421 Requires(post): systemd-units >= 38\
422 Requires: dev >= 2.9.0-7\
423 Requires: systemd-units >= 38\
424 %if %{with dist_kernel}\
425 %requires_releq_kernel\
426 Requires: %{releq_kernel -n drm}\
427 Requires(postun): %releq_kernel\
429 Provides: kernel(vboxguest) = %{version}-%{rel}\
430 Provides: kernel(vboxsf) = %{version}-%{rel}\
431 Provides: kernel(vboxvideo) = %{version}-%{rel}\
432 Obsoletes: kernel-init-guest\
433 Conflicts: kernel%{_alt_kernel}-virtualbox-host\
435 %description -n kernel%{_alt_kernel}-virtualbox-guest\
436 This package contains VirtualBox Guest Additions for Linux Module,\
437 host file system access (Shared Folders) and DRM support for\
440 %description -n kernel%{_alt_kernel}-virtualbox-guest -l pl.UTF-8\
441 Ten pakiet zawiera moduł jądra Linuksa vboxguest dla VirtualBoksa -\
442 dodatki dla systemu gościa, dostęp do plików systemu głównego z\
443 poziomu systemu gościa i sterownik obsługi DRM.\
445 %package -n kernel%{_alt_kernel}-virtualbox-host\
446 Summary: VirtualBox Support Drivers\
447 Summary(pl.UTF-8): Moduły jądra Linuksa dla VirtualBoksa\
448 Release: %{rel}@%{_kernel_ver_str}\
450 Requires(post,postun): /sbin/depmod\
451 Requires(post): systemd-units >= 38\
452 Requires: dev >= 2.9.0-7\
453 %if %{with dist_kernel}\
454 %requires_releq_kernel\
455 Requires(postun): %releq_kernel\
457 Requires: systemd-units >= 38\
458 Provides: kernel(vboxdrv) = %{version}-%{rel}\
459 Provides: kernel(vboxnetadp) = %{version}-%{rel}\
460 Provides: kernel(vboxnetflt) = %{version}-%{rel}\
461 Provides: kernel(vboxpci) = %{version}-%{rel}\
462 Obsoletes: kernel-init-host\
464 %description -n kernel%{_alt_kernel}-virtualbox-host\
465 This package contains VirtualBox Support Driver, Network Adapter\
466 Driver, Network Filter Driver and PCI card passthrough driver that\
467 works as host proxy between guest and PCI hardware.\
469 %description -n kernel%{_alt_kernel}-virtualbox-host -l pl.UTF-8\
470 Ten pakiet zawiera sterownik wsparcia dla systemu głównego, sterownik\
471 witrualnej karty sieciowej, sterownik filtrowania sieci dla systemu\
472 głównego oraz sterownik, ktory działa jako proxy między gościem i\
473 gospodarzem sprzętu PCI.\
476 %files -n kernel%{_alt_kernel}-virtualbox-guest\
477 %defattr(644,root,root,755)\
478 %config(noreplace) %verify(not md5 mtime size) /etc/modules-load.d/virtualbox-guest.conf\
479 /lib/modules/%{_kernel_ver}/misc/vboxguest.ko*\
480 /lib/modules/%{_kernel_ver}/misc/vboxsf.ko*\
481 /lib/modules/%{_kernel_ver}/misc/vboxvideo.ko*\
483 %files -n kernel%{_alt_kernel}-virtualbox-host\
484 %config(noreplace) %verify(not md5 mtime size) /etc/modules-load.d/virtualbox-host.conf\
485 /lib/modules/%{_kernel_ver}/misc/vboxdrv.ko*\
486 /lib/modules/%{_kernel_ver}/misc/vboxnetadp.ko*\
487 /lib/modules/%{_kernel_ver}/misc/vboxnetflt.ko*\
488 /lib/modules/%{_kernel_ver}/misc/vboxpci.ko*\
491 %post -n kernel%{_alt_kernel}-virtualbox-guest\
492 %depmod %{_kernel_ver}\
494 %postun -n kernel%{_alt_kernel}-virtualbox-guest\
495 %depmod %{_kernel_ver}\
497 %post -n kernel%{_alt_kernel}-virtualbox-host\
498 %depmod %{_kernel_ver}\
500 %postun -n kernel%{_alt_kernel}-virtualbox-host\
501 %depmod %{_kernel_ver}\
504 %define build_kernel_pkg()\
505 export KERN_DIR=%{_kernelsrcdir}\
506 cd PLD-MODULE-BUILD/HostDrivers\
507 %build_kernel_modules -m vboxdrv -C vboxdrv\
508 %build_kernel_modules -m vboxnetadp -C vboxnetadp\
509 %build_kernel_modules -m vboxnetflt -C vboxnetflt\
510 %build_kernel_modules -m vboxpci -C vboxpci\
512 %build_kernel_modules -m vboxguest -C vboxguest\
513 cp -a vboxguest/Module.symvers vboxsf\
514 %build_kernel_modules -m vboxsf -C vboxsf -c\
515 %build_kernel_modules -m vboxvideo -C vboxvideo\
517 %install_kernel_modules -D PLD-MODULE-BUILD/installed -m PLD-MODULE-BUILD/HostDrivers/vboxdrv/vboxdrv -d misc\
518 %install_kernel_modules -D PLD-MODULE-BUILD/installed -m PLD-MODULE-BUILD/HostDrivers/vboxnetadp/vboxnetadp -d misc\
519 %install_kernel_modules -D PLD-MODULE-BUILD/installed -m PLD-MODULE-BUILD/HostDrivers/vboxnetflt/vboxnetflt -d misc\
520 %install_kernel_modules -D PLD-MODULE-BUILD/installed -m PLD-MODULE-BUILD/HostDrivers/vboxpci/vboxpci -d misc\
521 %install_kernel_modules -D PLD-MODULE-BUILD/installed -m PLD-MODULE-BUILD/GuestDrivers/vboxguest/vboxguest -d misc\
522 %install_kernel_modules -D PLD-MODULE-BUILD/installed -m PLD-MODULE-BUILD/GuestDrivers/vboxsf/vboxsf -d misc\
523 %install_kernel_modules -D PLD-MODULE-BUILD/installed -m PLD-MODULE-BUILD/GuestDrivers/vboxvideo/vboxvideo -d misc\
526 %{?with_kernel:%{expand:%kpkg}}
529 %setup -q -n %{pname}-%{version}
543 %{__sed} -i -e 's,@VBOX_DOC_PATH@,%{_docdir}/%{name}-%{version},' \
544 -e 's/Categories=.*/Categories=Utility;Emulator;/' src/VBox/Installer/common/virtualbox.desktop.in
547 %{__sed} -i -e "s@_LDFLAGS\.%{vbox_arch}*.*=@& %{rpmldflags}@g" \
548 -i Config.kmk src/libs/xpcom18a4/Config.kmk
550 %{__sed} -i -e 's#@INSTALL_DIR@#%{_libdir}/%{pname}#' src/VBox/Installer/linux/VBox.sh
553 install -d PLD-MODULE-BUILD/{GuestDrivers,HostDrivers}
555 ../src/VBox/Additions/linux/export_modules guest-modules.tar.gz
556 tar -zxf guest-modules.tar.gz -C GuestDrivers
558 ../src/VBox/HostDrivers/linux/export_modules host-modules.tar.gz --without-hardening
559 tar -zxf host-modules.tar.gz -C HostDrivers
563 # using system kBuild package
566 # use linux icon for now
567 cp -p src/VBox/Frontends/VirtualBox/images/os_{linux26,pld}.png
568 cp -p src/VBox/Frontends/VirtualBox/images/os_{linux26,pld}_64.png
570 cat <<'EOF'>> LocalConfig.kmk
571 %{?with_verbose:KBUILD_VERBOSE=3}
573 __VBOX_BUILD_PUBLISHER=_PLD
574 VBOX_VERSION_STRING=$(VBOX_VERSION_MAJOR).$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD)_PLD
575 XSERVER_VERSION=%(rpm -q --queryformat '%{V}\n' xorg-xserver-server-devel | awk -F. '{ print $1 $2 }' 2>/dev/null || echo ERROR)
576 VBOX_USE_SYSTEM_XORG_HEADERS=1
578 VBOX_WITH_LIGHTDM_GREETER=1
579 VBOX_WITH_LIGHTDM_GREETER_PACKING=1
581 TOOL_GCC3_CFLAGS=%{rpmcflags}
582 TOOL_GCC3_CXXFLAGS=%{rpmcxxflags}
583 VBOX_GCC_OPT=%{rpmcxxflags}
585 VBOX_PATH_APP_PRIVATE_ARCH := %{_libdir}/%{pname}
586 VBOX_PATH_APP_PRIVATE := %{_datadir}/%{pname}
587 VBOX_PATH_SHARED_LIBS := $(VBOX_PATH_APP_PRIVATE_ARCH)
589 VBOX_WITH_RUNPATH := $(VBOX_PATH_APP_PRIVATE_ARCH)
590 #VBOX_PATH_APP_DOCS := %{_docdir}/%{pname}-doc-%{version}
592 # don't build testcases to save time, they are not needed for the package
593 VBOX_WITH_TESTCASES :=
594 VBOX_WITH_TESTSUITE :=
598 %if %{with userspace}
600 --with-gcc="%{__cc}" \
601 --with-g++="%{__cxx}" \
602 %{!?with_doc:--disable-docs} \
604 --disable-hardening \
607 %{__enable webservice} \
612 %{__cc} %{rpmcflags} %{rpmldflags} -Wall -Werror src/VBox/Additions/linux/sharedfolders/{mount.vboxsf.c,vbsfmount.c} -o mount.vboxsf
615 %{?with_kernel:%{expand:%bkpkg}}
618 rm -rf $RPM_BUILD_ROOT
620 %if %{with userspace}
621 install -d $RPM_BUILD_ROOT{%{_bindir},/sbin,%{_sbindir},%{_libdir}/%{pname}/ExtensionPacks} \
622 $RPM_BUILD_ROOT{%{_pixmapsdir},%{_desktopdir},%{_datadir}/mime/packages} \
623 $RPM_BUILD_ROOT%{_libdir}/xorg/modules/{drivers,dri,input} \
624 $RPM_BUILD_ROOT{/lib/udev,/etc/udev/rules.d} \
625 $RPM_BUILD_ROOT{/etc/rc.d/init.d,%{systemdunitdir},%{_usrsrc}}
627 # test if we can hardlink -- %{_builddir} and $RPM_BUILD_ROOT on same partition
628 if cp -al COPYING $RPM_BUILD_ROOT/COPYING; then
630 %{__rm} $RPM_BUILD_ROOT/COPYING
633 cp -a$l %{outdir}/* $RPM_BUILD_ROOT%{_libdir}/%{pname}
634 cp -a$l %{SOURCE1} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/VBoxGuestAdditions.iso
637 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/VBoxOGL.so,%{_libdir}/xorg/modules/dri/vboxvideo_dri.so}
638 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/vboxvideo_drv_system.so,%{_libdir}/xorg/modules/drivers/vboxvideo_drv.so}
639 # XXX: where else to install them that vboxvideo_dri.so finds them? patch with rpath?
640 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLarrayspu.so
641 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLcrutil.so
642 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLerrorspu.so
643 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLfeedbackspu.so
644 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLpackspu.so
645 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLpassthroughspu.so
648 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxClient
649 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxControl
650 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxService
651 install -d $RPM_BUILD_ROOT/etc/xdg/autostart
652 cp -p src/VBox/Additions/x11/Installer/vboxclient.desktop \
653 $RPM_BUILD_ROOT/etc/xdg/autostart/vboxclient.desktop
654 install -p src/VBox/Additions/x11/Installer/98vboxadd-xclient $RPM_BUILD_ROOT%{_bindir}/VBoxClient-all
655 install -p %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxservice
656 install -p %{SOURCE3} $RPM_BUILD_ROOT%{systemdunitdir}/vboxservice.service
659 install -d $RPM_BUILD_ROOT%{_datadir}/xgreeters
660 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_sbindir}}/vbox-greeter
661 cp -p %{objdir}/Additions/Installer/linux/share/VBoxGuestAdditions/vbox-greeter.desktop $RPM_BUILD_ROOT%{_datadir}/xgreeters
665 mv $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/src $RPM_BUILD_ROOT%{_usrsrc}/vboxguest-%{version}-%{rel}
669 install -d $RPM_BUILD_ROOT/%{_lib}/security
670 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,/%{_lib}/security}/pam_vbox.so
673 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/mount.vboxsf
674 install -p mount.vboxsf $RPM_BUILD_ROOT/sbin/mount.vboxsf
677 install -p %{SOURCE5} $RPM_BUILD_ROOT/sbin/mount.vdi
679 # these belong to .iso
680 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/autorun.sh
681 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/runasroot.sh
683 # scripts to setup modules, x11 and service. we have covered that in our packages
684 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/vboxadd
685 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/vboxadd-service
686 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/vboxadd-x11
690 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/helpers/generate_service_file
691 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPInstall
692 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPLoggerCtl
693 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPUninstall
694 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/load.sh
695 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/loadall.sh
696 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/scripts/VBoxHeadlessXOrg.sh
697 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/scripts/init_template.sh
698 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/scripts/install_service
699 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxshell.py
700 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/xpidl
703 # use upstream installer to relocate rest of the files, fakeroot because it forces uid/gid 0
704 fakeroot sh -x $RPM_BUILD_ROOT%{_libdir}/%{pname}/scripts/install.sh \
706 --prefix %{_prefix} \
707 %{!?with_webservice:--no-web-service} \
708 --root $RPM_BUILD_ROOT
710 %{__mv} $RPM_BUILD_ROOT{%{_datadir}/%{pname},/lib/udev}/VBoxCreateUSBNode.sh
711 cp -p %{SOURCE6} $RPM_BUILD_ROOT/etc/udev/rules.d/virtualbox.rules
714 mv $RPM_BUILD_ROOT%{_datadir}/%{pname}/src $RPM_BUILD_ROOT%{_usrsrc}/vboxhost-%{version}-%{rel}
715 %{__rm} $RPM_BUILD_ROOT%{_usrsrc}/vboxhost-%{version}_PLD
718 # cleanup lowercased variants, not used in any script (less cruft)
719 %{__rm} -r $RPM_BUILD_ROOT%{_bindir}/vboxautostart
720 %{__rm} -r $RPM_BUILD_ROOT%{_bindir}/vboxballoonctrl
721 %{__rm} -r $RPM_BUILD_ROOT%{_bindir}/vboxheadless
722 %{__rm} -r $RPM_BUILD_ROOT%{_bindir}/vboxmanage
723 %{__rm} -r $RPM_BUILD_ROOT%{_bindir}/vboxsdl
724 %{__rm} -r $RPM_BUILD_ROOT%{_bindir}/virtualbox
727 %{__rm} -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/{sdk,testcase}
728 %{__rm} -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/dtrace
729 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxkeyboard.tar.bz2
730 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/tst*
731 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/scripts/generated.sh
732 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/ExtensionPacks/VNC/ExtPack-license.*
733 %{__rm} -r $RPM_BUILD_ROOT%{py_sitescriptdir}/vboxapi*
736 %{__rm} -r $RPM_BUILD_ROOT%{_iconsdir}/hicolor/40x40
737 # duplicate, we already have virtualbox.png (128x128), this is 32x32
738 %{__rm} -r $RPM_BUILD_ROOT%{_pixmapsdir}/VBox.png
741 ln -sf %{_docdir}/%{pname}-doc-%{version}/UserManual.pdf $RPM_BUILD_ROOT%{_libdir}/%{pname}/UserManual.pdf
742 ln -sf %{_docdir}/%{pname}-doc-%{version}/UserManual_fr_FR.pdf $RPM_BUILD_ROOT%{_libdir}/%{pname}/UserManual_fr_FR.pdf
747 install -d $RPM_BUILD_ROOT{/etc/modules-load.d,/sbin}
749 cp -a PLD-MODULE-BUILD/installed/* $RPM_BUILD_ROOT
751 # Tell systemd to load modules
752 cp -p %{SOURCE7} $RPM_BUILD_ROOT/etc/modules-load.d/virtualbox-host.conf
753 cp -p %{SOURCE8} $RPM_BUILD_ROOT/etc/modules-load.d/virtualbox-guest.conf
757 rm -rf $RPM_BUILD_ROOT
760 %groupadd -g 221 -r -f vbox
763 for i in /sys/bus/usb/devices/*; do
764 if [ -r "$i/dev" ]; then
765 dev="`cat "$i/dev" 2>/dev/null || true`"
766 major="`expr "$dev" : '\(.*\):' 2> /dev/null || true`"
767 minor="`expr "$dev" : '.*:\(.*\)' 2> /dev/null || true`"
768 class="`cat $i/bDeviceClass 2> /dev/null || true`"
769 /lib/udev/VBoxCreateUSBNode.sh "$major" "$minor" "$class" vbox 2>/dev/null
774 You must install vboxdrv kernel modules for this software to work:
775 kernel*-virtualbox-host-%{version}-%{rel}@*
777 On Guest Linux system you might want to install:
778 kernel*-virtualbox-guest-%{version}-%{rel}@*
783 if [ "$1" = "0" ]; then
788 %update_desktop_database
789 %update_icon_cache hicolor
790 %update_mime_database
793 %update_desktop_database
794 %update_icon_cache hicolor
795 %update_mime_database
798 # Add a group "vboxsf" for Shared Folders access
799 # All users which want to access the auto-mounted Shared Folders have to be added to this group.
800 %groupadd -g 266 -r -f vboxsf
803 /sbin/chkconfig --add vboxservice
804 %service vboxservice restart
805 %systemd_post vboxservice.service
808 if [ "$1" = "0" ]; then
809 /sbin/chkconfig --del vboxservice
810 %service vboxservice -q stop
812 %systemd_preun vboxservice.service
815 if [ "$1" = "0" ]; then
820 %triggerpostun guest -- VirtualBox-guest < 4.3.0-1
821 %systemd_trigger vboxservice.service
823 %pre -n lightdm-greeter-vbox
824 %addusertogroup xdm vbox
826 %post -n dkms-vboxguest
828 dkms add -m vboxguest -v %{version}-%{rel} --rpm_safe_upgrade && \
829 dkms build -m vboxguest -v %{version}-%{rel} --rpm_safe_upgrade && \
830 dkms install -m vboxguest -v %{version}-%{rel} --rpm_safe_upgrade || :
832 %preun -n dkms-vboxguest
834 dkms remove -m vboxguest -v %{version}-%{rel} --rpm_safe_upgrade --all || :
836 %post -n dkms-vboxhost
838 dkms add -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade && \
839 dkms build -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade && \
840 dkms install -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade || :
842 %preun -n dkms-vboxhost
844 dkms remove -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade --all || :
846 %if %{with userspace}
848 %defattr(644,root,root,755)
849 %attr(755,root,root) /sbin/mount.vdi
850 %attr(755,root,root) %{_bindir}/VBox
851 %attr(755,root,root) %{_bindir}/VBoxAutostart
852 %attr(755,root,root) %{_bindir}/VBoxBalloonCtrl
853 %attr(755,root,root) %{_bindir}/VBoxHeadless
854 %attr(755,root,root) %{_bindir}/VBoxManage
855 %attr(755,root,root) %{_bindir}/VBoxSDL
856 %attr(755,root,root) %{_bindir}/VBoxTunctl
857 %dir %{_libdir}/%{pname}
859 %attr(755,root,root) %{_libdir}/%{pname}/DBGCPlugInDiggers.so
860 %attr(755,root,root) %{_libdir}/%{pname}/VBoxAuth.so
861 %attr(755,root,root) %{_libdir}/%{pname}/VBoxAuthSimple.so
862 %attr(755,root,root) %{_libdir}/%{pname}/VBoxDD.so
863 %attr(755,root,root) %{_libdir}/%{pname}/VBoxDD2.so
864 %attr(755,root,root) %{_libdir}/%{pname}/VBoxDDU.so
865 %attr(755,root,root) %{_libdir}/%{pname}/VBoxDragAndDropSvc.so
866 %attr(755,root,root) %{_libdir}/%{pname}/VBoxGuestControlSvc.so
867 %attr(755,root,root) %{_libdir}/%{pname}/VBoxGuestPropSvc.so
868 %attr(755,root,root) %{_libdir}/%{pname}/VBoxHostChannel.so
869 %attr(755,root,root) %{_libdir}/%{pname}/VBoxKeyboard.so
870 %attr(755,root,root) %{_libdir}/%{pname}/VBoxOGLhostcrutil.so
871 %attr(755,root,root) %{_libdir}/%{pname}/VBoxOGLhosterrorspu.so
872 %attr(755,root,root) %{_libdir}/%{pname}/VBoxOGLrenderspu.so
873 %attr(755,root,root) %{_libdir}/%{pname}/VBoxPython*.so
874 %attr(755,root,root) %{_libdir}/%{pname}/VBoxREM.so
875 %attr(755,root,root) %{_libdir}/%{pname}/VBoxRT.so
876 %attr(755,root,root) %{_libdir}/%{pname}/VBoxSharedClipboard.so
877 %attr(755,root,root) %{_libdir}/%{pname}/VBoxSharedCrOpenGL.so
878 %attr(755,root,root) %{_libdir}/%{pname}/VBoxSharedFolders.so
879 %attr(755,root,root) %{_libdir}/%{pname}/VBoxVMM.so
880 %attr(755,root,root) %{_libdir}/%{pname}/VBoxXPCOM.so
881 %attr(755,root,root) %{_libdir}/%{pname}/VBoxXPCOMC.so
883 %attr(755,root,root) %{_libdir}/%{pname}/VBoxREM32.so
884 %attr(755,root,root) %{_libdir}/%{pname}/VBoxREM64.so
888 %attr(755,root,root) %{_libdir}/%{pname}/VBoxAutostart
889 %attr(755,root,root) %{_libdir}/%{pname}/VBoxBalloonCtrl
890 %attr(755,root,root) %{_libdir}/%{pname}/VBoxExtPackHelperApp
891 %attr(755,root,root) %{_libdir}/%{pname}/VBoxHeadless
892 %attr(755,root,root) %{_libdir}/%{pname}/VBoxManage
893 %attr(755,root,root) %{_libdir}/%{pname}/VBoxNetAdpCtl
894 %attr(755,root,root) %{_libdir}/%{pname}/VBoxNetDHCP
895 %attr(755,root,root) %{_libdir}/%{pname}/VBoxNetNAT
896 %attr(755,root,root) %{_libdir}/%{pname}/VBoxSDL
897 %attr(755,root,root) %{_libdir}/%{pname}/VBoxSVC
898 %attr(755,root,root) %{_libdir}/%{pname}/VBoxVMMPreload
899 %attr(755,root,root) %{_libdir}/%{pname}/VBoxVolInfo
900 %attr(755,root,root) %{_libdir}/%{pname}/VBoxXPCOMIPCD
901 %attr(755,root,root) %{_libdir}/%{pname}/iPxeBaseBin
903 %attr(755,root,root) %{_libdir}/%{pname}/VBoxManageHelp
906 %dir %{_libdir}/%{pname}/ExtensionPacks
907 %{_libdir}/%{pname}/ExtensionPacks/VNC/ExtPack.xml
908 %dir %{_libdir}/%{pname}/ExtensionPacks/VNC
909 %dir %{_libdir}/%{pname}/ExtensionPacks/VNC/linux*
910 %attr(755,root,root) %{_libdir}/%{pname}/ExtensionPacks/VNC/linux*/VBoxVNC*.so
912 %{_libdir}/%{pname}/VBoxDD2GC.debug
913 %{_libdir}/%{pname}/VBoxDD2GC.gc
914 %{_libdir}/%{pname}/VBoxDD2R0.debug
915 %{_libdir}/%{pname}/VBoxDD2R0.r0
916 %{_libdir}/%{pname}/VBoxDDGC.debug
917 %{_libdir}/%{pname}/VBoxDDGC.gc
918 %{_libdir}/%{pname}/VBoxDDR0.debug
919 %{_libdir}/%{pname}/VBoxDDR0.r0
920 %{_libdir}/%{pname}/VBoxEFI32.fd
921 %{_libdir}/%{pname}/VBoxEFI64.fd
922 %{_libdir}/%{pname}/VMMGC.debug
923 %{_libdir}/%{pname}/VMMGC.gc
924 %{_libdir}/%{pname}/VMMR0.debug
925 %{_libdir}/%{pname}/VMMR0.r0
927 %dir %{_libdir}/%{pname}/components
928 %{_libdir}/%{pname}/components/VBoxXPCOMBase.xpt
929 %{_libdir}/%{pname}/components/VirtualBox_XPCOM.xpt
930 %attr(755,root,root) %{_libdir}/%{pname}/components/VBoxC.so
931 %attr(755,root,root) %{_libdir}/%{pname}/components/VBoxSVCM.so
932 %attr(755,root,root) %{_libdir}/%{pname}/components/VBoxXPCOMIPCC.so
934 %dir %{_datadir}/%{pname}
935 %attr(755,root,root) %{_datadir}/%{pname}/VBoxSysInfo.sh
937 %config(noreplace) %verify(not md5 mtime size) /etc/udev/rules.d/virtualbox.rules
938 %attr(755,root,root) /lib/udev/VBoxCreateUSBNode.sh
941 %defattr(644,root,root,755)
942 %attr(755,root,root) %{_bindir}/VirtualBox
943 %attr(755,root,root) %{_libdir}/%{pname}/VBoxDbg.so
944 %attr(755,root,root) %{_libdir}/%{pname}/VBoxTestOGL
945 %attr(755,root,root) %{_libdir}/%{pname}/VirtualBox
946 %dir %{_datadir}/%{pname}/nls
947 %lang(bg) %{_datadir}/%{pname}/nls/*_bg.qm
948 %lang(ca) %{_datadir}/%{pname}/nls/*_ca.qm
949 %lang(ca_VA) %{_datadir}/%{pname}/nls/*_ca_VA.qm
950 %lang(cs) %{_datadir}/%{pname}/nls/*_cs.qm
951 %lang(da) %{_datadir}/%{pname}/nls/*_da.qm
952 %lang(de) %{_datadir}/%{pname}/nls/*_de.qm
953 %lang(en) %{_datadir}/%{pname}/nls/*_en.qm
954 %lang(es) %{_datadir}/%{pname}/nls/*_es.qm
955 %lang(eu) %{_datadir}/%{pname}/nls/*_eu.qm
956 %lang(fi) %{_datadir}/%{pname}/nls/*_fa_IR.qm
957 %lang(fi) %{_datadir}/%{pname}/nls/*_fi.qm
958 %lang(fr) %{_datadir}/%{pname}/nls/*_fr.qm
959 %lang(gl_ES) %{_datadir}/%{pname}/nls/*_gl_ES.qm
960 %lang(hu) %{_datadir}/%{pname}/nls/*_hu.qm
961 %lang(id) %{_datadir}/%{pname}/nls/*_id.qm
962 %lang(it) %{_datadir}/%{pname}/nls/*_it.qm
963 %lang(ja) %{_datadir}/%{pname}/nls/*_ja.qm
964 %lang(km_KH) %{_datadir}/%{pname}/nls/*_km_KH.qm
965 %lang(ko) %{_datadir}/%{pname}/nls/*_ko.qm
966 %lang(lt) %{_datadir}/%{pname}/nls/*_lt.qm
967 %lang(nl) %{_datadir}/%{pname}/nls/*_nl.qm
968 %lang(pl) %{_datadir}/%{pname}/nls/*_pl.qm
969 %lang(pt) %{_datadir}/%{pname}/nls/*_pt.qm
970 %lang(pt_BR) %{_datadir}/%{pname}/nls/*_pt_BR.qm
971 %lang(ro) %{_datadir}/%{pname}/nls/*_ro.qm
972 %lang(ru) %{_datadir}/%{pname}/nls/*_ru.qm
973 %lang(sk) %{_datadir}/%{pname}/nls/*_sk.qm
974 %lang(sr) %{_datadir}/%{pname}/nls/*_sr.qm
975 %lang(sv) %{_datadir}/%{pname}/nls/*_sv.qm
976 %lang(tr) %{_datadir}/%{pname}/nls/*_tr.qm
977 %lang(uk) %{_datadir}/%{pname}/nls/*_uk.qm
978 %lang(zh_CN) %{_datadir}/%{pname}/nls/*_zh_CN.qm
979 %lang(zh_TW) %{_datadir}/%{pname}/nls/*_zh_TW.qm
980 %{_desktopdir}/virtualbox.desktop
981 %{_pixmapsdir}/virtualbox.png
982 %{_iconsdir}/hicolor/*/apps/virtualbox.png
983 %{_iconsdir}/hicolor/*/apps/virtualbox.svg
984 %{_iconsdir}/hicolor/*/mimetypes/virtualbox-*.png
985 %{_datadir}/mime/packages/virtualbox.xml
988 %defattr(644,root,root,755)
989 %{_datadir}/%{pname}/VBoxGuestAdditions.iso
992 %defattr(644,root,root,755)
993 %attr(755,root,root) /sbin/mount.vboxsf
994 %attr(754,root,root) /etc/rc.d/init.d/vboxservice
995 %{systemdunitdir}/vboxservice.service
996 %attr(755,root,root) %{_bindir}/VBoxControl
997 %attr(755,root,root) %{_bindir}/VBoxService
1000 %defattr(644,root,root,755)
1001 /etc/xdg/autostart/vboxclient.desktop
1002 %attr(755,root,root) %{_bindir}/VBoxClient
1003 %attr(755,root,root) %{_bindir}/VBoxClient-all
1005 %if %{with webservice}
1007 %defattr(644,root,root,755)
1008 %attr(755,root,root) %{_bindir}/vboxwebsrv
1009 %attr(755,root,root) %{_libdir}/%{pname}/vboxwebsrv
1010 %attr(755,root,root) %{_libdir}/%{pname}/webtest
1014 %files -n lightdm-greeter-vbox
1015 %defattr(644,root,root,755)
1016 %attr(755,root,root) %{_sbindir}/vbox-greeter
1017 %{_datadir}/xgreeters/vbox-greeter.desktop
1020 %files -n pam-pam_vbox
1021 %defattr(644,root,root,755)
1022 %attr(755,root,root) /%{_lib}/security/pam_vbox.so
1026 %defattr(644,root,root,755)
1027 # this is a symlink...
1028 %doc %{_libdir}/%{pname}/UserManual.pdf
1029 %lang(fr) %doc %{_libdir}/%{pname}/UserManual_fr_FR.pdf
1031 %doc %{outdir}/UserManual.pdf
1032 %lang(fr) %doc %{outdir}/UserManual_fr_FR.pdf
1035 %files -n xorg-driver-video-vboxvideo
1036 %defattr(644,root,root,755)
1037 %attr(755,root,root) %{_libdir}/xorg/modules/drivers/vboxvideo_drv.so
1038 %attr(755,root,root) %{_libdir}/xorg/modules/dri/vboxvideo_dri.so
1039 # vboxvideo_dri.so deps
1040 %attr(755,root,root) %{_libdir}/VBoxOGLarrayspu.so
1041 %attr(755,root,root) %{_libdir}/VBoxOGLcrutil.so
1042 %attr(755,root,root) %{_libdir}/VBoxOGLerrorspu.so
1043 %attr(755,root,root) %{_libdir}/VBoxOGLfeedbackspu.so
1044 %attr(755,root,root) %{_libdir}/VBoxOGLpackspu.so
1045 %attr(755,root,root) %{_libdir}/VBoxOGLpassthroughspu.so
1048 %files -n dkms-vboxguest
1049 %defattr(644,root,root,755)
1050 %{_usrsrc}/vboxguest-%{version}-%{rel}
1052 %files -n dkms-vboxhost
1053 %defattr(644,root,root,755)
1054 %{_usrsrc}/vboxhost-%{version}-%{rel}