3 # - Doesn't compile without /usr/src/linux/include/linux/autoconf.h so one must
4 # symlink it before building package. This is because during compilation kernel
5 # module is being build. Since we are building kernel modules later
6 # sources/makefiles probably needs some hacking to drop this requirement.
7 # - Home page says that some addons should be compiled, I don't see any except.
8 # vboxaddon kernel module and {vboxmouse,vboxvideo)_drv.so. Are they required?
9 # - BR list was a quickie so it may be incomplete or too big.
10 # - R list probably required.
11 # - .desktop file, some wrapper to launch VirtualBox (LD_LIBRARY_PATH must include
12 # %{_libdir}/VirtualBox), maybe some init script to launch VBoxSVC.
13 # - Devel stuff is not packaged yet.
14 # - Now its EA ix86 amd64, but looking into autogenerated env.sh suggests that
15 # code may be compiled exclusively for i686. Probably x86_64 must be put in EA for Th.
18 %bcond_without dist_kernel # without distribution kernel
19 %bcond_without smp # without SMP kernel modules
21 %define _snap 20070116
23 Summary(pl): VirtualBox
28 Group: Applications/Emulators
29 Source0: %{name}-%{version}_%{_snap}.tar.bz2
30 # Source0-md5: 8554cf552c3ad07b2ae5229c3f8825dc
31 Patch0: %{name}-configure.patch
32 Patch1: %{name}-qt-paths.patch
33 URL: http://www.virtualbox.org/
34 BuildRequires: SDL-devel
37 BuildRequires: gcc >= 3.2.3
39 %{?with_dist_kernel:BuildRequires: kernel%{_alt_kernel}-module-build >= 3:2.6.7}
40 BuildRequires: libIDL-devel
41 BuildRequires: libuuid-devel
42 BuildRequires: libxslt-devel
43 BuildRequires: qt-devel
44 BuildRequires: rpmbuild(macros) >= 1.329
45 BuildRequires: xalan-c-devel
46 BuildRequires: xcursor-devel
47 BuildRequires: xerces-c-devel
48 BuildRequires: zlib-devel
49 ExclusiveArch: %{ix86} amd64
50 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
59 InnoTek VirtualBox is a general-purpose full virtualizer for x86
60 hardware. Targeted at server, desktop and embedded use, it is now the
61 only professional-quality virtualization solution that is also Open
64 Some of the features of VirtualBox are:
66 Modularity: VirtualBox has an extremely modular design with
67 well-defined internal programming interfaces and a client/server
68 design. This makes it easy to control it from several interfaces at
69 once: for example, you can start a virtual machine in a typical
70 virtual machine GUI and then control that machine from the command
71 line. VirtualBox also comes with a full Software Development Kit: even
72 though it is Open Source Software, you don't have to hack the source
73 to write a new interface for VirtualBox.
75 Virtual machine descriptions in XML: the configuration settings of
76 virtual machines are stored entirely in XML and are independent of the
77 local machines. Virtual machine definitions can therefore easily be
78 ported to other computers.
81 InnoTek VirtualBox jest emulatorem sprzêtu x86. Kireowany do
82 zastosowañ serwerowych, desktopowych oraz embedded jest obecnie
83 jedynym wysokiej jako¶ci rozwi±zaniem wirtualizacyjnym dostêpnym
84 równie¿ jako Otwarte Oprogramowanie.
86 Przyk³adowe mo¿liwo¶ci VirtualBox:
88 Modularno¶æ: VirtualBox jest wysoce zmodularyzowanym produktem z
89 dobrze zaprojektowanym wewnêtrznym interfejsem programowym typu
90 klient/serwer. Dziêki temu mo¿na ³atwo kontrolowaæ go za pomoc±
91 ró¿nych interfejsów. Mo¿na na przyk³ad uruchomiæ maszynê wirtualn± z
92 poziomu interfejsu graficznego, a pó¼niej kontrolowaæ j± z linii
93 poleceñ. VirtualBox dostarcza równie¿ pe³ny pakiet deweloperski, co
94 pozwala stworzyæ dowolny inny interfejs zarz±dzania maszyn± wirtualn±.
96 Opisy maszyn wirtualnych w XML: konfiguracje poszczególnych maszyn
97 wirtualnych s± w ca³o¶ci przechowywane w XMLu i s± niezale¿ne od
98 lokalnej maszyny. Dziêki temu mo¿na szybko i ³atwo przenie¶æ
99 konfiguracjê maszyny wirtualnej na inny komputer.
101 %package -n kernel%{_alt_kernel}-misc-vboxdrv
102 Summary: Kernel module for VirtualBox
103 Summary(pl): Modu³ j±dra dla VirtualBox
104 Release: %{_rel}@%{_kernel_ver_str}
106 Requires(post,postun): /sbin/depmod
107 Requires: dev >= 2.9.0-7
108 %if %{with dist_kernel}
109 %requires_releq_kernel_up
110 Requires(postun): %releq_kernel_up
112 Provides: kernel(vboxdrv) = %{version}-%{_rel}
114 %description -n kernel%{_alt_kernel}-misc-vboxdrv
115 Kernel module vboxdrv for VirtualBox.
117 %description -n kernel%{_alt_kernel}-misc-vboxdrv -l pl
118 Modu³ j±dra vboxdrv dla VirtualBox.
120 %package -n kernel%{_alt_kernel}-smp-misc-vboxdrv
121 Summary: Kernel SMP module for VirtualBox
122 Summary(pl): Modu³ j±dra SMP dla VirtualBox
123 Release: %{_rel}@%{_kernel_ver_str}
125 Requires(post,postun): /sbin/depmod
126 Requires: dev >= 2.9.0-7
127 %if %{with dist_kernel}
128 %requires_releq_kernel_smp
129 Requires(postun): %releq_kernel_smp
131 Provides: kernel(vboxdrv) = %{version}-%{_rel}
133 %description -n kernel%{_alt_kernel}-smp-misc-vboxdrv
134 Kernel SMP module vboxdrv for VirtualBox.
136 %description -n kernel%{_alt_kernel}-smp-misc-vboxdrv -l pl
137 Modu³ j±dra SMP vboxdrv dla VirtualBox.
149 cd out/linux.%{_outdir}/release/bin/src
150 for cfg in %{?with_dist_kernel:%{?with_smp:smp} up}%{!?with_dist_kernel:nondist}; do
151 if [ ! -r "%{_kernelsrcdir}/config-$cfg" ]; then
155 install -d o/include/linux
156 ln -sf %{_kernelsrcdir}/config-$cfg o/.config
157 ln -sf %{_kernelsrcdir}/Module.symvers-$cfg o/Module.symvers
158 ln -sf %{_kernelsrcdir}/include/linux/autoconf-$cfg.h o/include/linux/autoconf.h
159 %if %{with dist_kernel}
160 %{__make} -j1 -C %{_kernelsrcdir} O=$PWD/o prepare scripts
162 touch o/include/config/MARKER
163 ln -sf %{_kernelsrcdir}/scripts o/scripts
165 ln -sf ../../include/VBox o/include/VBox
166 ln -sf ../../include/iprt o/include/iprt
167 %{__make} -C %{_kernelsrcdir} clean \
168 SYSSRC=%{_kernelsrcdir} \
172 %{__make} -C %{_kernelsrcdir} modules \
173 CC="%{__cc}" CPP="%{__cpp}" \
174 SYSSRC=%{_kernelsrcdir} \
178 mv vboxdrv.ko vboxdrv-$cfg.ko
182 rm -rf $RPM_BUILD_ROOT
185 $RPM_BUILD_ROOT%{_bindir} \
186 $RPM_BUILD_ROOT%{_libdir}/VirtualBox
188 install out/linux.%{_outdir}/release/bin/{VBox{BFE,Manage,SDL,SVC,XPCOMIPCD},VirtualBox} \
189 $RPM_BUILD_ROOT%{_bindir}
190 install out/linux.%{_outdir}/release/bin/VBox{DD,DD2,REM,REMImp,RT,VMM,XML,XPCOM,XPCOMIPCC}.so \
191 $RPM_BUILD_ROOT%{_libdir}/VirtualBox
192 install out/linux.%{_outdir}/release/bin/{VBox{DD,DD2}{GC.gc,R0.r0},VMM{GC.gc,R0.r0}} \
193 $RPM_BUILD_ROOT%{_libdir}/VirtualBox
196 install -d $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}{,smp}/misc
197 %if %{with smp} && %{with dist_kernel}
198 install out/linux.%{_outdir}/release/bin/src/vboxdrv-smp.ko \
199 $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}smp/misc/vboxdrv.ko
204 rm -rf $RPM_BUILD_ROOT
206 %post -n kernel%{_alt_kernel}-misc-vboxdrv
207 %depmod %{_kernel_ver}
209 %postun -n kernel%{_alt_kernel}-misc-vboxdrv
210 %depmod %{_kernel_ver}
212 %if %{with smp} && %{with dist_kernel}
213 %post -n kernel%{_alt_kernel}-smp-misc-vboxdrv
214 %depmod %{_kernel_ver}smp
216 %postun -n kernel%{_alt_kernel}-smp-misc-vboxdrv
217 %depmod %{_kernel_ver}smp
221 %defattr(644,root,root,755)
222 %attr(755,root,root) %{_bindir}/VBox*
223 %attr(755,root,root) %{_bindir}/VirtualBox
224 %dir %{_libdir}/VirtualBox
225 %{_libdir}/VirtualBox
227 %files -n kernel%{_alt_kernel}-misc-vboxdrv
228 %defattr(644,root,root,755)
230 %if %{with smp} && %{with dist_kernel}
231 %files -n kernel%{_alt_kernel}-smp-misc-vboxdrv
232 %defattr(644,root,root,755)