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