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
38 BuildRequires: gcc >= 3.2.3
40 %{?with_dist_kernel:BuildRequires: kernel%{_alt_kernel}-module-build >= 3:2.6.7}
41 BuildRequires: libIDL-devel
42 BuildRequires: libuuid-devel
43 BuildRequires: libxslt-progs
44 BuildRequires: qt-devel >= 6:3.3.6
45 BuildRequires: rpmbuild(macros) >= 1.329
46 BuildRequires: xalan-c-devel >= 1.10.0
47 BuildRequires: xcursor-devel
48 BuildRequires: xerces-c-devel >= 2.6.0
49 BuildRequires: zlib-devel >= 1.2.1
50 ExclusiveArch: %{ix86} amd64
51 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
60 InnoTek VirtualBox is a general-purpose full virtualizer for x86
61 hardware. Targeted at server, desktop and embedded use, it is now the
62 only professional-quality virtualization solution that is also Open
65 Some of the features of VirtualBox are:
67 Modularity: VirtualBox has an extremely modular design with
68 well-defined internal programming interfaces and a client/server
69 design. This makes it easy to control it from several interfaces at
70 once: for example, you can start a virtual machine in a typical
71 virtual machine GUI and then control that machine from the command
72 line. VirtualBox also comes with a full Software Development Kit: even
73 though it is Open Source Software, you don't have to hack the source
74 to write a new interface for VirtualBox.
76 Virtual machine descriptions in XML: the configuration settings of
77 virtual machines are stored entirely in XML and are independent of the
78 local machines. Virtual machine definitions can therefore easily be
79 ported to other computers.
82 InnoTek VirtualBox jest emulatorem sprzêtu x86. Kireowany do
83 zastosowañ serwerowych, desktopowych oraz embedded jest obecnie
84 jedynym wysokiej jako¶ci rozwi±zaniem wirtualizacyjnym dostêpnym
85 równie¿ jako Otwarte Oprogramowanie.
87 Przyk³adowe mo¿liwo¶ci VirtualBox:
89 Modularno¶æ: VirtualBox jest wysoce zmodularyzowanym produktem z
90 dobrze zaprojektowanym wewnêtrznym interfejsem programowym typu
91 klient/serwer. Dziêki temu mo¿na ³atwo kontrolowaæ go za pomoc±
92 ró¿nych interfejsów. Mo¿na na przyk³ad uruchomiæ maszynê wirtualn± z
93 poziomu interfejsu graficznego, a pó¼niej kontrolowaæ j± z linii
94 poleceñ. VirtualBox dostarcza równie¿ pe³ny pakiet deweloperski, co
95 pozwala stworzyæ dowolny inny interfejs zarz±dzania maszyn± wirtualn±.
97 Opisy maszyn wirtualnych w XML: konfiguracje poszczególnych maszyn
98 wirtualnych s± w ca³o¶ci przechowywane w XMLu i s± niezale¿ne od
99 lokalnej maszyny. Dziêki temu mo¿na szybko i ³atwo przenie¶æ
100 konfiguracjê maszyny wirtualnej na inny komputer.
102 %package -n kernel%{_alt_kernel}-misc-vboxdrv
103 Summary: Kernel module for VirtualBox
104 Summary(pl): Modu³ j±dra dla VirtualBox
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_up
111 Requires(postun): %releq_kernel_up
113 Provides: kernel(vboxdrv) = %{version}-%{_rel}
115 %description -n kernel%{_alt_kernel}-misc-vboxdrv
116 Kernel module vboxdrv for VirtualBox.
118 %description -n kernel%{_alt_kernel}-misc-vboxdrv -l pl
119 Modu³ j±dra vboxdrv dla VirtualBox.
121 %package -n kernel%{_alt_kernel}-smp-misc-vboxdrv
122 Summary: Kernel SMP module for VirtualBox
123 Summary(pl): Modu³ j±dra SMP dla VirtualBox
124 Release: %{_rel}@%{_kernel_ver_str}
126 Requires(post,postun): /sbin/depmod
127 Requires: dev >= 2.9.0-7
128 %if %{with dist_kernel}
129 %requires_releq_kernel_smp
130 Requires(postun): %releq_kernel_smp
132 Provides: kernel(vboxdrv) = %{version}-%{_rel}
134 %description -n kernel%{_alt_kernel}-smp-misc-vboxdrv
135 Kernel SMP module vboxdrv for VirtualBox.
137 %description -n kernel%{_alt_kernel}-smp-misc-vboxdrv -l pl
138 Modu³ j±dra SMP vboxdrv dla VirtualBox.
147 --with-gcc="%{__cc}" \
148 --with-g++="%{__cxx}"
152 cd out/linux.%{_outdir}/release/bin/src
153 for cfg in %{?with_dist_kernel:%{?with_smp:smp} up}%{!?with_dist_kernel:nondist}; do
154 if [ ! -r "%{_kernelsrcdir}/config-$cfg" ]; then
158 install -d o/include/linux
159 ln -sf %{_kernelsrcdir}/config-$cfg o/.config
160 ln -sf %{_kernelsrcdir}/Module.symvers-$cfg o/Module.symvers
161 ln -sf %{_kernelsrcdir}/include/linux/autoconf-$cfg.h o/include/linux/autoconf.h
162 %if %{with dist_kernel}
163 %{__make} -j1 -C %{_kernelsrcdir} O=$PWD/o prepare scripts
165 touch o/include/config/MARKER
166 ln -sf %{_kernelsrcdir}/scripts o/scripts
168 ln -sf ../../include/VBox o/include/VBox
169 ln -sf ../../include/iprt o/include/iprt
170 %{__make} -C %{_kernelsrcdir} clean \
171 SYSSRC=%{_kernelsrcdir} \
175 %{__make} -C %{_kernelsrcdir} modules \
176 CC="%{__cc}" CPP="%{__cpp}" \
177 SYSSRC=%{_kernelsrcdir} \
181 mv vboxdrv.ko vboxdrv-$cfg.ko
185 rm -rf $RPM_BUILD_ROOT
188 $RPM_BUILD_ROOT%{_bindir} \
189 $RPM_BUILD_ROOT%{_libdir}/VirtualBox
191 install out/linux.%{_outdir}/release/bin/{VBox{BFE,Manage,SDL,SVC,XPCOMIPCD},VirtualBox} \
192 $RPM_BUILD_ROOT%{_bindir}
193 install out/linux.%{_outdir}/release/bin/VBox{DD,DD2,REM,REMImp,RT,VMM,XML,XPCOM,XPCOMIPCC}.so \
194 $RPM_BUILD_ROOT%{_libdir}/VirtualBox
195 install out/linux.%{_outdir}/release/bin/{VBox{DD,DD2}{GC.gc,R0.r0},VMM{GC.gc,R0.r0}} \
196 $RPM_BUILD_ROOT%{_libdir}/VirtualBox
199 install -d $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}{,smp}/misc
200 %if %{with smp} && %{with dist_kernel}
201 install out/linux.%{_outdir}/release/bin/src/vboxdrv-smp.ko \
202 $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}smp/misc/vboxdrv.ko
207 rm -rf $RPM_BUILD_ROOT
209 %post -n kernel%{_alt_kernel}-misc-vboxdrv
210 %depmod %{_kernel_ver}
212 %postun -n kernel%{_alt_kernel}-misc-vboxdrv
213 %depmod %{_kernel_ver}
215 %if %{with smp} && %{with dist_kernel}
216 %post -n kernel%{_alt_kernel}-smp-misc-vboxdrv
217 %depmod %{_kernel_ver}smp
219 %postun -n kernel%{_alt_kernel}-smp-misc-vboxdrv
220 %depmod %{_kernel_ver}smp
224 %defattr(644,root,root,755)
225 %attr(755,root,root) %{_bindir}/VBox*
226 %attr(755,root,root) %{_bindir}/VirtualBox
227 %dir %{_libdir}/VirtualBox
228 %{_libdir}/VirtualBox
230 %files -n kernel%{_alt_kernel}-misc-vboxdrv
231 %defattr(644,root,root,755)
233 %if %{with smp} && %{with dist_kernel}
234 %files -n kernel%{_alt_kernel}-smp-misc-vboxdrv
235 %defattr(644,root,root,755)