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: 02556a6b4877cfdfbaa3ce0a0c0dcf31
47 Source1: http://download.virtualbox.org/virtualbox/%{version}/VBoxGuestAdditions_%{version}.iso
48 # Source1-md5: 0f4cd4926333d0567e8dea7faf3138c7
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 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.
291 # KEEP ALL REGULAR SUBPACKAGES BEFORE KERNEL PACKAGES.
292 %package -n kernel%{_alt_kernel}-misc-vboxguest
293 Summary: VirtualBox OSE Guest Additions for Linux Module
294 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa OSE
295 Release: %{rel}@%{_kernel_ver_str}
297 Requires(post,postun): /sbin/depmod
298 Requires: dev >= 2.9.0-7
299 %if %{with dist_kernel}
300 %requires_releq_kernel
301 Requires(postun): %releq_kernel
303 Provides: kernel(vboxguest) = %{version}-%{rel}
304 Obsoletes: kernel%{_alt_kernel}-misc-vboxadd
305 Conflicts: kernel%{_alt_kernel}-misc-vboxdrv
307 %description -n kernel%{_alt_kernel}-misc-vboxguest
308 VirtualBox OSE Guest Additions for Linux Module.
310 You should install this package in your Guest OS.
312 %description -n kernel%{_alt_kernel}-misc-vboxguest -l pl.UTF-8
313 Moduł jądra Linuksa vboxguest dla VirtualBoksa OSE - dodatki dla
316 %package -n kernel%{_alt_kernel}-misc-vboxdrv
317 Summary: VirtualBox OSE Support Driver
318 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa OSE
319 Release: %{rel}@%{_kernel_ver_str}
321 Requires(post,postun): /sbin/depmod
322 Requires: dev >= 2.9.0-7
323 %if %{with dist_kernel}
324 %requires_releq_kernel
325 Requires(postun): %releq_kernel
327 Provides: kernel(vboxdrv) = %{version}-%{rel}
329 %description -n kernel%{_alt_kernel}-misc-vboxdrv
330 VirtualBox OSE Support Driver.
332 You should install this package in your Host OS.
334 %description -n kernel%{_alt_kernel}-misc-vboxdrv -l pl.UTF-8
335 Moduł jądra Linuksa dla VirtualBoksa OSE - sterownik wsparcia dla
338 %package -n kernel%{_alt_kernel}-misc-vboxnetadp
339 Summary: VirtualBox OSE Network Adapter Driver
340 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa OSE
341 Release: %{rel}@%{_kernel_ver_str}
343 Requires(post,postun): /sbin/depmod
344 Requires: dev >= 2.9.0-7
345 Requires: kernel%{_alt_kernel}-misc-vboxdrv
346 %if %{with dist_kernel}
347 %requires_releq_kernel
348 Requires(postun): %releq_kernel
350 Provides: kernel(vboxnetflt) = %{version}-%{rel}
352 %description -n kernel%{_alt_kernel}-misc-vboxnetadp
353 VirtualBox OSE Network Adapter Driver.
355 You should install this package in your Host OS.
357 %description -n kernel%{_alt_kernel}-misc-vboxnetadp -l pl.UTF-8
358 Moduł jądra Linuksa dla VirtualBoksa OSE - sterownik witrualnej karty
361 %package -n kernel%{_alt_kernel}-misc-vboxnetflt
362 Summary: VirtualBox OSE Network Filter Driver
363 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa OSE
364 Release: %{rel}@%{_kernel_ver_str}
366 Requires(post,postun): /sbin/depmod
367 Requires: dev >= 2.9.0-7
368 Requires: kernel%{_alt_kernel}-misc-vboxdrv
369 %if %{with dist_kernel}
370 %requires_releq_kernel
371 Requires(postun): %releq_kernel
373 Provides: kernel(vboxnetflt) = %{version}-%{rel}
375 %description -n kernel%{_alt_kernel}-misc-vboxnetflt
376 VirtualBox OSE Network Filter Driver.
378 You should install this package in your Host OS.
380 %description -n kernel%{_alt_kernel}-misc-vboxnetflt -l pl.UTF-8
381 Moduł jądra Linuksa dla VirtualBoksa OSE - sterownik filtrowania sieci
382 dla systemu głównego.
384 %package -n kernel%{_alt_kernel}-misc-vboxpci
385 Summary: VirtualBox OSE PCI card passthrough Driver
386 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa OSE
387 Release: %{rel}@%{_kernel_ver_str}
389 Requires(post,postun): /sbin/depmod
390 Requires: dev >= 2.9.0-7
391 Requires: kernel%{_alt_kernel}-misc-vboxdrv
392 %if %{with dist_kernel}
393 %requires_releq_kernel
394 Requires(postun): %releq_kernel
396 Provides: kernel(vboxpci) = %{version}-%{rel}
398 %description -n kernel%{_alt_kernel}-misc-vboxpci
399 VirtualBox OSE PCI card passthrough driver that works as host proxy between
400 guest and PCI hardware.
402 You should install this package in your Host OS.
404 %description -n kernel%{_alt_kernel}-misc-vboxnetflt -l pl.UTF-8
405 Moduł jądra Linuksa dla VirtualBoksa OSE - sterownik, ktory działa jako proxy
406 między gościem i gospodarzem sprzętu PCI.
408 %package -n kernel%{_alt_kernel}-misc-vboxsf
409 Summary: Host file system access (Shared Folders) for VirtualBox OSE
410 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa OSE
411 Release: %{rel}@%{_kernel_ver_str}
413 Requires(post,postun): /sbin/depmod
414 Requires: dev >= 2.9.0-7
415 Requires: kernel%{_alt_kernel}-misc-vboxguest
416 %if %{with dist_kernel}
417 %requires_releq_kernel
418 Requires(postun): %releq_kernel
420 Provides: kernel(vboxsf) = %{version}-%{rel}
421 Obsoletes: kernel%{_alt_kernel}-misc-vboxvfs
423 %description -n kernel%{_alt_kernel}-misc-vboxsf
424 Host file system access (Shared Folders) for VirtualBox OSE.
426 You should install this package in your Guest OS.
428 %description -n kernel%{_alt_kernel}-misc-vboxsf -l pl.UTF-8
429 Moduł jądra Linuksa dla VirtualBoksa OSE - dostęp do plików systemu
430 głównego z poziomu systemu gościa.
432 %package -n kernel%{_alt_kernel}-misc-vboxvideo
433 Summary: DRM support for VirtualBox OSE
434 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa OSE
435 Release: %{rel}@%{_kernel_ver_str}
437 Requires(post,postun): /sbin/depmod
438 Requires: dev >= 2.9.0-7
439 %if %{with dist_kernel}
440 %requires_releq_kernel
441 %if "%{rpm_build_macros}" >= "1.531"
442 %requires_releq_kernel -n drm
444 Requires(postun): %releq_kernel
446 Provides: kernel(vboxvideo) = %{version}-%{rel}
448 %description -n kernel%{_alt_kernel}-misc-vboxvideo
449 DRM support for VirtualBox OSE.
451 You should install this package in your Guest OS.
453 %description -n kernel%{_alt_kernel}-misc-vboxvideo -l pl.UTF-8
454 Moduł jądra Linuksa dla VirtualBoksa OSE - sterownik obsługi DRM.
457 %setup -q -n %{pname}-%{version}_OSE
467 %{__sed} -i -e 's,@VBOX_DOC_PATH@,%{_docdir}/%{name}-%{version},' \
468 -e 's/Categories=.*/Categories=Utility;Emulator;/' src/VBox/Installer/common/virtualbox.desktop.in
470 sed 's#@LIBDIR@#%{_libdir}#' < %{SOURCE9} > VirtualBox-wrapper.sh
472 install -d PLD-MODULE-BUILD/{GuestDrivers,HostDrivers}
474 ../src/VBox/Additions/linux/export_modules guest-modules.tar.gz
475 tar -zxf guest-modules.tar.gz -C GuestDrivers
477 ../src/VBox/HostDrivers/linux/export_modules host-modules.tar.gz --without-hardening
478 tar -zxf host-modules.tar.gz -C HostDrivers
485 %if %{with userspace}
486 echo "VBOX_WITH_TESTCASES := " > LocalConfig.kmk
488 --with-gcc="%{__cc}" \
489 --with-g++="%{__cxx}" \
490 %{!?with_doc:--disable-docs} \
492 --disable-hardening \
496 XSERVER_VERSION=$(rpm -q --queryformat '%{VERSION}\n' xorg-xserver-server-devel | awk -F. ' { print $1 $2 } ' 2> /dev/null || echo ERROR)
499 %{?with_verbose:KBUILD_VERBOSE=3} \
501 VBOX_VERSION_STRING='$(VBOX_VERSION_MAJOR).$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD)'_PLD \
502 XSERVER_VERSION="$XSERVER_VERSION"
506 cd PLD-MODULE-BUILD/HostDrivers
507 %build_kernel_modules -m vboxdrv -C vboxdrv
508 %build_kernel_modules -m vboxnetadp -C vboxnetadp
509 %build_kernel_modules -m vboxnetflt -C vboxnetflt
510 %build_kernel_modules -m vboxpci -C vboxpci
513 %build_kernel_modules -m vboxguest -C vboxguest
514 cp -a vboxguest/Module.symvers vboxsf
515 %build_kernel_modules -m vboxsf -C vboxsf -c
516 %build_kernel_modules -m vboxvideo -C vboxvideo_drm
518 %{__cc} %{rpmcflags} %{rpmldflags} -Wall -Werror src/VBox/Additions/linux/sharedfolders/{mount.vboxsf.c,vbsfmount.c} -o mount.vboxsf
522 rm -rf $RPM_BUILD_ROOT
524 %if %{with userspace}
525 install -d $RPM_BUILD_ROOT{%{_bindir},%{_sbindir},%{_libdir}/%{pname}/ExtensionPacks} \
526 $RPM_BUILD_ROOT{%{_pixmapsdir},%{_desktopdir}} \
527 $RPM_BUILD_ROOT%{_libdir}/xorg/modules/{drivers,dri,input}
529 # test if we can hardlink -- %{_builddir} and $RPM_BUILD_ROOT on same partition
530 if cp -al VBox.png $RPM_BUILD_ROOT/Vbox.png 2>/dev/null; then
532 rm -f $RPM_BUILD_ROOT/VBox.png
535 cp -a$l %{outdir}/* $RPM_BUILD_ROOT%{_libdir}/%{pname}
537 cp -a %{SOURCE1} $RPM_BUILD_ROOT%{_libdir}/VirtualBox/additions/VBoxGuestAdditions.iso
538 install -p %{SOURCE10} $RPM_BUILD_ROOT%{_sbindir}/mount.vdi
539 install -p VirtualBox-wrapper.sh $RPM_BUILD_ROOT%{_libdir}/%{pname}
540 for f in {VBox{BFE,Headless,Manage,SDL,SVC,Tunctl,XPCOMIPCD},VirtualBox}; do
541 ln -s %{_libdir}/%{pname}/VirtualBox-wrapper.sh $RPM_BUILD_ROOT%{_bindir}/$f
544 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/VBox.png,%{_pixmapsdir}/virtualbox.png}
545 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname},%{_desktopdir}}/virtualbox.desktop
547 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/vboxmouse_drv.so,%{_libdir}/xorg/modules/input/vboxmouse_drv.so}
548 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/vboxvideo_drv.so,%{_libdir}/xorg/modules/drivers/vboxvideo_drv.so}
549 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/VBoxOGL.so,%{_libdir}/xorg/modules/dri/vboxvideo_dri.so}
550 # xorg other driver versions
551 rm -vf $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/vboxmouse_drv*.{o,so}
552 rm -vf $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/vboxvideo_drv*.{o,so}
554 # XXX: where else to install them that vboxvideo_dri.so finds them? patch with rpath?
555 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLarrayspu.so
556 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLcrutil.so
557 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLerrorspu.so
558 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLfeedbackspu.so
559 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLpackspu.so
560 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLpassthroughspu.so
562 install -d $RPM_BUILD_ROOT/etc/udev/rules.d
563 cp -a %{SOURCE11} $RPM_BUILD_ROOT/etc/udev/rules.d/virtualbox.rules
565 install -d $RPM_BUILD_ROOT/%{_lib}/security
566 mv $RPM_BUILD_ROOT{%{_libdir}/VirtualBox/additions,/%{_lib}/security}/pam_vbox.so
569 rm -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/{src,sdk,testcase}
570 rm -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/src
571 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxkeyboard.tar.bz2
572 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/tst*
574 # IPRT Testcase / Tool - Source Code Massager.
575 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/scm
578 install -d $RPM_BUILD_ROOT/etc/{X11/xinit/xinitrc.d,xdg/autostart}
579 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxService
580 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxClient
581 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxControl
582 install -p -D src/VBox/Additions/x11/Installer/98vboxadd-xclient \
583 $RPM_BUILD_ROOT/etc/X11/xinit/xinitrc.d/98vboxadd-xclient.sh
584 cp -p src/VBox/Additions/x11/Installer/vboxclient.desktop \
585 $RPM_BUILD_ROOT/etc/xdg/autostart/vboxclient.desktop
589 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPInstall
590 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPLoggerCtl
591 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPUninstall
592 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/VBox.sh
593 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxshell.py
594 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/xpidl
597 # packaged by kernel part
598 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/mount.vboxsf
602 install -d $RPM_BUILD_ROOT{/etc/{rc.d/init.d,modprobe.d},%{_sbindir}}
603 install -p %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxdrv
604 install -p %{SOURCE4} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxguest
605 install -p %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxnetflt
606 install -p %{SOURCE6} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxsf
607 install -p %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxnetadp
608 install -p %{SOURCE8} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxpci
609 %install_kernel_modules -m PLD-MODULE-BUILD/HostDrivers/vboxdrv/vboxdrv -d misc
610 %install_kernel_modules -m PLD-MODULE-BUILD/HostDrivers/vboxnetadp/vboxnetadp -d misc
611 %install_kernel_modules -m PLD-MODULE-BUILD/HostDrivers/vboxnetflt/vboxnetflt -d misc
612 %install_kernel_modules -m PLD-MODULE-BUILD/HostDrivers/vboxpci/vboxpci -d misc
613 %install_kernel_modules -m PLD-MODULE-BUILD/GuestDrivers/vboxguest/vboxguest -d misc
614 %install_kernel_modules -m PLD-MODULE-BUILD/GuestDrivers/vboxsf/vboxsf -d misc
615 %install_kernel_modules -m PLD-MODULE-BUILD/GuestDrivers/vboxvideo_drm/vboxvideo -d misc
617 install -p mount.vboxsf $RPM_BUILD_ROOT%{_sbindir}/mount.vboxsf
622 rm -rf $RPM_BUILD_ROOT
625 %groupadd -g 221 -r -f vbox
629 You must install vboxdrv kernel module for this software to work:
630 kernel-misc-vboxdrv-%{version}-%{rel}@%{_kernel_ver_str}
632 Additionally you might want to install:
633 kernel-misc-vboxnetadp-%{version}-%{rel}@%{_kernel_ver_str}
634 kernel-misc-vboxnetflt-%{version}-%{rel}@%{_kernel_ver_str}
635 kernel-misc-vboxpci-%{version}-%{rel}@%{_kernel_ver_str}
637 On Guest Linux system you might want to install:
638 kernel-misc-vboxguest-%{version}-%{rel}@%{_kernel_ver_str}
639 kernel-misc-vboxsf-%{version}-%{rel}@%{_kernel_ver_str}
640 kernel-misc-vboxvideo-%{version}-%{rel}@%{_kernel_ver_str}
645 if [ "$1" = "0" ]; then
649 %post -n kernel%{_alt_kernel}-misc-vboxguest
650 %depmod %{_kernel_ver}
651 /sbin/chkconfig --add vboxguest
652 %service vboxguest restart "VirtualBox OSE Guest additions driver"
654 %postun -n kernel%{_alt_kernel}-misc-vboxguest
655 %depmod %{_kernel_ver}
657 %preun -n kernel%{_alt_kernel}-misc-vboxguest
658 if [ "$1" = "0" ]; then
659 %service vboxguest stop
660 /sbin/chkconfig --del vboxguest
663 %post -n kernel%{_alt_kernel}-misc-vboxdrv
664 %depmod %{_kernel_ver}
665 /sbin/chkconfig --add vboxdrv
666 %service vboxdrv restart "VirtualBox OSE Support Driver"
668 %postun -n kernel%{_alt_kernel}-misc-vboxdrv
669 %depmod %{_kernel_ver}
671 %preun -n kernel%{_alt_kernel}-misc-vboxdrv
672 if [ "$1" = "0" ]; then
673 %service vboxdrv stop
674 /sbin/chkconfig --del vboxdrv
677 %post -n kernel%{_alt_kernel}-misc-vboxnetadp
678 %depmod %{_kernel_ver}
679 /sbin/chkconfig --add vboxnetadp
680 %service vboxnetadp restart "VirtualBox OSE Network HostOnly driver"
682 %postun -n kernel%{_alt_kernel}-misc-vboxnetadp
683 %depmod %{_kernel_ver}
685 %preun -n kernel%{_alt_kernel}-misc-vboxnetadp
686 if [ "$1" = "0" ]; then
687 %service vboxnetadp stop
688 /sbin/chkconfig --del vboxnetadp
691 %post -n kernel%{_alt_kernel}-misc-vboxnetflt
692 %depmod %{_kernel_ver}
693 /sbin/chkconfig --add vboxnetflt
694 %service vboxnetflt restart "VirtualBox OSE Network Filter driver"
696 %postun -n kernel%{_alt_kernel}-misc-vboxnetflt
697 %depmod %{_kernel_ver}
699 %preun -n kernel%{_alt_kernel}-misc-vboxnetflt
700 if [ "$1" = "0" ]; then
701 %service vboxnetflt stop
702 /sbin/chkconfig --del vboxnetflt
705 %post -n kernel%{_alt_kernel}-misc-vboxpci
706 %depmod %{_kernel_ver}
707 /sbin/chkconfig --add vboxpci
708 %service vboxnetflt restart "VirtualBox OSE PCI passthrough driver"
710 %postun -n kernel%{_alt_kernel}-misc-vboxpci
711 %depmod %{_kernel_ver}
713 %preun -n kernel%{_alt_kernel}-misc-vboxpci
714 if [ "$1" = "0" ]; then
715 %service vboxpci stop
716 /sbin/chkconfig --del vboxpci
719 %post -n kernel%{_alt_kernel}-misc-vboxsf
720 %depmod %{_kernel_ver}
721 /sbin/chkconfig --add vboxsf
722 %service vboxsf restart "VirtualBox OSE Host file system access (Shared Folders)"
724 %postun -n kernel%{_alt_kernel}-misc-vboxsf
725 %depmod %{_kernel_ver}
727 %preun -n kernel%{_alt_kernel}-misc-vboxsf
728 if [ "$1" = "0" ]; then
730 /sbin/chkconfig --del vboxsf
733 %post -n kernel%{_alt_kernel}-misc-vboxvideo
734 %depmod %{_kernel_ver}
736 %postun -n kernel%{_alt_kernel}-misc-vboxvideo
737 %depmod %{_kernel_ver}
739 %if %{with userspace}
741 %defattr(644,root,root,755)
742 %dir %{_libdir}/VirtualBox
743 %dir %{_libdir}/VirtualBox/ExtensionPacks
744 %dir %{_libdir}/VirtualBox/additions
745 %dir %{_libdir}/VirtualBox/components
746 %dir %{_libdir}/VirtualBox/nls
747 %attr(755,root,root) %{_bindir}/VBoxBFE
748 %attr(755,root,root) %{_bindir}/VBoxHeadless
749 %attr(755,root,root) %{_bindir}/VBoxManage
750 %attr(755,root,root) %{_bindir}/VBoxSDL
751 %attr(755,root,root) %{_bindir}/VBoxSVC
752 %attr(755,root,root) %{_bindir}/VBoxTunctl
753 %attr(755,root,root) %{_bindir}/VBoxXPCOMIPCD
754 %attr(755,root,root) %{_bindir}/VirtualBox
755 %attr(755,root,root) %{_sbindir}/mount.vdi
756 %attr(755,root,root) %{_libdir}/VirtualBox/DBGCPlugInDiggers.so
757 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxAuth.so
758 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxAuthSimple.so
759 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxBFE
760 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxBalloonCtrl
761 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxCreateUSBNode.sh
762 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxDbg.so
763 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxDD2.so
764 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxDD.so
765 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxDDU.so
766 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxExtPackHelperApp
767 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxGuestControlSvc.so
768 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxGuestPropSvc.so
769 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxHeadless
770 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxKeyboard.so
771 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxManage
772 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxNetAdpCtl
773 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxNetDHCP
774 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxOGLhostcrutil.so
775 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxOGLhosterrorspu.so
776 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxOGLrenderspu.so
777 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxPython*.so
778 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxREM.so
780 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxREM32.so
781 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxREM64.so
783 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxRT.so
784 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSDL
785 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSharedClipboard.so
786 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSharedCrOpenGL.so
787 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSharedFolders.so
788 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSVC
789 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSysInfo.sh
790 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxTestOGL
791 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxTunctl
792 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxVMM.so
793 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxXPCOMC.so
794 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxXPCOMIPCD
795 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxXPCOM.so
796 %attr(755,root,root) %{_libdir}/VirtualBox/VirtualBox
797 %attr(755,root,root) %{_libdir}/VirtualBox/VirtualBox-wrapper.sh
798 %{_libdir}/VirtualBox/VBoxDD2GC.gc
799 %{_libdir}/VirtualBox/VBoxDDGC.gc
800 %{_libdir}/VirtualBox/VMMGC.gc
801 %{_libdir}/VirtualBox/VBoxDD2R0.r0
802 %{_libdir}/VirtualBox/VBoxDDR0.r0
803 %{_libdir}/VirtualBox/VMMR0.r0
804 %{_libdir}/VirtualBox/EfiThunk
805 %{_libdir}/VirtualBox/VBoxEFI32.fd
806 %{_libdir}/VirtualBox/VBoxEFI64.fd
807 %{_libdir}/VirtualBox/components/VBoxXPCOMBase.xpt
808 %{_libdir}/VirtualBox/components/VirtualBox_XPCOM.xpt
809 %attr(755,root,root) %{_libdir}/VirtualBox/components/VBoxC.so
810 %attr(755,root,root) %{_libdir}/VirtualBox/components/VBoxSVCM.so
811 %attr(755,root,root) %{_libdir}/VirtualBox/components/VBoxXPCOMIPCC.so
812 %lang(ar) %{_libdir}/VirtualBox/nls/*_ar.qm
813 %lang(bg) %{_libdir}/VirtualBox/nls/*_bg.qm
814 %lang(ca) %{_libdir}/VirtualBox/nls/*_ca.qm
815 %lang(ca_VA) %{_libdir}/VirtualBox/nls/*_ca_VA.qm
816 %lang(cs) %{_libdir}/VirtualBox/nls/*_cs.qm
817 %lang(da) %{_libdir}/VirtualBox/nls/*_da.qm
818 %lang(de) %{_libdir}/VirtualBox/nls/*_de.qm
819 %lang(el) %{_libdir}/VirtualBox/nls/*_el.qm
820 %lang(en) %{_libdir}/VirtualBox/nls/*_en.qm
821 %lang(es) %{_libdir}/VirtualBox/nls/*_es.qm
822 %lang(eu) %{_libdir}/VirtualBox/nls/*_eu.qm
823 %lang(fi) %{_libdir}/VirtualBox/nls/*_fi.qm
824 %lang(fr) %{_libdir}/VirtualBox/nls/*_fr.qm
825 %lang(gl_ES) %{_libdir}/VirtualBox/nls/*_gl_ES.qm
826 %lang(hu) %{_libdir}/VirtualBox/nls/*_hu.qm
827 %lang(id) %{_libdir}/VirtualBox/nls/*_id.qm
828 %lang(it) %{_libdir}/VirtualBox/nls/*_it.qm
829 %lang(ja) %{_libdir}/VirtualBox/nls/*_ja.qm
830 %lang(km_KH) %{_libdir}/VirtualBox/nls/*_km_KH.qm
831 %lang(ko) %{_libdir}/VirtualBox/nls/*_ko.qm
832 %lang(lt) %{_libdir}/VirtualBox/nls/*_lt.qm
833 %lang(nl) %{_libdir}/VirtualBox/nls/*_nl.qm
834 %lang(pl) %{_libdir}/VirtualBox/nls/*_pl.qm
835 %lang(pt) %{_libdir}/VirtualBox/nls/*_pt.qm
836 %lang(pt_BR) %{_libdir}/VirtualBox/nls/*_pt_BR.qm
837 %lang(ro) %{_libdir}/VirtualBox/nls/*_ro.qm
838 %lang(ru) %{_libdir}/VirtualBox/nls/*_ru.qm
839 %lang(sk) %{_libdir}/VirtualBox/nls/*_sk.qm
840 %lang(sr) %{_libdir}/VirtualBox/nls/*_sr.qm
841 %lang(sv) %{_libdir}/VirtualBox/nls/*_sv.qm
842 %lang(tr) %{_libdir}/VirtualBox/nls/*_tr.qm
843 %lang(uk) %{_libdir}/VirtualBox/nls/*_uk.qm
844 %lang(zh_CN) %{_libdir}/VirtualBox/nls/*_zh_CN.qm
845 %lang(zh_TW) %{_libdir}/VirtualBox/nls/*_zh_TW.qm
846 %{_pixmapsdir}/virtualbox.png
847 %{_desktopdir}/*.desktop
848 %{_libdir}/VirtualBox/icons
849 %{_libdir}/VirtualBox/virtualbox.xml
852 %defattr(644,root,root,755)
853 %{_libdir}/VirtualBox/additions/VBoxGuestAdditions.iso
856 %defattr(644,root,root,755)
857 # NOTE: unfinished, should contain .desktop files for starting up mouse
858 # integration and other desktop services
859 # NOTE: the filelist is incomplete too
860 %attr(755,root,root) %{_bindir}/VBoxClient
861 %attr(755,root,root) %{_bindir}/VBoxControl
862 %attr(755,root,root) %{_bindir}/VBoxService
863 /etc/X11/xinit/xinitrc.d/98vboxadd-xclient.sh
864 /etc/xdg/autostart/vboxclient.desktop
866 %attr(755,root,root) %{_libdir}/VirtualBox/additions/autorun.sh
867 %attr(755,root,root) %{_libdir}/VirtualBox/additions/vboxadd
868 %attr(755,root,root) %{_libdir}/VirtualBox/additions/vboxadd-service
869 %attr(755,root,root) %{_libdir}/VirtualBox/additions/vboxadd-x11
871 %files -n pam-pam_vbox
872 %defattr(644,root,root,755)
873 %attr(755,root,root) /%{_lib}/security/pam_vbox.so
877 %defattr(644,root,root,755)
878 %doc %{outdir}/UserManual.pdf
882 %defattr(644,root,root,755)
883 %config(noreplace) %verify(not md5 mtime size) /etc/udev/rules.d/virtualbox.rules
885 %files -n xorg-driver-input-vboxmouse
886 %defattr(644,root,root,755)
887 %attr(755,root,root) %{_libdir}/xorg/modules/input/vboxmouse_drv.so
889 %files -n xorg-driver-video-vboxvideo
890 %defattr(644,root,root,755)
891 %attr(755,root,root) %{_libdir}/xorg/modules/drivers/vboxvideo_drv.so
892 %attr(755,root,root) %{_libdir}/xorg/modules/dri/vboxvideo_dri.so
893 # vboxvideo_dri.so deps
894 %attr(755,root,root) %{_libdir}/VBoxOGLarrayspu.so
895 %attr(755,root,root) %{_libdir}/VBoxOGLcrutil.so
896 %attr(755,root,root) %{_libdir}/VBoxOGLerrorspu.so
897 %attr(755,root,root) %{_libdir}/VBoxOGLfeedbackspu.so
898 %attr(755,root,root) %{_libdir}/VBoxOGLpackspu.so
899 %attr(755,root,root) %{_libdir}/VBoxOGLpassthroughspu.so
903 %files -n kernel%{_alt_kernel}-misc-vboxguest
904 %defattr(644,root,root,755)
905 %attr(754,root,root) /etc/rc.d/init.d/vboxguest
906 /lib/modules/%{_kernel_ver}/misc/vboxguest.ko*
908 %files -n kernel%{_alt_kernel}-misc-vboxdrv
909 %defattr(644,root,root,755)
910 %attr(754,root,root) /etc/rc.d/init.d/vboxdrv
911 /lib/modules/%{_kernel_ver}/misc/vboxdrv.ko*
913 %files -n kernel%{_alt_kernel}-misc-vboxnetadp
914 %defattr(644,root,root,755)
915 %attr(754,root,root) /etc/rc.d/init.d/vboxnetadp
916 /lib/modules/%{_kernel_ver}/misc/vboxnetadp.ko*
918 %files -n kernel%{_alt_kernel}-misc-vboxnetflt
919 %defattr(644,root,root,755)
920 %attr(754,root,root) /etc/rc.d/init.d/vboxnetflt
921 /lib/modules/%{_kernel_ver}/misc/vboxnetflt.ko*
923 %files -n kernel%{_alt_kernel}-misc-vboxpci
924 %defattr(644,root,root,755)
925 %attr(754,root,root) /etc/rc.d/init.d/vboxpci
926 /lib/modules/%{_kernel_ver}/misc/vboxpci.ko*
928 %files -n kernel%{_alt_kernel}-misc-vboxsf
929 %defattr(644,root,root,755)
930 %attr(754,root,root) /etc/rc.d/init.d/vboxsf
931 %attr(755,root,root) %{_sbindir}/mount.vboxsf
932 /lib/modules/%{_kernel_ver}/misc/vboxsf.ko*
934 %files -n kernel%{_alt_kernel}-misc-vboxvideo
935 %defattr(644,root,root,755)
936 /lib/modules/%{_kernel_ver}/misc/vboxvideo.ko*