4 # - Find how to compile with PLD CFLAGS/CXXFLAGS/LDFLAGS.
6 # - Package utils (and write initscripts ?) for Guest OS.
7 # - Check License of VBoxGuestAdditions_*.iso, it's probably not GPL v2.
8 # If so check if it is distributable.
9 # - resolve mess with subpackages?
10 # - addtions: iso (containing additions/*.iso)
11 # - guest: to be installed to guests (deps on x11 drivers)
14 %bcond_without doc # don't build the documentation
15 %bcond_without dist_kernel # without distribution kernel
16 %bcond_without kernel # don't build kernel module
17 %bcond_without userspace # don't build userspace package
18 %bcond_with force_userspace # force userspace build (useful if alt_kernel is set)
22 %undefine with_dist_kernel
24 %if "%{_alt_kernel}" != "%{nil}"
25 %undefine with_userspace
27 %if %{with force_userspace}
28 %define with_userspace 1
30 %if %{without userspace}
31 # nothing to be placed to debuginfo package
32 %define _enable_debug_packages 0
36 %define pname VirtualBox
38 Summary: VirtualBox OSE - x86 hardware virtualizer
39 Summary(pl.UTF-8): VirtualBox OSE - wirtualizator sprzętu x86
40 Name: %{pname}%{_alt_kernel}
44 Group: Applications/Emulators
45 Source0: http://download.virtualbox.org/virtualbox/%{version}/%{pname}-%{version}.tar.bz2
46 # Source0-md5: 956af570597850ab4d3275b54bbed049
47 Source1: http://download.virtualbox.org/virtualbox/%{version}/VBoxGuestAdditions_%{version}.iso
48 # Source1-md5: e64fac55f1c77d0d5aaa1eaa4db7e0bc
49 Source3: %{pname}-vboxdrv.init
50 Source4: %{pname}-vboxguest.init
51 Source5: %{pname}-vboxnetflt.init
52 Source6: %{pname}-vboxsf.init
53 Source7: %{pname}-vboxnetadp.init
57 Patch0: %{pname}-configure-spaces.patch
58 Patch1: %{pname}-export_modules.patch
59 Patch2: %{pname}-VBoxSysInfo.patch
60 Patch3: %{pname}-warning_workaround.patch
61 Patch4: %{pname}-vnc.patch
62 Patch5: %{pname}-dri.patch
63 Patch6: %{pname}-vboxnetflt-no-qdisc.patch
65 Patch7: 16-no-update.patch
66 Patch8: 18-system-xorg.patch
67 Patch9: 22-no-static-libstdcpp.patch
69 Patch10: %{pname}-disable_build_NetBiosBin.patch
70 URL: http://www.virtualbox.org/
71 BuildRequires: rpmbuild(macros) >= 1.535
74 BuildRequires: gcc-multilib
75 BuildRequires: glibc-devel(i686)
76 BuildRequires: libstdc++-multilib-devel
77 BuildRequires: libstdc++-multilib-static
79 %if "%{pld_release}" == "ac"
80 BuildRequires: XFree86-devel
82 BuildRequires: xorg-lib-libXcomposite-devel
83 BuildRequires: xorg-lib-libXcursor-devel
84 BuildRequires: xorg-lib-libXmu-devel
85 BuildRequires: xorg-proto-glproto-devel
86 BuildRequires: xorg-xserver-server-devel
88 BuildRequires: OpenGL-GLU-devel
89 BuildRequires: OpenGL-devel
90 BuildRequires: QtGui-devel
91 BuildRequires: QtNetwork-devel
92 BuildRequires: QtOpenGL-devel
93 BuildRequires: SDL-devel >= 1.2.7
95 BuildRequires: alsa-lib-devel >= 1.0.6
99 BuildRequires: curl-devel
100 %{?with_doc:BuildRequires: docbook-dtd44-xml}
101 BuildRequires: gcc >= 5:3.2.3
102 BuildRequires: libIDL-devel
103 BuildRequires: libcap-static
104 BuildRequires: libdrm-devel
105 BuildRequires: libpng-devel >= 1.2.5
106 BuildRequires: libstdc++-devel >= 5:3.2.3
107 BuildRequires: libstdc++-static >= 5:3.2.3
108 BuildRequires: libuuid-devel
109 BuildRequires: libvncserver-devel
110 BuildRequires: libxml2-devel >= 2.6.26
111 BuildRequires: libxslt-devel >= 1.1.17
112 BuildRequires: libxslt-progs >= 1.1.17
113 BuildRequires: makeself
114 BuildRequires: mkisofs
115 BuildRequires: pam-devel
116 BuildRequires: pixman-devel
117 BuildRequires: pkgconfig
118 BuildRequires: pulseaudio-devel >= 0.9.0
119 BuildRequires: python-devel
120 BuildRequires: python-modules
121 BuildRequires: qt4-build >= 4.2.0
122 BuildRequires: qt4-linguist
123 BuildRequires: sed >= 4.0
125 BuildRequires: texlive-fonts-bitstream
126 BuildRequires: texlive-fonts-other
127 BuildRequires: texlive-fonts-type1-bitstream
128 BuildRequires: texlive-format-pdflatex
129 BuildRequires: texlive-latex-ucs
130 BuildRequires: texlive-xetex
133 BuildRequires: xalan-c-devel >= 1.10.0
134 BuildRequires: xerces-c-devel >= 2.6.0
135 BuildRequires: zlib-devel >= 1.2.1
137 %if %{with dist_kernel}
138 BuildRequires: kernel%{_alt_kernel}-module-build >= 3:2.6.20
140 Requires(post,preun): /sbin/chkconfig
141 Requires(postun): /usr/sbin/groupdel
142 Requires(pre): /usr/bin/getgid
143 Requires(pre): /usr/sbin/groupadd
144 Requires: QtCore >= 4.7.0
146 Provides: group(vbox)
147 ExclusiveArch: %{ix86} %{x8664}
148 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
151 %define vbox_platform linux.amd64
153 %define vbox_platform linux.x86
155 %define outdir out/%{vbox_platform}/release/bin
156 %define _sbindir /sbin
159 Oracle VirtualBox OSE is a general-purpose full virtualizer for x86
160 hardware. Targeted at server, desktop and embedded use, it is now the
161 only professional-quality virtualization solution that is also Open
164 Some of the features of VirtualBox OSE are:
166 Modularity: VirtualBox OSE has an extremely modular design with
167 well-defined internal programming interfaces and a client/server
168 design. This makes it easy to control it from several interfaces at
169 once: for example, you can start a virtual machine in a typical
170 virtual machine GUI and then control that machine from the command
171 line. VirtualBox OSE also comes with a full Software Development Kit:
172 even though it is Open Source Software, you don't have to hack the
173 source to write a new interface for VirtualBox OSE.
175 Virtual machine descriptions in XML: the configuration settings of
176 virtual machines are stored entirely in XML and are independent of the
177 local machines. Virtual machine definitions can therefore easily be
178 ported to other computers.
180 You should install this package in your Host OS.
182 %description -l pl.UTF-8
183 Oracle VirtualBox OSE jest emulatorem sprzętu x86. Kierowany do
184 zastosowań serwerowych, desktopowych oraz wbudowanych jest obecnie
185 jedynym wysokiej jakości rozwiązaniem wirtualizacyjnym dostępnym
186 również jako Otwarte Oprogramowanie.
188 Przykładowe cechy VirtualBoksa:
190 Modularność: VirtualBox OSE jest wysoce zmodularyzowanym produktem z
191 dobrze zaprojektowanym wewnętrznym interfejsem programowym typu
192 klient/serwer. Dzięki temu można łatwo kontrolować go za pomocą
193 różnych interfejsów. Można na przykład uruchomić maszynę wirtualną z
194 poziomu interfejsu graficznego, a później kontrolować ją z linii
195 poleceń. VirtualBox OSE dostarcza również pełny pakiet deweloperski,
196 co pozwala stworzyć dowolny inny interfejs zarządzania maszyną
199 Opisy maszyn wirtualnych w XML-u: konfiguracje poszczególnych maszyn
200 wirtualnych są w całości przechowywane w XML-u i są niezależne od
201 lokalnej maszyny. Dzięki temu można szybko i łatwo przenieść
202 konfigurację maszyny wirtualnej na inny komputer.
205 Summary: VirtualBox documentation
209 This package contains VirtualBox User Manual.
212 Summary: udev rules for VirtualBox OSE kernel modules
213 Summary(pl.UTF-8): Reguły udev dla modułów jądra Linuksa dla VirtualBoksa
218 udev rules for VirtualBox OSE kernel modules.
220 You should install this package in your Host OS and in Guest OS.
222 %description udev -l pl.UTF-8
223 Reguły udev dla modułów jądra Linuksa dla VirtualBoksa.
226 Summary: VirtualBox Guest Additions
228 Requires: %{name} = %{version}-%{release}
230 %description additions
231 VirtualBox Guest Additions.
233 This package contains ISO9660 image with drivers for Guest OS.
235 You should install this package in your Host OS.
238 Summary: VirtualBox Guest Additions
240 Requires: xorg-driver-input-vboxmouse = %{version}-%{release}
241 Requires: xorg-driver-video-vboxvideo = %{version}-%{release}
242 Suggests: kernel%{_alt_kernel}-misc-vboxsf = %{version}-%{rel}@%{_kernel_ver_str}
243 Suggests: kernel%{_alt_kernel}-misc-vboxvideo = %{version}-%{rel}@%{_kernel_ver_str}
246 Tools that utilize kernel modules for supporting integration with the
247 Host, including file sharing and tracking of mouse pointer movement
248 and X.org X11 video and mouse driver.
250 You should install this package in your Guest OS.
252 %package -n pam-pam_vbox
253 Summary: PAM module to perform automated guest logons
256 %description -n pam-pam_vbox
257 PAM module (Pluggable Authentication Module) which can be used to
258 perform automated guest logons.
260 %package -n xorg-driver-input-vboxmouse
261 Summary: X.org mouse driver for VirtualBox OSE guest OS
262 Summary(pl.UTF-8): Sterownik myszy dla systemu gościa w VirtualBoksie OSE
263 Group: X11/Applications
264 Requires: xorg-xserver-server >= 1.0.99.901
265 Requires: xorg-xserver-server(xinput-abi) <= 12.2
266 Requires: xorg-xserver-server(xinput-abi) >= 4.0
268 %description -n xorg-driver-input-vboxmouse
269 X.org mouse driver for VirtualBox OSE guest OS.
271 %description -n xorg-driver-input-vboxmouse -l pl.UTF-8
272 Sterownik myszy dla systemu gościa w VirtualBoksie.
274 %package -n xorg-driver-video-vboxvideo
275 Summary: X.org video driver for VirtualBox OSE guest OS
276 Summary(pl.UTF-8): Sterownik grafiki dla systemu gościa w VirtualBoksie OSE
277 Group: X11/Applications
278 Requires: Mesa-dri-driver-swrast
279 Requires: xorg-xserver-libdri >= 1.7.4
280 Requires: xorg-xserver-server >= 1.0.99.901
281 Requires: xorg-xserver-server(videodrv-abi) <= 10.0
282 Requires: xorg-xserver-server(videodrv-abi) >= 2.0
284 %description -n xorg-driver-video-vboxvideo
285 X.org video driver for VirtualBox OSE guest OS.
287 %description -n xorg-driver-video-vboxvideo -l pl.UTF-8
288 Sterownik grafiki dla systemu gościa w VirtualBoksie OSE.
290 %package -n kernel%{_alt_kernel}-misc-vboxguest
291 Summary: VirtualBox OSE Guest Additions for Linux Module
292 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa OSE
293 Release: %{rel}@%{_kernel_ver_str}
295 Requires(post,postun): /sbin/depmod
296 Requires: dev >= 2.9.0-7
297 %if %{with dist_kernel}
298 %requires_releq_kernel
299 Requires(postun): %releq_kernel
301 Provides: kernel(vboxguest) = %{version}-%{rel}
302 Obsoletes: kernel%{_alt_kernel}-misc-vboxadd
303 Conflicts: kernel%{_alt_kernel}-misc-vboxdrv
305 %description -n kernel%{_alt_kernel}-misc-vboxguest
306 VirtualBox OSE Guest Additions for Linux Module.
308 You should install this package in your Guest OS.
310 %description -n kernel%{_alt_kernel}-misc-vboxguest -l pl.UTF-8
311 Moduł jądra Linuksa vboxguest dla VirtualBoksa OSE - dodatki dla
314 %package -n kernel%{_alt_kernel}-misc-vboxdrv
315 Summary: VirtualBox OSE Support Driver
316 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa OSE
317 Release: %{rel}@%{_kernel_ver_str}
319 Requires(post,postun): /sbin/depmod
320 Requires: dev >= 2.9.0-7
321 %if %{with dist_kernel}
322 %requires_releq_kernel
323 Requires(postun): %releq_kernel
325 Provides: kernel(vboxdrv) = %{version}-%{rel}
327 %description -n kernel%{_alt_kernel}-misc-vboxdrv
328 VirtualBox OSE Support Driver.
330 You should install this package in your Host OS.
332 %description -n kernel%{_alt_kernel}-misc-vboxdrv -l pl.UTF-8
333 Moduł jądra Linuksa dla VirtualBoksa OSE - sterownik wsparcia dla
336 %package -n kernel%{_alt_kernel}-misc-vboxnetadp
337 Summary: VirtualBox OSE Network Adapter Driver
338 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa OSE
339 Release: %{rel}@%{_kernel_ver_str}
341 Requires(post,postun): /sbin/depmod
342 Requires: dev >= 2.9.0-7
343 Requires: kernel%{_alt_kernel}-misc-vboxdrv
344 %if %{with dist_kernel}
345 %requires_releq_kernel
346 Requires(postun): %releq_kernel
348 Provides: kernel(vboxnetflt) = %{version}-%{rel}
350 %description -n kernel%{_alt_kernel}-misc-vboxnetadp
351 VirtualBox OSE Network Adapter Driver.
353 You should install this package in your Host OS.
355 %description -n kernel%{_alt_kernel}-misc-vboxnetadp -l pl.UTF-8
356 Moduł jądra Linuksa dla VirtualBoksa OSE - sterownik witrualnej karty
359 %package -n kernel%{_alt_kernel}-misc-vboxnetflt
360 Summary: VirtualBox OSE Network Filter Driver
361 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa OSE
362 Release: %{rel}@%{_kernel_ver_str}
364 Requires(post,postun): /sbin/depmod
365 Requires: dev >= 2.9.0-7
366 Requires: kernel%{_alt_kernel}-misc-vboxdrv
367 %if %{with dist_kernel}
368 %requires_releq_kernel
369 Requires(postun): %releq_kernel
371 Provides: kernel(vboxnetflt) = %{version}-%{rel}
373 %description -n kernel%{_alt_kernel}-misc-vboxnetflt
374 VirtualBox OSE Network Filter Driver.
376 You should install this package in your Host OS.
378 %description -n kernel%{_alt_kernel}-misc-vboxnetflt -l pl.UTF-8
379 Moduł jądra Linuksa dla VirtualBoksa OSE - sterownik filtrowania sieci
380 dla systemu głównego.
382 %package -n kernel%{_alt_kernel}-misc-vboxsf
383 Summary: Host file system access (Shared Folders) for VirtualBox OSE
384 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa OSE
385 Release: %{rel}@%{_kernel_ver_str}
387 Requires(post,postun): /sbin/depmod
388 Requires: dev >= 2.9.0-7
389 Requires: kernel%{_alt_kernel}-misc-vboxguest
390 %if %{with dist_kernel}
391 %requires_releq_kernel
392 Requires(postun): %releq_kernel
394 Provides: kernel(vboxsf) = %{version}-%{rel}
395 Obsoletes: kernel%{_alt_kernel}-misc-vboxvfs
397 %description -n kernel%{_alt_kernel}-misc-vboxsf
398 Host file system access (Shared Folders) for VirtualBox OSE.
400 You should install this package in your Guest OS.
402 %description -n kernel%{_alt_kernel}-misc-vboxsf -l pl.UTF-8
403 Moduł jądra Linuksa dla VirtualBoksa OSE - dostęp do plików systemu
404 głównego z poziomu systemu gościa.
406 %package -n kernel%{_alt_kernel}-misc-vboxvideo
407 Summary: DRM support for VirtualBox OSE
408 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa OSE
409 Release: %{rel}@%{_kernel_ver_str}
411 Requires(post,postun): /sbin/depmod
412 Requires: dev >= 2.9.0-7
413 %if %{with dist_kernel}
414 %requires_releq_kernel
415 %if "%{rpm_build_macros}" >= "1.531"
416 %requires_releq_kernel -n drm
418 Requires(postun): %releq_kernel
420 Provides: kernel(vboxvideo) = %{version}-%{rel}
422 %description -n kernel%{_alt_kernel}-misc-vboxvideo
423 DRM support for VirtualBox OSE.
425 You should install this package in your Guest OS.
427 %description -n kernel%{_alt_kernel}-misc-vboxvideo -l pl.UTF-8
428 Moduł jądra Linuksa dla VirtualBoksa OSE - sterownik obsługi DRM.
431 %setup -q -n %{pname}-%{version}_OSE
439 %{__sed} -i -e 's,@VBOX_DOC_PATH@,%{_docdir}/%{name}-%{version},' \
440 -e 's/Categories=.*/Categories=Utility;Emulator;/' src/VBox/Installer/common/virtualbox.desktop.in
442 sed 's#@LIBDIR@#%{_libdir}#' < %{SOURCE8} > VirtualBox-wrapper.sh
444 install -d PLD-MODULE-BUILD/{GuestDrivers,HostDrivers}
446 ../src/VBox/Additions/linux/export_modules guest-modules.tar.gz
447 tar -zxf guest-modules.tar.gz -C GuestDrivers
449 ../src/VBox/HostDrivers/linux/export_modules host-modules.tar.gz --without-hardening
450 tar -zxf host-modules.tar.gz -C HostDrivers
459 %if %{with userspace}
460 echo "VBOX_WITH_TESTCASES := " > LocalConfig.kmk
462 --with-gcc="%{__cc}" \
463 --with-g++="%{__cxx}" \
464 %{!?with_doc:--disable-docs} \
466 --disable-hardening \
469 XSERVER_VERSION=$(rpm -q --queryformat '%{VERSION}\n' xorg-xserver-server-devel | awk -F. ' { print $1 $2 } ' 2> /dev/null || echo ERROR)
472 %{?with_verbose:KBUILD_VERBOSE=3} \
474 VBOX_VERSION_STRING='$(VBOX_VERSION_MAJOR).$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD)'_PLD \
475 XSERVER_VERSION="$XSERVER_VERSION"
479 cd PLD-MODULE-BUILD/HostDrivers
480 %build_kernel_modules -m vboxdrv -C vboxdrv
481 %build_kernel_modules -m vboxnetadp -C vboxnetadp
482 %build_kernel_modules -m vboxnetflt -C vboxnetflt
485 %build_kernel_modules -m vboxguest -C vboxguest
486 cp -a vboxguest/Module.symvers vboxsf
487 %build_kernel_modules -m vboxsf -C vboxsf -c
488 %build_kernel_modules -m vboxvideo -C vboxvideo_drm
490 %{__cc} %{rpmcflags} %{rpmldflags} -Wall -Werror src/VBox/Additions/linux/sharedfolders/{mount.vboxsf.c,vbsfmount.c} -o mount.vboxsf
494 rm -rf $RPM_BUILD_ROOT
496 %if %{with userspace}
497 install -d $RPM_BUILD_ROOT{%{_bindir},%{_sbindir},%{_libdir}/%{pname}/ExtensionPacks} \
498 $RPM_BUILD_ROOT{%{_pixmapsdir},%{_desktopdir}} \
499 $RPM_BUILD_ROOT%{_libdir}/xorg/modules/{drivers,dri,input}
501 # test if we can hardlink -- %{_builddir} and $RPM_BUILD_ROOT on same partition
502 if cp -al VBox.png $RPM_BUILD_ROOT/Vbox.png 2>/dev/null; then
504 rm -f $RPM_BUILD_ROOT/VBox.png
507 cp -a$l %{outdir}/* $RPM_BUILD_ROOT%{_libdir}/%{pname}
509 cp -a %{SOURCE1} $RPM_BUILD_ROOT%{_libdir}/VirtualBox/additions/VBoxGuestAdditions.iso
510 install -p %{SOURCE9} $RPM_BUILD_ROOT%{_sbindir}/mount.vdi
511 install -p VirtualBox-wrapper.sh $RPM_BUILD_ROOT%{_libdir}/%{pname}
512 for f in {VBox{BFE,Headless,Manage,SDL,SVC,Tunctl,XPCOMIPCD},VirtualBox}; do
513 ln -s %{_libdir}/%{pname}/VirtualBox-wrapper.sh $RPM_BUILD_ROOT%{_bindir}/$f
516 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/VBox.png,%{_pixmapsdir}/virtualbox.png}
517 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname},%{_desktopdir}}/virtualbox.desktop
519 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/vboxmouse_drv.so,%{_libdir}/xorg/modules/input/vboxmouse_drv.so}
520 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/vboxvideo_drv.so,%{_libdir}/xorg/modules/drivers/vboxvideo_drv.so}
521 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/VBoxOGL.so,%{_libdir}/xorg/modules/dri/vboxvideo_dri.so}
522 # xorg other driver versions
523 rm -vf $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/vboxmouse_drv*.{o,so}
524 rm -vf $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/vboxvideo_drv*.{o,so}
526 # XXX: where else to install them that vboxvideo_dri.so finds them? patch with rpath?
527 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLarrayspu.so
528 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLcrutil.so
529 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLerrorspu.so
530 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLfeedbackspu.so
531 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLpackspu.so
532 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLpassthroughspu.so
534 install -d $RPM_BUILD_ROOT/etc/udev/rules.d
535 cp -a %{SOURCE10} $RPM_BUILD_ROOT/etc/udev/rules.d/virtualbox.rules
537 install -d $RPM_BUILD_ROOT/%{_lib}/security
538 mv $RPM_BUILD_ROOT{%{_libdir}/VirtualBox/additions,/%{_lib}/security}/pam_vbox.so
541 rm -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/{src,sdk,testcase}
542 rm -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/src
543 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxkeyboard.tar.bz2
544 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/tst*
546 # IPRT Testcase / Tool - Source Code Massager.
547 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/scm
550 install -d $RPM_BUILD_ROOT/etc/{X11/xinit/xinitrc.d,xdg/autostart}
551 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxService
552 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxClient
553 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxControl
554 install -p -D src/VBox/Additions/x11/Installer/98vboxadd-xclient \
555 $RPM_BUILD_ROOT/etc/X11/xinit/xinitrc.d/98vboxadd-xclient.sh
556 cp -p src/VBox/Additions/x11/Installer/vboxclient.desktop \
557 $RPM_BUILD_ROOT/etc/xdg/autostart/vboxclient.desktop
561 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPInstall
562 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPLoggerCtl
563 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPUninstall
564 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/VBox.sh
565 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxshell.py
566 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/xpidl
569 # packaged by kernel part
570 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/mount.vboxsf
574 install -d $RPM_BUILD_ROOT{/etc/{rc.d/init.d,modprobe.d},%{_sbindir}}
575 install -p %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxdrv
576 install -p %{SOURCE4} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxguest
577 install -p %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxnetflt
578 install -p %{SOURCE6} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxsf
579 install -p %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxnetadp
580 %install_kernel_modules -m PLD-MODULE-BUILD/HostDrivers/vboxdrv/vboxdrv -d misc
581 %install_kernel_modules -m PLD-MODULE-BUILD/HostDrivers/vboxnetadp/vboxnetadp -d misc
582 %install_kernel_modules -m PLD-MODULE-BUILD/HostDrivers/vboxnetflt/vboxnetflt -d misc
583 %install_kernel_modules -m PLD-MODULE-BUILD/GuestDrivers/vboxguest/vboxguest -d misc
584 %install_kernel_modules -m PLD-MODULE-BUILD/GuestDrivers/vboxsf/vboxsf -d misc
585 %install_kernel_modules -m PLD-MODULE-BUILD/GuestDrivers/vboxvideo_drm/vboxvideo -d misc
587 install -p mount.vboxsf $RPM_BUILD_ROOT%{_sbindir}/mount.vboxsf
592 rm -rf $RPM_BUILD_ROOT
595 %groupadd -g 221 -r -f vbox
599 You must install vboxdrv kernel module for this software to work:
600 kernel-misc-vboxdrv-%{version}-%{rel}@%{_kernel_ver_str}
602 Additionally you might want to install:
603 kernel-misc-vboxnetadp-%{version}-%{rel}@%{_kernel_ver_str}
604 kernel-misc-vboxnetflt-%{version}-%{rel}@%{_kernel_ver_str}
606 On Guest Linux system you might want to install:
607 kernel-misc-vboxguest-%{version}-%{rel}@%{_kernel_ver_str}
608 kernel-misc-vboxsf-%{version}-%{rel}@%{_kernel_ver_str}
609 kernel-misc-vboxvideo-%{version}-%{rel}@%{_kernel_ver_str}
614 if [ "$1" = "0" ]; then
618 %post -n kernel%{_alt_kernel}-misc-vboxguest
619 %depmod %{_kernel_ver}
620 /sbin/chkconfig --add vboxguest
621 %service vboxguest restart "VirtualBox OSE Guest additions driver"
623 %postun -n kernel%{_alt_kernel}-misc-vboxguest
624 %depmod %{_kernel_ver}
626 %preun -n kernel%{_alt_kernel}-misc-vboxguest
627 if [ "$1" = "0" ]; then
628 %service vboxguest stop
629 /sbin/chkconfig --del vboxguest
632 %post -n kernel%{_alt_kernel}-misc-vboxdrv
633 %depmod %{_kernel_ver}
634 /sbin/chkconfig --add vboxdrv
635 %service vboxdrv restart "VirtualBox OSE Support Driver"
637 %postun -n kernel%{_alt_kernel}-misc-vboxdrv
638 %depmod %{_kernel_ver}
640 %preun -n kernel%{_alt_kernel}-misc-vboxdrv
641 if [ "$1" = "0" ]; then
642 %service vboxdrv stop
643 /sbin/chkconfig --del vboxdrv
646 %post -n kernel%{_alt_kernel}-misc-vboxnetadp
647 %depmod %{_kernel_ver}
648 /sbin/chkconfig --add vboxnetadp
649 %service vboxnetadp restart "VirtualBox OSE Network HostOnly driver"
651 %postun -n kernel%{_alt_kernel}-misc-vboxnetadp
652 %depmod %{_kernel_ver}
654 %preun -n kernel%{_alt_kernel}-misc-vboxnetadp
655 if [ "$1" = "0" ]; then
656 %service vboxnetadp stop
657 /sbin/chkconfig --del vboxnetadp
660 %post -n kernel%{_alt_kernel}-misc-vboxnetflt
661 %depmod %{_kernel_ver}
662 /sbin/chkconfig --add vboxnetflt
663 %service vboxnetflt restart "VirtualBox OSE Network Filter driver"
665 %postun -n kernel%{_alt_kernel}-misc-vboxnetflt
666 %depmod %{_kernel_ver}
668 %preun -n kernel%{_alt_kernel}-misc-vboxnetflt
669 if [ "$1" = "0" ]; then
670 %service vboxnetflt stop
671 /sbin/chkconfig --del vboxnetflt
674 %post -n kernel%{_alt_kernel}-misc-vboxsf
675 %depmod %{_kernel_ver}
676 /sbin/chkconfig --add vboxsf
677 %service vboxsf restart "VirtualBox OSE Host file system access (Shared Folders)"
679 %postun -n kernel%{_alt_kernel}-misc-vboxsf
680 %depmod %{_kernel_ver}
682 %preun -n kernel%{_alt_kernel}-misc-vboxsf
683 if [ "$1" = "0" ]; then
685 /sbin/chkconfig --del vboxsf
688 %post -n kernel%{_alt_kernel}-misc-vboxvideo
689 %depmod %{_kernel_ver}
691 %postun -n kernel%{_alt_kernel}-misc-vboxvideo
692 %depmod %{_kernel_ver}
694 %if %{with userspace}
696 %defattr(644,root,root,755)
697 %dir %{_libdir}/VirtualBox
698 %dir %{_libdir}/VirtualBox/ExtensionPacks
699 %dir %{_libdir}/VirtualBox/additions
700 %dir %{_libdir}/VirtualBox/components
701 %dir %{_libdir}/VirtualBox/nls
702 %attr(755,root,root) %{_bindir}/VBoxBFE
703 %attr(755,root,root) %{_bindir}/VBoxHeadless
704 %attr(755,root,root) %{_bindir}/VBoxManage
705 %attr(755,root,root) %{_bindir}/VBoxSDL
706 %attr(755,root,root) %{_bindir}/VBoxSVC
707 %attr(755,root,root) %{_bindir}/VBoxTunctl
708 %attr(755,root,root) %{_bindir}/VBoxXPCOMIPCD
709 %attr(755,root,root) %{_bindir}/VirtualBox
710 %attr(755,root,root) %{_sbindir}/mount.vdi
711 %attr(755,root,root) %{_libdir}/VirtualBox/DBGCPlugInDiggers.so
712 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxAuth.so
713 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxAuthSimple.so
714 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxBFE
715 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxCreateUSBNode.sh
716 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxDbg.so
717 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxDD2.so
718 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxDD.so
719 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxDDU.so
720 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxExtPackHelperApp
721 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxGuestControlSvc.so
722 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxGuestPropSvc.so
723 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxHeadless
724 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxKeyboard.so
725 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxManage
726 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxNetAdpCtl
727 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxNetDHCP
728 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxOGLhostcrutil.so
729 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxOGLhosterrorspu.so
730 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxOGLrenderspu.so
731 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxPython*.so
732 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxREM.so
734 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxREM32.so
735 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxREM64.so
737 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxRT.so
738 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSDL
739 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSharedClipboard.so
740 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSharedCrOpenGL.so
741 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSharedFolders.so
742 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSVC
743 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSysInfo.sh
744 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxTestOGL
745 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxTunctl
746 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxVMM.so
747 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxXPCOMC.so
748 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxXPCOMIPCD
749 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxXPCOM.so
750 %attr(755,root,root) %{_libdir}/VirtualBox/VirtualBox
751 %attr(755,root,root) %{_libdir}/VirtualBox/VirtualBox-wrapper.sh
752 %{_libdir}/VirtualBox/VBoxDD2GC.gc
753 %{_libdir}/VirtualBox/VBoxDDGC.gc
754 %{_libdir}/VirtualBox/VMMGC.gc
755 %{_libdir}/VirtualBox/VBoxDD2R0.r0
756 %{_libdir}/VirtualBox/VBoxDDR0.r0
757 %{_libdir}/VirtualBox/VMMR0.r0
758 %{_libdir}/VirtualBox/EfiThunk
759 %{_libdir}/VirtualBox/VBoxEFI32.fd
760 %{_libdir}/VirtualBox/VBoxEFI64.fd
761 %{_libdir}/VirtualBox/components/VBoxXPCOMBase.xpt
762 %{_libdir}/VirtualBox/components/VirtualBox_XPCOM.xpt
763 %attr(755,root,root) %{_libdir}/VirtualBox/components/VBoxC.so
764 %attr(755,root,root) %{_libdir}/VirtualBox/components/VBoxSVCM.so
765 %attr(755,root,root) %{_libdir}/VirtualBox/components/VBoxXPCOMIPCC.so
766 %lang(ar) %{_libdir}/VirtualBox/nls/*_ar.qm
767 %lang(bg) %{_libdir}/VirtualBox/nls/*_bg.qm
768 %lang(ca) %{_libdir}/VirtualBox/nls/*_ca.qm
769 %lang(ca_VA) %{_libdir}/VirtualBox/nls/*_ca_VA.qm
770 %lang(cs) %{_libdir}/VirtualBox/nls/*_cs.qm
771 %lang(da) %{_libdir}/VirtualBox/nls/*_da.qm
772 %lang(de) %{_libdir}/VirtualBox/nls/*_de.qm
773 %lang(el) %{_libdir}/VirtualBox/nls/*_el.qm
774 %lang(en) %{_libdir}/VirtualBox/nls/*_en.qm
775 %lang(es) %{_libdir}/VirtualBox/nls/*_es.qm
776 %lang(eu) %{_libdir}/VirtualBox/nls/*_eu.qm
777 %lang(fi) %{_libdir}/VirtualBox/nls/*_fi.qm
778 %lang(fr) %{_libdir}/VirtualBox/nls/*_fr.qm
779 %lang(gl_ES) %{_libdir}/VirtualBox/nls/*_gl_ES.qm
780 %lang(hu) %{_libdir}/VirtualBox/nls/*_hu.qm
781 %lang(id) %{_libdir}/VirtualBox/nls/*_id.qm
782 %lang(it) %{_libdir}/VirtualBox/nls/*_it.qm
783 %lang(ja) %{_libdir}/VirtualBox/nls/*_ja.qm
784 %lang(km_KH) %{_libdir}/VirtualBox/nls/*_km_KH.qm
785 %lang(ko) %{_libdir}/VirtualBox/nls/*_ko.qm
786 %lang(lt) %{_libdir}/VirtualBox/nls/*_lt.qm
787 %lang(nl) %{_libdir}/VirtualBox/nls/*_nl.qm
788 %lang(pl) %{_libdir}/VirtualBox/nls/*_pl.qm
789 %lang(pt) %{_libdir}/VirtualBox/nls/*_pt.qm
790 %lang(pt_BR) %{_libdir}/VirtualBox/nls/*_pt_BR.qm
791 %lang(ro) %{_libdir}/VirtualBox/nls/*_ro.qm
792 %lang(ru) %{_libdir}/VirtualBox/nls/*_ru.qm
793 %lang(sk) %{_libdir}/VirtualBox/nls/*_sk.qm
794 %lang(sr) %{_libdir}/VirtualBox/nls/*_sr.qm
795 %lang(sv) %{_libdir}/VirtualBox/nls/*_sv.qm
796 %lang(tr) %{_libdir}/VirtualBox/nls/*_tr.qm
797 %lang(uk) %{_libdir}/VirtualBox/nls/*_uk.qm
798 %lang(zh_CN) %{_libdir}/VirtualBox/nls/*_zh_CN.qm
799 %lang(zh_TW) %{_libdir}/VirtualBox/nls/*_zh_TW.qm
800 %{_pixmapsdir}/virtualbox.png
801 %{_desktopdir}/*.desktop
802 %{_libdir}/VirtualBox/icons
803 %{_libdir}/VirtualBox/virtualbox.xml
806 %defattr(644,root,root,755)
807 %{_libdir}/VirtualBox/additions/VBoxGuestAdditions.iso
810 %defattr(644,root,root,755)
811 # NOTE: unfinished, should contain .desktop files for starting up mouse
812 # integration and other desktop services
813 # NOTE: the filelist is incomplete too
814 %attr(755,root,root) %{_bindir}/VBoxClient
815 %attr(755,root,root) %{_bindir}/VBoxControl
816 %attr(755,root,root) %{_bindir}/VBoxService
817 /etc/X11/xinit/xinitrc.d/98vboxadd-xclient.sh
818 /etc/xdg/autostart/vboxclient.desktop
820 %attr(755,root,root) %{_libdir}/VirtualBox/additions/autorun.sh
821 %attr(755,root,root) %{_libdir}/VirtualBox/additions/vboxadd
822 %attr(755,root,root) %{_libdir}/VirtualBox/additions/vboxadd-service
823 %attr(755,root,root) %{_libdir}/VirtualBox/additions/vboxadd-x11
825 %files -n pam-pam_vbox
826 %defattr(644,root,root,755)
827 %attr(755,root,root) /%{_lib}/security/pam_vbox.so
831 %defattr(644,root,root,755)
832 %doc %{outdir}/UserManual.pdf
836 %defattr(644,root,root,755)
837 %config(noreplace) %verify(not md5 mtime size) /etc/udev/rules.d/virtualbox.rules
839 %files -n xorg-driver-input-vboxmouse
840 %defattr(644,root,root,755)
841 %attr(755,root,root) %{_libdir}/xorg/modules/input/vboxmouse_drv.so
843 %files -n xorg-driver-video-vboxvideo
844 %defattr(644,root,root,755)
845 %attr(755,root,root) %{_libdir}/xorg/modules/drivers/vboxvideo_drv.so
846 %attr(755,root,root) %{_libdir}/xorg/modules/dri/vboxvideo_dri.so
847 # vboxvideo_dri.so deps
848 %attr(755,root,root) %{_libdir}/VBoxOGLarrayspu.so
849 %attr(755,root,root) %{_libdir}/VBoxOGLcrutil.so
850 %attr(755,root,root) %{_libdir}/VBoxOGLerrorspu.so
851 %attr(755,root,root) %{_libdir}/VBoxOGLfeedbackspu.so
852 %attr(755,root,root) %{_libdir}/VBoxOGLpackspu.so
853 %attr(755,root,root) %{_libdir}/VBoxOGLpassthroughspu.so
857 %files -n kernel%{_alt_kernel}-misc-vboxguest
858 %defattr(644,root,root,755)
859 %attr(754,root,root) /etc/rc.d/init.d/vboxguest
860 /lib/modules/%{_kernel_ver}/misc/vboxguest.ko*
862 %files -n kernel%{_alt_kernel}-misc-vboxdrv
863 %defattr(644,root,root,755)
864 %attr(754,root,root) /etc/rc.d/init.d/vboxdrv
865 /lib/modules/%{_kernel_ver}/misc/vboxdrv.ko*
867 %files -n kernel%{_alt_kernel}-misc-vboxnetadp
868 %defattr(644,root,root,755)
869 %attr(754,root,root) /etc/rc.d/init.d/vboxnetadp
870 /lib/modules/%{_kernel_ver}/misc/vboxnetadp.ko*
872 %files -n kernel%{_alt_kernel}-misc-vboxnetflt
873 %defattr(644,root,root,755)
874 %attr(754,root,root) /etc/rc.d/init.d/vboxnetflt
875 /lib/modules/%{_kernel_ver}/misc/vboxnetflt.ko*
877 %files -n kernel%{_alt_kernel}-misc-vboxsf
878 %defattr(644,root,root,755)
879 %attr(754,root,root) /etc/rc.d/init.d/vboxsf
880 %attr(755,root,root) %{_sbindir}/mount.vboxsf
881 /lib/modules/%{_kernel_ver}/misc/vboxsf.ko*
883 %files -n kernel%{_alt_kernel}-misc-vboxvideo
884 %defattr(644,root,root,755)
885 /lib/modules/%{_kernel_ver}/misc/vboxvideo.ko*