]> git.pld-linux.org Git - packages/VirtualBox.git/blame_incremental - VirtualBox.spec
- file name fix
[packages/VirtualBox.git] / VirtualBox.spec
... / ...
CommitLineData
1#
2# TODO:
3# - Find how to compile with PLD CFLAGS/CXXFLAGS/LDFLAGS.
4# - Package SDK.
5# - Package utils (and write initscripts ?) for Guest OS.
6# - Add udev rule.
7#
8# Conditional build:
9%bcond_without dist_kernel # without distribution kernel
10%bcond_without kernel # don't build kernel module
11%bcond_without userspace # don't build userspace package
12
13%define _rel 1
14
15%if %{without kernel}
16%undefine with_dist_kernel
17%endif
18
19Summary: VirtualBox - x86 hardware virtualizer
20Summary(pl.UTF-8): VirtualBox - wirtualizator sprzętu x86
21Name: VirtualBox
22Version: 1.5.0
23Release: %{_rel}
24License: GPL v2
25Group: Applications/Emulators
26Source0: http://www.virtualbox.org/download/%{version}/%{name}-%{version}_OSE.tar.bz2
27# Source0-md5: 56c074900260c109ed735c08e726fe81
28Source1: http://www.virtualbox.org/download/UserManual.pdf
29# Source1-md5: 2e5458bd5b4b9acd18cc86866e8a7284
30Source2: http://www.virtualbox.org/download/%{version}_OSE/VBoxGuestAdditions_%{version}_OSE.iso
31# Source2-md5: ed3ce6537350ab3e3557dc1b1e7e1b5c
32Source3: %{name}.desktop
33Source4: %{name}.sh
34Patch0: %{name}-configure.patch
35Patch1: %{name}-qt-paths.patch
36Patch2: %{name}-shared-libstdc++.patch
37URL: http://www.virtualbox.org/
38BuildRequires: SDL-devel
39BuildRequires: bash
40BuildRequires: bcc
41BuildRequires: bin86
42BuildRequires: gcc >= 5:3.2.3
43BuildRequires: iasl
44%{?with_dist_kernel:BuildRequires: kernel%{_alt_kernel}-module-build >= 3:2.6.7}
45BuildRequires: libIDL-devel
46BuildRequires: libuuid-devel
47BuildRequires: libxslt-progs
48BuildRequires: qt-devel >= 6:3.3.6
49BuildRequires: qt-linguist
50BuildRequires: rpmbuild(macros) >= 1.329
51BuildRequires: xalan-c-devel >= 1.10.0
52BuildRequires: xerces-c-devel >= 2.6.0
53BuildRequires: xorg-lib-libXcursor-devel
54BuildRequires: zlib-devel >= 1.2.1
55Requires(postun): /usr/sbin/groupdel
56Requires(pre): /usr/bin/getgid
57Requires(pre): /usr/sbin/groupadd
58Suggests: gxmessage
59Provides: group(vbox)
60ExclusiveArch: %{ix86} %{x8664}
61BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
62
63%ifarch %{x8664}
64%define _outdir amd64
65%else
66%define _outdir x86
67%endif
68
69%description
70InnoTek VirtualBox is a general-purpose full virtualizer for x86
71hardware. Targeted at server, desktop and embedded use, it is now the
72only professional-quality virtualization solution that is also Open
73Source Software.
74
75Some of the features of VirtualBox are:
76
77Modularity: VirtualBox has an extremely modular design with
78well-defined internal programming interfaces and a client/server
79design. This makes it easy to control it from several interfaces at
80once: for example, you can start a virtual machine in a typical
81virtual machine GUI and then control that machine from the command
82line. VirtualBox also comes with a full Software Development Kit: even
83though it is Open Source Software, you don't have to hack the source
84to write a new interface for VirtualBox.
85
86Virtual machine descriptions in XML: the configuration settings of
87virtual machines are stored entirely in XML and are independent of the
88local machines. Virtual machine definitions can therefore easily be
89ported to other computers.
90
91%description -l pl.UTF-8
92InnoTek VirtualBox jest emulatorem sprzętu x86. Kierowany do
93zastosowań serwerowych, desktopowych oraz wbudowanych jest obecnie
94jedynym wysokiej jakości rozwiązaniem wirtualizacyjnym dostępnym
95również jako Otwarte Oprogramowanie.
96
97Przykładowe cechy VirtualBoksa:
98
99Modularność: VirtualBox jest wysoce zmodularyzowanym produktem z
100dobrze zaprojektowanym wewnętrznym interfejsem programowym typu
101klient/serwer. Dzięki temu można łatwo kontrolować go za pomocą
102różnych interfejsów. Można na przykład uruchomić maszynę wirtualną z
103poziomu interfejsu graficznego, a później kontrolować ją z linii
104poleceń. VirtualBox dostarcza również pełny pakiet deweloperski, co
105pozwala stworzyć dowolny inny interfejs zarządzania maszyną wirtualną.
106
107Opisy maszyn wirtualnych w XML-u: konfiguracje poszczególnych maszyn
108wirtualnych są w całości przechowywane w XML-u i są niezależne od
109lokalnej maszyny. Dzięki temu można szybko i łatwo przenieść
110konfigurację maszyny wirtualnej na inny komputer.
111
112%package -n kernel%{_alt_kernel}-misc-vboxadd
113Summary: Linux kernel module for VirtualBox
114Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa
115Release: %{_rel}@%{_kernel_ver_str}
116Group: Base/Kernel
117Requires(post,postun): /sbin/depmod
118Requires: dev >= 2.9.0-7
119%if %{with dist_kernel}
120%requires_releq_kernel
121Requires(postun): %releq_kernel
122%endif
123Provides: kernel(vboxadd) = %{version}-%{_rel}
124
125%description -n kernel%{_alt_kernel}-misc-vboxadd
126Linux kernel module vboxadd for VirtualBox.
127
128%description -n kernel%{_alt_kernel}-misc-vboxadd -l pl.UTF-8
129Moduł jądra Linuksa vboxadd dla VirtualBoksa.
130
131%package -n kernel%{_alt_kernel}-misc-vboxdrv
132Summary: Linux kernel module for VirtualBox
133Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa
134Release: %{_rel}@%{_kernel_ver_str}
135Group: Base/Kernel
136Requires(post,postun): /sbin/depmod
137Requires: dev >= 2.9.0-7
138%if %{with dist_kernel}
139%requires_releq_kernel
140Requires(postun): %releq_kernel
141%endif
142Provides: kernel(vboxdrv) = %{version}-%{_rel}
143
144%description -n kernel%{_alt_kernel}-misc-vboxdrv
145Linux kernel module vboxdrv for VirtualBox.
146
147%description -n kernel%{_alt_kernel}-misc-vboxdrv -l pl.UTF-8
148Moduł jądra Linuksa vboxdrv dla VirtualBoksa.
149
150%package -n kernel%{_alt_kernel}-misc-vboxvfs
151Summary: Linux kernel module for VirtualBox
152Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa
153Release: %{_rel}@%{_kernel_ver_str}
154Group: Base/Kernel
155Requires(post,postun): /sbin/depmod
156Requires: dev >= 2.9.0-7
157%if %{with dist_kernel}
158%requires_releq_kernel
159Requires(postun): %releq_kernel
160%endif
161Provides: kernel(vboxvfs) = %{version}-%{_rel}
162
163%description -n kernel%{_alt_kernel}-misc-vboxvfs
164Linux kernel module vboxvfs for VirtualBox.
165
166%description -n kernel%{_alt_kernel}-misc-vboxvfs -l pl.UTF-8
167Moduł jądra Linuksa vboxvfs dla VirtualBoksa.
168
169%package -n xorg-driver-input-vboxmouse
170Summary: X.org mouse driver for VirtualBox guest OS
171Summary(pl.UTF-8): Sterownik myszy dla systemu gościa w VirtualBox'ie
172Release: %{_rel}
173Group: X11/Applications
174Requires: xorg-xserver-server >= 1.0.99.901
175
176%description -n xorg-driver-input-vboxmouse
177X.org mouse driver for VirtualBox guest OS.
178
179%description -n xorg-driver-input-vboxmouse -l pl.UTF-8
180Sterownik myszy dla systemu gościa w VirtualBox'ie.
181
182%package -n xorg-driver-video-vboxvideo
183Summary: X.org video driver for VirtualBox guest OS
184Summary(pl.UTF-8): Sterownik grafiki dla systemu gościa w VirtualBox'ie
185Release: %{_rel}
186Group: X11/Applications
187Requires: xorg-xserver-server >= 1.0.99.901
188
189%description -n xorg-driver-video-vboxvideo
190X.org video driver for VirtualBox guest OS.
191
192%description -n xorg-driver-video-vboxvideo -l pl.UTF-8
193Sterownik grafiki dla systemu gościa w VirtualBox'ie.
194
195%prep
196%setup -q -n %{name}-%{version}_OSE
197%patch0 -p0
198%patch1 -p0
199%patch2 -p1
200install %{SOURCE1} .
201
202%build
203KDIR="%{_builddir}/%{buildsubdir}/kernel"
204mkdir -p $KDIR
205cp -Ra %{_kernelsrcdir}/include $KDIR
206%ifarch %{x8664}
207ln -sf $KDIR/include/asm-x86_64 $KDIR/include/asm
208%else
209ln -sf $KDIR/include/asm-i386 $KDIR/include/asm
210%endif
211
212%if %{with dist_kernel}
213[ ! -f $KDIR/include/linux/autoconf.h ] && \
214 ln -sf $KDIR/include/linux/autoconf-dist.h $KDIR/include/linux/autoconf.h
215%else
216[ ! -f $KDIR/include/linux/autoconf.h ] && \
217 ln -sf $KDIR/include/linux/autoconf-nondist.h $KDIR/include/linux/autoconf.h
218%endif
219
220./configure \
221 --with-gcc="%{__cc}" \
222 --with-g++="%{__cxx}" \
223 --with-linux="$KDIR"
224
225%if %{with userspace}
226. ./env.sh && kmk -j1
227%endif
228
229%if %{with kernel}
230rm -rf PLD-MODULE-BUILD && mkdir PLD-MODULE-BUILD && cd PLD-MODULE-BUILD
231
232../src/VBox/HostDrivers/Support/linux/export_modules modules.tar.gz && \
233 tar -zxf modules.tar.gz && rm -f modules.tar.gz
234../src/VBox/Additions/linux/export_modules modules.tar.gz
235 tar -zxf modules.tar.gz && rm -f modules.tar.gz
236
237%build_kernel_modules -m vboxadd -C vboxadd
238%build_kernel_modules -m vboxdrv -C vboxdrv
239%build_kernel_modules -m vboxvfs -C vboxvfs
240cd ..
241%endif
242
243%install
244rm -rf $RPM_BUILD_ROOT
245
246%if %{with userspace}
247install -d \
248 $RPM_BUILD_ROOT{%{_bindir},%{_pixmapsdir},%{_desktopdir}} \
249 $RPM_BUILD_ROOT%{_libdir}/VirtualBox \
250 $RPM_BUILD_ROOT%{_libdir}/xorg/modules/drivers \
251 $RPM_BUILD_ROOT%{_libdir}/xorg/modules/input
252
253install %{SOURCE4} $RPM_BUILD_ROOT%{_libdir}/VirtualBox/VirtualBox-wrapper.sh
254for f in {VBox{BFE,Manage,SDL,SVC,XPCOMIPCD},VirtualBox,vditool}; do
255 install out/linux.%{_outdir}/release/bin/$f $RPM_BUILD_ROOT%{_libdir}/VirtualBox/$f
256 ln -s %{_libdir}/VirtualBox/VirtualBox-wrapper.sh $RPM_BUILD_ROOT%{_bindir}/$f
257done
258
259install out/linux.%{_outdir}/release/bin/VBox*.so \
260 $RPM_BUILD_ROOT%{_libdir}/VirtualBox
261install out/linux.%{_outdir}/release/bin/{VBox{DD,DD2}{GC.gc,R0.r0},VMM{GC.gc,R0.r0},*.xpt} \
262 $RPM_BUILD_ROOT%{_libdir}/VirtualBox
263
264install -d $RPM_BUILD_ROOT%{_libdir}/VirtualBox/additions
265install -d $RPM_BUILD_ROOT%{_libdir}/VirtualBox/nls
266
267install %{SOURCE2} $RPM_BUILD_ROOT%{_libdir}/VirtualBox/additions/VBoxGuestAdditions.iso
268cp -a out/linux.%{_outdir}/release/bin/components $RPM_BUILD_ROOT%{_libdir}/VirtualBox
269cp -a out/linux.%{_outdir}/release/bin/nls/VirtualBox* $RPM_BUILD_ROOT%{_libdir}/VirtualBox/nls
270
271install out/linux.%{_outdir}/release/bin/additions/mountvboxsf \
272 $RPM_BUILD_ROOT%{_bindir}
273
274install out/linux.%{_outdir}/release/bin/additions/vboxmouse_drv_71.so \
275 $RPM_BUILD_ROOT%{_libdir}/xorg/modules/input/vboxmouse_drv.so
276
277install out/linux.%{_outdir}/release/bin/additions/vboxvideo_drv_71.so \
278 $RPM_BUILD_ROOT%{_libdir}/xorg/modules/drivers/vboxvideo_drv.so
279
280install out/linux.%{_outdir}/release/bin/VBox.png $RPM_BUILD_ROOT%{_pixmapsdir}/VBox.png
281install %{SOURCE3} $RPM_BUILD_ROOT%{_desktopdir}/%{name}.desktop
282%endif
283
284%if %{with kernel}
285cd PLD-MODULE-BUILD
286for MODULE in *; do
287 [ ! -d $MODULE ] && continue;
288
289 cd $MODULE
290 %install_kernel_modules -m $MODULE -d misc
291 cd ..
292done
293cd ..
294%endif
295
296%clean
297rm -rf $RPM_BUILD_ROOT
298
299%pre
300%groupadd -g 221 -r -f vbox
301
302%postun
303if [ "$1" = "0" ]; then
304 %groupremove vbox
305fi
306
307%post -n kernel%{_alt_kernel}-misc-vboxadd
308%depmod %{_kernel_ver}
309
310%postun -n kernel%{_alt_kernel}-misc-vboxadd
311%depmod %{_kernel_ver}
312
313%post -n kernel%{_alt_kernel}-misc-vboxdrv
314%depmod %{_kernel_ver}
315
316%postun -n kernel%{_alt_kernel}-misc-vboxdrv
317%depmod %{_kernel_ver}
318
319%post -n kernel%{_alt_kernel}-misc-vboxvfs
320%depmod %{_kernel_ver}
321
322%postun -n kernel%{_alt_kernel}-misc-vboxvfs
323%depmod %{_kernel_ver}
324
325%if %{with userspace}
326%files
327%defattr(644,root,root,755)
328%doc UserManual.pdf
329%dir %{_libdir}/VirtualBox
330%dir %{_libdir}/VirtualBox/additions
331%dir %{_libdir}/VirtualBox/components
332%dir %{_libdir}/VirtualBox/nls
333%attr(755,root,root) %{_bindir}/mountvboxsf
334%attr(755,root,root) %{_bindir}/vditool
335%attr(755,root,root) %{_bindir}/VBox*
336%attr(755,root,root) %{_bindir}/VirtualBox
337%attr(755,root,root) %{_libdir}/VirtualBox/vditool
338%attr(755,root,root) %{_libdir}/VirtualBox/VBoxSVC
339%attr(755,root,root) %{_libdir}/VirtualBox/VBoxBFE
340%attr(755,root,root) %{_libdir}/VirtualBox/VBoxManage
341%attr(755,root,root) %{_libdir}/VirtualBox/VBoxSDL
342%attr(755,root,root) %{_libdir}/VirtualBox/VBoxXPCOMIPCD
343%attr(755,root,root) %{_libdir}/VirtualBox/VBox*.so
344%attr(755,root,root) %{_libdir}/VirtualBox/VirtualBox
345%attr(755,root,root) %{_libdir}/VirtualBox/VirtualBox-wrapper.sh
346%{_libdir}/VirtualBox/*.gc
347%{_libdir}/VirtualBox/*.r0
348%{_libdir}/VirtualBox/*.xpt
349%{_libdir}/VirtualBox/additions/*
350%{_libdir}/VirtualBox/components/*
351%lang(ar) %{_libdir}/VirtualBox/nls/VirtualBox_ar.qm
352%lang(cs) %{_libdir}/VirtualBox/nls/VirtualBox_cs.qm
353%lang(de) %{_libdir}/VirtualBox/nls/VirtualBox_de.qm
354%lang(es) %{_libdir}/VirtualBox/nls/VirtualBox_es.qm
355%lang(fi) %{_libdir}/VirtualBox/nls/VirtualBox_fi.qm
356%lang(fr) %{_libdir}/VirtualBox/nls/VirtualBox_fr.qm
357%lang(hu) %{_libdir}/VirtualBox/nls/VirtualBox_hu.qm
358%lang(it) %{_libdir}/VirtualBox/nls/VirtualBox_it.qm
359%lang(ja) %{_libdir}/VirtualBox/nls/VirtualBox_ja.qm
360%lang(ko) %{_libdir}/VirtualBox/nls/VirtualBox_ko.qm
361%lang(pl) %{_libdir}/VirtualBox/nls/VirtualBox_pl.qm
362%lang(pt_BR) %{_libdir}/VirtualBox/nls/VirtualBox_pt_BR.qm
363%lang(ro) %{_libdir}/VirtualBox/nls/VirtualBox_ro.qm
364%lang(ru) %{_libdir}/VirtualBox/nls/VirtualBox_ru.qm
365%lang(sv) %{_libdir}/VirtualBox/nls/VirtualBox_sv.qm
366%lang(zh_CN) %{_libdir}/VirtualBox/nls/VirtualBox_zh_CN.qm
367%lang(zh_TW) %{_libdir}/VirtualBox/nls/VirtualBox_zh_TW.qm
368%{_pixmapsdir}/VBox.png
369%{_desktopdir}/%{name}.desktop
370
371%files -n xorg-driver-input-vboxmouse
372%defattr(644,root,root,755)
373%attr(755,root,root) %{_libdir}/xorg/modules/input/vboxmouse_drv.so
374
375%files -n xorg-driver-video-vboxvideo
376%defattr(644,root,root,755)
377%attr(755,root,root) %{_libdir}/xorg/modules/drivers/vboxvideo_drv.so
378%endif
379
380%if %{with kernel}
381%files -n kernel%{_alt_kernel}-misc-vboxadd
382%defattr(644,root,root,755)
383/lib/modules/%{_kernel_ver}/misc/vboxadd.ko*
384
385%files -n kernel%{_alt_kernel}-misc-vboxdrv
386%defattr(644,root,root,755)
387/lib/modules/%{_kernel_ver}/misc/vboxdrv.ko*
388
389%files -n kernel%{_alt_kernel}-misc-vboxvfs
390%defattr(644,root,root,755)
391/lib/modules/%{_kernel_ver}/misc/vboxvfs.ko*
392%endif
This page took 0.031028 seconds and 4 git commands to generate.