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: e8333e067d76901e39879ef301f545af
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
251 ln -s %{_libdir}/VirtualBox/VirtualBox-wrapper.sh $RPM_BUILD_ROOT%{_bindir}/$f
254 install libQt*.so.* VBox*.so VirtualBox.so VRDPAuth.so \
255 $RPM_BUILD_ROOT%{_libdir}/VirtualBox
256 install VBox{DD,DD2}{GC.gc,R0.r0} VMM{GC.gc,R0.r0} \
257 $RPM_BUILD_ROOT%{_libdir}/VirtualBox
260 ln -s %{_libdir}/VirtualBox/$f $RPM_BUILD_ROOT%{_libdir}/VirtualBox/components/$f
263 cp -a accessible additions components nls rdesktop-vrdp-keymaps $RPM_BUILD_ROOT%{_libdir}/VirtualBox
264 install License-7.html $RPM_BUILD_ROOT%{_libdir}/VirtualBox
266 install VBox.png $RPM_BUILD_ROOT%{_pixmapsdir}/VBox.png
267 install %{SOURCE7} $RPM_BUILD_ROOT%{_desktopdir}/%{pname}.desktop
269 install VirtualBox.chm $RPM_BUILD_ROOT%{_libdir}/VirtualBox
271 # required by VBoxFFmpegFB.so
272 ln -s %{_libdir}/libavcodec.so.5? $RPM_BUILD_ROOT%{_libdir}/VirtualBox/libavcodec.so.51
273 ln -s %{_libdir}/libavformat.so.5? $RPM_BUILD_ROOT%{_libdir}/VirtualBox/libavformat.so.51
275 install -d $RPM_BUILD_ROOT/etc/udev/rules.d
276 install udev.conf $RPM_BUILD_ROOT/etc/udev/rules.d/virtualbox.rules
280 install -d $RPM_BUILD_ROOT/etc/rc.d/init.d
281 install %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxdrv
282 install %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxnetflt
283 %install_kernel_modules -m PLD-MODULE-BUILD/vboxdrv/vboxdrv -d misc
284 %install_kernel_modules -m PLD-MODULE-BUILD/vboxnetflt/vboxnetflt -d misc
288 rm -rf $RPM_BUILD_ROOT
291 %groupadd -g 221 -r -f vbox
295 NOTE: You must also install kernel module for this software to work
296 kernel-misc-vboxdrv-%{version}-%{rel}@%{_kernel_ver_str}
297 kernel-desktop-misc-vboxdrv-%{version}-%{rel}@%{_kernel_ver_str}
298 kernel-laptop-misc-vboxdrv-%{version}-%{rel}@%{_kernel_ver_str}
299 kernel-vanilla-misc-vboxdrv-%{version}-%{rel}@%{_kernel_ver_str}
302 Depending on which kernel brand You use.
307 if [ "$1" = "0" ]; then
311 %post -n kernel%{_alt_kernel}-misc-vboxdrv
312 %depmod %{_kernel_ver}
313 /sbin/chkconfig --add vboxdrv
314 %service vboxdrv restart "VirtualBox OSE driver"
316 %postun -n kernel%{_alt_kernel}-misc-vboxdrv
317 %depmod %{_kernel_ver}
319 %preun -n kernel%{_alt_kernel}-misc-vboxdrv
320 if [ "$1" = "0" ]; then
321 %service vboxdrv stop
322 /sbin/chkconfig --del vboxdrv
325 %post -n kernel%{_alt_kernel}-misc-vboxnetflt
326 %depmod %{_kernel_ver}
327 /sbin/chkconfig --add vboxnetflt
328 %service vboxdrv restart "VirtualBox OSE Network Filter driver"
330 %postun -n kernel%{_alt_kernel}-misc-vboxnetflt
331 %depmod %{_kernel_ver}
333 %preun -n kernel%{_alt_kernel}-misc-vboxnetflt
334 if [ "$1" = "0" ]; then
335 %service vboxnetflt stop
336 /sbin/chkconfig --del vboxnetflt
339 %if %{with userspace}
341 %defattr(644,root,root,755)
343 %dir %{_libdir}/VirtualBox
344 %dir %{_libdir}/VirtualBox/accessible
345 %dir %{_libdir}/VirtualBox/additions
346 %dir %{_libdir}/VirtualBox/components
347 %dir %{_libdir}/VirtualBox/nls
348 %attr(755,root,root) %{_bindir}/VBox*
349 %attr(755,root,root) %{_bindir}/VirtualBox
350 %attr(755,root,root) %{_bindir}/rdesktop-vrdp
351 %attr(755,root,root) %{_bindir}/vboxwebsrv
352 %attr(755,root,root) %{_bindir}/webtest
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(755,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(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*