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