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