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