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