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