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