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