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