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