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: 37573de808ddf2f4e7fe5f46966fbbe6
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 OSE kernel modules
91 Summary(pl.UTF-8): Reguły udev dla modułów jądra Linuksa dla VirtualBoksa
97 udev rules for VirtualBox OSE 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 OSE Guest Additions for Linux Module
104 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa OSE
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 OSE 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 OSE - dodatki dla
122 %package -n kernel%{_alt_kernel}-misc-vboxdrv
123 Summary: VirtualBox OSE Support Driver
124 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa OSE
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 OSE Support Driver.
138 %description -n kernel%{_alt_kernel}-misc-vboxdrv -l pl.UTF-8
139 Moduł jądra Linuksa dla VirtualBoksa OSE - sterownik wsparcia dla
142 %package -n kernel%{_alt_kernel}-misc-vboxnetflt
143 Summary: VirtualBox OSE Guest Additions for Linux Module
144 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa OSE
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 OSE Network Filter Driver.
159 %description -n kernel%{_alt_kernel}-misc-vboxnetflt -l pl.UTF-8
160 Moduł jądra Linuksa dla VirtualBoksa OSE - 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 OSE
165 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa OSE
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 OSE.
180 %description -n kernel%{_alt_kernel}-misc-vboxvfs -l pl.UTF-8
181 Moduł jądra Linuksa dla VirtualBoksa OSE - 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 OSE guest OS
186 Summary(pl.UTF-8): Sterownik myszy dla systemu gościa w VirtualBoksie OSE
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 OSE 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 OSE guest OS
199 Summary(pl.UTF-8): Sterownik grafiki dla systemu gościa w VirtualBoksie OSE
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 OSE guest OS.
207 %description -n xorg-driver-video-vboxvideo -l pl.UTF-8
208 Sterownik grafiki dla systemu gościa w VirtualBoksie OSE.
214 %{__sh} %{SOURCE0} --noexec --keep
215 %{__tar} -jxf install/VirtualBox.tar.bz2
217 cat <<'EOF' > udev.conf
218 KERNEL=="vboxdrv", NAME="%k", GROUP="vbox", MODE="0660"
219 KERNEL=="vboxadd", NAME="%k", GROUP="vbox", MODE="0660"
223 sed 's#@LIBDIR@#%{_libdir}#' < %{SOURCE8} > VirtualBox-wrapper.sh
225 rm -rf PLD-MODULE-BUILD && mkdir PLD-MODULE-BUILD && cd PLD-MODULE-BUILD
227 sed -i -e 's/-DVBOX_WITH_HARDENING//g' vboxdrv/Makefile
228 sed -i -e 's/-DVBOX_WITH_HARDENING//g' vboxnetflt/Makefile
233 %build_kernel_modules -m vboxdrv -C vboxdrv
234 cp -a vboxdrv/Module.symvers vboxnetflt/
235 %build_kernel_modules -m vboxnetflt -C vboxnetflt
241 rm -rf $RPM_BUILD_ROOT
243 %if %{with userspace}
245 $RPM_BUILD_ROOT{%{_bindir},%{_pixmapsdir},%{_desktopdir}} \
246 $RPM_BUILD_ROOT%{_libdir}/VirtualBox/components
248 install VirtualBox-wrapper.sh $RPM_BUILD_ROOT%{_libdir}/VirtualBox
249 for f in {VBox{Headless,Manage,Net{AdpCtl,DHCP},SDL,SysInfo.sh,SVC,Tunctl,XPCOMIPCD,.sh},VirtualBox,rdesktop-vrdp,vboxwebsrv,webtest}; do
250 install $f $RPM_BUILD_ROOT%{_libdir}/VirtualBox/$f
253 for f in {VBox{Headless,Manage,SDL,VRDP},VirtualBox,rdesktop-vrdp,vboxwebsrv}; do
254 ln -s %{_libdir}/VirtualBox/VirtualBox-wrapper.sh $RPM_BUILD_ROOT%{_bindir}/$f
257 install libQt*.so.* VBox*.so VirtualBox.so VRDPAuth.so \
258 $RPM_BUILD_ROOT%{_libdir}/VirtualBox
259 install VBox{DD,DD2}{GC.gc,R0.r0} VMM{GC.gc,R0.r0} \
260 $RPM_BUILD_ROOT%{_libdir}/VirtualBox
262 for f in VBox{DDU,REM,RT,VMM,XPCOM}.so; do
263 ln -s %{_libdir}/VirtualBox/$f $RPM_BUILD_ROOT%{_libdir}/VirtualBox/components/$f
266 cp -a accessible additions components nls rdesktop-vrdp-keymaps $RPM_BUILD_ROOT%{_libdir}/VirtualBox
267 install License-7.html $RPM_BUILD_ROOT%{_libdir}/VirtualBox
269 install VBox.png $RPM_BUILD_ROOT%{_pixmapsdir}/VBox.png
270 install %{SOURCE7} $RPM_BUILD_ROOT%{_desktopdir}/%{pname}.desktop
272 install VirtualBox.chm $RPM_BUILD_ROOT%{_libdir}/VirtualBox
274 # required by VBoxFFmpegFB.so
275 ln -s %{_libdir}/libavcodec.so.5? $RPM_BUILD_ROOT%{_libdir}/VirtualBox/libavcodec.so.51
276 ln -s %{_libdir}/libavformat.so.5? $RPM_BUILD_ROOT%{_libdir}/VirtualBox/libavformat.so.51
278 install -d $RPM_BUILD_ROOT/etc/udev/rules.d
279 install udev.conf $RPM_BUILD_ROOT/etc/udev/rules.d/virtualbox.rules
283 install -d $RPM_BUILD_ROOT/etc/rc.d/init.d
284 install %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxdrv
285 install %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxnetflt
286 %install_kernel_modules -m PLD-MODULE-BUILD/vboxdrv/vboxdrv -d misc
287 %install_kernel_modules -m PLD-MODULE-BUILD/vboxnetflt/vboxnetflt -d misc
291 rm -rf $RPM_BUILD_ROOT
294 %groupadd -g 221 -r -f vbox
298 NOTE: You must also install kernel module for this software to work
299 kernel-misc-vboxdrv-%{version}-%{rel}@%{_kernel_ver_str}
300 kernel-desktop-misc-vboxdrv-%{version}-%{rel}@%{_kernel_ver_str}
301 kernel-laptop-misc-vboxdrv-%{version}-%{rel}@%{_kernel_ver_str}
302 kernel-vanilla-misc-vboxdrv-%{version}-%{rel}@%{_kernel_ver_str}
305 Depending on which kernel brand You use.
310 if [ "$1" = "0" ]; then
314 %post -n kernel%{_alt_kernel}-misc-vboxdrv
315 %depmod %{_kernel_ver}
316 /sbin/chkconfig --add vboxdrv
317 %service vboxdrv restart "VirtualBox OSE driver"
319 %postun -n kernel%{_alt_kernel}-misc-vboxdrv
320 %depmod %{_kernel_ver}
322 %preun -n kernel%{_alt_kernel}-misc-vboxdrv
323 if [ "$1" = "0" ]; then
324 %service vboxdrv stop
325 /sbin/chkconfig --del vboxdrv
328 %post -n kernel%{_alt_kernel}-misc-vboxnetflt
329 %depmod %{_kernel_ver}
330 /sbin/chkconfig --add vboxnetflt
331 %service vboxnetflt restart "VirtualBox OSE Network Filter driver"
333 %postun -n kernel%{_alt_kernel}-misc-vboxnetflt
334 %depmod %{_kernel_ver}
336 %preun -n kernel%{_alt_kernel}-misc-vboxnetflt
337 if [ "$1" = "0" ]; then
338 %service vboxnetflt stop
339 /sbin/chkconfig --del vboxnetflt
342 %if %{with userspace}
344 %defattr(644,root,root,755)
346 %dir %{_libdir}/VirtualBox
347 %dir %{_libdir}/VirtualBox/accessible
348 %dir %{_libdir}/VirtualBox/additions
349 %dir %{_libdir}/VirtualBox/components
350 %dir %{_libdir}/VirtualBox/nls
351 %attr(755,root,root) %{_bindir}/VBox*
352 %attr(755,root,root) %{_bindir}/VirtualBox
353 %attr(755,root,root) %{_bindir}/rdesktop-vrdp
354 %attr(755,root,root) %{_bindir}/vboxwebsrv
355 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSVC
356 %attr(4755,root,root) %{_libdir}/VirtualBox/VBoxHeadless
357 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxManage
358 %attr(4755,root,root) %{_libdir}/VirtualBox/VBoxNetAdpCtl
359 %attr(4755,root,root) %{_libdir}/VirtualBox/VBoxNetDHCP
360 %attr(4755,root,root) %{_libdir}/VirtualBox/VBoxSDL
361 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxTunctl
362 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxXPCOMIPCD
363 %attr(755,root,root) %{_libdir}/VirtualBox/VBox*.so
364 %attr(755,root,root) %{_libdir}/VirtualBox/libQt*.so.*
365 %attr(755,root,root) %{_libdir}/VirtualBox/VRDPAuth.so
367 #%attr(755,root,root) %{_libdir}/VirtualBox/VBox*.rel
369 %attr(4755,root,root) %{_libdir}/VirtualBox/VirtualBox
370 %attr(755,root,root) %{_libdir}/VirtualBox/VirtualBox.so
371 %attr(755,root,root) %{_libdir}/VirtualBox/VirtualBox-wrapper.sh
372 %attr(755,root,root) %{_libdir}/VirtualBox/VBox*.sh
373 %attr(755,root,root) %{_libdir}/VirtualBox/libav*.so.*
374 %attr(755,root,root) %{_libdir}/VirtualBox/rdesktop-vrdp
375 %attr(755,root,root) %{_libdir}/VirtualBox/vboxwebsrv
376 %attr(755,root,root) %{_libdir}/VirtualBox/webtest
377 # isn't it already packaged somewhere in the system?
378 %attr(755,root,root) %{_libdir}/VirtualBox/accessible/libqtaccessiblewidgets.so
379 %{_libdir}/VirtualBox/*.gc
380 %{_libdir}/VirtualBox/*.r0
381 %{_libdir}/VirtualBox/additions/*
382 %{_libdir}/VirtualBox/components/*
383 %{_libdir}/VirtualBox/rdesktop-vrdp-keymaps
384 %{_libdir}/VirtualBox/License-7.html
385 %{_libdir}/VirtualBox/VirtualBox.chm
386 %lang(bg) %{_libdir}/VirtualBox/nls/*_bg.qm
387 %lang(ca) %{_libdir}/VirtualBox/nls/*_ca.qm
388 %lang(cs) %{_libdir}/VirtualBox/nls/*_cs.qm
389 %lang(de) %{_libdir}/VirtualBox/nls/*_de.qm
390 %lang(es) %{_libdir}/VirtualBox/nls/*_es.qm
391 %lang(eu) %{_libdir}/VirtualBox/nls/*_eu.qm
392 %lang(fi) %{_libdir}/VirtualBox/nls/*_fi.qm
393 %lang(fr) %{_libdir}/VirtualBox/nls/*_fr.qm
394 %lang(hu) %{_libdir}/VirtualBox/nls/*_hu.qm
395 %lang(id) %{_libdir}/VirtualBox/nls/*_id.qm
396 %lang(it) %{_libdir}/VirtualBox/nls/*_it.qm
397 %lang(ja) %{_libdir}/VirtualBox/nls/*_ja.qm
398 %lang(ko) %{_libdir}/VirtualBox/nls/*_ko.qm
399 %lang(pl) %{_libdir}/VirtualBox/nls/*_pl.qm
400 %lang(pt) %{_libdir}/VirtualBox/nls/*_pt.qm
401 %lang(pt_BR) %{_libdir}/VirtualBox/nls/*_pt_BR.qm
402 %lang(ro) %{_libdir}/VirtualBox/nls/*_ro.qm
403 %lang(ru) %{_libdir}/VirtualBox/nls/*_ru.qm
404 %lang(sk) %{_libdir}/VirtualBox/nls/*_sk.qm
405 %lang(sr) %{_libdir}/VirtualBox/nls/*_sr.qm
406 %lang(sv) %{_libdir}/VirtualBox/nls/*_sv.qm
407 %lang(tr) %{_libdir}/VirtualBox/nls/*_tr.qm
408 %lang(zh_CN) %{_libdir}/VirtualBox/nls/*_zh_CN.qm
409 %lang(zh_TW) %{_libdir}/VirtualBox/nls/*_zh_TW.qm
410 %{_pixmapsdir}/VBox.png
411 %{_desktopdir}/%{pname}.desktop
414 %defattr(644,root,root,755)
415 %config(noreplace) %verify(not md5 mtime size) /etc/udev/rules.d/virtualbox.rules
419 %files -n kernel%{_alt_kernel}-misc-vboxdrv
420 %defattr(644,root,root,755)
421 %attr(754,root,root) /etc/rc.d/init.d/vboxdrv
422 /lib/modules/%{_kernel_ver}/misc/vboxdrv.ko*
424 %files -n kernel%{_alt_kernel}-misc-vboxnetflt
425 %defattr(644,root,root,755)
426 %attr(754,root,root) /etc/rc.d/init.d/vboxnetflt
427 /lib/modules/%{_kernel_ver}/misc/vboxnetflt.ko*