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