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