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