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: 16f8f3e5fea2677da7456bc8b6aff458
75 Source1: http://download.virtualbox.org/virtualbox/%{version}/VBoxGuestAdditions_%{version}.iso
76 # Source1-md5: 1066defb18fa3baf0b393f20d2818091
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 Source9: vboxautostart.init
84 Source10: autostart.cfg
85 Patch0: %{pname}-configure-spaces.patch
86 Patch1: %{pname}-VBoxSysInfo.patch
87 Patch2: %{pname}-warning_workaround.patch
88 Patch3: %{pname}-dri.patch
90 Patch5: xserver-1.12.patch
91 Patch6: hardening-shared.patch
92 Patch7: lightdm-greeter-glib-includes.patch
93 Patch8: lightdm-greeter-g++-link.patch
94 Patch9: pld-guest.patch
95 Patch10: 16-no-update.patch
96 Patch11: 18-system-xorg.patch
97 Patch12: x8664-build.patch
98 Patch13: %{pname}-all-translations.patch
99 URL: http://www.virtualbox.org/
100 %if %{with userspace}
102 BuildRequires: gcc-multilib
103 BuildRequires: glibc-devel(i686)
104 BuildRequires: libstdc++-multilib-devel
105 BuildRequires: libstdc++-multilib-static
107 %if "%{pld_release}" == "ac"
108 BuildRequires: XFree86-devel
110 BuildRequires: xorg-lib-libXcomposite-devel
111 BuildRequires: xorg-lib-libXcursor-devel
112 BuildRequires: xorg-lib-libXmu-devel
113 BuildRequires: xorg-proto-glproto-devel
114 BuildRequires: xorg-xserver-server-devel
116 BuildRequires: OpenGL-GLU-devel
117 BuildRequires: OpenGL-devel
118 BuildRequires: QtGui-devel
119 BuildRequires: QtNetwork-devel
120 BuildRequires: QtOpenGL-devel
121 BuildRequires: SDL-devel >= 1.2.7
122 BuildRequires: acpica
123 BuildRequires: alsa-lib-devel >= 1.0.6
127 BuildRequires: curl-devel
128 BuildRequires: device-mapper-devel
129 %{?with_doc:BuildRequires: docbook-dtd44-xml}
130 BuildRequires: fakeroot
131 %{?with_lightdm:BuildRequires: fltk-devel}
132 BuildRequires: gcc >= 5:3.2.3
133 %{?with_webservice:BuildRequires: gsoap-devel}
135 BuildRequires: kBuild >= 0.1.9998.2700
136 BuildRequires: libIDL-devel
137 BuildRequires: libcap-static
138 BuildRequires: libdrm-devel
139 BuildRequires: libpng-devel >= 1.2.5
140 BuildRequires: libstdc++-devel >= 5:3.2.3
141 BuildRequires: libstdc++-static >= 5:3.2.3
142 BuildRequires: libuuid-devel
143 BuildRequires: libvncserver-devel >= 0.9.9
144 BuildRequires: libvpx-devel
145 BuildRequires: libxml2-devel >= 2.6.26
146 BuildRequires: libxslt-devel >= 1.1.17
147 BuildRequires: libxslt-progs >= 1.1.17
148 %{?with_lightdm:BuildRequires: lightdm-libs-qt-devel}
149 BuildRequires: makeself
150 BuildRequires: mkisofs
151 BuildRequires: pam-devel
152 BuildRequires: pixman-devel
153 BuildRequires: pkgconfig
154 BuildRequires: pulseaudio-devel >= 0.9.0
155 BuildRequires: python-devel
156 BuildRequires: python-modules
157 BuildRequires: qt4-build >= 4.2.0
158 BuildRequires: qt4-linguist
159 BuildRequires: rpmbuild(macros) >= 1.678
160 BuildRequires: sed >= 4.0
162 BuildRequires: texlive-fonts-bitstream
163 BuildRequires: texlive-fonts-other
164 BuildRequires: texlive-fonts-type1-bitstream
165 BuildRequires: texlive-format-pdflatex
166 BuildRequires: texlive-latex-ucs
167 BuildRequires: texlive-xetex
170 BuildRequires: xalan-c-devel >= 1.10.0
171 BuildRequires: xerces-c-devel >= 2.6.0
173 BuildRequires: zlib-devel >= 1.2.1
175 %{?with_dist_kernel:%{expand:%kbrs}}
176 Requires(post,preun): /sbin/chkconfig
177 Requires(postun): /usr/sbin/groupdel
178 Requires(pre): /usr/bin/getgid
179 Requires(pre): /usr/sbin/groupadd
180 Requires: libvncserver >= 0.9.9
182 Provides: group(vbox)
183 Obsoletes: VirtualBox-udev < 4.2.10-5
184 ExclusiveArch: %{ix86} %{x8664}
185 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
188 %define vbox_arch amd64
190 %define vbox_arch x86
192 %define vbox_platform linux.%{vbox_arch}
193 %define outdir out/%{vbox_platform}/release/bin
194 %define objdir out/%{vbox_platform}/release/obj
197 Oracle VirtualBox is a general-purpose full virtualizer for x86
198 hardware. Targeted at server, desktop and embedded use, it is now the
199 only professional-quality virtualization solution that is also Open
202 Some of the features of VirtualBox are:
204 Modularity: VirtualBox has an extremely modular design with
205 well-defined internal programming interfaces and a client/server
206 design. This makes it easy to control it from several interfaces at
207 once: for example, you can start a virtual machine in a typical
208 virtual machine GUI and then control that machine from the command
209 line. VirtualBox also comes with a full Software Development Kit: even
210 though it is Open Source Software, you don't have to hack the source
211 to write a new interface for VirtualBox.
213 Virtual machine descriptions in XML: the configuration settings of
214 virtual machines are stored entirely in XML and are independent of the
215 local machines. Virtual machine definitions can therefore easily be
216 ported to other computers.
218 You should install this package in your Host OS.
220 %description -l pl.UTF-8
221 Oracle VirtualBox jest emulatorem sprzętu x86. Kierowany do zastosowań
222 serwerowych, desktopowych oraz wbudowanych jest obecnie jedynym
223 wysokiej jakości rozwiązaniem wirtualizacyjnym dostępnym również jako
224 Otwarte Oprogramowanie.
226 Przykładowe cechy VirtualBoksa:
228 Modularność: VirtualBox jest wysoce zmodularyzowanym produktem z
229 dobrze zaprojektowanym wewnętrznym interfejsem programowym typu
230 klient/serwer. Dzięki temu można łatwo kontrolować go za pomocą
231 różnych interfejsów. Można na przykład uruchomić maszynę wirtualną z
232 poziomu interfejsu graficznego, a później kontrolować ją z linii
233 poleceń. VirtualBox dostarcza również pełny pakiet deweloperski, co
234 pozwala stworzyć dowolny inny interfejs zarządzania maszyną wirtualną.
236 Opisy maszyn wirtualnych w XML-u: konfiguracje poszczególnych maszyn
237 wirtualnych są w całości przechowywane w XML-u i są niezależne od
238 lokalnej maszyny. Dzięki temu można szybko i łatwo przenieść
239 konfigurację maszyny wirtualnej na inny komputer.
242 Summary: Qt GUI part for VirtualBox
243 Group: X11/Applications
244 Requires: %{name} = %{version}-%{release}
245 Requires: QtCore >= 4.7.0
246 Requires: desktop-file-utils
247 Requires: desktop-file-utils
249 Requires: fonts-Type1-urw
250 Requires: gtk-update-icon-cache
251 Requires: hicolor-icon-theme
252 Requires: shared-mime-info
254 Conflicts: %{name} < 4.3.8-3
257 Qt GUI part for VirtualBox.
260 Summary: VirtualBox documentation
264 This package contains VirtualBox User Manual.
267 Summary: VirtualBox Guest Additions
269 Requires: %{name} = %{version}
270 %if "%{_rpmversion}" >= "5"
274 %description additions
275 VirtualBox Guest Additions.
277 This package contains ISO9660 image with drivers for Guest OS.
279 You should install this package in your Host OS.
282 Summary: VirtualBox Guest tools
284 Provides: group(vboxsf)
285 Requires(post): systemd-units >= 38
286 Requires(post,preun): /sbin/chkconfig
287 Requires(postun): /usr/sbin/groupdel
288 Requires(pre): /usr/bin/getgid
289 Requires(pre): /usr/sbin/groupadd
291 Requires: systemd-units >= 38
292 Suggests: kernel(vboxguest)
293 Suggests: kernel(vboxsf)
294 Suggests: pam-pam_vbox
297 Tools that utilize kernel modules for supporting integration with the
298 Host, including file sharing.
300 You should install this package in your Guest OS for base VirtualBox
304 Summary: VirtualBox Guest X11 Additions
305 Group: X11/Applications
306 Requires: %{name}-guest = %{version}-%{release}
307 Requires: xorg-app-xrandr
308 Requires: xorg-driver-video-vboxvideo = %{version}-%{release}
309 Suggests: kernel(vboxvideo)
310 Obsoletes: xorg-driver-input-vboxmouse < %{version}-%{release}
312 %description guest-x11
313 Tools for X11 session that utilize kernel modules for supporting
314 integration with the Host, like tracking of mouse pointer movement and
315 X.org X11 video and mouse drivers
317 You should install this package in your Guest OS for X11 session.
320 Summary: VirtualBox Web Service
321 Group: Applications/Emulators
322 Requires: %{name} = %{version}-%{release}
324 %description webservice
325 This package contains VirtualBox web service API daemon. It allows to
326 control virtual machines via web interface.
328 %package -n lightdm-greeter-vbox
329 Summary: VirtualBox greeter for lightdm
331 # NOTE: '#' in url is lost because rpm treats it as comment, even hacking with
332 # macros doesn't help as rpmbuild takes final result to parse
333 URL: http://www.virtualbox.org/manual/ch09.html#autologon_unix_lightdm
334 Requires: %{name} = %{version}-%{release}
335 Requires: kernel(vboxguest)
336 Requires: lightdm >= 1.0.1
337 Requires: pam-pam_vbox = %{version}-%{release}
338 Provides: lightdm-greeter
340 %description -n lightdm-greeter-vbox
341 VirtualBox greeter for LightDM.
343 %package -n pam-pam_vbox
344 Summary: PAM module to perform automated guest logons
347 %description -n pam-pam_vbox
348 PAM module (Pluggable Authentication Module) which can be used to
349 perform automated guest logons.
351 %package -n xorg-driver-video-vboxvideo
352 Summary: X.org video driver for VirtualBox guest OS
353 Summary(pl.UTF-8): Sterownik grafiki dla systemu gościa w VirtualBoksie
354 Group: X11/Applications
355 Requires: Mesa-dri-driver-swrast
356 Requires: xorg-xserver-libdri >= 1.7.4
357 Requires: xorg-xserver-server >= 1.0.99.901
358 Requires: xorg-xserver-server(videodrv-abi) <= 18.0
359 Requires: xorg-xserver-server(videodrv-abi) >= 2.0
360 Provides: OpenGL = 2.1
361 Provides: OpenGL-GLX = 1.3
362 Provides: xorg-driver-video
363 Provides: xorg-xserver-module(glx)
365 %description -n xorg-driver-video-vboxvideo
366 X.org video driver for VirtualBox guest OS.
368 %description -n xorg-driver-video-vboxvideo -l pl.UTF-8
369 Sterownik grafiki dla systemu gościa w VirtualBoksie.
371 %package -n dkms-vboxguest
372 Summary: VirtualBox kernel modules source for Linux Guest
373 Summary(pl.UTF-8): Moduły VirtualBoksa do jądra Linuksa dla systemu gościa
377 %if "%{_rpmversion}" >= "5"
381 %description -n dkms-vboxguest
382 This package contains DKMS-ready VirtualBox Guest Additions for Linux
383 Module, host file system access (Shared Folders) and DRM support for
386 %description -n dkms-vboxguest -l pl.UTF-8
387 Ten pakiet zawiera moduł jądra Linuksa vboxguest dla VirtualBoksa -
388 dodatki dla systemu gościa, dostęp do plików systemu głównego z
389 poziomu systemu gościa i sterownik obsługi DRM.
391 %package -n dkms-vboxhost
392 Summary: VirtualBox Support Drivers source
393 Summary(pl.UTF-8): Moduły jądra Linuksa dla VirtualBoksa
397 %if "%{_rpmversion}" >= "5"
401 %description -n dkms-vboxhost
402 This package contains DKMS enabled sourcecode of VirtualBox Support
403 Driver, Network Adapter Driver, Network Filter Driver and PCI card
404 passthrough driver that works as host proxy between guest and PCI
407 %description -n dkms-vboxhost -l pl.UTF-8
408 Ten pakiet zawiera sterownik wsparcia dla systemu głównego, sterownik
409 witrualnej karty sieciowej, sterownik filtrowania sieci dla systemu
410 głównego oraz sterownik, ktory działa jako proxy między gościem i
411 gospodarzem sprzętu PCI.
415 # KEEP ALL REGULAR SUBPACKAGES BEFORE KERNEL PACKAGES.
417 %define kernel_pkg()\
418 %package -n kernel%{_alt_kernel}-virtualbox-guest\
419 Summary: VirtualBox kernel modules for Linux Guest\
420 Summary(pl.UTF-8): Moduły VirtualBoksa do jądra Linuksa dla systemu gościa\
421 Release: %{rel}@%{_kernel_ver_str}\
423 Requires(post,postun): /sbin/depmod\
424 Requires(post): systemd-units >= 38\
425 Requires: dev >= 2.9.0-7\
426 Requires: systemd-units >= 38\
427 %if %{with dist_kernel}\
428 %requires_releq_kernel\
429 Requires: %{releq_kernel -n drm}\
430 Requires(postun): %releq_kernel\
432 Provides: kernel(vboxguest) = %{version}-%{rel}\
433 Provides: kernel(vboxsf) = %{version}-%{rel}\
434 Provides: kernel(vboxvideo) = %{version}-%{rel}\
435 Obsoletes: kernel-init-guest\
436 Conflicts: kernel%{_alt_kernel}-virtualbox-host\
438 %description -n kernel%{_alt_kernel}-virtualbox-guest\
439 This package contains VirtualBox Guest Additions for Linux Module,\
440 host file system access (Shared Folders) and DRM support for\
443 %description -n kernel%{_alt_kernel}-virtualbox-guest -l pl.UTF-8\
444 Ten pakiet zawiera moduł jądra Linuksa vboxguest dla VirtualBoksa -\
445 dodatki dla systemu gościa, dostęp do plików systemu głównego z\
446 poziomu systemu gościa i sterownik obsługi DRM.\
448 %package -n kernel%{_alt_kernel}-virtualbox-host\
449 Summary: VirtualBox Support Drivers\
450 Summary(pl.UTF-8): Moduły jądra Linuksa dla VirtualBoksa\
451 Release: %{rel}@%{_kernel_ver_str}\
453 Requires(post,postun): /sbin/depmod\
454 Requires(post): systemd-units >= 38\
455 Requires: dev >= 2.9.0-7\
456 %if %{with dist_kernel}\
457 %requires_releq_kernel\
458 Requires(postun): %releq_kernel\
460 Requires: systemd-units >= 38\
461 Provides: kernel(vboxdrv) = %{version}-%{rel}\
462 Provides: kernel(vboxnetadp) = %{version}-%{rel}\
463 Provides: kernel(vboxnetflt) = %{version}-%{rel}\
464 Provides: kernel(vboxpci) = %{version}-%{rel}\
465 Obsoletes: kernel-init-host\
467 %description -n kernel%{_alt_kernel}-virtualbox-host\
468 This package contains VirtualBox Support Driver, Network Adapter\
469 Driver, Network Filter Driver and PCI card passthrough driver that\
470 works as host proxy between guest and PCI hardware.\
472 %description -n kernel%{_alt_kernel}-virtualbox-host -l pl.UTF-8\
473 Ten pakiet zawiera sterownik wsparcia dla systemu głównego, sterownik\
474 witrualnej karty sieciowej, sterownik filtrowania sieci dla systemu\
475 głównego oraz sterownik, ktory działa jako proxy między gościem i\
476 gospodarzem sprzętu PCI.\
479 %files -n kernel%{_alt_kernel}-virtualbox-guest\
480 %defattr(644,root,root,755)\
481 %config(noreplace) %verify(not md5 mtime size) /etc/modules-load.d/virtualbox-guest.conf\
482 /lib/modules/%{_kernel_ver}/misc/vboxguest.ko*\
483 /lib/modules/%{_kernel_ver}/misc/vboxsf.ko*\
484 /lib/modules/%{_kernel_ver}/misc/vboxvideo.ko*\
486 %files -n kernel%{_alt_kernel}-virtualbox-host\
487 %config(noreplace) %verify(not md5 mtime size) /etc/modules-load.d/virtualbox-host.conf\
488 /lib/modules/%{_kernel_ver}/misc/vboxdrv.ko*\
489 /lib/modules/%{_kernel_ver}/misc/vboxnetadp.ko*\
490 /lib/modules/%{_kernel_ver}/misc/vboxnetflt.ko*\
491 /lib/modules/%{_kernel_ver}/misc/vboxpci.ko*\
494 %post -n kernel%{_alt_kernel}-virtualbox-guest\
495 %depmod %{_kernel_ver}\
497 %postun -n kernel%{_alt_kernel}-virtualbox-guest\
498 %depmod %{_kernel_ver}\
500 %post -n kernel%{_alt_kernel}-virtualbox-host\
501 %depmod %{_kernel_ver}\
503 %postun -n kernel%{_alt_kernel}-virtualbox-host\
504 %depmod %{_kernel_ver}\
507 %define build_kernel_pkg()\
508 export KERN_DIR=%{_kernelsrcdir}\
509 cd PLD-MODULE-BUILD/HostDrivers\
510 %build_kernel_modules -m vboxdrv -C vboxdrv\
511 %build_kernel_modules -m vboxnetadp -C vboxnetadp\
512 %build_kernel_modules -m vboxnetflt -C vboxnetflt\
513 %build_kernel_modules -m vboxpci -C vboxpci\
515 %build_kernel_modules -m vboxguest -C vboxguest\
516 cp -a vboxguest/Module.symvers vboxsf\
517 %build_kernel_modules -m vboxsf -C vboxsf -c\
518 %build_kernel_modules -m vboxvideo -C vboxvideo\
520 %install_kernel_modules -D PLD-MODULE-BUILD/installed -m PLD-MODULE-BUILD/HostDrivers/vboxdrv/vboxdrv -d misc\
521 %install_kernel_modules -D PLD-MODULE-BUILD/installed -m PLD-MODULE-BUILD/HostDrivers/vboxnetadp/vboxnetadp -d misc\
522 %install_kernel_modules -D PLD-MODULE-BUILD/installed -m PLD-MODULE-BUILD/HostDrivers/vboxnetflt/vboxnetflt -d misc\
523 %install_kernel_modules -D PLD-MODULE-BUILD/installed -m PLD-MODULE-BUILD/HostDrivers/vboxpci/vboxpci -d misc\
524 %install_kernel_modules -D PLD-MODULE-BUILD/installed -m PLD-MODULE-BUILD/GuestDrivers/vboxguest/vboxguest -d misc\
525 %install_kernel_modules -D PLD-MODULE-BUILD/installed -m PLD-MODULE-BUILD/GuestDrivers/vboxsf/vboxsf -d misc\
526 %install_kernel_modules -D PLD-MODULE-BUILD/installed -m PLD-MODULE-BUILD/GuestDrivers/vboxvideo/vboxvideo -d misc\
529 %{?with_kernel:%{expand:%kpkg}}
532 %setup -q -n %{pname}-%{version}
548 %{__sed} -i -e 's,@VBOX_DOC_PATH@,%{_docdir}/%{name}-%{version},' \
549 -e 's/Categories=.*/Categories=Utility;Emulator;/' src/VBox/Installer/common/virtualbox.desktop.in
552 %{__sed} -i -e "s@_LDFLAGS\.%{vbox_arch}*.*=@& %{rpmldflags}@g" \
553 -i Config.kmk src/libs/xpcom18a4/Config.kmk
555 %{__sed} -i -e 's#@INSTALL_DIR@#%{_libdir}/%{pname}#' src/VBox/Installer/linux/VBox.sh
558 install -d PLD-MODULE-BUILD/{GuestDrivers,HostDrivers}
560 ../src/VBox/Additions/linux/export_modules guest-modules.tar.gz
561 tar -zxf guest-modules.tar.gz -C GuestDrivers
563 ../src/VBox/HostDrivers/linux/export_modules host-modules.tar.gz --without-hardening
564 tar -zxf host-modules.tar.gz -C HostDrivers
568 # using system kBuild package
571 # use linux icon for now
572 cp -p src/VBox/Frontends/VirtualBox/images/os_{linux26,pld}.png
573 cp -p src/VBox/Frontends/VirtualBox/images/os_{linux26,pld}_64.png
575 cat <<'EOF'>> LocalConfig.kmk
576 %{?with_verbose:KBUILD_VERBOSE=3}
578 __VBOX_BUILD_PUBLISHER=_PLD
579 VBOX_VERSION_STRING=$(VBOX_VERSION_MAJOR).$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD)_PLD
580 XSERVER_VERSION=%(rpm -q --queryformat '%{V}\n' xorg-xserver-server-devel | awk -F. '{ print $1 $2 }' 2>/dev/null || echo ERROR)
581 VBOX_USE_SYSTEM_XORG_HEADERS=1
583 VBOX_WITH_LIGHTDM_GREETER=1
584 VBOX_WITH_LIGHTDM_GREETER_PACKING=1
586 TOOL_GCC3_CFLAGS=%{rpmcflags}
587 TOOL_GCC3_CXXFLAGS=%{rpmcxxflags}
588 VBOX_GCC_OPT=%{rpmcxxflags}
590 VBOX_PATH_APP_PRIVATE_ARCH := %{_libdir}/%{pname}
591 VBOX_PATH_APP_PRIVATE := %{_datadir}/%{pname}
592 VBOX_PATH_SHARED_LIBS := $(VBOX_PATH_APP_PRIVATE_ARCH)
594 VBOX_WITH_RUNPATH := $(VBOX_PATH_APP_PRIVATE_ARCH)
595 #VBOX_PATH_APP_DOCS := %{_docdir}/%{pname}-doc-%{version}
597 # don't build testcases to save time, they are not needed for the package
598 VBOX_WITH_TESTCASES :=
599 VBOX_WITH_TESTSUITE :=
603 %if %{with userspace}
605 --with-gcc="%{__cc}" \
606 --with-g++="%{__cxx}" \
607 %{!?with_doc:--disable-docs} \
609 --disable-hardening \
612 %{__enable webservice} \
617 %{__cc} %{rpmcflags} %{rpmldflags} -Wall -Werror src/VBox/Additions/linux/sharedfolders/{mount.vboxsf.c,vbsfmount.c} -o mount.vboxsf
620 %{?with_kernel:%{expand:%bkpkg}}
623 rm -rf $RPM_BUILD_ROOT
625 %if %{with userspace}
626 install -d $RPM_BUILD_ROOT{%{_bindir},/sbin,%{_sbindir},%{_libdir}/%{pname}/ExtensionPacks} \
627 $RPM_BUILD_ROOT{%{_pixmapsdir},%{_desktopdir},%{_datadir}/mime/packages} \
628 $RPM_BUILD_ROOT%{_sysconfdir}/vbox/autostart \
629 $RPM_BUILD_ROOT%{_libdir}/xorg/modules/{drivers,dri,input} \
630 $RPM_BUILD_ROOT{/lib/udev,/etc/udev/rules.d} \
631 $RPM_BUILD_ROOT{/etc/rc.d/init.d,%{systemdunitdir},%{_usrsrc}}
633 # test if we can hardlink -- %{_builddir} and $RPM_BUILD_ROOT on same partition
634 if cp -al COPYING $RPM_BUILD_ROOT/COPYING; then
636 %{__rm} $RPM_BUILD_ROOT/COPYING
639 cp -a$l %{outdir}/* $RPM_BUILD_ROOT%{_libdir}/%{pname}
640 cp -a$l %{SOURCE1} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/VBoxGuestAdditions.iso
643 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/VBoxOGL.so,%{_libdir}/xorg/modules/dri/vboxvideo_dri.so}
644 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/vboxvideo_drv_system.so,%{_libdir}/xorg/modules/drivers/vboxvideo_drv.so}
645 # XXX: where else to install them that vboxvideo_dri.so finds them? patch with rpath?
646 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLarrayspu.so
647 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLcrutil.so
648 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLerrorspu.so
649 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLfeedbackspu.so
650 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLpackspu.so
651 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLpassthroughspu.so
654 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxClient
655 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxControl
656 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxService
657 install -d $RPM_BUILD_ROOT/etc/xdg/autostart
658 cp -p src/VBox/Additions/x11/Installer/vboxclient.desktop \
659 $RPM_BUILD_ROOT/etc/xdg/autostart/vboxclient.desktop
660 install -p src/VBox/Additions/x11/Installer/98vboxadd-xclient $RPM_BUILD_ROOT%{_bindir}/VBoxClient-all
661 install -p %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxservice
662 install -p %{SOURCE3} $RPM_BUILD_ROOT%{systemdunitdir}/vboxservice.service
664 install -p %{SOURCE9} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxautostart
665 %{__sed} -i -e 's#@INSTALL_DIR@#%{_libdir}/%{pname}#' $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxautostart
666 cp -p %{SOURCE10} $RPM_BUILD_ROOT%{_sysconfdir}/vbox
669 install -d $RPM_BUILD_ROOT%{_datadir}/xgreeters
670 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_sbindir}}/vbox-greeter
671 cp -p %{objdir}/Additions/Installer/linux/share/VBoxGuestAdditions/vbox-greeter.desktop $RPM_BUILD_ROOT%{_datadir}/xgreeters
675 mv $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/src $RPM_BUILD_ROOT%{_usrsrc}/vboxguest-%{version}-%{rel}
679 install -d $RPM_BUILD_ROOT/%{_lib}/security
680 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,/%{_lib}/security}/pam_vbox.so
683 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/mount.vboxsf
684 install -p mount.vboxsf $RPM_BUILD_ROOT/sbin/mount.vboxsf
687 install -p %{SOURCE5} $RPM_BUILD_ROOT/sbin/mount.vdi
689 # these belong to .iso
690 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/autorun.sh
691 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/runasroot.sh
693 # scripts to setup modules, x11 and service. we have covered that in our packages
694 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/vboxadd
695 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/vboxadd-service
696 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/vboxadd-x11
700 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/helpers/generate_service_file
701 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPInstall
702 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPLoggerCtl
703 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPUninstall
704 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/load.sh
705 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/loadall.sh
706 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/scripts/VBoxHeadlessXOrg.sh
707 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/scripts/init_template.sh
708 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/scripts/install_service
709 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxshell.py
710 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/xpidl
713 # use upstream installer to relocate rest of the files, fakeroot because it forces uid/gid 0
714 fakeroot sh -x $RPM_BUILD_ROOT%{_libdir}/%{pname}/scripts/install.sh \
716 --prefix %{_prefix} \
717 %{!?with_webservice:--no-web-service} \
718 --root $RPM_BUILD_ROOT
720 %{__mv} $RPM_BUILD_ROOT{%{_datadir}/%{pname},/lib/udev}/VBoxCreateUSBNode.sh
721 cp -p %{SOURCE6} $RPM_BUILD_ROOT/etc/udev/rules.d/60-vboxdrv.rules
724 mv $RPM_BUILD_ROOT%{_datadir}/%{pname}/src $RPM_BUILD_ROOT%{_usrsrc}/vboxhost-%{version}-%{rel}
725 %{__rm} $RPM_BUILD_ROOT%{_usrsrc}/vboxhost-%{version}_PLD
728 # cleanup lowercased variants, not used in any script (less cruft)
729 %{__rm} -r $RPM_BUILD_ROOT%{_bindir}/vboxautostart
730 %{__rm} -r $RPM_BUILD_ROOT%{_bindir}/vboxballoonctrl
731 %{__rm} -r $RPM_BUILD_ROOT%{_bindir}/vboxheadless
732 %{__rm} -r $RPM_BUILD_ROOT%{_bindir}/vboxmanage
733 %{__rm} -r $RPM_BUILD_ROOT%{_bindir}/vboxsdl
734 %{__rm} -r $RPM_BUILD_ROOT%{_bindir}/virtualbox
737 %{__rm} -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/{sdk,testcase}
738 %{__rm} -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/dtrace
739 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxkeyboard.tar.bz2
740 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/tst*
741 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/scripts/generated.sh
742 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/ExtensionPacks/VNC/ExtPack-license.*
743 %{__rm} -r $RPM_BUILD_ROOT%{py_sitescriptdir}/vboxapi*
746 %{__rm} -r $RPM_BUILD_ROOT%{_iconsdir}/hicolor/40x40
747 # duplicate, we already have virtualbox.png (128x128), this is 32x32
748 %{__rm} -r $RPM_BUILD_ROOT%{_pixmapsdir}/VBox.png
751 ln -sf %{_docdir}/%{pname}-doc-%{version}/UserManual.pdf $RPM_BUILD_ROOT%{_libdir}/%{pname}/UserManual.pdf
752 ln -sf %{_docdir}/%{pname}-doc-%{version}/UserManual_fr_FR.pdf $RPM_BUILD_ROOT%{_libdir}/%{pname}/UserManual_fr_FR.pdf
757 install -d $RPM_BUILD_ROOT{/etc/modules-load.d,/sbin}
759 cp -a PLD-MODULE-BUILD/installed/* $RPM_BUILD_ROOT
761 # Tell systemd to load modules
762 cp -p %{SOURCE7} $RPM_BUILD_ROOT/etc/modules-load.d/virtualbox-host.conf
763 cp -p %{SOURCE8} $RPM_BUILD_ROOT/etc/modules-load.d/virtualbox-guest.conf
767 rm -rf $RPM_BUILD_ROOT
770 %groupadd -g 221 -r -f vbox
773 /sbin/chkconfig --add vboxautostart
774 %service -n vboxautostart restart
776 for i in /sys/bus/usb/devices/*; do
777 if [ -r "$i/dev" ]; then
778 dev="`cat "$i/dev" 2>/dev/null || true`"
779 major="`expr "$dev" : '\(.*\):' 2> /dev/null || true`"
780 minor="`expr "$dev" : '.*:\(.*\)' 2> /dev/null || true`"
781 class="`cat $i/bDeviceClass 2> /dev/null || true`"
782 /lib/udev/VBoxCreateUSBNode.sh "$major" "$minor" "$class" vbox 2>/dev/null
787 You must install vboxdrv kernel modules for this software to work:
788 kernel*-virtualbox-host-%{version}-%{rel}@*
790 On Guest Linux system you might want to install:
791 kernel*-virtualbox-guest-%{version}-%{rel}@*
796 if [ "$1" = "0" ]; then
797 /sbin/chkconfig --del vboxautostart
798 %service vboxautostart -q stop
803 if [ "$1" = "0" ]; then
808 %update_desktop_database
809 %update_icon_cache hicolor
810 %update_mime_database
813 %update_desktop_database
814 %update_icon_cache hicolor
815 %update_mime_database
818 # Add a group "vboxsf" for Shared Folders access
819 # All users which want to access the auto-mounted Shared Folders have to be added to this group.
820 %groupadd -g 266 -r -f vboxsf
823 /sbin/chkconfig --add vboxservice
824 %service vboxservice restart
825 %systemd_post vboxservice.service
828 if [ "$1" = "0" ]; then
829 /sbin/chkconfig --del vboxservice
830 %service vboxservice -q stop
832 %systemd_preun vboxservice.service
835 if [ "$1" = "0" ]; then
840 %triggerpostun guest -- VirtualBox-guest < 4.3.0-1
841 %systemd_trigger vboxservice.service
843 %pre -n lightdm-greeter-vbox
844 %addusertogroup xdm vbox
846 %post -n dkms-vboxguest
847 dkms add -m vboxguest -v %{version}-%{rel} --rpm_safe_upgrade && \
848 dkms build -m vboxguest -v %{version}-%{rel} --rpm_safe_upgrade && \
849 dkms install -m vboxguest -v %{version}-%{rel} --rpm_safe_upgrade || :
851 %preun -n dkms-vboxguest
852 dkms remove -m vboxguest -v %{version}-%{rel} --rpm_safe_upgrade --all || :
854 %post -n dkms-vboxhost
855 dkms add -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade && \
856 dkms build -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade && \
857 dkms install -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade || :
859 %preun -n dkms-vboxhost
860 dkms remove -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade --all || :
862 %if %{with userspace}
864 %defattr(644,root,root,755)
865 %dir %attr(751,root,root) %{_sysconfdir}/vbox
866 %dir %attr(770,root,vbox) %{_sysconfdir}/vbox/autostart
867 %attr(640,root,vbox) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vbox/autostart.cfg
868 %attr(754,root,root) /etc/rc.d/init.d/vboxautostart
869 %attr(755,root,root) /sbin/mount.vdi
870 %attr(755,root,root) %{_bindir}/VBox
871 %attr(755,root,root) %{_bindir}/VBoxAutostart
872 %attr(755,root,root) %{_bindir}/VBoxBalloonCtrl
873 %attr(755,root,root) %{_bindir}/VBoxHeadless
874 %attr(755,root,root) %{_bindir}/VBoxManage
875 %attr(755,root,root) %{_bindir}/VBoxSDL
876 %attr(755,root,root) %{_bindir}/VBoxTunctl
877 %dir %{_libdir}/%{pname}
879 %attr(755,root,root) %{_libdir}/%{pname}/DBGCPlugInDiggers.so
880 %attr(755,root,root) %{_libdir}/%{pname}/VBoxAuth.so
881 %attr(755,root,root) %{_libdir}/%{pname}/VBoxAuthSimple.so
882 %attr(755,root,root) %{_libdir}/%{pname}/VBoxDD.so
883 %attr(755,root,root) %{_libdir}/%{pname}/VBoxDD2.so
884 %attr(755,root,root) %{_libdir}/%{pname}/VBoxDDU.so
885 %attr(755,root,root) %{_libdir}/%{pname}/VBoxDragAndDropSvc.so
886 %attr(755,root,root) %{_libdir}/%{pname}/VBoxGuestControlSvc.so
887 %attr(755,root,root) %{_libdir}/%{pname}/VBoxGuestPropSvc.so
888 %attr(755,root,root) %{_libdir}/%{pname}/VBoxHostChannel.so
889 %attr(755,root,root) %{_libdir}/%{pname}/VBoxKeyboard.so
890 %attr(755,root,root) %{_libdir}/%{pname}/VBoxOGLhostcrutil.so
891 %attr(755,root,root) %{_libdir}/%{pname}/VBoxOGLhosterrorspu.so
892 %attr(755,root,root) %{_libdir}/%{pname}/VBoxOGLrenderspu.so
893 %attr(755,root,root) %{_libdir}/%{pname}/VBoxPython*.so
894 %attr(755,root,root) %{_libdir}/%{pname}/VBoxREM.so
895 %attr(755,root,root) %{_libdir}/%{pname}/VBoxRT.so
896 %attr(755,root,root) %{_libdir}/%{pname}/VBoxSharedClipboard.so
897 %attr(755,root,root) %{_libdir}/%{pname}/VBoxSharedCrOpenGL.so
898 %attr(755,root,root) %{_libdir}/%{pname}/VBoxSharedFolders.so
899 %attr(755,root,root) %{_libdir}/%{pname}/VBoxVMM.so
900 %attr(755,root,root) %{_libdir}/%{pname}/VBoxXPCOM.so
901 %attr(755,root,root) %{_libdir}/%{pname}/VBoxXPCOMC.so
903 %attr(755,root,root) %{_libdir}/%{pname}/VBoxREM32.so
904 %attr(755,root,root) %{_libdir}/%{pname}/VBoxREM64.so
908 %attr(755,root,root) %{_libdir}/%{pname}/VBoxAutostart
909 %attr(755,root,root) %{_libdir}/%{pname}/VBoxBalloonCtrl
910 %attr(755,root,root) %{_libdir}/%{pname}/VBoxExtPackHelperApp
911 %attr(755,root,root) %{_libdir}/%{pname}/VBoxHeadless
912 %attr(755,root,root) %{_libdir}/%{pname}/VBoxManage
913 %attr(755,root,root) %{_libdir}/%{pname}/VBoxNetAdpCtl
914 %attr(755,root,root) %{_libdir}/%{pname}/VBoxNetDHCP
915 %attr(755,root,root) %{_libdir}/%{pname}/VBoxNetNAT
916 %attr(755,root,root) %{_libdir}/%{pname}/VBoxSDL
917 %attr(755,root,root) %{_libdir}/%{pname}/VBoxSVC
918 %attr(755,root,root) %{_libdir}/%{pname}/VBoxVMMPreload
919 %attr(755,root,root) %{_libdir}/%{pname}/VBoxVolInfo
920 %attr(755,root,root) %{_libdir}/%{pname}/VBoxXPCOMIPCD
921 %attr(755,root,root) %{_libdir}/%{pname}/iPxeBaseBin
923 %attr(755,root,root) %{_libdir}/%{pname}/VBoxManageHelp
925 %dir %{_libdir}/%{pname}/tools
926 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTGzip
927 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTLdrFlt
928 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTManifest
929 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTRm
930 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTShutdown
931 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTSignTool
932 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTTar
934 %dir %{_libdir}/%{pname}/ExtensionPacks
935 %{_libdir}/%{pname}/ExtensionPacks/VNC/ExtPack.xml
936 %dir %{_libdir}/%{pname}/ExtensionPacks/VNC
937 %dir %{_libdir}/%{pname}/ExtensionPacks/VNC/linux*
938 %attr(755,root,root) %{_libdir}/%{pname}/ExtensionPacks/VNC/linux*/VBoxVNC*.so
940 %{_libdir}/%{pname}/VBoxDD2GC.debug
941 %{_libdir}/%{pname}/VBoxDD2GC.gc
942 %{_libdir}/%{pname}/VBoxDD2R0.debug
943 %{_libdir}/%{pname}/VBoxDD2R0.r0
944 %{_libdir}/%{pname}/VBoxDDGC.debug
945 %{_libdir}/%{pname}/VBoxDDGC.gc
946 %{_libdir}/%{pname}/VBoxDDR0.debug
947 %{_libdir}/%{pname}/VBoxDDR0.r0
948 %{_libdir}/%{pname}/VBoxEFI32.fd
949 %{_libdir}/%{pname}/VBoxEFI64.fd
950 %{_libdir}/%{pname}/VMMGC.debug
951 %{_libdir}/%{pname}/VMMGC.gc
952 %{_libdir}/%{pname}/VMMR0.debug
953 %{_libdir}/%{pname}/VMMR0.r0
955 %dir %{_libdir}/%{pname}/components
956 %{_libdir}/%{pname}/components/VBoxXPCOMBase.xpt
957 %{_libdir}/%{pname}/components/VirtualBox_XPCOM.xpt
958 %attr(755,root,root) %{_libdir}/%{pname}/components/VBoxC.so
959 %attr(755,root,root) %{_libdir}/%{pname}/components/VBoxSVCM.so
960 %attr(755,root,root) %{_libdir}/%{pname}/components/VBoxXPCOMIPCC.so
962 %dir %{_datadir}/%{pname}
963 %attr(755,root,root) %{_datadir}/%{pname}/VBoxSysInfo.sh
965 %config(noreplace) %verify(not md5 mtime size) /etc/udev/rules.d/*.rules
966 %attr(755,root,root) /lib/udev/VBoxCreateUSBNode.sh
969 %defattr(644,root,root,755)
970 %attr(755,root,root) %{_bindir}/VirtualBox
971 %attr(755,root,root) %{_libdir}/%{pname}/VBoxDbg.so
972 %attr(755,root,root) %{_libdir}/%{pname}/VBoxTestOGL
973 %attr(755,root,root) %{_libdir}/%{pname}/VirtualBox
974 %dir %{_datadir}/%{pname}/nls
975 %lang(bg) %{_datadir}/%{pname}/nls/*_bg.qm
976 %lang(ca) %{_datadir}/%{pname}/nls/*_ca.qm
977 %lang(ca_VA) %{_datadir}/%{pname}/nls/*_ca_VA.qm
978 %lang(cs) %{_datadir}/%{pname}/nls/*_cs.qm
979 %lang(da) %{_datadir}/%{pname}/nls/*_da.qm
980 %lang(de) %{_datadir}/%{pname}/nls/*_de.qm
981 %lang(en) %{_datadir}/%{pname}/nls/*_en.qm
982 %lang(es) %{_datadir}/%{pname}/nls/*_es.qm
983 %lang(eu) %{_datadir}/%{pname}/nls/*_eu.qm
984 %lang(fi) %{_datadir}/%{pname}/nls/*_fa_IR.qm
985 %lang(fi) %{_datadir}/%{pname}/nls/*_fi.qm
986 %lang(fr) %{_datadir}/%{pname}/nls/*_fr.qm
987 %lang(gl_ES) %{_datadir}/%{pname}/nls/*_gl_ES.qm
988 %lang(hu) %{_datadir}/%{pname}/nls/*_hu.qm
989 %lang(id) %{_datadir}/%{pname}/nls/*_id.qm
990 %lang(it) %{_datadir}/%{pname}/nls/*_it.qm
991 %lang(ja) %{_datadir}/%{pname}/nls/*_ja.qm
992 %lang(km_KH) %{_datadir}/%{pname}/nls/*_km_KH.qm
993 %lang(ko) %{_datadir}/%{pname}/nls/*_ko.qm
994 %lang(lt) %{_datadir}/%{pname}/nls/*_lt.qm
995 %lang(nl) %{_datadir}/%{pname}/nls/*_nl.qm
996 %lang(pl) %{_datadir}/%{pname}/nls/*_pl.qm
997 %lang(pt) %{_datadir}/%{pname}/nls/*_pt.qm
998 %lang(pt_BR) %{_datadir}/%{pname}/nls/*_pt_BR.qm
999 %lang(ro) %{_datadir}/%{pname}/nls/*_ro.qm
1000 %lang(ru) %{_datadir}/%{pname}/nls/*_ru.qm
1001 %lang(sk) %{_datadir}/%{pname}/nls/*_sk.qm
1002 %lang(sr) %{_datadir}/%{pname}/nls/*_sr.qm
1003 %lang(sv) %{_datadir}/%{pname}/nls/*_sv.qm
1004 %lang(tr) %{_datadir}/%{pname}/nls/*_tr.qm
1005 %lang(uk) %{_datadir}/%{pname}/nls/*_uk.qm
1006 %lang(zh_CN) %{_datadir}/%{pname}/nls/*_zh_CN.qm
1007 %lang(zh_TW) %{_datadir}/%{pname}/nls/*_zh_TW.qm
1008 %{_desktopdir}/virtualbox.desktop
1009 %{_pixmapsdir}/virtualbox.png
1010 %{_iconsdir}/hicolor/*/apps/virtualbox.png
1011 %{_iconsdir}/hicolor/*/apps/virtualbox.svg
1012 %{_iconsdir}/hicolor/*/mimetypes/virtualbox-*.png
1013 %{_datadir}/mime/packages/virtualbox.xml
1016 %defattr(644,root,root,755)
1017 %{_datadir}/%{pname}/VBoxGuestAdditions.iso
1020 %defattr(644,root,root,755)
1021 %attr(755,root,root) /sbin/mount.vboxsf
1022 %attr(754,root,root) /etc/rc.d/init.d/vboxservice
1023 %{systemdunitdir}/vboxservice.service
1024 %attr(755,root,root) %{_bindir}/VBoxControl
1025 %attr(755,root,root) %{_bindir}/VBoxService
1028 %defattr(644,root,root,755)
1029 /etc/xdg/autostart/vboxclient.desktop
1030 %attr(755,root,root) %{_bindir}/VBoxClient
1031 %attr(755,root,root) %{_bindir}/VBoxClient-all
1033 %if %{with webservice}
1035 %defattr(644,root,root,755)
1036 %attr(755,root,root) %{_bindir}/vboxwebsrv
1037 %attr(755,root,root) %{_libdir}/%{pname}/vboxwebsrv
1038 %attr(755,root,root) %{_libdir}/%{pname}/webtest
1042 %files -n lightdm-greeter-vbox
1043 %defattr(644,root,root,755)
1044 %attr(755,root,root) %{_sbindir}/vbox-greeter
1045 %{_datadir}/xgreeters/vbox-greeter.desktop
1048 %files -n pam-pam_vbox
1049 %defattr(644,root,root,755)
1050 %attr(755,root,root) /%{_lib}/security/pam_vbox.so
1054 %defattr(644,root,root,755)
1055 # this is a symlink...
1056 %doc %{_libdir}/%{pname}/UserManual.pdf
1057 %lang(fr) %doc %{_libdir}/%{pname}/UserManual_fr_FR.pdf
1059 %doc %{outdir}/UserManual.pdf
1060 %lang(fr) %doc %{outdir}/UserManual_fr_FR.pdf
1063 %files -n xorg-driver-video-vboxvideo
1064 %defattr(644,root,root,755)
1065 %attr(755,root,root) %{_libdir}/xorg/modules/drivers/vboxvideo_drv.so
1066 %attr(755,root,root) %{_libdir}/xorg/modules/dri/vboxvideo_dri.so
1067 # vboxvideo_dri.so deps
1068 %attr(755,root,root) %{_libdir}/VBoxOGLarrayspu.so
1069 %attr(755,root,root) %{_libdir}/VBoxOGLcrutil.so
1070 %attr(755,root,root) %{_libdir}/VBoxOGLerrorspu.so
1071 %attr(755,root,root) %{_libdir}/VBoxOGLfeedbackspu.so
1072 %attr(755,root,root) %{_libdir}/VBoxOGLpackspu.so
1073 %attr(755,root,root) %{_libdir}/VBoxOGLpassthroughspu.so
1076 %files -n dkms-vboxguest
1077 %defattr(644,root,root,755)
1078 %{_usrsrc}/vboxguest-%{version}-%{rel}
1080 %files -n dkms-vboxhost
1081 %defattr(644,root,root,755)
1082 %{_usrsrc}/vboxhost-%{version}-%{rel}