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 - x86 hardware virtualizer
39 Summary(pl.UTF-8): VirtualBox - 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: 945d2c94c15a4f47280be4b01b67e244
47 Source1: http://download.virtualbox.org/virtualbox/%{version}/VBoxGuestAdditions_%{version}.iso
48 # Source1-md5: be4db0b1b43902b88905444997bac91f
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
54 Source8: %{pname}-vboxpci.init
58 Patch0: %{pname}-configure-spaces.patch
59 Patch1: %{pname}-export_modules.patch
60 Patch2: %{pname}-VBoxSysInfo.patch
61 Patch3: %{pname}-warning_workaround.patch
62 Patch4: %{pname}-vnc.patch
63 Patch5: %{pname}-dri.patch
64 Patch6: %{pname}-disable_build_NetBiosBin.patch
65 Patch7: %{pname}-build.patch
67 Patch10: 16-no-update.patch
68 Patch11: 18-system-xorg.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 >= 0.9.7
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 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 are:
166 Modularity: VirtualBox 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 also comes with a full Software Development Kit: even
172 though it is Open Source Software, you don't have to hack the source
173 to write a new interface for VirtualBox.
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 jest emulatorem sprzętu x86. Kierowany do zastosowań
184 serwerowych, desktopowych oraz wbudowanych jest obecnie jedynym
185 wysokiej jakości rozwiązaniem wirtualizacyjnym dostępnym również jako
186 Otwarte Oprogramowanie.
188 Przykładowe cechy VirtualBoksa:
190 Modularność: VirtualBox 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 dostarcza również pełny pakiet deweloperski, co
196 pozwala stworzyć dowolny inny interfejs zarządzania maszyną wirtualną.
198 Opisy maszyn wirtualnych w XML-u: konfiguracje poszczególnych maszyn
199 wirtualnych są w całości przechowywane w XML-u i są niezależne od
200 lokalnej maszyny. Dzięki temu można szybko i łatwo przenieść
201 konfigurację maszyny wirtualnej na inny komputer.
204 Summary: VirtualBox documentation
208 This package contains VirtualBox User Manual.
211 Summary: udev rules for VirtualBox kernel modules
212 Summary(pl.UTF-8): Reguły udev dla modułów jądra Linuksa dla VirtualBoksa
217 udev rules for VirtualBox kernel modules.
219 You should install this package in your Host OS and in Guest OS.
221 %description udev -l pl.UTF-8
222 Reguły udev dla modułów jądra Linuksa dla VirtualBoksa.
225 Summary: VirtualBox Guest Additions
227 Requires: %{name} = %{version}-%{release}
229 %description additions
230 VirtualBox Guest Additions.
232 This package contains ISO9660 image with drivers for Guest OS.
234 You should install this package in your Host OS.
237 Summary: VirtualBox Guest Additions
239 Requires: xorg-driver-input-vboxmouse = %{version}-%{release}
240 Requires: xorg-driver-video-vboxvideo = %{version}-%{release}
241 Suggests: kernel%{_alt_kernel}-misc-vboxsf = %{version}-%{rel}@%{_kernel_ver_str}
242 Suggests: kernel%{_alt_kernel}-misc-vboxvideo = %{version}-%{rel}@%{_kernel_ver_str}
245 Tools that utilize kernel modules for supporting integration with the
246 Host, including file sharing and tracking of mouse pointer movement
247 and X.org X11 video and mouse driver.
249 You should install this package in your Guest OS.
251 %package -n pam-pam_vbox
252 Summary: PAM module to perform automated guest logons
255 %description -n pam-pam_vbox
256 PAM module (Pluggable Authentication Module) which can be used to
257 perform automated guest logons.
259 %package -n xorg-driver-input-vboxmouse
260 Summary: X.org mouse driver for VirtualBox guest OS
261 Summary(pl.UTF-8): Sterownik myszy dla systemu gościa w VirtualBoksie
262 Group: X11/Applications
263 Requires: xorg-xserver-server >= 1.0.99.901
264 Requires: xorg-xserver-server(xinput-abi) <= 13.0
265 Requires: xorg-xserver-server(xinput-abi) >= 4.0
267 %description -n xorg-driver-input-vboxmouse
268 X.org mouse driver for VirtualBox guest OS.
270 %description -n xorg-driver-input-vboxmouse -l pl.UTF-8
271 Sterownik myszy dla systemu gościa w VirtualBoksie.
273 %package -n xorg-driver-video-vboxvideo
274 Summary: X.org video driver for VirtualBox guest OS
275 Summary(pl.UTF-8): Sterownik grafiki dla systemu gościa w VirtualBoksie
276 Group: X11/Applications
277 Requires: Mesa-dri-driver-swrast
278 Requires: xorg-xserver-libdri >= 1.7.4
279 Requires: xorg-xserver-server >= 1.0.99.901
280 Requires: xorg-xserver-server(videodrv-abi) <= 11.0
281 Requires: xorg-xserver-server(videodrv-abi) >= 2.0
283 %description -n xorg-driver-video-vboxvideo
284 X.org video driver for VirtualBox guest OS.
286 %description -n xorg-driver-video-vboxvideo -l pl.UTF-8
287 Sterownik grafiki dla systemu gościa w VirtualBoksie.
290 # KEEP ALL REGULAR SUBPACKAGES BEFORE KERNEL PACKAGES.
291 %package -n kernel%{_alt_kernel}-misc-vboxguest
292 Summary: VirtualBox Guest Additions for Linux Module
293 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa
294 Release: %{rel}@%{_kernel_ver_str}
296 Requires(post,postun): /sbin/depmod
297 Requires: dev >= 2.9.0-7
298 %if %{with dist_kernel}
299 %requires_releq_kernel
300 Requires(postun): %releq_kernel
302 Provides: kernel(vboxguest) = %{version}-%{rel}
303 Obsoletes: kernel%{_alt_kernel}-misc-vboxadd
304 Conflicts: kernel%{_alt_kernel}-misc-vboxdrv
306 %description -n kernel%{_alt_kernel}-misc-vboxguest
307 VirtualBox Guest Additions for Linux Module.
309 You should install this package in your Guest OS.
311 %description -n kernel%{_alt_kernel}-misc-vboxguest -l pl.UTF-8
312 Moduł jądra Linuksa vboxguest dla VirtualBoksa - dodatki dla systemu
315 %package -n kernel%{_alt_kernel}-misc-vboxdrv
316 Summary: VirtualBox Support Driver
317 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa
318 Release: %{rel}@%{_kernel_ver_str}
320 Requires(post,postun): /sbin/depmod
321 Requires: dev >= 2.9.0-7
322 %if %{with dist_kernel}
323 %requires_releq_kernel
324 Requires(postun): %releq_kernel
326 Provides: kernel(vboxdrv) = %{version}-%{rel}
328 %description -n kernel%{_alt_kernel}-misc-vboxdrv
329 VirtualBox Support Driver.
331 You should install this package in your Host OS.
333 %description -n kernel%{_alt_kernel}-misc-vboxdrv -l pl.UTF-8
334 Moduł jądra Linuksa dla VirtualBoksa - sterownik wsparcia dla systemu
337 %package -n kernel%{_alt_kernel}-misc-vboxnetadp
338 Summary: VirtualBox Network Adapter Driver
339 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa
340 Release: %{rel}@%{_kernel_ver_str}
342 Requires(post,postun): /sbin/depmod
343 Requires: dev >= 2.9.0-7
344 Requires: kernel%{_alt_kernel}-misc-vboxdrv
345 %if %{with dist_kernel}
346 %requires_releq_kernel
347 Requires(postun): %releq_kernel
349 Provides: kernel(vboxnetflt) = %{version}-%{rel}
351 %description -n kernel%{_alt_kernel}-misc-vboxnetadp
352 VirtualBox Network Adapter Driver.
354 You should install this package in your Host OS.
356 %description -n kernel%{_alt_kernel}-misc-vboxnetadp -l pl.UTF-8
357 Moduł jądra Linuksa dla VirtualBoksa - sterownik witrualnej karty
360 %package -n kernel%{_alt_kernel}-misc-vboxnetflt
361 Summary: VirtualBox Network Filter Driver
362 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa
363 Release: %{rel}@%{_kernel_ver_str}
365 Requires(post,postun): /sbin/depmod
366 Requires: dev >= 2.9.0-7
367 Requires: kernel%{_alt_kernel}-misc-vboxdrv
368 %if %{with dist_kernel}
369 %requires_releq_kernel
370 Requires(postun): %releq_kernel
372 Provides: kernel(vboxnetflt) = %{version}-%{rel}
374 %description -n kernel%{_alt_kernel}-misc-vboxnetflt
375 VirtualBox Network Filter Driver.
377 You should install this package in your Host OS.
379 %description -n kernel%{_alt_kernel}-misc-vboxnetflt -l pl.UTF-8
380 Moduł jądra Linuksa dla VirtualBoksa - sterownik filtrowania sieci dla
383 %package -n kernel%{_alt_kernel}-misc-vboxpci
384 Summary: VirtualBox PCI card passthrough Driver
385 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa
386 Release: %{rel}@%{_kernel_ver_str}
388 Requires(post,postun): /sbin/depmod
389 Requires: dev >= 2.9.0-7
390 Requires: kernel%{_alt_kernel}-misc-vboxdrv
391 %if %{with dist_kernel}
392 %requires_releq_kernel
393 Requires(postun): %releq_kernel
395 Provides: kernel(vboxpci) = %{version}-%{rel}
397 %description -n kernel%{_alt_kernel}-misc-vboxpci
398 VirtualBox PCI card passthrough driver that works as host proxy
399 between guest and PCI hardware.
401 You should install this package in your Host OS.
403 %description -n kernel%{_alt_kernel}-misc-vboxnetflt -l pl.UTF-8
404 Moduł jądra Linuksa dla VirtualBoksa - sterownik, ktory działa jako
405 proxy między gościem i gospodarzem sprzętu PCI.
407 %package -n kernel%{_alt_kernel}-misc-vboxsf
408 Summary: Host file system access (Shared Folders) for VirtualBox
409 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa
410 Release: %{rel}@%{_kernel_ver_str}
412 Requires(post,postun): /sbin/depmod
413 Requires: dev >= 2.9.0-7
414 Requires: kernel%{_alt_kernel}-misc-vboxguest
415 %if %{with dist_kernel}
416 %requires_releq_kernel
417 Requires(postun): %releq_kernel
419 Provides: kernel(vboxsf) = %{version}-%{rel}
420 Obsoletes: kernel%{_alt_kernel}-misc-vboxvfs
422 %description -n kernel%{_alt_kernel}-misc-vboxsf
423 Host file system access (Shared Folders) for VirtualBox.
425 You should install this package in your Guest OS.
427 %description -n kernel%{_alt_kernel}-misc-vboxsf -l pl.UTF-8
428 Moduł jądra Linuksa dla VirtualBoksa - dostęp do plików systemu
429 głównego z poziomu systemu gościa.
431 %package -n kernel%{_alt_kernel}-misc-vboxvideo
432 Summary: DRM support for VirtualBox
433 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa
434 Release: %{rel}@%{_kernel_ver_str}
436 Requires(post,postun): /sbin/depmod
437 Requires: dev >= 2.9.0-7
438 %if %{with dist_kernel}
439 %requires_releq_kernel
440 %if "%{rpm_build_macros}" >= "1.531"
441 %requires_releq_kernel -n drm
443 Requires(postun): %releq_kernel
445 Provides: kernel(vboxvideo) = %{version}-%{rel}
447 %description -n kernel%{_alt_kernel}-misc-vboxvideo
448 DRM support for VirtualBox.
450 You should install this package in your Guest OS.
452 %description -n kernel%{_alt_kernel}-misc-vboxvideo -l pl.UTF-8
453 Moduł jądra Linuksa dla VirtualBoksa - sterownik obsługi DRM.
456 %setup -q -n %{pname}-%{version}_OSE
466 %{__sed} -i -e 's,@VBOX_DOC_PATH@,%{_docdir}/%{name}-%{version},' \
467 -e 's/Categories=.*/Categories=Utility;Emulator;/' src/VBox/Installer/common/virtualbox.desktop.in
469 sed 's#@LIBDIR@#%{_libdir}#' < %{SOURCE9} > VirtualBox-wrapper.sh
471 install -d PLD-MODULE-BUILD/{GuestDrivers,HostDrivers}
473 ../src/VBox/Additions/linux/export_modules guest-modules.tar.gz
474 tar -zxf guest-modules.tar.gz -C GuestDrivers
476 ../src/VBox/HostDrivers/linux/export_modules host-modules.tar.gz --without-hardening
477 tar -zxf host-modules.tar.gz -C HostDrivers
484 %if %{with userspace}
485 echo "VBOX_WITH_TESTCASES := " > LocalConfig.kmk
487 --with-gcc="%{__cc}" \
488 --with-g++="%{__cxx}" \
489 %{!?with_doc:--disable-docs} \
491 --disable-hardening \
495 XSERVER_VERSION=$(rpm -q --queryformat '%{VERSION}\n' xorg-xserver-server-devel | awk -F. ' { print $1 $2 } ' 2> /dev/null || echo ERROR)
498 %{?with_verbose:KBUILD_VERBOSE=3} \
500 VBOX_VERSION_STRING='$(VBOX_VERSION_MAJOR).$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD)'_PLD \
501 XSERVER_VERSION="$XSERVER_VERSION"
505 cd PLD-MODULE-BUILD/HostDrivers
506 %build_kernel_modules -m vboxdrv -C vboxdrv
507 %build_kernel_modules -m vboxnetadp -C vboxnetadp
508 %build_kernel_modules -m vboxnetflt -C vboxnetflt
509 %build_kernel_modules -m vboxpci -C vboxpci
512 %build_kernel_modules -m vboxguest -C vboxguest
513 cp -a vboxguest/Module.symvers vboxsf
514 %build_kernel_modules -m vboxsf -C vboxsf -c
515 %build_kernel_modules -m vboxvideo -C vboxvideo_drm
517 %{__cc} %{rpmcflags} %{rpmldflags} -Wall -Werror src/VBox/Additions/linux/sharedfolders/{mount.vboxsf.c,vbsfmount.c} -o mount.vboxsf
521 rm -rf $RPM_BUILD_ROOT
523 %if %{with userspace}
524 install -d $RPM_BUILD_ROOT{%{_bindir},%{_sbindir},%{_libdir}/%{pname}/ExtensionPacks} \
525 $RPM_BUILD_ROOT{%{_pixmapsdir},%{_desktopdir}} \
526 $RPM_BUILD_ROOT%{_libdir}/xorg/modules/{drivers,dri,input}
528 # test if we can hardlink -- %{_builddir} and $RPM_BUILD_ROOT on same partition
529 if cp -al VBox.png $RPM_BUILD_ROOT/Vbox.png 2>/dev/null; then
531 rm -f $RPM_BUILD_ROOT/VBox.png
534 cp -a$l %{outdir}/* $RPM_BUILD_ROOT%{_libdir}/%{pname}
536 cp -a %{SOURCE1} $RPM_BUILD_ROOT%{_libdir}/VirtualBox/additions/VBoxGuestAdditions.iso
537 install -p %{SOURCE10} $RPM_BUILD_ROOT%{_sbindir}/mount.vdi
538 install -p VirtualBox-wrapper.sh $RPM_BUILD_ROOT%{_libdir}/%{pname}
539 for f in {VBox{BFE,Headless,Manage,SDL,SVC,Tunctl,XPCOMIPCD},VirtualBox}; do
540 ln -s %{_libdir}/%{pname}/VirtualBox-wrapper.sh $RPM_BUILD_ROOT%{_bindir}/$f
543 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/VBox.png,%{_pixmapsdir}/virtualbox.png}
544 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname},%{_desktopdir}}/virtualbox.desktop
546 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/vboxmouse_drv.so,%{_libdir}/xorg/modules/input/vboxmouse_drv.so}
547 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/vboxvideo_drv.so,%{_libdir}/xorg/modules/drivers/vboxvideo_drv.so}
548 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/VBoxOGL.so,%{_libdir}/xorg/modules/dri/vboxvideo_dri.so}
549 # xorg other driver versions
550 rm -vf $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxmouse_drv*.{o,so}
551 rm -vf $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxvideo_drv*.{o,so}
553 # XXX: where else to install them that vboxvideo_dri.so finds them? patch with rpath?
554 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLarrayspu.so
555 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLcrutil.so
556 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLerrorspu.so
557 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLfeedbackspu.so
558 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLpackspu.so
559 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLpassthroughspu.so
561 install -d $RPM_BUILD_ROOT/etc/udev/rules.d
562 cp -a %{SOURCE11} $RPM_BUILD_ROOT/etc/udev/rules.d/virtualbox.rules
564 install -d $RPM_BUILD_ROOT/%{_lib}/security
565 mv $RPM_BUILD_ROOT{%{_libdir}/VirtualBox/additions,/%{_lib}/security}/pam_vbox.so
568 rm -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/{src,sdk,testcase}
569 rm -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/src
570 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxkeyboard.tar.bz2
571 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/tst*
573 # IPRT Testcase / Tool - Source Code Massager.
574 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/scm
577 install -d $RPM_BUILD_ROOT/etc/{X11/xinit/xinitrc.d,xdg/autostart}
578 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxService
579 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxClient
580 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxControl
581 install -p -D src/VBox/Additions/x11/Installer/98vboxadd-xclient \
582 $RPM_BUILD_ROOT/etc/X11/xinit/xinitrc.d/98vboxadd-xclient.sh
583 cp -p src/VBox/Additions/x11/Installer/vboxclient.desktop \
584 $RPM_BUILD_ROOT/etc/xdg/autostart/vboxclient.desktop
588 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPInstall
589 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPLoggerCtl
590 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPUninstall
591 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/VBox.sh
592 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxshell.py
593 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/xpidl
596 # packaged by kernel part
597 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/mount.vboxsf
601 install -d $RPM_BUILD_ROOT{/etc/{rc.d/init.d,modprobe.d},%{_sbindir}}
602 install -p %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxdrv
603 install -p %{SOURCE4} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxguest
604 install -p %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxnetflt
605 install -p %{SOURCE6} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxsf
606 install -p %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxnetadp
607 install -p %{SOURCE8} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxpci
608 %install_kernel_modules -m PLD-MODULE-BUILD/HostDrivers/vboxdrv/vboxdrv -d misc
609 %install_kernel_modules -m PLD-MODULE-BUILD/HostDrivers/vboxnetadp/vboxnetadp -d misc
610 %install_kernel_modules -m PLD-MODULE-BUILD/HostDrivers/vboxnetflt/vboxnetflt -d misc
611 %install_kernel_modules -m PLD-MODULE-BUILD/HostDrivers/vboxpci/vboxpci -d misc
612 %install_kernel_modules -m PLD-MODULE-BUILD/GuestDrivers/vboxguest/vboxguest -d misc
613 %install_kernel_modules -m PLD-MODULE-BUILD/GuestDrivers/vboxsf/vboxsf -d misc
614 %install_kernel_modules -m PLD-MODULE-BUILD/GuestDrivers/vboxvideo_drm/vboxvideo -d misc
616 install -p mount.vboxsf $RPM_BUILD_ROOT%{_sbindir}/mount.vboxsf
621 rm -rf $RPM_BUILD_ROOT
624 %groupadd -g 221 -r -f vbox
628 You must install vboxdrv kernel module for this software to work:
629 kernel-misc-vboxdrv-%{version}-%{rel}@%{_kernel_ver_str}
631 Additionally you might want to install:
632 kernel-misc-vboxnetadp-%{version}-%{rel}@%{_kernel_ver_str}
633 kernel-misc-vboxnetflt-%{version}-%{rel}@%{_kernel_ver_str}
634 kernel-misc-vboxpci-%{version}-%{rel}@%{_kernel_ver_str}
636 On Guest Linux system you might want to install:
637 kernel-misc-vboxguest-%{version}-%{rel}@%{_kernel_ver_str}
638 kernel-misc-vboxsf-%{version}-%{rel}@%{_kernel_ver_str}
639 kernel-misc-vboxvideo-%{version}-%{rel}@%{_kernel_ver_str}
644 if [ "$1" = "0" ]; then
648 %post -n kernel%{_alt_kernel}-misc-vboxguest
649 %depmod %{_kernel_ver}
650 /sbin/chkconfig --add vboxguest
651 %service vboxguest restart "VirtualBox Guest additions driver"
653 %postun -n kernel%{_alt_kernel}-misc-vboxguest
654 %depmod %{_kernel_ver}
656 %preun -n kernel%{_alt_kernel}-misc-vboxguest
657 if [ "$1" = "0" ]; then
658 %service vboxguest stop
659 /sbin/chkconfig --del vboxguest
662 %post -n kernel%{_alt_kernel}-misc-vboxdrv
663 %depmod %{_kernel_ver}
664 /sbin/chkconfig --add vboxdrv
665 %service vboxdrv restart "VirtualBox Support Driver"
667 %postun -n kernel%{_alt_kernel}-misc-vboxdrv
668 %depmod %{_kernel_ver}
670 %preun -n kernel%{_alt_kernel}-misc-vboxdrv
671 if [ "$1" = "0" ]; then
672 %service vboxdrv stop
673 /sbin/chkconfig --del vboxdrv
676 %post -n kernel%{_alt_kernel}-misc-vboxnetadp
677 %depmod %{_kernel_ver}
678 /sbin/chkconfig --add vboxnetadp
679 %service vboxnetadp restart "VirtualBox Network HostOnly driver"
681 %postun -n kernel%{_alt_kernel}-misc-vboxnetadp
682 %depmod %{_kernel_ver}
684 %preun -n kernel%{_alt_kernel}-misc-vboxnetadp
685 if [ "$1" = "0" ]; then
686 %service vboxnetadp stop
687 /sbin/chkconfig --del vboxnetadp
690 %post -n kernel%{_alt_kernel}-misc-vboxnetflt
691 %depmod %{_kernel_ver}
692 /sbin/chkconfig --add vboxnetflt
693 %service vboxnetflt restart "VirtualBox Network Filter driver"
695 %postun -n kernel%{_alt_kernel}-misc-vboxnetflt
696 %depmod %{_kernel_ver}
698 %preun -n kernel%{_alt_kernel}-misc-vboxnetflt
699 if [ "$1" = "0" ]; then
700 %service vboxnetflt stop
701 /sbin/chkconfig --del vboxnetflt
704 %post -n kernel%{_alt_kernel}-misc-vboxpci
705 %depmod %{_kernel_ver}
706 /sbin/chkconfig --add vboxpci
707 %service vboxnetflt restart "VirtualBox PCI passthrough driver"
709 %postun -n kernel%{_alt_kernel}-misc-vboxpci
710 %depmod %{_kernel_ver}
712 %preun -n kernel%{_alt_kernel}-misc-vboxpci
713 if [ "$1" = "0" ]; then
714 %service vboxpci stop
715 /sbin/chkconfig --del vboxpci
718 %post -n kernel%{_alt_kernel}-misc-vboxsf
719 %depmod %{_kernel_ver}
720 /sbin/chkconfig --add vboxsf
721 %service vboxsf restart "VirtualBox Host file system access (Shared Folders)"
723 %postun -n kernel%{_alt_kernel}-misc-vboxsf
724 %depmod %{_kernel_ver}
726 %preun -n kernel%{_alt_kernel}-misc-vboxsf
727 if [ "$1" = "0" ]; then
729 /sbin/chkconfig --del vboxsf
732 %post -n kernel%{_alt_kernel}-misc-vboxvideo
733 %depmod %{_kernel_ver}
735 %postun -n kernel%{_alt_kernel}-misc-vboxvideo
736 %depmod %{_kernel_ver}
738 %if %{with userspace}
740 %defattr(644,root,root,755)
741 %dir %{_libdir}/VirtualBox
742 %dir %{_libdir}/VirtualBox/ExtensionPacks
743 %dir %{_libdir}/VirtualBox/additions
744 %dir %{_libdir}/VirtualBox/components
745 %dir %{_libdir}/VirtualBox/nls
746 %attr(755,root,root) %{_bindir}/VBoxBFE
747 %attr(755,root,root) %{_bindir}/VBoxHeadless
748 %attr(755,root,root) %{_bindir}/VBoxManage
749 %attr(755,root,root) %{_bindir}/VBoxSDL
750 %attr(755,root,root) %{_bindir}/VBoxSVC
751 %attr(755,root,root) %{_bindir}/VBoxTunctl
752 %attr(755,root,root) %{_bindir}/VBoxXPCOMIPCD
753 %attr(755,root,root) %{_bindir}/VirtualBox
754 %attr(755,root,root) %{_sbindir}/mount.vdi
755 %attr(755,root,root) %{_libdir}/VirtualBox/DBGCPlugInDiggers.so
756 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxAuth.so
757 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxAuthSimple.so
758 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxBFE
759 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxBalloonCtrl
760 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxCreateUSBNode.sh
761 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxDbg.so
762 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxDD2.so
763 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxDD.so
764 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxDDU.so
765 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxExtPackHelperApp
766 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxGuestControlSvc.so
767 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxGuestPropSvc.so
768 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxHeadless
769 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxKeyboard.so
770 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxManage
771 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxNetAdpCtl
772 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxNetDHCP
773 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxOGLhostcrutil.so
774 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxOGLhosterrorspu.so
775 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxOGLrenderspu.so
776 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxPython*.so
777 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxREM.so
779 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxREM32.so
780 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxREM64.so
782 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxRT.so
783 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSDL
784 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSharedClipboard.so
785 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSharedCrOpenGL.so
786 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSharedFolders.so
787 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSVC
788 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSysInfo.sh
789 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxTestOGL
790 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxTunctl
791 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxVMM.so
792 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxXPCOMC.so
793 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxXPCOMIPCD
794 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxXPCOM.so
795 %attr(755,root,root) %{_libdir}/VirtualBox/VirtualBox
796 %attr(755,root,root) %{_libdir}/VirtualBox/VirtualBox-wrapper.sh
797 %{_libdir}/VirtualBox/VBoxDD2GC.gc
798 %{_libdir}/VirtualBox/VBoxDDGC.gc
799 %{_libdir}/VirtualBox/VMMGC.gc
800 %{_libdir}/VirtualBox/VBoxDD2R0.r0
801 %{_libdir}/VirtualBox/VBoxDDR0.r0
802 %{_libdir}/VirtualBox/VMMR0.r0
803 %{_libdir}/VirtualBox/EfiThunk
804 %{_libdir}/VirtualBox/VBoxEFI32.fd
805 %{_libdir}/VirtualBox/VBoxEFI64.fd
806 %{_libdir}/VirtualBox/components/VBoxXPCOMBase.xpt
807 %{_libdir}/VirtualBox/components/VirtualBox_XPCOM.xpt
808 %attr(755,root,root) %{_libdir}/VirtualBox/components/VBoxC.so
809 %attr(755,root,root) %{_libdir}/VirtualBox/components/VBoxSVCM.so
810 %attr(755,root,root) %{_libdir}/VirtualBox/components/VBoxXPCOMIPCC.so
811 %lang(ar) %{_libdir}/VirtualBox/nls/*_ar.qm
812 %lang(bg) %{_libdir}/VirtualBox/nls/*_bg.qm
813 %lang(ca) %{_libdir}/VirtualBox/nls/*_ca.qm
814 %lang(ca_VA) %{_libdir}/VirtualBox/nls/*_ca_VA.qm
815 %lang(cs) %{_libdir}/VirtualBox/nls/*_cs.qm
816 %lang(da) %{_libdir}/VirtualBox/nls/*_da.qm
817 %lang(de) %{_libdir}/VirtualBox/nls/*_de.qm
818 %lang(el) %{_libdir}/VirtualBox/nls/*_el.qm
819 %lang(en) %{_libdir}/VirtualBox/nls/*_en.qm
820 %lang(es) %{_libdir}/VirtualBox/nls/*_es.qm
821 %lang(eu) %{_libdir}/VirtualBox/nls/*_eu.qm
822 %lang(fi) %{_libdir}/VirtualBox/nls/*_fi.qm
823 %lang(fr) %{_libdir}/VirtualBox/nls/*_fr.qm
824 %lang(gl_ES) %{_libdir}/VirtualBox/nls/*_gl_ES.qm
825 %lang(hu) %{_libdir}/VirtualBox/nls/*_hu.qm
826 %lang(id) %{_libdir}/VirtualBox/nls/*_id.qm
827 %lang(it) %{_libdir}/VirtualBox/nls/*_it.qm
828 %lang(ja) %{_libdir}/VirtualBox/nls/*_ja.qm
829 %lang(km_KH) %{_libdir}/VirtualBox/nls/*_km_KH.qm
830 %lang(ko) %{_libdir}/VirtualBox/nls/*_ko.qm
831 %lang(lt) %{_libdir}/VirtualBox/nls/*_lt.qm
832 %lang(nl) %{_libdir}/VirtualBox/nls/*_nl.qm
833 %lang(pl) %{_libdir}/VirtualBox/nls/*_pl.qm
834 %lang(pt) %{_libdir}/VirtualBox/nls/*_pt.qm
835 %lang(pt_BR) %{_libdir}/VirtualBox/nls/*_pt_BR.qm
836 %lang(ro) %{_libdir}/VirtualBox/nls/*_ro.qm
837 %lang(ru) %{_libdir}/VirtualBox/nls/*_ru.qm
838 %lang(sk) %{_libdir}/VirtualBox/nls/*_sk.qm
839 %lang(sr) %{_libdir}/VirtualBox/nls/*_sr.qm
840 %lang(sv) %{_libdir}/VirtualBox/nls/*_sv.qm
841 %lang(tr) %{_libdir}/VirtualBox/nls/*_tr.qm
842 %lang(uk) %{_libdir}/VirtualBox/nls/*_uk.qm
843 %lang(zh_CN) %{_libdir}/VirtualBox/nls/*_zh_CN.qm
844 %lang(zh_TW) %{_libdir}/VirtualBox/nls/*_zh_TW.qm
845 %{_pixmapsdir}/virtualbox.png
846 %{_desktopdir}/*.desktop
847 %{_libdir}/VirtualBox/icons
848 %{_libdir}/VirtualBox/virtualbox.xml
851 %defattr(644,root,root,755)
852 %{_libdir}/VirtualBox/additions/VBoxGuestAdditions.iso
855 %defattr(644,root,root,755)
856 # NOTE: unfinished, should contain .desktop files for starting up mouse
857 # integration and other desktop services
858 # NOTE: the filelist is incomplete too
859 %attr(755,root,root) %{_bindir}/VBoxClient
860 %attr(755,root,root) %{_bindir}/VBoxControl
861 %attr(755,root,root) %{_bindir}/VBoxService
862 /etc/X11/xinit/xinitrc.d/98vboxadd-xclient.sh
863 /etc/xdg/autostart/vboxclient.desktop
865 %attr(755,root,root) %{_libdir}/VirtualBox/additions/autorun.sh
866 %attr(755,root,root) %{_libdir}/VirtualBox/additions/vboxadd
867 %attr(755,root,root) %{_libdir}/VirtualBox/additions/vboxadd-service
868 %attr(755,root,root) %{_libdir}/VirtualBox/additions/vboxadd-x11
870 %files -n pam-pam_vbox
871 %defattr(644,root,root,755)
872 %attr(755,root,root) /%{_lib}/security/pam_vbox.so
876 %defattr(644,root,root,755)
877 %doc %{outdir}/UserManual.pdf
881 %defattr(644,root,root,755)
882 %config(noreplace) %verify(not md5 mtime size) /etc/udev/rules.d/virtualbox.rules
884 %files -n xorg-driver-input-vboxmouse
885 %defattr(644,root,root,755)
886 %attr(755,root,root) %{_libdir}/xorg/modules/input/vboxmouse_drv.so
888 %files -n xorg-driver-video-vboxvideo
889 %defattr(644,root,root,755)
890 %attr(755,root,root) %{_libdir}/xorg/modules/drivers/vboxvideo_drv.so
891 %attr(755,root,root) %{_libdir}/xorg/modules/dri/vboxvideo_dri.so
892 # vboxvideo_dri.so deps
893 %attr(755,root,root) %{_libdir}/VBoxOGLarrayspu.so
894 %attr(755,root,root) %{_libdir}/VBoxOGLcrutil.so
895 %attr(755,root,root) %{_libdir}/VBoxOGLerrorspu.so
896 %attr(755,root,root) %{_libdir}/VBoxOGLfeedbackspu.so
897 %attr(755,root,root) %{_libdir}/VBoxOGLpackspu.so
898 %attr(755,root,root) %{_libdir}/VBoxOGLpassthroughspu.so
902 %files -n kernel%{_alt_kernel}-misc-vboxguest
903 %defattr(644,root,root,755)
904 %attr(754,root,root) /etc/rc.d/init.d/vboxguest
905 /lib/modules/%{_kernel_ver}/misc/vboxguest.ko*
907 %files -n kernel%{_alt_kernel}-misc-vboxdrv
908 %defattr(644,root,root,755)
909 %attr(754,root,root) /etc/rc.d/init.d/vboxdrv
910 /lib/modules/%{_kernel_ver}/misc/vboxdrv.ko*
912 %files -n kernel%{_alt_kernel}-misc-vboxnetadp
913 %defattr(644,root,root,755)
914 %attr(754,root,root) /etc/rc.d/init.d/vboxnetadp
915 /lib/modules/%{_kernel_ver}/misc/vboxnetadp.ko*
917 %files -n kernel%{_alt_kernel}-misc-vboxnetflt
918 %defattr(644,root,root,755)
919 %attr(754,root,root) /etc/rc.d/init.d/vboxnetflt
920 /lib/modules/%{_kernel_ver}/misc/vboxnetflt.ko*
922 %files -n kernel%{_alt_kernel}-misc-vboxpci
923 %defattr(644,root,root,755)
924 %attr(754,root,root) /etc/rc.d/init.d/vboxpci
925 /lib/modules/%{_kernel_ver}/misc/vboxpci.ko*
927 %files -n kernel%{_alt_kernel}-misc-vboxsf
928 %defattr(644,root,root,755)
929 %attr(754,root,root) /etc/rc.d/init.d/vboxsf
930 %attr(755,root,root) %{_sbindir}/mount.vboxsf
931 /lib/modules/%{_kernel_ver}/misc/vboxsf.ko*
933 %files -n kernel%{_alt_kernel}-misc-vboxvideo
934 %defattr(644,root,root,755)
935 /lib/modules/%{_kernel_ver}/misc/vboxvideo.ko*