4 # - Find how to compile with PLD CFLAGS/CXXFLAGS/LDFLAGS.
6 # - Package utils (and write initscripts ?) for Guest OS.
7 # - Check License of VBoxGuestAdditions_*.iso, it's probably not GPL v2.
8 # If so check if it is distributable.
9 # - resolve mess with subpackages?
10 # - addtions: iso (containing additions/*.iso)
11 # - guest: to be installed to guests (deps on x11 drivers)
14 %bcond_without doc # don't build the documentation
15 %bcond_without dist_kernel # without distribution kernel
16 %bcond_without kernel # don't build kernel module
17 %bcond_without userspace # don't build userspace package
18 %bcond_with force_userspace # force userspace build (useful if alt_kernel is set)
22 %undefine with_dist_kernel
24 %if "%{_alt_kernel}" != "%{nil}"
25 %undefine with_userspace
27 %if %{with force_userspace}
28 %define with_userspace 1
30 %if %{without userspace}
31 # nothing to be placed to debuginfo package
32 %define _enable_debug_packages 0
36 %define pname VirtualBox
37 Summary: VirtualBox - x86 hardware virtualizer
38 Summary(pl.UTF-8): VirtualBox - wirtualizator sprzętu x86
39 Name: %{pname}%{_alt_kernel}
43 Group: Applications/Emulators
44 Source0: http://download.virtualbox.org/virtualbox/%{version}/%{pname}-%{version}.tar.bz2
45 # Source0-md5: 2092bba46baa62fab5520d67dee2ece8
46 Source1: http://download.virtualbox.org/virtualbox/%{version}/VBoxGuestAdditions_%{version}.iso
47 # Source1-md5: 2eb3daf08b717c76ecf1aa56b82eab03
48 Source3: %{pname}-vboxdrv.init
49 Source4: %{pname}-vboxguest.init
50 Source5: %{pname}-vboxnetflt.init
51 Source6: %{pname}-vboxsf.init
52 Source7: %{pname}-vboxnetadp.init
53 Source8: %{pname}-vboxpci.init
57 Source12: %{pname}-vboxdrv-modules-load.conf
58 Source13: %{pname}-vboxguest-modules-load.conf
59 Source14: %{pname}-vboxnetflt-modules-load.conf
60 Source15: %{pname}-vboxsf-modules-load.conf
61 Source16: %{pname}-vboxnetadp-modules-load.conf
62 Source17: %{pname}-vboxpci-modules-load.conf
63 Patch0: %{pname}-configure-spaces.patch
64 Patch1: %{pname}-export_modules.patch
65 Patch2: %{pname}-VBoxSysInfo.patch
66 Patch3: %{pname}-warning_workaround.patch
67 Patch4: %{pname}-vnc.patch
68 Patch5: %{pname}-dri.patch
69 Patch6: %{pname}-disable_build_NetBiosBin.patch
71 Patch10: 16-no-update.patch
72 Patch11: 18-system-xorg.patch
74 URL: http://www.virtualbox.org/
75 BuildRequires: rpmbuild(macros) >= 1.535
78 BuildRequires: gcc-multilib
79 BuildRequires: glibc-devel(i686)
80 BuildRequires: libstdc++-multilib-devel
81 BuildRequires: libstdc++-multilib-static
83 %if "%{pld_release}" == "ac"
84 BuildRequires: XFree86-devel
86 BuildRequires: xorg-lib-libXcomposite-devel
87 BuildRequires: xorg-lib-libXcursor-devel
88 BuildRequires: xorg-lib-libXmu-devel
89 BuildRequires: xorg-proto-glproto-devel
90 BuildRequires: xorg-xserver-server-devel
92 BuildRequires: OpenGL-GLU-devel
93 BuildRequires: OpenGL-devel
94 BuildRequires: QtGui-devel
95 BuildRequires: QtNetwork-devel
96 BuildRequires: QtOpenGL-devel
97 BuildRequires: SDL-devel >= 1.2.7
99 BuildRequires: alsa-lib-devel >= 1.0.6
103 BuildRequires: curl-devel
104 %{?with_doc:BuildRequires: docbook-dtd44-xml}
105 BuildRequires: gcc >= 5:3.2.3
106 BuildRequires: libIDL-devel
107 BuildRequires: libcap-static
108 BuildRequires: libdrm-devel
109 BuildRequires: libpng-devel >= 1.2.5
110 BuildRequires: libstdc++-devel >= 5:3.2.3
111 BuildRequires: libstdc++-static >= 5:3.2.3
112 BuildRequires: libuuid-devel
113 BuildRequires: libvncserver-devel >= 0.9.7
114 BuildRequires: libxml2-devel >= 2.6.26
115 BuildRequires: libxslt-devel >= 1.1.17
116 BuildRequires: libxslt-progs >= 1.1.17
117 BuildRequires: makeself
118 BuildRequires: mkisofs
119 BuildRequires: pam-devel
120 BuildRequires: pixman-devel
121 BuildRequires: pkgconfig
122 BuildRequires: pulseaudio-devel >= 0.9.0
123 BuildRequires: python-devel
124 BuildRequires: python-modules
125 BuildRequires: qt4-build >= 4.2.0
126 BuildRequires: qt4-linguist
127 BuildRequires: sed >= 4.0
129 BuildRequires: texlive-fonts-bitstream
130 BuildRequires: texlive-fonts-other
131 BuildRequires: texlive-fonts-type1-bitstream
132 BuildRequires: texlive-format-pdflatex
133 BuildRequires: texlive-latex-ucs
134 BuildRequires: texlive-xetex
137 BuildRequires: xalan-c-devel >= 1.10.0
138 BuildRequires: xerces-c-devel >= 2.6.0
139 BuildRequires: zlib-devel >= 1.2.1
141 %if %{with dist_kernel}
142 BuildRequires: kernel%{_alt_kernel}-module-build >= 3:2.6.20
144 Requires(post,preun): /sbin/chkconfig
145 Requires(postun): /usr/sbin/groupdel
146 Requires(pre): /usr/bin/getgid
147 Requires(pre): /usr/sbin/groupadd
148 Requires: QtCore >= 4.7.0
150 Provides: group(vbox)
151 ExclusiveArch: %{ix86} %{x8664}
152 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
155 %define vbox_platform linux.amd64
157 %define vbox_platform linux.x86
159 %define outdir out/%{vbox_platform}/release/bin
160 %define _sbindir /sbin
162 # workaround buggy 'file' results:
165 # qt_ro.qm: \0 "<\270d\030\312\357\234\225\315!\034\277`\241\275\335B"
169 # which lead to 'Stripping ... ELF shared libraries... (...)/nls/qt_ro.qm: File format not recognized'
170 %define _noautostrip .*%{_libdir}/%{name}/.*
173 Oracle VirtualBox is a general-purpose full virtualizer for x86
174 hardware. Targeted at server, desktop and embedded use, it is now the
175 only professional-quality virtualization solution that is also Open
178 Some of the features of VirtualBox are:
180 Modularity: VirtualBox has an extremely modular design with
181 well-defined internal programming interfaces and a client/server
182 design. This makes it easy to control it from several interfaces at
183 once: for example, you can start a virtual machine in a typical
184 virtual machine GUI and then control that machine from the command
185 line. VirtualBox also comes with a full Software Development Kit: even
186 though it is Open Source Software, you don't have to hack the source
187 to write a new interface for VirtualBox.
189 Virtual machine descriptions in XML: the configuration settings of
190 virtual machines are stored entirely in XML and are independent of the
191 local machines. Virtual machine definitions can therefore easily be
192 ported to other computers.
194 You should install this package in your Host OS.
196 %description -l pl.UTF-8
197 Oracle VirtualBox jest emulatorem sprzętu x86. Kierowany do zastosowań
198 serwerowych, desktopowych oraz wbudowanych jest obecnie jedynym
199 wysokiej jakości rozwiązaniem wirtualizacyjnym dostępnym również jako
200 Otwarte Oprogramowanie.
202 Przykładowe cechy VirtualBoksa:
204 Modularność: VirtualBox jest wysoce zmodularyzowanym produktem z
205 dobrze zaprojektowanym wewnętrznym interfejsem programowym typu
206 klient/serwer. Dzięki temu można łatwo kontrolować go za pomocą
207 różnych interfejsów. Można na przykład uruchomić maszynę wirtualną z
208 poziomu interfejsu graficznego, a później kontrolować ją z linii
209 poleceń. VirtualBox dostarcza również pełny pakiet deweloperski, co
210 pozwala stworzyć dowolny inny interfejs zarządzania maszyną wirtualną.
212 Opisy maszyn wirtualnych w XML-u: konfiguracje poszczególnych maszyn
213 wirtualnych są w całości przechowywane w XML-u i są niezależne od
214 lokalnej maszyny. Dzięki temu można szybko i łatwo przenieść
215 konfigurację maszyny wirtualnej na inny komputer.
218 Summary: VirtualBox documentation
222 This package contains VirtualBox User Manual.
225 Summary: udev rules for VirtualBox kernel modules
226 Summary(pl.UTF-8): Reguły udev dla modułów jądra Linuksa dla VirtualBoksa
231 udev rules for VirtualBox kernel modules.
233 You should install this package in your Host OS and in Guest OS.
235 %description udev -l pl.UTF-8
236 Reguły udev dla modułów jądra Linuksa dla VirtualBoksa.
239 Summary: VirtualBox Guest Additions
241 Requires: %{name} = %{version}-%{release}
243 %description additions
244 VirtualBox Guest Additions.
246 This package contains ISO9660 image with drivers for Guest OS.
248 You should install this package in your Host OS.
251 Summary: VirtualBox Guest Additions
253 Requires: xorg-driver-input-vboxmouse = %{version}-%{release}
254 Requires: xorg-driver-video-vboxvideo = %{version}-%{release}
255 Suggests: kernel%{_alt_kernel}-misc-vboxsf = %{version}-%{rel}@%{_kernel_ver_str}
256 Suggests: kernel%{_alt_kernel}-misc-vboxvideo = %{version}-%{rel}@%{_kernel_ver_str}
259 Tools that utilize kernel modules for supporting integration with the
260 Host, including file sharing and tracking of mouse pointer movement
261 and X.org X11 video and mouse driver.
263 You should install this package in your Guest OS.
265 %package -n pam-pam_vbox
266 Summary: PAM module to perform automated guest logons
269 %description -n pam-pam_vbox
270 PAM module (Pluggable Authentication Module) which can be used to
271 perform automated guest logons.
273 %package -n xorg-driver-input-vboxmouse
274 Summary: X.org mouse driver for VirtualBox guest OS
275 Summary(pl.UTF-8): Sterownik myszy dla systemu gościa w VirtualBoksie
276 Group: X11/Applications
277 Requires: xorg-xserver-server >= 1.0.99.901
278 Requires: xorg-xserver-server(xinput-abi) <= 13.0
279 Requires: xorg-xserver-server(xinput-abi) >= 4.0
281 %description -n xorg-driver-input-vboxmouse
282 X.org mouse driver for VirtualBox guest OS.
284 %description -n xorg-driver-input-vboxmouse -l pl.UTF-8
285 Sterownik myszy dla systemu gościa w VirtualBoksie.
287 %package -n xorg-driver-video-vboxvideo
288 Summary: X.org video driver for VirtualBox guest OS
289 Summary(pl.UTF-8): Sterownik grafiki dla systemu gościa w VirtualBoksie
290 Group: X11/Applications
291 Requires: Mesa-dri-driver-swrast
292 Requires: xorg-xserver-libdri >= 1.7.4
293 Requires: xorg-xserver-server >= 1.0.99.901
294 Requires: xorg-xserver-server(videodrv-abi) <= 11.0
295 Requires: xorg-xserver-server(videodrv-abi) >= 2.0
297 %description -n xorg-driver-video-vboxvideo
298 X.org video driver for VirtualBox guest OS.
300 %description -n xorg-driver-video-vboxvideo -l pl.UTF-8
301 Sterownik grafiki dla systemu gościa w VirtualBoksie.
304 # KEEP ALL REGULAR SUBPACKAGES BEFORE KERNEL PACKAGES.
305 %package -n kernel%{_alt_kernel}-misc-vboxguest
306 Summary: VirtualBox Guest Additions for Linux Module
307 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa
308 Release: %{rel}@%{_kernel_ver_str}
310 Requires(post,postun): /sbin/depmod
311 Requires: dev >= 2.9.0-7
312 %if %{with dist_kernel}
313 %requires_releq_kernel
314 Requires(postun): %releq_kernel
316 Provides: kernel(vboxguest) = %{version}-%{rel}
317 Obsoletes: kernel%{_alt_kernel}-misc-vboxadd
318 Conflicts: kernel%{_alt_kernel}-misc-vboxdrv
320 %description -n kernel%{_alt_kernel}-misc-vboxguest
321 VirtualBox Guest Additions for Linux Module.
323 You should install this package in your Guest OS.
325 %description -n kernel%{_alt_kernel}-misc-vboxguest -l pl.UTF-8
326 Moduł jądra Linuksa vboxguest dla VirtualBoksa - dodatki dla systemu
329 %package -n kernel%{_alt_kernel}-misc-vboxdrv
330 Summary: VirtualBox Support Driver
331 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa
332 Release: %{rel}@%{_kernel_ver_str}
334 Requires(post,postun): /sbin/depmod
335 Requires: dev >= 2.9.0-7
336 %if %{with dist_kernel}
337 %requires_releq_kernel
338 Requires(postun): %releq_kernel
340 Provides: kernel(vboxdrv) = %{version}-%{rel}
342 %description -n kernel%{_alt_kernel}-misc-vboxdrv
343 VirtualBox Support Driver.
345 You should install this package in your Host OS.
347 %description -n kernel%{_alt_kernel}-misc-vboxdrv -l pl.UTF-8
348 Moduł jądra Linuksa dla VirtualBoksa - sterownik wsparcia dla systemu
351 %package -n kernel%{_alt_kernel}-misc-vboxnetadp
352 Summary: VirtualBox Network Adapter Driver
353 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa
354 Release: %{rel}@%{_kernel_ver_str}
356 Requires(post,postun): /sbin/depmod
357 Requires: dev >= 2.9.0-7
358 Requires: kernel%{_alt_kernel}-misc-vboxdrv
359 %if %{with dist_kernel}
360 %requires_releq_kernel
361 Requires(postun): %releq_kernel
363 Provides: kernel(vboxnetflt) = %{version}-%{rel}
365 %description -n kernel%{_alt_kernel}-misc-vboxnetadp
366 VirtualBox Network Adapter Driver.
368 You should install this package in your Host OS.
370 %description -n kernel%{_alt_kernel}-misc-vboxnetadp -l pl.UTF-8
371 Moduł jądra Linuksa dla VirtualBoksa - sterownik witrualnej karty
374 %package -n kernel%{_alt_kernel}-misc-vboxnetflt
375 Summary: VirtualBox Network Filter Driver
376 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa
377 Release: %{rel}@%{_kernel_ver_str}
379 Requires(post,postun): /sbin/depmod
380 Requires: dev >= 2.9.0-7
381 Requires: kernel%{_alt_kernel}-misc-vboxdrv
382 %if %{with dist_kernel}
383 %requires_releq_kernel
384 Requires(postun): %releq_kernel
386 Provides: kernel(vboxnetflt) = %{version}-%{rel}
388 %description -n kernel%{_alt_kernel}-misc-vboxnetflt
389 VirtualBox Network Filter Driver.
391 You should install this package in your Host OS.
393 %description -n kernel%{_alt_kernel}-misc-vboxnetflt -l pl.UTF-8
394 Moduł jądra Linuksa dla VirtualBoksa - sterownik filtrowania sieci dla
397 %package -n kernel%{_alt_kernel}-misc-vboxpci
398 Summary: VirtualBox PCI card passthrough Driver
399 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa
400 Release: %{rel}@%{_kernel_ver_str}
402 Requires(post,postun): /sbin/depmod
403 Requires: dev >= 2.9.0-7
404 Requires: kernel%{_alt_kernel}-misc-vboxdrv
405 %if %{with dist_kernel}
406 %requires_releq_kernel
407 Requires(postun): %releq_kernel
409 Provides: kernel(vboxpci) = %{version}-%{rel}
411 %description -n kernel%{_alt_kernel}-misc-vboxpci
412 VirtualBox PCI card passthrough driver that works as host proxy
413 between guest and PCI hardware.
415 You should install this package in your Host OS.
417 %description -n kernel%{_alt_kernel}-misc-vboxnetflt -l pl.UTF-8
418 Moduł jądra Linuksa dla VirtualBoksa - sterownik, ktory działa jako
419 proxy między gościem i gospodarzem sprzętu PCI.
421 %package -n kernel%{_alt_kernel}-misc-vboxsf
422 Summary: Host file system access (Shared Folders) for VirtualBox
423 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa
424 Release: %{rel}@%{_kernel_ver_str}
426 Requires(post,postun): /sbin/depmod
427 Requires: dev >= 2.9.0-7
428 Requires: kernel%{_alt_kernel}-misc-vboxguest
429 %if %{with dist_kernel}
430 %requires_releq_kernel
431 Requires(postun): %releq_kernel
433 Provides: kernel(vboxsf) = %{version}-%{rel}
434 Obsoletes: kernel%{_alt_kernel}-misc-vboxvfs
436 %description -n kernel%{_alt_kernel}-misc-vboxsf
437 Host file system access (Shared Folders) for VirtualBox.
439 You should install this package in your Guest OS.
441 %description -n kernel%{_alt_kernel}-misc-vboxsf -l pl.UTF-8
442 Moduł jądra Linuksa dla VirtualBoksa - dostęp do plików systemu
443 głównego z poziomu systemu gościa.
445 %package -n kernel%{_alt_kernel}-misc-vboxvideo
446 Summary: DRM support for VirtualBox
447 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa
448 Release: %{rel}@%{_kernel_ver_str}
450 Requires(post,postun): /sbin/depmod
451 Requires: dev >= 2.9.0-7
452 %if %{with dist_kernel}
453 %requires_releq_kernel
454 %if "%{rpm_build_macros}" >= "1.531"
455 %requires_releq_kernel -n drm
457 Requires(postun): %releq_kernel
459 Provides: kernel(vboxvideo) = %{version}-%{rel}
461 %description -n kernel%{_alt_kernel}-misc-vboxvideo
462 DRM support for VirtualBox.
464 You should install this package in your Guest OS.
466 %description -n kernel%{_alt_kernel}-misc-vboxvideo -l pl.UTF-8
467 Moduł jądra Linuksa dla VirtualBoksa - sterownik obsługi DRM.
470 %setup -q -n %{pname}-%{version}_OSE
479 %{__sed} -i -e 's,@VBOX_DOC_PATH@,%{_docdir}/%{name}-%{version},' \
480 -e 's/Categories=.*/Categories=Utility;Emulator;/' src/VBox/Installer/common/virtualbox.desktop.in
482 sed 's#@LIBDIR@#%{_libdir}#' < %{SOURCE9} > VirtualBox-wrapper.sh
484 install -d PLD-MODULE-BUILD/{GuestDrivers,HostDrivers}
486 ../src/VBox/Additions/linux/export_modules guest-modules.tar.gz
487 tar -zxf guest-modules.tar.gz -C GuestDrivers
489 ../src/VBox/HostDrivers/linux/export_modules host-modules.tar.gz --without-hardening
490 tar -zxf host-modules.tar.gz -C HostDrivers
497 %if %{with userspace}
498 echo "VBOX_WITH_TESTCASES := " > LocalConfig.kmk
500 --with-gcc="%{__cc}" \
501 --with-g++="%{__cxx}" \
502 %{!?with_doc:--disable-docs} \
504 --disable-hardening \
508 XSERVER_VERSION=$(rpm -q --queryformat '%{VERSION}\n' xorg-xserver-server-devel | awk -F. ' { print $1 $2 } ' 2> /dev/null || echo ERROR)
511 %{?with_verbose:KBUILD_VERBOSE=3} \
513 VBOX_VERSION_STRING='$(VBOX_VERSION_MAJOR).$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD)'_PLD \
514 XSERVER_VERSION="$XSERVER_VERSION"
518 cd PLD-MODULE-BUILD/HostDrivers
519 %build_kernel_modules -m vboxdrv -C vboxdrv
520 %build_kernel_modules -m vboxnetadp -C vboxnetadp
521 %build_kernel_modules -m vboxnetflt -C vboxnetflt
522 %build_kernel_modules -m vboxpci -C vboxpci
525 %build_kernel_modules -m vboxguest -C vboxguest
526 cp -a vboxguest/Module.symvers vboxsf
527 %build_kernel_modules -m vboxsf -C vboxsf -c
528 %build_kernel_modules -m vboxvideo -C vboxvideo_drm
530 %{__cc} %{rpmcflags} %{rpmldflags} -Wall -Werror src/VBox/Additions/linux/sharedfolders/{mount.vboxsf.c,vbsfmount.c} -o mount.vboxsf
534 rm -rf $RPM_BUILD_ROOT
536 %if %{with userspace}
537 install -d $RPM_BUILD_ROOT{%{_bindir},%{_sbindir},%{_libdir}/%{pname}/ExtensionPacks} \
538 $RPM_BUILD_ROOT{%{_pixmapsdir},%{_desktopdir}} \
539 $RPM_BUILD_ROOT%{_libdir}/xorg/modules/{drivers,dri,input}
541 # test if we can hardlink -- %{_builddir} and $RPM_BUILD_ROOT on same partition
542 if cp -al VBox.png $RPM_BUILD_ROOT/Vbox.png 2>/dev/null; then
544 rm -f $RPM_BUILD_ROOT/VBox.png
547 cp -a$l %{outdir}/* $RPM_BUILD_ROOT%{_libdir}/%{pname}
549 cp -a %{SOURCE1} $RPM_BUILD_ROOT%{_libdir}/VirtualBox/additions/VBoxGuestAdditions.iso
550 install -p %{SOURCE10} $RPM_BUILD_ROOT%{_sbindir}/mount.vdi
551 install -p VirtualBox-wrapper.sh $RPM_BUILD_ROOT%{_libdir}/%{pname}
552 for f in {VBox{BFE,Headless,Manage,SDL,SVC,Tunctl,XPCOMIPCD},VirtualBox}; do
553 ln -s %{_libdir}/%{pname}/VirtualBox-wrapper.sh $RPM_BUILD_ROOT%{_bindir}/$f
556 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/VBox.png,%{_pixmapsdir}/virtualbox.png}
557 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname},%{_desktopdir}}/virtualbox.desktop
559 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/vboxmouse_drv.so,%{_libdir}/xorg/modules/input/vboxmouse_drv.so}
560 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/vboxvideo_drv.so,%{_libdir}/xorg/modules/drivers/vboxvideo_drv.so}
561 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/VBoxOGL.so,%{_libdir}/xorg/modules/dri/vboxvideo_dri.so}
562 # xorg other driver versions
563 rm -vf $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxmouse_drv*.{o,so}
564 rm -vf $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxvideo_drv*.{o,so}
566 # XXX: where else to install them that vboxvideo_dri.so finds them? patch with rpath?
567 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLarrayspu.so
568 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLcrutil.so
569 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLerrorspu.so
570 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLfeedbackspu.so
571 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLpackspu.so
572 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLpassthroughspu.so
574 install -d $RPM_BUILD_ROOT/etc/udev/rules.d
575 cp -a %{SOURCE11} $RPM_BUILD_ROOT/etc/udev/rules.d/virtualbox.rules
577 install -d $RPM_BUILD_ROOT/%{_lib}/security
578 mv $RPM_BUILD_ROOT{%{_libdir}/VirtualBox/additions,/%{_lib}/security}/pam_vbox.so
581 rm -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/{src,sdk,testcase}
582 rm -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/src
583 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxkeyboard.tar.bz2
584 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/tst*
586 # IPRT Testcase / Tool - Source Code Massager.
587 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/scm
590 install -d $RPM_BUILD_ROOT/etc/{X11/xinit/xinitrc.d,xdg/autostart}
591 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxService
592 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxClient
593 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxControl
594 install -p -D src/VBox/Additions/x11/Installer/98vboxadd-xclient \
595 $RPM_BUILD_ROOT/etc/X11/xinit/xinitrc.d/98vboxadd-xclient.sh
596 cp -p src/VBox/Additions/x11/Installer/vboxclient.desktop \
597 $RPM_BUILD_ROOT/etc/xdg/autostart/vboxclient.desktop
601 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPInstall
602 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPLoggerCtl
603 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPUninstall
604 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/VBox.sh
605 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxshell.py
606 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/xpidl
609 # packaged by kernel part
610 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/mount.vboxsf
614 install -d $RPM_BUILD_ROOT{/etc/{rc.d/init.d,modprobe.d},%{_sbindir}}
615 install -p %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxdrv
616 install -p %{SOURCE4} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxguest
617 install -p %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxnetflt
618 install -p %{SOURCE6} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxsf
619 install -p %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxnetadp
620 install -p %{SOURCE8} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxpci
621 %install_kernel_modules -m PLD-MODULE-BUILD/HostDrivers/vboxdrv/vboxdrv -d misc
622 %install_kernel_modules -m PLD-MODULE-BUILD/HostDrivers/vboxnetadp/vboxnetadp -d misc
623 %install_kernel_modules -m PLD-MODULE-BUILD/HostDrivers/vboxnetflt/vboxnetflt -d misc
624 %install_kernel_modules -m PLD-MODULE-BUILD/HostDrivers/vboxpci/vboxpci -d misc
625 %install_kernel_modules -m PLD-MODULE-BUILD/GuestDrivers/vboxguest/vboxguest -d misc
626 %install_kernel_modules -m PLD-MODULE-BUILD/GuestDrivers/vboxsf/vboxsf -d misc
627 %install_kernel_modules -m PLD-MODULE-BUILD/GuestDrivers/vboxvideo_drm/vboxvideo -d misc
629 install -p mount.vboxsf $RPM_BUILD_ROOT%{_sbindir}/mount.vboxsf
631 # Tell systemd to load modules
632 install -p %{SOURCE12} $RPM_BUILD_ROOT/etc/modules-load.d/vboxdrv.conf
633 install -p %{SOURCE13} $RPM_BUILD_ROOT/etc/modules-load.d/vboxguest.conf
634 install -p %{SOURCE14} $RPM_BUILD_ROOT/etc/modules-load.d/vboxnetflt.conf
635 install -p %{SOURCE15} $RPM_BUILD_ROOT/etc/modules-load.d/vboxsf.conf
636 install -p %{SOURCE16} $RPM_BUILD_ROOT/etc/modules-load.d/vboxnetadp.conf
637 install -p %{SOURCE17} $RPM_BUILD_ROOT/etc/modules-load.d/vboxpci.conf
639 # And mask module-loading services
640 ln -sf /dev/null $RPM_BUILD_ROOT%{systemdunitdir}/vboxdrv.service
641 ln -sf /dev/null $RPM_BUILD_ROOT%{systemdunitdir}/vboxguest.service
642 ln -sf /dev/null $RPM_BUILD_ROOT%{systemdunitdir}/vboxnetflt.service
643 ln -sf /dev/null $RPM_BUILD_ROOT%{systemdunitdir}/vboxsf.service
644 ln -sf /dev/null $RPM_BUILD_ROOT%{systemdunitdir}/vboxnetadp.service
645 ln -sf /dev/null $RPM_BUILD_ROOT%{systemdunitdir}/vboxpci.service
649 rm -rf $RPM_BUILD_ROOT
652 %groupadd -g 221 -r -f vbox
655 %update_desktop_database
658 You must install vboxdrv kernel module for this software to work:
659 kernel-misc-vboxdrv-%{version}-%{rel}@%{_kernel_ver_str}
661 Additionally you might want to install:
662 kernel-misc-vboxnetadp-%{version}-%{rel}@%{_kernel_ver_str}
663 kernel-misc-vboxnetflt-%{version}-%{rel}@%{_kernel_ver_str}
664 kernel-misc-vboxpci-%{version}-%{rel}@%{_kernel_ver_str}
666 On Guest Linux system you might want to install:
667 kernel-misc-vboxguest-%{version}-%{rel}@%{_kernel_ver_str}
668 kernel-misc-vboxsf-%{version}-%{rel}@%{_kernel_ver_str}
669 kernel-misc-vboxvideo-%{version}-%{rel}@%{_kernel_ver_str}
674 if [ "$1" = "0" ]; then
678 %post -n kernel%{_alt_kernel}-misc-vboxguest
679 %depmod %{_kernel_ver}
680 /sbin/chkconfig --add vboxguest
681 %service vboxguest restart "VirtualBox Guest additions driver"
683 %postun -n kernel%{_alt_kernel}-misc-vboxguest
684 %depmod %{_kernel_ver}
686 %preun -n kernel%{_alt_kernel}-misc-vboxguest
687 if [ "$1" = "0" ]; then
688 %service vboxguest stop
689 /sbin/chkconfig --del vboxguest
692 %post -n kernel%{_alt_kernel}-misc-vboxdrv
693 %depmod %{_kernel_ver}
694 /sbin/chkconfig --add vboxdrv
695 %service vboxdrv restart "VirtualBox Support Driver"
697 %postun -n kernel%{_alt_kernel}-misc-vboxdrv
698 %depmod %{_kernel_ver}
700 %preun -n kernel%{_alt_kernel}-misc-vboxdrv
701 if [ "$1" = "0" ]; then
702 %service vboxdrv stop
703 /sbin/chkconfig --del vboxdrv
706 %post -n kernel%{_alt_kernel}-misc-vboxnetadp
707 %depmod %{_kernel_ver}
708 /sbin/chkconfig --add vboxnetadp
709 %service vboxnetadp restart "VirtualBox Network HostOnly driver"
711 %postun -n kernel%{_alt_kernel}-misc-vboxnetadp
712 %depmod %{_kernel_ver}
714 %preun -n kernel%{_alt_kernel}-misc-vboxnetadp
715 if [ "$1" = "0" ]; then
716 %service vboxnetadp stop
717 /sbin/chkconfig --del vboxnetadp
720 %post -n kernel%{_alt_kernel}-misc-vboxnetflt
721 %depmod %{_kernel_ver}
722 /sbin/chkconfig --add vboxnetflt
723 %service vboxnetflt restart "VirtualBox Network Filter driver"
725 %postun -n kernel%{_alt_kernel}-misc-vboxnetflt
726 %depmod %{_kernel_ver}
728 %preun -n kernel%{_alt_kernel}-misc-vboxnetflt
729 if [ "$1" = "0" ]; then
730 %service vboxnetflt stop
731 /sbin/chkconfig --del vboxnetflt
734 %post -n kernel%{_alt_kernel}-misc-vboxpci
735 %depmod %{_kernel_ver}
736 /sbin/chkconfig --add vboxpci
737 %service vboxnetflt restart "VirtualBox PCI passthrough driver"
739 %postun -n kernel%{_alt_kernel}-misc-vboxpci
740 %depmod %{_kernel_ver}
742 %preun -n kernel%{_alt_kernel}-misc-vboxpci
743 if [ "$1" = "0" ]; then
744 %service vboxpci stop
745 /sbin/chkconfig --del vboxpci
748 %post -n kernel%{_alt_kernel}-misc-vboxsf
749 %depmod %{_kernel_ver}
750 /sbin/chkconfig --add vboxsf
751 %service vboxsf restart "VirtualBox Host file system access (Shared Folders)"
753 %postun -n kernel%{_alt_kernel}-misc-vboxsf
754 %depmod %{_kernel_ver}
756 %preun -n kernel%{_alt_kernel}-misc-vboxsf
757 if [ "$1" = "0" ]; then
759 /sbin/chkconfig --del vboxsf
762 %post -n kernel%{_alt_kernel}-misc-vboxvideo
763 %depmod %{_kernel_ver}
765 %postun -n kernel%{_alt_kernel}-misc-vboxvideo
766 %depmod %{_kernel_ver}
768 %if %{with userspace}
770 %defattr(644,root,root,755)
771 %dir %{_libdir}/VirtualBox
772 %dir %{_libdir}/VirtualBox/ExtensionPacks
773 %dir %{_libdir}/VirtualBox/additions
774 %dir %{_libdir}/VirtualBox/components
775 %dir %{_libdir}/VirtualBox/nls
776 %attr(755,root,root) %{_bindir}/VBoxBFE
777 %attr(755,root,root) %{_bindir}/VBoxHeadless
778 %attr(755,root,root) %{_bindir}/VBoxManage
779 %attr(755,root,root) %{_bindir}/VBoxSDL
780 %attr(755,root,root) %{_bindir}/VBoxSVC
781 %attr(755,root,root) %{_bindir}/VBoxTunctl
782 %attr(755,root,root) %{_bindir}/VBoxXPCOMIPCD
783 %attr(755,root,root) %{_bindir}/VirtualBox
784 %attr(755,root,root) %{_sbindir}/mount.vdi
785 %attr(755,root,root) %{_libdir}/VirtualBox/DBGCPlugInDiggers.so
786 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxAuth.so
787 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxAuthSimple.so
788 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxBFE
789 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxBalloonCtrl
790 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxCreateUSBNode.sh
791 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxDbg.so
792 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxDD2.so
793 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxDD.so
794 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxDDU.so
795 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxExtPackHelperApp
796 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxGuestControlSvc.so
797 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxGuestPropSvc.so
798 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxHeadless
799 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxKeyboard.so
800 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxManage
801 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxNetAdpCtl
802 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxNetDHCP
803 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxOGLhostcrutil.so
804 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxOGLhosterrorspu.so
805 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxOGLrenderspu.so
806 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxPython*.so
807 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxREM.so
809 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxREM32.so
810 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxREM64.so
812 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxRT.so
813 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSDL
814 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSharedClipboard.so
815 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSharedCrOpenGL.so
816 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSharedFolders.so
817 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSVC
818 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSysInfo.sh
819 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxTestOGL
820 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxTunctl
821 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxVMM.so
822 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxXPCOMC.so
823 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxXPCOMIPCD
824 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxXPCOM.so
825 %attr(755,root,root) %{_libdir}/VirtualBox/VirtualBox
826 %attr(755,root,root) %{_libdir}/VirtualBox/VirtualBox-wrapper.sh
827 %{_libdir}/VirtualBox/VBoxDD2GC.gc
828 %{_libdir}/VirtualBox/VBoxDDGC.gc
829 %{_libdir}/VirtualBox/VMMGC.gc
830 %{_libdir}/VirtualBox/VBoxDD2R0.r0
831 %{_libdir}/VirtualBox/VBoxDDR0.r0
832 %{_libdir}/VirtualBox/VMMR0.r0
833 %{_libdir}/VirtualBox/EfiThunk
834 %{_libdir}/VirtualBox/VBoxEFI32.fd
835 %{_libdir}/VirtualBox/VBoxEFI64.fd
836 %{_libdir}/VirtualBox/components/VBoxXPCOMBase.xpt
837 %{_libdir}/VirtualBox/components/VirtualBox_XPCOM.xpt
838 %attr(755,root,root) %{_libdir}/VirtualBox/components/VBoxC.so
839 %attr(755,root,root) %{_libdir}/VirtualBox/components/VBoxSVCM.so
840 %attr(755,root,root) %{_libdir}/VirtualBox/components/VBoxXPCOMIPCC.so
841 %lang(ar) %{_libdir}/VirtualBox/nls/*_ar.qm
842 %lang(bg) %{_libdir}/VirtualBox/nls/*_bg.qm
843 %lang(ca) %{_libdir}/VirtualBox/nls/*_ca.qm
844 %lang(ca_VA) %{_libdir}/VirtualBox/nls/*_ca_VA.qm
845 %lang(cs) %{_libdir}/VirtualBox/nls/*_cs.qm
846 %lang(da) %{_libdir}/VirtualBox/nls/*_da.qm
847 %lang(de) %{_libdir}/VirtualBox/nls/*_de.qm
848 %lang(el) %{_libdir}/VirtualBox/nls/*_el.qm
849 %lang(en) %{_libdir}/VirtualBox/nls/*_en.qm
850 %lang(es) %{_libdir}/VirtualBox/nls/*_es.qm
851 %lang(eu) %{_libdir}/VirtualBox/nls/*_eu.qm
852 %lang(fi) %{_libdir}/VirtualBox/nls/*_fi.qm
853 %lang(fr) %{_libdir}/VirtualBox/nls/*_fr.qm
854 %lang(gl_ES) %{_libdir}/VirtualBox/nls/*_gl_ES.qm
855 %lang(hu) %{_libdir}/VirtualBox/nls/*_hu.qm
856 %lang(id) %{_libdir}/VirtualBox/nls/*_id.qm
857 %lang(it) %{_libdir}/VirtualBox/nls/*_it.qm
858 %lang(ja) %{_libdir}/VirtualBox/nls/*_ja.qm
859 %lang(km_KH) %{_libdir}/VirtualBox/nls/*_km_KH.qm
860 %lang(ko) %{_libdir}/VirtualBox/nls/*_ko.qm
861 %lang(lt) %{_libdir}/VirtualBox/nls/*_lt.qm
862 %lang(nl) %{_libdir}/VirtualBox/nls/*_nl.qm
863 %lang(pl) %{_libdir}/VirtualBox/nls/*_pl.qm
864 %lang(pt) %{_libdir}/VirtualBox/nls/*_pt.qm
865 %lang(pt_BR) %{_libdir}/VirtualBox/nls/*_pt_BR.qm
866 %lang(ro) %{_libdir}/VirtualBox/nls/*_ro.qm
867 %lang(ru) %{_libdir}/VirtualBox/nls/*_ru.qm
868 %lang(sk) %{_libdir}/VirtualBox/nls/*_sk.qm
869 %lang(sr) %{_libdir}/VirtualBox/nls/*_sr.qm
870 %lang(sv) %{_libdir}/VirtualBox/nls/*_sv.qm
871 %lang(tr) %{_libdir}/VirtualBox/nls/*_tr.qm
872 %lang(uk) %{_libdir}/VirtualBox/nls/*_uk.qm
873 %lang(zh_CN) %{_libdir}/VirtualBox/nls/*_zh_CN.qm
874 %lang(zh_TW) %{_libdir}/VirtualBox/nls/*_zh_TW.qm
875 %{_pixmapsdir}/virtualbox.png
876 %{_desktopdir}/*.desktop
877 %{_libdir}/VirtualBox/icons
878 %{_libdir}/VirtualBox/virtualbox.xml
881 %defattr(644,root,root,755)
882 %{_libdir}/VirtualBox/additions/VBoxGuestAdditions.iso
885 %defattr(644,root,root,755)
886 # NOTE: unfinished, should contain .desktop files for starting up mouse
887 # integration and other desktop services
888 # NOTE: the filelist is incomplete too
889 %attr(755,root,root) %{_bindir}/VBoxClient
890 %attr(755,root,root) %{_bindir}/VBoxControl
891 %attr(755,root,root) %{_bindir}/VBoxService
892 /etc/X11/xinit/xinitrc.d/98vboxadd-xclient.sh
893 /etc/xdg/autostart/vboxclient.desktop
895 %attr(755,root,root) %{_libdir}/VirtualBox/additions/autorun.sh
896 %attr(755,root,root) %{_libdir}/VirtualBox/additions/vboxadd
897 %attr(755,root,root) %{_libdir}/VirtualBox/additions/vboxadd-service
898 %attr(755,root,root) %{_libdir}/VirtualBox/additions/vboxadd-x11
900 %files -n pam-pam_vbox
901 %defattr(644,root,root,755)
902 %attr(755,root,root) /%{_lib}/security/pam_vbox.so
906 %defattr(644,root,root,755)
907 %doc %{outdir}/UserManual.pdf
911 %defattr(644,root,root,755)
912 %config(noreplace) %verify(not md5 mtime size) /etc/udev/rules.d/virtualbox.rules
914 %files -n xorg-driver-input-vboxmouse
915 %defattr(644,root,root,755)
916 %attr(755,root,root) %{_libdir}/xorg/modules/input/vboxmouse_drv.so
918 %files -n xorg-driver-video-vboxvideo
919 %defattr(644,root,root,755)
920 %attr(755,root,root) %{_libdir}/xorg/modules/drivers/vboxvideo_drv.so
921 %attr(755,root,root) %{_libdir}/xorg/modules/dri/vboxvideo_dri.so
922 # vboxvideo_dri.so deps
923 %attr(755,root,root) %{_libdir}/VBoxOGLarrayspu.so
924 %attr(755,root,root) %{_libdir}/VBoxOGLcrutil.so
925 %attr(755,root,root) %{_libdir}/VBoxOGLerrorspu.so
926 %attr(755,root,root) %{_libdir}/VBoxOGLfeedbackspu.so
927 %attr(755,root,root) %{_libdir}/VBoxOGLpackspu.so
928 %attr(755,root,root) %{_libdir}/VBoxOGLpassthroughspu.so
932 %files -n kernel%{_alt_kernel}-misc-vboxguest
933 %defattr(644,root,root,755)
934 %attr(754,root,root) /etc/rc.d/init.d/vboxguest
935 %config(noreplace) %verify(not md5 mtime size) /etc/modules-load.d/vboxguest.conf
936 %{systemdunitdir}/vboxguest.service
937 /lib/modules/%{_kernel_ver}/misc/vboxguest.ko*
939 %files -n kernel%{_alt_kernel}-misc-vboxdrv
940 %defattr(644,root,root,755)
941 %attr(754,root,root) /etc/rc.d/init.d/vboxdrv
942 %config(noreplace) %verify(not md5 mtime size) /etc/modules-load.d/vboxdrv.conf
943 %{systemdunitdir}/vboxdrv.service
944 /lib/modules/%{_kernel_ver}/misc/vboxdrv.ko*
946 %files -n kernel%{_alt_kernel}-misc-vboxnetadp
947 %defattr(644,root,root,755)
948 %attr(754,root,root) /etc/rc.d/init.d/vboxnetadp
949 %config(noreplace) %verify(not md5 mtime size) /etc/modules-load.d/vboxnetadp.conf
950 %{systemdunitdir}/vboxnetadp.service
951 /lib/modules/%{_kernel_ver}/misc/vboxnetadp.ko*
953 %files -n kernel%{_alt_kernel}-misc-vboxnetflt
954 %defattr(644,root,root,755)
955 %attr(754,root,root) /etc/rc.d/init.d/vboxnetflt
956 %config(noreplace) %verify(not md5 mtime size) /etc/modules-load.d/vboxnetflt.conf
957 %{systemdunitdir}/vboxnetflt.service
958 /lib/modules/%{_kernel_ver}/misc/vboxnetflt.ko*
960 %files -n kernel%{_alt_kernel}-misc-vboxpci
961 %defattr(644,root,root,755)
962 %attr(754,root,root) /etc/rc.d/init.d/vboxpci
963 %config(noreplace) %verify(not md5 mtime size) /etc/modules-load.d/vboxpci.conf
964 %{systemdunitdir}/vboxpci.service
965 /lib/modules/%{_kernel_ver}/misc/vboxpci.ko*
967 %files -n kernel%{_alt_kernel}-misc-vboxsf
968 %defattr(644,root,root,755)
969 %attr(754,root,root) /etc/rc.d/init.d/vboxsf
970 %config(noreplace) %verify(not md5 mtime size) /etc/modules-load.d/vboxsf.conf
971 %{systemdunitdir}/vboxsf.service
972 %attr(755,root,root) %{_sbindir}/mount.vboxsf
973 /lib/modules/%{_kernel_ver}/misc/vboxsf.ko*
975 %files -n kernel%{_alt_kernel}-misc-vboxvideo
976 %defattr(644,root,root,755)
977 /lib/modules/%{_kernel_ver}/misc/vboxvideo.ko*