]> git.pld-linux.org Git - packages/VirtualBox.git/blame - VirtualBox.spec
- file name fix
[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
e5aaadde 39BuildRequires: bash
48363591 40BuildRequires: bcc
41BuildRequires: bin86
eba4b2aa 42BuildRequires: gcc >= 5:3.2.3
48363591 43BuildRequires: iasl
44%{?with_dist_kernel:BuildRequires: kernel%{_alt_kernel}-module-build >= 3:2.6.7}
45BuildRequires: libIDL-devel
46BuildRequires: libuuid-devel
e5aaadde 47BuildRequires: libxslt-progs
48BuildRequires: qt-devel >= 6:3.3.6
d6f0c54e 49BuildRequires: qt-linguist
48363591 50BuildRequires: rpmbuild(macros) >= 1.329
e5aaadde 51BuildRequires: xalan-c-devel >= 1.10.0
e5aaadde 52BuildRequires: xerces-c-devel >= 2.6.0
eba4b2aa 53BuildRequires: xorg-lib-libXcursor-devel
e5aaadde 54BuildRequires: zlib-devel >= 1.2.1
5f1cec1f
ER
55Requires(postun): /usr/sbin/groupdel
56Requires(pre): /usr/bin/getgid
57Requires(pre): /usr/sbin/groupadd
fb661e50 58Suggests: gxmessage
5f1cec1f 59Provides: group(vbox)
eba4b2aa 60ExclusiveArch: %{ix86} %{x8664}
48363591 61BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
62
eba4b2aa 63%ifarch %{x8664}
5088674d 64%define _outdir amd64
65%else
66%define _outdir x86
67%endif
68
48363591 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
fd8fc899
JR
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.
48363591 96
fd8fc899 97Przykładowe cechy VirtualBoksa:
48363591 98
fd8fc899
JR
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ą.
48363591 106
fd8fc899
JR
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.
48363591 111
74268e47 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
48363591 131%package -n kernel%{_alt_kernel}-misc-vboxdrv
eba4b2aa 132Summary: Linux kernel module for VirtualBox
4dab3322 133Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa
48363591 134Release: %{_rel}@%{_kernel_ver_str}
135Group: Base/Kernel
136Requires(post,postun): /sbin/depmod
137Requires: dev >= 2.9.0-7
138%if %{with dist_kernel}
d6f0c54e 139%requires_releq_kernel
140Requires(postun): %releq_kernel
48363591 141%endif
142Provides: kernel(vboxdrv) = %{version}-%{_rel}
143
144%description -n kernel%{_alt_kernel}-misc-vboxdrv
eba4b2aa 145Linux kernel module vboxdrv for VirtualBox.
48363591 146
fd8fc899
JR
147%description -n kernel%{_alt_kernel}-misc-vboxdrv -l pl.UTF-8
148Moduł jądra Linuksa vboxdrv dla VirtualBoksa.
48363591 149
74268e47 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
09c79ddb 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
48363591 195%prep
d6f0c54e 196%setup -q -n %{name}-%{version}_OSE
48363591 197%patch0 -p0
198%patch1 -p0
74268e47 199%patch2 -p1
fdd1c725 200install %{SOURCE1} .
fa19f650 201
48363591 202%build
05f1b1f5 203KDIR="%{_builddir}/%{buildsubdir}/kernel"
204mkdir -p $KDIR
74268e47 205cp -Ra %{_kernelsrcdir}/include $KDIR
05f1b1f5 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
74268e47 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
05f1b1f5 219
106d8451 220./configure \
221 --with-gcc="%{__cc}" \
05f1b1f5 222 --with-g++="%{__cxx}" \
223 --with-linux="$KDIR"
48363591 224
74268e47 225%if %{with userspace}
226. ./env.sh && kmk -j1
48363591 227%endif
74268e47 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 ..
d1c4ec5b 241%endif
48363591 242
243%install
244rm -rf $RPM_BUILD_ROOT
245
d1c4ec5b 246%if %{with userspace}
48363591 247install -d \
d89980c7 248 $RPM_BUILD_ROOT{%{_bindir},%{_pixmapsdir},%{_desktopdir}} \
05f1b1f5 249 $RPM_BUILD_ROOT%{_libdir}/VirtualBox \
09c79ddb 250 $RPM_BUILD_ROOT%{_libdir}/xorg/modules/drivers \
251 $RPM_BUILD_ROOT%{_libdir}/xorg/modules/input
05f1b1f5 252
916ab34d 253install %{SOURCE4} $RPM_BUILD_ROOT%{_libdir}/VirtualBox/VirtualBox-wrapper.sh
09c79ddb 254for f in {VBox{BFE,Manage,SDL,SVC,XPCOMIPCD},VirtualBox,vditool}; do
5085c54c 255 install out/linux.%{_outdir}/release/bin/$f $RPM_BUILD_ROOT%{_libdir}/VirtualBox/$f
fdd1c725 256 ln -s %{_libdir}/VirtualBox/VirtualBox-wrapper.sh $RPM_BUILD_ROOT%{_bindir}/$f
05f1b1f5 257done
258
d6f0c54e 259install out/linux.%{_outdir}/release/bin/VBox*.so \
48363591 260 $RPM_BUILD_ROOT%{_libdir}/VirtualBox
05f1b1f5 261install out/linux.%{_outdir}/release/bin/{VBox{DD,DD2}{GC.gc,R0.r0},VMM{GC.gc,R0.r0},*.xpt} \
48363591 262 $RPM_BUILD_ROOT%{_libdir}/VirtualBox
263
916ab34d 264install -d $RPM_BUILD_ROOT%{_libdir}/VirtualBox/additions
8833bce1 265install -d $RPM_BUILD_ROOT%{_libdir}/VirtualBox/nls
916ab34d 266
5877f605 267install %{SOURCE2} $RPM_BUILD_ROOT%{_libdir}/VirtualBox/additions/VBoxGuestAdditions.iso
916ab34d 268cp -a out/linux.%{_outdir}/release/bin/components $RPM_BUILD_ROOT%{_libdir}/VirtualBox
8833bce1 269cp -a out/linux.%{_outdir}/release/bin/nls/VirtualBox* $RPM_BUILD_ROOT%{_libdir}/VirtualBox/nls
270
09c79ddb 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
b1f8956a 280install out/linux.%{_outdir}/release/bin/VBox.png $RPM_BUILD_ROOT%{_pixmapsdir}/VBox.png
916ab34d 281install %{SOURCE3} $RPM_BUILD_ROOT%{_desktopdir}/%{name}.desktop
d1c4ec5b
JB
282%endif
283
284%if %{with kernel}
74268e47 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 ..
d1c4ec5b 294%endif
05f1b1f5 295
48363591 296%clean
297rm -rf $RPM_BUILD_ROOT
298
3b63d3e8 299%pre
300%groupadd -g 221 -r -f vbox
301
3b63d3e8 302%postun
303if [ "$1" = "0" ]; then
304 %groupremove vbox
305fi
306
74268e47 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
48363591 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
74268e47 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
d1c4ec5b 325%if %{with userspace}
48363591 326%files
327%defattr(644,root,root,755)
7d1c0a63 328%doc UserManual.pdf
8833bce1 329%dir %{_libdir}/VirtualBox
916ab34d 330%dir %{_libdir}/VirtualBox/additions
8833bce1 331%dir %{_libdir}/VirtualBox/components
332%dir %{_libdir}/VirtualBox/nls
4c18fded 333%attr(755,root,root) %{_bindir}/mountvboxsf
334%attr(755,root,root) %{_bindir}/vditool
48363591 335%attr(755,root,root) %{_bindir}/VBox*
336%attr(755,root,root) %{_bindir}/VirtualBox
fdd1c725 337%attr(755,root,root) %{_libdir}/VirtualBox/vditool
05f1b1f5 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
8833bce1 343%attr(755,root,root) %{_libdir}/VirtualBox/VBox*.so
fdd1c725 344%attr(755,root,root) %{_libdir}/VirtualBox/VirtualBox
345%attr(755,root,root) %{_libdir}/VirtualBox/VirtualBox-wrapper.sh
05f1b1f5 346%{_libdir}/VirtualBox/*.gc
347%{_libdir}/VirtualBox/*.r0
05f1b1f5 348%{_libdir}/VirtualBox/*.xpt
916ab34d 349%{_libdir}/VirtualBox/additions/*
05f1b1f5 350%{_libdir}/VirtualBox/components/*
8833bce1 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
d89980c7 368%{_pixmapsdir}/VBox.png
369%{_desktopdir}/%{name}.desktop
09c79ddb 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
d1c4ec5b 378%endif
48363591 379
d1c4ec5b 380%if %{with kernel}
74268e47 381%files -n kernel%{_alt_kernel}-misc-vboxadd
382%defattr(644,root,root,755)
383/lib/modules/%{_kernel_ver}/misc/vboxadd.ko*
384
d1c4ec5b 385%files -n kernel%{_alt_kernel}-misc-vboxdrv
48363591 386%defattr(644,root,root,755)
d1c4ec5b 387/lib/modules/%{_kernel_ver}/misc/vboxdrv.ko*
74268e47 388
389%files -n kernel%{_alt_kernel}-misc-vboxvfs
390%defattr(644,root,root,755)
391/lib/modules/%{_kernel_ver}/misc/vboxvfs.ko*
05f1b1f5 392%endif
This page took 0.088702 seconds and 4 git commands to generate.