]> git.pld-linux.org Git - packages/VirtualBox.git/blame - VirtualBox.spec
- up to 5.1.16
[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:
8c008609 14%bcond_with all_langs # build with all manual translations
8da42f47 15%bcond_without doc # don't build the documentation
077e37dc 16%bcond_without debuginfo # disable debuginfo creation (to save space when compiling)
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
d7e93912 23%bcond_without gui # disable Qt4 GUI frontend build
05f1b1f5 24
163ddb28
JR
25%if 0%{?_pld_builder:1} && %{with kernel} && %{with userspace}
26%{error:kernel and userspace cannot be built at the same time on PLD builders}
27exit 1
8833bce1 28%endif
163ddb28 29
8608f39a
JR
30%if %{with kernel}
31%define _duplicate_files_terminate_build 0
32%endif
33
05f9288a
ER
34%if %{without userspace}
35# nothing to be placed to debuginfo package
077e37dc
ER
36%undefine with_debuginfo
37%endif
38
39%if %{without debuginfo}
05f9288a
ER
40%define _enable_debug_packages 0
41%endif
bd3faca3 42
d19b622b 43%define qtver 5.3.2
22b6f11e 44
3065d4c6 45%define rel 1
33aeed61 46%define pname VirtualBox
393ec35d
ER
47Summary: VirtualBox - x86 hardware virtualizer
48Summary(pl.UTF-8): VirtualBox - wirtualizator sprzętu x86
6ca4d491 49Name: %{pname}%{?_pld_builder:%{?with_kernel:-kernel}}%{_alt_kernel}
3065d4c6 50Version: 5.1.16
6ca4d491 51Release: %{rel}%{?_pld_builder:%{?with_kernel:@%{_kernel_ver_str}}}
48363591 52License: GPL v2
53Group: Applications/Emulators
33aeed61 54Source0: http://download.virtualbox.org/virtualbox/%{version}/%{pname}-%{version}.tar.bz2
3065d4c6 55# Source0-md5: 37ebbd51370841eed8ab80f2f38446d6
744bc35e 56Source1: http://download.virtualbox.org/virtualbox/%{version}/VBoxGuestAdditions_%{version}.iso
3065d4c6 57# Source1-md5: 967b230bd9fdedf7c9d05f9e23b3c8e6
07e9b84d 58Source2: vboxservice.init
4365ecaf 59Source3: vboxservice.service
122ca0f2 60Source4: vboxservice.sysconfig
4365ecaf
JR
61Source5: mount.vdi
62Source6: udev.rules
63Source7: %{pname}-virtualbox-host-modules-load.conf
64Source8: %{pname}-virtualbox-guest-modules-load.conf
38d06cb9
ER
65Source9: vboxautostart.init
66Source10: autostart.cfg
8c008609 67Patch0: %{pname}-version-error.patch
db6f33e3
KK
68Patch1: %{pname}-VBoxSysInfo.patch
69Patch2: %{pname}-warning_workaround.patch
70Patch3: %{pname}-dri.patch
44a0c82d 71Patch4: wrapper.patch
db6f33e3 72Patch5: xserver-1.12.patch
44a0c82d 73Patch6: hardening-shared.patch
9970fc61 74Patch7: lightdm-greeter-makefile.patch
8d08b907 75Patch8: lightdm-greeter-g++-link.patch
621cd96c 76Patch9: pld-guest.patch
b980c81c
ER
77Patch10: 16-no-update.patch
78Patch11: 18-system-xorg.patch
29ed465a 79Patch12: %{pname}-all-translations.patch
d5e18103 80Patch13: x32.patch
8c008609 81Patch14: %{pname}-no-scrextend.patch
66afd212 82Patch15: %{pname}-multipython.patch
1792543c 83Patch16: %{pname}-lightdm-1.19.2.patch
40c21f4b 84Patch17: %{pname}-no-vboxvideo.patch
48363591 85URL: http://www.virtualbox.org/
83ffcfa8 86%if %{with userspace}
ce9843cd 87%ifarch %{x8664}
c0749bd0 88BuildRequires: gcc-multilib-32
ce9843cd 89BuildRequires: glibc-devel(i686)
c0749bd0
JR
90BuildRequires: libstdc++-multilib-32-devel
91BuildRequires: libstdc++-multilib-32-static
ce9843cd 92%endif
ce9843cd
ER
93%if "%{pld_release}" == "ac"
94BuildRequires: XFree86-devel
95%else
22b6f11e 96BuildRequires: xorg-lib-libX11-devel
1abc0217 97BuildRequires: xorg-lib-libXcomposite-devel
ce9843cd 98BuildRequires: xorg-lib-libXcursor-devel
22b6f11e
JP
99BuildRequires: xorg-lib-libXdamage-devel
100BuildRequires: xorg-lib-libXext-devel
101BuildRequires: xorg-lib-libXinerama-devel
ce9843cd 102BuildRequires: xorg-lib-libXmu-devel
22b6f11e 103BuildRequires: xorg-lib-libXrandr-devel
e649d11e 104BuildRequires: xorg-proto-glproto-devel
acf12a87 105BuildRequires: xorg-xserver-server-devel
ce9843cd 106%endif
00149140 107BuildRequires: OpenGL-GLU-devel
523e7409 108BuildRequires: OpenGL-devel
d19b622b
JP
109BuildRequires: Qt5Core-devel >= %{qtver}
110BuildRequires: Qt5DBus-devel >= %{qtver}
111BuildRequires: Qt5Gui-devel >= %{qtver}
112BuildRequires: Qt5Network-devel >= %{qtver}
113BuildRequires: Qt5OpenGL-devel >= %{qtver}
114BuildRequires: Qt5PrintSupport-devel >= %{qtver}
115BuildRequires: Qt5Widgets-devel >= %{qtver}
116BuildRequires: Qt5X11Extras-devel >= %{qtver}
117BuildRequires: Qt5Xml-devel >= %{qtver}
c574efad 118BuildRequires: SDL-devel >= 1.2.7
9a1cb119 119BuildRequires: acpica
ba702945 120BuildRequires: alsa-lib-devel >= 1.0.6
e5aaadde 121BuildRequires: bash
48363591 122BuildRequires: bcc
123BuildRequires: bin86
22b6f11e
JP
124BuildRequires: curl-devel >= 7.19.1
125BuildRequires: device-mapper-devel >= 1.02
8da42f47 126%{?with_doc:BuildRequires: docbook-dtd44-xml}
44a0c82d 127BuildRequires: fakeroot
df3c39bd 128%{?with_lightdm:BuildRequires: fltk-devel}
eba4b2aa 129BuildRequires: gcc >= 5:3.2.3
55f7d7d3 130%{?with_webservice:BuildRequires: gsoap-devel}
e9aa839a 131BuildRequires: issue
d19b622b 132BuildRequires: kBuild >= 0.1.9998.2814
48363591 133BuildRequires: libIDL-devel
fa974331 134BuildRequires: libcap-static
acf12a87 135BuildRequires: libdrm-devel
ff01a704 136BuildRequires: libpng-devel >= 1.2.5
d22f0a53 137BuildRequires: libstdc++-devel >= 5:3.2.3
4fff279a 138BuildRequires: libstdc++-static >= 5:3.2.3
48363591 139BuildRequires: libuuid-devel
b75fd17a 140BuildRequires: libvncserver-devel >= 0.9.9
22b6f11e 141BuildRequires: libvpx-devel >= 0.9.5
ba702945 142BuildRequires: libxml2-devel >= 2.6.26
76ea5ecb 143BuildRequires: libxslt-devel >= 1.1.17
ba702945 144BuildRequires: libxslt-progs >= 1.1.17
d19b622b 145%{?with_lightdm:BuildRequires: lightdm-libs-qt5-devel}
744bc35e 146BuildRequires: makeself
90de3b27 147BuildRequires: mkisofs
22b6f11e 148BuildRequires: openssl-devel >= 0.9.8
3613936b 149BuildRequires: pam-devel
acf12a87 150BuildRequires: pixman-devel
0bf43862 151BuildRequires: pkgconfig
ba702945 152BuildRequires: pulseaudio-devel >= 0.9.0
22b6f11e 153BuildRequires: python-devel >= 2.3
6055e733 154BuildRequires: python-modules
d19b622b
JP
155BuildRequires: qt5-build
156BuildRequires: qt5-linguist
f198c53b 157BuildRequires: rpmbuild(macros) >= 1.715
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
22b6f11e 170BuildRequires: yasm >= 0.5.1
e5aaadde 171BuildRequires: zlib-devel >= 1.2.1
23d9d34e 172%endif
a59a82ea 173%{?with_kernel:%{expand:%buildrequires_kernel kernel%%{_alt_kernel}-module-build >= 3:2.6.20.2}}
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
fdeecb8f 182ExclusiveArch: %{ix86} %{x8664} %{?with_kernel:x32}
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}
d19b622b 243Requires: Qt5Core >= %{qtver}
923cea18 244Requires: Qt5Gui-platform-xcb >= %{qtver}
501bee39
ER
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 251Requires: shared-mime-info
923cea18
JR
252Suggests: Qt5Gui-platform-xcb-glx >= %{qtver}
253Suggests: Qt5Gui-platform-xcb-egl >= %{qtver}
501bee39 254Suggests: gxmessage
6f37454e 255Conflicts: %{name} < 4.3.8-3
501bee39
ER
256
257%description gui
258Qt GUI part for VirtualBox.
259
90de3b27
ER
260%package doc
261Summary: VirtualBox documentation
262Group: Documentation
263
264%description doc
265This package contains VirtualBox User Manual.
266
ffb38bb6
ER
267%package additions
268Summary: VirtualBox Guest Additions
269Group: Base
b9cc0b23 270Requires: %{name} = %{version}
44a0c82d
ER
271%if "%{_rpmversion}" >= "5"
272BuildArch: noarch
273%endif
ffb38bb6 274
00a4a7ca 275%description additions
ffb38bb6
ER
276VirtualBox Guest Additions.
277
278This package contains ISO9660 image with drivers for Guest OS.
279
1067d08d
ER
280You should install this package in your Host OS.
281
282%package guest
c0372ee9
ER
283Summary: VirtualBox Guest tools
284Group: Base
551622b8 285Provides: group(vboxsf)
4365ecaf 286Requires(post): systemd-units >= 38
551622b8
ER
287Requires(post,preun): /sbin/chkconfig
288Requires(postun): /usr/sbin/groupdel
289Requires(pre): /usr/bin/getgid
290Requires(pre): /usr/sbin/groupadd
ffb104d5 291Requires: rc-scripts
2e3636e9 292Requires: systemd-units >= 38
3d9b19d8
ER
293Suggests: kernel(vboxguest)
294Suggests: kernel(vboxsf)
bf131a21 295Suggests: pam-pam_vbox
c0372ee9
ER
296
297%description guest
298Tools that utilize kernel modules for supporting integration with the
299Host, including file sharing.
300
3d9b19d8
ER
301You should install this package in your Guest OS for base VirtualBox
302communication
c0372ee9
ER
303
304%package guest-x11
307e824c
ER
305Summary: VirtualBox Guest X11 Additions
306Group: X11/Applications
c0372ee9 307Requires: %{name}-guest = %{version}-%{release}
307e824c 308Requires: xorg-app-xrandr
1067d08d 309Requires: xorg-driver-video-vboxvideo = %{version}-%{release}
bff0e4ba 310Requires: kernel(vboxvideo)
873b17cf 311Obsoletes: xorg-driver-input-vboxmouse < %{version}-%{release}
1067d08d 312
c0372ee9 313%description guest-x11
3d9b19d8
ER
314Tools for X11 session that utilize kernel modules for supporting
315integration with the Host, like tracking of mouse pointer movement and
316X.org X11 video and mouse drivers
1067d08d 317
c0372ee9 318You should install this package in your Guest OS for X11 session.
1067d08d 319
21a1d8ab
ER
320%package webservice
321Summary: VirtualBox Web Service
322Group: Applications/Emulators
323Requires: %{name} = %{version}-%{release}
324
325%description webservice
326This package contains VirtualBox web service API daemon. It allows to
327control virtual machines via web interface.
328
9e4dd6a9 329%package -n lightdm-greeter-vbox
8d08b907
ER
330Summary: VirtualBox greeter for lightdm
331Group: Themes
22380dc7
ER
332# NOTE: '#' in url is lost because rpm treats it as comment, even hacking with
333# macros doesn't help as rpmbuild takes final result to parse
8d08b907 334URL: http://www.virtualbox.org/manual/ch09.html#autologon_unix_lightdm
650ee651 335Requires: %{name} = %{version}-%{release}
4365ecaf 336Requires: kernel(vboxguest)
8d08b907 337Requires: lightdm >= 1.0.1
7d778590 338Requires: pam-pam_vbox = %{version}-%{release}
8d08b907
ER
339Provides: lightdm-greeter
340
9e4dd6a9 341%description -n lightdm-greeter-vbox
8d08b907
ER
342VirtualBox greeter for LightDM.
343
3613936b
JR
344%package -n pam-pam_vbox
345Summary: PAM module to perform automated guest logons
346Group: Base
347
348%description -n pam-pam_vbox
3ee6b9d9
ER
349PAM module (Pluggable Authentication Module) which can be used to
350perform automated guest logons.
3613936b 351
fbea1005 352%package -n xorg-driver-video-vboxvideo
393ec35d
ER
353Summary: X.org video driver for VirtualBox guest OS
354Summary(pl.UTF-8): Sterownik grafiki dla systemu gościa w VirtualBoksie
fbea1005 355Group: X11/Applications
20b8335d 356Requires: Mesa-dri-driver-swrast
0ad0a572 357Requires: xorg-driver-video-modesetting
fbea1005
ER
358Requires: xorg-xserver-libdri >= 1.7.4
359Requires: xorg-xserver-server >= 1.0.99.901
a4654d40 360%{?requires_xorg_xserver_videodrv}
7e84622a
ER
361Provides: OpenGL = 2.1
362Provides: OpenGL-GLX = 1.3
7e84622a 363Provides: xorg-xserver-module(glx)
fbea1005
ER
364
365%description -n xorg-driver-video-vboxvideo
393ec35d 366X.org video driver for VirtualBox guest OS.
fbea1005
ER
367
368%description -n xorg-driver-video-vboxvideo -l pl.UTF-8
393ec35d 369Sterownik grafiki dla systemu gościa w VirtualBoksie.
fbea1005 370
988a8f09
ER
371%package -n dkms-vboxguest
372Summary: VirtualBox kernel modules source for Linux Guest
373Summary(pl.UTF-8): Moduły VirtualBoksa do jądra Linuksa dla systemu gościa
374License: GPL v2+
375Group: Base/Kernel
62c43b99 376Requires: dkms
988a8f09
ER
377%if "%{_rpmversion}" >= "5"
378BuildArch: noarch
379%endif
380
381%description -n dkms-vboxguest
382This package contains DKMS-ready VirtualBox Guest Additions for Linux
383Module, host file system access (Shared Folders) and DRM support for
384Linux guest system.
385
386%description -n dkms-vboxguest -l pl.UTF-8
387Ten pakiet zawiera moduł jądra Linuksa vboxguest dla VirtualBoksa -
388dodatki dla systemu gościa, dostęp do plików systemu głównego z
389poziomu systemu gościa i sterownik obsługi DRM.
390
391%package -n dkms-vboxhost
392Summary: VirtualBox Support Drivers source
393Summary(pl.UTF-8): Moduły jądra Linuksa dla VirtualBoksa
394License: GPL v2+
395Group: Base/Kernel
62c43b99 396Requires: dkms
988a8f09
ER
397%if "%{_rpmversion}" >= "5"
398BuildArch: noarch
399%endif
400
401%description -n dkms-vboxhost
402This package contains DKMS enabled sourcecode of VirtualBox Support
403Driver, Network Adapter Driver, Network Filter Driver and PCI card
404passthrough driver that works as host proxy between guest and PCI
405hardware.
406
407%description -n dkms-vboxhost -l pl.UTF-8
408Ten pakiet zawiera sterownik wsparcia dla systemu głównego, sterownik
409witrualnej karty sieciowej, sterownik filtrowania sieci dla systemu
410głównego oraz sterownik, ktory działa jako proxy między gościem i
411gospodarzem sprzętu PCI.
412
18adabff 413# KERNEL PACKAGES
b980c81c 414
18adabff 415# KEEP ALL REGULAR SUBPACKAGES BEFORE KERNEL PACKAGES.
b980c81c 416
163ddb28
JR
417%define kernel_pkg()\
418%package -n kernel%{_alt_kernel}-virtualbox-guest\
419Summary: VirtualBox kernel modules for Linux Guest\
420Summary(pl.UTF-8): Moduły VirtualBoksa do jądra Linuksa dla systemu gościa\
421Release: %{rel}@%{_kernel_ver_str}\
422Group: Base/Kernel\
423Requires(post,postun): /sbin/depmod\
424Requires(post): systemd-units >= 38\
425Requires: dev >= 2.9.0-7\
426Requires: systemd-units >= 38\
163ddb28 427%requires_releq_kernel\
eb3ec0e6 428Requires: %{releq_kernel -n drm}\
163ddb28 429Requires(postun): %releq_kernel\
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\
163ddb28
JR
454%requires_releq_kernel\
455Requires(postun): %releq_kernel\
163ddb28 456Requires: systemd-units >= 38\
163ddb28
JR
457Provides: kernel(vboxdrv) = %{version}-%{rel}\
458Provides: kernel(vboxnetadp) = %{version}-%{rel}\
459Provides: kernel(vboxnetflt) = %{version}-%{rel}\
460Provides: kernel(vboxpci) = %{version}-%{rel}\
461Obsoletes: kernel-init-host\
462\
463%description -n kernel%{_alt_kernel}-virtualbox-host\
464This package contains VirtualBox Support Driver, Network Adapter\
465Driver, Network Filter Driver and PCI card passthrough driver that\
466works as host proxy between guest and PCI hardware.\
467\
468%description -n kernel%{_alt_kernel}-virtualbox-host -l pl.UTF-8\
469Ten pakiet zawiera sterownik wsparcia dla systemu głównego, sterownik\
470witrualnej karty sieciowej, sterownik filtrowania sieci dla systemu\
471głównego oraz sterownik, ktory działa jako proxy między gościem i\
472gospodarzem sprzętu PCI.\
473\
474%if %{with kernel}\
475%files -n kernel%{_alt_kernel}-virtualbox-guest\
476%defattr(644,root,root,755)\
477%config(noreplace) %verify(not md5 mtime size) /etc/modules-load.d/virtualbox-guest.conf\
478/lib/modules/%{_kernel_ver}/misc/vboxguest.ko*\
479/lib/modules/%{_kernel_ver}/misc/vboxsf.ko*\
480/lib/modules/%{_kernel_ver}/misc/vboxvideo.ko*\
481\
482%files -n kernel%{_alt_kernel}-virtualbox-host\
483%config(noreplace) %verify(not md5 mtime size) /etc/modules-load.d/virtualbox-host.conf\
484/lib/modules/%{_kernel_ver}/misc/vboxdrv.ko*\
485/lib/modules/%{_kernel_ver}/misc/vboxnetadp.ko*\
486/lib/modules/%{_kernel_ver}/misc/vboxnetflt.ko*\
487/lib/modules/%{_kernel_ver}/misc/vboxpci.ko*\
488%endif\
489\
490%post -n kernel%{_alt_kernel}-virtualbox-guest\
491%depmod %{_kernel_ver}\
492\
493%postun -n kernel%{_alt_kernel}-virtualbox-guest\
494%depmod %{_kernel_ver}\
495\
496%post -n kernel%{_alt_kernel}-virtualbox-host\
497%depmod %{_kernel_ver}\
498\
499%postun -n kernel%{_alt_kernel}-virtualbox-host\
500%depmod %{_kernel_ver}\
501%{nil}
502
503%define build_kernel_pkg()\
504export KERN_DIR=%{_kernelsrcdir}\
505cd PLD-MODULE-BUILD/HostDrivers\
506%build_kernel_modules -m vboxdrv -C vboxdrv\
507%build_kernel_modules -m vboxnetadp -C vboxnetadp\
508%build_kernel_modules -m vboxnetflt -C vboxnetflt\
509%build_kernel_modules -m vboxpci -C vboxpci\
510cd ../GuestDrivers\
511%build_kernel_modules -m vboxguest -C vboxguest\
512cp -a vboxguest/Module.symvers vboxsf\
513%build_kernel_modules -m vboxsf -C vboxsf -c\
514%build_kernel_modules -m vboxvideo -C vboxvideo\
515cd ../..\
07348303 516%install_kernel_modules -D PLD-MODULE-BUILD/installed -m PLD-MODULE-BUILD/HostDrivers/vboxdrv/vboxdrv,PLD-MODULE-BUILD/HostDrivers/vboxnetadp/vboxnetadp,PLD-MODULE-BUILD/HostDrivers/vboxnetflt/vboxnetflt,PLD-MODULE-BUILD/HostDrivers/vboxpci/vboxpci,PLD-MODULE-BUILD/GuestDrivers/vboxguest/vboxguest,PLD-MODULE-BUILD/GuestDrivers/vboxsf/vboxsf,PLD-MODULE-BUILD/GuestDrivers/vboxvideo/vboxvideo -d misc\
163ddb28
JR
517%{nil}
518
a59a82ea 519%{?with_kernel:%{expand:%create_kernel_packages}}
67a4f3c1 520
48363591 521%prep
33aeed61 522%setup -q -n %{pname}-%{version}
e709ce6b 523%patch0 -p1
db6f33e3 524%patch1 -p1
006342ee 525%patch2 -p1
8473a80d 526%patch3 -p1
44a0c82d 527%patch4 -p1
9a7b1cdc 528%patch5 -p1
44a0c82d 529%patch6 -p1
d3884acf 530%patch7 -p1
8d08b907 531%patch8 -p1
621cd96c 532%patch9 -p1
077e37dc
ER
533%patch10 -p1
534%patch11 -p1
8c008609 535%if %{with all_langs}
29ed465a 536%patch12 -p0
8c008609 537%endif
d5e18103 538%patch13 -p1
8c008609 539%patch14 -p1
66afd212 540%patch15 -p0
1792543c 541%patch16 -p0
40c21f4b 542%patch17 -p0
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
29ed465a
JP
571# don't force whole userspace to be built with -fPIC
572# see https://www.virtualbox.org/pipermail/vbox-dev/2015-February/012863.html
573%define filterout_c -fPIC
574%define filterout_cxx -fPIC
575
316a5697
ER
576cat <<'EOF'>> LocalConfig.kmk
577%{?with_verbose:KBUILD_VERBOSE=3}
578USERNAME=%(id -un)
a174188e 579VBOX_BUILD_PUBLISHER=_PLD
316a5697
ER
580VBOX_VERSION_STRING=$(VBOX_VERSION_MAJOR).$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD)_PLD
581XSERVER_VERSION=%(rpm -q --queryformat '%{V}\n' xorg-xserver-server-devel | awk -F. '{ print $1 $2 }' 2>/dev/null || echo ERROR)
582VBOX_USE_SYSTEM_XORG_HEADERS=1
583%if %{with lightdm}
584VBOX_WITH_LIGHTDM_GREETER=1
585VBOX_WITH_LIGHTDM_GREETER_PACKING=1
586%endif
587TOOL_GCC3_CFLAGS=%{rpmcflags}
588TOOL_GCC3_CXXFLAGS=%{rpmcxxflags}
589VBOX_GCC_OPT=%{rpmcxxflags}
44a0c82d
ER
590
591VBOX_PATH_APP_PRIVATE_ARCH := %{_libdir}/%{pname}
592VBOX_PATH_APP_PRIVATE := %{_datadir}/%{pname}
593VBOX_PATH_SHARED_LIBS := $(VBOX_PATH_APP_PRIVATE_ARCH)
594VBOX_WITH_ORIGIN :=
595VBOX_WITH_RUNPATH := $(VBOX_PATH_APP_PRIVATE_ARCH)
596#VBOX_PATH_APP_DOCS := %{_docdir}/%{pname}-doc-%{version}
8c008609 597VBOX_PATH_DOCBOOK_DTD := %{_datadir}/sgml/docbook/xml-dtd-4.4
44a0c82d
ER
598
599# don't build testcases to save time, they are not needed for the package
600VBOX_WITH_TESTCASES :=
601VBOX_WITH_TESTSUITE :=
640931aa
JP
602
603VBOX_WITH_VRDP_RDESKTOP=
077fc60d 604VBOX_WITH_MULTIVERSION_PYTHON=0
316a5697
ER
605EOF
606
29ed465a
JP
607%undefine filterout_c
608%undefine filterout_cxx
609
fddcb741 610%build
83ffcfa8 611%if %{with userspace}
106d8451 612./configure \
ae1bbc88 613 --with-gcc="%{__cc}" \
614 --with-g++="%{__cxx}" \
8da42f47 615 %{!?with_doc:--disable-docs} \
744bc35e 616 --disable-java \
5a497466 617 --disable-hardening \
01e414ba 618 --disable-kmods \
55f7d7d3 619 --enable-vnc \
d7e93912 620 %{!?with_gui:--disable-qt} \
55f7d7d3
ER
621 %{__enable webservice} \
622 %{nil}
48363591 623
147c698e 624. "$PWD/env.sh"
316a5697 625kmk %{?_smp_mflags}
d1c4ec5b 626%endif
48363591 627
a59a82ea 628%{?with_kernel:%{expand:%build_kernel_packages}}
51ef4838 629
48363591 630%install
631rm -rf $RPM_BUILD_ROOT
632
d1c4ec5b 633%if %{with userspace}
c11f39b3 634install -d $RPM_BUILD_ROOT{%{_bindir},/sbin,%{_sbindir},%{_libdir}/%{pname}/ExtensionPacks} \
501bee39 635 $RPM_BUILD_ROOT{%{_pixmapsdir},%{_desktopdir},%{_datadir}/mime/packages} \
eee69130 636 $RPM_BUILD_ROOT/etc/sysconfig \
2daf9ea4 637 $RPM_BUILD_ROOT%{_sysconfdir}/vbox/autostart \
12db98a7 638 $RPM_BUILD_ROOT%{_libdir}/xorg/modules/{drivers,dri,input} \
4365ecaf 639 $RPM_BUILD_ROOT{/lib/udev,/etc/udev/rules.d} \
44a0c82d 640 $RPM_BUILD_ROOT{/etc/rc.d/init.d,%{systemdunitdir},%{_usrsrc}}
a70507fb 641
dca6c443 642# test if we can hardlink -- %{_builddir} and $RPM_BUILD_ROOT on same partition
632ec0b7 643if cp -al COPYING $RPM_BUILD_ROOT/COPYING; then
dca6c443 644 l=l
44a0c82d 645 %{__rm} $RPM_BUILD_ROOT/COPYING
dca6c443
ER
646fi
647
244b344b
JP
648install -d $RPM_BUILD_ROOT%{_datadir}/%{pname}
649
33aeed61 650cp -a$l %{outdir}/* $RPM_BUILD_ROOT%{_libdir}/%{pname}
244b344b
JP
651cp -p$l %{SOURCE1} $RPM_BUILD_ROOT%{_datadir}/%{pname}/VBoxGuestAdditions.iso ||
652cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_datadir}/%{pname}/VBoxGuestAdditions.iso
48363591 653
d7e93912
ER
654%if %{without gui}
655%{__rm} -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/icons
656%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/virtualbox.xml
657%endif
658
44a0c82d 659# vboxvideo
ffd7f18a 660%{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/VBoxOGL.so,%{_libdir}/xorg/modules/dri/vboxvideo_dri.so}
27a1aef6 661# XXX: where else to install them that vboxvideo_dri.so finds them? patch with rpath?
349989a6 662%{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxEGL.so
ffd7f18a
JR
663%{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLarrayspu.so
664%{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLcrutil.so
665%{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLerrorspu.so
666%{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLfeedbackspu.so
667%{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLpackspu.so
668%{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLpassthroughspu.so
d1c4ec5b 669
1067d08d 670# Guest Only Tools
ffd7f18a
JR
671%{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxClient
672%{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxControl
44a0c82d 673%{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxService
4e3859c5 674install -d $RPM_BUILD_ROOT/etc/xdg/autostart
90de3b27
ER
675cp -p src/VBox/Additions/x11/Installer/vboxclient.desktop \
676 $RPM_BUILD_ROOT/etc/xdg/autostart/vboxclient.desktop
4e3859c5 677install -p src/VBox/Additions/x11/Installer/98vboxadd-xclient $RPM_BUILD_ROOT%{_bindir}/VBoxClient-all
44a0c82d 678install -p %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxservice
122ca0f2
ER
679cp -p %{SOURCE3} $RPM_BUILD_ROOT%{systemdunitdir}/vboxservice.service
680cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/vboxservice
1067d08d 681
38d06cb9
ER
682install -p %{SOURCE9} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxautostart
683%{__sed} -i -e 's#@INSTALL_DIR@#%{_libdir}/%{pname}#' $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxautostart
684cp -p %{SOURCE10} $RPM_BUILD_ROOT%{_sysconfdir}/vbox
685
8d08b907
ER
686%if %{with lightdm}
687install -d $RPM_BUILD_ROOT%{_datadir}/xgreeters
29c4b6b6 688%{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_sbindir}}/vbox-greeter
8d08b907
ER
689cp -p %{objdir}/Additions/Installer/linux/share/VBoxGuestAdditions/vbox-greeter.desktop $RPM_BUILD_ROOT%{_datadir}/xgreeters
690%endif
691
bc1ca596
ER
692%if %{with dkms}
693mv $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/src $RPM_BUILD_ROOT%{_usrsrc}/vboxguest-%{version}-%{rel}
694%endif
695
44a0c82d
ER
696# pam
697install -d $RPM_BUILD_ROOT/%{_lib}/security
698%{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,/%{_lib}/security}/pam_vbox.so
699
700# mount.vboxsf
fa478ef5 701%{__mv} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/mount.vboxsf $RPM_BUILD_ROOT/sbin/mount.vboxsf
44a0c82d
ER
702
703# mount.vdi
704install -p %{SOURCE5} $RPM_BUILD_ROOT/sbin/mount.vdi
705
706# these belong to .iso
707%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/autorun.sh
708%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/runasroot.sh
709
ce061de6 710# scripts to setup modules, x11 and service. we have covered that in our packages
44a0c82d
ER
711%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/vboxadd
712%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/vboxadd-service
713%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/vboxadd-x11
ce061de6
ER
714
715# unknown - checkme
716%if 1
ffd7f18a
JR
717%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPInstall
718%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPLoggerCtl
719%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPUninstall
ffd7f18a
JR
720%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/load.sh
721%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/loadall.sh
44a0c82d
ER
722%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxshell.py
723%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/xpidl
1067d08d 724%endif
dca6c443 725
d19b622b
JP
726# manual installation steps based on src/VBox/Installer/linux/install.sh
727ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/VirtualBox
728ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/VBoxManage
729ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/VBoxSDL
730ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/VBoxVRDP
731ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/VBoxHeadless
732ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/VBoxBalloonCtrl
733ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/VBoxAutostart
734ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/vboxwebsrv
735ln -sf %{_libdir}/%{pname}/vbox-img $RPM_BUILD_ROOT%{_bindir}/vbox-img
736ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/VBoxDTrace
d19b622b
JP
737cp -p $RPM_BUILD_ROOT%{_libdir}/%{pname}/icons/128x128/virtualbox.png $RPM_BUILD_ROOT%{_pixmapsdir}/virtualbox.png
738mv $RPM_BUILD_ROOT%{_libdir}/%{pname}/virtualbox.desktop $RPM_BUILD_ROOT%{_desktopdir}/virtualbox.desktop
739mv $RPM_BUILD_ROOT%{_libdir}/%{pname}/virtualbox.xml $RPM_BUILD_ROOT%{_datadir}/mime/packages/virtualbox.xml
740
c88c6ac8
JP
741mv $RPM_BUILD_ROOT%{_libdir}/%{pname}/nls $RPM_BUILD_ROOT%{_datadir}/%{pname}
742
d19b622b
JP
743(
744cd $RPM_BUILD_ROOT%{_libdir}/%{pname}/icons
745for i in *; do
746cd $i
747 for j in *; do
748 if expr "$j" : "virtualbox\..*" > /dev/null; then
749 dst=apps
750 else
751 dst=mimetypes
752 fi
753 if [ ! -e $RPM_BUILD_ROOT%{_iconsdir}/hicolor/$i/$dst ]; then
754 install -d $RPM_BUILD_ROOT%{_iconsdir}/hicolor/$i/$dst
755 fi
756 mv $RPM_BUILD_ROOT%{_libdir}/%{pname}/icons/$i/$j $RPM_BUILD_ROOT%{_iconsdir}/hicolor/$i/$dst/$j
757 done
758cd -
759done
760)
e56dcfeb 761
e6d149f0 762rm -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/icons
d19b622b
JP
763
764%{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname},/lib/udev}/VBoxCreateUSBNode.sh
aac4c380 765cp -p %{SOURCE6} $RPM_BUILD_ROOT/etc/udev/rules.d/60-vboxdrv.rules
44a0c82d 766
bc1ca596 767%if %{with dkms}
d19b622b 768mv $RPM_BUILD_ROOT%{_libdir}/%{pname}/src $RPM_BUILD_ROOT%{_usrsrc}/vboxhost-%{version}-%{rel}
bc1ca596
ER
769%endif
770
44a0c82d
ER
771# cleanup unpackaged
772%{__rm} -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/{sdk,testcase}
773%{__rm} -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/dtrace
44a0c82d
ER
774%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxkeyboard.tar.bz2
775%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/tst*
776%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/scripts/generated.sh
777%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/ExtensionPacks/VNC/ExtPack-license.*
44a0c82d 778
d7e93912 779%if %{with gui}
44a0c82d
ER
780# weird icon size
781%{__rm} -r $RPM_BUILD_ROOT%{_iconsdir}/hicolor/40x40
d7e93912
ER
782%endif
783
44a0c82d 784# duplicate, we already have virtualbox.png (128x128), this is 32x32
d19b622b 785%{__rm} -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/VBox.png
44a0c82d
ER
786
787%if %{with doc}
788ln -sf %{_docdir}/%{pname}-doc-%{version}/UserManual.pdf $RPM_BUILD_ROOT%{_libdir}/%{pname}/UserManual.pdf
8c008609 789%if %{with all_langs}
4f88ff56 790ln -sf %{_docdir}/%{pname}-doc-%{version}/UserManual_fr_FR.pdf $RPM_BUILD_ROOT%{_libdir}/%{pname}/UserManual_fr_FR.pdf
44a0c82d 791%endif
c38a3946 792%endif
8c008609 793%endif
988a8f09 794
da083e45 795%if %{with kernel}
4365ecaf 796install -d $RPM_BUILD_ROOT{/etc/modules-load.d,/sbin}
163ddb28
JR
797
798cp -a PLD-MODULE-BUILD/installed/* $RPM_BUILD_ROOT
fa974331 799
35ccdfcc 800# Tell systemd to load modules
4365ecaf
JR
801cp -p %{SOURCE7} $RPM_BUILD_ROOT/etc/modules-load.d/virtualbox-host.conf
802cp -p %{SOURCE8} $RPM_BUILD_ROOT/etc/modules-load.d/virtualbox-guest.conf
d1c4ec5b 803%endif
05f1b1f5 804
48363591 805%clean
806rm -rf $RPM_BUILD_ROOT
807
3b63d3e8 808%pre
809%groupadd -g 221 -r -f vbox
810
14561782 811%post
38d06cb9
ER
812/sbin/chkconfig --add vboxautostart
813%service -n vboxautostart restart
814
12db98a7
JR
815for i in /sys/bus/usb/devices/*; do
816 if [ -r "$i/dev" ]; then
817 dev="`cat "$i/dev" 2>/dev/null || true`"
818 major="`expr "$dev" : '\(.*\):' 2> /dev/null || true`"
819 minor="`expr "$dev" : '.*:\(.*\)' 2> /dev/null || true`"
820 class="`cat $i/bDeviceClass 2> /dev/null || true`"
821 /lib/udev/VBoxCreateUSBNode.sh "$major" "$minor" "$class" vbox 2>/dev/null
822 fi
823done
1403ac49 824
d8ed80f4 825cat << 'EOF'
4365ecaf 826You must install vboxdrv kernel modules for this software to work:
163ddb28 827 kernel*-virtualbox-host-%{version}-%{rel}@*
05f12a30 828
fa974331 829On Guest Linux system you might want to install:
163ddb28 830 kernel*-virtualbox-guest-%{version}-%{rel}@*
7841ddfd 831
d8ed80f4 832EOF
833
38d06cb9
ER
834%preun
835if [ "$1" = "0" ]; then
836 /sbin/chkconfig --del vboxautostart
837 %service vboxautostart -q stop
838fi
839
840
3b63d3e8 841%postun
842if [ "$1" = "0" ]; then
843 %groupremove vbox
844fi
845
501bee39
ER
846%post gui
847%update_desktop_database
44a0c82d 848%update_icon_cache hicolor
501bee39
ER
849%update_mime_database
850
851%postun gui
852%update_desktop_database
44a0c82d 853%update_icon_cache hicolor
501bee39
ER
854%update_mime_database
855
551622b8
ER
856%pre guest
857# Add a group "vboxsf" for Shared Folders access
858# All users which want to access the auto-mounted Shared Folders have to be added to this group.
859%groupadd -g 266 -r -f vboxsf
860
07e9b84d 861%post guest
31e46441
ER
862/sbin/chkconfig --add vboxservice
863%service vboxservice restart
4365ecaf 864%systemd_post vboxservice.service
07e9b84d 865
b93128e2 866%preun guest
07e9b84d 867if [ "$1" = "0" ]; then
31e46441
ER
868 /sbin/chkconfig --del vboxservice
869 %service vboxservice -q stop
07e9b84d 870fi
4365ecaf 871%systemd_preun vboxservice.service
07e9b84d 872
4365ecaf 873%postun guest
551622b8
ER
874if [ "$1" = "0" ]; then
875 %groupremove vboxsf
876fi
4365ecaf 877%systemd_reload
ece7f2f1 878
4365ecaf
JR
879%triggerpostun guest -- VirtualBox-guest < 4.3.0-1
880%systemd_trigger vboxservice.service
ece7f2f1 881
4365ecaf
JR
882%pre -n lightdm-greeter-vbox
883%addusertogroup xdm vbox
74268e47 884
988a8f09 885%post -n dkms-vboxguest
988a8f09
ER
886dkms add -m vboxguest -v %{version}-%{rel} --rpm_safe_upgrade && \
887dkms build -m vboxguest -v %{version}-%{rel} --rpm_safe_upgrade && \
888dkms install -m vboxguest -v %{version}-%{rel} --rpm_safe_upgrade || :
889
890%preun -n dkms-vboxguest
988a8f09
ER
891dkms remove -m vboxguest -v %{version}-%{rel} --rpm_safe_upgrade --all || :
892
893%post -n dkms-vboxhost
988a8f09
ER
894dkms add -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade && \
895dkms build -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade && \
896dkms install -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade || :
897
898%preun -n dkms-vboxhost
988a8f09
ER
899dkms remove -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade --all || :
900
d1c4ec5b 901%if %{with userspace}
48363591 902%files
903%defattr(644,root,root,755)
2daf9ea4
ER
904%dir %attr(751,root,root) %{_sysconfdir}/vbox
905%dir %attr(770,root,vbox) %{_sysconfdir}/vbox/autostart
38d06cb9
ER
906%attr(640,root,vbox) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vbox/autostart.cfg
907%attr(754,root,root) /etc/rc.d/init.d/vboxautostart
44a0c82d 908%attr(755,root,root) /sbin/mount.vdi
753cf356
ER
909%attr(755,root,root) %{_bindir}/VBoxAutostart
910%attr(755,root,root) %{_bindir}/VBoxBalloonCtrl
8c008609 911%attr(755,root,root) %{_bindir}/VBoxDTrace
85b005e2 912%attr(755,root,root) %{_bindir}/VBoxHeadless
913%attr(755,root,root) %{_bindir}/VBoxManage
914%attr(755,root,root) %{_bindir}/VBoxSDL
4c9a69b2 915%attr(755,root,root) %{_bindir}/VBoxVRDP
8c008609 916%attr(755,root,root) %{_bindir}/vbox-img
44a0c82d 917%dir %{_libdir}/%{pname}
753cf356 918# libraries
8c008609 919%attr(755,root,root) %{_libdir}/%{pname}/DbgPlugInDiggers.so
23790586
ER
920%attr(755,root,root) %{_libdir}/%{pname}/VBoxAuth.so
921%attr(755,root,root) %{_libdir}/%{pname}/VBoxAuthSimple.so
23790586 922%attr(755,root,root) %{_libdir}/%{pname}/VBoxDD.so
753cf356 923%attr(755,root,root) %{_libdir}/%{pname}/VBoxDD2.so
23790586
ER
924%attr(755,root,root) %{_libdir}/%{pname}/VBoxDDU.so
925%attr(755,root,root) %{_libdir}/%{pname}/VBoxDragAndDropSvc.so
23790586
ER
926%attr(755,root,root) %{_libdir}/%{pname}/VBoxGuestControlSvc.so
927%attr(755,root,root) %{_libdir}/%{pname}/VBoxGuestPropSvc.so
23790586
ER
928%attr(755,root,root) %{_libdir}/%{pname}/VBoxHostChannel.so
929%attr(755,root,root) %{_libdir}/%{pname}/VBoxKeyboard.so
23790586
ER
930%attr(755,root,root) %{_libdir}/%{pname}/VBoxOGLhostcrutil.so
931%attr(755,root,root) %{_libdir}/%{pname}/VBoxOGLhosterrorspu.so
932%attr(755,root,root) %{_libdir}/%{pname}/VBoxOGLrenderspu.so
933%attr(755,root,root) %{_libdir}/%{pname}/VBoxPython*.so
934%attr(755,root,root) %{_libdir}/%{pname}/VBoxREM.so
753cf356
ER
935%attr(755,root,root) %{_libdir}/%{pname}/VBoxRT.so
936%attr(755,root,root) %{_libdir}/%{pname}/VBoxSharedClipboard.so
937%attr(755,root,root) %{_libdir}/%{pname}/VBoxSharedCrOpenGL.so
938%attr(755,root,root) %{_libdir}/%{pname}/VBoxSharedFolders.so
939%attr(755,root,root) %{_libdir}/%{pname}/VBoxVMM.so
940%attr(755,root,root) %{_libdir}/%{pname}/VBoxXPCOM.so
941%attr(755,root,root) %{_libdir}/%{pname}/VBoxXPCOMC.so
f701b529 942%ifarch %{ix86}
23790586
ER
943%attr(755,root,root) %{_libdir}/%{pname}/VBoxREM32.so
944%attr(755,root,root) %{_libdir}/%{pname}/VBoxREM64.so
f701b529 945%endif
753cf356
ER
946
947# binaries
d19b622b 948%attr(755,root,root) %{_libdir}/%{pname}/VBox.sh
753cf356
ER
949%attr(755,root,root) %{_libdir}/%{pname}/VBoxAutostart
950%attr(755,root,root) %{_libdir}/%{pname}/VBoxBalloonCtrl
d19b622b 951%attr(755,root,root) %{_libdir}/%{pname}/VBoxDTrace
753cf356
ER
952%attr(755,root,root) %{_libdir}/%{pname}/VBoxExtPackHelperApp
953%attr(755,root,root) %{_libdir}/%{pname}/VBoxHeadless
954%attr(755,root,root) %{_libdir}/%{pname}/VBoxManage
955%attr(755,root,root) %{_libdir}/%{pname}/VBoxNetAdpCtl
956%attr(755,root,root) %{_libdir}/%{pname}/VBoxNetDHCP
957%attr(755,root,root) %{_libdir}/%{pname}/VBoxNetNAT
23790586 958%attr(755,root,root) %{_libdir}/%{pname}/VBoxSDL
23790586 959%attr(755,root,root) %{_libdir}/%{pname}/VBoxSVC
d19b622b 960%attr(755,root,root) %{_libdir}/%{pname}/VBoxTunctl
23790586 961%attr(755,root,root) %{_libdir}/%{pname}/VBoxVMMPreload
753cf356 962%attr(755,root,root) %{_libdir}/%{pname}/VBoxVolInfo
23790586 963%attr(755,root,root) %{_libdir}/%{pname}/VBoxXPCOMIPCD
753cf356
ER
964%attr(755,root,root) %{_libdir}/%{pname}/iPxeBaseBin
965%if %{with doc}
966%attr(755,root,root) %{_libdir}/%{pname}/VBoxManageHelp
967%endif
28b5d8a8 968%dir %{_libdir}/%{pname}/tools
8c008609 969%attr(755,root,root) %{_libdir}/%{pname}/tools/RTDbgSymCache
28b5d8a8 970%attr(755,root,root) %{_libdir}/%{pname}/tools/RTGzip
f93501c2 971%attr(755,root,root) %{_libdir}/%{pname}/tools/RTHttp
28b5d8a8
JP
972%attr(755,root,root) %{_libdir}/%{pname}/tools/RTLdrFlt
973%attr(755,root,root) %{_libdir}/%{pname}/tools/RTManifest
974%attr(755,root,root) %{_libdir}/%{pname}/tools/RTRm
975%attr(755,root,root) %{_libdir}/%{pname}/tools/RTShutdown
976%attr(755,root,root) %{_libdir}/%{pname}/tools/RTSignTool
977%attr(755,root,root) %{_libdir}/%{pname}/tools/RTTar
8c008609
JP
978%attr(755,root,root) %{_libdir}/%{pname}/tools/RTUnzip
979%attr(755,root,root) %{_libdir}/%{pname}/tools/scm
44a0c82d
ER
980
981%dir %{_libdir}/%{pname}/ExtensionPacks
982%{_libdir}/%{pname}/ExtensionPacks/VNC/ExtPack.xml
983%dir %{_libdir}/%{pname}/ExtensionPacks/VNC
984%dir %{_libdir}/%{pname}/ExtensionPacks/VNC/linux*
23790586 985%attr(755,root,root) %{_libdir}/%{pname}/ExtensionPacks/VNC/linux*/VBoxVNC*.so
8c008609
JP
986%dir %{_libdir}/%{pname}/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack
987%{_libdir}/%{pname}/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/ExtPack.xml
988%dir %{_libdir}/%{pname}/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux*
989%attr(755,root,root) %{_libdir}/%{pname}/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux*/VBoxDTrace*.so
990%{_libdir}/%{pname}/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux*/VBoxDTraceR0.debug
991%{_libdir}/%{pname}/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux*/VBoxDTraceR0.r0
992
993%{_libdir}/%{pname}/VBoxCpuReport
7733446a 994%{_libdir}/%{pname}/VBoxDD2R0.debug
23790586 995%{_libdir}/%{pname}/VBoxDD2R0.r0
8c008609
JP
996%{_libdir}/%{pname}/VBoxDD2RC.debug
997%{_libdir}/%{pname}/VBoxDD2RC.rc
998%{_libdir}/%{pname}/VBoxDDRC.debug
999%{_libdir}/%{pname}/VBoxDDRC.rc
7733446a 1000%{_libdir}/%{pname}/VBoxDDR0.debug
23790586 1001%{_libdir}/%{pname}/VBoxDDR0.r0
23790586
ER
1002%{_libdir}/%{pname}/VBoxEFI32.fd
1003%{_libdir}/%{pname}/VBoxEFI64.fd
8c008609
JP
1004%{_libdir}/%{pname}/VMMRC.debug
1005%{_libdir}/%{pname}/VMMRC.rc
7733446a
JR
1006%{_libdir}/%{pname}/VMMR0.debug
1007%{_libdir}/%{pname}/VMMR0.r0
44a0c82d
ER
1008
1009%dir %{_libdir}/%{pname}/components
501bee39 1010%{_libdir}/%{pname}/components/VBoxXPCOMBase.xpt
23790586
ER
1011%{_libdir}/%{pname}/components/VirtualBox_XPCOM.xpt
1012%attr(755,root,root) %{_libdir}/%{pname}/components/VBoxC.so
1013%attr(755,root,root) %{_libdir}/%{pname}/components/VBoxSVCM.so
1014%attr(755,root,root) %{_libdir}/%{pname}/components/VBoxXPCOMIPCC.so
d19b622b 1015%attr(755,root,root) %{_libdir}/%{pname}/VBoxSysInfo.sh
44a0c82d 1016
c88c6ac8
JP
1017%dir %{_datadir}/%{pname}
1018
e10592b2 1019%config(noreplace) %verify(not md5 mtime size) /etc/udev/rules.d/*.rules
501bee39
ER
1020%attr(755,root,root) /lib/udev/VBoxCreateUSBNode.sh
1021
d7e93912 1022%if %{with gui}
501bee39
ER
1023%files gui
1024%defattr(644,root,root,755)
1025%attr(755,root,root) %{_bindir}/VirtualBox
501bee39
ER
1026%attr(755,root,root) %{_libdir}/%{pname}/VBoxDbg.so
1027%attr(755,root,root) %{_libdir}/%{pname}/VBoxTestOGL
753cf356 1028%attr(755,root,root) %{_libdir}/%{pname}/VirtualBox
c88c6ac8
JP
1029%dir %{_datadir}/%{pname}/nls
1030%lang(bg) %{_datadir}/%{pname}/nls/*_bg.qm
1031%lang(ca) %{_datadir}/%{pname}/nls/*_ca.qm
1032%lang(ca_VA) %{_datadir}/%{pname}/nls/*_ca_VA.qm
1033%lang(cs) %{_datadir}/%{pname}/nls/*_cs.qm
1034%lang(da) %{_datadir}/%{pname}/nls/*_da.qm
1035%lang(de) %{_datadir}/%{pname}/nls/*_de.qm
1036%lang(en) %{_datadir}/%{pname}/nls/*_el.qm
1037%lang(en) %{_datadir}/%{pname}/nls/*_en.qm
1038%lang(es) %{_datadir}/%{pname}/nls/*_es.qm
1039%lang(eu) %{_datadir}/%{pname}/nls/*_eu.qm
1040%lang(fi) %{_datadir}/%{pname}/nls/*_fa_IR.qm
1041%lang(fi) %{_datadir}/%{pname}/nls/*_fi.qm
1042%lang(fr) %{_datadir}/%{pname}/nls/*_fr.qm
1043%lang(gl_ES) %{_datadir}/%{pname}/nls/*_gl_ES.qm
1044%lang(he) %{_datadir}/%{pname}/nls/*_he.qm
1045%lang(hu) %{_datadir}/%{pname}/nls/*_hu.qm
1046%lang(id) %{_datadir}/%{pname}/nls/*_id.qm
1047%lang(it) %{_datadir}/%{pname}/nls/*_it.qm
1048%lang(ja) %{_datadir}/%{pname}/nls/*_ja.qm
1049%lang(km_KH) %{_datadir}/%{pname}/nls/*_km_KH.qm
1050%lang(ko) %{_datadir}/%{pname}/nls/*_ko.qm
1051%lang(lt) %{_datadir}/%{pname}/nls/*_lt.qm
1052%lang(nl) %{_datadir}/%{pname}/nls/*_nl.qm
1053%lang(pl) %{_datadir}/%{pname}/nls/*_pl.qm
1054%lang(pt) %{_datadir}/%{pname}/nls/*_pt.qm
1055%lang(pt_BR) %{_datadir}/%{pname}/nls/*_pt_BR.qm
1056%lang(ro) %{_datadir}/%{pname}/nls/*_ro.qm
1057%lang(ru) %{_datadir}/%{pname}/nls/*_ru.qm
1058%lang(sk) %{_datadir}/%{pname}/nls/*_sk.qm
1059%lang(sk) %{_datadir}/%{pname}/nls/*_sl.qm
1060%lang(sr) %{_datadir}/%{pname}/nls/*_sr.qm
1061%lang(sv) %{_datadir}/%{pname}/nls/*_sv.qm
1062%lang(tr) %{_datadir}/%{pname}/nls/*_tr.qm
1063%lang(uk) %{_datadir}/%{pname}/nls/*_uk.qm
1064%lang(zh_CN) %{_datadir}/%{pname}/nls/*_zh_CN.qm
1065%lang(zh_TW) %{_datadir}/%{pname}/nls/*_zh_TW.qm
501bee39 1066%{_desktopdir}/virtualbox.desktop
44a0c82d
ER
1067%{_pixmapsdir}/virtualbox.png
1068%{_iconsdir}/hicolor/*/apps/virtualbox.png
1069%{_iconsdir}/hicolor/*/apps/virtualbox.svg
1070%{_iconsdir}/hicolor/*/mimetypes/virtualbox-*.png
501bee39 1071%{_datadir}/mime/packages/virtualbox.xml
d7e93912 1072%endif
12db98a7 1073
ffb38bb6 1074%files additions
9dda6415 1075%defattr(644,root,root,755)
244b344b 1076%{_datadir}/%{pname}/VBoxGuestAdditions.iso
ffb38bb6 1077
1067d08d
ER
1078%files guest
1079%defattr(644,root,root,755)
c11f39b3 1080%attr(755,root,root) /sbin/mount.vboxsf
07e9b84d 1081%attr(754,root,root) /etc/rc.d/init.d/vboxservice
122ca0f2 1082%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/vboxservice
4365ecaf 1083%{systemdunitdir}/vboxservice.service
c0372ee9
ER
1084%attr(755,root,root) %{_bindir}/VBoxControl
1085%attr(755,root,root) %{_bindir}/VBoxService
1086
1087%files guest-x11
3d9b19d8 1088%defattr(644,root,root,755)
90de3b27 1089/etc/xdg/autostart/vboxclient.desktop
4e3859c5
ER
1090%attr(755,root,root) %{_bindir}/VBoxClient
1091%attr(755,root,root) %{_bindir}/VBoxClient-all
1067d08d 1092
21a1d8ab
ER
1093%if %{with webservice}
1094%files webservice
1095%defattr(644,root,root,755)
44a0c82d 1096%attr(755,root,root) %{_bindir}/vboxwebsrv
21a1d8ab
ER
1097%attr(755,root,root) %{_libdir}/%{pname}/vboxwebsrv
1098%attr(755,root,root) %{_libdir}/%{pname}/webtest
1099%endif
1100
8d08b907 1101%if %{with lightdm}
9e4dd6a9 1102%files -n lightdm-greeter-vbox
8d08b907
ER
1103%defattr(644,root,root,755)
1104%attr(755,root,root) %{_sbindir}/vbox-greeter
1105%{_datadir}/xgreeters/vbox-greeter.desktop
1106%endif
1107
3613936b
JR
1108%files -n pam-pam_vbox
1109%defattr(644,root,root,755)
3ee6b9d9 1110%attr(755,root,root) /%{_lib}/security/pam_vbox.so
3613936b 1111
90de3b27
ER
1112%if %{with doc}
1113%files doc
1114%defattr(644,root,root,755)
f0a66b84
JR
1115# this is a symlink...
1116%doc %{_libdir}/%{pname}/UserManual.pdf
8c008609 1117%if %{with all_langs}
4f88ff56 1118%lang(fr) %doc %{_libdir}/%{pname}/UserManual_fr_FR.pdf
8c008609 1119%endif
f0a66b84 1120# ..to this file
90de3b27 1121%doc %{outdir}/UserManual.pdf
8c008609 1122%if %{with all_langs}
4f88ff56 1123%lang(fr) %doc %{outdir}/UserManual_fr_FR.pdf
90de3b27 1124%endif
8c008609 1125%endif
90de3b27 1126
09c79ddb 1127%files -n xorg-driver-video-vboxvideo
1128%defattr(644,root,root,755)
27a1aef6
ER
1129%attr(755,root,root) %{_libdir}/xorg/modules/dri/vboxvideo_dri.so
1130# vboxvideo_dri.so deps
349989a6 1131%attr(755,root,root) %{_libdir}/VBoxEGL.so
1067d08d 1132%attr(755,root,root) %{_libdir}/VBoxOGLarrayspu.so
27a1aef6
ER
1133%attr(755,root,root) %{_libdir}/VBoxOGLcrutil.so
1134%attr(755,root,root) %{_libdir}/VBoxOGLerrorspu.so
1135%attr(755,root,root) %{_libdir}/VBoxOGLfeedbackspu.so
1136%attr(755,root,root) %{_libdir}/VBoxOGLpackspu.so
1137%attr(755,root,root) %{_libdir}/VBoxOGLpassthroughspu.so
988a8f09
ER
1138
1139%if %{with dkms}
1140%files -n dkms-vboxguest
1141%defattr(644,root,root,755)
1142%{_usrsrc}/vboxguest-%{version}-%{rel}
1143
1144%files -n dkms-vboxhost
1145%defattr(644,root,root,755)
1146%{_usrsrc}/vboxhost-%{version}-%{rel}
1147%endif
c38a3946 1148%endif
This page took 0.379596 seconds and 4 git commands to generate.