2 %bcond_without dist_kernel # without distribution kernel
3 %bcond_without kernel # don't build kernel module
4 %bcond_without userspace # don't build userspace package
5 %bcond_with verbose # verbose kernel mod build
7 # disable debug - no symbols here
8 %define _enable_debug_packages 0
17 %define pname VirtualBox
18 Summary: VirtualBox - x86 hardware virtualizer
19 Summary(pl.UTF-8): VirtualBox - wirtualizator sprzętu x86
23 License: Free for non-commercial use, non-distributable
24 Group: Applications/Emulators
25 #Source0: http://download.virtualbox.org/virtualbox/%{version}/%{pname}-%{version}-%{prev}-Linux_%{arch}.run
26 Source0: %{pname}-%{version}-%{prev}-Linux_%{arch}.run
28 #Source1: http://download.virtualbox.org/virtualbox/%{version}/UserManual.pdf
29 Source1: UserManual.pdf
30 # Source1-md5: 1f8ec67c1dbc0bcdfbbfbe26171eb098
31 Source3: %{pname}-vboxdrv.init
32 Source4: %{pname}-vboxadd.init
33 Source5: %{pname}-vboxnetflt.init
34 Source6: %{pname}-vboxvfs.init
35 Source7: %{pname}.desktop
37 URL: http://www.virtualbox.org/
38 %{?with_userspace:BuildRequires: ffmpeg-libs}
39 BuildRequires: rpmbuild(macros) >= 1.379
40 Requires(post,preun): /sbin/chkconfig
41 Requires(postun): /usr/sbin/groupdel
42 Requires(pre): /usr/bin/getgid
43 Requires(pre): /usr/sbin/groupadd
47 ExclusiveArch: %{ix86} %{x8664}
48 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
50 %define _noautoreq libavcodec.so.51 libavformat.so.51
53 Sun VirtualBox is a general-purpose full virtualizer for x86 hardware.
54 Targeted at server, desktop and embedded use.
56 Some of the features of VirtualBox are:
58 Modularity: VirtualBox has an extremely modular design with
59 well-defined internal programming interfaces and a client/server
60 design. This makes it easy to control it from several interfaces at
61 once: for example, you can start a virtual machine in a typical
62 virtual machine GUI and then control that machine from the command
65 Virtual machine descriptions in XML: the configuration settings of
66 virtual machines are stored entirely in XML and are independent of the
67 local machines. Virtual machine definitions can therefore easily be
68 ported to other computers.
70 %description -l pl.UTF-8
71 Sun VirtualBox jest emulatorem sprzętu x86. Kierowany do zastosowań
72 serwerowych, desktopowych oraz wbudowanych.
74 Przykładowe cechy VirtualBoksa:
76 Modularność: VirtualBox jest wysoce zmodularyzowanym produktem z
77 dobrze zaprojektowanym wewnętrznym interfejsem programowym typu
78 klient/serwer. Dzięki temu można łatwo kontrolować go za pomocą
79 różnych interfejsów. Można na przykład uruchomić maszynę wirtualną z
80 poziomu interfejsu graficznego, a później kontrolować ją z linii
81 poleceń. VirtualBox dostarcza również pełny pakiet deweloperski, co
82 pozwala stworzyć dowolny inny interfejs zarządzania maszyną wirtualną.
84 Opisy maszyn wirtualnych w XML-u: konfiguracje poszczególnych maszyn
85 wirtualnych są w całości przechowywane w XML-u i są niezależne od
86 lokalnej maszyny. Dzięki temu można szybko i łatwo przenieść
87 konfigurację maszyny wirtualnej na inny komputer.
90 Summary: udev rules for VirtualBox kernel modules
91 Summary(pl.UTF-8): Reguły udev dla modułów jądra Linuksa dla VirtualBoksa
97 udev rules for VirtualBox kernel modules.
99 %description udev -l pl.UTF-8
100 Reguły udev dla modułów jądra Linuksa dla VirtualBoksa.
102 %package -n kernel%{_alt_kernel}-misc-vboxadd
103 Summary: VirtualBox Guest Additions for Linux Module
104 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa
105 Release: %{rel}@%{_kernel_ver_str}
107 Requires(post,postun): /sbin/depmod
108 Requires: dev >= 2.9.0-7
109 %if %{with dist_kernel}
110 %requires_releq_kernel
111 Requires(postun): %releq_kernel
113 Provides: kernel(vboxadd) = %{version}-%{rel}
115 %description -n kernel%{_alt_kernel}-misc-vboxadd
116 VirtualBox Guest Additions for Linux Module.
118 %description -n kernel%{_alt_kernel}-misc-vboxadd -l pl.UTF-8
119 Moduł jądra Linuksa vboxadd dla VirtualBoksa - dodatki dla
122 %package -n kernel%{_alt_kernel}-misc-vboxdrv
123 Summary: VirtualBox Support Driver
124 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa
125 Release: %{rel}@%{_kernel_ver_str}
127 Requires(post,postun): /sbin/depmod
128 Requires: dev >= 2.9.0-7
129 %if %{with dist_kernel}
130 %requires_releq_kernel
131 Requires(postun): %releq_kernel
133 Provides: kernel(vboxdrv) = %{version}-%{rel}
135 %description -n kernel%{_alt_kernel}-misc-vboxdrv
136 VirtualBox Support Driver.
138 %description -n kernel%{_alt_kernel}-misc-vboxdrv -l pl.UTF-8
139 Moduł jądra Linuksa dla VirtualBoksa - sterownik wsparcia dla
142 %package -n kernel%{_alt_kernel}-misc-vboxnetflt
143 Summary: VirtualBox Guest Additions for Linux Module
144 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa
145 Release: %{rel}@%{_kernel_ver_str}
147 Requires(post,postun): /sbin/depmod
148 Requires: dev >= 2.9.0-7
149 Requires: kernel%{_alt_kernel}-misc-vboxdrv
150 %if %{with dist_kernel}
151 %requires_releq_kernel
152 Requires(postun): %releq_kernel
154 Provides: kernel(vboxnetflt) = %{version}-%{rel}
156 %description -n kernel%{_alt_kernel}-misc-vboxnetflt
157 VirtualBox Network Filter Driver.
159 %description -n kernel%{_alt_kernel}-misc-vboxnetflt -l pl.UTF-8
160 Moduł jądra Linuksa dla VirtualBoksa - sterownik filtrowania
161 sieci dla systemu głównego.
163 %package -n kernel%{_alt_kernel}-misc-vboxvfs
164 Summary: Host file system access VFS for VirtualBox
165 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa
166 Release: %{rel}@%{_kernel_ver_str}
168 Requires(post,postun): /sbin/depmod
169 Requires: dev >= 2.9.0-7
170 Requires: kernel%{_alt_kernel}-misc-vboxadd
171 %if %{with dist_kernel}
172 %requires_releq_kernel
173 Requires(postun): %releq_kernel
175 Provides: kernel(vboxvfs) = %{version}-%{rel}
177 %description -n kernel%{_alt_kernel}-misc-vboxvfs
178 Host file system access VFS for VirtualBox.
180 %description -n kernel%{_alt_kernel}-misc-vboxvfs -l pl.UTF-8
181 Moduł jądra Linuksa dla VirtualBoksa - dostęp do plików
182 systemu głównego z poziomu systemu gościa.
184 %package -n xorg-driver-input-vboxmouse
185 Summary: X.org mouse driver for VirtualBox guest OS
186 Summary(pl.UTF-8): Sterownik myszy dla systemu gościa w VirtualBoksie
188 Group: X11/Applications
189 Requires: xorg-xserver-server >= 1.0.99.901
191 %description -n xorg-driver-input-vboxmouse
192 X.org mouse driver for VirtualBox guest OS.
194 %description -n xorg-driver-input-vboxmouse -l pl.UTF-8
195 Sterownik myszy dla systemu gościa w VirtualBoksie.
197 %package -n xorg-driver-video-vboxvideo
198 Summary: X.org video driver for VirtualBox guest OS
199 Summary(pl.UTF-8): Sterownik grafiki dla systemu gościa w VirtualBoksie
201 Group: X11/Applications
202 Requires: xorg-xserver-server >= 1.0.99.901
204 %description -n xorg-driver-video-vboxvideo
205 X.org video driver for VirtualBox guest OS.
207 %description -n xorg-driver-video-vboxvideo -l pl.UTF-8
208 Sterownik grafiki dla systemu gościa w VirtualBoksie.
212 %{__sh} %{SOURCE0} --noexec --keep
213 %{__tar} -jxf install/VirtualBox.tar.bz2
215 cat <<'EOF' > udev.conf
216 KERNEL=="vboxdrv", NAME="%k", GROUP="vbox", MODE="0660"
217 KERNEL=="vboxadd", NAME="%k", GROUP="vbox", MODE="0660"
221 sed 's#@LIBDIR@#%{_libdir}#' < %{SOURCE8} > VirtualBox-wrapper.sh
223 rm -rf PLD-MODULE-BUILD && mkdir PLD-MODULE-BUILD && cd PLD-MODULE-BUILD
225 sed -i -e 's/-DVBOX_WITH_HARDENING//g' vboxdrv/Makefile
226 sed -i -e 's/-DVBOX_WITH_HARDENING//g' vboxnetflt/Makefile
231 %build_kernel_modules -m vboxdrv -C vboxdrv
232 cp -a vboxdrv/Module.symvers vboxnetflt/
233 %build_kernel_modules -m vboxnetflt -C vboxnetflt
239 rm -rf $RPM_BUILD_ROOT
241 %if %{with userspace}
243 $RPM_BUILD_ROOT{%{_bindir},%{_pixmapsdir},%{_desktopdir}} \
244 $RPM_BUILD_ROOT%{_libdir}/VirtualBox/components
246 install VirtualBox-wrapper.sh $RPM_BUILD_ROOT%{_libdir}/VirtualBox
247 for f in {VBox{Headless,Manage,Net{AdpCtl,DHCP},SDL,SysInfo.sh,SVC,Tunctl,XPCOMIPCD,.sh},VirtualBox,rdesktop-vrdp,vboxwebsrv,webtest}; do
248 install $f $RPM_BUILD_ROOT%{_libdir}/VirtualBox/$f
251 for f in {VBox{Headless,Manage,SDL,VRDP},VirtualBox,rdesktop-vrdp,vboxwebsrv}; do
252 ln -s %{_libdir}/VirtualBox/VirtualBox-wrapper.sh $RPM_BUILD_ROOT%{_bindir}/$f
255 install libQt*.so.* VBox*.so VirtualBox.so VRDPAuth.so \
256 $RPM_BUILD_ROOT%{_libdir}/VirtualBox
257 install VBox{DD,DD2}{GC.gc,R0.r0} VMM{GC.gc,R0.r0} \
258 $RPM_BUILD_ROOT%{_libdir}/VirtualBox
260 for f in VBox{DDU,REM,RT,VMM,XPCOM}.so; do
261 ln -s %{_libdir}/VirtualBox/$f $RPM_BUILD_ROOT%{_libdir}/VirtualBox/components/$f
264 cp -a accessible additions components nls rdesktop-vrdp-keymaps $RPM_BUILD_ROOT%{_libdir}/VirtualBox
265 install License-7.html $RPM_BUILD_ROOT%{_libdir}/VirtualBox
267 install VBox.png $RPM_BUILD_ROOT%{_pixmapsdir}/VBox.png
268 install %{SOURCE7} $RPM_BUILD_ROOT%{_desktopdir}/%{pname}.desktop
270 install VirtualBox.chm $RPM_BUILD_ROOT%{_libdir}/VirtualBox
272 # required by VBoxFFmpegFB.so
273 ln -s %{_libdir}/libavcodec.so.5? $RPM_BUILD_ROOT%{_libdir}/VirtualBox/libavcodec.so.51
274 ln -s %{_libdir}/libavformat.so.5? $RPM_BUILD_ROOT%{_libdir}/VirtualBox/libavformat.so.51
276 install -d $RPM_BUILD_ROOT/etc/udev/rules.d
277 install udev.conf $RPM_BUILD_ROOT/etc/udev/rules.d/virtualbox.rules
281 install -d $RPM_BUILD_ROOT/etc/rc.d/init.d
282 install %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxdrv
283 install %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxnetflt
284 %install_kernel_modules -m PLD-MODULE-BUILD/vboxdrv/vboxdrv -d misc
285 %install_kernel_modules -m PLD-MODULE-BUILD/vboxnetflt/vboxnetflt -d misc
289 rm -rf $RPM_BUILD_ROOT
292 %groupadd -g 221 -r -f vbox
296 NOTE: You must also install kernel module for this software to work
297 kernel-misc-vboxdrv-%{version}-%{rel}@%{_kernel_ver_str}
298 kernel-desktop-misc-vboxdrv-%{version}-%{rel}@%{_kernel_ver_str}
299 kernel-laptop-misc-vboxdrv-%{version}-%{rel}@%{_kernel_ver_str}
300 kernel-vanilla-misc-vboxdrv-%{version}-%{rel}@%{_kernel_ver_str}
303 Depending on which kernel brand You use.
308 if [ "$1" = "0" ]; then
312 %post -n kernel%{_alt_kernel}-misc-vboxdrv
313 %depmod %{_kernel_ver}
314 /sbin/chkconfig --add vboxdrv
315 %service vboxdrv restart "VirtualBox driver"
317 %postun -n kernel%{_alt_kernel}-misc-vboxdrv
318 %depmod %{_kernel_ver}
320 %preun -n kernel%{_alt_kernel}-misc-vboxdrv
321 if [ "$1" = "0" ]; then
322 %service vboxdrv stop
323 /sbin/chkconfig --del vboxdrv
326 %post -n kernel%{_alt_kernel}-misc-vboxnetflt
327 %depmod %{_kernel_ver}
328 /sbin/chkconfig --add vboxnetflt
329 %service vboxnetflt restart "VirtualBox Network Filter driver"
331 %postun -n kernel%{_alt_kernel}-misc-vboxnetflt
332 %depmod %{_kernel_ver}
334 %preun -n kernel%{_alt_kernel}-misc-vboxnetflt
335 if [ "$1" = "0" ]; then
336 %service vboxnetflt stop
337 /sbin/chkconfig --del vboxnetflt
340 %if %{with userspace}
342 %defattr(644,root,root,755)
344 %dir %{_libdir}/VirtualBox
345 %dir %{_libdir}/VirtualBox/accessible
346 %dir %{_libdir}/VirtualBox/additions
347 %dir %{_libdir}/VirtualBox/components
348 %dir %{_libdir}/VirtualBox/nls
349 %attr(755,root,root) %{_bindir}/VBox*
350 %attr(755,root,root) %{_bindir}/VirtualBox
351 %attr(755,root,root) %{_bindir}/rdesktop-vrdp
352 %attr(755,root,root) %{_bindir}/vboxwebsrv
353 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSVC
354 %attr(4755,root,root) %{_libdir}/VirtualBox/VBoxHeadless
355 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxManage
356 %attr(4755,root,root) %{_libdir}/VirtualBox/VBoxNetAdpCtl
357 %attr(4755,root,root) %{_libdir}/VirtualBox/VBoxNetDHCP
358 %attr(4755,root,root) %{_libdir}/VirtualBox/VBoxSDL
359 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxTunctl
360 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxXPCOMIPCD
361 %attr(755,root,root) %{_libdir}/VirtualBox/VBox*.so
362 %attr(755,root,root) %{_libdir}/VirtualBox/libQt*.so.*
363 %attr(755,root,root) %{_libdir}/VirtualBox/VRDPAuth.so
365 #%attr(755,root,root) %{_libdir}/VirtualBox/VBox*.rel
367 %attr(4755,root,root) %{_libdir}/VirtualBox/VirtualBox
368 %attr(755,root,root) %{_libdir}/VirtualBox/VirtualBox.so
369 %attr(755,root,root) %{_libdir}/VirtualBox/VirtualBox-wrapper.sh
370 %attr(755,root,root) %{_libdir}/VirtualBox/VBox*.sh
371 %attr(755,root,root) %{_libdir}/VirtualBox/libav*.so.*
372 %attr(755,root,root) %{_libdir}/VirtualBox/rdesktop-vrdp
373 %attr(755,root,root) %{_libdir}/VirtualBox/vboxwebsrv
374 %attr(755,root,root) %{_libdir}/VirtualBox/webtest
375 # isn't it already packaged somewhere in the system?
376 %attr(755,root,root) %{_libdir}/VirtualBox/accessible/libqtaccessiblewidgets.so
377 %{_libdir}/VirtualBox/*.gc
378 %{_libdir}/VirtualBox/*.r0
379 %{_libdir}/VirtualBox/additions/*
380 %{_libdir}/VirtualBox/components/*
381 %{_libdir}/VirtualBox/rdesktop-vrdp-keymaps
382 %{_libdir}/VirtualBox/License-7.html
383 %{_libdir}/VirtualBox/VirtualBox.chm
384 %lang(bg) %{_libdir}/VirtualBox/nls/*_bg.qm
385 %lang(ca) %{_libdir}/VirtualBox/nls/*_ca.qm
386 %lang(cs) %{_libdir}/VirtualBox/nls/*_cs.qm
387 %lang(de) %{_libdir}/VirtualBox/nls/*_de.qm
388 %lang(es) %{_libdir}/VirtualBox/nls/*_es.qm
389 %lang(eu) %{_libdir}/VirtualBox/nls/*_eu.qm
390 %lang(fi) %{_libdir}/VirtualBox/nls/*_fi.qm
391 %lang(fr) %{_libdir}/VirtualBox/nls/*_fr.qm
392 %lang(hu) %{_libdir}/VirtualBox/nls/*_hu.qm
393 %lang(id) %{_libdir}/VirtualBox/nls/*_id.qm
394 %lang(it) %{_libdir}/VirtualBox/nls/*_it.qm
395 %lang(ja) %{_libdir}/VirtualBox/nls/*_ja.qm
396 %lang(km_KH) %{_libdir}/VirtualBox/nls/*_km_KH.qm
397 %lang(ko) %{_libdir}/VirtualBox/nls/*_ko.qm
398 %lang(pl) %{_libdir}/VirtualBox/nls/*_pl.qm
399 %lang(pt) %{_libdir}/VirtualBox/nls/*_pt.qm
400 %lang(pt_BR) %{_libdir}/VirtualBox/nls/*_pt_BR.qm
401 %lang(ro) %{_libdir}/VirtualBox/nls/*_ro.qm
402 %lang(ru) %{_libdir}/VirtualBox/nls/*_ru.qm
403 %lang(sk) %{_libdir}/VirtualBox/nls/*_sk.qm
404 %lang(sr) %{_libdir}/VirtualBox/nls/*_sr.qm
405 %lang(sv) %{_libdir}/VirtualBox/nls/*_sv.qm
406 %lang(tr) %{_libdir}/VirtualBox/nls/*_tr.qm
407 %lang(zh_CN) %{_libdir}/VirtualBox/nls/*_zh_CN.qm
408 %lang(zh_TW) %{_libdir}/VirtualBox/nls/*_zh_TW.qm
409 %{_pixmapsdir}/VBox.png
410 %{_desktopdir}/%{pname}.desktop
413 %defattr(644,root,root,755)
414 %config(noreplace) %verify(not md5 mtime size) /etc/udev/rules.d/virtualbox.rules
418 %files -n kernel%{_alt_kernel}-misc-vboxdrv
419 %defattr(644,root,root,755)
420 %attr(754,root,root) /etc/rc.d/init.d/vboxdrv
421 /lib/modules/%{_kernel_ver}/misc/vboxdrv.ko*
423 %files -n kernel%{_alt_kernel}-misc-vboxnetflt
424 %defattr(644,root,root,755)
425 %attr(754,root,root) /etc/rc.d/init.d/vboxnetflt
426 /lib/modules/%{_kernel_ver}/misc/vboxnetflt.ko*