]> git.pld-linux.org Git - packages/VirtualBox.git/blob - VirtualBox.spec
53586c2a94655966a12f1867320a72b30f1f9024
[packages/VirtualBox.git] / VirtualBox.spec
1 #
2 # TODO
3 # - java bindings
4 # - Find how to compile with PLD CFLAGS/CXXFLAGS/LDFLAGS.
5 # - Package SDK.
6 # - Package utils (and write initscripts ?) for Guest OS.
7 # - Check License of VBoxGuestAdditions_*.iso, it's probably not GPL v2.
8 #   If so check if it is distributable.
9 #
10 # Conditional build:
11 %bcond_without  doc             # don't build the documentation
12 %bcond_without  dist_kernel     # without distribution kernel
13 %bcond_without  kernel          # don't build kernel module
14 %bcond_without  userspace       # don't build userspace package
15 %bcond_with     force_userspace # force userspace build (useful if alt_kernel is set)
16 %bcond_with     verbose
17
18 %if %{without kernel}
19 %undefine       with_dist_kernel
20 %endif
21 %if "%{_alt_kernel}" != "%{nil}"
22 %undefine       with_userspace
23 %endif
24 %if %{with force_userspace}
25 %define         with_userspace 1
26 %endif
27 %if %{without userspace}
28 # nothing to be placed to debuginfo package
29 %define         _enable_debug_packages  0
30 %endif
31
32 %define         rel             12
33 %define         pname           VirtualBox
34
35 Summary:        VirtualBox OSE - x86 hardware virtualizer
36 Summary(pl.UTF-8):      VirtualBox OSE - wirtualizator sprzętu x86
37 Name:           %{pname}%{_alt_kernel}
38 Version:        4.0.4
39 Release:        %{rel}
40 License:        GPL v2
41 Group:          Applications/Emulators
42 Source0:        http://download.virtualbox.org/virtualbox/%{version}/%{pname}-%{version}.tar.bz2
43 # Source0-md5:  b4770ca14d1a8cbad9b3eb0e0028ff4b
44 Source1:        http://download.virtualbox.org/virtualbox/%{version}/VBoxGuestAdditions_%{version}.iso
45 # Source1-md5:  88604a0e94bf1b8c0d0f18fe4314cfdf
46 Source3:        %{pname}-vboxdrv.init
47 Source4:        %{pname}-vboxguest.init
48 Source5:        %{pname}-vboxnetflt.init
49 Source6:        %{pname}-vboxsf.init
50 Source7:        %{pname}-vboxnetadp.init
51 Source8:        %{pname}.sh
52 Source9:        mount.vdi
53 Source10:       udev.rules
54 Patch0:         %{pname}-configure-spaces.patch
55 Patch1:         %{pname}-export_modules.patch
56 Patch2:         %{pname}-VBoxSysInfo.patch
57 Patch3:         %{pname}-warning_workaround.patch
58 Patch4:         %{pname}-vnc.patch
59 Patch5:         %{pname}-dri.patch
60 Patch6:         %{pname}-vboxnetflt-no-qdisc.patch
61 # ubuntu patches
62 Patch7:         16-no-update.patch
63 Patch8:         18-system-xorg.patch
64 Patch9:         22-no-static-libstdcpp.patch
65 # /ubuntu patches
66 Patch10:        %{pname}-gcc.patch
67 URL:            http://www.virtualbox.org/
68 BuildRequires:  rpmbuild(macros) >= 1.535
69 %if %{with userspace}
70 %ifarch %{x8664}
71 BuildRequires:  gcc-multilib
72 BuildRequires:  glibc-devel(i686)
73 BuildRequires:  libstdc++-multilib-devel
74 BuildRequires:  libstdc++-multilib-static
75 %endif
76 %if "%{pld_release}" == "ac"
77 BuildRequires:  XFree86-devel
78 %else
79 BuildRequires:  xorg-lib-libXcomposite-devel
80 BuildRequires:  xorg-lib-libXcursor-devel
81 BuildRequires:  xorg-lib-libXmu-devel
82 BuildRequires:  xorg-xserver-server-devel
83 %endif
84 BuildRequires:  OpenGL-GLU-devel
85 BuildRequires:  OpenGL-devel
86 BuildRequires:  QtGui-devel
87 BuildRequires:  QtNetwork-devel
88 BuildRequires:  QtOpenGL-devel
89 BuildRequires:  SDL-devel >= 1.2.7
90 BuildRequires:  acpica
91 BuildRequires:  alsa-lib-devel >= 1.0.6
92 BuildRequires:  bash
93 BuildRequires:  bcc
94 BuildRequires:  bin86
95 BuildRequires:  curl-devel
96 %{?with_doc:BuildRequires:      docbook-dtd44-xml}
97 BuildRequires:  gcc >= 5:3.2.3
98 BuildRequires:  libIDL-devel
99 BuildRequires:  libcap-static
100 BuildRequires:  libdrm-devel
101 BuildRequires:  libpng-devel >= 1.2.5
102 BuildRequires:  libstdc++-devel >= 5:3.2.3
103 BuildRequires:  libstdc++-static >= 5:3.2.3
104 BuildRequires:  libuuid-devel
105 BuildRequires:  libvncserver-devel
106 BuildRequires:  libxml2-devel >= 2.6.26
107 BuildRequires:  libxslt-devel >= 1.1.17
108 BuildRequires:  libxslt-progs >= 1.1.17
109 BuildRequires:  mkisofs
110 BuildRequires:  makeself
111 BuildRequires:  pam-devel
112 BuildRequires:  pixman-devel
113 BuildRequires:  pkgconfig
114 BuildRequires:  pulseaudio-devel >= 0.9.0
115 BuildRequires:  python-devel
116 BuildRequires:  python-modules
117 BuildRequires:  qt4-build >= 4.2.0
118 BuildRequires:  qt4-linguist
119 BuildRequires:  sed >= 4.0
120 %if %{with doc}
121 BuildRequires:  texlive-fonts-bitstream
122 BuildRequires:  texlive-fonts-other
123 BuildRequires:  texlive-fonts-type1-bitstream
124 BuildRequires:  texlive-format-pdflatex
125 BuildRequires:  texlive-latex-ucs
126 %endif
127 BuildRequires:  which
128 BuildRequires:  xalan-c-devel >= 1.10.0
129 BuildRequires:  xerces-c-devel >= 2.6.0
130 BuildRequires:  zlib-devel >= 1.2.1
131 %endif
132 %if %{with dist_kernel}
133 BuildRequires:  kernel%{_alt_kernel}-module-build >= 3:2.6.20
134 %endif
135 Requires(post,preun):   /sbin/chkconfig
136 Requires(postun):       /usr/sbin/groupdel
137 Requires(pre):  /usr/bin/getgid
138 Requires(pre):  /usr/sbin/groupadd
139 Requires:       QtCore >= 4.7.0
140 Suggests:       gxmessage
141 Provides:       group(vbox)
142 ExclusiveArch:  %{ix86} %{x8664}
143 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
144
145 %ifarch %{x8664}
146 %define         vbox_platform   linux.amd64
147 %else
148 %define         vbox_platform   linux.x86
149 %endif
150 %define         outdir          out/%{vbox_platform}/release/bin
151 %define         _sbindir        /sbin
152
153 %description
154 Oracle VirtualBox OSE is a general-purpose full virtualizer for x86
155 hardware. Targeted at server, desktop and embedded use, it is now the
156 only professional-quality virtualization solution that is also Open
157 Source Software.
158
159 Some of the features of VirtualBox OSE are:
160
161 Modularity: VirtualBox OSE has an extremely modular design with
162 well-defined internal programming interfaces and a client/server
163 design. This makes it easy to control it from several interfaces at
164 once: for example, you can start a virtual machine in a typical
165 virtual machine GUI and then control that machine from the command
166 line. VirtualBox OSE also comes with a full Software Development Kit:
167 even though it is Open Source Software, you don't have to hack the
168 source to write a new interface for VirtualBox OSE.
169
170 Virtual machine descriptions in XML: the configuration settings of
171 virtual machines are stored entirely in XML and are independent of the
172 local machines. Virtual machine definitions can therefore easily be
173 ported to other computers.
174
175 You should install this package in your Host OS.
176
177 %description -l pl.UTF-8
178 Oracle VirtualBox OSE jest emulatorem sprzętu x86. Kierowany do
179 zastosowań serwerowych, desktopowych oraz wbudowanych jest obecnie
180 jedynym wysokiej jakości rozwiązaniem wirtualizacyjnym dostępnym
181 również jako Otwarte Oprogramowanie.
182
183 Przykładowe cechy VirtualBoksa:
184
185 Modularność: VirtualBox OSE jest wysoce zmodularyzowanym produktem z
186 dobrze zaprojektowanym wewnętrznym interfejsem programowym typu
187 klient/serwer. Dzięki temu można łatwo kontrolować go za pomocą
188 różnych interfejsów. Można na przykład uruchomić maszynę wirtualną z
189 poziomu interfejsu graficznego, a później kontrolować ją z linii
190 poleceń. VirtualBox OSE dostarcza również pełny pakiet deweloperski,
191 co pozwala stworzyć dowolny inny interfejs zarządzania maszyną
192 wirtualną.
193
194 Opisy maszyn wirtualnych w XML-u: konfiguracje poszczególnych maszyn
195 wirtualnych są w całości przechowywane w XML-u i są niezależne od
196 lokalnej maszyny. Dzięki temu można szybko i łatwo przenieść
197 konfigurację maszyny wirtualnej na inny komputer.
198
199 %package udev
200 Summary:        udev rules for VirtualBox OSE kernel modules
201 Summary(pl.UTF-8):      Reguły udev dla modułów jądra Linuksa dla VirtualBoksa
202 Group:          Base/Kernel
203 Requires:       udev-core
204
205 %description udev
206 udev rules for VirtualBox OSE kernel modules.
207
208 You should install this package in your Host OS and in Guest OS.
209
210 %description udev -l pl.UTF-8
211 Reguły udev dla modułów jądra Linuksa dla VirtualBoksa.
212
213 %package additions
214 Summary:        VirtualBox Guest Additions
215 Group:          Base
216 Requires:       %{name} = %{version}-%{release}
217
218 %description additions
219 VirtualBox Guest Additions.
220
221 This package contains ISO9660 image with drivers for Guest OS.
222
223 You should install this package in your Host OS.
224
225 %package guest
226 Summary:        VirtualBox Guest Additions
227 Group:          Base
228 Suggests:       kernel%{_alt_kernel}-misc-vboxsf = %{version}-%{rel}@%{_kernel_ver_str}
229 Suggests:       kernel%{_alt_kernel}-misc-vboxvideo = %{version}-%{rel}@%{_kernel_ver_str}
230 Requires:       xorg-driver-input-vboxmouse = %{version}-%{release}
231 Requires:       xorg-driver-video-vboxvideo = %{version}-%{release}
232
233 %description guest
234 Tools that utilize kernel modules for supporting integration with the
235 Host, including file sharing and tracking of mouse pointer movement
236 and X.org X11 video and mouse driver.
237
238 You should install this package in your Guest OS.
239
240 %package -n pam-pam_vbox
241 Summary:        PAM module to perform automated guest logons
242 Group:          Base
243
244 %description  -n pam-pam_vbox
245 PAM module (Pluggable Authentication Module) which can be used to
246 perform automated guest logons.
247
248 %package -n xorg-driver-input-vboxmouse
249 Summary:        X.org mouse driver for VirtualBox OSE guest OS
250 Summary(pl.UTF-8):      Sterownik myszy dla systemu gościa w VirtualBoksie OSE
251 Group:          X11/Applications
252 Requires:       xorg-xserver-server >= 1.0.99.901
253 Requires:       xorg-xserver-server(xinput-abi) <= 12.2
254 Requires:       xorg-xserver-server(xinput-abi) >= 4.0
255
256 %description -n xorg-driver-input-vboxmouse
257 X.org mouse driver for VirtualBox OSE guest OS.
258
259 %description -n xorg-driver-input-vboxmouse  -l pl.UTF-8
260 Sterownik myszy dla systemu gościa w VirtualBoksie.
261
262 %package -n xorg-driver-video-vboxvideo
263 Summary:        X.org video driver for VirtualBox OSE guest OS
264 Summary(pl.UTF-8):      Sterownik grafiki dla systemu gościa w VirtualBoksie OSE
265 Group:          X11/Applications
266 Requires:       Mesa-dri-driver-swrast
267 Requires:       xorg-xserver-libdri >= 1.7.4
268 Requires:       xorg-xserver-server >= 1.0.99.901
269 Requires:       xorg-xserver-server(videodrv-abi) <= 10.0
270 Requires:       xorg-xserver-server(videodrv-abi) >= 2.0
271
272 %description -n xorg-driver-video-vboxvideo
273 X.org video driver for VirtualBox OSE guest OS.
274
275 %description -n xorg-driver-video-vboxvideo -l pl.UTF-8
276 Sterownik grafiki dla systemu gościa w VirtualBoksie OSE.
277
278 %package -n kernel%{_alt_kernel}-misc-vboxguest
279 Summary:        VirtualBox OSE Guest Additions for Linux Module
280 Summary(pl.UTF-8):      Moduł jądra Linuksa dla VirtualBoksa OSE
281 Release:        %{rel}@%{_kernel_ver_str}
282 Group:          Base/Kernel
283 Requires(post,postun):  /sbin/depmod
284 Requires:       dev >= 2.9.0-7
285 %if %{with dist_kernel}
286 %requires_releq_kernel
287 Requires(postun):       %releq_kernel
288 %endif
289 Provides:       kernel(vboxguest) = %{version}-%{rel}
290 Obsoletes:      kernel%{_alt_kernel}-misc-vboxadd
291 Conflicts:      kernel%{_alt_kernel}-misc-vboxdrv
292
293 %description -n kernel%{_alt_kernel}-misc-vboxguest
294 VirtualBox OSE Guest Additions for Linux Module.
295
296 You should install this package in your Guest OS.
297
298 %description -n kernel%{_alt_kernel}-misc-vboxguest -l pl.UTF-8
299 Moduł jądra Linuksa vboxguest dla VirtualBoksa OSE - dodatki dla
300 systemu gościa.
301
302 %package -n kernel%{_alt_kernel}-misc-vboxdrv
303 Summary:        VirtualBox OSE Support Driver
304 Summary(pl.UTF-8):      Moduł jądra Linuksa dla VirtualBoksa OSE
305 Release:        %{rel}@%{_kernel_ver_str}
306 Group:          Base/Kernel
307 Requires(post,postun):  /sbin/depmod
308 Requires:       dev >= 2.9.0-7
309 %if %{with dist_kernel}
310 %requires_releq_kernel
311 Requires(postun):       %releq_kernel
312 %endif
313 Provides:       kernel(vboxdrv) = %{version}-%{rel}
314
315 %description -n kernel%{_alt_kernel}-misc-vboxdrv
316 VirtualBox OSE Support Driver.
317
318 You should install this package in your Host OS.
319
320 %description -n kernel%{_alt_kernel}-misc-vboxdrv -l pl.UTF-8
321 Moduł jądra Linuksa dla VirtualBoksa OSE - sterownik wsparcia dla
322 systemu głównego.
323
324 %package -n kernel%{_alt_kernel}-misc-vboxnetadp
325 Summary:        VirtualBox OSE Network Adapter Driver
326 Summary(pl.UTF-8):      Moduł jądra Linuksa dla VirtualBoksa OSE
327 Release:        %{rel}@%{_kernel_ver_str}
328 Group:          Base/Kernel
329 Requires(post,postun):  /sbin/depmod
330 Requires:       dev >= 2.9.0-7
331 Requires:       kernel%{_alt_kernel}-misc-vboxdrv
332 %if %{with dist_kernel}
333 %requires_releq_kernel
334 Requires(postun):       %releq_kernel
335 %endif
336 Provides:       kernel(vboxnetflt) = %{version}-%{rel}
337
338 %description -n kernel%{_alt_kernel}-misc-vboxnetadp
339 VirtualBox OSE Network Adapter Driver.
340
341 You should install this package in your Host OS.
342
343 %description -n kernel%{_alt_kernel}-misc-vboxnetadp -l pl.UTF-8
344 Moduł jądra Linuksa dla VirtualBoksa OSE - sterownik witrualnej karty
345 sieciowej.
346
347 %package -n kernel%{_alt_kernel}-misc-vboxnetflt
348 Summary:        VirtualBox OSE Network Filter Driver
349 Summary(pl.UTF-8):      Moduł jądra Linuksa dla VirtualBoksa OSE
350 Release:        %{rel}@%{_kernel_ver_str}
351 Group:          Base/Kernel
352 Requires(post,postun):  /sbin/depmod
353 Requires:       dev >= 2.9.0-7
354 Requires:       kernel%{_alt_kernel}-misc-vboxdrv
355 %if %{with dist_kernel}
356 %requires_releq_kernel
357 Requires(postun):       %releq_kernel
358 %endif
359 Provides:       kernel(vboxnetflt) = %{version}-%{rel}
360
361 %description -n kernel%{_alt_kernel}-misc-vboxnetflt
362 VirtualBox OSE Network Filter Driver.
363
364 You should install this package in your Host OS.
365
366 %description -n kernel%{_alt_kernel}-misc-vboxnetflt -l pl.UTF-8
367 Moduł jądra Linuksa dla VirtualBoksa OSE - sterownik filtrowania sieci
368 dla systemu głównego.
369
370 %package -n kernel%{_alt_kernel}-misc-vboxsf
371 Summary:        Host file system access (Shared Folders) for VirtualBox OSE
372 Summary(pl.UTF-8):      Moduł jądra Linuksa dla VirtualBoksa OSE
373 Release:        %{rel}@%{_kernel_ver_str}
374 Group:          Base/Kernel
375 Requires(post,postun):  /sbin/depmod
376 Requires:       dev >= 2.9.0-7
377 Requires:       kernel%{_alt_kernel}-misc-vboxguest
378 %if %{with dist_kernel}
379 %requires_releq_kernel
380 Requires(postun):       %releq_kernel
381 %endif
382 Provides:       kernel(vboxsf) = %{version}-%{rel}
383 Obsoletes:      kernel%{_alt_kernel}-misc-vboxvfs
384
385 %description -n kernel%{_alt_kernel}-misc-vboxsf
386 Host file system access (Shared Folders) for VirtualBox OSE.
387
388 You should install this package in your Guest OS.
389
390 %description -n kernel%{_alt_kernel}-misc-vboxsf -l pl.UTF-8
391 Moduł jądra Linuksa dla VirtualBoksa OSE - dostęp do plików systemu
392 głównego z poziomu systemu gościa.
393
394 %package -n kernel%{_alt_kernel}-misc-vboxvideo
395 Summary:        DRM support for VirtualBox OSE
396 Summary(pl.UTF-8):      Moduł jądra Linuksa dla VirtualBoksa OSE
397 Release:        %{rel}@%{_kernel_ver_str}
398 Group:          Base/Kernel
399 Requires(post,postun):  /sbin/depmod
400 Requires:       dev >= 2.9.0-7
401 %if %{with dist_kernel}
402 %requires_releq_kernel
403 %if "%{rpm_build_macros}" >= "1.531"
404 %requires_releq_kernel -n drm
405 %endif
406 Requires(postun):       %releq_kernel
407 %endif
408 Provides:       kernel(vboxvideo) = %{version}-%{rel}
409
410 %description -n kernel%{_alt_kernel}-misc-vboxvideo
411 DRM support for VirtualBox OSE.
412
413 You should install this package in your Guest OS.
414
415 %description -n kernel%{_alt_kernel}-misc-vboxvideo -l pl.UTF-8
416 Moduł jądra Linuksa dla VirtualBoksa OSE - sterownik obsługi DRM.
417
418 %prep
419 %setup -q -n %{pname}-%{version}_OSE
420 %patch0 -p1
421 %patch1 -p1
422 %patch2 -p1
423 %patch3 -p1
424 %patch4 -p1
425 %patch5 -p1
426
427 %{__sed} -i -e 's,@VBOX_DOC_PATH@,%{_docdir}/%{name}-%{version},' \
428         -e 's/Categories=.*/Categories=Utility;Emulator;/' src/VBox/Installer/common/virtualbox.desktop.in
429
430 sed 's#@LIBDIR@#%{_libdir}#' < %{SOURCE8} > VirtualBox-wrapper.sh
431
432 install -d PLD-MODULE-BUILD/{GuestDrivers,HostDrivers}
433 cd PLD-MODULE-BUILD
434 ../src/VBox/Additions/linux/export_modules guest-modules.tar.gz
435 tar -zxf guest-modules.tar.gz -C GuestDrivers
436
437 ../src/VBox/HostDrivers/linux/export_modules host-modules.tar.gz --without-hardening
438 tar -zxf host-modules.tar.gz -C HostDrivers
439 cd -
440 %patch6 -p1
441 %patch7 -p1
442 %patch8 -p1
443 %patch9 -p1
444 %patch10 -p1
445
446 %build
447 %if %{with userspace}
448 echo "VBOX_WITH_TESTCASES := " > LocalConfig.kmk
449 ./configure \
450         --with-gcc="%{__cc}" \
451         --with-g++="%{__cxx}" \
452         %{!?with_doc:--disable-docs} \
453         --disable-java \
454         --disable-hardening \
455         --disable-kmods
456
457 . ./env.sh && \
458 kmk -j1 \
459         %{?with_verbose:KBUILD_VERBOSE=3} \
460         USER=$(id -un) \
461         XSERVER_VERSION="$(rpm -q --queryformat '%{VERSION}\n' xorg-xserver-server-devel | awk -F. ' { print $1 $2 } ' 2> /dev/null || echo ERROR)"
462 %endif
463
464 %if %{with kernel}
465 cd PLD-MODULE-BUILD/HostDrivers
466 %build_kernel_modules -m vboxdrv -C vboxdrv
467 %build_kernel_modules -m vboxnetadp -C vboxnetadp
468 %build_kernel_modules -m vboxnetflt -C vboxnetflt
469
470 cd ../GuestDrivers
471 %build_kernel_modules -m vboxguest -C vboxguest
472 cp -a vboxguest/Module.symvers vboxsf
473 %build_kernel_modules -m vboxsf -C vboxsf -c
474 %build_kernel_modules -m vboxvideo -C vboxvideo_drm
475 cd ../..
476 %{__cc} %{rpmcflags} %{rpmldflags} -Wall -Werror src/VBox/Additions/linux/sharedfolders/{mount.vboxsf.c,vbsfmount.c} -o mount.vboxsf
477 %endif
478
479 %install
480 rm -rf $RPM_BUILD_ROOT
481
482 %if %{with userspace}
483 install -d $RPM_BUILD_ROOT{%{_bindir},%{_sbindir},%{_libdir}/%{pname}/ExtensionPacks} \
484         $RPM_BUILD_ROOT{%{_pixmapsdir},%{_desktopdir}} \
485         $RPM_BUILD_ROOT%{_libdir}/xorg/modules/{drivers,dri,input}
486
487 # test if we can hardlink -- %{_builddir} and $RPM_BUILD_ROOT on same partition
488 if cp -al VBox.png $RPM_BUILD_ROOT/Vbox.png 2>/dev/null; then
489         l=l
490         rm -f $RPM_BUILD_ROOT/VBox.png
491 fi
492
493 cp -a$l %{outdir}/* $RPM_BUILD_ROOT%{_libdir}/%{pname}
494
495 cp -a %{SOURCE1} $RPM_BUILD_ROOT%{_libdir}/VirtualBox/additions/VBoxGuestAdditions.iso
496 install -p %{SOURCE9} $RPM_BUILD_ROOT%{_sbindir}/mount.vdi
497 install -p VirtualBox-wrapper.sh $RPM_BUILD_ROOT%{_libdir}/%{pname}
498 for f in {VBox{BFE,Headless,Manage,SDL,SVC,Tunctl,XPCOMIPCD},VirtualBox}; do
499         ln -s %{_libdir}/%{pname}/VirtualBox-wrapper.sh $RPM_BUILD_ROOT%{_bindir}/$f
500 done
501
502 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname},%{_pixmapsdir}}/VBox.png
503 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname},%{_desktopdir}}/virtualbox.desktop
504
505 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/vboxmouse_drv.so,%{_libdir}/xorg/modules/input/vboxmouse_drv.so}
506 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/vboxvideo_drv.so,%{_libdir}/xorg/modules/drivers/vboxvideo_drv.so}
507 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/VBoxOGL.so,%{_libdir}/xorg/modules/dri/vboxvideo_dri.so}
508 # xorg other driver versions
509 rm -vf $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/vboxmouse_drv*.{o,so}
510 rm -vf $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/vboxvideo_drv*.{o,so}
511
512 # XXX: where else to install them that vboxvideo_dri.so finds them? patch with rpath?
513 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLarrayspu.so
514 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLcrutil.so
515 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLerrorspu.so
516 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLfeedbackspu.so
517 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLpackspu.so
518 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLpassthroughspu.so
519
520 install -d $RPM_BUILD_ROOT/etc/udev/rules.d
521 cp -a %{SOURCE10} $RPM_BUILD_ROOT/etc/udev/rules.d/virtualbox.rules
522
523 install -d $RPM_BUILD_ROOT/%{_lib}/security
524 mv $RPM_BUILD_ROOT{%{_libdir}/VirtualBox/additions,/%{_lib}/security}/pam_vbox.so
525
526 # cleanup unpackaged
527 rm -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/{src,sdk,testcase}
528 rm -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/src
529 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxkeyboard.tar.bz2
530 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/tst*
531
532 # IPRT Testcase / Tool - Source Code Massager.
533 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/scm
534
535 # Guest Only Tools
536 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxService
537
538 # unknown - checkme
539 %if 1
540 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPInstall
541 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPLoggerCtl
542 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPUninstall
543 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/VBox.sh
544 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/VBoxClient
545 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/VBoxControl
546 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxshell.py
547 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/xpidl
548 %endif
549
550 # packaged by kernel part
551 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/mount.vboxsf
552 %endif
553
554 %if %{with kernel}
555 install -d $RPM_BUILD_ROOT{/etc/{rc.d/init.d,modprobe.d},%{_sbindir}}
556 install -p %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxdrv
557 install -p %{SOURCE4} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxguest
558 install -p %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxnetflt
559 install -p %{SOURCE6} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxsf
560 install -p %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxnetadp
561 %install_kernel_modules -m PLD-MODULE-BUILD/HostDrivers/vboxdrv/vboxdrv -d misc
562 %install_kernel_modules -m PLD-MODULE-BUILD/HostDrivers/vboxnetadp/vboxnetadp -d misc
563 %install_kernel_modules -m PLD-MODULE-BUILD/HostDrivers/vboxnetflt/vboxnetflt -d misc
564 %install_kernel_modules -m PLD-MODULE-BUILD/GuestDrivers/vboxguest/vboxguest -d misc
565 %install_kernel_modules -m PLD-MODULE-BUILD/GuestDrivers/vboxsf/vboxsf -d misc
566 %install_kernel_modules -m PLD-MODULE-BUILD/GuestDrivers/vboxvideo_drm/vboxvideo -d misc
567
568 install -p mount.vboxsf $RPM_BUILD_ROOT%{_sbindir}/mount.vboxsf
569
570 %endif
571
572 %clean
573 rm -rf $RPM_BUILD_ROOT
574
575 %pre
576 %groupadd -g 221 -r -f vbox
577
578 %post
579 cat << 'EOF'
580 You must install vboxdrv kernel module for this software to work:
581     kernel-misc-vboxdrv-%{version}-%{rel}@%{_kernel_ver_str}
582
583 Additionally you might want to install:
584     kernel-misc-vboxnetadp-%{version}-%{rel}@%{_kernel_ver_str}
585     kernel-misc-vboxnetflt-%{version}-%{rel}@%{_kernel_ver_str}
586
587 On Guest Linux system you might want to install:
588     kernel-misc-vboxguest-%{version}-%{rel}@%{_kernel_ver_str}
589     kernel-misc-vboxsf-%{version}-%{rel}@%{_kernel_ver_str}
590     kernel-misc-vboxvideo-%{version}-%{rel}@%{_kernel_ver_str}
591
592 EOF
593
594 %postun
595 if [ "$1" = "0" ]; then
596         %groupremove vbox
597 fi
598
599 %post   -n kernel%{_alt_kernel}-misc-vboxguest
600 %depmod %{_kernel_ver}
601 /sbin/chkconfig --add vboxguest
602 %service vboxguest restart "VirtualBox OSE Guest additions driver"
603
604 %postun -n kernel%{_alt_kernel}-misc-vboxguest
605 %depmod %{_kernel_ver}
606
607 %preun -n kernel%{_alt_kernel}-misc-vboxguest
608 if [ "$1" = "0" ]; then
609         %service vboxguest stop
610         /sbin/chkconfig --del vboxguest
611 fi
612
613 %post   -n kernel%{_alt_kernel}-misc-vboxdrv
614 %depmod %{_kernel_ver}
615 /sbin/chkconfig --add vboxdrv
616 %service vboxdrv restart "VirtualBox OSE Support Driver"
617
618 %postun -n kernel%{_alt_kernel}-misc-vboxdrv
619 %depmod %{_kernel_ver}
620
621 %preun -n kernel%{_alt_kernel}-misc-vboxdrv
622 if [ "$1" = "0" ]; then
623         %service vboxdrv stop
624         /sbin/chkconfig --del vboxdrv
625 fi
626
627 %post   -n kernel%{_alt_kernel}-misc-vboxnetadp
628 %depmod %{_kernel_ver}
629 /sbin/chkconfig --add vboxnetadp
630 %service vboxnetadp restart "VirtualBox OSE Network HostOnly driver"
631
632 %postun -n kernel%{_alt_kernel}-misc-vboxnetadp
633 %depmod %{_kernel_ver}
634
635 %preun -n kernel%{_alt_kernel}-misc-vboxnetadp
636 if [ "$1" = "0" ]; then
637         %service vboxnetadp stop
638         /sbin/chkconfig --del vboxnetadp
639 fi
640
641 %post   -n kernel%{_alt_kernel}-misc-vboxnetflt
642 %depmod %{_kernel_ver}
643 /sbin/chkconfig --add vboxnetflt
644 %service vboxnetflt restart "VirtualBox OSE Network Filter driver"
645
646 %postun -n kernel%{_alt_kernel}-misc-vboxnetflt
647 %depmod %{_kernel_ver}
648
649 %preun -n kernel%{_alt_kernel}-misc-vboxnetflt
650 if [ "$1" = "0" ]; then
651         %service vboxnetflt stop
652         /sbin/chkconfig --del vboxnetflt
653 fi
654
655 %post   -n kernel%{_alt_kernel}-misc-vboxsf
656 %depmod %{_kernel_ver}
657 /sbin/chkconfig --add vboxsf
658 %service vboxsf restart "VirtualBox OSE Host file system access (Shared Folders)"
659
660 %postun -n kernel%{_alt_kernel}-misc-vboxsf
661 %depmod %{_kernel_ver}
662
663 %preun -n kernel%{_alt_kernel}-misc-vboxsf
664 if [ "$1" = "0" ]; then
665         %service vboxsf stop
666         /sbin/chkconfig --del vboxsf
667 fi
668
669 %post   -n kernel%{_alt_kernel}-misc-vboxvideo
670 %depmod %{_kernel_ver}
671
672 %postun -n kernel%{_alt_kernel}-misc-vboxvideo
673 %depmod %{_kernel_ver}
674
675 %if %{with userspace}
676 %files
677 %defattr(644,root,root,755)
678 %{?with_doc:%doc %{outdir}/UserManual.pdf}
679 %dir %{_libdir}/VirtualBox
680 %dir %{_libdir}/VirtualBox/ExtensionPacks
681 %dir %{_libdir}/VirtualBox/additions
682 %dir %{_libdir}/VirtualBox/components
683 %dir %{_libdir}/VirtualBox/icons
684 %dir %{_libdir}/VirtualBox/icons/*x*
685 %dir %{_libdir}/VirtualBox/nls
686 %attr(755,root,root) %{_bindir}/VBoxBFE
687 %attr(755,root,root) %{_bindir}/VBoxHeadless
688 %attr(755,root,root) %{_bindir}/VBoxManage
689 %attr(755,root,root) %{_bindir}/VBoxSDL
690 %attr(755,root,root) %{_bindir}/VBoxSVC
691 %attr(755,root,root) %{_bindir}/VBoxTunctl
692 %attr(755,root,root) %{_bindir}/VBoxXPCOMIPCD
693 %attr(755,root,root) %{_bindir}/VirtualBox
694 %attr(755,root,root) %{_sbindir}/mount.vdi
695 %attr(755,root,root) %{_libdir}/VirtualBox/DBGCPlugInDiggers.so
696 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxAuth.so
697 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxAuthSimple.so
698 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxBFE
699 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxCreateUSBNode.sh
700 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxDbg.so
701 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxDD2.so
702 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxDD.so
703 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxDDU.so
704 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxExtPackHelperApp
705 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxGuestControlSvc.so
706 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxGuestPropSvc.so
707 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxHeadless
708 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxKeyboard.so
709 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxManage
710 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxNetAdpCtl
711 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxNetDHCP
712 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxOGLhostcrutil.so
713 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxOGLhosterrorspu.so
714 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxOGLrenderspu.so
715 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxPython*.so
716 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxREM.so
717 %ifarch %{ix86}
718 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxREM32.so
719 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxREM64.so
720 %endif
721 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxRT.so
722 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSDL
723 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSharedClipboard.so
724 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSharedCrOpenGL.so
725 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSharedFolders.so
726 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSVC
727 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSysInfo.sh
728 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxTestOGL
729 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxTunctl
730 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxVMM.so
731 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxXPCOMC.so
732 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxXPCOMIPCD
733 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxXPCOM.so
734 %attr(755,root,root) %{_libdir}/VirtualBox/VirtualBox
735 %attr(755,root,root) %{_libdir}/VirtualBox/VirtualBox-wrapper.sh
736 %{_libdir}/VirtualBox/VBoxDD2GC.gc
737 %{_libdir}/VirtualBox/VBoxDDGC.gc
738 %{_libdir}/VirtualBox/VMMGC.gc
739 %{_libdir}/VirtualBox/VBoxDD2R0.r0
740 %{_libdir}/VirtualBox/VBoxDDR0.r0
741 %{_libdir}/VirtualBox/VMMR0.r0
742 %{_libdir}/VirtualBox/EfiThunk
743 %{_libdir}/VirtualBox/VBoxEFI32.fd
744 %{_libdir}/VirtualBox/VBoxEFI64.fd
745 %{_libdir}/VirtualBox/components/VBoxXPCOMBase.xpt
746 %{_libdir}/VirtualBox/components/VirtualBox_XPCOM.xpt
747 %attr(755,root,root) %{_libdir}/VirtualBox/components/VBoxC.so
748 %attr(755,root,root) %{_libdir}/VirtualBox/components/VBoxSVCM.so
749 %attr(755,root,root) %{_libdir}/VirtualBox/components/VBoxXPCOMIPCC.so
750 %lang(ar) %{_libdir}/VirtualBox/nls/*_ar.qm
751 %lang(bg) %{_libdir}/VirtualBox/nls/*_bg.qm
752 %lang(ca) %{_libdir}/VirtualBox/nls/*_ca.qm
753 %lang(ca_VA) %{_libdir}/VirtualBox/nls/*_ca_VA.qm
754 %lang(cs) %{_libdir}/VirtualBox/nls/*_cs.qm
755 %lang(da) %{_libdir}/VirtualBox/nls/*_da.qm
756 %lang(de) %{_libdir}/VirtualBox/nls/*_de.qm
757 %lang(el) %{_libdir}/VirtualBox/nls/*_el.qm
758 %lang(en) %{_libdir}/VirtualBox/nls/*_en.qm
759 %lang(es) %{_libdir}/VirtualBox/nls/*_es.qm
760 %lang(eu) %{_libdir}/VirtualBox/nls/*_eu.qm
761 %lang(fi) %{_libdir}/VirtualBox/nls/*_fi.qm
762 %lang(fr) %{_libdir}/VirtualBox/nls/*_fr.qm
763 %lang(gl_ES) %{_libdir}/VirtualBox/nls/*_gl_ES.qm
764 %lang(hu) %{_libdir}/VirtualBox/nls/*_hu.qm
765 %lang(id) %{_libdir}/VirtualBox/nls/*_id.qm
766 %lang(it) %{_libdir}/VirtualBox/nls/*_it.qm
767 %lang(ja) %{_libdir}/VirtualBox/nls/*_ja.qm
768 %lang(km_KH) %{_libdir}/VirtualBox/nls/*_km_KH.qm
769 %lang(ko) %{_libdir}/VirtualBox/nls/*_ko.qm
770 %lang(lt) %{_libdir}/VirtualBox/nls/*_lt.qm
771 %lang(nl) %{_libdir}/VirtualBox/nls/*_nl.qm
772 %lang(pl) %{_libdir}/VirtualBox/nls/*_pl.qm
773 %lang(pt) %{_libdir}/VirtualBox/nls/*_pt.qm
774 %lang(pt_BR) %{_libdir}/VirtualBox/nls/*_pt_BR.qm
775 %lang(ro) %{_libdir}/VirtualBox/nls/*_ro.qm
776 %lang(ru) %{_libdir}/VirtualBox/nls/*_ru.qm
777 %lang(sk) %{_libdir}/VirtualBox/nls/*_sk.qm
778 %lang(sr) %{_libdir}/VirtualBox/nls/*_sr.qm
779 %lang(sv) %{_libdir}/VirtualBox/nls/*_sv.qm
780 %lang(tr) %{_libdir}/VirtualBox/nls/*_tr.qm
781 %lang(uk) %{_libdir}/VirtualBox/nls/*_uk.qm
782 %lang(zh_CN) %{_libdir}/VirtualBox/nls/*_zh_CN.qm
783 %lang(zh_TW) %{_libdir}/VirtualBox/nls/*_zh_TW.qm
784 %{_pixmapsdir}/VBox.png
785 %{_desktopdir}/*.desktop
786 %{_libdir}/VirtualBox/icons/*/virtualbox-ova.png
787 %{_libdir}/VirtualBox/icons/*/virtualbox-ovf.png
788 %{_libdir}/VirtualBox/icons/*/virtualbox-vbox-extpack.png
789 %{_libdir}/VirtualBox/icons/*/virtualbox-vbox.png
790 %{_libdir}/VirtualBox/virtualbox.xml
791
792 %files additions
793 %defattr(644,root,root,755)
794 %{_libdir}/VirtualBox/additions/VBoxGuestAdditions.iso
795
796 %files guest
797 %defattr(644,root,root,755)
798 # NOTE: unfinished, should contain .desktop files for starting up mouse
799 # integration and other desktop services
800 # NOTE: the filelist is incopmplete too
801 %attr(755,root,root) %{_bindir}/VBoxService
802
803 %attr(755,root,root) %{_libdir}/VirtualBox/additions/autorun.sh
804 %attr(755,root,root) %{_libdir}/VirtualBox/additions/vboxadd
805 %attr(755,root,root) %{_libdir}/VirtualBox/additions/vboxadd-service
806 %attr(755,root,root) %{_libdir}/VirtualBox/additions/vboxadd-x11
807
808 %files -n pam-pam_vbox
809 %defattr(644,root,root,755)
810 %attr(755,root,root) /%{_lib}/security/pam_vbox.so
811
812 %files udev
813 %defattr(644,root,root,755)
814 %config(noreplace) %verify(not md5 mtime size) /etc/udev/rules.d/virtualbox.rules
815
816 %files -n xorg-driver-input-vboxmouse
817 %defattr(644,root,root,755)
818 %attr(755,root,root) %{_libdir}/xorg/modules/input/vboxmouse_drv.so
819
820 %files -n xorg-driver-video-vboxvideo
821 %defattr(644,root,root,755)
822 %attr(755,root,root) %{_libdir}/xorg/modules/drivers/vboxvideo_drv.so
823 %attr(755,root,root) %{_libdir}/xorg/modules/dri/vboxvideo_dri.so
824 # vboxvideo_dri.so deps
825 %attr(755,root,root) %{_libdir}/VBoxOGLarrayspu.so
826 %attr(755,root,root) %{_libdir}/VBoxOGLcrutil.so
827 %attr(755,root,root) %{_libdir}/VBoxOGLerrorspu.so
828 %attr(755,root,root) %{_libdir}/VBoxOGLfeedbackspu.so
829 %attr(755,root,root) %{_libdir}/VBoxOGLpackspu.so
830 %attr(755,root,root) %{_libdir}/VBoxOGLpassthroughspu.so
831 %endif
832
833 %if %{with kernel}
834 %files -n kernel%{_alt_kernel}-misc-vboxguest
835 %defattr(644,root,root,755)
836 %attr(754,root,root) /etc/rc.d/init.d/vboxguest
837 /lib/modules/%{_kernel_ver}/misc/vboxguest.ko*
838
839 %files -n kernel%{_alt_kernel}-misc-vboxdrv
840 %defattr(644,root,root,755)
841 %attr(754,root,root) /etc/rc.d/init.d/vboxdrv
842 /lib/modules/%{_kernel_ver}/misc/vboxdrv.ko*
843
844 %files -n kernel%{_alt_kernel}-misc-vboxnetadp
845 %defattr(644,root,root,755)
846 %attr(754,root,root) /etc/rc.d/init.d/vboxnetadp
847 /lib/modules/%{_kernel_ver}/misc/vboxnetadp.ko*
848
849 %files -n kernel%{_alt_kernel}-misc-vboxnetflt
850 %defattr(644,root,root,755)
851 %attr(754,root,root) /etc/rc.d/init.d/vboxnetflt
852 /lib/modules/%{_kernel_ver}/misc/vboxnetflt.ko*
853
854 %files -n kernel%{_alt_kernel}-misc-vboxsf
855 %defattr(644,root,root,755)
856 %attr(754,root,root) /etc/rc.d/init.d/vboxsf
857 %attr(755,root,root) %{_sbindir}/mount.vboxsf
858 /lib/modules/%{_kernel_ver}/misc/vboxsf.ko*
859
860 %files -n kernel%{_alt_kernel}-misc-vboxvideo
861 %defattr(644,root,root,755)
862 /lib/modules/%{_kernel_ver}/misc/vboxvideo.ko*
863 %endif
This page took 0.086442 seconds and 2 git commands to generate.