]> git.pld-linux.org Git - packages/VirtualBox.git/blob - VirtualBox.spec
- enable vnc server
[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.12
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:  5b39b99c2a36c96a062913e8ac67c60f
47 Source1:        http://download.virtualbox.org/virtualbox/%{version}/VBoxGuestAdditions_%{version}.iso
48 # Source1-md5:  3573d8233bc2a343ff6a5c9cfa6764c2
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 >= 0.9.7
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         --enable-vnc
469
470 XSERVER_VERSION=$(rpm -q --queryformat '%{VERSION}\n' xorg-xserver-server-devel | awk -F. ' { print $1 $2 } ' 2> /dev/null || echo ERROR)
471 . ./env.sh && \
472 kmk -j1 \
473         %{?with_verbose:KBUILD_VERBOSE=3} \
474         USER=$(id -un) \
475         VBOX_VERSION_STRING='$(VBOX_VERSION_MAJOR).$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD)'_PLD \
476         XSERVER_VERSION="$XSERVER_VERSION"
477 %endif
478
479 %if %{with kernel}
480 cd PLD-MODULE-BUILD/HostDrivers
481 %build_kernel_modules -m vboxdrv -C vboxdrv
482 %build_kernel_modules -m vboxnetadp -C vboxnetadp
483 %build_kernel_modules -m vboxnetflt -C vboxnetflt
484
485 cd ../GuestDrivers
486 %build_kernel_modules -m vboxguest -C vboxguest
487 cp -a vboxguest/Module.symvers vboxsf
488 %build_kernel_modules -m vboxsf -C vboxsf -c
489 %build_kernel_modules -m vboxvideo -C vboxvideo_drm
490 cd ../..
491 %{__cc} %{rpmcflags} %{rpmldflags} -Wall -Werror src/VBox/Additions/linux/sharedfolders/{mount.vboxsf.c,vbsfmount.c} -o mount.vboxsf
492 %endif
493
494 %install
495 rm -rf $RPM_BUILD_ROOT
496
497 %if %{with userspace}
498 install -d $RPM_BUILD_ROOT{%{_bindir},%{_sbindir},%{_libdir}/%{pname}/ExtensionPacks} \
499         $RPM_BUILD_ROOT{%{_pixmapsdir},%{_desktopdir}} \
500         $RPM_BUILD_ROOT%{_libdir}/xorg/modules/{drivers,dri,input}
501
502 # test if we can hardlink -- %{_builddir} and $RPM_BUILD_ROOT on same partition
503 if cp -al VBox.png $RPM_BUILD_ROOT/Vbox.png 2>/dev/null; then
504         l=l
505         rm -f $RPM_BUILD_ROOT/VBox.png
506 fi
507
508 cp -a$l %{outdir}/* $RPM_BUILD_ROOT%{_libdir}/%{pname}
509
510 cp -a %{SOURCE1} $RPM_BUILD_ROOT%{_libdir}/VirtualBox/additions/VBoxGuestAdditions.iso
511 install -p %{SOURCE9} $RPM_BUILD_ROOT%{_sbindir}/mount.vdi
512 install -p VirtualBox-wrapper.sh $RPM_BUILD_ROOT%{_libdir}/%{pname}
513 for f in {VBox{BFE,Headless,Manage,SDL,SVC,Tunctl,XPCOMIPCD},VirtualBox}; do
514         ln -s %{_libdir}/%{pname}/VirtualBox-wrapper.sh $RPM_BUILD_ROOT%{_bindir}/$f
515 done
516
517 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/VBox.png,%{_pixmapsdir}/virtualbox.png}
518 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname},%{_desktopdir}}/virtualbox.desktop
519
520 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/vboxmouse_drv.so,%{_libdir}/xorg/modules/input/vboxmouse_drv.so}
521 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/vboxvideo_drv.so,%{_libdir}/xorg/modules/drivers/vboxvideo_drv.so}
522 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/VBoxOGL.so,%{_libdir}/xorg/modules/dri/vboxvideo_dri.so}
523 # xorg other driver versions
524 rm -vf $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/vboxmouse_drv*.{o,so}
525 rm -vf $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/vboxvideo_drv*.{o,so}
526
527 # XXX: where else to install them that vboxvideo_dri.so finds them? patch with rpath?
528 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLarrayspu.so
529 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLcrutil.so
530 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLerrorspu.so
531 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLfeedbackspu.so
532 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLpackspu.so
533 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLpassthroughspu.so
534
535 install -d $RPM_BUILD_ROOT/etc/udev/rules.d
536 cp -a %{SOURCE10} $RPM_BUILD_ROOT/etc/udev/rules.d/virtualbox.rules
537
538 install -d $RPM_BUILD_ROOT/%{_lib}/security
539 mv $RPM_BUILD_ROOT{%{_libdir}/VirtualBox/additions,/%{_lib}/security}/pam_vbox.so
540
541 # cleanup unpackaged
542 rm -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/{src,sdk,testcase}
543 rm -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/src
544 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxkeyboard.tar.bz2
545 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/tst*
546
547 # IPRT Testcase / Tool - Source Code Massager.
548 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/scm
549
550 # Guest Only Tools
551 install -d $RPM_BUILD_ROOT/etc/{X11/xinit/xinitrc.d,xdg/autostart}
552 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxService
553 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxClient
554 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxControl
555 install -p -D src/VBox/Additions/x11/Installer/98vboxadd-xclient \
556         $RPM_BUILD_ROOT/etc/X11/xinit/xinitrc.d/98vboxadd-xclient.sh
557 cp -p src/VBox/Additions/x11/Installer/vboxclient.desktop \
558         $RPM_BUILD_ROOT/etc/xdg/autostart/vboxclient.desktop
559
560 # unknown - checkme
561 %if 1
562 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPInstall
563 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPLoggerCtl
564 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPUninstall
565 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/VBox.sh
566 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxshell.py
567 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/xpidl
568 %endif
569
570 # packaged by kernel part
571 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/mount.vboxsf
572 %endif
573
574 %if %{with kernel}
575 install -d $RPM_BUILD_ROOT{/etc/{rc.d/init.d,modprobe.d},%{_sbindir}}
576 install -p %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxdrv
577 install -p %{SOURCE4} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxguest
578 install -p %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxnetflt
579 install -p %{SOURCE6} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxsf
580 install -p %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxnetadp
581 %install_kernel_modules -m PLD-MODULE-BUILD/HostDrivers/vboxdrv/vboxdrv -d misc
582 %install_kernel_modules -m PLD-MODULE-BUILD/HostDrivers/vboxnetadp/vboxnetadp -d misc
583 %install_kernel_modules -m PLD-MODULE-BUILD/HostDrivers/vboxnetflt/vboxnetflt -d misc
584 %install_kernel_modules -m PLD-MODULE-BUILD/GuestDrivers/vboxguest/vboxguest -d misc
585 %install_kernel_modules -m PLD-MODULE-BUILD/GuestDrivers/vboxsf/vboxsf -d misc
586 %install_kernel_modules -m PLD-MODULE-BUILD/GuestDrivers/vboxvideo_drm/vboxvideo -d misc
587
588 install -p mount.vboxsf $RPM_BUILD_ROOT%{_sbindir}/mount.vboxsf
589
590 %endif
591
592 %clean
593 rm -rf $RPM_BUILD_ROOT
594
595 %pre
596 %groupadd -g 221 -r -f vbox
597
598 %post
599 cat << 'EOF'
600 You must install vboxdrv kernel module for this software to work:
601     kernel-misc-vboxdrv-%{version}-%{rel}@%{_kernel_ver_str}
602
603 Additionally you might want to install:
604     kernel-misc-vboxnetadp-%{version}-%{rel}@%{_kernel_ver_str}
605     kernel-misc-vboxnetflt-%{version}-%{rel}@%{_kernel_ver_str}
606
607 On Guest Linux system you might want to install:
608     kernel-misc-vboxguest-%{version}-%{rel}@%{_kernel_ver_str}
609     kernel-misc-vboxsf-%{version}-%{rel}@%{_kernel_ver_str}
610     kernel-misc-vboxvideo-%{version}-%{rel}@%{_kernel_ver_str}
611
612 EOF
613
614 %postun
615 if [ "$1" = "0" ]; then
616         %groupremove vbox
617 fi
618
619 %post   -n kernel%{_alt_kernel}-misc-vboxguest
620 %depmod %{_kernel_ver}
621 /sbin/chkconfig --add vboxguest
622 %service vboxguest restart "VirtualBox OSE Guest additions driver"
623
624 %postun -n kernel%{_alt_kernel}-misc-vboxguest
625 %depmod %{_kernel_ver}
626
627 %preun -n kernel%{_alt_kernel}-misc-vboxguest
628 if [ "$1" = "0" ]; then
629         %service vboxguest stop
630         /sbin/chkconfig --del vboxguest
631 fi
632
633 %post   -n kernel%{_alt_kernel}-misc-vboxdrv
634 %depmod %{_kernel_ver}
635 /sbin/chkconfig --add vboxdrv
636 %service vboxdrv restart "VirtualBox OSE Support Driver"
637
638 %postun -n kernel%{_alt_kernel}-misc-vboxdrv
639 %depmod %{_kernel_ver}
640
641 %preun -n kernel%{_alt_kernel}-misc-vboxdrv
642 if [ "$1" = "0" ]; then
643         %service vboxdrv stop
644         /sbin/chkconfig --del vboxdrv
645 fi
646
647 %post   -n kernel%{_alt_kernel}-misc-vboxnetadp
648 %depmod %{_kernel_ver}
649 /sbin/chkconfig --add vboxnetadp
650 %service vboxnetadp restart "VirtualBox OSE Network HostOnly driver"
651
652 %postun -n kernel%{_alt_kernel}-misc-vboxnetadp
653 %depmod %{_kernel_ver}
654
655 %preun -n kernel%{_alt_kernel}-misc-vboxnetadp
656 if [ "$1" = "0" ]; then
657         %service vboxnetadp stop
658         /sbin/chkconfig --del vboxnetadp
659 fi
660
661 %post   -n kernel%{_alt_kernel}-misc-vboxnetflt
662 %depmod %{_kernel_ver}
663 /sbin/chkconfig --add vboxnetflt
664 %service vboxnetflt restart "VirtualBox OSE Network Filter driver"
665
666 %postun -n kernel%{_alt_kernel}-misc-vboxnetflt
667 %depmod %{_kernel_ver}
668
669 %preun -n kernel%{_alt_kernel}-misc-vboxnetflt
670 if [ "$1" = "0" ]; then
671         %service vboxnetflt stop
672         /sbin/chkconfig --del vboxnetflt
673 fi
674
675 %post   -n kernel%{_alt_kernel}-misc-vboxsf
676 %depmod %{_kernel_ver}
677 /sbin/chkconfig --add vboxsf
678 %service vboxsf restart "VirtualBox OSE Host file system access (Shared Folders)"
679
680 %postun -n kernel%{_alt_kernel}-misc-vboxsf
681 %depmod %{_kernel_ver}
682
683 %preun -n kernel%{_alt_kernel}-misc-vboxsf
684 if [ "$1" = "0" ]; then
685         %service vboxsf stop
686         /sbin/chkconfig --del vboxsf
687 fi
688
689 %post   -n kernel%{_alt_kernel}-misc-vboxvideo
690 %depmod %{_kernel_ver}
691
692 %postun -n kernel%{_alt_kernel}-misc-vboxvideo
693 %depmod %{_kernel_ver}
694
695 %if %{with userspace}
696 %files
697 %defattr(644,root,root,755)
698 %dir %{_libdir}/VirtualBox
699 %dir %{_libdir}/VirtualBox/ExtensionPacks
700 %dir %{_libdir}/VirtualBox/additions
701 %dir %{_libdir}/VirtualBox/components
702 %dir %{_libdir}/VirtualBox/nls
703 %attr(755,root,root) %{_bindir}/VBoxBFE
704 %attr(755,root,root) %{_bindir}/VBoxHeadless
705 %attr(755,root,root) %{_bindir}/VBoxManage
706 %attr(755,root,root) %{_bindir}/VBoxSDL
707 %attr(755,root,root) %{_bindir}/VBoxSVC
708 %attr(755,root,root) %{_bindir}/VBoxTunctl
709 %attr(755,root,root) %{_bindir}/VBoxXPCOMIPCD
710 %attr(755,root,root) %{_bindir}/VirtualBox
711 %attr(755,root,root) %{_sbindir}/mount.vdi
712 %attr(755,root,root) %{_libdir}/VirtualBox/DBGCPlugInDiggers.so
713 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxAuth.so
714 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxAuthSimple.so
715 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxBFE
716 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxCreateUSBNode.sh
717 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxDbg.so
718 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxDD2.so
719 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxDD.so
720 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxDDU.so
721 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxExtPackHelperApp
722 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxGuestControlSvc.so
723 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxGuestPropSvc.so
724 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxHeadless
725 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxKeyboard.so
726 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxManage
727 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxNetAdpCtl
728 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxNetDHCP
729 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxOGLhostcrutil.so
730 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxOGLhosterrorspu.so
731 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxOGLrenderspu.so
732 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxPython*.so
733 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxREM.so
734 %ifarch %{ix86}
735 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxREM32.so
736 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxREM64.so
737 %endif
738 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxRT.so
739 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSDL
740 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSharedClipboard.so
741 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSharedCrOpenGL.so
742 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSharedFolders.so
743 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSVC
744 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSysInfo.sh
745 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxTestOGL
746 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxTunctl
747 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxVMM.so
748 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxXPCOMC.so
749 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxXPCOMIPCD
750 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxXPCOM.so
751 %attr(755,root,root) %{_libdir}/VirtualBox/VirtualBox
752 %attr(755,root,root) %{_libdir}/VirtualBox/VirtualBox-wrapper.sh
753 %{_libdir}/VirtualBox/VBoxDD2GC.gc
754 %{_libdir}/VirtualBox/VBoxDDGC.gc
755 %{_libdir}/VirtualBox/VMMGC.gc
756 %{_libdir}/VirtualBox/VBoxDD2R0.r0
757 %{_libdir}/VirtualBox/VBoxDDR0.r0
758 %{_libdir}/VirtualBox/VMMR0.r0
759 %{_libdir}/VirtualBox/EfiThunk
760 %{_libdir}/VirtualBox/VBoxEFI32.fd
761 %{_libdir}/VirtualBox/VBoxEFI64.fd
762 %{_libdir}/VirtualBox/components/VBoxXPCOMBase.xpt
763 %{_libdir}/VirtualBox/components/VirtualBox_XPCOM.xpt
764 %attr(755,root,root) %{_libdir}/VirtualBox/components/VBoxC.so
765 %attr(755,root,root) %{_libdir}/VirtualBox/components/VBoxSVCM.so
766 %attr(755,root,root) %{_libdir}/VirtualBox/components/VBoxXPCOMIPCC.so
767 %lang(ar) %{_libdir}/VirtualBox/nls/*_ar.qm
768 %lang(bg) %{_libdir}/VirtualBox/nls/*_bg.qm
769 %lang(ca) %{_libdir}/VirtualBox/nls/*_ca.qm
770 %lang(ca_VA) %{_libdir}/VirtualBox/nls/*_ca_VA.qm
771 %lang(cs) %{_libdir}/VirtualBox/nls/*_cs.qm
772 %lang(da) %{_libdir}/VirtualBox/nls/*_da.qm
773 %lang(de) %{_libdir}/VirtualBox/nls/*_de.qm
774 %lang(el) %{_libdir}/VirtualBox/nls/*_el.qm
775 %lang(en) %{_libdir}/VirtualBox/nls/*_en.qm
776 %lang(es) %{_libdir}/VirtualBox/nls/*_es.qm
777 %lang(eu) %{_libdir}/VirtualBox/nls/*_eu.qm
778 %lang(fi) %{_libdir}/VirtualBox/nls/*_fi.qm
779 %lang(fr) %{_libdir}/VirtualBox/nls/*_fr.qm
780 %lang(gl_ES) %{_libdir}/VirtualBox/nls/*_gl_ES.qm
781 %lang(hu) %{_libdir}/VirtualBox/nls/*_hu.qm
782 %lang(id) %{_libdir}/VirtualBox/nls/*_id.qm
783 %lang(it) %{_libdir}/VirtualBox/nls/*_it.qm
784 %lang(ja) %{_libdir}/VirtualBox/nls/*_ja.qm
785 %lang(km_KH) %{_libdir}/VirtualBox/nls/*_km_KH.qm
786 %lang(ko) %{_libdir}/VirtualBox/nls/*_ko.qm
787 %lang(lt) %{_libdir}/VirtualBox/nls/*_lt.qm
788 %lang(nl) %{_libdir}/VirtualBox/nls/*_nl.qm
789 %lang(pl) %{_libdir}/VirtualBox/nls/*_pl.qm
790 %lang(pt) %{_libdir}/VirtualBox/nls/*_pt.qm
791 %lang(pt_BR) %{_libdir}/VirtualBox/nls/*_pt_BR.qm
792 %lang(ro) %{_libdir}/VirtualBox/nls/*_ro.qm
793 %lang(ru) %{_libdir}/VirtualBox/nls/*_ru.qm
794 %lang(sk) %{_libdir}/VirtualBox/nls/*_sk.qm
795 %lang(sr) %{_libdir}/VirtualBox/nls/*_sr.qm
796 %lang(sv) %{_libdir}/VirtualBox/nls/*_sv.qm
797 %lang(tr) %{_libdir}/VirtualBox/nls/*_tr.qm
798 %lang(uk) %{_libdir}/VirtualBox/nls/*_uk.qm
799 %lang(zh_CN) %{_libdir}/VirtualBox/nls/*_zh_CN.qm
800 %lang(zh_TW) %{_libdir}/VirtualBox/nls/*_zh_TW.qm
801 %{_pixmapsdir}/virtualbox.png
802 %{_desktopdir}/*.desktop
803 %{_libdir}/VirtualBox/icons
804 %{_libdir}/VirtualBox/virtualbox.xml
805
806 %files additions
807 %defattr(644,root,root,755)
808 %{_libdir}/VirtualBox/additions/VBoxGuestAdditions.iso
809
810 %files guest
811 %defattr(644,root,root,755)
812 # NOTE: unfinished, should contain .desktop files for starting up mouse
813 # integration and other desktop services
814 # NOTE: the filelist is incomplete too
815 %attr(755,root,root) %{_bindir}/VBoxClient
816 %attr(755,root,root) %{_bindir}/VBoxControl
817 %attr(755,root,root) %{_bindir}/VBoxService
818 /etc/X11/xinit/xinitrc.d/98vboxadd-xclient.sh
819 /etc/xdg/autostart/vboxclient.desktop
820
821 %attr(755,root,root) %{_libdir}/VirtualBox/additions/autorun.sh
822 %attr(755,root,root) %{_libdir}/VirtualBox/additions/vboxadd
823 %attr(755,root,root) %{_libdir}/VirtualBox/additions/vboxadd-service
824 %attr(755,root,root) %{_libdir}/VirtualBox/additions/vboxadd-x11
825
826 %files -n pam-pam_vbox
827 %defattr(644,root,root,755)
828 %attr(755,root,root) /%{_lib}/security/pam_vbox.so
829
830 %if %{with doc}
831 %files doc
832 %defattr(644,root,root,755)
833 %doc %{outdir}/UserManual.pdf
834 %endif
835
836 %files udev
837 %defattr(644,root,root,755)
838 %config(noreplace) %verify(not md5 mtime size) /etc/udev/rules.d/virtualbox.rules
839
840 %files -n xorg-driver-input-vboxmouse
841 %defattr(644,root,root,755)
842 %attr(755,root,root) %{_libdir}/xorg/modules/input/vboxmouse_drv.so
843
844 %files -n xorg-driver-video-vboxvideo
845 %defattr(644,root,root,755)
846 %attr(755,root,root) %{_libdir}/xorg/modules/drivers/vboxvideo_drv.so
847 %attr(755,root,root) %{_libdir}/xorg/modules/dri/vboxvideo_dri.so
848 # vboxvideo_dri.so deps
849 %attr(755,root,root) %{_libdir}/VBoxOGLarrayspu.so
850 %attr(755,root,root) %{_libdir}/VBoxOGLcrutil.so
851 %attr(755,root,root) %{_libdir}/VBoxOGLerrorspu.so
852 %attr(755,root,root) %{_libdir}/VBoxOGLfeedbackspu.so
853 %attr(755,root,root) %{_libdir}/VBoxOGLpackspu.so
854 %attr(755,root,root) %{_libdir}/VBoxOGLpassthroughspu.so
855 %endif
856
857 %if %{with kernel}
858 %files -n kernel%{_alt_kernel}-misc-vboxguest
859 %defattr(644,root,root,755)
860 %attr(754,root,root) /etc/rc.d/init.d/vboxguest
861 /lib/modules/%{_kernel_ver}/misc/vboxguest.ko*
862
863 %files -n kernel%{_alt_kernel}-misc-vboxdrv
864 %defattr(644,root,root,755)
865 %attr(754,root,root) /etc/rc.d/init.d/vboxdrv
866 /lib/modules/%{_kernel_ver}/misc/vboxdrv.ko*
867
868 %files -n kernel%{_alt_kernel}-misc-vboxnetadp
869 %defattr(644,root,root,755)
870 %attr(754,root,root) /etc/rc.d/init.d/vboxnetadp
871 /lib/modules/%{_kernel_ver}/misc/vboxnetadp.ko*
872
873 %files -n kernel%{_alt_kernel}-misc-vboxnetflt
874 %defattr(644,root,root,755)
875 %attr(754,root,root) /etc/rc.d/init.d/vboxnetflt
876 /lib/modules/%{_kernel_ver}/misc/vboxnetflt.ko*
877
878 %files -n kernel%{_alt_kernel}-misc-vboxsf
879 %defattr(644,root,root,755)
880 %attr(754,root,root) /etc/rc.d/init.d/vboxsf
881 %attr(755,root,root) %{_sbindir}/mount.vboxsf
882 /lib/modules/%{_kernel_ver}/misc/vboxsf.ko*
883
884 %files -n kernel%{_alt_kernel}-misc-vboxvideo
885 %defattr(644,root,root,755)
886 /lib/modules/%{_kernel_ver}/misc/vboxvideo.ko*
887 %endif
This page took 0.135376 seconds and 3 git commands to generate.