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