]> git.pld-linux.org Git - packages/VirtualBox.git/blame - VirtualBox.spec
- force symbol into .rodata (as is on x86) to avoid confusing vbox makefile rules
[packages/VirtualBox.git] / VirtualBox.spec
CommitLineData
44a0c82d
ER
1# NOTE
2# - https://www.virtualbox.org/wiki/Linux%20build%20instructions
744bc35e
JR
3# TODO
4# - java bindings
74268e47 5# - Package SDK.
ffb38bb6 6# - Check License of VBoxGuestAdditions_*.iso, it's probably not GPL v2.
5f8b0a92 7# If so check if it is distributable.
21a1d8ab 8# - guest x11 additions: currently incomplete/untested
23790586 9# - enable VDE networking: --enable-vde
21a1d8ab 10# - initscripts for webservice
988a8f09 11# - fix desc for dkms packages (proper wording needed), kernel modules desc is mess as well
48363591 12#
13# Conditional build:
8da42f47 14%bcond_without doc # don't build the documentation
077e37dc 15%bcond_without debuginfo # disable debuginfo creation (to save space when compiling)
48363591 16%bcond_without dist_kernel # without distribution kernel
d1c4ec5b 17%bcond_without kernel # don't build kernel module
d1c4ec5b 18%bcond_without userspace # don't build userspace package
21a1d8ab 19%bcond_with webservice # webservice (SOAP) support
7223ee37 20%bcond_without lightdm # lightdm greeter
c38a3946 21%bcond_without dkms # build dkms package
bddee32c 22%bcond_without verbose
05f1b1f5 23
8833bce1 24%if %{without kernel}
25%undefine with_dist_kernel
163ddb28
JR
26%else
27%define _duplicate_files_terminate_build 0
28%endif
29
30# The goal here is to have main, userspace, package built once with
31# simple release number, and only rebuild kernel packages with kernel
32# version as part of release number, without the need to bump release
33# with every kernel change.
34%if 0%{?_pld_builder:1} && %{with kernel} && %{with userspace}
35%{error:kernel and userspace cannot be built at the same time on PLD builders}
36exit 1
8833bce1 37%endif
163ddb28 38
bd3faca3 39%if "%{_alt_kernel}" != "%{nil}"
163ddb28
JR
40%if 0%{?build_kernels:1}
41%{error:alt_kernel and build_kernels are mutually exclusive}
42exit 1
43%endif
bd3faca3 44%undefine with_userspace
163ddb28
JR
45%global _build_kernels %{alt_kernel}
46%else
47%global _build_kernels %{?build_kernels:,%{?build_kernels}}
bd3faca3 48%endif
163ddb28 49
05f9288a
ER
50%if %{without userspace}
51# nothing to be placed to debuginfo package
077e37dc
ER
52%undefine with_debuginfo
53%endif
54
55%if %{without debuginfo}
05f9288a
ER
56%define _enable_debug_packages 0
57%endif
bd3faca3 58
6ca4d491 59%define kbrs %(echo %{_build_kernels} | tr , '\\n' | while read n ; do echo %%undefine alt_kernel ; [ -z "$n" ] || echo %%define alt_kernel $n ; echo "BuildRequires:kernel%%{_alt_kernel}-module-build >= 3:2.6.20.2" ; done)
163ddb28
JR
60%define kpkg %(echo %{_build_kernels} | tr , '\\n' | while read n ; do echo %%undefine alt_kernel ; [ -z "$n" ] || echo %%define alt_kernel $n ; echo %%kernel_pkg ; done)
61%define bkpkg %(echo %{_build_kernels} | tr , '\\n' | while read n ; do echo %%undefine alt_kernel ; [ -z "$n" ] || echo %%define alt_kernel $n ; echo %%build_kernel_pkg ; done)
62%define ikpkg %(echo %{_build_kernels} | tr , '\\n' | while read n ; do echo %%undefine alt_kernel ; [ -z "$n" ] || echo %%define alt_kernel $n ; echo %%install_kernel_pkg ; done)
63
33f9d2ad 64%define rel 1
33aeed61 65%define pname VirtualBox
393ec35d
ER
66Summary: VirtualBox - x86 hardware virtualizer
67Summary(pl.UTF-8): VirtualBox - wirtualizator sprzętu x86
6ca4d491 68Name: %{pname}%{?_pld_builder:%{?with_kernel:-kernel}}%{_alt_kernel}
33f9d2ad 69Version: 4.3.14
6ca4d491 70Release: %{rel}%{?_pld_builder:%{?with_kernel:@%{_kernel_ver_str}}}
48363591 71License: GPL v2
72Group: Applications/Emulators
33aeed61 73Source0: http://download.virtualbox.org/virtualbox/%{version}/%{pname}-%{version}.tar.bz2
33f9d2ad 74# Source0-md5: 407099867bd9786e23619b5c11611e53
744bc35e 75Source1: http://download.virtualbox.org/virtualbox/%{version}/VBoxGuestAdditions_%{version}.iso
33f9d2ad 76# Source1-md5: c5be49b6d530ae53685e44b743bc987c
07e9b84d 77Source2: vboxservice.init
4365ecaf 78Source3: vboxservice.service
4365ecaf
JR
79Source5: mount.vdi
80Source6: udev.rules
81Source7: %{pname}-virtualbox-host-modules-load.conf
82Source8: %{pname}-virtualbox-guest-modules-load.conf
38d06cb9
ER
83Source9: vboxautostart.init
84Source10: autostart.cfg
33aeed61 85Patch0: %{pname}-configure-spaces.patch
db6f33e3
KK
86Patch1: %{pname}-VBoxSysInfo.patch
87Patch2: %{pname}-warning_workaround.patch
88Patch3: %{pname}-dri.patch
44a0c82d 89Patch4: wrapper.patch
db6f33e3 90Patch5: xserver-1.12.patch
44a0c82d 91Patch6: hardening-shared.patch
d3884acf 92Patch7: lightdm-greeter-glib-includes.patch
8d08b907 93Patch8: lightdm-greeter-g++-link.patch
621cd96c 94Patch9: pld-guest.patch
b980c81c
ER
95Patch10: 16-no-update.patch
96Patch11: 18-system-xorg.patch
11e7bb59 97Patch12: x8664-build.patch
48363591 98URL: http://www.virtualbox.org/
83ffcfa8 99%if %{with userspace}
ce9843cd
ER
100%ifarch %{x8664}
101BuildRequires: gcc-multilib
102BuildRequires: glibc-devel(i686)
103BuildRequires: libstdc++-multilib-devel
4fff279a 104BuildRequires: libstdc++-multilib-static
ce9843cd 105%endif
ce9843cd
ER
106%if "%{pld_release}" == "ac"
107BuildRequires: XFree86-devel
108%else
1abc0217 109BuildRequires: xorg-lib-libXcomposite-devel
ce9843cd
ER
110BuildRequires: xorg-lib-libXcursor-devel
111BuildRequires: xorg-lib-libXmu-devel
e649d11e 112BuildRequires: xorg-proto-glproto-devel
acf12a87 113BuildRequires: xorg-xserver-server-devel
ce9843cd 114%endif
00149140 115BuildRequires: OpenGL-GLU-devel
523e7409 116BuildRequires: OpenGL-devel
cef75615 117BuildRequires: QtGui-devel
2d17bb72 118BuildRequires: QtNetwork-devel
dd64a424 119BuildRequires: QtOpenGL-devel
c574efad 120BuildRequires: SDL-devel >= 1.2.7
9a1cb119 121BuildRequires: acpica
ba702945 122BuildRequires: alsa-lib-devel >= 1.0.6
e5aaadde 123BuildRequires: bash
48363591 124BuildRequires: bcc
125BuildRequires: bin86
07ef7f06 126BuildRequires: curl-devel
fc19d844 127BuildRequires: device-mapper-devel
8da42f47 128%{?with_doc:BuildRequires: docbook-dtd44-xml}
44a0c82d 129BuildRequires: fakeroot
df3c39bd 130%{?with_lightdm:BuildRequires: fltk-devel}
eba4b2aa 131BuildRequires: gcc >= 5:3.2.3
55f7d7d3 132%{?with_webservice:BuildRequires: gsoap-devel}
e9aa839a 133BuildRequires: issue
7733446a 134BuildRequires: kBuild >= 0.1.9998.2700
48363591 135BuildRequires: libIDL-devel
fa974331 136BuildRequires: libcap-static
acf12a87 137BuildRequires: libdrm-devel
ff01a704 138BuildRequires: libpng-devel >= 1.2.5
d22f0a53 139BuildRequires: libstdc++-devel >= 5:3.2.3
4fff279a 140BuildRequires: libstdc++-static >= 5:3.2.3
48363591 141BuildRequires: libuuid-devel
b75fd17a 142BuildRequires: libvncserver-devel >= 0.9.9
df3c39bd 143BuildRequires: libvpx-devel
ba702945 144BuildRequires: libxml2-devel >= 2.6.26
76ea5ecb 145BuildRequires: libxslt-devel >= 1.1.17
ba702945 146BuildRequires: libxslt-progs >= 1.1.17
7223ee37 147%{?with_lightdm:BuildRequires: lightdm-libs-qt-devel}
744bc35e 148BuildRequires: makeself
90de3b27 149BuildRequires: mkisofs
3613936b 150BuildRequires: pam-devel
acf12a87 151BuildRequires: pixman-devel
0bf43862 152BuildRequires: pkgconfig
ba702945 153BuildRequires: pulseaudio-devel >= 0.9.0
523e7409 154BuildRequires: python-devel
6055e733 155BuildRequires: python-modules
250583d4 156BuildRequires: qt4-build >= 4.2.0
2700662b 157BuildRequires: qt4-linguist
163ddb28 158BuildRequires: rpmbuild(macros) >= 1.678
1e840a77 159BuildRequires: sed >= 4.0
8da42f47 160%if %{with doc}
744bc35e
JR
161BuildRequires: texlive-fonts-bitstream
162BuildRequires: texlive-fonts-other
163BuildRequires: texlive-fonts-type1-bitstream
164BuildRequires: texlive-format-pdflatex
acf12a87 165BuildRequires: texlive-latex-ucs
660fb056 166BuildRequires: texlive-xetex
8da42f47 167%endif
0bf43862 168BuildRequires: which
e5aaadde 169BuildRequires: xalan-c-devel >= 1.10.0
e5aaadde 170BuildRequires: xerces-c-devel >= 2.6.0
fc19d844 171BuildRequires: yasm
e5aaadde 172BuildRequires: zlib-devel >= 1.2.1
23d9d34e 173%endif
6ca4d491 174%{?with_dist_kernel:%{expand:%kbrs}}
0afa64ad 175Requires(post,preun): /sbin/chkconfig
5f1cec1f
ER
176Requires(postun): /usr/sbin/groupdel
177Requires(pre): /usr/bin/getgid
178Requires(pre): /usr/sbin/groupadd
b75fd17a 179Requires: libvncserver >= 0.9.9
12db98a7 180Requires: udev-core
5f1cec1f 181Provides: group(vbox)
873b17cf 182Obsoletes: VirtualBox-udev < 4.2.10-5
eba4b2aa 183ExclusiveArch: %{ix86} %{x8664}
48363591 184BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
185
eba4b2aa 186%ifarch %{x8664}
f377eb62 187%define vbox_arch amd64
5088674d 188%else
f377eb62 189%define vbox_arch x86
5088674d 190%endif
f377eb62 191%define vbox_platform linux.%{vbox_arch}
27a1aef6 192%define outdir out/%{vbox_platform}/release/bin
8d08b907 193%define objdir out/%{vbox_platform}/release/obj
5088674d 194
48363591 195%description
393ec35d 196Oracle VirtualBox is a general-purpose full virtualizer for x86
48363591 197hardware. Targeted at server, desktop and embedded use, it is now the
198only professional-quality virtualization solution that is also Open
199Source Software.
200
393ec35d 201Some of the features of VirtualBox are:
48363591 202
393ec35d 203Modularity: VirtualBox has an extremely modular design with
48363591 204well-defined internal programming interfaces and a client/server
205design. This makes it easy to control it from several interfaces at
206once: for example, you can start a virtual machine in a typical
207virtual machine GUI and then control that machine from the command
393ec35d
ER
208line. VirtualBox also comes with a full Software Development Kit: even
209though it is Open Source Software, you don't have to hack the source
210to write a new interface for VirtualBox.
48363591 211
212Virtual machine descriptions in XML: the configuration settings of
213virtual machines are stored entirely in XML and are independent of the
214local machines. Virtual machine definitions can therefore easily be
215ported to other computers.
216
1067d08d
ER
217You should install this package in your Host OS.
218
fd8fc899 219%description -l pl.UTF-8
393ec35d
ER
220Oracle VirtualBox jest emulatorem sprzętu x86. Kierowany do zastosowań
221serwerowych, desktopowych oraz wbudowanych jest obecnie jedynym
222wysokiej jakości rozwiązaniem wirtualizacyjnym dostępnym również jako
223Otwarte Oprogramowanie.
48363591 224
fd8fc899 225Przykładowe cechy VirtualBoksa:
48363591 226
393ec35d 227Modularność: VirtualBox jest wysoce zmodularyzowanym produktem z
fd8fc899
JR
228dobrze zaprojektowanym wewnętrznym interfejsem programowym typu
229klient/serwer. Dzięki temu można łatwo kontrolować go za pomocą
230różnych interfejsów. Można na przykład uruchomić maszynę wirtualną z
231poziomu interfejsu graficznego, a później kontrolować ją z linii
393ec35d
ER
232poleceń. VirtualBox dostarcza również pełny pakiet deweloperski, co
233pozwala stworzyć dowolny inny interfejs zarządzania maszyną wirtualną.
48363591 234
fd8fc899
JR
235Opisy maszyn wirtualnych w XML-u: konfiguracje poszczególnych maszyn
236wirtualnych są w całości przechowywane w XML-u i są niezależne od
237lokalnej maszyny. Dzięki temu można szybko i łatwo przenieść
238konfigurację maszyny wirtualnej na inny komputer.
48363591 239
501bee39
ER
240%package gui
241Summary: Qt GUI part for VirtualBox
242Group: X11/Applications
243Requires: %{name} = %{version}-%{release}
244Requires: QtCore >= 4.7.0
245Requires: desktop-file-utils
246Requires: desktop-file-utils
247Requires: fontconfig
248Requires: fonts-Type1-urw
44a0c82d
ER
249Requires: gtk-update-icon-cache
250Requires: hicolor-icon-theme
501bee39
ER
251Requires: shared-mime-info
252Suggests: gxmessage
6f37454e 253Conflicts: %{name} < 4.3.8-3
501bee39
ER
254
255%description gui
256Qt GUI part for VirtualBox.
257
90de3b27
ER
258%package doc
259Summary: VirtualBox documentation
260Group: Documentation
261
262%description doc
263This package contains VirtualBox User Manual.
264
ffb38bb6
ER
265%package additions
266Summary: VirtualBox Guest Additions
267Group: Base
b9cc0b23 268Requires: %{name} = %{version}
44a0c82d
ER
269%if "%{_rpmversion}" >= "5"
270BuildArch: noarch
271%endif
ffb38bb6 272
00a4a7ca 273%description additions
ffb38bb6
ER
274VirtualBox Guest Additions.
275
276This package contains ISO9660 image with drivers for Guest OS.
277
1067d08d
ER
278You should install this package in your Host OS.
279
280%package guest
c0372ee9
ER
281Summary: VirtualBox Guest tools
282Group: Base
551622b8 283Provides: group(vboxsf)
4365ecaf 284Requires(post): systemd-units >= 38
551622b8
ER
285Requires(post,preun): /sbin/chkconfig
286Requires(postun): /usr/sbin/groupdel
287Requires(pre): /usr/bin/getgid
288Requires(pre): /usr/sbin/groupadd
ffb104d5 289Requires: rc-scripts
2e3636e9 290Requires: systemd-units >= 38
3d9b19d8
ER
291Suggests: kernel(vboxguest)
292Suggests: kernel(vboxsf)
bf131a21 293Suggests: pam-pam_vbox
c0372ee9
ER
294
295%description guest
296Tools that utilize kernel modules for supporting integration with the
297Host, including file sharing.
298
3d9b19d8
ER
299You should install this package in your Guest OS for base VirtualBox
300communication
c0372ee9
ER
301
302%package guest-x11
307e824c
ER
303Summary: VirtualBox Guest X11 Additions
304Group: X11/Applications
c0372ee9 305Requires: %{name}-guest = %{version}-%{release}
307e824c 306Requires: xorg-app-xrandr
1067d08d 307Requires: xorg-driver-video-vboxvideo = %{version}-%{release}
3d9b19d8 308Suggests: kernel(vboxvideo)
873b17cf 309Obsoletes: xorg-driver-input-vboxmouse < %{version}-%{release}
1067d08d 310
c0372ee9 311%description guest-x11
3d9b19d8
ER
312Tools for X11 session that utilize kernel modules for supporting
313integration with the Host, like tracking of mouse pointer movement and
314X.org X11 video and mouse drivers
1067d08d 315
c0372ee9 316You should install this package in your Guest OS for X11 session.
1067d08d 317
21a1d8ab
ER
318%package webservice
319Summary: VirtualBox Web Service
320Group: Applications/Emulators
321Requires: %{name} = %{version}-%{release}
322
323%description webservice
324This package contains VirtualBox web service API daemon. It allows to
325control virtual machines via web interface.
326
9e4dd6a9 327%package -n lightdm-greeter-vbox
8d08b907
ER
328Summary: VirtualBox greeter for lightdm
329Group: Themes
22380dc7
ER
330# NOTE: '#' in url is lost because rpm treats it as comment, even hacking with
331# macros doesn't help as rpmbuild takes final result to parse
8d08b907 332URL: http://www.virtualbox.org/manual/ch09.html#autologon_unix_lightdm
650ee651 333Requires: %{name} = %{version}-%{release}
4365ecaf 334Requires: kernel(vboxguest)
8d08b907 335Requires: lightdm >= 1.0.1
7d778590 336Requires: pam-pam_vbox = %{version}-%{release}
8d08b907
ER
337Provides: lightdm-greeter
338
9e4dd6a9 339%description -n lightdm-greeter-vbox
8d08b907
ER
340VirtualBox greeter for LightDM.
341
3613936b
JR
342%package -n pam-pam_vbox
343Summary: PAM module to perform automated guest logons
344Group: Base
345
346%description -n pam-pam_vbox
3ee6b9d9
ER
347PAM module (Pluggable Authentication Module) which can be used to
348perform automated guest logons.
3613936b 349
fbea1005 350%package -n xorg-driver-video-vboxvideo
393ec35d
ER
351Summary: X.org video driver for VirtualBox guest OS
352Summary(pl.UTF-8): Sterownik grafiki dla systemu gościa w VirtualBoksie
fbea1005 353Group: X11/Applications
20b8335d 354Requires: Mesa-dri-driver-swrast
fbea1005
ER
355Requires: xorg-xserver-libdri >= 1.7.4
356Requires: xorg-xserver-server >= 1.0.99.901
212e01df 357Requires: xorg-xserver-server(videodrv-abi) <= 16.0
fbea1005 358Requires: xorg-xserver-server(videodrv-abi) >= 2.0
7e84622a
ER
359Provides: OpenGL = 2.1
360Provides: OpenGL-GLX = 1.3
2e3636e9 361Provides: xorg-driver-video
7e84622a 362Provides: xorg-xserver-module(glx)
fbea1005
ER
363
364%description -n xorg-driver-video-vboxvideo
393ec35d 365X.org video driver for VirtualBox guest OS.
fbea1005
ER
366
367%description -n xorg-driver-video-vboxvideo -l pl.UTF-8
393ec35d 368Sterownik grafiki dla systemu gościa w VirtualBoksie.
fbea1005 369
988a8f09
ER
370%package -n dkms-vboxguest
371Summary: VirtualBox kernel modules source for Linux Guest
372Summary(pl.UTF-8): Moduły VirtualBoksa do jądra Linuksa dla systemu gościa
373License: GPL v2+
374Group: Base/Kernel
62c43b99 375Requires: dkms
988a8f09
ER
376%if "%{_rpmversion}" >= "5"
377BuildArch: noarch
378%endif
379
380%description -n dkms-vboxguest
381This package contains DKMS-ready VirtualBox Guest Additions for Linux
382Module, host file system access (Shared Folders) and DRM support for
383Linux guest system.
384
385%description -n dkms-vboxguest -l pl.UTF-8
386Ten pakiet zawiera moduł jądra Linuksa vboxguest dla VirtualBoksa -
387dodatki dla systemu gościa, dostęp do plików systemu głównego z
388poziomu systemu gościa i sterownik obsługi DRM.
389
390%package -n dkms-vboxhost
391Summary: VirtualBox Support Drivers source
392Summary(pl.UTF-8): Moduły jądra Linuksa dla VirtualBoksa
393License: GPL v2+
394Group: Base/Kernel
62c43b99 395Requires: dkms
988a8f09
ER
396%if "%{_rpmversion}" >= "5"
397BuildArch: noarch
398%endif
399
400%description -n dkms-vboxhost
401This package contains DKMS enabled sourcecode of VirtualBox Support
402Driver, Network Adapter Driver, Network Filter Driver and PCI card
403passthrough driver that works as host proxy between guest and PCI
404hardware.
405
406%description -n dkms-vboxhost -l pl.UTF-8
407Ten pakiet zawiera sterownik wsparcia dla systemu głównego, sterownik
408witrualnej karty sieciowej, sterownik filtrowania sieci dla systemu
409głównego oraz sterownik, ktory działa jako proxy między gościem i
410gospodarzem sprzętu PCI.
411
18adabff 412# KERNEL PACKAGES
b980c81c 413
18adabff 414# KEEP ALL REGULAR SUBPACKAGES BEFORE KERNEL PACKAGES.
b980c81c 415
163ddb28
JR
416%define kernel_pkg()\
417%package -n kernel%{_alt_kernel}-virtualbox-guest\
418Summary: VirtualBox kernel modules for Linux Guest\
419Summary(pl.UTF-8): Moduły VirtualBoksa do jądra Linuksa dla systemu gościa\
420Release: %{rel}@%{_kernel_ver_str}\
421Group: Base/Kernel\
422Requires(post,postun): /sbin/depmod\
423Requires(post): systemd-units >= 38\
424Requires: dev >= 2.9.0-7\
425Requires: systemd-units >= 38\
426%if %{with dist_kernel}\
427%requires_releq_kernel\
eb3ec0e6 428Requires: %{releq_kernel -n drm}\
163ddb28
JR
429Requires(postun): %releq_kernel\
430%endif\
163ddb28
JR
431Provides: kernel(vboxguest) = %{version}-%{rel}\
432Provides: kernel(vboxsf) = %{version}-%{rel}\
433Provides: kernel(vboxvideo) = %{version}-%{rel}\
434Obsoletes: kernel-init-guest\
435Conflicts: kernel%{_alt_kernel}-virtualbox-host\
436\
437%description -n kernel%{_alt_kernel}-virtualbox-guest\
438This package contains VirtualBox Guest Additions for Linux Module,\
439host file system access (Shared Folders) and DRM support for\
440Linux guest system.\
441\
442%description -n kernel%{_alt_kernel}-virtualbox-guest -l pl.UTF-8\
443Ten pakiet zawiera moduł jądra Linuksa vboxguest dla VirtualBoksa -\
444dodatki dla systemu gościa, dostęp do plików systemu głównego z\
445poziomu systemu gościa i sterownik obsługi DRM.\
446\
447%package -n kernel%{_alt_kernel}-virtualbox-host\
448Summary: VirtualBox Support Drivers\
449Summary(pl.UTF-8): Moduły jądra Linuksa dla VirtualBoksa\
450Release: %{rel}@%{_kernel_ver_str}\
451Group: Base/Kernel\
452Requires(post,postun): /sbin/depmod\
453Requires(post): systemd-units >= 38\
454Requires: dev >= 2.9.0-7\
455%if %{with dist_kernel}\
456%requires_releq_kernel\
457Requires(postun): %releq_kernel\
458%endif\
459Requires: systemd-units >= 38\
163ddb28
JR
460Provides: kernel(vboxdrv) = %{version}-%{rel}\
461Provides: kernel(vboxnetadp) = %{version}-%{rel}\
462Provides: kernel(vboxnetflt) = %{version}-%{rel}\
463Provides: kernel(vboxpci) = %{version}-%{rel}\
464Obsoletes: kernel-init-host\
465\
466%description -n kernel%{_alt_kernel}-virtualbox-host\
467This package contains VirtualBox Support Driver, Network Adapter\
468Driver, Network Filter Driver and PCI card passthrough driver that\
469works as host proxy between guest and PCI hardware.\
470\
471%description -n kernel%{_alt_kernel}-virtualbox-host -l pl.UTF-8\
472Ten pakiet zawiera sterownik wsparcia dla systemu głównego, sterownik\
473witrualnej karty sieciowej, sterownik filtrowania sieci dla systemu\
474głównego oraz sterownik, ktory działa jako proxy między gościem i\
475gospodarzem sprzętu PCI.\
476\
477%if %{with kernel}\
478%files -n kernel%{_alt_kernel}-virtualbox-guest\
479%defattr(644,root,root,755)\
480%config(noreplace) %verify(not md5 mtime size) /etc/modules-load.d/virtualbox-guest.conf\
481/lib/modules/%{_kernel_ver}/misc/vboxguest.ko*\
482/lib/modules/%{_kernel_ver}/misc/vboxsf.ko*\
483/lib/modules/%{_kernel_ver}/misc/vboxvideo.ko*\
484\
485%files -n kernel%{_alt_kernel}-virtualbox-host\
486%config(noreplace) %verify(not md5 mtime size) /etc/modules-load.d/virtualbox-host.conf\
487/lib/modules/%{_kernel_ver}/misc/vboxdrv.ko*\
488/lib/modules/%{_kernel_ver}/misc/vboxnetadp.ko*\
489/lib/modules/%{_kernel_ver}/misc/vboxnetflt.ko*\
490/lib/modules/%{_kernel_ver}/misc/vboxpci.ko*\
491%endif\
492\
493%post -n kernel%{_alt_kernel}-virtualbox-guest\
494%depmod %{_kernel_ver}\
495\
496%postun -n kernel%{_alt_kernel}-virtualbox-guest\
497%depmod %{_kernel_ver}\
498\
499%post -n kernel%{_alt_kernel}-virtualbox-host\
500%depmod %{_kernel_ver}\
501\
502%postun -n kernel%{_alt_kernel}-virtualbox-host\
503%depmod %{_kernel_ver}\
504%{nil}
505
506%define build_kernel_pkg()\
507export KERN_DIR=%{_kernelsrcdir}\
508cd PLD-MODULE-BUILD/HostDrivers\
509%build_kernel_modules -m vboxdrv -C vboxdrv\
510%build_kernel_modules -m vboxnetadp -C vboxnetadp\
511%build_kernel_modules -m vboxnetflt -C vboxnetflt\
512%build_kernel_modules -m vboxpci -C vboxpci\
513cd ../GuestDrivers\
514%build_kernel_modules -m vboxguest -C vboxguest\
515cp -a vboxguest/Module.symvers vboxsf\
516%build_kernel_modules -m vboxsf -C vboxsf -c\
517%build_kernel_modules -m vboxvideo -C vboxvideo\
518cd ../..\
519%install_kernel_modules -D PLD-MODULE-BUILD/installed -m PLD-MODULE-BUILD/HostDrivers/vboxdrv/vboxdrv -d misc\
520%install_kernel_modules -D PLD-MODULE-BUILD/installed -m PLD-MODULE-BUILD/HostDrivers/vboxnetadp/vboxnetadp -d misc\
521%install_kernel_modules -D PLD-MODULE-BUILD/installed -m PLD-MODULE-BUILD/HostDrivers/vboxnetflt/vboxnetflt -d misc\
522%install_kernel_modules -D PLD-MODULE-BUILD/installed -m PLD-MODULE-BUILD/HostDrivers/vboxpci/vboxpci -d misc\
523%install_kernel_modules -D PLD-MODULE-BUILD/installed -m PLD-MODULE-BUILD/GuestDrivers/vboxguest/vboxguest -d misc\
524%install_kernel_modules -D PLD-MODULE-BUILD/installed -m PLD-MODULE-BUILD/GuestDrivers/vboxsf/vboxsf -d misc\
525%install_kernel_modules -D PLD-MODULE-BUILD/installed -m PLD-MODULE-BUILD/GuestDrivers/vboxvideo/vboxvideo -d misc\
526%{nil}
527
528%{?with_kernel:%{expand:%kpkg}}
67a4f3c1 529
48363591 530%prep
33aeed61 531%setup -q -n %{pname}-%{version}
e709ce6b 532%patch0 -p1
db6f33e3 533%patch1 -p1
006342ee 534%patch2 -p1
8473a80d 535%patch3 -p1
44a0c82d 536%patch4 -p1
9a7b1cdc 537%patch5 -p1
44a0c82d 538%patch6 -p1
d3884acf 539%patch7 -p1
8d08b907 540%patch8 -p1
621cd96c 541%patch9 -p1
077e37dc
ER
542%patch10 -p1
543%patch11 -p1
11e7bb59 544%patch12 -p1
fddcb741 545
744bc35e
JR
546%{__sed} -i -e 's,@VBOX_DOC_PATH@,%{_docdir}/%{name}-%{version},' \
547 -e 's/Categories=.*/Categories=Utility;Emulator;/' src/VBox/Installer/common/virtualbox.desktop.in
0b6de2b7 548
f471b832
ER
549# Respect LDFLAGS
550%{__sed} -i -e "s@_LDFLAGS\.%{vbox_arch}*.*=@& %{rpmldflags}@g" \
551 -i Config.kmk src/libs/xpcom18a4/Config.kmk
552
44a0c82d 553%{__sed} -i -e 's#@INSTALL_DIR@#%{_libdir}/%{pname}#' src/VBox/Installer/linux/VBox.sh
fa19f650 554
bc1ca596 555%if %{with kernel}
1794e74d
ER
556install -d PLD-MODULE-BUILD/{GuestDrivers,HostDrivers}
557cd PLD-MODULE-BUILD
558../src/VBox/Additions/linux/export_modules guest-modules.tar.gz
559tar -zxf guest-modules.tar.gz -C GuestDrivers
560
cadbdf55 561../src/VBox/HostDrivers/linux/export_modules host-modules.tar.gz --without-hardening
1794e74d
ER
562tar -zxf host-modules.tar.gz -C HostDrivers
563cd -
077e37dc 564%endif
59d12745 565
e9ed9ec1
ER
566# using system kBuild package
567%{__rm} -r kBuild
568
621cd96c
ER
569# use linux icon for now
570cp -p src/VBox/Frontends/VirtualBox/images/os_{linux26,pld}.png
571cp -p src/VBox/Frontends/VirtualBox/images/os_{linux26,pld}_64.png
572
316a5697
ER
573cat <<'EOF'>> LocalConfig.kmk
574%{?with_verbose:KBUILD_VERBOSE=3}
575USERNAME=%(id -un)
576__VBOX_BUILD_PUBLISHER=_PLD
577VBOX_VERSION_STRING=$(VBOX_VERSION_MAJOR).$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD)_PLD
578XSERVER_VERSION=%(rpm -q --queryformat '%{V}\n' xorg-xserver-server-devel | awk -F. '{ print $1 $2 }' 2>/dev/null || echo ERROR)
579VBOX_USE_SYSTEM_XORG_HEADERS=1
580%if %{with lightdm}
581VBOX_WITH_LIGHTDM_GREETER=1
582VBOX_WITH_LIGHTDM_GREETER_PACKING=1
583%endif
584TOOL_GCC3_CFLAGS=%{rpmcflags}
585TOOL_GCC3_CXXFLAGS=%{rpmcxxflags}
586VBOX_GCC_OPT=%{rpmcxxflags}
44a0c82d
ER
587
588VBOX_PATH_APP_PRIVATE_ARCH := %{_libdir}/%{pname}
589VBOX_PATH_APP_PRIVATE := %{_datadir}/%{pname}
590VBOX_PATH_SHARED_LIBS := $(VBOX_PATH_APP_PRIVATE_ARCH)
591VBOX_WITH_ORIGIN :=
592VBOX_WITH_RUNPATH := $(VBOX_PATH_APP_PRIVATE_ARCH)
593#VBOX_PATH_APP_DOCS := %{_docdir}/%{pname}-doc-%{version}
594
595# don't build testcases to save time, they are not needed for the package
596VBOX_WITH_TESTCASES :=
597VBOX_WITH_TESTSUITE :=
316a5697
ER
598EOF
599
fddcb741 600%build
83ffcfa8 601%if %{with userspace}
106d8451 602./configure \
ae1bbc88 603 --with-gcc="%{__cc}" \
604 --with-g++="%{__cxx}" \
8da42f47 605 %{!?with_doc:--disable-docs} \
744bc35e 606 --disable-java \
5a497466 607 --disable-hardening \
01e414ba 608 --disable-kmods \
55f7d7d3
ER
609 --enable-vnc \
610 %{__enable webservice} \
611 %{nil}
48363591 612
316a5697 613kmk %{?_smp_mflags}
74268e47 614
744bc35e 615%{__cc} %{rpmcflags} %{rpmldflags} -Wall -Werror src/VBox/Additions/linux/sharedfolders/{mount.vboxsf.c,vbsfmount.c} -o mount.vboxsf
d1c4ec5b 616%endif
48363591 617
51ef4838
JR
618%{?with_kernel:%{expand:%bkpkg}}
619
48363591 620%install
621rm -rf $RPM_BUILD_ROOT
622
d1c4ec5b 623%if %{with userspace}
c11f39b3 624install -d $RPM_BUILD_ROOT{%{_bindir},/sbin,%{_sbindir},%{_libdir}/%{pname}/ExtensionPacks} \
501bee39 625 $RPM_BUILD_ROOT{%{_pixmapsdir},%{_desktopdir},%{_datadir}/mime/packages} \
2daf9ea4 626 $RPM_BUILD_ROOT%{_sysconfdir}/vbox/autostart \
12db98a7 627 $RPM_BUILD_ROOT%{_libdir}/xorg/modules/{drivers,dri,input} \
4365ecaf 628 $RPM_BUILD_ROOT{/lib/udev,/etc/udev/rules.d} \
44a0c82d 629 $RPM_BUILD_ROOT{/etc/rc.d/init.d,%{systemdunitdir},%{_usrsrc}}
a70507fb 630
dca6c443 631# test if we can hardlink -- %{_builddir} and $RPM_BUILD_ROOT on same partition
632ec0b7 632if cp -al COPYING $RPM_BUILD_ROOT/COPYING; then
dca6c443 633 l=l
44a0c82d 634 %{__rm} $RPM_BUILD_ROOT/COPYING
dca6c443
ER
635fi
636
33aeed61 637cp -a$l %{outdir}/* $RPM_BUILD_ROOT%{_libdir}/%{pname}
6110bfb9 638cp -a$l %{SOURCE1} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/VBoxGuestAdditions.iso
48363591 639
44a0c82d 640# vboxvideo
ffd7f18a 641%{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/VBoxOGL.so,%{_libdir}/xorg/modules/dri/vboxvideo_dri.so}
44a0c82d 642%{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/vboxvideo_drv_system.so,%{_libdir}/xorg/modules/drivers/vboxvideo_drv.so}
27a1aef6 643# XXX: where else to install them that vboxvideo_dri.so finds them? patch with rpath?
ffd7f18a
JR
644%{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLarrayspu.so
645%{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLcrutil.so
646%{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLerrorspu.so
647%{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLfeedbackspu.so
648%{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLpackspu.so
649%{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLpassthroughspu.so
d1c4ec5b 650
1067d08d 651# Guest Only Tools
ffd7f18a
JR
652%{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxClient
653%{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxControl
44a0c82d 654%{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxService
4e3859c5 655install -d $RPM_BUILD_ROOT/etc/xdg/autostart
90de3b27
ER
656cp -p src/VBox/Additions/x11/Installer/vboxclient.desktop \
657 $RPM_BUILD_ROOT/etc/xdg/autostart/vboxclient.desktop
4e3859c5 658install -p src/VBox/Additions/x11/Installer/98vboxadd-xclient $RPM_BUILD_ROOT%{_bindir}/VBoxClient-all
44a0c82d
ER
659install -p %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxservice
660install -p %{SOURCE3} $RPM_BUILD_ROOT%{systemdunitdir}/vboxservice.service
1067d08d 661
38d06cb9
ER
662install -p %{SOURCE9} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxautostart
663%{__sed} -i -e 's#@INSTALL_DIR@#%{_libdir}/%{pname}#' $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxautostart
664cp -p %{SOURCE10} $RPM_BUILD_ROOT%{_sysconfdir}/vbox
665
8d08b907
ER
666%if %{with lightdm}
667install -d $RPM_BUILD_ROOT%{_datadir}/xgreeters
29c4b6b6 668%{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_sbindir}}/vbox-greeter
8d08b907
ER
669cp -p %{objdir}/Additions/Installer/linux/share/VBoxGuestAdditions/vbox-greeter.desktop $RPM_BUILD_ROOT%{_datadir}/xgreeters
670%endif
671
bc1ca596
ER
672%if %{with dkms}
673mv $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/src $RPM_BUILD_ROOT%{_usrsrc}/vboxguest-%{version}-%{rel}
674%endif
675
44a0c82d
ER
676# pam
677install -d $RPM_BUILD_ROOT/%{_lib}/security
678%{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,/%{_lib}/security}/pam_vbox.so
679
680# mount.vboxsf
681%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/mount.vboxsf
682install -p mount.vboxsf $RPM_BUILD_ROOT/sbin/mount.vboxsf
683
684# mount.vdi
685install -p %{SOURCE5} $RPM_BUILD_ROOT/sbin/mount.vdi
686
687# these belong to .iso
688%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/autorun.sh
689%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/runasroot.sh
690
ce061de6 691# scripts to setup modules, x11 and service. we have covered that in our packages
44a0c82d
ER
692%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/vboxadd
693%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/vboxadd-service
694%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/vboxadd-x11
ce061de6
ER
695
696# unknown - checkme
697%if 1
44a0c82d 698%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/helpers/generate_service_file
ffd7f18a
JR
699%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPInstall
700%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPLoggerCtl
701%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPUninstall
ffd7f18a
JR
702%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/load.sh
703%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/loadall.sh
ffd7f18a 704%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/scripts/VBoxHeadlessXOrg.sh
ffd7f18a
JR
705%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/scripts/init_template.sh
706%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/scripts/install_service
44a0c82d
ER
707%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxshell.py
708%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/xpidl
1067d08d 709%endif
dca6c443 710
44a0c82d
ER
711# use upstream installer to relocate rest of the files, fakeroot because it forces uid/gid 0
712fakeroot sh -x $RPM_BUILD_ROOT%{_libdir}/%{pname}/scripts/install.sh \
713 --ose \
714 --prefix %{_prefix} \
715 %{!?with_webservice:--no-web-service} \
716 --root $RPM_BUILD_ROOT
e56dcfeb 717
44a0c82d
ER
718%{__mv} $RPM_BUILD_ROOT{%{_datadir}/%{pname},/lib/udev}/VBoxCreateUSBNode.sh
719cp -p %{SOURCE6} $RPM_BUILD_ROOT/etc/udev/rules.d/virtualbox.rules
720
bc1ca596
ER
721%if %{with dkms}
722mv $RPM_BUILD_ROOT%{_datadir}/%{pname}/src $RPM_BUILD_ROOT%{_usrsrc}/vboxhost-%{version}-%{rel}
723%{__rm} $RPM_BUILD_ROOT%{_usrsrc}/vboxhost-%{version}_PLD
724%endif
725
44a0c82d
ER
726# cleanup lowercased variants, not used in any script (less cruft)
727%{__rm} -r $RPM_BUILD_ROOT%{_bindir}/vboxautostart
728%{__rm} -r $RPM_BUILD_ROOT%{_bindir}/vboxballoonctrl
729%{__rm} -r $RPM_BUILD_ROOT%{_bindir}/vboxheadless
730%{__rm} -r $RPM_BUILD_ROOT%{_bindir}/vboxmanage
731%{__rm} -r $RPM_BUILD_ROOT%{_bindir}/vboxsdl
732%{__rm} -r $RPM_BUILD_ROOT%{_bindir}/virtualbox
733
734# cleanup unpackaged
735%{__rm} -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/{sdk,testcase}
736%{__rm} -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/dtrace
44a0c82d
ER
737%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxkeyboard.tar.bz2
738%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/tst*
739%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/scripts/generated.sh
740%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/ExtensionPacks/VNC/ExtPack-license.*
44a0c82d
ER
741%{__rm} -r $RPM_BUILD_ROOT%{py_sitescriptdir}/vboxapi*
742
743# weird icon size
744%{__rm} -r $RPM_BUILD_ROOT%{_iconsdir}/hicolor/40x40
745# duplicate, we already have virtualbox.png (128x128), this is 32x32
746%{__rm} -r $RPM_BUILD_ROOT%{_pixmapsdir}/VBox.png
747
748%if %{with doc}
749ln -sf %{_docdir}/%{pname}-doc-%{version}/UserManual.pdf $RPM_BUILD_ROOT%{_libdir}/%{pname}/UserManual.pdf
750ln -sf %{_docdir}/%{pname}-doc-%{version}/UserManual_fr_FR.pdf $RPM_BUILD_ROOT%{_libdir}/%{pname}/UserManual_fr_FR.pdf
751%endif
c38a3946 752%endif
988a8f09 753
da083e45 754%if %{with kernel}
4365ecaf 755install -d $RPM_BUILD_ROOT{/etc/modules-load.d,/sbin}
163ddb28
JR
756
757cp -a PLD-MODULE-BUILD/installed/* $RPM_BUILD_ROOT
fa974331 758
35ccdfcc 759# Tell systemd to load modules
4365ecaf
JR
760cp -p %{SOURCE7} $RPM_BUILD_ROOT/etc/modules-load.d/virtualbox-host.conf
761cp -p %{SOURCE8} $RPM_BUILD_ROOT/etc/modules-load.d/virtualbox-guest.conf
d1c4ec5b 762%endif
05f1b1f5 763
48363591 764%clean
765rm -rf $RPM_BUILD_ROOT
766
3b63d3e8 767%pre
768%groupadd -g 221 -r -f vbox
769
14561782 770%post
38d06cb9
ER
771/sbin/chkconfig --add vboxautostart
772%service -n vboxautostart restart
773
12db98a7
JR
774for i in /sys/bus/usb/devices/*; do
775 if [ -r "$i/dev" ]; then
776 dev="`cat "$i/dev" 2>/dev/null || true`"
777 major="`expr "$dev" : '\(.*\):' 2> /dev/null || true`"
778 minor="`expr "$dev" : '.*:\(.*\)' 2> /dev/null || true`"
779 class="`cat $i/bDeviceClass 2> /dev/null || true`"
780 /lib/udev/VBoxCreateUSBNode.sh "$major" "$minor" "$class" vbox 2>/dev/null
781 fi
782done
1403ac49 783
d8ed80f4 784cat << 'EOF'
4365ecaf 785You must install vboxdrv kernel modules for this software to work:
163ddb28 786 kernel*-virtualbox-host-%{version}-%{rel}@*
05f12a30 787
fa974331 788On Guest Linux system you might want to install:
163ddb28 789 kernel*-virtualbox-guest-%{version}-%{rel}@*
7841ddfd 790
d8ed80f4 791EOF
792
38d06cb9
ER
793%preun
794if [ "$1" = "0" ]; then
795 /sbin/chkconfig --del vboxautostart
796 %service vboxautostart -q stop
797fi
798
799
3b63d3e8 800%postun
801if [ "$1" = "0" ]; then
802 %groupremove vbox
803fi
804
501bee39
ER
805%post gui
806%update_desktop_database
44a0c82d 807%update_icon_cache hicolor
501bee39
ER
808%update_mime_database
809
810%postun gui
811%update_desktop_database
44a0c82d 812%update_icon_cache hicolor
501bee39
ER
813%update_mime_database
814
551622b8
ER
815%pre guest
816# Add a group "vboxsf" for Shared Folders access
817# All users which want to access the auto-mounted Shared Folders have to be added to this group.
818%groupadd -g 266 -r -f vboxsf
819
07e9b84d 820%post guest
31e46441
ER
821/sbin/chkconfig --add vboxservice
822%service vboxservice restart
4365ecaf 823%systemd_post vboxservice.service
07e9b84d 824
b93128e2 825%preun guest
07e9b84d 826if [ "$1" = "0" ]; then
31e46441
ER
827 /sbin/chkconfig --del vboxservice
828 %service vboxservice -q stop
07e9b84d 829fi
4365ecaf 830%systemd_preun vboxservice.service
07e9b84d 831
4365ecaf 832%postun guest
551622b8
ER
833if [ "$1" = "0" ]; then
834 %groupremove vboxsf
835fi
4365ecaf 836%systemd_reload
ece7f2f1 837
4365ecaf
JR
838%triggerpostun guest -- VirtualBox-guest < 4.3.0-1
839%systemd_trigger vboxservice.service
ece7f2f1 840
4365ecaf
JR
841%pre -n lightdm-greeter-vbox
842%addusertogroup xdm vbox
74268e47 843
988a8f09
ER
844%post -n dkms-vboxguest
845set -x
846dkms add -m vboxguest -v %{version}-%{rel} --rpm_safe_upgrade && \
847dkms build -m vboxguest -v %{version}-%{rel} --rpm_safe_upgrade && \
848dkms install -m vboxguest -v %{version}-%{rel} --rpm_safe_upgrade || :
849
850%preun -n dkms-vboxguest
851set -x
852dkms remove -m vboxguest -v %{version}-%{rel} --rpm_safe_upgrade --all || :
853
854%post -n dkms-vboxhost
855set -x
856dkms add -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade && \
857dkms build -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade && \
858dkms install -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade || :
859
860%preun -n dkms-vboxhost
861set -x
862dkms remove -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade --all || :
863
d1c4ec5b 864%if %{with userspace}
48363591 865%files
866%defattr(644,root,root,755)
2daf9ea4
ER
867%dir %attr(751,root,root) %{_sysconfdir}/vbox
868%dir %attr(770,root,vbox) %{_sysconfdir}/vbox/autostart
38d06cb9
ER
869%attr(640,root,vbox) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vbox/autostart.cfg
870%attr(754,root,root) /etc/rc.d/init.d/vboxautostart
44a0c82d 871%attr(755,root,root) /sbin/mount.vdi
753cf356
ER
872%attr(755,root,root) %{_bindir}/VBox
873%attr(755,root,root) %{_bindir}/VBoxAutostart
874%attr(755,root,root) %{_bindir}/VBoxBalloonCtrl
85b005e2 875%attr(755,root,root) %{_bindir}/VBoxHeadless
876%attr(755,root,root) %{_bindir}/VBoxManage
877%attr(755,root,root) %{_bindir}/VBoxSDL
85b005e2 878%attr(755,root,root) %{_bindir}/VBoxTunctl
44a0c82d 879%dir %{_libdir}/%{pname}
753cf356 880# libraries
23790586
ER
881%attr(755,root,root) %{_libdir}/%{pname}/DBGCPlugInDiggers.so
882%attr(755,root,root) %{_libdir}/%{pname}/VBoxAuth.so
883%attr(755,root,root) %{_libdir}/%{pname}/VBoxAuthSimple.so
23790586 884%attr(755,root,root) %{_libdir}/%{pname}/VBoxDD.so
753cf356 885%attr(755,root,root) %{_libdir}/%{pname}/VBoxDD2.so
23790586
ER
886%attr(755,root,root) %{_libdir}/%{pname}/VBoxDDU.so
887%attr(755,root,root) %{_libdir}/%{pname}/VBoxDragAndDropSvc.so
23790586
ER
888%attr(755,root,root) %{_libdir}/%{pname}/VBoxGuestControlSvc.so
889%attr(755,root,root) %{_libdir}/%{pname}/VBoxGuestPropSvc.so
23790586
ER
890%attr(755,root,root) %{_libdir}/%{pname}/VBoxHostChannel.so
891%attr(755,root,root) %{_libdir}/%{pname}/VBoxKeyboard.so
23790586
ER
892%attr(755,root,root) %{_libdir}/%{pname}/VBoxOGLhostcrutil.so
893%attr(755,root,root) %{_libdir}/%{pname}/VBoxOGLhosterrorspu.so
894%attr(755,root,root) %{_libdir}/%{pname}/VBoxOGLrenderspu.so
895%attr(755,root,root) %{_libdir}/%{pname}/VBoxPython*.so
896%attr(755,root,root) %{_libdir}/%{pname}/VBoxREM.so
753cf356
ER
897%attr(755,root,root) %{_libdir}/%{pname}/VBoxRT.so
898%attr(755,root,root) %{_libdir}/%{pname}/VBoxSharedClipboard.so
899%attr(755,root,root) %{_libdir}/%{pname}/VBoxSharedCrOpenGL.so
900%attr(755,root,root) %{_libdir}/%{pname}/VBoxSharedFolders.so
901%attr(755,root,root) %{_libdir}/%{pname}/VBoxVMM.so
902%attr(755,root,root) %{_libdir}/%{pname}/VBoxXPCOM.so
903%attr(755,root,root) %{_libdir}/%{pname}/VBoxXPCOMC.so
f701b529 904%ifarch %{ix86}
23790586
ER
905%attr(755,root,root) %{_libdir}/%{pname}/VBoxREM32.so
906%attr(755,root,root) %{_libdir}/%{pname}/VBoxREM64.so
f701b529 907%endif
753cf356
ER
908
909# binaries
910%attr(755,root,root) %{_libdir}/%{pname}/VBoxAutostart
911%attr(755,root,root) %{_libdir}/%{pname}/VBoxBalloonCtrl
912%attr(755,root,root) %{_libdir}/%{pname}/VBoxExtPackHelperApp
913%attr(755,root,root) %{_libdir}/%{pname}/VBoxHeadless
914%attr(755,root,root) %{_libdir}/%{pname}/VBoxManage
915%attr(755,root,root) %{_libdir}/%{pname}/VBoxNetAdpCtl
916%attr(755,root,root) %{_libdir}/%{pname}/VBoxNetDHCP
917%attr(755,root,root) %{_libdir}/%{pname}/VBoxNetNAT
23790586 918%attr(755,root,root) %{_libdir}/%{pname}/VBoxSDL
23790586 919%attr(755,root,root) %{_libdir}/%{pname}/VBoxSVC
23790586 920%attr(755,root,root) %{_libdir}/%{pname}/VBoxVMMPreload
753cf356 921%attr(755,root,root) %{_libdir}/%{pname}/VBoxVolInfo
23790586 922%attr(755,root,root) %{_libdir}/%{pname}/VBoxXPCOMIPCD
753cf356
ER
923%attr(755,root,root) %{_libdir}/%{pname}/iPxeBaseBin
924%if %{with doc}
925%attr(755,root,root) %{_libdir}/%{pname}/VBoxManageHelp
926%endif
44a0c82d
ER
927
928%dir %{_libdir}/%{pname}/ExtensionPacks
929%{_libdir}/%{pname}/ExtensionPacks/VNC/ExtPack.xml
930%dir %{_libdir}/%{pname}/ExtensionPacks/VNC
931%dir %{_libdir}/%{pname}/ExtensionPacks/VNC/linux*
23790586 932%attr(755,root,root) %{_libdir}/%{pname}/ExtensionPacks/VNC/linux*/VBoxVNC*.so
44a0c82d 933
7733446a 934%{_libdir}/%{pname}/VBoxDD2GC.debug
23790586 935%{_libdir}/%{pname}/VBoxDD2GC.gc
7733446a 936%{_libdir}/%{pname}/VBoxDD2R0.debug
23790586 937%{_libdir}/%{pname}/VBoxDD2R0.r0
7733446a
JR
938%{_libdir}/%{pname}/VBoxDDGC.debug
939%{_libdir}/%{pname}/VBoxDDGC.gc
940%{_libdir}/%{pname}/VBoxDDR0.debug
23790586 941%{_libdir}/%{pname}/VBoxDDR0.r0
23790586
ER
942%{_libdir}/%{pname}/VBoxEFI32.fd
943%{_libdir}/%{pname}/VBoxEFI64.fd
7733446a
JR
944%{_libdir}/%{pname}/VMMGC.debug
945%{_libdir}/%{pname}/VMMGC.gc
946%{_libdir}/%{pname}/VMMR0.debug
947%{_libdir}/%{pname}/VMMR0.r0
44a0c82d
ER
948
949%dir %{_libdir}/%{pname}/components
501bee39 950%{_libdir}/%{pname}/components/VBoxXPCOMBase.xpt
23790586
ER
951%{_libdir}/%{pname}/components/VirtualBox_XPCOM.xpt
952%attr(755,root,root) %{_libdir}/%{pname}/components/VBoxC.so
953%attr(755,root,root) %{_libdir}/%{pname}/components/VBoxSVCM.so
954%attr(755,root,root) %{_libdir}/%{pname}/components/VBoxXPCOMIPCC.so
501bee39 955
44a0c82d
ER
956%dir %{_datadir}/%{pname}
957%attr(755,root,root) %{_datadir}/%{pname}/VBoxSysInfo.sh
958
501bee39
ER
959%config(noreplace) %verify(not md5 mtime size) /etc/udev/rules.d/virtualbox.rules
960%attr(755,root,root) /lib/udev/VBoxCreateUSBNode.sh
961
962%files gui
963%defattr(644,root,root,755)
964%attr(755,root,root) %{_bindir}/VirtualBox
501bee39
ER
965%attr(755,root,root) %{_libdir}/%{pname}/VBoxDbg.so
966%attr(755,root,root) %{_libdir}/%{pname}/VBoxTestOGL
753cf356 967%attr(755,root,root) %{_libdir}/%{pname}/VirtualBox
44a0c82d
ER
968%dir %{_datadir}/%{pname}/nls
969%lang(bg) %{_datadir}/%{pname}/nls/*_bg.qm
970%lang(ca) %{_datadir}/%{pname}/nls/*_ca.qm
971%lang(ca_VA) %{_datadir}/%{pname}/nls/*_ca_VA.qm
972%lang(cs) %{_datadir}/%{pname}/nls/*_cs.qm
973%lang(da) %{_datadir}/%{pname}/nls/*_da.qm
974%lang(de) %{_datadir}/%{pname}/nls/*_de.qm
975%lang(en) %{_datadir}/%{pname}/nls/*_en.qm
976%lang(es) %{_datadir}/%{pname}/nls/*_es.qm
977%lang(eu) %{_datadir}/%{pname}/nls/*_eu.qm
978%lang(fi) %{_datadir}/%{pname}/nls/*_fa_IR.qm
979%lang(fi) %{_datadir}/%{pname}/nls/*_fi.qm
980%lang(fr) %{_datadir}/%{pname}/nls/*_fr.qm
981%lang(gl_ES) %{_datadir}/%{pname}/nls/*_gl_ES.qm
982%lang(hu) %{_datadir}/%{pname}/nls/*_hu.qm
983%lang(id) %{_datadir}/%{pname}/nls/*_id.qm
984%lang(it) %{_datadir}/%{pname}/nls/*_it.qm
985%lang(ja) %{_datadir}/%{pname}/nls/*_ja.qm
986%lang(km_KH) %{_datadir}/%{pname}/nls/*_km_KH.qm
987%lang(ko) %{_datadir}/%{pname}/nls/*_ko.qm
988%lang(lt) %{_datadir}/%{pname}/nls/*_lt.qm
989%lang(nl) %{_datadir}/%{pname}/nls/*_nl.qm
990%lang(pl) %{_datadir}/%{pname}/nls/*_pl.qm
991%lang(pt) %{_datadir}/%{pname}/nls/*_pt.qm
992%lang(pt_BR) %{_datadir}/%{pname}/nls/*_pt_BR.qm
993%lang(ro) %{_datadir}/%{pname}/nls/*_ro.qm
994%lang(ru) %{_datadir}/%{pname}/nls/*_ru.qm
995%lang(sk) %{_datadir}/%{pname}/nls/*_sk.qm
996%lang(sr) %{_datadir}/%{pname}/nls/*_sr.qm
997%lang(sv) %{_datadir}/%{pname}/nls/*_sv.qm
998%lang(tr) %{_datadir}/%{pname}/nls/*_tr.qm
999%lang(uk) %{_datadir}/%{pname}/nls/*_uk.qm
1000%lang(zh_CN) %{_datadir}/%{pname}/nls/*_zh_CN.qm
1001%lang(zh_TW) %{_datadir}/%{pname}/nls/*_zh_TW.qm
501bee39 1002%{_desktopdir}/virtualbox.desktop
44a0c82d
ER
1003%{_pixmapsdir}/virtualbox.png
1004%{_iconsdir}/hicolor/*/apps/virtualbox.png
1005%{_iconsdir}/hicolor/*/apps/virtualbox.svg
1006%{_iconsdir}/hicolor/*/mimetypes/virtualbox-*.png
501bee39 1007%{_datadir}/mime/packages/virtualbox.xml
12db98a7 1008
ffb38bb6 1009%files additions
9dda6415 1010%defattr(644,root,root,755)
44a0c82d 1011%{_datadir}/%{pname}/VBoxGuestAdditions.iso
ffb38bb6 1012
1067d08d
ER
1013%files guest
1014%defattr(644,root,root,755)
c11f39b3 1015%attr(755,root,root) /sbin/mount.vboxsf
07e9b84d 1016%attr(754,root,root) /etc/rc.d/init.d/vboxservice
4365ecaf 1017%{systemdunitdir}/vboxservice.service
c0372ee9
ER
1018%attr(755,root,root) %{_bindir}/VBoxControl
1019%attr(755,root,root) %{_bindir}/VBoxService
1020
1021%files guest-x11
3d9b19d8 1022%defattr(644,root,root,755)
90de3b27 1023/etc/xdg/autostart/vboxclient.desktop
4e3859c5
ER
1024%attr(755,root,root) %{_bindir}/VBoxClient
1025%attr(755,root,root) %{_bindir}/VBoxClient-all
1067d08d 1026
21a1d8ab
ER
1027%if %{with webservice}
1028%files webservice
1029%defattr(644,root,root,755)
44a0c82d 1030%attr(755,root,root) %{_bindir}/vboxwebsrv
21a1d8ab
ER
1031%attr(755,root,root) %{_libdir}/%{pname}/vboxwebsrv
1032%attr(755,root,root) %{_libdir}/%{pname}/webtest
1033%endif
1034
8d08b907 1035%if %{with lightdm}
9e4dd6a9 1036%files -n lightdm-greeter-vbox
8d08b907
ER
1037%defattr(644,root,root,755)
1038%attr(755,root,root) %{_sbindir}/vbox-greeter
1039%{_datadir}/xgreeters/vbox-greeter.desktop
1040%endif
1041
3613936b
JR
1042%files -n pam-pam_vbox
1043%defattr(644,root,root,755)
3ee6b9d9 1044%attr(755,root,root) /%{_lib}/security/pam_vbox.so
3613936b 1045
90de3b27
ER
1046%if %{with doc}
1047%files doc
1048%defattr(644,root,root,755)
f0a66b84
JR
1049# this is a symlink...
1050%doc %{_libdir}/%{pname}/UserManual.pdf
6ee3b66d 1051%lang(fr) %doc %{_libdir}/%{pname}/UserManual_fr_FR.pdf
f0a66b84 1052# ..to this file
90de3b27 1053%doc %{outdir}/UserManual.pdf
d43f5558 1054%lang(fr) %doc %{outdir}/UserManual_fr_FR.pdf
90de3b27
ER
1055%endif
1056
09c79ddb 1057%files -n xorg-driver-video-vboxvideo
1058%defattr(644,root,root,755)
1059%attr(755,root,root) %{_libdir}/xorg/modules/drivers/vboxvideo_drv.so
27a1aef6
ER
1060%attr(755,root,root) %{_libdir}/xorg/modules/dri/vboxvideo_dri.so
1061# vboxvideo_dri.so deps
1067d08d 1062%attr(755,root,root) %{_libdir}/VBoxOGLarrayspu.so
27a1aef6
ER
1063%attr(755,root,root) %{_libdir}/VBoxOGLcrutil.so
1064%attr(755,root,root) %{_libdir}/VBoxOGLerrorspu.so
1065%attr(755,root,root) %{_libdir}/VBoxOGLfeedbackspu.so
1066%attr(755,root,root) %{_libdir}/VBoxOGLpackspu.so
1067%attr(755,root,root) %{_libdir}/VBoxOGLpassthroughspu.so
988a8f09
ER
1068
1069%if %{with dkms}
1070%files -n dkms-vboxguest
1071%defattr(644,root,root,755)
1072%{_usrsrc}/vboxguest-%{version}-%{rel}
1073
1074%files -n dkms-vboxhost
1075%defattr(644,root,root,755)
1076%{_usrsrc}/vboxhost-%{version}-%{rel}
1077%endif
c38a3946 1078%endif
This page took 0.403437 seconds and 4 git commands to generate.