]> git.pld-linux.org Git - packages/VirtualBox.git/blame - VirtualBox.spec
- updated for 1.5.2
[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
3bb06d4c 22Version: 1.5.2
05f1b1f5 23Release: %{_rel}
48363591 24License: GPL v2
25Group: Applications/Emulators
5f1cec1f 26Source0: http://www.virtualbox.org/download/%{version}/%{name}-%{version}_OSE.tar.bz2
3bb06d4c 27# Source0-md5: 2940f92160c88e241606f0fa91428b2c
fdd1c725 28Source1: http://www.virtualbox.org/download/UserManual.pdf
916ab34d 29# Source1-md5: 2e5458bd5b4b9acd18cc86866e8a7284
3bb06d4c 30Source2: http://www.virtualbox.org/download/%{version}/VBoxGuestAdditions_%{version}_OSE.iso
31# Source2-md5: 387912f465d450bcf4da805158a6b26d
916ab34d 32Source3: %{name}.desktop
33Source4: %{name}.sh
48363591 34Patch0: %{name}-configure.patch
35Patch1: %{name}-qt-paths.patch
74268e47 36Patch2: %{name}-shared-libstdc++.patch
33233365 37Patch3: %{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
33233365 210%ifarch %{x8664}
211%patch3 -p1
212%endif
213
214cat <<'EOF' > udev.conf
215KERNEL=="vboxdrv", NAME="%k", GROUP="vbox", MODE="0660"
216EOF
23d9d34e 217
fdd1c725 218install %{SOURCE1} .
fa19f650 219
48363591 220%build
05f1b1f5 221KDIR="%{_builddir}/%{buildsubdir}/kernel"
222mkdir -p $KDIR
74268e47 223cp -Ra %{_kernelsrcdir}/include $KDIR
05f1b1f5 224%ifarch %{x8664}
225ln -sf $KDIR/include/asm-x86_64 $KDIR/include/asm
226%else
227ln -sf $KDIR/include/asm-i386 $KDIR/include/asm
228%endif
74268e47 229
230%if %{with dist_kernel}
23d9d34e 231ln -sf $KDIR/include/linux/autoconf-dist.h $KDIR/include/linux/autoconf.h
74268e47 232%else
23d9d34e 233ln -sf $KDIR/include/linux/autoconf-nondist.h $KDIR/include/linux/autoconf.h
74268e47 234%endif
05f1b1f5 235
106d8451 236./configure \
237 --with-gcc="%{__cc}" \
05f1b1f5 238 --with-g++="%{__cxx}" \
239 --with-linux="$KDIR"
48363591 240
74268e47 241%if %{with userspace}
242. ./env.sh && kmk -j1
48363591 243%endif
74268e47 244
245%if %{with kernel}
246rm -rf PLD-MODULE-BUILD && mkdir PLD-MODULE-BUILD && cd PLD-MODULE-BUILD
247
248../src/VBox/HostDrivers/Support/linux/export_modules modules.tar.gz && \
249 tar -zxf modules.tar.gz && rm -f modules.tar.gz
250../src/VBox/Additions/linux/export_modules modules.tar.gz
251 tar -zxf modules.tar.gz && rm -f modules.tar.gz
23d9d34e 252
74268e47 253%build_kernel_modules -m vboxadd -C vboxadd
254%build_kernel_modules -m vboxdrv -C vboxdrv
255%build_kernel_modules -m vboxvfs -C vboxvfs
256cd ..
d1c4ec5b 257%endif
48363591 258
259%install
260rm -rf $RPM_BUILD_ROOT
261
d1c4ec5b 262%if %{with userspace}
48363591 263install -d \
d89980c7 264 $RPM_BUILD_ROOT{%{_bindir},%{_pixmapsdir},%{_desktopdir}} \
05f1b1f5 265 $RPM_BUILD_ROOT%{_libdir}/VirtualBox \
09c79ddb 266 $RPM_BUILD_ROOT%{_libdir}/xorg/modules/drivers \
267 $RPM_BUILD_ROOT%{_libdir}/xorg/modules/input
05f1b1f5 268
916ab34d 269install %{SOURCE4} $RPM_BUILD_ROOT%{_libdir}/VirtualBox/VirtualBox-wrapper.sh
09c79ddb 270for f in {VBox{BFE,Manage,SDL,SVC,XPCOMIPCD},VirtualBox,vditool}; do
5085c54c 271 install out/linux.%{_outdir}/release/bin/$f $RPM_BUILD_ROOT%{_libdir}/VirtualBox/$f
fdd1c725 272 ln -s %{_libdir}/VirtualBox/VirtualBox-wrapper.sh $RPM_BUILD_ROOT%{_bindir}/$f
05f1b1f5 273done
274
d6f0c54e 275install out/linux.%{_outdir}/release/bin/VBox*.so \
48363591 276 $RPM_BUILD_ROOT%{_libdir}/VirtualBox
05f1b1f5 277install out/linux.%{_outdir}/release/bin/{VBox{DD,DD2}{GC.gc,R0.r0},VMM{GC.gc,R0.r0},*.xpt} \
48363591 278 $RPM_BUILD_ROOT%{_libdir}/VirtualBox
279
916ab34d 280install -d $RPM_BUILD_ROOT%{_libdir}/VirtualBox/additions
8833bce1 281install -d $RPM_BUILD_ROOT%{_libdir}/VirtualBox/nls
916ab34d 282
5877f605 283install %{SOURCE2} $RPM_BUILD_ROOT%{_libdir}/VirtualBox/additions/VBoxGuestAdditions.iso
916ab34d 284cp -a out/linux.%{_outdir}/release/bin/components $RPM_BUILD_ROOT%{_libdir}/VirtualBox
8833bce1 285cp -a out/linux.%{_outdir}/release/bin/nls/VirtualBox* $RPM_BUILD_ROOT%{_libdir}/VirtualBox/nls
286
09c79ddb 287install out/linux.%{_outdir}/release/bin/additions/mountvboxsf \
288 $RPM_BUILD_ROOT%{_bindir}
289
290install out/linux.%{_outdir}/release/bin/additions/vboxmouse_drv_71.so \
291 $RPM_BUILD_ROOT%{_libdir}/xorg/modules/input/vboxmouse_drv.so
292
293install out/linux.%{_outdir}/release/bin/additions/vboxvideo_drv_71.so \
294 $RPM_BUILD_ROOT%{_libdir}/xorg/modules/drivers/vboxvideo_drv.so
295
b1f8956a 296install out/linux.%{_outdir}/release/bin/VBox.png $RPM_BUILD_ROOT%{_pixmapsdir}/VBox.png
916ab34d 297install %{SOURCE3} $RPM_BUILD_ROOT%{_desktopdir}/%{name}.desktop
d1c4ec5b
JB
298%endif
299
300%if %{with kernel}
33233365 301install -d $RPM_BUILD_ROOT/etc/udev/rules.d
302install udev.conf $RPM_BUILD_ROOT/etc/udev/rules.d/virtualbox.rules
303
74268e47 304cd PLD-MODULE-BUILD
305for MODULE in *; do
306 [ ! -d $MODULE ] && continue;
307
308 cd $MODULE
309 %install_kernel_modules -m $MODULE -d misc
310 cd ..
311done
312cd ..
d1c4ec5b 313%endif
05f1b1f5 314
48363591 315%clean
316rm -rf $RPM_BUILD_ROOT
317
3b63d3e8 318%pre
319%groupadd -g 221 -r -f vbox
320
3b63d3e8 321%postun
322if [ "$1" = "0" ]; then
323 %groupremove vbox
324fi
325
74268e47 326%post -n kernel%{_alt_kernel}-misc-vboxadd
327%depmod %{_kernel_ver}
328
329%postun -n kernel%{_alt_kernel}-misc-vboxadd
330%depmod %{_kernel_ver}
331
48363591 332%post -n kernel%{_alt_kernel}-misc-vboxdrv
333%depmod %{_kernel_ver}
334
335%postun -n kernel%{_alt_kernel}-misc-vboxdrv
336%depmod %{_kernel_ver}
337
74268e47 338%post -n kernel%{_alt_kernel}-misc-vboxvfs
339%depmod %{_kernel_ver}
340
341%postun -n kernel%{_alt_kernel}-misc-vboxvfs
342%depmod %{_kernel_ver}
343
d1c4ec5b 344%if %{with userspace}
48363591 345%files
346%defattr(644,root,root,755)
7d1c0a63 347%doc UserManual.pdf
8833bce1 348%dir %{_libdir}/VirtualBox
916ab34d 349%dir %{_libdir}/VirtualBox/additions
8833bce1 350%dir %{_libdir}/VirtualBox/components
351%dir %{_libdir}/VirtualBox/nls
4c18fded 352%attr(755,root,root) %{_bindir}/mountvboxsf
353%attr(755,root,root) %{_bindir}/vditool
48363591 354%attr(755,root,root) %{_bindir}/VBox*
355%attr(755,root,root) %{_bindir}/VirtualBox
fdd1c725 356%attr(755,root,root) %{_libdir}/VirtualBox/vditool
05f1b1f5 357%attr(755,root,root) %{_libdir}/VirtualBox/VBoxSVC
358%attr(755,root,root) %{_libdir}/VirtualBox/VBoxBFE
359%attr(755,root,root) %{_libdir}/VirtualBox/VBoxManage
360%attr(755,root,root) %{_libdir}/VirtualBox/VBoxSDL
361%attr(755,root,root) %{_libdir}/VirtualBox/VBoxXPCOMIPCD
8833bce1 362%attr(755,root,root) %{_libdir}/VirtualBox/VBox*.so
fdd1c725 363%attr(755,root,root) %{_libdir}/VirtualBox/VirtualBox
364%attr(755,root,root) %{_libdir}/VirtualBox/VirtualBox-wrapper.sh
05f1b1f5 365%{_libdir}/VirtualBox/*.gc
366%{_libdir}/VirtualBox/*.r0
05f1b1f5 367%{_libdir}/VirtualBox/*.xpt
916ab34d 368%{_libdir}/VirtualBox/additions/*
05f1b1f5 369%{_libdir}/VirtualBox/components/*
8833bce1 370%lang(ar) %{_libdir}/VirtualBox/nls/VirtualBox_ar.qm
371%lang(cs) %{_libdir}/VirtualBox/nls/VirtualBox_cs.qm
372%lang(de) %{_libdir}/VirtualBox/nls/VirtualBox_de.qm
373%lang(es) %{_libdir}/VirtualBox/nls/VirtualBox_es.qm
374%lang(fi) %{_libdir}/VirtualBox/nls/VirtualBox_fi.qm
375%lang(fr) %{_libdir}/VirtualBox/nls/VirtualBox_fr.qm
376%lang(hu) %{_libdir}/VirtualBox/nls/VirtualBox_hu.qm
377%lang(it) %{_libdir}/VirtualBox/nls/VirtualBox_it.qm
378%lang(ja) %{_libdir}/VirtualBox/nls/VirtualBox_ja.qm
379%lang(ko) %{_libdir}/VirtualBox/nls/VirtualBox_ko.qm
380%lang(pl) %{_libdir}/VirtualBox/nls/VirtualBox_pl.qm
381%lang(pt_BR) %{_libdir}/VirtualBox/nls/VirtualBox_pt_BR.qm
382%lang(ro) %{_libdir}/VirtualBox/nls/VirtualBox_ro.qm
383%lang(ru) %{_libdir}/VirtualBox/nls/VirtualBox_ru.qm
384%lang(sv) %{_libdir}/VirtualBox/nls/VirtualBox_sv.qm
385%lang(zh_CN) %{_libdir}/VirtualBox/nls/VirtualBox_zh_CN.qm
386%lang(zh_TW) %{_libdir}/VirtualBox/nls/VirtualBox_zh_TW.qm
d89980c7 387%{_pixmapsdir}/VBox.png
388%{_desktopdir}/%{name}.desktop
09c79ddb 389
23d9d34e 390# Drivers are for Guest OS, which is 32-bit.
391%ifnarch %{x8664}
09c79ddb 392%files -n xorg-driver-input-vboxmouse
393%defattr(644,root,root,755)
394%attr(755,root,root) %{_libdir}/xorg/modules/input/vboxmouse_drv.so
395
396%files -n xorg-driver-video-vboxvideo
397%defattr(644,root,root,755)
398%attr(755,root,root) %{_libdir}/xorg/modules/drivers/vboxvideo_drv.so
d1c4ec5b 399%endif
23d9d34e 400%endif
48363591 401
d1c4ec5b 402%if %{with kernel}
74268e47 403%files -n kernel%{_alt_kernel}-misc-vboxadd
404%defattr(644,root,root,755)
405/lib/modules/%{_kernel_ver}/misc/vboxadd.ko*
406
d1c4ec5b 407%files -n kernel%{_alt_kernel}-misc-vboxdrv
48363591 408%defattr(644,root,root,755)
33233365 409%config(noreplace) %verify(not md5 mtime size) /etc/udev/rules.d/virtualbox.rules
d1c4ec5b 410/lib/modules/%{_kernel_ver}/misc/vboxdrv.ko*
74268e47 411
412%files -n kernel%{_alt_kernel}-misc-vboxvfs
413%defattr(644,root,root,755)
414/lib/modules/%{_kernel_ver}/misc/vboxvfs.ko*
05f1b1f5 415%endif
This page took 0.128874 seconds and 4 git commands to generate.