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