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: 4ba1d6c960691f60d1cbfc19c98294d6
42 Source1: http://download.virtualbox.org/virtualbox/%{version}/UserManual.pdf
43 # Source1-md5: d7f8685fe5fd84757b33d46e6f0b6bc5
44 Source2: http://download.virtualbox.org/virtualbox/%{version}/VBoxGuestAdditions_%{version}.iso
45 # Source2-md5: 2f670cc8d4f85ff92257252f8de4d7c1
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}-dri.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) <= 11.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) <= 8.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_19.so,%{_libdir}/xorg/modules/input/vboxmouse_drv.so}
485 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/vboxvideo_drv_19.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/etc/udev/rules.d
504 cp -a %{SOURCE10} $RPM_BUILD_ROOT/etc/udev/rules.d/virtualbox.rules
506 install -d $RPM_BUILD_ROOT/%{_lib}/security
507 mv $RPM_BUILD_ROOT{%{_libdir}/VirtualBox/additions,/%{_lib}/security}/pam_vbox.so
510 rm -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/{src,sdk,testcase}
511 rm -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/src
512 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxkeyboard.tar.bz2
513 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/tst*
515 # IPRT Testcase / Tool - Source Code Massager.
516 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/scm
519 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxService
523 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPInstall
524 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPLoggerCtl
525 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPUninstall
526 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/VBox.sh
527 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/VBoxClient
528 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/VBoxControl
529 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxshell.py
530 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/xpidl
533 # packaged by kernel part
534 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/mount.vboxsf
538 install -d $RPM_BUILD_ROOT{/etc/{rc.d/init.d,modprobe.d},%{_sbindir}}
539 install -p %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxdrv
540 install -p %{SOURCE4} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxguest
541 install -p %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxnetflt
542 install -p %{SOURCE6} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxsf
543 install -p %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxnetadp
544 %install_kernel_modules -m PLD-MODULE-BUILD/HostDrivers/vboxdrv/vboxdrv -d misc
545 %install_kernel_modules -m PLD-MODULE-BUILD/HostDrivers/vboxnetadp/vboxnetadp -d misc
546 %install_kernel_modules -m PLD-MODULE-BUILD/HostDrivers/vboxnetflt/vboxnetflt -d misc
547 %install_kernel_modules -m PLD-MODULE-BUILD/GuestDrivers/vboxguest/vboxguest -d misc
548 %install_kernel_modules -m PLD-MODULE-BUILD/GuestDrivers/vboxsf/vboxsf -d misc
549 %install_kernel_modules -m PLD-MODULE-BUILD/GuestDrivers/vboxvideo_drm/vboxvideo -d misc
551 install -p mount.vboxsf $RPM_BUILD_ROOT%{_sbindir}/mount.vboxsf
556 rm -rf $RPM_BUILD_ROOT
559 %groupadd -g 221 -r -f vbox
563 You must install vboxdrv kernel module for this software to work:
564 kernel-misc-vboxdrv-%{version}-%{rel}@%{_kernel_ver_str}
566 Additionally you might want to install:
567 kernel-misc-vboxnetadp-%{version}-%{rel}@%{_kernel_ver_str}
568 kernel-misc-vboxnetflt-%{version}-%{rel}@%{_kernel_ver_str}
570 On Guest Linux system you might want to install:
571 kernel-misc-vboxguest-%{version}-%{rel}@%{_kernel_ver_str}
572 kernel-misc-vboxsf-%{version}-%{rel}@%{_kernel_ver_str}
573 kernel-misc-vboxvideo-%{version}-%{rel}@%{_kernel_ver_str}
578 if [ "$1" = "0" ]; then
582 %post -n kernel%{_alt_kernel}-misc-vboxguest
583 %depmod %{_kernel_ver}
584 /sbin/chkconfig --add vboxguest
585 %service vboxguest restart "VirtualBox OSE Guest additions driver"
587 %postun -n kernel%{_alt_kernel}-misc-vboxguest
588 %depmod %{_kernel_ver}
590 %preun -n kernel%{_alt_kernel}-misc-vboxguest
591 if [ "$1" = "0" ]; then
592 %service vboxguest stop
593 /sbin/chkconfig --del vboxguest
596 %post -n kernel%{_alt_kernel}-misc-vboxdrv
597 %depmod %{_kernel_ver}
598 /sbin/chkconfig --add vboxdrv
599 %service vboxdrv restart "VirtualBox OSE Support Driver"
601 %postun -n kernel%{_alt_kernel}-misc-vboxdrv
602 %depmod %{_kernel_ver}
604 %preun -n kernel%{_alt_kernel}-misc-vboxdrv
605 if [ "$1" = "0" ]; then
606 %service vboxdrv stop
607 /sbin/chkconfig --del vboxdrv
610 %post -n kernel%{_alt_kernel}-misc-vboxnetadp
611 %depmod %{_kernel_ver}
612 /sbin/chkconfig --add vboxnetadp
613 %service vboxnetadp restart "VirtualBox OSE Network HostOnly driver"
615 %postun -n kernel%{_alt_kernel}-misc-vboxnetadp
616 %depmod %{_kernel_ver}
618 %preun -n kernel%{_alt_kernel}-misc-vboxnetadp
619 if [ "$1" = "0" ]; then
620 %service vboxnetadp stop
621 /sbin/chkconfig --del vboxnetadp
624 %post -n kernel%{_alt_kernel}-misc-vboxnetflt
625 %depmod %{_kernel_ver}
626 /sbin/chkconfig --add vboxnetflt
627 %service vboxnetflt restart "VirtualBox OSE Network Filter driver"
629 %postun -n kernel%{_alt_kernel}-misc-vboxnetflt
630 %depmod %{_kernel_ver}
632 %preun -n kernel%{_alt_kernel}-misc-vboxnetflt
633 if [ "$1" = "0" ]; then
634 %service vboxnetflt stop
635 /sbin/chkconfig --del vboxnetflt
638 %post -n kernel%{_alt_kernel}-misc-vboxsf
639 %depmod %{_kernel_ver}
640 /sbin/chkconfig --add vboxsf
641 %service vboxsf restart "VirtualBox OSE Host file system access (Shared Folders)"
643 %postun -n kernel%{_alt_kernel}-misc-vboxsf
644 %depmod %{_kernel_ver}
646 %preun -n kernel%{_alt_kernel}-misc-vboxsf
647 if [ "$1" = "0" ]; then
649 /sbin/chkconfig --del vboxsf
652 %post -n kernel%{_alt_kernel}-misc-vboxvideo
653 %depmod %{_kernel_ver}
655 %postun -n kernel%{_alt_kernel}-misc-vboxvideo
656 %depmod %{_kernel_ver}
658 %if %{with userspace}
660 %defattr(644,root,root,755)
662 %dir %{_libdir}/VirtualBox
663 %dir %{_libdir}/VirtualBox/additions
664 %dir %{_libdir}/VirtualBox/components
665 %dir %{_libdir}/VirtualBox/nls
666 %attr(755,root,root) %{_bindir}/VBoxBFE
667 %attr(755,root,root) %{_bindir}/VBoxHeadless
668 %attr(755,root,root) %{_bindir}/VBoxManage
669 %attr(755,root,root) %{_bindir}/VBoxSDL
670 %attr(755,root,root) %{_bindir}/VBoxSVC
671 %attr(755,root,root) %{_bindir}/VBoxTunctl
672 %attr(755,root,root) %{_bindir}/VBoxXPCOMIPCD
673 %attr(755,root,root) %{_bindir}/VirtualBox
674 %attr(755,root,root) %{_sbindir}/mount.vdi
675 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSVC
676 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxBFE
677 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxHeadless
678 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxManage
679 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSDL
680 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxTestOGL
681 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxTunctl
682 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxXPCOMIPCD
683 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxDD.so
684 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxDD2.so
685 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxDDU.so
686 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxGuestControlSvc.so
687 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxGuestPropSvc.so
688 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxKeyboard.so
689 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxNetAdpCtl
690 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxNetDHCP
691 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxOGLhostcrutil.so
692 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxOGLhosterrorspu.so
693 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxOGLrenderspu.so
694 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxPython*.so
695 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxREM.so
697 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxREM32.so
698 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxREM64.so
700 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxRT.so
701 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSharedClipboard.so
702 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSharedCrOpenGL.so
703 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSharedFolders.so
704 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxVMM.so
705 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxXPCOM.so
706 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxXPCOMC.so
707 %attr(755,root,root) %{_libdir}/VirtualBox/VirtualBox
708 %attr(755,root,root) %{_libdir}/VirtualBox/VirtualBox-wrapper.sh
709 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSysInfo.sh
710 %{_libdir}/VirtualBox/VBoxDD2GC.gc
711 %{_libdir}/VirtualBox/VBoxDDGC.gc
712 %{_libdir}/VirtualBox/VMMGC.gc
713 %{_libdir}/VirtualBox/VBoxDD2R0.r0
714 %{_libdir}/VirtualBox/VBoxDDR0.r0
715 %{_libdir}/VirtualBox/VMMR0.r0
716 %{_libdir}/VirtualBox/EfiThunk
717 %{_libdir}/VirtualBox/VBoxEFI32.fd
718 %{_libdir}/VirtualBox/VBoxEFI64.fd
719 %{_libdir}/VirtualBox/components/VBoxXPCOMBase.xpt
720 %{_libdir}/VirtualBox/components/VirtualBox_XPCOM.xpt
721 %attr(755,root,root) %{_libdir}/VirtualBox/components/VBoxC.so
722 %attr(755,root,root) %{_libdir}/VirtualBox/components/VBoxSVCM.so
723 %attr(755,root,root) %{_libdir}/VirtualBox/components/VBoxXPCOMIPCC.so
724 %lang(ar) %{_libdir}/VirtualBox/nls/*_ar.qm
725 %lang(bg) %{_libdir}/VirtualBox/nls/*_bg.qm
726 %lang(ca) %{_libdir}/VirtualBox/nls/*_ca.qm
727 %lang(ca_VA) %{_libdir}/VirtualBox/nls/*_ca_VA.qm
728 %lang(cs) %{_libdir}/VirtualBox/nls/*_cs.qm
729 %lang(da) %{_libdir}/VirtualBox/nls/*_da.qm
730 %lang(de) %{_libdir}/VirtualBox/nls/*_de.qm
731 %lang(el) %{_libdir}/VirtualBox/nls/*_el.qm
732 %lang(en) %{_libdir}/VirtualBox/nls/*_en.qm
733 %lang(es) %{_libdir}/VirtualBox/nls/*_es.qm
734 %lang(eu) %{_libdir}/VirtualBox/nls/*_eu.qm
735 %lang(fi) %{_libdir}/VirtualBox/nls/*_fi.qm
736 %lang(fr) %{_libdir}/VirtualBox/nls/*_fr.qm
737 %lang(gl_ES) %{_libdir}/VirtualBox/nls/*_gl_ES.qm
738 %lang(hu) %{_libdir}/VirtualBox/nls/*_hu.qm
739 %lang(id) %{_libdir}/VirtualBox/nls/*_id.qm
740 %lang(it) %{_libdir}/VirtualBox/nls/*_it.qm
741 %lang(ja) %{_libdir}/VirtualBox/nls/*_ja.qm
742 %lang(km_KH) %{_libdir}/VirtualBox/nls/*_km_KH.qm
743 %lang(ko) %{_libdir}/VirtualBox/nls/*_ko.qm
744 %lang(lt) %{_libdir}/VirtualBox/nls/*_lt.qm
745 %lang(nl) %{_libdir}/VirtualBox/nls/*_nl.qm
746 %lang(pl) %{_libdir}/VirtualBox/nls/*_pl.qm
747 %lang(pt) %{_libdir}/VirtualBox/nls/*_pt.qm
748 %lang(pt_BR) %{_libdir}/VirtualBox/nls/*_pt_BR.qm
749 %lang(ro) %{_libdir}/VirtualBox/nls/*_ro.qm
750 %lang(ru) %{_libdir}/VirtualBox/nls/*_ru.qm
751 %lang(sk) %{_libdir}/VirtualBox/nls/*_sk.qm
752 %lang(sr) %{_libdir}/VirtualBox/nls/*_sr.qm
753 %lang(sv) %{_libdir}/VirtualBox/nls/*_sv.qm
754 %lang(tr) %{_libdir}/VirtualBox/nls/*_tr.qm
755 %lang(uk) %{_libdir}/VirtualBox/nls/*_uk.qm
756 %lang(zh_CN) %{_libdir}/VirtualBox/nls/*_zh_CN.qm
757 %lang(zh_TW) %{_libdir}/VirtualBox/nls/*_zh_TW.qm
758 %{_pixmapsdir}/VBox.png
759 %{_desktopdir}/*.desktop
762 %defattr(644,root,root,755)
763 %{_libdir}/VirtualBox/additions/VBoxGuestAdditions.iso
766 %defattr(644,root,root,755)
767 # NOTE: unfinished, should contain .desktop files for starting up mouse
768 # integration and other desktop services
769 # NOTE: the filelist is incopmplete too
770 %attr(755,root,root) %{_bindir}/VBoxService
772 %files -n pam-pam_vbox
773 %defattr(644,root,root,755)
774 %attr(755,root,root) /%{_lib}/security/pam_vbox.so
777 %defattr(644,root,root,755)
778 %config(noreplace) %verify(not md5 mtime size) /etc/udev/rules.d/virtualbox.rules
780 %files -n xorg-driver-input-vboxmouse
781 %defattr(644,root,root,755)
782 %attr(755,root,root) %{_libdir}/xorg/modules/input/vboxmouse_drv.so
784 %files -n xorg-driver-video-vboxvideo
785 %defattr(644,root,root,755)
786 %attr(755,root,root) %{_libdir}/xorg/modules/drivers/vboxvideo_drv.so
787 %attr(755,root,root) %{_libdir}/xorg/modules/dri/vboxvideo_dri.so
788 # vboxvideo_dri.so deps
789 %attr(755,root,root) %{_libdir}/VBoxOGLarrayspu.so
790 %attr(755,root,root) %{_libdir}/VBoxOGLcrutil.so
791 %attr(755,root,root) %{_libdir}/VBoxOGLerrorspu.so
792 %attr(755,root,root) %{_libdir}/VBoxOGLfeedbackspu.so
793 %attr(755,root,root) %{_libdir}/VBoxOGLpackspu.so
794 %attr(755,root,root) %{_libdir}/VBoxOGLpassthroughspu.so
798 %files -n kernel%{_alt_kernel}-misc-vboxguest
799 %defattr(644,root,root,755)
800 %attr(754,root,root) /etc/rc.d/init.d/vboxguest
801 /lib/modules/%{_kernel_ver}/misc/vboxguest.ko*
803 %files -n kernel%{_alt_kernel}-misc-vboxdrv
804 %defattr(644,root,root,755)
805 %attr(754,root,root) /etc/rc.d/init.d/vboxdrv
806 /lib/modules/%{_kernel_ver}/misc/vboxdrv.ko*
808 %files -n kernel%{_alt_kernel}-misc-vboxnetadp
809 %defattr(644,root,root,755)
810 %attr(754,root,root) /etc/rc.d/init.d/vboxnetadp
811 /lib/modules/%{_kernel_ver}/misc/vboxnetadp.ko*
813 %files -n kernel%{_alt_kernel}-misc-vboxnetflt
814 %defattr(644,root,root,755)
815 %attr(754,root,root) /etc/rc.d/init.d/vboxnetflt
816 /lib/modules/%{_kernel_ver}/misc/vboxnetflt.ko*
818 %files -n kernel%{_alt_kernel}-misc-vboxsf
819 %defattr(644,root,root,755)
820 %attr(754,root,root) /etc/rc.d/init.d/vboxsf
821 %attr(755,root,root) %{_sbindir}/mount.vboxsf
822 /lib/modules/%{_kernel_ver}/misc/vboxsf.ko*
824 %files -n kernel%{_alt_kernel}-misc-vboxvideo
825 %defattr(644,root,root,755)
826 /lib/modules/%{_kernel_ver}/misc/vboxvideo.ko*