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 # NoSource0-md5: dfb62b048a58a14691b93356a5824bec
29 #Source1: http://download.virtualbox.org/virtualbox/%{version}/UserManual.pdf
30 Source1: UserManual.pdf
31 # Source1-md5: 691682f681a8289cac7f9b1f550b94a0
32 Source3: %{pname}-vboxdrv.init
33 Source4: %{pname}-vboxadd.init
34 Source5: %{pname}-vboxnetflt.init
35 Source6: %{pname}-vboxvfs.init
36 Source7: %{pname}.desktop
39 URL: http://www.virtualbox.org/
40 BuildRequires: ffmpeg-libs
41 BuildRequires: rpmbuild(macros) >= 1.379
42 Requires(post,preun): /sbin/chkconfig
43 Requires(postun): /usr/sbin/groupdel
44 Requires(pre): /usr/bin/getgid
45 Requires(pre): /usr/sbin/groupadd
49 ExclusiveArch: %{ix86} %{x8664}
50 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
52 %define _noautoreq libavcodec.so.51 libavformat.so.51
55 Sun VirtualBox is a general-purpose full virtualizer for x86 hardware.
56 Targeted at server, desktop and embedded use.
58 Some of the features of VirtualBox are:
60 Modularity: VirtualBox has an extremely modular design with
61 well-defined internal programming interfaces and a client/server
62 design. This makes it easy to control it from several interfaces at
63 once: for example, you can start a virtual machine in a typical
64 virtual machine GUI and then control that machine from the command
67 Virtual machine descriptions in XML: the configuration settings of
68 virtual machines are stored entirely in XML and are independent of the
69 local machines. Virtual machine definitions can therefore easily be
70 ported to other computers.
72 %description -l pl.UTF-8
73 Sun VirtualBox jest emulatorem sprzętu x86. Kierowany do zastosowań
74 serwerowych, desktopowych oraz wbudowanych.
76 Przykładowe cechy VirtualBoksa:
78 Modularność: VirtualBox jest wysoce zmodularyzowanym produktem z
79 dobrze zaprojektowanym wewnętrznym interfejsem programowym typu
80 klient/serwer. Dzięki temu można łatwo kontrolować go za pomocą
81 różnych interfejsów. Można na przykład uruchomić maszynę wirtualną z
82 poziomu interfejsu graficznego, a później kontrolować ją z linii
83 poleceń. VirtualBox dostarcza również pełny pakiet deweloperski, co
84 pozwala stworzyć dowolny inny interfejs zarządzania maszyną wirtualną.
86 Opisy maszyn wirtualnych w XML-u: konfiguracje poszczególnych maszyn
87 wirtualnych są w całości przechowywane w XML-u i są niezależne od
88 lokalnej maszyny. Dzięki temu można szybko i łatwo przenieść
89 konfigurację maszyny wirtualnej na inny komputer.
92 Summary: udev rules for VirtualBox OSE kernel modules
93 Summary(pl.UTF-8): Reguły udev dla modułów jądra Linuksa dla VirtualBoksa
99 udev rules for VirtualBox OSE kernel modules.
101 %description udev -l pl.UTF-8
102 Reguły udev dla modułów jądra Linuksa dla VirtualBoksa.
104 %package -n kernel%{_alt_kernel}-misc-vboxadd
105 Summary: VirtualBox OSE Guest Additions for Linux Module
106 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa OSE
107 Release: %{rel}@%{_kernel_ver_str}
109 Requires(post,postun): /sbin/depmod
110 Requires: dev >= 2.9.0-7
111 %if %{with dist_kernel}
112 %requires_releq_kernel
113 Requires(postun): %releq_kernel
115 Provides: kernel(vboxadd) = %{version}-%{rel}
117 %description -n kernel%{_alt_kernel}-misc-vboxadd
118 VirtualBox OSE Guest Additions for Linux Module.
120 %description -n kernel%{_alt_kernel}-misc-vboxadd -l pl.UTF-8
121 Moduł jądra Linuksa vboxadd dla VirtualBoksa OSE - dodatki dla
124 %package -n kernel%{_alt_kernel}-misc-vboxdrv
125 Summary: VirtualBox OSE Support Driver
126 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa OSE
127 Release: %{rel}@%{_kernel_ver_str}
129 Requires(post,postun): /sbin/depmod
130 Requires: dev >= 2.9.0-7
131 %if %{with dist_kernel}
132 %requires_releq_kernel
133 Requires(postun): %releq_kernel
135 Provides: kernel(vboxdrv) = %{version}-%{rel}
137 %description -n kernel%{_alt_kernel}-misc-vboxdrv
138 VirtualBox OSE Support Driver.
140 %description -n kernel%{_alt_kernel}-misc-vboxdrv -l pl.UTF-8
141 Moduł jądra Linuksa dla VirtualBoksa OSE - sterownik wsparcia dla
144 %package -n kernel%{_alt_kernel}-misc-vboxnetflt
145 Summary: VirtualBox OSE Guest Additions for Linux Module
146 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa OSE
147 Release: %{rel}@%{_kernel_ver_str}
149 Requires(post,postun): /sbin/depmod
150 Requires: dev >= 2.9.0-7
151 Requires: kernel%{_alt_kernel}-misc-vboxdrv
152 %if %{with dist_kernel}
153 %requires_releq_kernel
154 Requires(postun): %releq_kernel
156 Provides: kernel(vboxnetflt) = %{version}-%{rel}
158 %description -n kernel%{_alt_kernel}-misc-vboxnetflt
159 VirtualBox OSE Network Filter Driver.
161 %description -n kernel%{_alt_kernel}-misc-vboxnetflt -l pl.UTF-8
162 Moduł jądra Linuksa dla VirtualBoksa OSE - sterownik filtrowania
163 sieci dla systemu głównego.
165 %package -n kernel%{_alt_kernel}-misc-vboxvfs
166 Summary: Host file system access VFS for VirtualBox OSE
167 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa OSE
168 Release: %{rel}@%{_kernel_ver_str}
170 Requires(post,postun): /sbin/depmod
171 Requires: dev >= 2.9.0-7
172 Requires: kernel%{_alt_kernel}-misc-vboxadd
173 %if %{with dist_kernel}
174 %requires_releq_kernel
175 Requires(postun): %releq_kernel
177 Provides: kernel(vboxvfs) = %{version}-%{rel}
179 %description -n kernel%{_alt_kernel}-misc-vboxvfs
180 Host file system access VFS for VirtualBox OSE.
182 %description -n kernel%{_alt_kernel}-misc-vboxvfs -l pl.UTF-8
183 Moduł jądra Linuksa dla VirtualBoksa OSE - dostęp do plików
184 systemu głównego z poziomu systemu gościa.
186 %package -n xorg-driver-input-vboxmouse
187 Summary: X.org mouse driver for VirtualBox OSE guest OS
188 Summary(pl.UTF-8): Sterownik myszy dla systemu gościa w VirtualBoksie OSE
190 Group: X11/Applications
191 Requires: xorg-xserver-server >= 1.0.99.901
193 %description -n xorg-driver-input-vboxmouse
194 X.org mouse driver for VirtualBox OSE guest OS.
196 %description -n xorg-driver-input-vboxmouse -l pl.UTF-8
197 Sterownik myszy dla systemu gościa w VirtualBoksie.
199 %package -n xorg-driver-video-vboxvideo
200 Summary: X.org video driver for VirtualBox OSE guest OS
201 Summary(pl.UTF-8): Sterownik grafiki dla systemu gościa w VirtualBoksie OSE
203 Group: X11/Applications
204 Requires: xorg-xserver-server >= 1.0.99.901
206 %description -n xorg-driver-video-vboxvideo
207 X.org video driver for VirtualBox OSE guest OS.
209 %description -n xorg-driver-video-vboxvideo -l pl.UTF-8
210 Sterownik grafiki dla systemu gościa w VirtualBoksie OSE.
216 %{__sh} %{SOURCE0} --noexec --keep
217 %{__tar} -jxf install/VirtualBox.tar.bz2
219 cat <<'EOF' > udev.conf
220 KERNEL=="vboxdrv", NAME="%k", GROUP="vbox", MODE="0660"
221 KERNEL=="vboxadd", NAME="%k", GROUP="vbox", MODE="0660"
225 sed 's#@LIBDIR@#%{_libdir}#' < %{SOURCE8} > VirtualBox-wrapper.sh
227 rm -rf PLD-MODULE-BUILD && mkdir PLD-MODULE-BUILD && cd PLD-MODULE-BUILD
229 sed -i -e 's/-DVBOX_WITH_HARDENING//g' vboxdrv/Makefile
230 sed -i -e 's/-DVBOX_WITH_HARDENING//g' vboxnetflt/Makefile
235 %build_kernel_modules -m vboxdrv -C vboxdrv
236 %build_kernel_modules -m vboxnetflt -C vboxnetflt
242 rm -rf $RPM_BUILD_ROOT
244 %if %{with userspace}
246 $RPM_BUILD_ROOT{%{_bindir},%{_pixmapsdir},%{_desktopdir}} \
247 $RPM_BUILD_ROOT%{_libdir}/VirtualBox
249 install VirtualBox-wrapper.sh $RPM_BUILD_ROOT%{_libdir}/VirtualBox
250 for f in {VBox{Headless,Manage,SDL,SysInfo.sh,SVC,Tunctl,XPCOMIPCD,.sh},VirtualBox,rdesktop-vrdp,vboxwebsrv,webtest}; do
251 install $f $RPM_BUILD_ROOT%{_libdir}/VirtualBox/$f
252 ln -s %{_libdir}/VirtualBox/VirtualBox-wrapper.sh $RPM_BUILD_ROOT%{_bindir}/$f
257 # $RPM_BUILD_ROOT%{_libdir}/VirtualBox
260 install libVBoxQt*.so.* VBox*.so VirtualBox.so VRDPAuth.so \
261 $RPM_BUILD_ROOT%{_libdir}/VirtualBox
262 install VBox{DD,DD2}{GC.gc,R0.r0} VMM{GC.gc,R0.r0} \
263 $RPM_BUILD_ROOT%{_libdir}/VirtualBox
265 cp -a accessible additions components nls rdesktop-vrdp-keymaps $RPM_BUILD_ROOT%{_libdir}/VirtualBox
266 install License-7.html $RPM_BUILD_ROOT%{_libdir}/VirtualBox
268 install VBox.png $RPM_BUILD_ROOT%{_pixmapsdir}/VBox.png
269 install %{SOURCE7} $RPM_BUILD_ROOT%{_desktopdir}/%{pname}.desktop
271 install VirtualBox.chm $RPM_BUILD_ROOT%{_libdir}/VirtualBox
273 # required by VBoxFFmpegFB.so
274 ln -s %{_libdir}/libavcodec.so.5? $RPM_BUILD_ROOT%{_libdir}/VirtualBox/libavcodec.so.51
275 ln -s %{_libdir}/libavformat.so.5? $RPM_BUILD_ROOT%{_libdir}/VirtualBox/libavformat.so.51
277 install -d $RPM_BUILD_ROOT/etc/udev/rules.d
278 install udev.conf $RPM_BUILD_ROOT/etc/udev/rules.d/virtualbox.rules
282 install -d $RPM_BUILD_ROOT/etc/rc.d/init.d
283 install %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxdrv
284 install %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxnetflt
285 %install_kernel_modules -m PLD-MODULE-BUILD/vboxdrv/vboxdrv -d misc
286 %install_kernel_modules -m PLD-MODULE-BUILD/vboxnetflt/vboxnetflt -d misc
290 rm -rf $RPM_BUILD_ROOT
293 %groupadd -g 221 -r -f vbox
297 NOTE: You must also install kernel module for this software to work
298 kernel-misc-vboxdrv-%{version}-%{rel}@%{_kernel_ver_str}
299 kernel-desktop-misc-vboxdrv-%{version}-%{rel}@%{_kernel_ver_str}
300 kernel-laptop-misc-vboxdrv-%{version}-%{rel}@%{_kernel_ver_str}
301 kernel-vanilla-misc-vboxdrv-%{version}-%{rel}@%{_kernel_ver_str}
304 Depending on which kernel brand You use.
309 if [ "$1" = "0" ]; then
313 %post -n kernel%{_alt_kernel}-misc-vboxdrv
314 %depmod %{_kernel_ver}
315 /sbin/chkconfig --add vboxdrv
316 %service vboxdrv restart "VirtualBox OSE driver"
318 %postun -n kernel%{_alt_kernel}-misc-vboxdrv
319 %depmod %{_kernel_ver}
321 %preun -n kernel%{_alt_kernel}-misc-vboxdrv
322 if [ "$1" = "0" ]; then
323 %service vboxdrv stop
324 /sbin/chkconfig --del vboxdrv
327 %post -n kernel%{_alt_kernel}-misc-vboxnetflt
328 %depmod %{_kernel_ver}
329 /sbin/chkconfig --add vboxnetflt
330 %service vboxdrv restart "VirtualBox OSE Network Filter driver"
332 %postun -n kernel%{_alt_kernel}-misc-vboxnetflt
333 %depmod %{_kernel_ver}
335 %preun -n kernel%{_alt_kernel}-misc-vboxnetflt
336 if [ "$1" = "0" ]; then
337 %service vboxnetflt stop
338 /sbin/chkconfig --del vboxnetflt
341 %if %{with userspace}
343 %defattr(644,root,root,755)
345 %dir %{_libdir}/VirtualBox
346 %dir %{_libdir}/VirtualBox/accessible
347 %dir %{_libdir}/VirtualBox/additions
348 %dir %{_libdir}/VirtualBox/components
349 %dir %{_libdir}/VirtualBox/nls
350 %attr(755,root,root) %{_bindir}/VBox*
351 %attr(755,root,root) %{_bindir}/VirtualBox
352 %attr(755,root,root) %{_bindir}/rdesktop-vrdp
353 %attr(755,root,root) %{_bindir}/vboxwebsrv
354 %attr(755,root,root) %{_bindir}/webtest
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/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/libVBox*.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(ca) %{_libdir}/VirtualBox/nls/*_ca.qm
385 %lang(cs) %{_libdir}/VirtualBox/nls/*_cs.qm
386 %lang(de) %{_libdir}/VirtualBox/nls/*_de.qm
387 %lang(es) %{_libdir}/VirtualBox/nls/*_es.qm
388 %lang(eu) %{_libdir}/VirtualBox/nls/*_eu.qm
389 %lang(fi) %{_libdir}/VirtualBox/nls/*_fi.qm
390 %lang(fr) %{_libdir}/VirtualBox/nls/*_fr.qm
391 %lang(hu) %{_libdir}/VirtualBox/nls/*_hu.qm
392 %lang(id) %{_libdir}/VirtualBox/nls/*_id.qm
393 %lang(it) %{_libdir}/VirtualBox/nls/*_it.qm
394 %lang(ja) %{_libdir}/VirtualBox/nls/*_ja.qm
395 %lang(ko) %{_libdir}/VirtualBox/nls/*_ko.qm
396 %lang(pl) %{_libdir}/VirtualBox/nls/*_pl.qm
397 %lang(pt) %{_libdir}/VirtualBox/nls/*_pt.qm
398 %lang(pt_BR) %{_libdir}/VirtualBox/nls/*_pt_BR.qm
399 %lang(ro) %{_libdir}/VirtualBox/nls/*_ro.qm
400 %lang(ru) %{_libdir}/VirtualBox/nls/*_ru.qm
401 %lang(sk) %{_libdir}/VirtualBox/nls/*_sk.qm
402 %lang(sr) %{_libdir}/VirtualBox/nls/*_sr.qm
403 %lang(sv) %{_libdir}/VirtualBox/nls/*_sv.qm
404 %lang(tr) %{_libdir}/VirtualBox/nls/*_tr.qm
405 %lang(zh_CN) %{_libdir}/VirtualBox/nls/*_zh_CN.qm
406 %lang(zh_TW) %{_libdir}/VirtualBox/nls/*_zh_TW.qm
407 %{_pixmapsdir}/VBox.png
408 %{_desktopdir}/%{pname}.desktop
411 %defattr(644,root,root,755)
412 %config(noreplace) %verify(not md5 mtime size) /etc/udev/rules.d/virtualbox.rules
416 %files -n kernel%{_alt_kernel}-misc-vboxdrv
417 %defattr(644,root,root,755)
418 %attr(754,root,root) /etc/rc.d/init.d/vboxdrv
419 /lib/modules/%{_kernel_ver}/misc/vboxdrv.ko*
421 %files -n kernel%{_alt_kernel}-misc-vboxnetflt
422 %defattr(644,root,root,755)
423 %attr(754,root,root) /etc/rc.d/init.d/vboxnetflt
424 /lib/modules/%{_kernel_ver}/misc/vboxnetflt.ko*