]> git.pld-linux.org Git - packages/VirtualBox.git/blame - VirtualBox.spec
- up to 1.3.6
[packages/VirtualBox.git] / VirtualBox.spec
CommitLineData
48363591 1#
2# TODO:
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.
eba4b2aa
JB
14# - Now its EA ix86 x8664, but looking into autogenerated env.sh suggests that
15# code may be compiled exclusively for i686.
32b670ab 16# - use %kernel_build macros
48363591 17#
18# Conditional build:
19%bcond_without dist_kernel # without distribution kernel
20%bcond_without smp # without SMP kernel modules
21#
48363591 22Summary: VirtualBox
4dab3322 23Summary(pl.UTF-8): VirtualBox
48363591 24Name: VirtualBox
722f3faf 25Version: 1.3.6
48363591 26Release: 0.1
27License: GPL v2
28Group: Applications/Emulators
245db1e9 29Source0: http://www.virtualbox.org/download/%{version}/VirtualBox-OSE-%{version}.tar.bz2
722f3faf 30# Source0-md5: 70c24ccee8b5778efd8d22f9996fbec9
48363591 31Patch0: %{name}-configure.patch
32Patch1: %{name}-qt-paths.patch
33URL: http://www.virtualbox.org/
34BuildRequires: SDL-devel
e5aaadde 35BuildRequires: bash
48363591 36BuildRequires: bcc
37BuildRequires: bin86
eba4b2aa 38BuildRequires: gcc >= 5:3.2.3
48363591 39BuildRequires: iasl
40%{?with_dist_kernel:BuildRequires: kernel%{_alt_kernel}-module-build >= 3:2.6.7}
41BuildRequires: libIDL-devel
42BuildRequires: libuuid-devel
e5aaadde 43BuildRequires: libxslt-progs
44BuildRequires: qt-devel >= 6:3.3.6
48363591 45BuildRequires: rpmbuild(macros) >= 1.329
e5aaadde 46BuildRequires: xalan-c-devel >= 1.10.0
eba4b2aa 47#BuildRequires: xcursor-devel
e5aaadde 48BuildRequires: xerces-c-devel >= 2.6.0
eba4b2aa 49BuildRequires: xorg-lib-libXcursor-devel
e5aaadde 50BuildRequires: zlib-devel >= 1.2.1
eba4b2aa 51ExclusiveArch: %{ix86} %{x8664}
48363591 52BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
53
eba4b2aa 54%ifarch %{x8664}
5088674d 55%define _outdir amd64
56%else
57%define _outdir x86
58%endif
59
48363591 60%description
61InnoTek VirtualBox is a general-purpose full virtualizer for x86
62hardware. Targeted at server, desktop and embedded use, it is now the
63only professional-quality virtualization solution that is also Open
64Source Software.
65
66Some of the features of VirtualBox are:
67
68Modularity: VirtualBox has an extremely modular design with
69well-defined internal programming interfaces and a client/server
70design. This makes it easy to control it from several interfaces at
71once: for example, you can start a virtual machine in a typical
72virtual machine GUI and then control that machine from the command
73line. VirtualBox also comes with a full Software Development Kit: even
74though it is Open Source Software, you don't have to hack the source
75to write a new interface for VirtualBox.
76
77Virtual machine descriptions in XML: the configuration settings of
78virtual machines are stored entirely in XML and are independent of the
79local machines. Virtual machine definitions can therefore easily be
80ported to other computers.
81
fd8fc899
JR
82%description -l pl.UTF-8
83InnoTek VirtualBox jest emulatorem sprzętu x86. Kierowany do
84zastosowań serwerowych, desktopowych oraz wbudowanych jest obecnie
85jedynym wysokiej jakości rozwiązaniem wirtualizacyjnym dostępnym
86również jako Otwarte Oprogramowanie.
48363591 87
fd8fc899 88Przykładowe cechy VirtualBoksa:
48363591 89
fd8fc899
JR
90Modularność: VirtualBox jest wysoce zmodularyzowanym produktem z
91dobrze zaprojektowanym wewnętrznym interfejsem programowym typu
92klient/serwer. Dzięki temu można łatwo kontrolować go za pomocą
93różnych interfejsów. Można na przykład uruchomić maszynę wirtualną z
94poziomu interfejsu graficznego, a później kontrolować ją z linii
95poleceń. VirtualBox dostarcza również pełny pakiet deweloperski, co
96pozwala stworzyć dowolny inny interfejs zarządzania maszyną wirtualną.
48363591 97
fd8fc899
JR
98Opisy maszyn wirtualnych w XML-u: konfiguracje poszczególnych maszyn
99wirtualnych są w całości przechowywane w XML-u i są niezależne od
100lokalnej maszyny. Dzięki temu można szybko i łatwo przenieść
101konfigurację maszyny wirtualnej na inny komputer.
48363591 102
103%package -n kernel%{_alt_kernel}-misc-vboxdrv
eba4b2aa 104Summary: Linux kernel module for VirtualBox
4dab3322 105Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa
48363591 106Release: %{_rel}@%{_kernel_ver_str}
107Group: Base/Kernel
108Requires(post,postun): /sbin/depmod
109Requires: dev >= 2.9.0-7
110%if %{with dist_kernel}
111%requires_releq_kernel_up
112Requires(postun): %releq_kernel_up
113%endif
114Provides: kernel(vboxdrv) = %{version}-%{_rel}
115
116%description -n kernel%{_alt_kernel}-misc-vboxdrv
eba4b2aa 117Linux kernel module vboxdrv for VirtualBox.
48363591 118
fd8fc899
JR
119%description -n kernel%{_alt_kernel}-misc-vboxdrv -l pl.UTF-8
120Moduł jądra Linuksa vboxdrv dla VirtualBoksa.
48363591 121
122%package -n kernel%{_alt_kernel}-smp-misc-vboxdrv
eba4b2aa 123Summary: Linux SMP kernel module for VirtualBox
4dab3322 124Summary(pl.UTF-8): Moduł jądra Linuksa SMP dla VirtualBoksa
48363591 125Release: %{_rel}@%{_kernel_ver_str}
126Group: Base/Kernel
127Requires(post,postun): /sbin/depmod
128Requires: dev >= 2.9.0-7
129%if %{with dist_kernel}
130%requires_releq_kernel_smp
131Requires(postun): %releq_kernel_smp
132%endif
133Provides: kernel(vboxdrv) = %{version}-%{_rel}
134
135%description -n kernel%{_alt_kernel}-smp-misc-vboxdrv
eba4b2aa 136Linux SMP kernel module vboxdrv for VirtualBox.
48363591 137
fd8fc899
JR
138%description -n kernel%{_alt_kernel}-smp-misc-vboxdrv -l pl.UTF-8
139Moduł jądra Linuksa SMP vboxdrv dla VirtualBoksa.
48363591 140
141%prep
142%setup -q -n vbox
143%patch0 -p0
144%patch1 -p0
145
146%build
106d8451 147./configure \
148 --with-gcc="%{__cc}" \
149 --with-g++="%{__cxx}"
48363591 150. ./env.sh
151kmk
152
5088674d 153cd out/linux.%{_outdir}/release/bin/src
48363591 154for cfg in %{?with_dist_kernel:%{?with_smp:smp} up}%{!?with_dist_kernel:nondist}; do
155 if [ ! -r "%{_kernelsrcdir}/config-$cfg" ]; then
156 exit 1
157 fi
158 rm -rf o
159 install -d o/include/linux
160 ln -sf %{_kernelsrcdir}/config-$cfg o/.config
161 ln -sf %{_kernelsrcdir}/Module.symvers-$cfg o/Module.symvers
162 ln -sf %{_kernelsrcdir}/include/linux/autoconf-$cfg.h o/include/linux/autoconf.h
163%if %{with dist_kernel}
164 %{__make} -j1 -C %{_kernelsrcdir} O=$PWD/o prepare scripts
165%else
166 touch o/include/config/MARKER
167 ln -sf %{_kernelsrcdir}/scripts o/scripts
168%endif
169 ln -sf ../../include/VBox o/include/VBox
170 ln -sf ../../include/iprt o/include/iprt
171 %{__make} -C %{_kernelsrcdir} clean \
172 SYSSRC=%{_kernelsrcdir} \
173 SYSOUT=$PWD/o \
174 M=$PWD O=$PWD/o \
175 %{?with_verbose:V=1}
176 %{__make} -C %{_kernelsrcdir} modules \
177 CC="%{__cc}" CPP="%{__cpp}" \
178 SYSSRC=%{_kernelsrcdir} \
179 SYSOUT=$PWD/o \
180 M=$PWD O=$PWD/o \
181 %{?with_verbose:V=1}
182 mv vboxdrv.ko vboxdrv-$cfg.ko
183done
184
185%install
186rm -rf $RPM_BUILD_ROOT
187
188install -d \
189 $RPM_BUILD_ROOT%{_bindir} \
190 $RPM_BUILD_ROOT%{_libdir}/VirtualBox
191
5088674d 192install out/linux.%{_outdir}/release/bin/{VBox{BFE,Manage,SDL,SVC,XPCOMIPCD},VirtualBox} \
48363591 193 $RPM_BUILD_ROOT%{_bindir}
5088674d 194install out/linux.%{_outdir}/release/bin/VBox{DD,DD2,REM,REMImp,RT,VMM,XML,XPCOM,XPCOMIPCC}.so \
48363591 195 $RPM_BUILD_ROOT%{_libdir}/VirtualBox
5088674d 196install out/linux.%{_outdir}/release/bin/{VBox{DD,DD2}{GC.gc,R0.r0},VMM{GC.gc,R0.r0}} \
48363591 197 $RPM_BUILD_ROOT%{_libdir}/VirtualBox
198
199%if %{with kernel}
200install -d $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}{,smp}/misc
201%if %{with smp} && %{with dist_kernel}
5088674d 202install out/linux.%{_outdir}/release/bin/src/vboxdrv-smp.ko \
48363591 203 $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}smp/misc/vboxdrv.ko
204%endif
205%endif
206
207%clean
208rm -rf $RPM_BUILD_ROOT
209
210%post -n kernel%{_alt_kernel}-misc-vboxdrv
211%depmod %{_kernel_ver}
212
213%postun -n kernel%{_alt_kernel}-misc-vboxdrv
214%depmod %{_kernel_ver}
215
216%if %{with smp} && %{with dist_kernel}
217%post -n kernel%{_alt_kernel}-smp-misc-vboxdrv
218%depmod %{_kernel_ver}smp
219
220%postun -n kernel%{_alt_kernel}-smp-misc-vboxdrv
221%depmod %{_kernel_ver}smp
222%endif
223
224%files
225%defattr(644,root,root,755)
226%attr(755,root,root) %{_bindir}/VBox*
227%attr(755,root,root) %{_bindir}/VirtualBox
48363591 228%{_libdir}/VirtualBox
229
230%files -n kernel%{_alt_kernel}-misc-vboxdrv
231%defattr(644,root,root,755)
232
233%if %{with smp} && %{with dist_kernel}
234%files -n kernel%{_alt_kernel}-smp-misc-vboxdrv
235%defattr(644,root,root,755)
236%endif
This page took 0.061829 seconds and 4 git commands to generate.