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