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