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 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
23 # The goal here is to have main, userspace, package built once with
24 # simple release number, and only rebuild kernel packages with kernel
25 # version as part of release number, without the need to bump release
26 # with every kernel change.
27 %if 0%{?_pld_builder:1} && %{with kernel} && %{with userspace}
28 %{error:kernel and userspace cannot be built at the same time on PLD builders}
32 %if "%{_alt_kernel}" != "%{nil}"
33 %if 0%{?build_kernels:1}
34 %{error:alt_kernel and build_kernels are mutually exclusive}
37 %undefine with_userspace
38 %global _build_kernels %{alt_kernel}
40 %global _build_kernels %{?build_kernels:,%{?build_kernels}}
43 %if %{without userspace}
44 # nothing to be placed to debuginfo package
45 %undefine with_debuginfo
48 %if %{without debuginfo}
49 %define _enable_debug_packages 0
52 %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)
53 %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)
54 %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)
55 %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)
58 %define pname VirtualBox
59 Summary: VirtualBox - x86 hardware virtualizer
60 Summary(pl.UTF-8): VirtualBox - wirtualizator sprzętu x86
61 Name: %{pname}%{?_pld_builder:%{?with_kernel:-kernel}}%{_alt_kernel}
63 Release: %{rel}%{?_pld_builder:%{?with_kernel:@%{_kernel_ver_str}}}
65 Group: Applications/Emulators
66 Source0: http://download.virtualbox.org/virtualbox/%{version}/%{pname}-%{version}.tar.bz2
67 # Source0-md5: cf3f25644aa0fae1029e8b362bd4375e
68 Source1: http://download.virtualbox.org/virtualbox/%{version}/VBoxGuestAdditions_%{version}.iso
69 # Source1-md5: 4f6861ee0c584bcf6819cc76a2bd65ab
70 Source2: vboxservice.init
71 Source3: vboxservice.service
74 Source7: %{pname}-virtualbox-host-modules-load.conf
75 Source8: %{pname}-virtualbox-guest-modules-load.conf
76 Source9: vboxautostart.init
77 Source10: autostart.cfg
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 Patch12: x8664-build.patch
91 Patch13: %{pname}-all-translations.patch
92 URL: http://www.virtualbox.org/
95 BuildRequires: gcc-multilib
96 BuildRequires: glibc-devel(i686)
97 BuildRequires: libstdc++-multilib-devel
98 BuildRequires: libstdc++-multilib-static
100 %if "%{pld_release}" == "ac"
101 BuildRequires: XFree86-devel
103 BuildRequires: xorg-lib-libXcomposite-devel
104 BuildRequires: xorg-lib-libXcursor-devel
105 BuildRequires: xorg-lib-libXmu-devel
106 BuildRequires: xorg-proto-glproto-devel
107 BuildRequires: xorg-xserver-server-devel
109 BuildRequires: OpenGL-GLU-devel
110 BuildRequires: OpenGL-devel
111 BuildRequires: QtGui-devel
112 BuildRequires: QtNetwork-devel
113 BuildRequires: QtOpenGL-devel
114 BuildRequires: SDL-devel >= 1.2.7
115 BuildRequires: acpica
116 BuildRequires: alsa-lib-devel >= 1.0.6
120 BuildRequires: curl-devel
121 BuildRequires: device-mapper-devel
122 %{?with_doc:BuildRequires: docbook-dtd44-xml}
123 BuildRequires: fakeroot
124 %{?with_lightdm:BuildRequires: fltk-devel}
125 BuildRequires: gcc >= 5:3.2.3
126 %{?with_webservice:BuildRequires: gsoap-devel}
128 BuildRequires: kBuild >= 0.1.9998.2700
129 BuildRequires: libIDL-devel
130 BuildRequires: libcap-static
131 BuildRequires: libdrm-devel
132 BuildRequires: libpng-devel >= 1.2.5
133 BuildRequires: libstdc++-devel >= 5:3.2.3
134 BuildRequires: libstdc++-static >= 5:3.2.3
135 BuildRequires: libuuid-devel
136 BuildRequires: libvncserver-devel >= 0.9.9
137 BuildRequires: libvpx-devel
138 BuildRequires: libxml2-devel >= 2.6.26
139 BuildRequires: libxslt-devel >= 1.1.17
140 BuildRequires: libxslt-progs >= 1.1.17
141 %{?with_lightdm:BuildRequires: lightdm-libs-qt4-devel}
142 BuildRequires: makeself
143 BuildRequires: mkisofs
144 BuildRequires: pam-devel
145 BuildRequires: pixman-devel
146 BuildRequires: pkgconfig
147 BuildRequires: pulseaudio-devel >= 0.9.0
148 BuildRequires: python-devel
149 BuildRequires: python-modules
150 BuildRequires: qt4-build >= 4.2.0
151 BuildRequires: qt4-linguist
152 BuildRequires: rpmbuild(macros) >= 1.678
153 BuildRequires: sed >= 4.0
155 BuildRequires: texlive-fonts-bitstream
156 BuildRequires: texlive-fonts-other
157 BuildRequires: texlive-fonts-type1-bitstream
158 BuildRequires: texlive-format-pdflatex
159 BuildRequires: texlive-latex-ucs
160 BuildRequires: texlive-xetex
163 BuildRequires: xalan-c-devel >= 1.10.0
164 BuildRequires: xerces-c-devel >= 2.6.0
166 BuildRequires: zlib-devel >= 1.2.1
168 %{?with_kernel:%{expand:%kbrs}}
169 Requires(post,preun): /sbin/chkconfig
170 Requires(postun): /usr/sbin/groupdel
171 Requires(pre): /usr/bin/getgid
172 Requires(pre): /usr/sbin/groupadd
173 Requires: libvncserver >= 0.9.9
175 Provides: group(vbox)
176 Obsoletes: VirtualBox-udev < 4.2.10-5
177 ExclusiveArch: %{ix86} %{x8664}
178 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
181 %define vbox_arch amd64
183 %define vbox_arch x86
185 %define vbox_platform linux.%{vbox_arch}
186 %define outdir out/%{vbox_platform}/release/bin
187 %define objdir out/%{vbox_platform}/release/obj
190 Oracle VirtualBox is a general-purpose full virtualizer for x86
191 hardware. Targeted at server, desktop and embedded use, it is now the
192 only professional-quality virtualization solution that is also Open
195 Some of the features of VirtualBox are:
197 Modularity: VirtualBox has an extremely modular design with
198 well-defined internal programming interfaces and a client/server
199 design. This makes it easy to control it from several interfaces at
200 once: for example, you can start a virtual machine in a typical
201 virtual machine GUI and then control that machine from the command
202 line. VirtualBox also comes with a full Software Development Kit: even
203 though it is Open Source Software, you don't have to hack the source
204 to write a new interface for VirtualBox.
206 Virtual machine descriptions in XML: the configuration settings of
207 virtual machines are stored entirely in XML and are independent of the
208 local machines. Virtual machine definitions can therefore easily be
209 ported to other computers.
211 You should install this package in your Host OS.
213 %description -l pl.UTF-8
214 Oracle VirtualBox jest emulatorem sprzętu x86. Kierowany do zastosowań
215 serwerowych, desktopowych oraz wbudowanych jest obecnie jedynym
216 wysokiej jakości rozwiązaniem wirtualizacyjnym dostępnym również jako
217 Otwarte Oprogramowanie.
219 Przykładowe cechy VirtualBoksa:
221 Modularność: VirtualBox jest wysoce zmodularyzowanym produktem z
222 dobrze zaprojektowanym wewnętrznym interfejsem programowym typu
223 klient/serwer. Dzięki temu można łatwo kontrolować go za pomocą
224 różnych interfejsów. Można na przykład uruchomić maszynę wirtualną z
225 poziomu interfejsu graficznego, a później kontrolować ją z linii
226 poleceń. VirtualBox dostarcza również pełny pakiet deweloperski, co
227 pozwala stworzyć dowolny inny interfejs zarządzania maszyną wirtualną.
229 Opisy maszyn wirtualnych w XML-u: konfiguracje poszczególnych maszyn
230 wirtualnych są w całości przechowywane w XML-u i są niezależne od
231 lokalnej maszyny. Dzięki temu można szybko i łatwo przenieść
232 konfigurację maszyny wirtualnej na inny komputer.
235 Summary: Qt GUI part for VirtualBox
236 Group: X11/Applications
237 Requires: %{name} = %{version}-%{release}
238 Requires: QtCore >= 4.7.0
239 Requires: desktop-file-utils
240 Requires: desktop-file-utils
242 Requires: fonts-Type1-urw
243 Requires: gtk-update-icon-cache
244 Requires: hicolor-icon-theme
245 Requires: shared-mime-info
247 Conflicts: %{name} < 4.3.8-3
250 Qt GUI part for VirtualBox.
253 Summary: VirtualBox documentation
257 This package contains VirtualBox User Manual.
260 Summary: VirtualBox Guest Additions
262 Requires: %{name} = %{version}
263 %if "%{_rpmversion}" >= "5"
267 %description additions
268 VirtualBox Guest Additions.
270 This package contains ISO9660 image with drivers for Guest OS.
272 You should install this package in your Host OS.
275 Summary: VirtualBox Guest tools
277 Provides: group(vboxsf)
278 Requires(post): systemd-units >= 38
279 Requires(post,preun): /sbin/chkconfig
280 Requires(postun): /usr/sbin/groupdel
281 Requires(pre): /usr/bin/getgid
282 Requires(pre): /usr/sbin/groupadd
284 Requires: systemd-units >= 38
285 Suggests: kernel(vboxguest)
286 Suggests: kernel(vboxsf)
287 Suggests: pam-pam_vbox
290 Tools that utilize kernel modules for supporting integration with the
291 Host, including file sharing.
293 You should install this package in your Guest OS for base VirtualBox
297 Summary: VirtualBox Guest X11 Additions
298 Group: X11/Applications
299 Requires: %{name}-guest = %{version}-%{release}
300 Requires: xorg-app-xrandr
301 Requires: xorg-driver-video-vboxvideo = %{version}-%{release}
302 Suggests: kernel(vboxvideo)
303 Obsoletes: xorg-driver-input-vboxmouse < %{version}-%{release}
305 %description guest-x11
306 Tools for X11 session that utilize kernel modules for supporting
307 integration with the Host, like tracking of mouse pointer movement and
308 X.org X11 video and mouse drivers
310 You should install this package in your Guest OS for X11 session.
313 Summary: VirtualBox Web Service
314 Group: Applications/Emulators
315 Requires: %{name} = %{version}-%{release}
317 %description webservice
318 This package contains VirtualBox web service API daemon. It allows to
319 control virtual machines via web interface.
321 %package -n lightdm-greeter-vbox
322 Summary: VirtualBox greeter for lightdm
324 # NOTE: '#' in url is lost because rpm treats it as comment, even hacking with
325 # macros doesn't help as rpmbuild takes final result to parse
326 URL: http://www.virtualbox.org/manual/ch09.html#autologon_unix_lightdm
327 Requires: %{name} = %{version}-%{release}
328 Requires: kernel(vboxguest)
329 Requires: lightdm >= 1.0.1
330 Requires: pam-pam_vbox = %{version}-%{release}
331 Provides: lightdm-greeter
333 %description -n lightdm-greeter-vbox
334 VirtualBox greeter for LightDM.
336 %package -n pam-pam_vbox
337 Summary: PAM module to perform automated guest logons
340 %description -n pam-pam_vbox
341 PAM module (Pluggable Authentication Module) which can be used to
342 perform automated guest logons.
344 %package -n xorg-driver-video-vboxvideo
345 Summary: X.org video driver for VirtualBox guest OS
346 Summary(pl.UTF-8): Sterownik grafiki dla systemu gościa w VirtualBoksie
347 Group: X11/Applications
348 Requires: Mesa-dri-driver-swrast
349 Requires: xorg-xserver-libdri >= 1.7.4
350 Requires: xorg-xserver-server >= 1.0.99.901
351 Requires: xorg-xserver-server(videodrv-abi) <= 18.0
352 Requires: xorg-xserver-server(videodrv-abi) >= 2.0
353 Provides: OpenGL = 2.1
354 Provides: OpenGL-GLX = 1.3
355 Provides: xorg-driver-video
356 Provides: xorg-xserver-module(glx)
358 %description -n xorg-driver-video-vboxvideo
359 X.org video driver for VirtualBox guest OS.
361 %description -n xorg-driver-video-vboxvideo -l pl.UTF-8
362 Sterownik grafiki dla systemu gościa w VirtualBoksie.
364 %package -n dkms-vboxguest
365 Summary: VirtualBox kernel modules source for Linux Guest
366 Summary(pl.UTF-8): Moduły VirtualBoksa do jądra Linuksa dla systemu gościa
370 %if "%{_rpmversion}" >= "5"
374 %description -n dkms-vboxguest
375 This package contains DKMS-ready VirtualBox Guest Additions for Linux
376 Module, host file system access (Shared Folders) and DRM support for
379 %description -n dkms-vboxguest -l pl.UTF-8
380 Ten pakiet zawiera moduł jądra Linuksa vboxguest dla VirtualBoksa -
381 dodatki dla systemu gościa, dostęp do plików systemu głównego z
382 poziomu systemu gościa i sterownik obsługi DRM.
384 %package -n dkms-vboxhost
385 Summary: VirtualBox Support Drivers source
386 Summary(pl.UTF-8): Moduły jądra Linuksa dla VirtualBoksa
390 %if "%{_rpmversion}" >= "5"
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 Provides: kernel(vboxvideo) = %{version}-%{rel}\
426 Obsoletes: kernel-init-guest\
427 Conflicts: kernel%{_alt_kernel}-virtualbox-host\
429 %description -n kernel%{_alt_kernel}-virtualbox-guest\
430 This package contains VirtualBox Guest Additions for Linux Module,\
431 host file system access (Shared Folders) and DRM support for\
434 %description -n kernel%{_alt_kernel}-virtualbox-guest -l pl.UTF-8\
435 Ten pakiet zawiera moduł jądra Linuksa vboxguest dla VirtualBoksa -\
436 dodatki dla systemu gościa, dostęp do plików systemu głównego z\
437 poziomu systemu gościa i sterownik obsługi DRM.\
439 %package -n kernel%{_alt_kernel}-virtualbox-host\
440 Summary: VirtualBox Support Drivers\
441 Summary(pl.UTF-8): Moduły jądra Linuksa dla VirtualBoksa\
442 Release: %{rel}@%{_kernel_ver_str}\
444 Requires(post,postun): /sbin/depmod\
445 Requires(post): systemd-units >= 38\
446 Requires: dev >= 2.9.0-7\
447 %requires_releq_kernel\
448 Requires(postun): %releq_kernel\
449 Requires: systemd-units >= 38\
450 Provides: kernel(vboxdrv) = %{version}-%{rel}\
451 Provides: kernel(vboxnetadp) = %{version}-%{rel}\
452 Provides: kernel(vboxnetflt) = %{version}-%{rel}\
453 Provides: kernel(vboxpci) = %{version}-%{rel}\
454 Obsoletes: kernel-init-host\
456 %description -n kernel%{_alt_kernel}-virtualbox-host\
457 This package contains VirtualBox Support Driver, Network Adapter\
458 Driver, Network Filter Driver and PCI card passthrough driver that\
459 works as host proxy between guest and PCI hardware.\
461 %description -n kernel%{_alt_kernel}-virtualbox-host -l pl.UTF-8\
462 Ten pakiet zawiera sterownik wsparcia dla systemu głównego, sterownik\
463 witrualnej karty sieciowej, sterownik filtrowania sieci dla systemu\
464 głównego oraz sterownik, ktory działa jako proxy między gościem i\
465 gospodarzem sprzętu PCI.\
468 %files -n kernel%{_alt_kernel}-virtualbox-guest\
469 %defattr(644,root,root,755)\
470 %config(noreplace) %verify(not md5 mtime size) /etc/modules-load.d/virtualbox-guest.conf\
471 /lib/modules/%{_kernel_ver}/misc/vboxguest.ko*\
472 /lib/modules/%{_kernel_ver}/misc/vboxsf.ko*\
473 /lib/modules/%{_kernel_ver}/misc/vboxvideo.ko*\
475 %files -n kernel%{_alt_kernel}-virtualbox-host\
476 %config(noreplace) %verify(not md5 mtime size) /etc/modules-load.d/virtualbox-host.conf\
477 /lib/modules/%{_kernel_ver}/misc/vboxdrv.ko*\
478 /lib/modules/%{_kernel_ver}/misc/vboxnetadp.ko*\
479 /lib/modules/%{_kernel_ver}/misc/vboxnetflt.ko*\
480 /lib/modules/%{_kernel_ver}/misc/vboxpci.ko*\
483 %post -n kernel%{_alt_kernel}-virtualbox-guest\
484 %depmod %{_kernel_ver}\
486 %postun -n kernel%{_alt_kernel}-virtualbox-guest\
487 %depmod %{_kernel_ver}\
489 %post -n kernel%{_alt_kernel}-virtualbox-host\
490 %depmod %{_kernel_ver}\
492 %postun -n kernel%{_alt_kernel}-virtualbox-host\
493 %depmod %{_kernel_ver}\
496 %define build_kernel_pkg()\
497 export KERN_DIR=%{_kernelsrcdir}\
498 cd PLD-MODULE-BUILD/HostDrivers\
499 %build_kernel_modules -m vboxdrv -C vboxdrv\
500 %build_kernel_modules -m vboxnetadp -C vboxnetadp\
501 %build_kernel_modules -m vboxnetflt -C vboxnetflt\
502 %build_kernel_modules -m vboxpci -C vboxpci\
504 %build_kernel_modules -m vboxguest -C vboxguest\
505 cp -a vboxguest/Module.symvers vboxsf\
506 %build_kernel_modules -m vboxsf -C vboxsf -c\
507 %build_kernel_modules -m vboxvideo -C vboxvideo\
509 %install_kernel_modules -D PLD-MODULE-BUILD/installed -m PLD-MODULE-BUILD/HostDrivers/vboxdrv/vboxdrv -d misc\
510 %install_kernel_modules -D PLD-MODULE-BUILD/installed -m PLD-MODULE-BUILD/HostDrivers/vboxnetadp/vboxnetadp -d misc\
511 %install_kernel_modules -D PLD-MODULE-BUILD/installed -m PLD-MODULE-BUILD/HostDrivers/vboxnetflt/vboxnetflt -d misc\
512 %install_kernel_modules -D PLD-MODULE-BUILD/installed -m PLD-MODULE-BUILD/HostDrivers/vboxpci/vboxpci -d misc\
513 %install_kernel_modules -D PLD-MODULE-BUILD/installed -m PLD-MODULE-BUILD/GuestDrivers/vboxguest/vboxguest -d misc\
514 %install_kernel_modules -D PLD-MODULE-BUILD/installed -m PLD-MODULE-BUILD/GuestDrivers/vboxsf/vboxsf -d misc\
515 %install_kernel_modules -D PLD-MODULE-BUILD/installed -m PLD-MODULE-BUILD/GuestDrivers/vboxvideo/vboxvideo -d misc\
518 %{?with_kernel:%{expand:%kpkg}}
521 %setup -q -n %{pname}-%{version}
537 %{__sed} -i -e 's,@VBOX_DOC_PATH@,%{_docdir}/%{name}-%{version},' \
538 -e 's/Categories=.*/Categories=Utility;Emulator;/' src/VBox/Installer/common/virtualbox.desktop.in
541 %{__sed} -i -e "s@_LDFLAGS\.%{vbox_arch}*.*=@& %{rpmldflags}@g" \
542 -i Config.kmk src/libs/xpcom18a4/Config.kmk
544 %{__sed} -i -e 's#@INSTALL_DIR@#%{_libdir}/%{pname}#' src/VBox/Installer/linux/VBox.sh
547 install -d PLD-MODULE-BUILD/{GuestDrivers,HostDrivers}
549 ../src/VBox/Additions/linux/export_modules guest-modules.tar.gz
550 tar -zxf guest-modules.tar.gz -C GuestDrivers
552 ../src/VBox/HostDrivers/linux/export_modules host-modules.tar.gz --without-hardening
553 tar -zxf host-modules.tar.gz -C HostDrivers
557 # using system kBuild package
560 # use linux icon for now
561 cp -p src/VBox/Frontends/VirtualBox/images/os_{linux26,pld}.png
562 cp -p src/VBox/Frontends/VirtualBox/images/os_{linux26,pld}_64.png
564 cat <<'EOF'>> LocalConfig.kmk
565 %{?with_verbose:KBUILD_VERBOSE=3}
567 __VBOX_BUILD_PUBLISHER=_PLD
568 VBOX_VERSION_STRING=$(VBOX_VERSION_MAJOR).$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD)_PLD
569 XSERVER_VERSION=%(rpm -q --queryformat '%{V}\n' xorg-xserver-server-devel | awk -F. '{ print $1 $2 }' 2>/dev/null || echo ERROR)
570 VBOX_USE_SYSTEM_XORG_HEADERS=1
572 VBOX_WITH_LIGHTDM_GREETER=1
573 VBOX_WITH_LIGHTDM_GREETER_PACKING=1
575 TOOL_GCC3_CFLAGS=%{rpmcflags}
576 TOOL_GCC3_CXXFLAGS=%{rpmcxxflags}
577 VBOX_GCC_OPT=%{rpmcxxflags}
579 VBOX_PATH_APP_PRIVATE_ARCH := %{_libdir}/%{pname}
580 VBOX_PATH_APP_PRIVATE := %{_datadir}/%{pname}
581 VBOX_PATH_SHARED_LIBS := $(VBOX_PATH_APP_PRIVATE_ARCH)
583 VBOX_WITH_RUNPATH := $(VBOX_PATH_APP_PRIVATE_ARCH)
584 #VBOX_PATH_APP_DOCS := %{_docdir}/%{pname}-doc-%{version}
586 # don't build testcases to save time, they are not needed for the package
587 VBOX_WITH_TESTCASES :=
588 VBOX_WITH_TESTSUITE :=
592 %if %{with userspace}
594 --with-gcc="%{__cc}" \
595 --with-g++="%{__cxx}" \
596 %{!?with_doc:--disable-docs} \
598 --disable-hardening \
601 %{__enable webservice} \
606 %{__cc} %{rpmcflags} %{rpmldflags} -Wall -Werror src/VBox/Additions/linux/sharedfolders/{mount.vboxsf.c,vbsfmount.c} -o mount.vboxsf
609 %{?with_kernel:%{expand:%bkpkg}}
612 rm -rf $RPM_BUILD_ROOT
614 %if %{with userspace}
615 install -d $RPM_BUILD_ROOT{%{_bindir},/sbin,%{_sbindir},%{_libdir}/%{pname}/ExtensionPacks} \
616 $RPM_BUILD_ROOT{%{_pixmapsdir},%{_desktopdir},%{_datadir}/mime/packages} \
617 $RPM_BUILD_ROOT%{_sysconfdir}/vbox/autostart \
618 $RPM_BUILD_ROOT%{_libdir}/xorg/modules/{drivers,dri,input} \
619 $RPM_BUILD_ROOT{/lib/udev,/etc/udev/rules.d} \
620 $RPM_BUILD_ROOT{/etc/rc.d/init.d,%{systemdunitdir},%{_usrsrc}}
622 # test if we can hardlink -- %{_builddir} and $RPM_BUILD_ROOT on same partition
623 if cp -al COPYING $RPM_BUILD_ROOT/COPYING; then
625 %{__rm} $RPM_BUILD_ROOT/COPYING
628 cp -a$l %{outdir}/* $RPM_BUILD_ROOT%{_libdir}/%{pname}
629 cp -a$l %{SOURCE1} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/VBoxGuestAdditions.iso
632 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/VBoxOGL.so,%{_libdir}/xorg/modules/dri/vboxvideo_dri.so}
633 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/vboxvideo_drv_system.so,%{_libdir}/xorg/modules/drivers/vboxvideo_drv.so}
634 # XXX: where else to install them that vboxvideo_dri.so finds them? patch with rpath?
635 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLarrayspu.so
636 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLcrutil.so
637 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLerrorspu.so
638 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLfeedbackspu.so
639 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLpackspu.so
640 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLpassthroughspu.so
643 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxClient
644 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxControl
645 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxService
646 install -d $RPM_BUILD_ROOT/etc/xdg/autostart
647 cp -p src/VBox/Additions/x11/Installer/vboxclient.desktop \
648 $RPM_BUILD_ROOT/etc/xdg/autostart/vboxclient.desktop
649 install -p src/VBox/Additions/x11/Installer/98vboxadd-xclient $RPM_BUILD_ROOT%{_bindir}/VBoxClient-all
650 install -p %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxservice
651 install -p %{SOURCE3} $RPM_BUILD_ROOT%{systemdunitdir}/vboxservice.service
653 install -p %{SOURCE9} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxautostart
654 %{__sed} -i -e 's#@INSTALL_DIR@#%{_libdir}/%{pname}#' $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxautostart
655 cp -p %{SOURCE10} $RPM_BUILD_ROOT%{_sysconfdir}/vbox
658 install -d $RPM_BUILD_ROOT%{_datadir}/xgreeters
659 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_sbindir}}/vbox-greeter
660 cp -p %{objdir}/Additions/Installer/linux/share/VBoxGuestAdditions/vbox-greeter.desktop $RPM_BUILD_ROOT%{_datadir}/xgreeters
664 mv $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/src $RPM_BUILD_ROOT%{_usrsrc}/vboxguest-%{version}-%{rel}
668 install -d $RPM_BUILD_ROOT/%{_lib}/security
669 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,/%{_lib}/security}/pam_vbox.so
672 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/mount.vboxsf
673 install -p mount.vboxsf $RPM_BUILD_ROOT/sbin/mount.vboxsf
676 install -p %{SOURCE5} $RPM_BUILD_ROOT/sbin/mount.vdi
678 # these belong to .iso
679 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/autorun.sh
680 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/runasroot.sh
682 # scripts to setup modules, x11 and service. we have covered that in our packages
683 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/vboxadd
684 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/vboxadd-service
685 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/vboxadd-x11
689 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/helpers/generate_service_file
690 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPInstall
691 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPLoggerCtl
692 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPUninstall
693 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/load.sh
694 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/loadall.sh
695 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/scripts/VBoxHeadlessXOrg.sh
696 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/scripts/init_template.sh
697 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/scripts/install_service
698 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxshell.py
699 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/xpidl
702 # use upstream installer to relocate rest of the files, fakeroot because it forces uid/gid 0
703 fakeroot sh -x $RPM_BUILD_ROOT%{_libdir}/%{pname}/scripts/install.sh \
705 --prefix %{_prefix} \
706 %{!?with_webservice:--no-web-service} \
707 --root $RPM_BUILD_ROOT
709 %{__mv} $RPM_BUILD_ROOT{%{_datadir}/%{pname},/lib/udev}/VBoxCreateUSBNode.sh
710 cp -p %{SOURCE6} $RPM_BUILD_ROOT/etc/udev/rules.d/60-vboxdrv.rules
713 mv $RPM_BUILD_ROOT%{_datadir}/%{pname}/src $RPM_BUILD_ROOT%{_usrsrc}/vboxhost-%{version}-%{rel}
714 %{__rm} $RPM_BUILD_ROOT%{_usrsrc}/vboxhost-%{version}_PLD
717 # cleanup lowercased variants, not used in any script (less cruft)
718 %{__rm} -r $RPM_BUILD_ROOT%{_bindir}/vboxautostart
719 %{__rm} -r $RPM_BUILD_ROOT%{_bindir}/vboxballoonctrl
720 %{__rm} -r $RPM_BUILD_ROOT%{_bindir}/vboxheadless
721 %{__rm} -r $RPM_BUILD_ROOT%{_bindir}/vboxmanage
722 %{__rm} -r $RPM_BUILD_ROOT%{_bindir}/vboxsdl
723 %{__rm} -r $RPM_BUILD_ROOT%{_bindir}/virtualbox
726 %{__rm} -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/{sdk,testcase}
727 %{__rm} -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/dtrace
728 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxkeyboard.tar.bz2
729 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/tst*
730 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/scripts/generated.sh
731 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/ExtensionPacks/VNC/ExtPack-license.*
732 %{__rm} -r $RPM_BUILD_ROOT%{py_sitescriptdir}/vboxapi*
735 %{__rm} -r $RPM_BUILD_ROOT%{_iconsdir}/hicolor/40x40
736 # duplicate, we already have virtualbox.png (128x128), this is 32x32
737 %{__rm} -r $RPM_BUILD_ROOT%{_pixmapsdir}/VBox.png
740 ln -sf %{_docdir}/%{pname}-doc-%{version}/UserManual.pdf $RPM_BUILD_ROOT%{_libdir}/%{pname}/UserManual.pdf
741 ln -sf %{_docdir}/%{pname}-doc-%{version}/UserManual_fr_FR.pdf $RPM_BUILD_ROOT%{_libdir}/%{pname}/UserManual_fr_FR.pdf
746 install -d $RPM_BUILD_ROOT{/etc/modules-load.d,/sbin}
748 cp -a PLD-MODULE-BUILD/installed/* $RPM_BUILD_ROOT
750 # Tell systemd to load modules
751 cp -p %{SOURCE7} $RPM_BUILD_ROOT/etc/modules-load.d/virtualbox-host.conf
752 cp -p %{SOURCE8} $RPM_BUILD_ROOT/etc/modules-load.d/virtualbox-guest.conf
756 rm -rf $RPM_BUILD_ROOT
759 %groupadd -g 221 -r -f vbox
762 /sbin/chkconfig --add vboxautostart
763 %service -n vboxautostart restart
765 for i in /sys/bus/usb/devices/*; do
766 if [ -r "$i/dev" ]; then
767 dev="`cat "$i/dev" 2>/dev/null || true`"
768 major="`expr "$dev" : '\(.*\):' 2> /dev/null || true`"
769 minor="`expr "$dev" : '.*:\(.*\)' 2> /dev/null || true`"
770 class="`cat $i/bDeviceClass 2> /dev/null || true`"
771 /lib/udev/VBoxCreateUSBNode.sh "$major" "$minor" "$class" vbox 2>/dev/null
776 You must install vboxdrv kernel modules for this software to work:
777 kernel*-virtualbox-host-%{version}-%{rel}@*
779 On Guest Linux system you might want to install:
780 kernel*-virtualbox-guest-%{version}-%{rel}@*
785 if [ "$1" = "0" ]; then
786 /sbin/chkconfig --del vboxautostart
787 %service vboxautostart -q stop
792 if [ "$1" = "0" ]; then
797 %update_desktop_database
798 %update_icon_cache hicolor
799 %update_mime_database
802 %update_desktop_database
803 %update_icon_cache hicolor
804 %update_mime_database
807 # Add a group "vboxsf" for Shared Folders access
808 # All users which want to access the auto-mounted Shared Folders have to be added to this group.
809 %groupadd -g 266 -r -f vboxsf
812 /sbin/chkconfig --add vboxservice
813 %service vboxservice restart
814 %systemd_post vboxservice.service
817 if [ "$1" = "0" ]; then
818 /sbin/chkconfig --del vboxservice
819 %service vboxservice -q stop
821 %systemd_preun vboxservice.service
824 if [ "$1" = "0" ]; then
829 %triggerpostun guest -- VirtualBox-guest < 4.3.0-1
830 %systemd_trigger vboxservice.service
832 %pre -n lightdm-greeter-vbox
833 %addusertogroup xdm vbox
835 %post -n dkms-vboxguest
836 dkms add -m vboxguest -v %{version}-%{rel} --rpm_safe_upgrade && \
837 dkms build -m vboxguest -v %{version}-%{rel} --rpm_safe_upgrade && \
838 dkms install -m vboxguest -v %{version}-%{rel} --rpm_safe_upgrade || :
840 %preun -n dkms-vboxguest
841 dkms remove -m vboxguest -v %{version}-%{rel} --rpm_safe_upgrade --all || :
843 %post -n dkms-vboxhost
844 dkms add -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade && \
845 dkms build -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade && \
846 dkms install -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade || :
848 %preun -n dkms-vboxhost
849 dkms remove -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade --all || :
851 %if %{with userspace}
853 %defattr(644,root,root,755)
854 %dir %attr(751,root,root) %{_sysconfdir}/vbox
855 %dir %attr(770,root,vbox) %{_sysconfdir}/vbox/autostart
856 %attr(640,root,vbox) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vbox/autostart.cfg
857 %attr(754,root,root) /etc/rc.d/init.d/vboxautostart
858 %attr(755,root,root) /sbin/mount.vdi
859 %attr(755,root,root) %{_bindir}/VBox
860 %attr(755,root,root) %{_bindir}/VBoxAutostart
861 %attr(755,root,root) %{_bindir}/VBoxBalloonCtrl
862 %attr(755,root,root) %{_bindir}/VBoxHeadless
863 %attr(755,root,root) %{_bindir}/VBoxManage
864 %attr(755,root,root) %{_bindir}/VBoxSDL
865 %attr(755,root,root) %{_bindir}/VBoxTunctl
866 %dir %{_libdir}/%{pname}
868 %attr(755,root,root) %{_libdir}/%{pname}/DBGCPlugInDiggers.so
869 %attr(755,root,root) %{_libdir}/%{pname}/VBoxAuth.so
870 %attr(755,root,root) %{_libdir}/%{pname}/VBoxAuthSimple.so
871 %attr(755,root,root) %{_libdir}/%{pname}/VBoxDD.so
872 %attr(755,root,root) %{_libdir}/%{pname}/VBoxDD2.so
873 %attr(755,root,root) %{_libdir}/%{pname}/VBoxDDU.so
874 %attr(755,root,root) %{_libdir}/%{pname}/VBoxDragAndDropSvc.so
875 %attr(755,root,root) %{_libdir}/%{pname}/VBoxGuestControlSvc.so
876 %attr(755,root,root) %{_libdir}/%{pname}/VBoxGuestPropSvc.so
877 %attr(755,root,root) %{_libdir}/%{pname}/VBoxHostChannel.so
878 %attr(755,root,root) %{_libdir}/%{pname}/VBoxKeyboard.so
879 %attr(755,root,root) %{_libdir}/%{pname}/VBoxOGLhostcrutil.so
880 %attr(755,root,root) %{_libdir}/%{pname}/VBoxOGLhosterrorspu.so
881 %attr(755,root,root) %{_libdir}/%{pname}/VBoxOGLrenderspu.so
882 %attr(755,root,root) %{_libdir}/%{pname}/VBoxPython*.so
883 %attr(755,root,root) %{_libdir}/%{pname}/VBoxREM.so
884 %attr(755,root,root) %{_libdir}/%{pname}/VBoxRT.so
885 %attr(755,root,root) %{_libdir}/%{pname}/VBoxSharedClipboard.so
886 %attr(755,root,root) %{_libdir}/%{pname}/VBoxSharedCrOpenGL.so
887 %attr(755,root,root) %{_libdir}/%{pname}/VBoxSharedFolders.so
888 %attr(755,root,root) %{_libdir}/%{pname}/VBoxVMM.so
889 %attr(755,root,root) %{_libdir}/%{pname}/VBoxXPCOM.so
890 %attr(755,root,root) %{_libdir}/%{pname}/VBoxXPCOMC.so
892 %attr(755,root,root) %{_libdir}/%{pname}/VBoxREM32.so
893 %attr(755,root,root) %{_libdir}/%{pname}/VBoxREM64.so
897 %attr(755,root,root) %{_libdir}/%{pname}/VBoxAutostart
898 %attr(755,root,root) %{_libdir}/%{pname}/VBoxBalloonCtrl
899 %attr(755,root,root) %{_libdir}/%{pname}/VBoxExtPackHelperApp
900 %attr(755,root,root) %{_libdir}/%{pname}/VBoxHeadless
901 %attr(755,root,root) %{_libdir}/%{pname}/VBoxManage
902 %attr(755,root,root) %{_libdir}/%{pname}/VBoxNetAdpCtl
903 %attr(755,root,root) %{_libdir}/%{pname}/VBoxNetDHCP
904 %attr(755,root,root) %{_libdir}/%{pname}/VBoxNetNAT
905 %attr(755,root,root) %{_libdir}/%{pname}/VBoxSDL
906 %attr(755,root,root) %{_libdir}/%{pname}/VBoxSVC
907 %attr(755,root,root) %{_libdir}/%{pname}/VBoxVMMPreload
908 %attr(755,root,root) %{_libdir}/%{pname}/VBoxVolInfo
909 %attr(755,root,root) %{_libdir}/%{pname}/VBoxXPCOMIPCD
910 %attr(755,root,root) %{_libdir}/%{pname}/iPxeBaseBin
912 %attr(755,root,root) %{_libdir}/%{pname}/VBoxManageHelp
914 %dir %{_libdir}/%{pname}/tools
915 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTGzip
916 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTLdrFlt
917 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTManifest
918 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTRm
919 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTShutdown
920 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTSignTool
921 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTTar
923 %dir %{_libdir}/%{pname}/ExtensionPacks
924 %{_libdir}/%{pname}/ExtensionPacks/VNC/ExtPack.xml
925 %dir %{_libdir}/%{pname}/ExtensionPacks/VNC
926 %dir %{_libdir}/%{pname}/ExtensionPacks/VNC/linux*
927 %attr(755,root,root) %{_libdir}/%{pname}/ExtensionPacks/VNC/linux*/VBoxVNC*.so
929 %{_libdir}/%{pname}/VBoxDD2GC.debug
930 %{_libdir}/%{pname}/VBoxDD2GC.gc
931 %{_libdir}/%{pname}/VBoxDD2R0.debug
932 %{_libdir}/%{pname}/VBoxDD2R0.r0
933 %{_libdir}/%{pname}/VBoxDDGC.debug
934 %{_libdir}/%{pname}/VBoxDDGC.gc
935 %{_libdir}/%{pname}/VBoxDDR0.debug
936 %{_libdir}/%{pname}/VBoxDDR0.r0
937 %{_libdir}/%{pname}/VBoxEFI32.fd
938 %{_libdir}/%{pname}/VBoxEFI64.fd
939 %{_libdir}/%{pname}/VMMGC.debug
940 %{_libdir}/%{pname}/VMMGC.gc
941 %{_libdir}/%{pname}/VMMR0.debug
942 %{_libdir}/%{pname}/VMMR0.r0
944 %dir %{_libdir}/%{pname}/components
945 %{_libdir}/%{pname}/components/VBoxXPCOMBase.xpt
946 %{_libdir}/%{pname}/components/VirtualBox_XPCOM.xpt
947 %attr(755,root,root) %{_libdir}/%{pname}/components/VBoxC.so
948 %attr(755,root,root) %{_libdir}/%{pname}/components/VBoxSVCM.so
949 %attr(755,root,root) %{_libdir}/%{pname}/components/VBoxXPCOMIPCC.so
951 %dir %{_datadir}/%{pname}
952 %attr(755,root,root) %{_datadir}/%{pname}/VBoxSysInfo.sh
954 %config(noreplace) %verify(not md5 mtime size) /etc/udev/rules.d/*.rules
955 %attr(755,root,root) /lib/udev/VBoxCreateUSBNode.sh
958 %defattr(644,root,root,755)
959 %attr(755,root,root) %{_bindir}/VirtualBox
960 %attr(755,root,root) %{_libdir}/%{pname}/VBoxDbg.so
961 %attr(755,root,root) %{_libdir}/%{pname}/VBoxTestOGL
962 %attr(755,root,root) %{_libdir}/%{pname}/VirtualBox
963 %dir %{_datadir}/%{pname}/nls
964 %lang(bg) %{_datadir}/%{pname}/nls/*_bg.qm
965 %lang(ca) %{_datadir}/%{pname}/nls/*_ca.qm
966 %lang(ca_VA) %{_datadir}/%{pname}/nls/*_ca_VA.qm
967 %lang(cs) %{_datadir}/%{pname}/nls/*_cs.qm
968 %lang(da) %{_datadir}/%{pname}/nls/*_da.qm
969 %lang(de) %{_datadir}/%{pname}/nls/*_de.qm
970 %lang(en) %{_datadir}/%{pname}/nls/*_en.qm
971 %lang(es) %{_datadir}/%{pname}/nls/*_es.qm
972 %lang(eu) %{_datadir}/%{pname}/nls/*_eu.qm
973 %lang(fi) %{_datadir}/%{pname}/nls/*_fa_IR.qm
974 %lang(fi) %{_datadir}/%{pname}/nls/*_fi.qm
975 %lang(fr) %{_datadir}/%{pname}/nls/*_fr.qm
976 %lang(gl_ES) %{_datadir}/%{pname}/nls/*_gl_ES.qm
977 %lang(hu) %{_datadir}/%{pname}/nls/*_hu.qm
978 %lang(id) %{_datadir}/%{pname}/nls/*_id.qm
979 %lang(it) %{_datadir}/%{pname}/nls/*_it.qm
980 %lang(ja) %{_datadir}/%{pname}/nls/*_ja.qm
981 %lang(km_KH) %{_datadir}/%{pname}/nls/*_km_KH.qm
982 %lang(ko) %{_datadir}/%{pname}/nls/*_ko.qm
983 %lang(lt) %{_datadir}/%{pname}/nls/*_lt.qm
984 %lang(nl) %{_datadir}/%{pname}/nls/*_nl.qm
985 %lang(pl) %{_datadir}/%{pname}/nls/*_pl.qm
986 %lang(pt) %{_datadir}/%{pname}/nls/*_pt.qm
987 %lang(pt_BR) %{_datadir}/%{pname}/nls/*_pt_BR.qm
988 %lang(ro) %{_datadir}/%{pname}/nls/*_ro.qm
989 %lang(ru) %{_datadir}/%{pname}/nls/*_ru.qm
990 %lang(sk) %{_datadir}/%{pname}/nls/*_sk.qm
991 %lang(sr) %{_datadir}/%{pname}/nls/*_sr.qm
992 %lang(sv) %{_datadir}/%{pname}/nls/*_sv.qm
993 %lang(tr) %{_datadir}/%{pname}/nls/*_tr.qm
994 %lang(uk) %{_datadir}/%{pname}/nls/*_uk.qm
995 %lang(zh_CN) %{_datadir}/%{pname}/nls/*_zh_CN.qm
996 %lang(zh_TW) %{_datadir}/%{pname}/nls/*_zh_TW.qm
997 %{_desktopdir}/virtualbox.desktop
998 %{_pixmapsdir}/virtualbox.png
999 %{_iconsdir}/hicolor/*/apps/virtualbox.png
1000 %{_iconsdir}/hicolor/*/apps/virtualbox.svg
1001 %{_iconsdir}/hicolor/*/mimetypes/virtualbox-*.png
1002 %{_datadir}/mime/packages/virtualbox.xml
1005 %defattr(644,root,root,755)
1006 %{_datadir}/%{pname}/VBoxGuestAdditions.iso
1009 %defattr(644,root,root,755)
1010 %attr(755,root,root) /sbin/mount.vboxsf
1011 %attr(754,root,root) /etc/rc.d/init.d/vboxservice
1012 %{systemdunitdir}/vboxservice.service
1013 %attr(755,root,root) %{_bindir}/VBoxControl
1014 %attr(755,root,root) %{_bindir}/VBoxService
1017 %defattr(644,root,root,755)
1018 /etc/xdg/autostart/vboxclient.desktop
1019 %attr(755,root,root) %{_bindir}/VBoxClient
1020 %attr(755,root,root) %{_bindir}/VBoxClient-all
1022 %if %{with webservice}
1024 %defattr(644,root,root,755)
1025 %attr(755,root,root) %{_bindir}/vboxwebsrv
1026 %attr(755,root,root) %{_libdir}/%{pname}/vboxwebsrv
1027 %attr(755,root,root) %{_libdir}/%{pname}/webtest
1031 %files -n lightdm-greeter-vbox
1032 %defattr(644,root,root,755)
1033 %attr(755,root,root) %{_sbindir}/vbox-greeter
1034 %{_datadir}/xgreeters/vbox-greeter.desktop
1037 %files -n pam-pam_vbox
1038 %defattr(644,root,root,755)
1039 %attr(755,root,root) /%{_lib}/security/pam_vbox.so
1043 %defattr(644,root,root,755)
1044 # this is a symlink...
1045 %doc %{_libdir}/%{pname}/UserManual.pdf
1046 %lang(fr) %doc %{_libdir}/%{pname}/UserManual_fr_FR.pdf
1048 %doc %{outdir}/UserManual.pdf
1049 %lang(fr) %doc %{outdir}/UserManual_fr_FR.pdf
1052 %files -n xorg-driver-video-vboxvideo
1053 %defattr(644,root,root,755)
1054 %attr(755,root,root) %{_libdir}/xorg/modules/drivers/vboxvideo_drv.so
1055 %attr(755,root,root) %{_libdir}/xorg/modules/dri/vboxvideo_dri.so
1056 # vboxvideo_dri.so deps
1057 %attr(755,root,root) %{_libdir}/VBoxOGLarrayspu.so
1058 %attr(755,root,root) %{_libdir}/VBoxOGLcrutil.so
1059 %attr(755,root,root) %{_libdir}/VBoxOGLerrorspu.so
1060 %attr(755,root,root) %{_libdir}/VBoxOGLfeedbackspu.so
1061 %attr(755,root,root) %{_libdir}/VBoxOGLpackspu.so
1062 %attr(755,root,root) %{_libdir}/VBoxOGLpassthroughspu.so
1065 %files -n dkms-vboxguest
1066 %defattr(644,root,root,755)
1067 %{_usrsrc}/vboxguest-%{version}-%{rel}
1069 %files -n dkms-vboxhost
1070 %defattr(644,root,root,755)
1071 %{_usrsrc}/vboxhost-%{version}-%{rel}