3 # - Find how to compile with PLD CFLAGS/CXXFLAGS/LDFLAGS.
5 # - Package utils (and write initscripts ?) for Guest OS.
6 # - Check License of VBoxGuestAdditions_*.iso, it's probably not GPL v2.
7 # If so check if it is distributable.
10 %bcond_without dist_kernel # without distribution kernel
11 %bcond_without kernel # don't build kernel module
12 %bcond_without userspace # don't build userspace package
13 %bcond_with force_userspace # force userspace build (useful if alt_kernel is set)
17 %undefine with_dist_kernel
19 %if "%{_alt_kernel}" != "%{nil}"
20 %undefine with_userspace
22 %if %{with force_userspace}
23 %define with_userspace 1
25 %if %{without userspace}
26 # nothing to be placed to debuginfo package
27 %define _enable_debug_packages 0
31 %define pname VirtualBox
33 Summary: VirtualBox OSE - x86 hardware virtualizer
34 Summary(pl.UTF-8): VirtualBox OSE - wirtualizator sprzętu x86
35 Name: %{pname}%{_alt_kernel}
39 Group: Applications/Emulators
40 Source0: http://download.virtualbox.org/virtualbox/%{version}/%{pname}-%{version}-OSE.tar.bz2
41 # Source0-md5: 5aad764cd4e886f9d80d7bde42163c7a
42 Source1: http://download.virtualbox.org/virtualbox/%{version}/UserManual.pdf
43 # Source1-md5: 370bb3e893acffa584536c8f9e966c79
44 Source2: http://download.virtualbox.org/virtualbox/%{version}/VBoxGuestAdditions_%{version}.iso
45 # Source2-md5: 4fde0f279854334b84c01972fbed2874
46 Source3: %{pname}-vboxdrv.init
47 Source4: %{pname}-vboxguest.init
48 Source5: %{pname}-vboxnetflt.init
49 Source6: %{pname}-vboxsf.init
50 Source7: %{pname}-vboxnetadp.init
54 Patch0: %{pname}-configure-spaces.patch
55 Patch1: %{pname}-export_modules.patch
56 Patch2: %{pname}-VBoxSysInfo.patch
57 Patch3: %{pname}-warning_workaround.patch
58 Patch4: %{pname}-vnc.patch
59 Patch5: %{pname}-noorigin.patch
60 URL: http://www.virtualbox.org/
61 BuildRequires: rpmbuild(macros) >= 1.535
64 BuildRequires: gcc-multilib
65 BuildRequires: glibc-devel(i686)
66 BuildRequires: libstdc++-multilib-devel
67 BuildRequires: libstdc++-multilib-static
69 %if "%{pld_release}" == "ac"
70 BuildRequires: XFree86-devel
72 BuildRequires: xorg-lib-libXcursor-devel
73 BuildRequires: xorg-lib-libXmu-devel
75 BuildRequires: OpenGL-GLU-devel
76 BuildRequires: OpenGL-devel
77 BuildRequires: QtGui-devel
78 BuildRequires: QtNetwork-devel
79 BuildRequires: QtOpenGL-devel
80 BuildRequires: SDL-devel >= 1.2.7
82 BuildRequires: alsa-lib-devel >= 1.0.6
86 BuildRequires: curl-devel
87 BuildRequires: gcc >= 5:3.2.3
88 BuildRequires: libIDL-devel
89 BuildRequires: libcap-static
90 BuildRequires: libpng-devel >= 1.2.5
91 BuildRequires: libstdc++-devel >= 5:3.2.3
92 BuildRequires: libstdc++-static >= 5:3.2.3
93 BuildRequires: libuuid-devel
94 BuildRequires: libvncserver-devel
95 BuildRequires: libxml2-devel >= 2.6.26
96 BuildRequires: libxslt-devel >= 1.1.17
97 BuildRequires: libxslt-progs >= 1.1.17
98 BuildRequires: pam-devel
99 BuildRequires: pkgconfig
100 BuildRequires: pulseaudio-devel >= 0.9.0
101 BuildRequires: python-devel
102 BuildRequires: python-modules
103 BuildRequires: qt4-build >= 4.2.0
104 BuildRequires: qt4-linguist
105 BuildRequires: sed >= 4.0
107 BuildRequires: xalan-c-devel >= 1.10.0
108 BuildRequires: xerces-c-devel >= 2.6.0
109 BuildRequires: zlib-devel >= 1.2.1
111 %if %{with dist_kernel}
112 BuildRequires: kernel%{_alt_kernel}-module-build >= 3:2.6.20
114 Requires(post,preun): /sbin/chkconfig
115 Requires(postun): /usr/sbin/groupdel
116 Requires(pre): /usr/bin/getgid
117 Requires(pre): /usr/sbin/groupadd
118 Requires: QtCore >= 4.7.0
120 Provides: group(vbox)
121 ExclusiveArch: %{ix86} %{x8664}
122 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
125 %define vbox_platform linux.amd64
127 %define vbox_platform linux.x86
129 %define outdir out/%{vbox_platform}/release/bin
130 %define _sbindir /sbin
133 Oracle VirtualBox OSE is a general-purpose full virtualizer for x86
134 hardware. Targeted at server, desktop and embedded use, it is now the
135 only professional-quality virtualization solution that is also Open
138 Some of the features of VirtualBox OSE are:
140 Modularity: VirtualBox OSE has an extremely modular design with
141 well-defined internal programming interfaces and a client/server
142 design. This makes it easy to control it from several interfaces at
143 once: for example, you can start a virtual machine in a typical
144 virtual machine GUI and then control that machine from the command
145 line. VirtualBox OSE also comes with a full Software Development Kit:
146 even though it is Open Source Software, you don't have to hack the
147 source to write a new interface for VirtualBox OSE.
149 Virtual machine descriptions in XML: the configuration settings of
150 virtual machines are stored entirely in XML and are independent of the
151 local machines. Virtual machine definitions can therefore easily be
152 ported to other computers.
154 You should install this package in your Host OS.
156 %description -l pl.UTF-8
157 Oracle VirtualBox OSE jest emulatorem sprzętu x86. Kierowany do
158 zastosowań serwerowych, desktopowych oraz wbudowanych jest obecnie
159 jedynym wysokiej jakości rozwiązaniem wirtualizacyjnym dostępnym
160 również jako Otwarte Oprogramowanie.
162 Przykładowe cechy VirtualBoksa:
164 Modularność: VirtualBox OSE jest wysoce zmodularyzowanym produktem z
165 dobrze zaprojektowanym wewnętrznym interfejsem programowym typu
166 klient/serwer. Dzięki temu można łatwo kontrolować go za pomocą
167 różnych interfejsów. Można na przykład uruchomić maszynę wirtualną z
168 poziomu interfejsu graficznego, a później kontrolować ją z linii
169 poleceń. VirtualBox OSE dostarcza również pełny pakiet deweloperski,
170 co pozwala stworzyć dowolny inny interfejs zarządzania maszyną
173 Opisy maszyn wirtualnych w XML-u: konfiguracje poszczególnych maszyn
174 wirtualnych są w całości przechowywane w XML-u i są niezależne od
175 lokalnej maszyny. Dzięki temu można szybko i łatwo przenieść
176 konfigurację maszyny wirtualnej na inny komputer.
179 Summary: udev rules for VirtualBox OSE kernel modules
180 Summary(pl.UTF-8): Reguły udev dla modułów jądra Linuksa dla VirtualBoksa
185 udev rules for VirtualBox OSE kernel modules.
187 You should install this package in your Host OS and in Guest OS.
189 %description udev -l pl.UTF-8
190 Reguły udev dla modułów jądra Linuksa dla VirtualBoksa.
193 Summary: VirtualBox Guest Additions
195 Requires: %{name} = %{version}-%{release}
197 %description additions
198 VirtualBox Guest Additions.
200 This package contains ISO9660 image with drivers for Guest OS.
202 You should install this package in your Host OS.
205 Summary: VirtualBox Guest Additions
207 Suggests: kernel%{_alt_kernel}-misc-vboxsf = %{version}-%{rel}@%{_kernel_ver_str}
208 Suggests: kernel%{_alt_kernel}-misc-vboxvideo = %{version}-%{rel}@%{_kernel_ver_str}
209 Requires: xorg-driver-input-vboxmouse = %{version}-%{release}
210 Requires: xorg-driver-video-vboxvideo = %{version}-%{release}
213 Tools that utilize kernel modules for supporting integration with the
214 Host, including file sharing and tracking of mouse pointer movement
215 and X.org X11 video and mouse driver.
217 You should install this package in your Guest OS.
219 %package -n pam-pam_vbox
220 Summary: PAM module to perform automated guest logons
223 %description -n pam-pam_vbox
224 PAM module (Pluggable Authentication Module) which can be used to
225 perform automated guest logons.
227 %package -n xorg-driver-input-vboxmouse
228 Summary: X.org mouse driver for VirtualBox OSE guest OS
229 Summary(pl.UTF-8): Sterownik myszy dla systemu gościa w VirtualBoksie OSE
230 Group: X11/Applications
231 Requires: xorg-xserver-server >= 1.0.99.901
232 %if "%{pld_release}" == "ti"
233 Requires: xorg-xserver-server(xinput-abi) <= 7.0
235 Requires: xorg-xserver-server(xinput-abi) <= 11.0
237 Requires: xorg-xserver-server(xinput-abi) >= 4.0
239 %description -n xorg-driver-input-vboxmouse
240 X.org mouse driver for VirtualBox OSE guest OS.
242 %description -n xorg-driver-input-vboxmouse -l pl.UTF-8
243 Sterownik myszy dla systemu gościa w VirtualBoksie.
245 %package -n xorg-driver-video-vboxvideo
246 Summary: X.org video driver for VirtualBox OSE guest OS
247 Summary(pl.UTF-8): Sterownik grafiki dla systemu gościa w VirtualBoksie OSE
248 Group: X11/Applications
249 Requires: Mesa-dri-driver-swrast
250 Requires: xorg-xserver-libdri >= 1.7.4
251 Requires: xorg-xserver-server >= 1.0.99.901
252 %if "%{pld_release}" == "ti"
253 Requires: xorg-xserver-server(videodrv-abi) <= 6.0
255 Requires: xorg-xserver-server(videodrv-abi) <= 8.0
257 Requires: xorg-xserver-server(videodrv-abi) >= 2.0
259 %description -n xorg-driver-video-vboxvideo
260 X.org video driver for VirtualBox OSE guest OS.
262 %description -n xorg-driver-video-vboxvideo -l pl.UTF-8
263 Sterownik grafiki dla systemu gościa w VirtualBoksie OSE.
265 %package -n kernel%{_alt_kernel}-misc-vboxguest
266 Summary: VirtualBox OSE Guest Additions for Linux Module
267 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa OSE
268 Release: %{rel}@%{_kernel_ver_str}
270 Requires(post,postun): /sbin/depmod
271 Requires: dev >= 2.9.0-7
272 %if %{with dist_kernel}
273 %requires_releq_kernel
274 Requires(postun): %releq_kernel
276 Provides: kernel(vboxguest) = %{version}-%{rel}
277 Obsoletes: kernel%{_alt_kernel}-misc-vboxadd
278 Conflicts: kernel%{_alt_kernel}-misc-vboxdrv
280 %description -n kernel%{_alt_kernel}-misc-vboxguest
281 VirtualBox OSE Guest Additions for Linux Module.
283 You should install this package in your Guest OS.
285 %description -n kernel%{_alt_kernel}-misc-vboxguest -l pl.UTF-8
286 Moduł jądra Linuksa vboxguest dla VirtualBoksa OSE - dodatki dla
289 %package -n kernel%{_alt_kernel}-misc-vboxdrv
290 Summary: VirtualBox OSE Support Driver
291 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa OSE
292 Release: %{rel}@%{_kernel_ver_str}
294 Requires(post,postun): /sbin/depmod
295 Requires: dev >= 2.9.0-7
296 %if %{with dist_kernel}
297 %requires_releq_kernel
298 Requires(postun): %releq_kernel
300 Provides: kernel(vboxdrv) = %{version}-%{rel}
302 %description -n kernel%{_alt_kernel}-misc-vboxdrv
303 VirtualBox OSE Support Driver.
305 You should install this package in your Host OS.
307 %description -n kernel%{_alt_kernel}-misc-vboxdrv -l pl.UTF-8
308 Moduł jądra Linuksa dla VirtualBoksa OSE - sterownik wsparcia dla
311 %package -n kernel%{_alt_kernel}-misc-vboxnetadp
312 Summary: VirtualBox OSE Network Adapter Driver
313 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa OSE
314 Release: %{rel}@%{_kernel_ver_str}
316 Requires(post,postun): /sbin/depmod
317 Requires: dev >= 2.9.0-7
318 Requires: kernel%{_alt_kernel}-misc-vboxdrv
319 %if %{with dist_kernel}
320 %requires_releq_kernel
321 Requires(postun): %releq_kernel
323 Provides: kernel(vboxnetflt) = %{version}-%{rel}
325 %description -n kernel%{_alt_kernel}-misc-vboxnetadp
326 VirtualBox OSE Network Adapter Driver.
328 You should install this package in your Host OS.
330 %description -n kernel%{_alt_kernel}-misc-vboxnetadp -l pl.UTF-8
331 Moduł jądra Linuksa dla VirtualBoksa OSE - sterownik witrualnej karty
334 %package -n kernel%{_alt_kernel}-misc-vboxnetflt
335 Summary: VirtualBox OSE Network Filter Driver
336 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa OSE
337 Release: %{rel}@%{_kernel_ver_str}
339 Requires(post,postun): /sbin/depmod
340 Requires: dev >= 2.9.0-7
341 Requires: kernel%{_alt_kernel}-misc-vboxdrv
342 %if %{with dist_kernel}
343 %requires_releq_kernel
344 Requires(postun): %releq_kernel
346 Provides: kernel(vboxnetflt) = %{version}-%{rel}
348 %description -n kernel%{_alt_kernel}-misc-vboxnetflt
349 VirtualBox OSE Network Filter Driver.
351 You should install this package in your Host OS.
353 %description -n kernel%{_alt_kernel}-misc-vboxnetflt -l pl.UTF-8
354 Moduł jądra Linuksa dla VirtualBoksa OSE - sterownik filtrowania sieci
355 dla systemu głównego.
357 %package -n kernel%{_alt_kernel}-misc-vboxsf
358 Summary: Host file system access (Shared Folders) for VirtualBox OSE
359 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa OSE
360 Release: %{rel}@%{_kernel_ver_str}
362 Requires(post,postun): /sbin/depmod
363 Requires: dev >= 2.9.0-7
364 Requires: kernel%{_alt_kernel}-misc-vboxguest
365 %if %{with dist_kernel}
366 %requires_releq_kernel
367 Requires(postun): %releq_kernel
369 Provides: kernel(vboxsf) = %{version}-%{rel}
370 Obsoletes: kernel%{_alt_kernel}-misc-vboxvfs
372 %description -n kernel%{_alt_kernel}-misc-vboxsf
373 Host file system access (Shared Folders) for VirtualBox OSE.
375 You should install this package in your Guest OS.
377 %description -n kernel%{_alt_kernel}-misc-vboxsf -l pl.UTF-8
378 Moduł jądra Linuksa dla VirtualBoksa OSE - dostęp do plików systemu
379 głównego z poziomu systemu gościa.
381 %package -n kernel%{_alt_kernel}-misc-vboxvideo
382 Summary: DRM support for VirtualBox OSE
383 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa OSE
384 Release: %{rel}@%{_kernel_ver_str}
386 Requires(post,postun): /sbin/depmod
387 Requires: dev >= 2.9.0-7
388 %if %{with dist_kernel}
389 %requires_releq_kernel
390 %if "%{rpm_build_macros}" >= "1.531"
391 %requires_releq_kernel -n drm
393 Requires(postun): %releq_kernel
395 Provides: kernel(vboxvideo) = %{version}-%{rel}
397 %description -n kernel%{_alt_kernel}-misc-vboxvideo
398 DRM support for VirtualBox OSE.
400 You should install this package in your Guest OS.
402 %description -n kernel%{_alt_kernel}-misc-vboxvideo -l pl.UTF-8
403 Moduł jądra Linuksa dla VirtualBoksa OSE - sterownik obsługi DRM.
406 %setup -q -n %{pname}-%{version}_OSE
414 %{__sed} -i -e 's,$VBOX_DOC_PATH,%{_docdir}/%{name}-%{version},' src/VBox/Installer/linux/virtualbox.desktop
415 %{__sed} -i -e 's/Categories=.*/Categories=Utility;Emulator;/' src/VBox/Installer/linux/virtualbox.desktop
418 sed 's#@LIBDIR@#%{_libdir}#' < %{SOURCE8} > VirtualBox-wrapper.sh
420 install -d PLD-MODULE-BUILD/{GuestDrivers,HostDrivers}
422 ../src/VBox/Additions/linux/export_modules guest-modules.tar.gz
423 tar -zxf guest-modules.tar.gz -C GuestDrivers
425 ../src/VBox/HostDrivers/linux/export_modules host-modules.tar.gz --without-hardening
426 tar -zxf host-modules.tar.gz -C HostDrivers
430 %if %{with userspace}
431 echo "VBOX_WITH_TESTCASES := " > LocalConfig.kmk
433 --with-gcc="%{__cc}" \
434 --with-g++="%{__cxx}" \
435 --disable-hardening \
439 kmk -j1 %{?with_verbose:KBUILD_VERBOSE=3} USER=$(id -un)
443 cd PLD-MODULE-BUILD/HostDrivers
444 %build_kernel_modules -m vboxdrv -C vboxdrv
445 %build_kernel_modules -m vboxnetadp -C vboxnetadp
446 %build_kernel_modules -m vboxnetflt -C vboxnetflt
449 %build_kernel_modules -m vboxguest -C vboxguest
450 cp -a vboxguest/Module.symvers vboxsf
451 %build_kernel_modules -m vboxsf -C vboxsf -c
452 %build_kernel_modules -m vboxvideo -C vboxvideo_drm
454 %{__cc} %{rpmcflags} %{rpmldflags} -Wall -Werror src/VBox/Additions/linux/sharedfolders/mount.vboxsf.c -o mount.vboxsf
458 rm -rf $RPM_BUILD_ROOT
460 %if %{with userspace}
462 $RPM_BUILD_ROOT{%{_bindir},%{_sbindir},%{_libdir},%{_pixmapsdir},%{_desktopdir}} \
463 $RPM_BUILD_ROOT%{_libdir}/xorg/modules/{drivers,dri,input}
465 # test if we can hardlink -- %{_builddir} and $RPM_BUILD_ROOT on same partition
466 if cp -al VBox.png $RPM_BUILD_ROOT/Vbox.png 2>/dev/null; then
468 rm -f $RPM_BUILD_ROOT/VBox.png
471 cp -a$l %{outdir} $RPM_BUILD_ROOT%{_libdir}/%{pname}
473 cp -a %{SOURCE2} $RPM_BUILD_ROOT%{_libdir}/VirtualBox/additions/VBoxGuestAdditions.iso
474 install -p %{SOURCE9} $RPM_BUILD_ROOT%{_sbindir}/mount.vdi
475 install -p VirtualBox-wrapper.sh $RPM_BUILD_ROOT%{_libdir}/%{pname}
476 for f in {VBox{BFE,Headless,Manage,SDL,SVC,Tunctl,XPCOMIPCD},VirtualBox}; do
477 ln -s %{_libdir}/%{pname}/VirtualBox-wrapper.sh $RPM_BUILD_ROOT%{_bindir}/$f
480 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname},%{_pixmapsdir}}/VBox.png
481 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname},%{_desktopdir}}/virtualbox.desktop
483 %if "%{pld_release}" == "ti"
484 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/vboxmouse_drv_17.so,%{_libdir}/xorg/modules/input/vboxmouse_drv.so}
485 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/vboxvideo_drv_17.so,%{_libdir}/xorg/modules/drivers/vboxvideo_drv.so}
487 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/vboxmouse_drv_19.so,%{_libdir}/xorg/modules/input/vboxmouse_drv.so}
488 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/vboxvideo_drv_19.so,%{_libdir}/xorg/modules/drivers/vboxvideo_drv.so}
490 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/VBoxOGL.so,%{_libdir}/xorg/modules/dri/vboxvideo_dri.so}
491 # xorg other driver versions
492 rm -vf $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/vboxmouse_drv*.{o,so}
493 rm -vf $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/vboxvideo_drv*.{o,so}
495 # XXX: where else to install them that vboxvideo_dri.so finds them? patch with rpath?
496 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLarrayspu.so
497 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLcrutil.so
498 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLerrorspu.so
499 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLfeedbackspu.so
500 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLpackspu.so
501 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLpassthroughspu.so
503 install -d $RPM_BUILD_ROOT/usr/lib/dri
504 ln -s %{_libdir}/xorg/modules/dri/swrast_dri.so $RPM_BUILD_ROOT/usr/lib/dri/swrast_dri.so
506 install -d $RPM_BUILD_ROOT/etc/udev/rules.d
507 cp -a %{SOURCE10} $RPM_BUILD_ROOT/etc/udev/rules.d/virtualbox.rules
509 install -d $RPM_BUILD_ROOT/%{_lib}/security
510 mv $RPM_BUILD_ROOT{%{_libdir}/VirtualBox/additions,/%{_lib}/security}/pam_vbox.so
513 rm -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/{src,sdk,testcase}
514 rm -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/src
515 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxkeyboard.tar.bz2
516 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/tst*
518 # IPRT Testcase / Tool - Source Code Massager.
519 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/scm
522 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxService
526 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPInstall
527 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPLoggerCtl
528 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPUninstall
529 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/VBox.sh
530 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/VBoxClient
531 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/VBoxControl
532 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxshell.py
533 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/xpidl
536 # packaged by kernel part
537 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/mount.vboxsf
541 install -d $RPM_BUILD_ROOT{/etc/{rc.d/init.d,modprobe.d},%{_sbindir}}
542 install -p %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxdrv
543 install -p %{SOURCE4} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxguest
544 install -p %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxnetflt
545 install -p %{SOURCE6} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxsf
546 install -p %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxnetadp
547 %install_kernel_modules -m PLD-MODULE-BUILD/HostDrivers/vboxdrv/vboxdrv -d misc
548 %install_kernel_modules -m PLD-MODULE-BUILD/HostDrivers/vboxnetadp/vboxnetadp -d misc
549 %install_kernel_modules -m PLD-MODULE-BUILD/HostDrivers/vboxnetflt/vboxnetflt -d misc
550 %install_kernel_modules -m PLD-MODULE-BUILD/GuestDrivers/vboxguest/vboxguest -d misc
551 %install_kernel_modules -m PLD-MODULE-BUILD/GuestDrivers/vboxsf/vboxsf -d misc
552 %install_kernel_modules -m PLD-MODULE-BUILD/GuestDrivers/vboxvideo_drm/vboxvideo -d misc
554 install -p mount.vboxsf $RPM_BUILD_ROOT%{_sbindir}/mount.vboxsf
559 rm -rf $RPM_BUILD_ROOT
562 %groupadd -g 221 -r -f vbox
566 You must install vboxdrv kernel module for this software to work:
567 kernel-misc-vboxdrv-%{version}-%{rel}@%{_kernel_ver_str}
569 Additionally you might want to install:
570 kernel-misc-vboxnetadp-%{version}-%{rel}@%{_kernel_ver_str}
571 kernel-misc-vboxnetflt-%{version}-%{rel}@%{_kernel_ver_str}
573 On Guest Linux system you might want to install:
574 kernel-misc-vboxguest-%{version}-%{rel}@%{_kernel_ver_str}
575 kernel-misc-vboxsf-%{version}-%{rel}@%{_kernel_ver_str}
576 kernel-misc-vboxvideo-%{version}-%{rel}@%{_kernel_ver_str}
581 if [ "$1" = "0" ]; then
585 %post -n kernel%{_alt_kernel}-misc-vboxguest
586 %depmod %{_kernel_ver}
587 /sbin/chkconfig --add vboxguest
588 %service vboxguest restart "VirtualBox OSE Guest additions driver"
590 %postun -n kernel%{_alt_kernel}-misc-vboxguest
591 %depmod %{_kernel_ver}
593 %preun -n kernel%{_alt_kernel}-misc-vboxguest
594 if [ "$1" = "0" ]; then
595 %service vboxguest stop
596 /sbin/chkconfig --del vboxguest
599 %post -n kernel%{_alt_kernel}-misc-vboxdrv
600 %depmod %{_kernel_ver}
601 /sbin/chkconfig --add vboxdrv
602 %service vboxdrv restart "VirtualBox OSE Support Driver"
604 %postun -n kernel%{_alt_kernel}-misc-vboxdrv
605 %depmod %{_kernel_ver}
607 %preun -n kernel%{_alt_kernel}-misc-vboxdrv
608 if [ "$1" = "0" ]; then
609 %service vboxdrv stop
610 /sbin/chkconfig --del vboxdrv
613 %post -n kernel%{_alt_kernel}-misc-vboxnetadp
614 %depmod %{_kernel_ver}
615 /sbin/chkconfig --add vboxnetadp
616 %service vboxnetadp restart "VirtualBox OSE Network HostOnly driver"
618 %postun -n kernel%{_alt_kernel}-misc-vboxnetadp
619 %depmod %{_kernel_ver}
621 %preun -n kernel%{_alt_kernel}-misc-vboxnetadp
622 if [ "$1" = "0" ]; then
623 %service vboxnetadp stop
624 /sbin/chkconfig --del vboxnetadp
627 %post -n kernel%{_alt_kernel}-misc-vboxnetflt
628 %depmod %{_kernel_ver}
629 /sbin/chkconfig --add vboxnetflt
630 %service vboxnetflt restart "VirtualBox OSE Network Filter driver"
632 %postun -n kernel%{_alt_kernel}-misc-vboxnetflt
633 %depmod %{_kernel_ver}
635 %preun -n kernel%{_alt_kernel}-misc-vboxnetflt
636 if [ "$1" = "0" ]; then
637 %service vboxnetflt stop
638 /sbin/chkconfig --del vboxnetflt
641 %post -n kernel%{_alt_kernel}-misc-vboxsf
642 %depmod %{_kernel_ver}
643 /sbin/chkconfig --add vboxsf
644 %service vboxsf restart "VirtualBox OSE Host file system access (Shared Folders)"
646 %postun -n kernel%{_alt_kernel}-misc-vboxsf
647 %depmod %{_kernel_ver}
649 %preun -n kernel%{_alt_kernel}-misc-vboxsf
650 if [ "$1" = "0" ]; then
652 /sbin/chkconfig --del vboxsf
655 %post -n kernel%{_alt_kernel}-misc-vboxvideo
656 %depmod %{_kernel_ver}
658 %postun -n kernel%{_alt_kernel}-misc-vboxvideo
659 %depmod %{_kernel_ver}
661 %if %{with userspace}
663 %defattr(644,root,root,755)
665 %dir %{_libdir}/VirtualBox
666 %dir %{_libdir}/VirtualBox/additions
667 %dir %{_libdir}/VirtualBox/components
668 %dir %{_libdir}/VirtualBox/nls
669 %attr(755,root,root) %{_bindir}/VBoxBFE
670 %attr(755,root,root) %{_bindir}/VBoxHeadless
671 %attr(755,root,root) %{_bindir}/VBoxManage
672 %attr(755,root,root) %{_bindir}/VBoxSDL
673 %attr(755,root,root) %{_bindir}/VBoxSVC
674 %attr(755,root,root) %{_bindir}/VBoxTunctl
675 %attr(755,root,root) %{_bindir}/VBoxXPCOMIPCD
676 %attr(755,root,root) %{_bindir}/VirtualBox
677 %attr(755,root,root) %{_sbindir}/mount.vdi
678 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSVC
679 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxBFE
680 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxHeadless
681 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxManage
682 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSDL
683 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxTestOGL
684 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxTunctl
685 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxXPCOMIPCD
686 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxDD.so
687 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxDD2.so
688 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxDDU.so
689 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxGuestControlSvc.so
690 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxGuestPropSvc.so
691 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxKeyboard.so
692 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxNetAdpCtl
693 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxNetDHCP
694 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxOGLhostcrutil.so
695 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxOGLhosterrorspu.so
696 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxOGLrenderspu.so
697 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxPython*.so
698 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxREM.so
700 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxREM32.so
701 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxREM64.so
703 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxRT.so
704 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSharedClipboard.so
705 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSharedCrOpenGL.so
706 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSharedFolders.so
707 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxVMM.so
708 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxXPCOM.so
709 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxXPCOMC.so
710 %attr(755,root,root) %{_libdir}/VirtualBox/VirtualBox
711 %attr(755,root,root) %{_libdir}/VirtualBox/VirtualBox-wrapper.sh
712 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSysInfo.sh
713 %{_libdir}/VirtualBox/VBoxDD2GC.gc
714 %{_libdir}/VirtualBox/VBoxDDGC.gc
715 %{_libdir}/VirtualBox/VMMGC.gc
716 %{_libdir}/VirtualBox/VBoxDD2R0.r0
717 %{_libdir}/VirtualBox/VBoxDDR0.r0
718 %{_libdir}/VirtualBox/VMMR0.r0
719 %{_libdir}/VirtualBox/EfiThunk
720 %{_libdir}/VirtualBox/VBoxEFI32.fd
721 %{_libdir}/VirtualBox/VBoxEFI64.fd
722 %{_libdir}/VirtualBox/components/VBoxXPCOMBase.xpt
723 %{_libdir}/VirtualBox/components/VirtualBox_XPCOM.xpt
724 %attr(755,root,root) %{_libdir}/VirtualBox/components/VBoxC.so
725 %attr(755,root,root) %{_libdir}/VirtualBox/components/VBoxSVCM.so
726 %attr(755,root,root) %{_libdir}/VirtualBox/components/VBoxXPCOMIPCC.so
727 %lang(ar) %{_libdir}/VirtualBox/nls/*_ar.qm
728 %lang(bg) %{_libdir}/VirtualBox/nls/*_bg.qm
729 %lang(ca) %{_libdir}/VirtualBox/nls/*_ca.qm
730 %lang(ca_VA) %{_libdir}/VirtualBox/nls/*_ca_VA.qm
731 %lang(cs) %{_libdir}/VirtualBox/nls/*_cs.qm
732 %lang(da) %{_libdir}/VirtualBox/nls/*_da.qm
733 %lang(de) %{_libdir}/VirtualBox/nls/*_de.qm
734 %lang(el) %{_libdir}/VirtualBox/nls/*_el.qm
735 %lang(en) %{_libdir}/VirtualBox/nls/*_en.qm
736 %lang(es) %{_libdir}/VirtualBox/nls/*_es.qm
737 %lang(eu) %{_libdir}/VirtualBox/nls/*_eu.qm
738 %lang(fi) %{_libdir}/VirtualBox/nls/*_fi.qm
739 %lang(fr) %{_libdir}/VirtualBox/nls/*_fr.qm
740 %lang(gl_ES) %{_libdir}/VirtualBox/nls/*_gl_ES.qm
741 %lang(hu) %{_libdir}/VirtualBox/nls/*_hu.qm
742 %lang(id) %{_libdir}/VirtualBox/nls/*_id.qm
743 %lang(it) %{_libdir}/VirtualBox/nls/*_it.qm
744 %lang(ja) %{_libdir}/VirtualBox/nls/*_ja.qm
745 %lang(km_KH) %{_libdir}/VirtualBox/nls/*_km_KH.qm
746 %lang(ko) %{_libdir}/VirtualBox/nls/*_ko.qm
747 %lang(lt) %{_libdir}/VirtualBox/nls/*_lt.qm
748 %lang(nl) %{_libdir}/VirtualBox/nls/*_nl.qm
749 %lang(pl) %{_libdir}/VirtualBox/nls/*_pl.qm
750 %lang(pt) %{_libdir}/VirtualBox/nls/*_pt.qm
751 %lang(pt_BR) %{_libdir}/VirtualBox/nls/*_pt_BR.qm
752 %lang(ro) %{_libdir}/VirtualBox/nls/*_ro.qm
753 %lang(ru) %{_libdir}/VirtualBox/nls/*_ru.qm
754 %lang(sk) %{_libdir}/VirtualBox/nls/*_sk.qm
755 %lang(sr) %{_libdir}/VirtualBox/nls/*_sr.qm
756 %lang(sv) %{_libdir}/VirtualBox/nls/*_sv.qm
757 %lang(tr) %{_libdir}/VirtualBox/nls/*_tr.qm
758 %lang(uk) %{_libdir}/VirtualBox/nls/*_uk.qm
759 %lang(zh_CN) %{_libdir}/VirtualBox/nls/*_zh_CN.qm
760 %lang(zh_TW) %{_libdir}/VirtualBox/nls/*_zh_TW.qm
761 %{_pixmapsdir}/VBox.png
762 %{_desktopdir}/*.desktop
765 %defattr(644,root,root,755)
766 %{_libdir}/VirtualBox/additions/VBoxGuestAdditions.iso
769 %defattr(644,root,root,755)
770 # NOTE: unfinished, should contain .desktop files for starting up mouse
771 # integration and other desktop services
772 # NOTE: the filelist is incopmplete too
773 %attr(755,root,root) %{_bindir}/VBoxService
775 %files -n pam-pam_vbox
776 %defattr(644,root,root,755)
777 %attr(755,root,root) /%{_lib}/security/pam_vbox.so
780 %defattr(644,root,root,755)
781 %config(noreplace) %verify(not md5 mtime size) /etc/udev/rules.d/virtualbox.rules
783 %files -n xorg-driver-input-vboxmouse
784 %defattr(644,root,root,755)
785 %attr(755,root,root) %{_libdir}/xorg/modules/input/vboxmouse_drv.so
787 %files -n xorg-driver-video-vboxvideo
788 %defattr(644,root,root,755)
789 %attr(755,root,root) %{_libdir}/xorg/modules/drivers/vboxvideo_drv.so
790 %attr(755,root,root) %{_libdir}/xorg/modules/dri/vboxvideo_dri.so
791 # vboxvideo_dri.so deps
792 %attr(755,root,root) %{_libdir}/VBoxOGLarrayspu.so
793 %attr(755,root,root) %{_libdir}/VBoxOGLcrutil.so
794 %attr(755,root,root) %{_libdir}/VBoxOGLerrorspu.so
795 %attr(755,root,root) %{_libdir}/VBoxOGLfeedbackspu.so
796 %attr(755,root,root) %{_libdir}/VBoxOGLpackspu.so
797 %attr(755,root,root) %{_libdir}/VBoxOGLpassthroughspu.so
802 %files -n kernel%{_alt_kernel}-misc-vboxguest
803 %defattr(644,root,root,755)
804 %attr(754,root,root) /etc/rc.d/init.d/vboxguest
805 /lib/modules/%{_kernel_ver}/misc/vboxguest.ko*
807 %files -n kernel%{_alt_kernel}-misc-vboxdrv
808 %defattr(644,root,root,755)
809 %attr(754,root,root) /etc/rc.d/init.d/vboxdrv
810 /lib/modules/%{_kernel_ver}/misc/vboxdrv.ko*
812 %files -n kernel%{_alt_kernel}-misc-vboxnetadp
813 %defattr(644,root,root,755)
814 %attr(754,root,root) /etc/rc.d/init.d/vboxnetadp
815 /lib/modules/%{_kernel_ver}/misc/vboxnetadp.ko*
817 %files -n kernel%{_alt_kernel}-misc-vboxnetflt
818 %defattr(644,root,root,755)
819 %attr(754,root,root) /etc/rc.d/init.d/vboxnetflt
820 /lib/modules/%{_kernel_ver}/misc/vboxnetflt.ko*
822 %files -n kernel%{_alt_kernel}-misc-vboxsf
823 %defattr(644,root,root,755)
824 %attr(754,root,root) /etc/rc.d/init.d/vboxsf
825 %attr(755,root,root) %{_sbindir}/mount.vboxsf
826 /lib/modules/%{_kernel_ver}/misc/vboxsf.ko*
828 %files -n kernel%{_alt_kernel}-misc-vboxvideo
829 %defattr(644,root,root,755)
830 /lib/modules/%{_kernel_ver}/misc/vboxvideo.ko*