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: 84de65bddb365ba61eddd3b112b303e5
42 Source1: http://download.virtualbox.org/virtualbox/%{version}/UserManual.pdf
43 # Source1-md5: 322feb471c55b81e95e0caecdc93efb0
44 Source2: http://download.virtualbox.org/virtualbox/%{version}/VBoxGuestAdditions_%{version}.iso
45 # Source2-md5: 023cc07b07e0b3850c5e8c354ddc6075
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.patch
55 Patch1: %{pname}-configure-spaces.patch
56 Patch2: %{pname}-export_modules.patch
57 Patch3: %{pname}-VBoxSysInfo.patch
58 Patch4: %{pname}-warning_workaround.patch
59 Patch5: %{pname}-vnc.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.6.1
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 Requires: kernel%{_alt_kernel}-misc-vboxsf = %{version}-%{rel}@%{_kernel_ver_str}
208 Requires: 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) <= 9.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: xorg-xserver-libdri >= 1.7.4
250 Requires: xorg-xserver-server >= 1.0.99.901
251 %if "%{pld_release}" == "ti"
252 Requires: xorg-xserver-server(videodrv-abi) <= 6.0
254 Requires: xorg-xserver-server(videodrv-abi) <= 7.0
256 Requires: xorg-xserver-server(videodrv-abi) >= 2.0
258 %description -n xorg-driver-video-vboxvideo
259 X.org video driver for VirtualBox OSE guest OS.
261 %description -n xorg-driver-video-vboxvideo -l pl.UTF-8
262 Sterownik grafiki dla systemu gościa w VirtualBoksie OSE.
264 %package -n kernel%{_alt_kernel}-misc-vboxguest
265 Summary: VirtualBox OSE Guest Additions for Linux Module
266 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa OSE
267 Release: %{rel}@%{_kernel_ver_str}
269 Requires(post,postun): /sbin/depmod
270 Requires: dev >= 2.9.0-7
271 %if %{with dist_kernel}
272 %requires_releq_kernel
273 Requires(postun): %releq_kernel
275 Provides: kernel(vboxguest) = %{version}-%{rel}
276 Obsoletes: kernel%{_alt_kernel}-misc-vboxadd
277 Conflicts: kernel%{_alt_kernel}-misc-vboxdrv
279 %description -n kernel%{_alt_kernel}-misc-vboxguest
280 VirtualBox OSE Guest Additions for Linux Module.
282 You should install this package in your Guest OS.
284 %description -n kernel%{_alt_kernel}-misc-vboxguest -l pl.UTF-8
285 Moduł jądra Linuksa vboxguest dla VirtualBoksa OSE - dodatki dla
288 %package -n kernel%{_alt_kernel}-misc-vboxdrv
289 Summary: VirtualBox OSE Support Driver
290 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa OSE
291 Release: %{rel}@%{_kernel_ver_str}
293 Requires(post,postun): /sbin/depmod
294 Requires: dev >= 2.9.0-7
295 %if %{with dist_kernel}
296 %requires_releq_kernel
297 Requires(postun): %releq_kernel
299 Provides: kernel(vboxdrv) = %{version}-%{rel}
301 %description -n kernel%{_alt_kernel}-misc-vboxdrv
302 VirtualBox OSE Support Driver.
304 You should install this package in your Host OS.
306 %description -n kernel%{_alt_kernel}-misc-vboxdrv -l pl.UTF-8
307 Moduł jądra Linuksa dla VirtualBoksa OSE - sterownik wsparcia dla
310 %package -n kernel%{_alt_kernel}-misc-vboxnetadp
311 Summary: VirtualBox OSE Network Adapter Driver
312 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa OSE
313 Release: %{rel}@%{_kernel_ver_str}
315 Requires(post,postun): /sbin/depmod
316 Requires: dev >= 2.9.0-7
317 Requires: kernel%{_alt_kernel}-misc-vboxdrv
318 %if %{with dist_kernel}
319 %requires_releq_kernel
320 Requires(postun): %releq_kernel
322 Provides: kernel(vboxnetflt) = %{version}-%{rel}
324 %description -n kernel%{_alt_kernel}-misc-vboxnetadp
325 VirtualBox OSE Network Adapter Driver.
327 You should install this package in your Host OS.
329 %description -n kernel%{_alt_kernel}-misc-vboxnetadp -l pl.UTF-8
330 Moduł jądra Linuksa dla VirtualBoksa OSE - sterownik witrualnej karty
333 %package -n kernel%{_alt_kernel}-misc-vboxnetflt
334 Summary: VirtualBox OSE Network Filter Driver
335 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa OSE
336 Release: %{rel}@%{_kernel_ver_str}
338 Requires(post,postun): /sbin/depmod
339 Requires: dev >= 2.9.0-7
340 Requires: kernel%{_alt_kernel}-misc-vboxdrv
341 %if %{with dist_kernel}
342 %requires_releq_kernel
343 Requires(postun): %releq_kernel
345 Provides: kernel(vboxnetflt) = %{version}-%{rel}
347 %description -n kernel%{_alt_kernel}-misc-vboxnetflt
348 VirtualBox OSE Network Filter Driver.
350 You should install this package in your Host OS.
352 %description -n kernel%{_alt_kernel}-misc-vboxnetflt -l pl.UTF-8
353 Moduł jądra Linuksa dla VirtualBoksa OSE - sterownik filtrowania sieci
354 dla systemu głównego.
356 %package -n kernel%{_alt_kernel}-misc-vboxsf
357 Summary: Host file system access (Shared Folders) for VirtualBox OSE
358 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa OSE
359 Release: %{rel}@%{_kernel_ver_str}
361 Requires(post,postun): /sbin/depmod
362 Requires: dev >= 2.9.0-7
363 Requires: kernel%{_alt_kernel}-misc-vboxguest
364 %if %{with dist_kernel}
365 %requires_releq_kernel
366 Requires(postun): %releq_kernel
368 Provides: kernel(vboxsf) = %{version}-%{rel}
369 Obsoletes: kernel%{_alt_kernel}-misc-vboxvfs
371 %description -n kernel%{_alt_kernel}-misc-vboxsf
372 Host file system access (Shared Folders) for VirtualBox OSE.
374 You should install this package in your Guest OS.
376 %description -n kernel%{_alt_kernel}-misc-vboxsf -l pl.UTF-8
377 Moduł jądra Linuksa dla VirtualBoksa OSE - dostęp do plików systemu
378 głównego z poziomu systemu gościa.
380 %package -n kernel%{_alt_kernel}-misc-vboxvideo
381 Summary: DRM support for VirtualBox OSE
382 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa OSE
383 Release: %{rel}@%{_kernel_ver_str}
385 Requires(post,postun): /sbin/depmod
386 Requires: dev >= 2.9.0-7
387 %if %{with dist_kernel}
388 %requires_releq_kernel
389 %if "%{rpm_build_macros}" >= "1.531"
390 %requires_releq_kernel -n drm
392 Requires(postun): %releq_kernel
394 Provides: kernel(vboxvideo) = %{version}-%{rel}
396 %description -n kernel%{_alt_kernel}-misc-vboxvideo
397 DRM support for VirtualBox OSE.
399 You should install this package in your Guest OS.
401 %description -n kernel%{_alt_kernel}-misc-vboxvideo -l pl.UTF-8
402 Moduł jądra Linuksa dla VirtualBoksa OSE - sterownik obsługi DRM.
405 %setup -q -n %{pname}-%{version}_OSE
413 %{__sed} -i -e 's,#VBOX_WITH_VNC,VBOX_WITH_VNC,'
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_18.so,%{_libdir}/xorg/modules/input/vboxmouse_drv.so}
488 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/vboxvideo_drv_18.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 %attr(755,root,root) %{_bindir}/VBoxService
769 %files -n pam-pam_vbox
770 %defattr(644,root,root,755)
771 %attr(755,root,root) /%{_lib}/security/pam_vbox.so
774 %defattr(644,root,root,755)
775 %config(noreplace) %verify(not md5 mtime size) /etc/udev/rules.d/virtualbox.rules
777 %files -n xorg-driver-input-vboxmouse
778 %defattr(644,root,root,755)
779 %attr(755,root,root) %{_libdir}/xorg/modules/input/vboxmouse_drv.so
781 %files -n xorg-driver-video-vboxvideo
782 %defattr(644,root,root,755)
783 %attr(755,root,root) %{_libdir}/xorg/modules/drivers/vboxvideo_drv.so
784 %attr(755,root,root) %{_libdir}/xorg/modules/dri/vboxvideo_dri.so
785 # vboxvideo_dri.so deps
786 %attr(755,root,root) %{_libdir}/VBoxOGLarrayspu.so
787 %attr(755,root,root) %{_libdir}/VBoxOGLcrutil.so
788 %attr(755,root,root) %{_libdir}/VBoxOGLerrorspu.so
789 %attr(755,root,root) %{_libdir}/VBoxOGLfeedbackspu.so
790 %attr(755,root,root) %{_libdir}/VBoxOGLpackspu.so
791 %attr(755,root,root) %{_libdir}/VBoxOGLpassthroughspu.so
795 %files -n kernel%{_alt_kernel}-misc-vboxguest
796 %defattr(644,root,root,755)
797 %attr(754,root,root) /etc/rc.d/init.d/vboxguest
798 /lib/modules/%{_kernel_ver}/misc/vboxguest.ko*
800 %files -n kernel%{_alt_kernel}-misc-vboxdrv
801 %defattr(644,root,root,755)
802 %attr(754,root,root) /etc/rc.d/init.d/vboxdrv
803 /lib/modules/%{_kernel_ver}/misc/vboxdrv.ko*
805 %files -n kernel%{_alt_kernel}-misc-vboxnetadp
806 %defattr(644,root,root,755)
807 %attr(754,root,root) /etc/rc.d/init.d/vboxnetadp
808 /lib/modules/%{_kernel_ver}/misc/vboxnetadp.ko*
810 %files -n kernel%{_alt_kernel}-misc-vboxnetflt
811 %defattr(644,root,root,755)
812 %attr(754,root,root) /etc/rc.d/init.d/vboxnetflt
813 /lib/modules/%{_kernel_ver}/misc/vboxnetflt.ko*
815 %files -n kernel%{_alt_kernel}-misc-vboxsf
816 %defattr(644,root,root,755)
817 %attr(754,root,root) /etc/rc.d/init.d/vboxsf
818 %attr(755,root,root) %{_sbindir}/mount.vboxsf
819 /lib/modules/%{_kernel_ver}/misc/vboxsf.ko*
821 %files -n kernel%{_alt_kernel}-misc-vboxvideo
822 %defattr(644,root,root,755)
823 /lib/modules/%{_kernel_ver}/misc/vboxvideo.ko*