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