]> git.pld-linux.org Git - packages/VirtualBox.git/blob - VirtualBox.spec
798320aeabcbd00eab54ee655a34782d61f1fbb7
[packages/VirtualBox.git] / VirtualBox.spec
1 # TODO
2 # - java bindings
3 # - Package SDK.
4 # - Check License of VBoxGuestAdditions_*.iso, it's probably not GPL v2.
5 #   If so check if it is distributable.
6 # - guest x11 additions: currently incomplete/untested
7 # - enable VDE networking: --enable-vde
8 # - initscripts for webservice
9 #
10 # Conditional build:
11 %bcond_without  doc             # don't build the documentation
12 %bcond_without  dist_kernel     # without distribution kernel
13 %bcond_without  kernel          # don't build kernel module
14 %bcond_without  userspace       # don't build userspace package
15 %bcond_with     webservice      # webservice (SOAP) support
16 %bcond_without  lightdm         # lightdm greeter
17 %bcond_without  verbose
18 %bcond_with     force_userspace # force userspace build (useful if alt_kernel is set)
19
20 %if %{without kernel}
21 %undefine       with_dist_kernel
22 %endif
23 %if "%{_alt_kernel}" != "%{nil}"
24 %undefine       with_userspace
25 %endif
26 %if %{with force_userspace}
27 %define         with_userspace 1
28 %endif
29 %if %{without userspace}
30 # nothing to be placed to debuginfo package
31 %define         _enable_debug_packages  0
32 %endif
33
34 %define         rel             0.1
35 %define         pname           VirtualBox
36 Summary:        VirtualBox - x86 hardware virtualizer
37 Summary(pl.UTF-8):      VirtualBox - wirtualizator sprzętu x86
38 Name:           %{pname}%{_alt_kernel}
39 Version:        4.3.0
40 Release:        %{rel}
41 License:        GPL v2
42 Group:          Applications/Emulators
43 Source0:        http://download.virtualbox.org/virtualbox/%{version}/%{pname}-%{version}.tar.bz2
44 # Source0-md5:  1f49237686d095859f3dbea0941f8b12
45 Source1:        http://download.virtualbox.org/virtualbox/%{version}/VBoxGuestAdditions_%{version}.iso
46 # Source1-md5:  6b72a59aba1660afa4f430faa88d727a
47 Source2:        vboxservice.init
48 Source3:        vboxservice.service
49 Source4:        %{pname}.sh
50 Source5:        mount.vdi
51 Source6:        udev.rules
52 Source7:        %{pname}-virtualbox-host-modules-load.conf
53 Source8:        %{pname}-virtualbox-guest-modules-load.conf
54 Patch0:         %{pname}-configure-spaces.patch
55 Patch1:         %{pname}-VBoxSysInfo.patch
56 Patch2:         %{pname}-warning_workaround.patch
57 Patch3:         %{pname}-dri.patch
58 Patch5:         xserver-1.12.patch
59 Patch7:         lightdm-greeter-glib-includes.patch
60 Patch8:         lightdm-greeter-g++-link.patch
61 # ubuntu patches
62 Patch10:        16-no-update.patch
63 Patch11:        18-system-xorg.patch
64 # /ubuntu patches
65 URL:            http://www.virtualbox.org/
66 %if %{with userspace}
67 %ifarch %{x8664}
68 BuildRequires:  gcc-multilib
69 BuildRequires:  glibc-devel(i686)
70 BuildRequires:  libstdc++-multilib-devel
71 BuildRequires:  libstdc++-multilib-static
72 %endif
73 %if "%{pld_release}" == "ac"
74 BuildRequires:  XFree86-devel
75 %else
76 BuildRequires:  xorg-lib-libXcomposite-devel
77 BuildRequires:  xorg-lib-libXcursor-devel
78 BuildRequires:  xorg-lib-libXmu-devel
79 BuildRequires:  xorg-proto-glproto-devel
80 BuildRequires:  xorg-xserver-server-devel
81 %endif
82 BuildRequires:  OpenGL-GLU-devel
83 BuildRequires:  OpenGL-devel
84 BuildRequires:  QtGui-devel
85 BuildRequires:  QtNetwork-devel
86 BuildRequires:  QtOpenGL-devel
87 BuildRequires:  SDL-devel >= 1.2.7
88 BuildRequires:  acpica
89 BuildRequires:  alsa-lib-devel >= 1.0.6
90 BuildRequires:  bash
91 BuildRequires:  bcc
92 BuildRequires:  bin86
93 BuildRequires:  curl-devel
94 BuildRequires:  device-mapper-devel
95 %{?with_doc:BuildRequires:      docbook-dtd44-xml}
96 BuildRequires:  gcc >= 5:3.2.3
97 %{?with_webservice:BuildRequires:       gsoap-devel}
98 BuildRequires:  issue
99 BuildRequires:  kBuild >= 0.1.9998.2700
100 BuildRequires:  libIDL-devel
101 BuildRequires:  libcap-static
102 BuildRequires:  libdrm-devel
103 BuildRequires:  libpng-devel >= 1.2.5
104 BuildRequires:  libstdc++-devel >= 5:3.2.3
105 BuildRequires:  libstdc++-static >= 5:3.2.3
106 BuildRequires:  libuuid-devel
107 BuildRequires:  libvncserver-devel >= 0.9.9
108 BuildRequires:  libxml2-devel >= 2.6.26
109 BuildRequires:  libxslt-devel >= 1.1.17
110 BuildRequires:  libxslt-progs >= 1.1.17
111 %{?with_lightdm:BuildRequires:  lightdm-libs-qt-devel}
112 BuildRequires:  makeself
113 BuildRequires:  mkisofs
114 BuildRequires:  pam-devel
115 BuildRequires:  pixman-devel
116 BuildRequires:  pkgconfig
117 BuildRequires:  pulseaudio-devel >= 0.9.0
118 BuildRequires:  python-devel
119 BuildRequires:  python-modules
120 BuildRequires:  qt4-build >= 4.2.0
121 BuildRequires:  qt4-linguist
122 BuildRequires:  rpmbuild(macros) >= 1.664
123 BuildRequires:  sed >= 4.0
124 %if %{with doc}
125 BuildRequires:  texlive-fonts-bitstream
126 BuildRequires:  texlive-fonts-other
127 BuildRequires:  texlive-fonts-type1-bitstream
128 BuildRequires:  texlive-format-pdflatex
129 BuildRequires:  texlive-latex-ucs
130 BuildRequires:  texlive-xetex
131 %endif
132 BuildRequires:  which
133 BuildRequires:  xalan-c-devel >= 1.10.0
134 BuildRequires:  xerces-c-devel >= 2.6.0
135 BuildRequires:  yasm
136 BuildRequires:  zlib-devel >= 1.2.1
137 %endif
138 %if %{with dist_kernel}
139 BuildRequires:  kernel%{_alt_kernel}-module-build >= 3:2.6.20
140 %endif
141 Requires(post,preun):   /sbin/chkconfig
142 Requires(postun):       /usr/sbin/groupdel
143 Requires(pre):  /usr/bin/getgid
144 Requires(pre):  /usr/sbin/groupadd
145 Requires:       QtCore >= 4.7.0
146 Requires:       desktop-file-utils
147 Requires:       fontconfig
148 Requires:       fonts-Type1-urw
149 Requires:       libvncserver >= 0.9.9
150 Requires:       udev-core
151 Suggests:       gxmessage
152 Provides:       group(vbox)
153 Obsoletes:      VirtualBox-udev < 4.2.10-5
154 ExclusiveArch:  %{ix86} %{x8664}
155 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
156
157 %ifarch %{x8664}
158 %define         vbox_arch       amd64
159 %else
160 %define         vbox_arch       x86
161 %endif
162 %define         vbox_platform   linux.%{vbox_arch}
163 %define         outdir          out/%{vbox_platform}/release/bin
164 %define         objdir          out/%{vbox_platform}/release/obj
165
166 # workaround buggy 'file' results:
167 #
168 # EfiThunk:     \0
169 # qt_ro.qm:     \0 "<\270d\030\312\357\234\225\315!\034\277`\241\275\335B"
170 # VBoxEFI32.fd: \0
171 # VBoxEFI64.fd: \0
172 #
173 # which lead to 'Stripping ... ELF shared libraries... (...)/nls/qt_ro.qm: File format not recognized'
174 #define         _noautostrip    .*%{_libdir}/%{name}/.*
175
176 %description
177 Oracle VirtualBox is a general-purpose full virtualizer for x86
178 hardware. Targeted at server, desktop and embedded use, it is now the
179 only professional-quality virtualization solution that is also Open
180 Source Software.
181
182 Some of the features of VirtualBox are:
183
184 Modularity: VirtualBox has an extremely modular design with
185 well-defined internal programming interfaces and a client/server
186 design. This makes it easy to control it from several interfaces at
187 once: for example, you can start a virtual machine in a typical
188 virtual machine GUI and then control that machine from the command
189 line. VirtualBox also comes with a full Software Development Kit: even
190 though it is Open Source Software, you don't have to hack the source
191 to write a new interface for VirtualBox.
192
193 Virtual machine descriptions in XML: the configuration settings of
194 virtual machines are stored entirely in XML and are independent of the
195 local machines. Virtual machine definitions can therefore easily be
196 ported to other computers.
197
198 You should install this package in your Host OS.
199
200 %description -l pl.UTF-8
201 Oracle VirtualBox jest emulatorem sprzętu x86. Kierowany do zastosowań
202 serwerowych, desktopowych oraz wbudowanych jest obecnie jedynym
203 wysokiej jakości rozwiązaniem wirtualizacyjnym dostępnym również jako
204 Otwarte Oprogramowanie.
205
206 Przykładowe cechy VirtualBoksa:
207
208 Modularność: VirtualBox jest wysoce zmodularyzowanym produktem z
209 dobrze zaprojektowanym wewnętrznym interfejsem programowym typu
210 klient/serwer. Dzięki temu można łatwo kontrolować go za pomocą
211 różnych interfejsów. Można na przykład uruchomić maszynę wirtualną z
212 poziomu interfejsu graficznego, a później kontrolować ją z linii
213 poleceń. VirtualBox dostarcza również pełny pakiet deweloperski, co
214 pozwala stworzyć dowolny inny interfejs zarządzania maszyną wirtualną.
215
216 Opisy maszyn wirtualnych w XML-u: konfiguracje poszczególnych maszyn
217 wirtualnych są w całości przechowywane w XML-u i są niezależne od
218 lokalnej maszyny. Dzięki temu można szybko i łatwo przenieść
219 konfigurację maszyny wirtualnej na inny komputer.
220
221 %package doc
222 Summary:        VirtualBox documentation
223 Group:          Documentation
224
225 %description doc
226 This package contains VirtualBox User Manual.
227
228 %package additions
229 Summary:        VirtualBox Guest Additions
230 Group:          Base
231 Requires:       %{name} = %{version}-%{release}
232
233 %description additions
234 VirtualBox Guest Additions.
235
236 This package contains ISO9660 image with drivers for Guest OS.
237
238 You should install this package in your Host OS.
239
240 %package guest
241 Summary:        VirtualBox Guest tools
242 Group:          Base
243 Requires(post,preun):   /sbin/chkconfig
244 Requires(post): systemd-units >= 38
245 Requires:       systemd-units >= 38
246 Requires:       rc-scripts
247 Suggests:       kernel(vboxguest)
248 Suggests:       kernel(vboxsf)
249 Suggests:       pam-pam_vbox
250
251 %description guest
252 Tools that utilize kernel modules for supporting integration with the
253 Host, including file sharing.
254
255 You should install this package in your Guest OS for base VirtualBox
256 communication
257
258 %package guest-x11
259 Summary:        VirtualBox Guest Additions
260 Group:          Base
261 Requires:       %{name}-guest = %{version}-%{release}
262 Requires:       xorg-driver-video-vboxvideo = %{version}-%{release}
263 Suggests:       kernel(vboxvideo)
264 Obsoletes:      xorg-driver-input-vboxmouse < %{version}-%{release}
265
266 %description guest-x11
267 Tools for X11 session that utilize kernel modules for supporting
268 integration with the Host, like tracking of mouse pointer movement and
269 X.org X11 video and mouse drivers
270
271 You should install this package in your Guest OS for X11 session.
272
273 %package webservice
274 Summary:        VirtualBox Web Service
275 Group:          Applications/Emulators
276 Requires:       %{name} = %{version}-%{release}
277
278 %description webservice
279 This package contains VirtualBox web service API daemon. It allows to
280 control virtual machines via web interface.
281
282 %package -n lightdm-greeter-vbox
283 Summary:        VirtualBox greeter for lightdm
284 Group:          Themes
285 # NOTE: '#' in url is lost because rpm treats it as comment, even hacking with
286 # macros doesn't help as rpmbuild takes final result to parse
287 URL:            http://www.virtualbox.org/manual/ch09.html#autologon_unix_lightdm
288 Requires:       kernel(vboxguest)
289 Requires:       lightdm >= 1.0.1
290 Provides:       lightdm-greeter
291
292 %description -n lightdm-greeter-vbox
293 VirtualBox greeter for LightDM.
294
295 %package -n pam-pam_vbox
296 Summary:        PAM module to perform automated guest logons
297 Group:          Base
298
299 %description  -n pam-pam_vbox
300 PAM module (Pluggable Authentication Module) which can be used to
301 perform automated guest logons.
302
303 %package -n xorg-driver-video-vboxvideo
304 Summary:        X.org video driver for VirtualBox guest OS
305 Summary(pl.UTF-8):      Sterownik grafiki dla systemu gościa w VirtualBoksie
306 Group:          X11/Applications
307 Requires:       Mesa-dri-driver-swrast
308 Requires:       xorg-xserver-libdri >= 1.7.4
309 Requires:       xorg-xserver-server >= 1.0.99.901
310 Requires:       xorg-xserver-server(videodrv-abi) <= 14.1
311 Requires:       xorg-xserver-server(videodrv-abi) >= 2.0
312
313 %description -n xorg-driver-video-vboxvideo
314 X.org video driver for VirtualBox guest OS.
315
316 %description -n xorg-driver-video-vboxvideo -l pl.UTF-8
317 Sterownik grafiki dla systemu gościa w VirtualBoksie.
318
319 # KERNEL PACKAGES
320
321 # KEEP ALL REGULAR SUBPACKAGES BEFORE KERNEL PACKAGES.
322
323 %package -n kernel%{_alt_kernel}-virtualbox-guest
324 Summary:        VirtualBox kernel modules for Linux Guest
325 Summary(pl.UTF-8):      Moduły VirtualBoksa do jądra Linuksa dla systemu gościa
326 Release:        %{rel}@%{_kernel_ver_str}
327 Group:          Base/Kernel
328 Requires(post,postun):  /sbin/depmod
329 Requires(post): systemd-units >= 38
330 Requires:       dev >= 2.9.0-7
331 Requires:       systemd-units >= 38
332 %if %{with dist_kernel}
333 %requires_releq_kernel
334 %requires_releq_kernel -n drm
335 Requires(postun):       %releq_kernel
336 %endif
337 Suggests:       %{name}-kernel-init-guest >= %{version}-%{rel}
338 Provides:       kernel(vboxguest) = %{version}-%{rel}
339 Provides:       kernel(vboxsf) = %{version}-%{rel}
340 Provides:       kernel(vboxvideo) = %{version}-%{rel}
341 Obsoletes:      kernel-init-guest
342 Conflicts:      kernel%{_alt_kernel}-virtualbox-host
343
344 %description -n kernel%{_alt_kernel}-virtualbox-guest
345 This package contains VirtualBox Guest Additions for Linux Module,
346 host file system access (Shared Folders) and DRM support for
347 Linux guest system.
348
349 %description -n kernel%{_alt_kernel}-virtualbox-guest -l pl.UTF-8
350 Ten pakiet zawiera moduł jądra Linuksa vboxguest dla VirtualBoksa -
351 dodatki dla systemu gościa, dostęp do plików systemu głównego z
352 poziomu systemu gościa i sterownik obsługi DRM.
353
354 %package -n kernel%{_alt_kernel}-virtualbox-host
355 Summary:        VirtualBox Support Drivers
356 Summary(pl.UTF-8):      Moduły jądra Linuksa dla VirtualBoksa
357 Release:        %{rel}@%{_kernel_ver_str}
358 Group:          Base/Kernel
359 Requires(post,postun):  /sbin/depmod
360 Requires(post): systemd-units >= 38
361 Requires:       dev >= 2.9.0-7
362 %if %{with dist_kernel}
363 %requires_releq_kernel
364 Requires(postun):       %releq_kernel
365 %endif
366 Requires:       systemd-units >= 38
367 Suggests:       %{name}-kernel-init-host >= %{version}-%{rel}
368 Provides:       kernel(vboxdrv) = %{version}-%{rel}
369 Provides:       kernel(vboxnetadp) = %{version}-%{rel}
370 Provides:       kernel(vboxnetflt) = %{version}-%{rel}
371 Provides:       kernel(vboxpci) = %{version}-%{rel}
372 Obsoletes:      kernel-init-host
373
374 %description -n kernel%{_alt_kernel}-virtualbox-host
375 This package contains VirtualBox Support Driver, Network Adapter
376 Driver, Network Filter Driver and PCI card passthrough driver that
377 works as host proxy between guest and PCI hardware.
378
379 %description -n kernel%{_alt_kernel}-virtualbox-host -l pl.UTF-8
380 Ten pakiet zawiera sterownik wsparcia dla systemu głównego, sterownik
381 witrualnej karty sieciowej, sterownik filtrowania sieci dla systemu
382 głównego oraz sterownik, ktory działa jako proxy między gościem i
383 gospodarzem sprzętu PCI.
384
385 %prep
386 %setup -q -n %{pname}-%{version}
387 %patch0 -p1
388 %patch1 -p1
389 %patch2 -p1
390 %patch3 -p1
391 %patch5 -p1
392 %patch7 -p1
393 %patch8 -p1
394
395 %{__sed} -i -e 's,@VBOX_DOC_PATH@,%{_docdir}/%{name}-%{version},' \
396         -e 's/Categories=.*/Categories=Utility;Emulator;/' src/VBox/Installer/common/virtualbox.desktop.in
397
398 # Respect LDFLAGS
399 %{__sed} -i -e "s@_LDFLAGS\.%{vbox_arch}*.*=@& %{rpmldflags}@g" \
400         -i Config.kmk src/libs/xpcom18a4/Config.kmk
401
402 %{__sed} 's#@LIBDIR@#%{_libdir}#' < %{SOURCE4} > VirtualBox-wrapper.sh
403
404 install -d PLD-MODULE-BUILD/{GuestDrivers,HostDrivers}
405 cd PLD-MODULE-BUILD
406 ../src/VBox/Additions/linux/export_modules guest-modules.tar.gz
407 tar -zxf guest-modules.tar.gz -C GuestDrivers
408
409 ../src/VBox/HostDrivers/linux/export_modules host-modules.tar.gz --without-hardening
410 tar -zxf host-modules.tar.gz -C HostDrivers
411 cd -
412 %patch10 -p1
413 %patch11 -p1
414
415 # using system kBuild package
416 %{__rm} -r kBuild
417
418 cat <<'EOF'>> LocalConfig.kmk
419 %{?with_verbose:KBUILD_VERBOSE=3}
420 USERNAME=%(id -un)
421 __VBOX_BUILD_PUBLISHER=_PLD
422 VBOX_VERSION_STRING=$(VBOX_VERSION_MAJOR).$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD)_PLD
423 XSERVER_VERSION=%(rpm -q --queryformat '%{V}\n' xorg-xserver-server-devel | awk -F. '{ print $1 $2 }' 2>/dev/null || echo ERROR)
424 VBOX_USE_SYSTEM_XORG_HEADERS=1
425 %if %{with lightdm}
426 VBOX_WITH_LIGHTDM_GREETER=1
427 VBOX_WITH_LIGHTDM_GREETER_PACKING=1
428 %endif
429 TOOL_GCC3_CFLAGS=%{rpmcflags}
430 TOOL_GCC3_CXXFLAGS=%{rpmcxxflags}
431 VBOX_GCC_OPT=%{rpmcxxflags}
432 VBOX_WITH_TESTCASES=
433 EOF
434
435 %build
436 %if %{with userspace}
437 ./configure \
438         --with-gcc="%{__cc}" \
439         --with-g++="%{__cxx}" \
440         %{!?with_doc:--disable-docs} \
441         --disable-java \
442         --disable-hardening \
443         --disable-kmods \
444         --enable-vnc \
445         %{__enable webservice} \
446         %{nil}
447
448 XSERVER_VERSION=$(rpm -q --queryformat '%{VERSION}\n' xorg-xserver-server-devel | awk -F. ' { print $1 $2 } ' 2> /dev/null || echo ERROR)
449 kmk %{?_smp_mflags}
450 %endif
451
452 %if %{with kernel}
453 export KERN_DIR=%{_kernelsrcdir}
454 cd PLD-MODULE-BUILD/HostDrivers
455 %build_kernel_modules -m vboxdrv -C vboxdrv
456 %build_kernel_modules -m vboxnetadp -C vboxnetadp
457 %build_kernel_modules -m vboxnetflt -C vboxnetflt
458 %build_kernel_modules -m vboxpci -C vboxpci
459
460 cd ../GuestDrivers
461 %build_kernel_modules -m vboxguest -C vboxguest
462 cp -a vboxguest/Module.symvers vboxsf
463 %build_kernel_modules -m vboxsf -C vboxsf -c
464 %build_kernel_modules -m vboxvideo -C vboxvideo
465 cd ../..
466 %{__cc} %{rpmcflags} %{rpmldflags} -Wall -Werror src/VBox/Additions/linux/sharedfolders/{mount.vboxsf.c,vbsfmount.c} -o mount.vboxsf
467 %endif
468
469 %install
470 rm -rf $RPM_BUILD_ROOT
471
472 %if %{with userspace}
473 install -d $RPM_BUILD_ROOT{%{_bindir},/sbin,%{_sbindir},%{_libdir}/%{pname}/ExtensionPacks} \
474         $RPM_BUILD_ROOT{%{_pixmapsdir},%{_desktopdir}} \
475         $RPM_BUILD_ROOT%{_libdir}/xorg/modules/{drivers,dri,input} \
476         $RPM_BUILD_ROOT{/lib/udev,/etc/udev/rules.d} \
477         $RPM_BUILD_ROOT{/etc/rc.d/init.d,%{systemdunitdir}}
478
479 # test if we can hardlink -- %{_builddir} and $RPM_BUILD_ROOT on same partition
480 if cp -al VBox.png $RPM_BUILD_ROOT/Vbox.png 2>/dev/null; then
481         l=l
482         %{__rm} -f $RPM_BUILD_ROOT/VBox.png
483 fi
484
485 cp -a$l %{outdir}/* $RPM_BUILD_ROOT%{_libdir}/%{pname}
486
487 %if %{with doc}
488 ln -sf %{_docdir}/%{pname}-doc-%{version}/UserManual.pdf $RPM_BUILD_ROOT%{_libdir}/%{pname}/UserManual.pdf
489 ln -sf %{_docdir}/%{pname}-doc-%{version}/UserManual_fr_FR.pdf $RPM_BUILD_ROOT%{_libdir}/%{pname}/UserManual_fr_FR.pdf
490 %endif
491
492 install -d $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions
493 cp -a$l %{SOURCE1} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/VBoxGuestAdditions.iso
494 install -p %{SOURCE5} $RPM_BUILD_ROOT/sbin/mount.vdi
495 install -p VirtualBox-wrapper.sh $RPM_BUILD_ROOT%{_libdir}/%{pname}
496 for f in {VBox{BFE,Headless,Manage,SDL,SVC,Tunctl,XPCOMIPCD},VirtualBox}; do
497         ln -s %{_libdir}/%{pname}/VirtualBox-wrapper.sh $RPM_BUILD_ROOT%{_bindir}/$f
498 done
499
500 install -p %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxservice
501 install -p %{SOURCE3} $RPM_BUILD_ROOT%{systemdunitdir}/vboxservice.service
502
503 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/VBox.png,%{_pixmapsdir}/virtualbox.png}
504 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname},%{_desktopdir}}/virtualbox.desktop
505
506 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/vboxvideo_drv_system.so,%{_libdir}/xorg/modules/drivers/vboxvideo_drv.so}
507 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/VBoxOGL.so,%{_libdir}/xorg/modules/dri/vboxvideo_dri.so}
508
509 # XXX: where else to install them that vboxvideo_dri.so finds them? patch with rpath?
510 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLarrayspu.so
511 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLcrutil.so
512 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLerrorspu.so
513 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLfeedbackspu.so
514 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLpackspu.so
515 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLpassthroughspu.so
516
517 cp -a %{SOURCE6} $RPM_BUILD_ROOT/etc/udev/rules.d/virtualbox.rules
518 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname},/lib/udev}/VBoxCreateUSBNode.sh
519
520 install -d $RPM_BUILD_ROOT/%{_lib}/security
521 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,/%{_lib}/security}/pam_vbox.so
522
523 # cleanup unpackaged
524 %{__rm} -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/{src,sdk,testcase}
525 %{__rm} -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/src
526 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxkeyboard.tar.bz2
527 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/tst*
528 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/ExtensionPacks/VNC/ExtPack-license.*
529
530 # Guest Only Tools
531 install -d $RPM_BUILD_ROOT/etc/{X11/xinit/xinitrc.d,xdg/autostart}
532 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxService
533 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxClient
534 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxControl
535 install -p -D src/VBox/Additions/x11/Installer/98vboxadd-xclient \
536         $RPM_BUILD_ROOT/etc/X11/xinit/xinitrc.d/98vboxadd-xclient.sh
537 cp -p src/VBox/Additions/x11/Installer/vboxclient.desktop \
538         $RPM_BUILD_ROOT/etc/xdg/autostart/vboxclient.desktop
539
540 %if %{with lightdm}
541 install -d $RPM_BUILD_ROOT%{_datadir}/xgreeters
542 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_sbindir}}/vbox-greeter
543 cp -p %{objdir}/Additions/Installer/linux/share/VBoxGuestAdditions/vbox-greeter.desktop $RPM_BUILD_ROOT%{_datadir}/xgreeters
544 %endif
545
546 # unknown - checkme
547 %if 1
548 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPInstall
549 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPLoggerCtl
550 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPUninstall
551 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/VBox.sh
552 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxshell.py
553 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/xpidl
554 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/runasroot.sh
555 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/load.sh
556 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/loadall.sh
557 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/dtrace/lib/%{vbox_arch}/CPUMInternal.d
558 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/dtrace/lib/%{vbox_arch}/cpumctx.d
559 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/dtrace/lib/%{vbox_arch}/vbox-arch-types.d
560 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/dtrace/lib/%{vbox_arch}/vbox-types.d
561 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/dtrace/lib/%{vbox_arch}/vm.d
562 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/dtrace/lib/%{vbox_arch}/x86.d
563 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/dtrace/testcase/%{vbox_arch}/vbox-vm-struct-test.d
564 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/helpers/generate_service_file
565 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/scripts/VBoxHeadlessXOrg.sh
566 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/scripts/generated.sh
567 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/scripts/init_template.sh
568 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/scripts/install_service
569 %endif
570
571 # packaged by kernel part
572 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/mount.vboxsf
573 %endif
574
575 %if %{with kernel}
576 install -d $RPM_BUILD_ROOT{/etc/modules-load.d,/sbin}
577 %install_kernel_modules -m PLD-MODULE-BUILD/HostDrivers/vboxdrv/vboxdrv -d misc
578 %install_kernel_modules -m PLD-MODULE-BUILD/HostDrivers/vboxnetadp/vboxnetadp -d misc
579 %install_kernel_modules -m PLD-MODULE-BUILD/HostDrivers/vboxnetflt/vboxnetflt -d misc
580 %install_kernel_modules -m PLD-MODULE-BUILD/HostDrivers/vboxpci/vboxpci -d misc
581 %install_kernel_modules -m PLD-MODULE-BUILD/GuestDrivers/vboxguest/vboxguest -d misc
582 %install_kernel_modules -m PLD-MODULE-BUILD/GuestDrivers/vboxsf/vboxsf -d misc
583 %install_kernel_modules -m PLD-MODULE-BUILD/GuestDrivers/vboxvideo/vboxvideo -d misc
584
585 install -p mount.vboxsf $RPM_BUILD_ROOT/sbin/mount.vboxsf
586
587 # Tell systemd to load modules
588 cp -p %{SOURCE7} $RPM_BUILD_ROOT/etc/modules-load.d/virtualbox-host.conf
589 cp -p %{SOURCE8} $RPM_BUILD_ROOT/etc/modules-load.d/virtualbox-guest.conf
590 %endif
591
592 %clean
593 rm -rf $RPM_BUILD_ROOT
594
595 %pre
596 %groupadd -g 221 -r -f vbox
597
598 %post
599 %update_desktop_database
600 for i in /sys/bus/usb/devices/*; do
601         if [ -r "$i/dev" ]; then
602                 dev="`cat "$i/dev" 2>/dev/null || true`"
603                 major="`expr "$dev" : '\(.*\):' 2> /dev/null || true`"
604                 minor="`expr "$dev" : '.*:\(.*\)' 2> /dev/null || true`"
605                 class="`cat $i/bDeviceClass 2> /dev/null || true`"
606                 /lib/udev/VBoxCreateUSBNode.sh "$major" "$minor" "$class" vbox 2>/dev/null
607         fi
608 done
609
610 cat << 'EOF'
611 You must install vboxdrv kernel modules for this software to work:
612     kernel%{_alt_kernel}-virtualbox-host-%{version}-%{rel}@%{_kernel_ver_str}
613
614 On Guest Linux system you might want to install:
615     kernel%{_alt_kernel}-virtualbox-guest-%{version}-%{rel}@%{_kernel_ver_str}
616
617 EOF
618
619 %postun
620 if [ "$1" = "0" ]; then
621         %groupremove vbox
622 fi
623
624 %post guest
625 /sbin/chkconfig --add vboxservice
626 %service vboxservice restart
627 %systemd_post vboxservice.service
628
629 %preun guest
630 if [ "$1" = "0" ]; then
631         /sbin/chkconfig --del vboxservice
632         %service vboxservice -q stop
633 fi
634 %systemd_preun vboxservice.service
635
636 %postun guest
637 %systemd_reload
638
639 %triggerpostun guest -- VirtualBox-guest < 4.3.0-1
640 %systemd_trigger vboxservice.service
641
642 %pre -n lightdm-greeter-vbox
643 %addusertogroup xdm vbox
644
645 %post -n kernel%{_alt_kernel}-virtualbox-guest
646 %depmod %{_kernel_ver}
647
648 %postun -n kernel%{_alt_kernel}-virtualbox-guest
649 %depmod %{_kernel_ver}
650
651 %post   -n kernel%{_alt_kernel}-virtualbox-host
652 %depmod %{_kernel_ver}
653
654 %postun -n kernel%{_alt_kernel}-virtualbox-host
655 %depmod %{_kernel_ver}
656
657 %if %{with userspace}
658 %files
659 %defattr(644,root,root,755)
660 %dir %{_libdir}/%{pname}
661 %dir %{_libdir}/%{pname}/ExtensionPacks
662 %dir %{_libdir}/%{pname}/ExtensionPacks/VNC
663 %dir %{_libdir}/%{pname}/ExtensionPacks/VNC/linux*
664 %dir %{_libdir}/%{pname}/additions
665 %dir %{_libdir}/%{pname}/components
666 %dir %{_libdir}/%{pname}/nls
667 %attr(755,root,root) %{_bindir}/VBoxBFE
668 %attr(755,root,root) %{_bindir}/VBoxHeadless
669 %attr(755,root,root) %{_bindir}/VBoxManage
670 %attr(755,root,root) %{_bindir}/VBoxSDL
671 %attr(755,root,root) %{_bindir}/VBoxSVC
672 %attr(755,root,root) %{_bindir}/VBoxTunctl
673 %attr(755,root,root) %{_bindir}/VBoxXPCOMIPCD
674 %attr(755,root,root) %{_bindir}/VirtualBox
675 %attr(755,root,root) /sbin/mount.vdi
676 %attr(755,root,root) %{_libdir}/%{pname}/DBGCPlugInDiggers.so
677 %attr(755,root,root) %{_libdir}/%{pname}/VBoxAuth.so
678 %attr(755,root,root) %{_libdir}/%{pname}/VBoxAuthSimple.so
679 %attr(755,root,root) %{_libdir}/%{pname}/VBoxAutostart
680 %attr(755,root,root) %{_libdir}/%{pname}/VBoxBalloonCtrl
681 %attr(755,root,root) %{_libdir}/%{pname}/VBoxDbg.so
682 %attr(755,root,root) %{_libdir}/%{pname}/VBoxDD2.so
683 %attr(755,root,root) %{_libdir}/%{pname}/VBoxDD.so
684 %attr(755,root,root) %{_libdir}/%{pname}/VBoxDDU.so
685 %attr(755,root,root) %{_libdir}/%{pname}/VBoxDragAndDropSvc.so
686 %attr(755,root,root) %{_libdir}/%{pname}/VBoxExtPackHelperApp
687 %attr(755,root,root) %{_libdir}/%{pname}/VBoxGuestControlSvc.so
688 %attr(755,root,root) %{_libdir}/%{pname}/VBoxGuestPropSvc.so
689 %attr(755,root,root) %{_libdir}/%{pname}/VBoxHeadless
690 %attr(755,root,root) %{_libdir}/%{pname}/VBoxHostChannel.so
691 %attr(755,root,root) %{_libdir}/%{pname}/VBoxKeyboard.so
692 %attr(755,root,root) %{_libdir}/%{pname}/VBoxManage
693 %attr(755,root,root) %{_libdir}/%{pname}/VBoxNetNAT
694 %attr(755,root,root) %{_libdir}/%{pname}/VBoxVolInfo
695 %attr(755,root,root) %{_libdir}/%{pname}/iPxeBaseBin
696 %if %{with doc}
697 %attr(755,root,root) %{_libdir}/%{pname}/VBoxManageHelp
698 %endif
699 %attr(755,root,root) %{_libdir}/%{pname}/VBoxNetAdpCtl
700 %attr(755,root,root) %{_libdir}/%{pname}/VBoxNetDHCP
701 %attr(755,root,root) %{_libdir}/%{pname}/VBoxOGLhostcrutil.so
702 %attr(755,root,root) %{_libdir}/%{pname}/VBoxOGLhosterrorspu.so
703 %attr(755,root,root) %{_libdir}/%{pname}/VBoxOGLrenderspu.so
704 %attr(755,root,root) %{_libdir}/%{pname}/VBoxPython*.so
705 %attr(755,root,root) %{_libdir}/%{pname}/VBoxREM.so
706 %ifarch %{ix86}
707 %attr(755,root,root) %{_libdir}/%{pname}/VBoxREM32.so
708 %attr(755,root,root) %{_libdir}/%{pname}/VBoxREM64.so
709 %endif
710 %attr(755,root,root) %{_libdir}/%{pname}/VBoxRT.so
711 %attr(755,root,root) %{_libdir}/%{pname}/VBoxSDL
712 %attr(755,root,root) %{_libdir}/%{pname}/VBoxSharedClipboard.so
713 %attr(755,root,root) %{_libdir}/%{pname}/VBoxSharedCrOpenGL.so
714 %attr(755,root,root) %{_libdir}/%{pname}/VBoxSharedFolders.so
715 %attr(755,root,root) %{_libdir}/%{pname}/VBoxSVC
716 %attr(755,root,root) %{_libdir}/%{pname}/VBoxSysInfo.sh
717 %attr(755,root,root) %{_libdir}/%{pname}/VBoxTestOGL
718 %attr(755,root,root) %{_libdir}/%{pname}/VBoxTunctl
719 %attr(755,root,root) %{_libdir}/%{pname}/VBoxVMM.so
720 %attr(755,root,root) %{_libdir}/%{pname}/VBoxVMMPreload
721 %attr(755,root,root) %{_libdir}/%{pname}/VBoxXPCOMC.so
722 %attr(755,root,root) %{_libdir}/%{pname}/VBoxXPCOMIPCD
723 %attr(755,root,root) %{_libdir}/%{pname}/VBoxXPCOM.so
724 %attr(755,root,root) %{_libdir}/%{pname}/VirtualBox
725 %attr(755,root,root) %{_libdir}/%{pname}/VirtualBox-wrapper.sh
726 %attr(755,root,root) %{_libdir}/%{pname}/ExtensionPacks/VNC/linux*/VBoxVNC*.so
727 %{_libdir}/%{pname}/VBoxDD2GC.debug
728 %{_libdir}/%{pname}/VBoxDD2GC.gc
729 %{_libdir}/%{pname}/VBoxDD2R0.debug
730 %{_libdir}/%{pname}/VBoxDD2R0.r0
731 %{_libdir}/%{pname}/VBoxDDGC.debug
732 %{_libdir}/%{pname}/VBoxDDGC.gc
733 %{_libdir}/%{pname}/VBoxDDR0.debug
734 %{_libdir}/%{pname}/VBoxDDR0.r0
735 %{_libdir}/%{pname}/VBoxEFI32.fd
736 %{_libdir}/%{pname}/VBoxEFI64.fd
737 %{_libdir}/%{pname}/VMMGC.debug
738 %{_libdir}/%{pname}/VMMGC.gc
739 %{_libdir}/%{pname}/VMMR0.debug
740 %{_libdir}/%{pname}/VMMR0.r0
741 %{_libdir}/%{pname}/components/VBoxXPCOMBase.xpt
742 %{_libdir}/%{pname}/ExtensionPacks/VNC/ExtPack.xml
743 %{_libdir}/%{pname}/components/VirtualBox_XPCOM.xpt
744 %attr(755,root,root) %{_libdir}/%{pname}/components/VBoxC.so
745 %attr(755,root,root) %{_libdir}/%{pname}/components/VBoxSVCM.so
746 %attr(755,root,root) %{_libdir}/%{pname}/components/VBoxXPCOMIPCC.so
747 %lang(bg) %{_libdir}/%{pname}/nls/*_bg.qm
748 %lang(ca) %{_libdir}/%{pname}/nls/*_ca.qm
749 %lang(ca_VA) %{_libdir}/%{pname}/nls/*_ca_VA.qm
750 %lang(cs) %{_libdir}/%{pname}/nls/*_cs.qm
751 %lang(da) %{_libdir}/%{pname}/nls/*_da.qm
752 %lang(de) %{_libdir}/%{pname}/nls/*_de.qm
753 %lang(en) %{_libdir}/%{pname}/nls/*_en.qm
754 %lang(es) %{_libdir}/%{pname}/nls/*_es.qm
755 %lang(eu) %{_libdir}/%{pname}/nls/*_eu.qm
756 %lang(fi) %{_libdir}/%{pname}/nls/*_fa_IR.qm
757 %lang(fi) %{_libdir}/%{pname}/nls/*_fi.qm
758 %lang(fr) %{_libdir}/%{pname}/nls/*_fr.qm
759 %lang(gl_ES) %{_libdir}/%{pname}/nls/*_gl_ES.qm
760 %lang(hu) %{_libdir}/%{pname}/nls/*_hu.qm
761 %lang(id) %{_libdir}/%{pname}/nls/*_id.qm
762 %lang(it) %{_libdir}/%{pname}/nls/*_it.qm
763 %lang(ja) %{_libdir}/%{pname}/nls/*_ja.qm
764 %lang(km_KH) %{_libdir}/%{pname}/nls/*_km_KH.qm
765 %lang(ko) %{_libdir}/%{pname}/nls/*_ko.qm
766 %lang(lt) %{_libdir}/%{pname}/nls/*_lt.qm
767 %lang(nl) %{_libdir}/%{pname}/nls/*_nl.qm
768 %lang(pl) %{_libdir}/%{pname}/nls/*_pl.qm
769 %lang(pt) %{_libdir}/%{pname}/nls/*_pt.qm
770 %lang(pt_BR) %{_libdir}/%{pname}/nls/*_pt_BR.qm
771 %lang(ro) %{_libdir}/%{pname}/nls/*_ro.qm
772 %lang(ru) %{_libdir}/%{pname}/nls/*_ru.qm
773 %lang(sk) %{_libdir}/%{pname}/nls/*_sk.qm
774 %lang(sr) %{_libdir}/%{pname}/nls/*_sr.qm
775 %lang(sv) %{_libdir}/%{pname}/nls/*_sv.qm
776 %lang(tr) %{_libdir}/%{pname}/nls/*_tr.qm
777 %lang(uk) %{_libdir}/%{pname}/nls/*_uk.qm
778 %lang(zh_CN) %{_libdir}/%{pname}/nls/*_zh_CN.qm
779 %lang(zh_TW) %{_libdir}/%{pname}/nls/*_zh_TW.qm
780 %{_pixmapsdir}/virtualbox.png
781 %{_desktopdir}/*.desktop
782 %{_libdir}/%{pname}/icons
783 %{_libdir}/%{pname}/virtualbox.xml
784
785 %config(noreplace) %verify(not md5 mtime size) /etc/udev/rules.d/virtualbox.rules
786 %attr(755,root,root) /lib/udev/VBoxCreateUSBNode.sh
787
788 %files additions
789 %defattr(644,root,root,755)
790 %{_libdir}/%{pname}/additions/VBoxGuestAdditions.iso
791
792 %files guest
793 %defattr(644,root,root,755)
794 %attr(755,root,root) /sbin/mount.vboxsf
795 %attr(754,root,root) /etc/rc.d/init.d/vboxservice
796 %{systemdunitdir}/vboxservice.service
797 %attr(755,root,root) %{_bindir}/VBoxControl
798 %attr(755,root,root) %{_bindir}/VBoxService
799
800 %files guest-x11
801 %defattr(644,root,root,755)
802 # NOTE: unfinished, should contain .desktop files for starting up mouse
803 # integration and other desktop services
804 # NOTE: the filelist is incomplete too
805 %attr(755,root,root) %{_bindir}/VBoxClient
806 /etc/X11/xinit/xinitrc.d/98vboxadd-xclient.sh
807 /etc/xdg/autostart/vboxclient.desktop
808
809 %attr(755,root,root) %{_libdir}/%{pname}/additions/autorun.sh
810 %attr(755,root,root) %{_libdir}/%{pname}/additions/vboxadd
811 %attr(755,root,root) %{_libdir}/%{pname}/additions/vboxadd-service
812 %attr(755,root,root) %{_libdir}/%{pname}/additions/vboxadd-x11
813
814 %if %{with webservice}
815 %files webservice
816 %defattr(644,root,root,755)
817 %attr(755,root,root) %{_libdir}/%{pname}/vboxwebsrv
818 %attr(755,root,root) %{_libdir}/%{pname}/webtest
819 %endif
820
821 %if %{with lightdm}
822 %files -n lightdm-greeter-vbox
823 %defattr(644,root,root,755)
824 %attr(755,root,root) %{_sbindir}/vbox-greeter
825 %{_datadir}/xgreeters/vbox-greeter.desktop
826 %endif
827
828 %files -n pam-pam_vbox
829 %defattr(644,root,root,755)
830 %attr(755,root,root) /%{_lib}/security/pam_vbox.so
831
832 %if %{with doc}
833 %files doc
834 %defattr(644,root,root,755)
835 # this is a symlink...
836 %doc %{_libdir}/%{pname}/UserManual.pdf
837 %lang(fr) %doc %{_libdir}/%{pname}/UserManual_fr_FR.pdf
838 # ..to this file
839 %doc %{outdir}/UserManual.pdf
840 %lang(fr) %doc %{outdir}/UserManual_fr_FR.pdf
841 %endif
842
843 %files -n xorg-driver-video-vboxvideo
844 %defattr(644,root,root,755)
845 %attr(755,root,root) %{_libdir}/xorg/modules/drivers/vboxvideo_drv.so
846 %attr(755,root,root) %{_libdir}/xorg/modules/dri/vboxvideo_dri.so
847 # vboxvideo_dri.so deps
848 %attr(755,root,root) %{_libdir}/VBoxOGLarrayspu.so
849 %attr(755,root,root) %{_libdir}/VBoxOGLcrutil.so
850 %attr(755,root,root) %{_libdir}/VBoxOGLerrorspu.so
851 %attr(755,root,root) %{_libdir}/VBoxOGLfeedbackspu.so
852 %attr(755,root,root) %{_libdir}/VBoxOGLpackspu.so
853 %attr(755,root,root) %{_libdir}/VBoxOGLpassthroughspu.so
854 %endif
855
856 %if %{with kernel}
857 %files -n kernel%{_alt_kernel}-virtualbox-guest
858 %defattr(644,root,root,755)
859 %config(noreplace) %verify(not md5 mtime size) /etc/modules-load.d/virtualbox-guest.conf
860 /lib/modules/%{_kernel_ver}/misc/vboxguest.ko*
861 /lib/modules/%{_kernel_ver}/misc/vboxsf.ko*
862 /lib/modules/%{_kernel_ver}/misc/vboxvideo.ko*
863
864 %files -n kernel%{_alt_kernel}-virtualbox-host
865 %config(noreplace) %verify(not md5 mtime size) /etc/modules-load.d/virtualbox-host.conf
866 /lib/modules/%{_kernel_ver}/misc/vboxdrv.ko*
867 /lib/modules/%{_kernel_ver}/misc/vboxnetadp.ko*
868 /lib/modules/%{_kernel_ver}/misc/vboxnetflt.ko*
869 /lib/modules/%{_kernel_ver}/misc/vboxpci.ko*
870 %endif
This page took 0.142922 seconds and 2 git commands to generate.