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.
11 %bcond_without doc # don't build the documentation
12 %bcond_without dist_kernel # without distribution kernel
13 %bcond_without kernel # don't build kernel module
14 %bcond_without userspace # don't build userspace package
15 %bcond_with force_userspace # force userspace build (useful if alt_kernel is set)
19 %undefine with_dist_kernel
21 %if "%{_alt_kernel}" != "%{nil}"
22 %undefine with_userspace
24 %if %{with force_userspace}
25 %define with_userspace 1
27 %if %{without userspace}
28 # nothing to be placed to debuginfo package
29 %define _enable_debug_packages 0
33 %define pname VirtualBox
35 Summary: VirtualBox OSE - x86 hardware virtualizer
36 Summary(pl.UTF-8): VirtualBox OSE - wirtualizator sprzętu x86
37 Name: %{pname}%{_alt_kernel}
41 Group: Applications/Emulators
42 Source0: http://download.virtualbox.org/virtualbox/%{version}/%{pname}-%{version}.tar.bz2
43 # Source0-md5: b4770ca14d1a8cbad9b3eb0e0028ff4b
44 Source1: http://download.virtualbox.org/virtualbox/%{version}/VBoxGuestAdditions_%{version}.iso
45 # Source1-md5: 88604a0e94bf1b8c0d0f18fe4314cfdf
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 Patch6: %{pname}-vboxnetflt-no-qdisc.patch
62 Patch7: 16-no-update.patch
63 Patch8: 18-system-xorg.patch
64 Patch9: 22-no-static-libstdcpp.patch
66 Patch10: %{pname}-gcc.patch
67 URL: http://www.virtualbox.org/
68 BuildRequires: rpmbuild(macros) >= 1.535
71 BuildRequires: gcc-multilib
72 BuildRequires: glibc-devel(i686)
73 BuildRequires: libstdc++-multilib-devel
74 BuildRequires: libstdc++-multilib-static
76 %if "%{pld_release}" == "ac"
77 BuildRequires: XFree86-devel
79 BuildRequires: xorg-lib-libXcomposite-devel
80 BuildRequires: xorg-lib-libXcursor-devel
81 BuildRequires: xorg-lib-libXmu-devel
82 BuildRequires: xorg-xserver-server-devel
84 BuildRequires: OpenGL-GLU-devel
85 BuildRequires: OpenGL-devel
86 BuildRequires: QtGui-devel
87 BuildRequires: QtNetwork-devel
88 BuildRequires: QtOpenGL-devel
89 BuildRequires: SDL-devel >= 1.2.7
91 BuildRequires: alsa-lib-devel >= 1.0.6
95 BuildRequires: curl-devel
96 %{?with_doc:BuildRequires: docbook-dtd44-xml}
97 BuildRequires: gcc >= 5:3.2.3
98 BuildRequires: libIDL-devel
99 BuildRequires: libcap-static
100 BuildRequires: libdrm-devel
101 BuildRequires: libpng-devel >= 1.2.5
102 BuildRequires: libstdc++-devel >= 5:3.2.3
103 BuildRequires: libstdc++-static >= 5:3.2.3
104 BuildRequires: libuuid-devel
105 BuildRequires: libvncserver-devel
106 BuildRequires: libxml2-devel >= 2.6.26
107 BuildRequires: libxslt-devel >= 1.1.17
108 BuildRequires: libxslt-progs >= 1.1.17
109 BuildRequires: mkisofs
110 BuildRequires: makeself
111 BuildRequires: pam-devel
112 BuildRequires: pixman-devel
113 BuildRequires: pkgconfig
114 BuildRequires: pulseaudio-devel >= 0.9.0
115 BuildRequires: python-devel
116 BuildRequires: python-modules
117 BuildRequires: qt4-build >= 4.2.0
118 BuildRequires: qt4-linguist
119 BuildRequires: sed >= 4.0
121 BuildRequires: texlive-fonts-bitstream
122 BuildRequires: texlive-fonts-other
123 BuildRequires: texlive-fonts-type1-bitstream
124 BuildRequires: texlive-format-pdflatex
125 BuildRequires: texlive-latex-ucs
126 BuildRequires: texlive-xetex
129 BuildRequires: xalan-c-devel >= 1.10.0
130 BuildRequires: xerces-c-devel >= 2.6.0
131 BuildRequires: zlib-devel >= 1.2.1
133 %if %{with dist_kernel}
134 BuildRequires: kernel%{_alt_kernel}-module-build >= 3:2.6.20
136 Requires(post,preun): /sbin/chkconfig
137 Requires(postun): /usr/sbin/groupdel
138 Requires(pre): /usr/bin/getgid
139 Requires(pre): /usr/sbin/groupadd
140 Requires: QtCore >= 4.7.0
142 Provides: group(vbox)
143 ExclusiveArch: %{ix86} %{x8664}
144 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
147 %define vbox_platform linux.amd64
149 %define vbox_platform linux.x86
151 %define outdir out/%{vbox_platform}/release/bin
152 %define _sbindir /sbin
155 Oracle VirtualBox OSE is a general-purpose full virtualizer for x86
156 hardware. Targeted at server, desktop and embedded use, it is now the
157 only professional-quality virtualization solution that is also Open
160 Some of the features of VirtualBox OSE are:
162 Modularity: VirtualBox OSE has an extremely modular design with
163 well-defined internal programming interfaces and a client/server
164 design. This makes it easy to control it from several interfaces at
165 once: for example, you can start a virtual machine in a typical
166 virtual machine GUI and then control that machine from the command
167 line. VirtualBox OSE also comes with a full Software Development Kit:
168 even though it is Open Source Software, you don't have to hack the
169 source to write a new interface for VirtualBox OSE.
171 Virtual machine descriptions in XML: the configuration settings of
172 virtual machines are stored entirely in XML and are independent of the
173 local machines. Virtual machine definitions can therefore easily be
174 ported to other computers.
176 You should install this package in your Host OS.
178 %description -l pl.UTF-8
179 Oracle VirtualBox OSE jest emulatorem sprzętu x86. Kierowany do
180 zastosowań serwerowych, desktopowych oraz wbudowanych jest obecnie
181 jedynym wysokiej jakości rozwiązaniem wirtualizacyjnym dostępnym
182 również jako Otwarte Oprogramowanie.
184 Przykładowe cechy VirtualBoksa:
186 Modularność: VirtualBox OSE jest wysoce zmodularyzowanym produktem z
187 dobrze zaprojektowanym wewnętrznym interfejsem programowym typu
188 klient/serwer. Dzięki temu można łatwo kontrolować go za pomocą
189 różnych interfejsów. Można na przykład uruchomić maszynę wirtualną z
190 poziomu interfejsu graficznego, a później kontrolować ją z linii
191 poleceń. VirtualBox OSE dostarcza również pełny pakiet deweloperski,
192 co pozwala stworzyć dowolny inny interfejs zarządzania maszyną
195 Opisy maszyn wirtualnych w XML-u: konfiguracje poszczególnych maszyn
196 wirtualnych są w całości przechowywane w XML-u i są niezależne od
197 lokalnej maszyny. Dzięki temu można szybko i łatwo przenieść
198 konfigurację maszyny wirtualnej na inny komputer.
201 Summary: udev rules for VirtualBox OSE kernel modules
202 Summary(pl.UTF-8): Reguły udev dla modułów jądra Linuksa dla VirtualBoksa
207 udev rules for VirtualBox OSE kernel modules.
209 You should install this package in your Host OS and in Guest OS.
211 %description udev -l pl.UTF-8
212 Reguły udev dla modułów jądra Linuksa dla VirtualBoksa.
215 Summary: VirtualBox Guest Additions
217 Requires: %{name} = %{version}-%{release}
219 %description additions
220 VirtualBox Guest Additions.
222 This package contains ISO9660 image with drivers for Guest OS.
224 You should install this package in your Host OS.
227 Summary: VirtualBox Guest Additions
229 Suggests: kernel%{_alt_kernel}-misc-vboxsf = %{version}-%{rel}@%{_kernel_ver_str}
230 Suggests: kernel%{_alt_kernel}-misc-vboxvideo = %{version}-%{rel}@%{_kernel_ver_str}
231 Requires: xorg-driver-input-vboxmouse = %{version}-%{release}
232 Requires: xorg-driver-video-vboxvideo = %{version}-%{release}
235 Tools that utilize kernel modules for supporting integration with the
236 Host, including file sharing and tracking of mouse pointer movement
237 and X.org X11 video and mouse driver.
239 You should install this package in your Guest OS.
241 %package -n pam-pam_vbox
242 Summary: PAM module to perform automated guest logons
245 %description -n pam-pam_vbox
246 PAM module (Pluggable Authentication Module) which can be used to
247 perform automated guest logons.
249 %package -n xorg-driver-input-vboxmouse
250 Summary: X.org mouse driver for VirtualBox OSE guest OS
251 Summary(pl.UTF-8): Sterownik myszy dla systemu gościa w VirtualBoksie OSE
252 Group: X11/Applications
253 Requires: xorg-xserver-server >= 1.0.99.901
254 Requires: xorg-xserver-server(xinput-abi) <= 12.2
255 Requires: xorg-xserver-server(xinput-abi) >= 4.0
257 %description -n xorg-driver-input-vboxmouse
258 X.org mouse driver for VirtualBox OSE guest OS.
260 %description -n xorg-driver-input-vboxmouse -l pl.UTF-8
261 Sterownik myszy dla systemu gościa w VirtualBoksie.
263 %package -n xorg-driver-video-vboxvideo
264 Summary: X.org video driver for VirtualBox OSE guest OS
265 Summary(pl.UTF-8): Sterownik grafiki dla systemu gościa w VirtualBoksie OSE
266 Group: X11/Applications
267 Requires: Mesa-dri-driver-swrast
268 Requires: xorg-xserver-libdri >= 1.7.4
269 Requires: xorg-xserver-server >= 1.0.99.901
270 Requires: xorg-xserver-server(videodrv-abi) <= 10.0
271 Requires: xorg-xserver-server(videodrv-abi) >= 2.0
273 %description -n xorg-driver-video-vboxvideo
274 X.org video driver for VirtualBox OSE guest OS.
276 %description -n xorg-driver-video-vboxvideo -l pl.UTF-8
277 Sterownik grafiki dla systemu gościa w VirtualBoksie OSE.
279 %package -n kernel%{_alt_kernel}-misc-vboxguest
280 Summary: VirtualBox OSE Guest Additions for Linux Module
281 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa OSE
282 Release: %{rel}@%{_kernel_ver_str}
284 Requires(post,postun): /sbin/depmod
285 Requires: dev >= 2.9.0-7
286 %if %{with dist_kernel}
287 %requires_releq_kernel
288 Requires(postun): %releq_kernel
290 Provides: kernel(vboxguest) = %{version}-%{rel}
291 Obsoletes: kernel%{_alt_kernel}-misc-vboxadd
292 Conflicts: kernel%{_alt_kernel}-misc-vboxdrv
294 %description -n kernel%{_alt_kernel}-misc-vboxguest
295 VirtualBox OSE Guest Additions for Linux Module.
297 You should install this package in your Guest OS.
299 %description -n kernel%{_alt_kernel}-misc-vboxguest -l pl.UTF-8
300 Moduł jądra Linuksa vboxguest dla VirtualBoksa OSE - dodatki dla
303 %package -n kernel%{_alt_kernel}-misc-vboxdrv
304 Summary: VirtualBox OSE Support Driver
305 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa OSE
306 Release: %{rel}@%{_kernel_ver_str}
308 Requires(post,postun): /sbin/depmod
309 Requires: dev >= 2.9.0-7
310 %if %{with dist_kernel}
311 %requires_releq_kernel
312 Requires(postun): %releq_kernel
314 Provides: kernel(vboxdrv) = %{version}-%{rel}
316 %description -n kernel%{_alt_kernel}-misc-vboxdrv
317 VirtualBox OSE Support Driver.
319 You should install this package in your Host OS.
321 %description -n kernel%{_alt_kernel}-misc-vboxdrv -l pl.UTF-8
322 Moduł jądra Linuksa dla VirtualBoksa OSE - sterownik wsparcia dla
325 %package -n kernel%{_alt_kernel}-misc-vboxnetadp
326 Summary: VirtualBox OSE Network Adapter Driver
327 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa OSE
328 Release: %{rel}@%{_kernel_ver_str}
330 Requires(post,postun): /sbin/depmod
331 Requires: dev >= 2.9.0-7
332 Requires: kernel%{_alt_kernel}-misc-vboxdrv
333 %if %{with dist_kernel}
334 %requires_releq_kernel
335 Requires(postun): %releq_kernel
337 Provides: kernel(vboxnetflt) = %{version}-%{rel}
339 %description -n kernel%{_alt_kernel}-misc-vboxnetadp
340 VirtualBox OSE Network Adapter Driver.
342 You should install this package in your Host OS.
344 %description -n kernel%{_alt_kernel}-misc-vboxnetadp -l pl.UTF-8
345 Moduł jądra Linuksa dla VirtualBoksa OSE - sterownik witrualnej karty
348 %package -n kernel%{_alt_kernel}-misc-vboxnetflt
349 Summary: VirtualBox OSE Network Filter Driver
350 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa OSE
351 Release: %{rel}@%{_kernel_ver_str}
353 Requires(post,postun): /sbin/depmod
354 Requires: dev >= 2.9.0-7
355 Requires: kernel%{_alt_kernel}-misc-vboxdrv
356 %if %{with dist_kernel}
357 %requires_releq_kernel
358 Requires(postun): %releq_kernel
360 Provides: kernel(vboxnetflt) = %{version}-%{rel}
362 %description -n kernel%{_alt_kernel}-misc-vboxnetflt
363 VirtualBox OSE Network Filter Driver.
365 You should install this package in your Host OS.
367 %description -n kernel%{_alt_kernel}-misc-vboxnetflt -l pl.UTF-8
368 Moduł jądra Linuksa dla VirtualBoksa OSE - sterownik filtrowania sieci
369 dla systemu głównego.
371 %package -n kernel%{_alt_kernel}-misc-vboxsf
372 Summary: Host file system access (Shared Folders) for VirtualBox OSE
373 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa OSE
374 Release: %{rel}@%{_kernel_ver_str}
376 Requires(post,postun): /sbin/depmod
377 Requires: dev >= 2.9.0-7
378 Requires: kernel%{_alt_kernel}-misc-vboxguest
379 %if %{with dist_kernel}
380 %requires_releq_kernel
381 Requires(postun): %releq_kernel
383 Provides: kernel(vboxsf) = %{version}-%{rel}
384 Obsoletes: kernel%{_alt_kernel}-misc-vboxvfs
386 %description -n kernel%{_alt_kernel}-misc-vboxsf
387 Host file system access (Shared Folders) for VirtualBox OSE.
389 You should install this package in your Guest OS.
391 %description -n kernel%{_alt_kernel}-misc-vboxsf -l pl.UTF-8
392 Moduł jądra Linuksa dla VirtualBoksa OSE - dostęp do plików systemu
393 głównego z poziomu systemu gościa.
395 %package -n kernel%{_alt_kernel}-misc-vboxvideo
396 Summary: DRM support for VirtualBox OSE
397 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa OSE
398 Release: %{rel}@%{_kernel_ver_str}
400 Requires(post,postun): /sbin/depmod
401 Requires: dev >= 2.9.0-7
402 %if %{with dist_kernel}
403 %requires_releq_kernel
404 %if "%{rpm_build_macros}" >= "1.531"
405 %requires_releq_kernel -n drm
407 Requires(postun): %releq_kernel
409 Provides: kernel(vboxvideo) = %{version}-%{rel}
411 %description -n kernel%{_alt_kernel}-misc-vboxvideo
412 DRM support for VirtualBox OSE.
414 You should install this package in your Guest OS.
416 %description -n kernel%{_alt_kernel}-misc-vboxvideo -l pl.UTF-8
417 Moduł jądra Linuksa dla VirtualBoksa OSE - sterownik obsługi DRM.
420 %setup -q -n %{pname}-%{version}_OSE
428 %{__sed} -i -e 's,@VBOX_DOC_PATH@,%{_docdir}/%{name}-%{version},' \
429 -e 's/Categories=.*/Categories=Utility;Emulator;/' src/VBox/Installer/common/virtualbox.desktop.in
431 sed 's#@LIBDIR@#%{_libdir}#' < %{SOURCE8} > VirtualBox-wrapper.sh
433 install -d PLD-MODULE-BUILD/{GuestDrivers,HostDrivers}
435 ../src/VBox/Additions/linux/export_modules guest-modules.tar.gz
436 tar -zxf guest-modules.tar.gz -C GuestDrivers
438 ../src/VBox/HostDrivers/linux/export_modules host-modules.tar.gz --without-hardening
439 tar -zxf host-modules.tar.gz -C HostDrivers
448 %if %{with userspace}
449 echo "VBOX_WITH_TESTCASES := " > LocalConfig.kmk
451 --with-gcc="%{__cc}" \
452 --with-g++="%{__cxx}" \
453 %{!?with_doc:--disable-docs} \
455 --disable-hardening \
460 %{?with_verbose:KBUILD_VERBOSE=3} \
462 XSERVER_VERSION="$(rpm -q --queryformat '%{VERSION}\n' xorg-xserver-server-devel | awk -F. ' { print $1 $2 } ' 2> /dev/null || echo ERROR)"
466 cd PLD-MODULE-BUILD/HostDrivers
467 %build_kernel_modules -m vboxdrv -C vboxdrv
468 %build_kernel_modules -m vboxnetadp -C vboxnetadp
469 %build_kernel_modules -m vboxnetflt -C vboxnetflt
472 %build_kernel_modules -m vboxguest -C vboxguest
473 cp -a vboxguest/Module.symvers vboxsf
474 %build_kernel_modules -m vboxsf -C vboxsf -c
475 %build_kernel_modules -m vboxvideo -C vboxvideo_drm
477 %{__cc} %{rpmcflags} %{rpmldflags} -Wall -Werror src/VBox/Additions/linux/sharedfolders/{mount.vboxsf.c,vbsfmount.c} -o mount.vboxsf
481 rm -rf $RPM_BUILD_ROOT
483 %if %{with userspace}
484 install -d $RPM_BUILD_ROOT{%{_bindir},%{_sbindir},%{_libdir}/%{pname}/ExtensionPacks} \
485 $RPM_BUILD_ROOT{%{_pixmapsdir},%{_desktopdir}} \
486 $RPM_BUILD_ROOT%{_libdir}/xorg/modules/{drivers,dri,input}
488 # test if we can hardlink -- %{_builddir} and $RPM_BUILD_ROOT on same partition
489 if cp -al VBox.png $RPM_BUILD_ROOT/Vbox.png 2>/dev/null; then
491 rm -f $RPM_BUILD_ROOT/VBox.png
494 cp -a$l %{outdir}/* $RPM_BUILD_ROOT%{_libdir}/%{pname}
496 cp -a %{SOURCE1} $RPM_BUILD_ROOT%{_libdir}/VirtualBox/additions/VBoxGuestAdditions.iso
497 install -p %{SOURCE9} $RPM_BUILD_ROOT%{_sbindir}/mount.vdi
498 install -p VirtualBox-wrapper.sh $RPM_BUILD_ROOT%{_libdir}/%{pname}
499 for f in {VBox{BFE,Headless,Manage,SDL,SVC,Tunctl,XPCOMIPCD},VirtualBox}; do
500 ln -s %{_libdir}/%{pname}/VirtualBox-wrapper.sh $RPM_BUILD_ROOT%{_bindir}/$f
503 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname},%{_pixmapsdir}}/VBox.png
504 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname},%{_desktopdir}}/virtualbox.desktop
506 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/vboxmouse_drv.so,%{_libdir}/xorg/modules/input/vboxmouse_drv.so}
507 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/vboxvideo_drv.so,%{_libdir}/xorg/modules/drivers/vboxvideo_drv.so}
508 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/VBoxOGL.so,%{_libdir}/xorg/modules/dri/vboxvideo_dri.so}
509 # xorg other driver versions
510 rm -vf $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/vboxmouse_drv*.{o,so}
511 rm -vf $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/vboxvideo_drv*.{o,so}
513 # XXX: where else to install them that vboxvideo_dri.so finds them? patch with rpath?
514 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLarrayspu.so
515 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLcrutil.so
516 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLerrorspu.so
517 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLfeedbackspu.so
518 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLpackspu.so
519 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLpassthroughspu.so
521 install -d $RPM_BUILD_ROOT/etc/udev/rules.d
522 cp -a %{SOURCE10} $RPM_BUILD_ROOT/etc/udev/rules.d/virtualbox.rules
524 install -d $RPM_BUILD_ROOT/%{_lib}/security
525 mv $RPM_BUILD_ROOT{%{_libdir}/VirtualBox/additions,/%{_lib}/security}/pam_vbox.so
528 rm -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/{src,sdk,testcase}
529 rm -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/src
530 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxkeyboard.tar.bz2
531 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/tst*
533 # IPRT Testcase / Tool - Source Code Massager.
534 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/scm
537 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxService
541 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPInstall
542 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPLoggerCtl
543 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPUninstall
544 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/VBox.sh
545 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/VBoxClient
546 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/VBoxControl
547 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxshell.py
548 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/xpidl
551 # packaged by kernel part
552 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/mount.vboxsf
556 install -d $RPM_BUILD_ROOT{/etc/{rc.d/init.d,modprobe.d},%{_sbindir}}
557 install -p %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxdrv
558 install -p %{SOURCE4} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxguest
559 install -p %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxnetflt
560 install -p %{SOURCE6} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxsf
561 install -p %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxnetadp
562 %install_kernel_modules -m PLD-MODULE-BUILD/HostDrivers/vboxdrv/vboxdrv -d misc
563 %install_kernel_modules -m PLD-MODULE-BUILD/HostDrivers/vboxnetadp/vboxnetadp -d misc
564 %install_kernel_modules -m PLD-MODULE-BUILD/HostDrivers/vboxnetflt/vboxnetflt -d misc
565 %install_kernel_modules -m PLD-MODULE-BUILD/GuestDrivers/vboxguest/vboxguest -d misc
566 %install_kernel_modules -m PLD-MODULE-BUILD/GuestDrivers/vboxsf/vboxsf -d misc
567 %install_kernel_modules -m PLD-MODULE-BUILD/GuestDrivers/vboxvideo_drm/vboxvideo -d misc
569 install -p mount.vboxsf $RPM_BUILD_ROOT%{_sbindir}/mount.vboxsf
574 rm -rf $RPM_BUILD_ROOT
577 %groupadd -g 221 -r -f vbox
581 You must install vboxdrv kernel module for this software to work:
582 kernel-misc-vboxdrv-%{version}-%{rel}@%{_kernel_ver_str}
584 Additionally you might want to install:
585 kernel-misc-vboxnetadp-%{version}-%{rel}@%{_kernel_ver_str}
586 kernel-misc-vboxnetflt-%{version}-%{rel}@%{_kernel_ver_str}
588 On Guest Linux system you might want to install:
589 kernel-misc-vboxguest-%{version}-%{rel}@%{_kernel_ver_str}
590 kernel-misc-vboxsf-%{version}-%{rel}@%{_kernel_ver_str}
591 kernel-misc-vboxvideo-%{version}-%{rel}@%{_kernel_ver_str}
596 if [ "$1" = "0" ]; then
600 %post -n kernel%{_alt_kernel}-misc-vboxguest
601 %depmod %{_kernel_ver}
602 /sbin/chkconfig --add vboxguest
603 %service vboxguest restart "VirtualBox OSE Guest additions driver"
605 %postun -n kernel%{_alt_kernel}-misc-vboxguest
606 %depmod %{_kernel_ver}
608 %preun -n kernel%{_alt_kernel}-misc-vboxguest
609 if [ "$1" = "0" ]; then
610 %service vboxguest stop
611 /sbin/chkconfig --del vboxguest
614 %post -n kernel%{_alt_kernel}-misc-vboxdrv
615 %depmod %{_kernel_ver}
616 /sbin/chkconfig --add vboxdrv
617 %service vboxdrv restart "VirtualBox OSE Support Driver"
619 %postun -n kernel%{_alt_kernel}-misc-vboxdrv
620 %depmod %{_kernel_ver}
622 %preun -n kernel%{_alt_kernel}-misc-vboxdrv
623 if [ "$1" = "0" ]; then
624 %service vboxdrv stop
625 /sbin/chkconfig --del vboxdrv
628 %post -n kernel%{_alt_kernel}-misc-vboxnetadp
629 %depmod %{_kernel_ver}
630 /sbin/chkconfig --add vboxnetadp
631 %service vboxnetadp restart "VirtualBox OSE Network HostOnly driver"
633 %postun -n kernel%{_alt_kernel}-misc-vboxnetadp
634 %depmod %{_kernel_ver}
636 %preun -n kernel%{_alt_kernel}-misc-vboxnetadp
637 if [ "$1" = "0" ]; then
638 %service vboxnetadp stop
639 /sbin/chkconfig --del vboxnetadp
642 %post -n kernel%{_alt_kernel}-misc-vboxnetflt
643 %depmod %{_kernel_ver}
644 /sbin/chkconfig --add vboxnetflt
645 %service vboxnetflt restart "VirtualBox OSE Network Filter driver"
647 %postun -n kernel%{_alt_kernel}-misc-vboxnetflt
648 %depmod %{_kernel_ver}
650 %preun -n kernel%{_alt_kernel}-misc-vboxnetflt
651 if [ "$1" = "0" ]; then
652 %service vboxnetflt stop
653 /sbin/chkconfig --del vboxnetflt
656 %post -n kernel%{_alt_kernel}-misc-vboxsf
657 %depmod %{_kernel_ver}
658 /sbin/chkconfig --add vboxsf
659 %service vboxsf restart "VirtualBox OSE Host file system access (Shared Folders)"
661 %postun -n kernel%{_alt_kernel}-misc-vboxsf
662 %depmod %{_kernel_ver}
664 %preun -n kernel%{_alt_kernel}-misc-vboxsf
665 if [ "$1" = "0" ]; then
667 /sbin/chkconfig --del vboxsf
670 %post -n kernel%{_alt_kernel}-misc-vboxvideo
671 %depmod %{_kernel_ver}
673 %postun -n kernel%{_alt_kernel}-misc-vboxvideo
674 %depmod %{_kernel_ver}
676 %if %{with userspace}
678 %defattr(644,root,root,755)
679 %{?with_doc:%doc %{outdir}/UserManual.pdf}
680 %dir %{_libdir}/VirtualBox
681 %dir %{_libdir}/VirtualBox/ExtensionPacks
682 %dir %{_libdir}/VirtualBox/additions
683 %dir %{_libdir}/VirtualBox/components
684 %dir %{_libdir}/VirtualBox/icons
685 %dir %{_libdir}/VirtualBox/icons/*x*
686 %dir %{_libdir}/VirtualBox/nls
687 %attr(755,root,root) %{_bindir}/VBoxBFE
688 %attr(755,root,root) %{_bindir}/VBoxHeadless
689 %attr(755,root,root) %{_bindir}/VBoxManage
690 %attr(755,root,root) %{_bindir}/VBoxSDL
691 %attr(755,root,root) %{_bindir}/VBoxSVC
692 %attr(755,root,root) %{_bindir}/VBoxTunctl
693 %attr(755,root,root) %{_bindir}/VBoxXPCOMIPCD
694 %attr(755,root,root) %{_bindir}/VirtualBox
695 %attr(755,root,root) %{_sbindir}/mount.vdi
696 %attr(755,root,root) %{_libdir}/VirtualBox/DBGCPlugInDiggers.so
697 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxAuth.so
698 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxAuthSimple.so
699 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxBFE
700 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxCreateUSBNode.sh
701 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxDbg.so
702 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxDD2.so
703 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxDD.so
704 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxDDU.so
705 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxExtPackHelperApp
706 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxGuestControlSvc.so
707 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxGuestPropSvc.so
708 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxHeadless
709 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxKeyboard.so
710 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxManage
711 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxNetAdpCtl
712 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxNetDHCP
713 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxOGLhostcrutil.so
714 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxOGLhosterrorspu.so
715 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxOGLrenderspu.so
716 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxPython*.so
717 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxREM.so
719 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxREM32.so
720 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxREM64.so
722 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxRT.so
723 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSDL
724 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSharedClipboard.so
725 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSharedCrOpenGL.so
726 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSharedFolders.so
727 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSVC
728 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSysInfo.sh
729 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxTestOGL
730 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxTunctl
731 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxVMM.so
732 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxXPCOMC.so
733 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxXPCOMIPCD
734 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxXPCOM.so
735 %attr(755,root,root) %{_libdir}/VirtualBox/VirtualBox
736 %attr(755,root,root) %{_libdir}/VirtualBox/VirtualBox-wrapper.sh
737 %{_libdir}/VirtualBox/VBoxDD2GC.gc
738 %{_libdir}/VirtualBox/VBoxDDGC.gc
739 %{_libdir}/VirtualBox/VMMGC.gc
740 %{_libdir}/VirtualBox/VBoxDD2R0.r0
741 %{_libdir}/VirtualBox/VBoxDDR0.r0
742 %{_libdir}/VirtualBox/VMMR0.r0
743 %{_libdir}/VirtualBox/EfiThunk
744 %{_libdir}/VirtualBox/VBoxEFI32.fd
745 %{_libdir}/VirtualBox/VBoxEFI64.fd
746 %{_libdir}/VirtualBox/components/VBoxXPCOMBase.xpt
747 %{_libdir}/VirtualBox/components/VirtualBox_XPCOM.xpt
748 %attr(755,root,root) %{_libdir}/VirtualBox/components/VBoxC.so
749 %attr(755,root,root) %{_libdir}/VirtualBox/components/VBoxSVCM.so
750 %attr(755,root,root) %{_libdir}/VirtualBox/components/VBoxXPCOMIPCC.so
751 %lang(ar) %{_libdir}/VirtualBox/nls/*_ar.qm
752 %lang(bg) %{_libdir}/VirtualBox/nls/*_bg.qm
753 %lang(ca) %{_libdir}/VirtualBox/nls/*_ca.qm
754 %lang(ca_VA) %{_libdir}/VirtualBox/nls/*_ca_VA.qm
755 %lang(cs) %{_libdir}/VirtualBox/nls/*_cs.qm
756 %lang(da) %{_libdir}/VirtualBox/nls/*_da.qm
757 %lang(de) %{_libdir}/VirtualBox/nls/*_de.qm
758 %lang(el) %{_libdir}/VirtualBox/nls/*_el.qm
759 %lang(en) %{_libdir}/VirtualBox/nls/*_en.qm
760 %lang(es) %{_libdir}/VirtualBox/nls/*_es.qm
761 %lang(eu) %{_libdir}/VirtualBox/nls/*_eu.qm
762 %lang(fi) %{_libdir}/VirtualBox/nls/*_fi.qm
763 %lang(fr) %{_libdir}/VirtualBox/nls/*_fr.qm
764 %lang(gl_ES) %{_libdir}/VirtualBox/nls/*_gl_ES.qm
765 %lang(hu) %{_libdir}/VirtualBox/nls/*_hu.qm
766 %lang(id) %{_libdir}/VirtualBox/nls/*_id.qm
767 %lang(it) %{_libdir}/VirtualBox/nls/*_it.qm
768 %lang(ja) %{_libdir}/VirtualBox/nls/*_ja.qm
769 %lang(km_KH) %{_libdir}/VirtualBox/nls/*_km_KH.qm
770 %lang(ko) %{_libdir}/VirtualBox/nls/*_ko.qm
771 %lang(lt) %{_libdir}/VirtualBox/nls/*_lt.qm
772 %lang(nl) %{_libdir}/VirtualBox/nls/*_nl.qm
773 %lang(pl) %{_libdir}/VirtualBox/nls/*_pl.qm
774 %lang(pt) %{_libdir}/VirtualBox/nls/*_pt.qm
775 %lang(pt_BR) %{_libdir}/VirtualBox/nls/*_pt_BR.qm
776 %lang(ro) %{_libdir}/VirtualBox/nls/*_ro.qm
777 %lang(ru) %{_libdir}/VirtualBox/nls/*_ru.qm
778 %lang(sk) %{_libdir}/VirtualBox/nls/*_sk.qm
779 %lang(sr) %{_libdir}/VirtualBox/nls/*_sr.qm
780 %lang(sv) %{_libdir}/VirtualBox/nls/*_sv.qm
781 %lang(tr) %{_libdir}/VirtualBox/nls/*_tr.qm
782 %lang(uk) %{_libdir}/VirtualBox/nls/*_uk.qm
783 %lang(zh_CN) %{_libdir}/VirtualBox/nls/*_zh_CN.qm
784 %lang(zh_TW) %{_libdir}/VirtualBox/nls/*_zh_TW.qm
785 %{_pixmapsdir}/VBox.png
786 %{_desktopdir}/*.desktop
787 %{_libdir}/VirtualBox/icons/*/virtualbox-ova.png
788 %{_libdir}/VirtualBox/icons/*/virtualbox-ovf.png
789 %{_libdir}/VirtualBox/icons/*/virtualbox-vbox-extpack.png
790 %{_libdir}/VirtualBox/icons/*/virtualbox-vbox.png
791 %{_libdir}/VirtualBox/virtualbox.xml
794 %defattr(644,root,root,755)
795 %{_libdir}/VirtualBox/additions/VBoxGuestAdditions.iso
798 %defattr(644,root,root,755)
799 # NOTE: unfinished, should contain .desktop files for starting up mouse
800 # integration and other desktop services
801 # NOTE: the filelist is incopmplete too
802 %attr(755,root,root) %{_bindir}/VBoxService
804 %attr(755,root,root) %{_libdir}/VirtualBox/additions/autorun.sh
805 %attr(755,root,root) %{_libdir}/VirtualBox/additions/vboxadd
806 %attr(755,root,root) %{_libdir}/VirtualBox/additions/vboxadd-service
807 %attr(755,root,root) %{_libdir}/VirtualBox/additions/vboxadd-x11
809 %files -n pam-pam_vbox
810 %defattr(644,root,root,755)
811 %attr(755,root,root) /%{_lib}/security/pam_vbox.so
814 %defattr(644,root,root,755)
815 %config(noreplace) %verify(not md5 mtime size) /etc/udev/rules.d/virtualbox.rules
817 %files -n xorg-driver-input-vboxmouse
818 %defattr(644,root,root,755)
819 %attr(755,root,root) %{_libdir}/xorg/modules/input/vboxmouse_drv.so
821 %files -n xorg-driver-video-vboxvideo
822 %defattr(644,root,root,755)
823 %attr(755,root,root) %{_libdir}/xorg/modules/drivers/vboxvideo_drv.so
824 %attr(755,root,root) %{_libdir}/xorg/modules/dri/vboxvideo_dri.so
825 # vboxvideo_dri.so deps
826 %attr(755,root,root) %{_libdir}/VBoxOGLarrayspu.so
827 %attr(755,root,root) %{_libdir}/VBoxOGLcrutil.so
828 %attr(755,root,root) %{_libdir}/VBoxOGLerrorspu.so
829 %attr(755,root,root) %{_libdir}/VBoxOGLfeedbackspu.so
830 %attr(755,root,root) %{_libdir}/VBoxOGLpackspu.so
831 %attr(755,root,root) %{_libdir}/VBoxOGLpassthroughspu.so
835 %files -n kernel%{_alt_kernel}-misc-vboxguest
836 %defattr(644,root,root,755)
837 %attr(754,root,root) /etc/rc.d/init.d/vboxguest
838 /lib/modules/%{_kernel_ver}/misc/vboxguest.ko*
840 %files -n kernel%{_alt_kernel}-misc-vboxdrv
841 %defattr(644,root,root,755)
842 %attr(754,root,root) /etc/rc.d/init.d/vboxdrv
843 /lib/modules/%{_kernel_ver}/misc/vboxdrv.ko*
845 %files -n kernel%{_alt_kernel}-misc-vboxnetadp
846 %defattr(644,root,root,755)
847 %attr(754,root,root) /etc/rc.d/init.d/vboxnetadp
848 /lib/modules/%{_kernel_ver}/misc/vboxnetadp.ko*
850 %files -n kernel%{_alt_kernel}-misc-vboxnetflt
851 %defattr(644,root,root,755)
852 %attr(754,root,root) /etc/rc.d/init.d/vboxnetflt
853 /lib/modules/%{_kernel_ver}/misc/vboxnetflt.ko*
855 %files -n kernel%{_alt_kernel}-misc-vboxsf
856 %defattr(644,root,root,755)
857 %attr(754,root,root) /etc/rc.d/init.d/vboxsf
858 %attr(755,root,root) %{_sbindir}/mount.vboxsf
859 /lib/modules/%{_kernel_ver}/misc/vboxsf.ko*
861 %files -n kernel%{_alt_kernel}-misc-vboxvideo
862 %defattr(644,root,root,755)
863 /lib/modules/%{_kernel_ver}/misc/vboxvideo.ko*