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