X-Git-Url: http://git.pld-linux.org/?p=packages%2FVirtualBox.git;a=blobdiff_plain;f=VirtualBox.spec;h=6ebdf852afe8841bfd62e7fc54839891ac74665e;hp=d3ac950009d78bd21cedbd569ad32245d58f6b3b;hb=9d8582d7dc0275fc7828cc82e8d4a3d572e3f20f;hpb=ecfe25a35200c727c117bd944be335e49759f06a diff --git a/VirtualBox.spec b/VirtualBox.spec index d3ac950..6ebdf85 100644 --- a/VirtualBox.spec +++ b/VirtualBox.spec @@ -1,12 +1,17 @@ # -# TODO: +# TODO +# - java bindings # - Find how to compile with PLD CFLAGS/CXXFLAGS/LDFLAGS. # - Package SDK. # - Package utils (and write initscripts ?) for Guest OS. # - Check License of VBoxGuestAdditions_*.iso, it's probably not GPL v2. # If so check if it is distributable. +# - resolve mess with subpackages? +# - addtions: iso (containing additions/*.iso) +# - guest: to be installed to guests (deps on x11 drivers) # # Conditional build: +%bcond_without doc # don't build the documentation %bcond_without dist_kernel # without distribution kernel %bcond_without kernel # don't build kernel module %bcond_without userspace # don't build userspace package @@ -27,35 +32,42 @@ %define _enable_debug_packages 0 %endif -%define rel 0.1 -%define pname VirtualBox +%define rel 4 +%define pname VirtualBox + Summary: VirtualBox OSE - x86 hardware virtualizer Summary(pl.UTF-8): VirtualBox OSE - wirtualizator sprzętu x86 Name: %{pname}%{_alt_kernel} -Version: 3.1.8 +Version: 4.0.8 Release: %{rel} License: GPL v2 Group: Applications/Emulators -Source0: http://download.virtualbox.org/virtualbox/%{version}/%{pname}-%{version}-OSE.tar.bz2 -# Source0-md5: 93b5caaac8571591c21b679987cbe518 -Source1: http://download.virtualbox.org/virtualbox/%{version}/UserManual.pdf -# Source1-md5: 8561a2b883fbede1e93b7dfb2238e7cc -Source2: http://download.virtualbox.org/virtualbox/%{version}/VBoxGuestAdditions_%{version}.iso -# Source2-md5: bfcf00607c6def732365bf83c6a45315 +Source0: http://download.virtualbox.org/virtualbox/%{version}/%{pname}-%{version}.tar.bz2 +# Source0-md5: a3e81289f2357fcf4bbe3e77805f38b6 +Source1: http://download.virtualbox.org/virtualbox/%{version}/VBoxGuestAdditions_%{version}.iso +# Source1-md5: 598ca9b231c1f1ff7817aa76c80f55d6 Source3: %{pname}-vboxdrv.init Source4: %{pname}-vboxguest.init Source5: %{pname}-vboxnetflt.init -Source6: %{pname}-vboxvfs.init +Source6: %{pname}-vboxsf.init Source7: %{pname}-vboxnetadp.init Source8: %{pname}.sh Source9: mount.vdi -Patch0: %{pname}-configure.patch -Patch1: %{pname}-configure-spaces.patch -Patch2: %{pname}-export_modules.patch -Patch3: %{pname}-VBoxSysInfo.patch -Patch4: %{pname}-gcc.patch +Source10: udev.rules +Patch0: %{pname}-configure-spaces.patch +Patch1: %{pname}-export_modules.patch +Patch2: %{pname}-VBoxSysInfo.patch +Patch3: %{pname}-warning_workaround.patch +Patch4: %{pname}-vnc.patch +Patch5: %{pname}-dri.patch +Patch6: %{pname}-vboxnetflt-no-qdisc.patch +# ubuntu patches +Patch7: 16-no-update.patch +Patch8: 18-system-xorg.patch +Patch9: 22-no-static-libstdcpp.patch +# /ubuntu patches URL: http://www.virtualbox.org/ -BuildRequires: rpmbuild(macros) >= 1.531 +BuildRequires: rpmbuild(macros) >= 1.535 %if %{with userspace} %ifarch %{x8664} BuildRequires: gcc-multilib @@ -66,8 +78,10 @@ BuildRequires: libstdc++-multilib-static %if "%{pld_release}" == "ac" BuildRequires: XFree86-devel %else +BuildRequires: xorg-lib-libXcomposite-devel BuildRequires: xorg-lib-libXcursor-devel BuildRequires: xorg-lib-libXmu-devel +BuildRequires: xorg-xserver-server-devel %endif BuildRequires: OpenGL-GLU-devel BuildRequires: OpenGL-devel @@ -81,16 +95,23 @@ BuildRequires: bash BuildRequires: bcc BuildRequires: bin86 BuildRequires: curl-devel +%{?with_doc:BuildRequires: docbook-dtd44-xml} BuildRequires: gcc >= 5:3.2.3 BuildRequires: libIDL-devel BuildRequires: libcap-static +BuildRequires: libdrm-devel BuildRequires: libpng-devel >= 1.2.5 BuildRequires: libstdc++-devel >= 5:3.2.3 BuildRequires: libstdc++-static >= 5:3.2.3 BuildRequires: libuuid-devel +BuildRequires: libvncserver-devel BuildRequires: libxml2-devel >= 2.6.26 BuildRequires: libxslt-devel >= 1.1.17 BuildRequires: libxslt-progs >= 1.1.17 +BuildRequires: makeself +BuildRequires: mkisofs +BuildRequires: pam-devel +BuildRequires: pixman-devel BuildRequires: pkgconfig BuildRequires: pulseaudio-devel >= 0.9.0 BuildRequires: python-devel @@ -98,6 +119,14 @@ BuildRequires: python-modules BuildRequires: qt4-build >= 4.2.0 BuildRequires: qt4-linguist BuildRequires: sed >= 4.0 +%if %{with doc} +BuildRequires: texlive-fonts-bitstream +BuildRequires: texlive-fonts-other +BuildRequires: texlive-fonts-type1-bitstream +BuildRequires: texlive-format-pdflatex +BuildRequires: texlive-latex-ucs +BuildRequires: texlive-xetex +%endif BuildRequires: which BuildRequires: xalan-c-devel >= 1.10.0 BuildRequires: xerces-c-devel >= 2.6.0 @@ -110,7 +139,7 @@ Requires(post,preun): /sbin/chkconfig Requires(postun): /usr/sbin/groupdel Requires(pre): /usr/bin/getgid Requires(pre): /usr/sbin/groupadd -Requires: QtCore >= 4.6.1 +Requires: QtCore >= 4.7.0 Suggests: gxmessage Provides: group(vbox) ExclusiveArch: %{ix86} %{x8664} @@ -125,7 +154,7 @@ BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %define _sbindir /sbin %description -InnoTek VirtualBox OSE is a general-purpose full virtualizer for x86 +Oracle VirtualBox OSE is a general-purpose full virtualizer for x86 hardware. Targeted at server, desktop and embedded use, it is now the only professional-quality virtualization solution that is also Open Source Software. @@ -146,8 +175,10 @@ virtual machines are stored entirely in XML and are independent of the local machines. Virtual machine definitions can therefore easily be ported to other computers. +You should install this package in your Host OS. + %description -l pl.UTF-8 -InnoTek VirtualBox OSE jest emulatorem sprzętu x86. Kierowany do +Oracle VirtualBox OSE jest emulatorem sprzętu x86. Kierowany do zastosowań serwerowych, desktopowych oraz wbudowanych jest obecnie jedynym wysokiej jakości rozwiązaniem wirtualizacyjnym dostępnym również jako Otwarte Oprogramowanie. @@ -168,16 +199,24 @@ wirtualnych są w całości przechowywane w XML-u i są niezależne od lokalnej maszyny. Dzięki temu można szybko i łatwo przenieść konfigurację maszyny wirtualnej na inny komputer. +%package doc +Summary: VirtualBox documentation +Group: Documentation + +%description doc +This package contains VirtualBox User Manual. + %package udev Summary: udev rules for VirtualBox OSE kernel modules Summary(pl.UTF-8): Reguły udev dla modułów jądra Linuksa dla VirtualBoksa -Release: %{rel} Group: Base/Kernel Requires: udev-core %description udev udev rules for VirtualBox OSE kernel modules. +You should install this package in your Host OS and in Guest OS. + %description udev -l pl.UTF-8 Reguły udev dla modułów jądra Linuksa dla VirtualBoksa. @@ -191,6 +230,61 @@ VirtualBox Guest Additions. This package contains ISO9660 image with drivers for Guest OS. +You should install this package in your Host OS. + +%package guest +Summary: VirtualBox Guest Additions +Group: Base +Requires: xorg-driver-input-vboxmouse = %{version}-%{release} +Requires: xorg-driver-video-vboxvideo = %{version}-%{release} +Suggests: kernel%{_alt_kernel}-misc-vboxsf = %{version}-%{rel}@%{_kernel_ver_str} +Suggests: kernel%{_alt_kernel}-misc-vboxvideo = %{version}-%{rel}@%{_kernel_ver_str} + +%description guest +Tools that utilize kernel modules for supporting integration with the +Host, including file sharing and tracking of mouse pointer movement +and X.org X11 video and mouse driver. + +You should install this package in your Guest OS. + +%package -n pam-pam_vbox +Summary: PAM module to perform automated guest logons +Group: Base + +%description -n pam-pam_vbox +PAM module (Pluggable Authentication Module) which can be used to +perform automated guest logons. + +%package -n xorg-driver-input-vboxmouse +Summary: X.org mouse driver for VirtualBox OSE guest OS +Summary(pl.UTF-8): Sterownik myszy dla systemu gościa w VirtualBoksie OSE +Group: X11/Applications +Requires: xorg-xserver-server >= 1.0.99.901 +Requires: xorg-xserver-server(xinput-abi) <= 12.2 +Requires: xorg-xserver-server(xinput-abi) >= 4.0 + +%description -n xorg-driver-input-vboxmouse +X.org mouse driver for VirtualBox OSE guest OS. + +%description -n xorg-driver-input-vboxmouse -l pl.UTF-8 +Sterownik myszy dla systemu gościa w VirtualBoksie. + +%package -n xorg-driver-video-vboxvideo +Summary: X.org video driver for VirtualBox OSE guest OS +Summary(pl.UTF-8): Sterownik grafiki dla systemu gościa w VirtualBoksie OSE +Group: X11/Applications +Requires: Mesa-dri-driver-swrast +Requires: xorg-xserver-libdri >= 1.7.4 +Requires: xorg-xserver-server >= 1.0.99.901 +Requires: xorg-xserver-server(videodrv-abi) <= 10.0 +Requires: xorg-xserver-server(videodrv-abi) >= 2.0 + +%description -n xorg-driver-video-vboxvideo +X.org video driver for VirtualBox OSE guest OS. + +%description -n xorg-driver-video-vboxvideo -l pl.UTF-8 +Sterownik grafiki dla systemu gościa w VirtualBoksie OSE. + %package -n kernel%{_alt_kernel}-misc-vboxguest Summary: VirtualBox OSE Guest Additions for Linux Module Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa OSE @@ -209,6 +303,8 @@ Conflicts: kernel%{_alt_kernel}-misc-vboxdrv %description -n kernel%{_alt_kernel}-misc-vboxguest VirtualBox OSE Guest Additions for Linux Module. +You should install this package in your Guest OS. + %description -n kernel%{_alt_kernel}-misc-vboxguest -l pl.UTF-8 Moduł jądra Linuksa vboxguest dla VirtualBoksa OSE - dodatki dla systemu gościa. @@ -229,6 +325,8 @@ Provides: kernel(vboxdrv) = %{version}-%{rel} %description -n kernel%{_alt_kernel}-misc-vboxdrv VirtualBox OSE Support Driver. +You should install this package in your Host OS. + %description -n kernel%{_alt_kernel}-misc-vboxdrv -l pl.UTF-8 Moduł jądra Linuksa dla VirtualBoksa OSE - sterownik wsparcia dla systemu głównego. @@ -250,6 +348,8 @@ Provides: kernel(vboxnetflt) = %{version}-%{rel} %description -n kernel%{_alt_kernel}-misc-vboxnetadp VirtualBox OSE Network Adapter Driver. +You should install this package in your Host OS. + %description -n kernel%{_alt_kernel}-misc-vboxnetadp -l pl.UTF-8 Moduł jądra Linuksa dla VirtualBoksa OSE - sterownik witrualnej karty sieciowej. @@ -271,6 +371,8 @@ Provides: kernel(vboxnetflt) = %{version}-%{rel} %description -n kernel%{_alt_kernel}-misc-vboxnetflt VirtualBox OSE Network Filter Driver. +You should install this package in your Host OS. + %description -n kernel%{_alt_kernel}-misc-vboxnetflt -l pl.UTF-8 Moduł jądra Linuksa dla VirtualBoksa OSE - sterownik filtrowania sieci dla systemu głównego. @@ -293,6 +395,8 @@ Obsoletes: kernel%{_alt_kernel}-misc-vboxvfs %description -n kernel%{_alt_kernel}-misc-vboxsf Host file system access (Shared Folders) for VirtualBox OSE. +You should install this package in your Guest OS. + %description -n kernel%{_alt_kernel}-misc-vboxsf -l pl.UTF-8 Moduł jądra Linuksa dla VirtualBoksa OSE - dostęp do plików systemu głównego z poziomu systemu gościa. @@ -306,7 +410,9 @@ Requires(post,postun): /sbin/depmod Requires: dev >= 2.9.0-7 %if %{with dist_kernel} %requires_releq_kernel +%if "%{rpm_build_macros}" >= "1.531" %requires_releq_kernel -n drm +%endif Requires(postun): %releq_kernel %endif Provides: kernel(vboxvideo) = %{version}-%{rel} @@ -314,40 +420,11 @@ Provides: kernel(vboxvideo) = %{version}-%{rel} %description -n kernel%{_alt_kernel}-misc-vboxvideo DRM support for VirtualBox OSE. +You should install this package in your Guest OS. + %description -n kernel%{_alt_kernel}-misc-vboxvideo -l pl.UTF-8 Moduł jądra Linuksa dla VirtualBoksa OSE - sterownik obsługi DRM. -%package -n xorg-driver-input-vboxmouse -Summary: X.org mouse driver for VirtualBox OSE guest OS -Summary(pl.UTF-8): Sterownik myszy dla systemu gościa w VirtualBoksie OSE -Release: %{rel} -Group: X11/Applications -Requires: xorg-xserver-server >= 1.0.99.901 -Requires: xorg-xserver-server(xinput-abi) <= 7.0 -Requires: xorg-xserver-server(xinput-abi) >= 4.0 - -%description -n xorg-driver-input-vboxmouse -X.org mouse driver for VirtualBox OSE guest OS. - -%description -n xorg-driver-input-vboxmouse -l pl.UTF-8 -Sterownik myszy dla systemu gościa w VirtualBoksie. - -%package -n xorg-driver-video-vboxvideo -Summary: X.org video driver for VirtualBox OSE guest OS -Summary(pl.UTF-8): Sterownik grafiki dla systemu gościa w VirtualBoksie OSE -Release: %{rel} -Group: X11/Applications -Requires: xorg-xserver-libdri >= 1.7.4 -Requires: xorg-xserver-server >= 1.0.99.901 -Requires: xorg-xserver-server(videodrv-abi) <= 6.0 -Requires: xorg-xserver-server(videodrv-abi) >= 2.0 - -%description -n xorg-driver-video-vboxvideo -X.org video driver for VirtualBox OSE guest OS. - -%description -n xorg-driver-video-vboxvideo -l pl.UTF-8 -Sterownik grafiki dla systemu gościa w VirtualBoksie OSE. - %prep %setup -q -n %{pname}-%{version}_OSE %patch0 -p1 @@ -355,56 +432,67 @@ Sterownik grafiki dla systemu gościa w VirtualBoksie OSE. %patch2 -p1 %patch3 -p1 %patch4 -p1 +%patch5 -p1 -%{__sed} -i -e 's,$VBOX_DOC_PATH,%{_docdir}/%{name}-%{version},' src/VBox/Installer/linux/virtualbox.desktop -%{__sed} -i -e 's/Categories=.*/Categories=Utility;Emulator;/' src/VBox/Installer/linux/virtualbox.desktop - -cat <<'EOF' > udev.conf -KERNEL=="vboxdrv", GROUP="vbox", MODE="0660" -KERNEL=="vboxguest", GROUP="vbox", MODE="0660" -KERNEL=="vboxnetctl", GROUP="vbox", MODE="0660" -EOF +%{__sed} -i -e 's,@VBOX_DOC_PATH@,%{_docdir}/%{name}-%{version},' \ + -e 's/Categories=.*/Categories=Utility;Emulator;/' src/VBox/Installer/common/virtualbox.desktop.in -cp -a %{SOURCE1} . sed 's#@LIBDIR@#%{_libdir}#' < %{SOURCE8} > VirtualBox-wrapper.sh -rm -rf PLD-MODULE-BUILD && mkdir PLD-MODULE-BUILD && cd PLD-MODULE-BUILD -../src/VBox/Additions/linux/export_modules modules.tar.gz - tar -zxf modules.tar.gz && rm -f modules.tar.gz -../src/VBox/HostDrivers/linux/export_modules modules.tar.gz --without-hardening && \ - tar -zxf modules.tar.gz && rm -f modules.tar.gz +install -d PLD-MODULE-BUILD/{GuestDrivers,HostDrivers} +cd PLD-MODULE-BUILD +../src/VBox/Additions/linux/export_modules guest-modules.tar.gz +tar -zxf guest-modules.tar.gz -C GuestDrivers + +../src/VBox/HostDrivers/linux/export_modules host-modules.tar.gz --without-hardening +tar -zxf host-modules.tar.gz -C HostDrivers +cd - +%patch6 -p1 +%patch7 -p1 +%patch8 -p1 +%patch9 -p1 %build %if %{with userspace} +echo "VBOX_WITH_TESTCASES := " > LocalConfig.kmk ./configure \ --with-gcc="%{__cc}" \ --with-g++="%{__cxx}" \ + %{!?with_doc:--disable-docs} \ + --disable-java \ --disable-hardening \ --disable-kmods +XSERVER_VERSION=$(rpm -q --queryformat '%{VERSION}\n' xorg-xserver-server-devel | awk -F. ' { print $1 $2 } ' 2> /dev/null || echo ERROR) . ./env.sh && \ -kmk -j1 %{?with_verbose:KBUILD_VERBOSE=3} USER=$(id -un) +kmk -j1 \ + %{?with_verbose:KBUILD_VERBOSE=3} \ + USER=$(id -un) \ + VBOX_VERSION_STRING='$(VBOX_VERSION_MAJOR).$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD)'_PLD \ + XSERVER_VERSION="$XSERVER_VERSION" %endif %if %{with kernel} -cd PLD-MODULE-BUILD -%build_kernel_modules -m vboxguest -C vboxguest +cd PLD-MODULE-BUILD/HostDrivers %build_kernel_modules -m vboxdrv -C vboxdrv %build_kernel_modules -m vboxnetadp -C vboxnetadp %build_kernel_modules -m vboxnetflt -C vboxnetflt + +cd ../GuestDrivers +%build_kernel_modules -m vboxguest -C vboxguest cp -a vboxguest/Module.symvers vboxsf %build_kernel_modules -m vboxsf -C vboxsf -c %build_kernel_modules -m vboxvideo -C vboxvideo_drm -cd .. -%{__cc} %{rpmcflags} %{rpmldflags} -Wall -Werror src/VBox/Additions/linux/sharedfolders/mount.vboxsf.c -o mount.vboxsf +cd ../.. +%{__cc} %{rpmcflags} %{rpmldflags} -Wall -Werror src/VBox/Additions/linux/sharedfolders/{mount.vboxsf.c,vbsfmount.c} -o mount.vboxsf %endif %install rm -rf $RPM_BUILD_ROOT %if %{with userspace} -install -d \ - $RPM_BUILD_ROOT{%{_bindir},%{_sbindir},%{_libdir},%{_pixmapsdir},%{_desktopdir}} \ +install -d $RPM_BUILD_ROOT{%{_bindir},%{_sbindir},%{_libdir}/%{pname}/ExtensionPacks} \ + $RPM_BUILD_ROOT{%{_pixmapsdir},%{_desktopdir}} \ $RPM_BUILD_ROOT%{_libdir}/xorg/modules/{drivers,dri,input} # test if we can hardlink -- %{_builddir} and $RPM_BUILD_ROOT on same partition @@ -413,55 +501,67 @@ if cp -al VBox.png $RPM_BUILD_ROOT/Vbox.png 2>/dev/null; then rm -f $RPM_BUILD_ROOT/VBox.png fi -cp -a$l %{outdir} $RPM_BUILD_ROOT%{_libdir}/%{pname} +cp -a$l %{outdir}/* $RPM_BUILD_ROOT%{_libdir}/%{pname} -cp -a %{SOURCE2} $RPM_BUILD_ROOT%{_libdir}/VirtualBox/additions/VBoxGuestAdditions.iso +cp -a %{SOURCE1} $RPM_BUILD_ROOT%{_libdir}/VirtualBox/additions/VBoxGuestAdditions.iso install -p %{SOURCE9} $RPM_BUILD_ROOT%{_sbindir}/mount.vdi install -p VirtualBox-wrapper.sh $RPM_BUILD_ROOT%{_libdir}/%{pname} for f in {VBox{BFE,Headless,Manage,SDL,SVC,Tunctl,XPCOMIPCD},VirtualBox}; do ln -s %{_libdir}/%{pname}/VirtualBox-wrapper.sh $RPM_BUILD_ROOT%{_bindir}/$f done -mv $RPM_BUILD_ROOT{%{_libdir}/%{pname},%{_pixmapsdir}}/VBox.png +mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/VBox.png,%{_pixmapsdir}/virtualbox.png} mv $RPM_BUILD_ROOT{%{_libdir}/%{pname},%{_desktopdir}}/virtualbox.desktop -mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/vboxmouse_drv_17.so,%{_libdir}/xorg/modules/input/vboxmouse_drv.so} -mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/vboxvideo_drv_17.so,%{_libdir}/xorg/modules/drivers/vboxvideo_drv.so} +mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/vboxmouse_drv.so,%{_libdir}/xorg/modules/input/vboxmouse_drv.so} +mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/vboxvideo_drv.so,%{_libdir}/xorg/modules/drivers/vboxvideo_drv.so} mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/VBoxOGL.so,%{_libdir}/xorg/modules/dri/vboxvideo_dri.so} # xorg other driver versions -rm -f $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/vboxmouse_drv*.{o,so} -rm -f $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/vboxvideo_drv*.{o,so} +rm -vf $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/vboxmouse_drv*.{o,so} +rm -vf $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/vboxvideo_drv*.{o,so} # XXX: where else to install them that vboxvideo_dri.so finds them? patch with rpath? +mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLarrayspu.so mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLcrutil.so -mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLpackspu.so mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLerrorspu.so mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLfeedbackspu.so +mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLpackspu.so mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLpassthroughspu.so install -d $RPM_BUILD_ROOT/etc/udev/rules.d -cp -a udev.conf $RPM_BUILD_ROOT/etc/udev/rules.d/virtualbox.rules +cp -a %{SOURCE10} $RPM_BUILD_ROOT/etc/udev/rules.d/virtualbox.rules + +install -d $RPM_BUILD_ROOT/%{_lib}/security +mv $RPM_BUILD_ROOT{%{_libdir}/VirtualBox/additions,/%{_lib}/security}/pam_vbox.so # cleanup unpackaged rm -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/{src,sdk,testcase} rm -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/src -rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxkeyboard.tar.gz +rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxkeyboard.tar.bz2 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/tst* +# IPRT Testcase / Tool - Source Code Massager. +rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/scm + +# Guest Only Tools +install -d $RPM_BUILD_ROOT/etc/{X11/xinit/xinitrc.d,xdg/autostart} +mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxService +mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxClient +mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxControl +install -p -D src/VBox/Additions/x11/Installer/98vboxadd-xclient \ + $RPM_BUILD_ROOT/etc/X11/xinit/xinitrc.d/98vboxadd-xclient.sh +cp -p src/VBox/Additions/x11/Installer/vboxclient.desktop \ + $RPM_BUILD_ROOT/etc/xdg/autostart/vboxclient.desktop + # unknown - checkme -rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/EfiThunk +%if 1 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPInstall rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPLoggerCtl rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPUninstall rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/VBox.sh -rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/VBoxEFI32.fd -rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/VBoxEFI64.fd -rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/VBoxClient -rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/VBoxControl -rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/VBoxOGLarrayspu.so -rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/VBoxService rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxshell.py rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/xpidl +%endif # packaged by kernel part rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/mount.vboxsf @@ -472,14 +572,14 @@ install -d $RPM_BUILD_ROOT{/etc/{rc.d/init.d,modprobe.d},%{_sbindir}} install -p %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxdrv install -p %{SOURCE4} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxguest install -p %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxnetflt -install -p %{SOURCE6} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxvfs +install -p %{SOURCE6} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxsf install -p %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxnetadp -%install_kernel_modules -m PLD-MODULE-BUILD/vboxdrv/vboxdrv -d misc -%install_kernel_modules -m PLD-MODULE-BUILD/vboxguest/vboxguest -d misc -%install_kernel_modules -m PLD-MODULE-BUILD/vboxnetadp/vboxnetadp -d misc -%install_kernel_modules -m PLD-MODULE-BUILD/vboxnetflt/vboxnetflt -d misc -%install_kernel_modules -m PLD-MODULE-BUILD/vboxsf/vboxsf -d misc -%install_kernel_modules -m PLD-MODULE-BUILD/vboxvideo_drm/vboxvideo -d misc +%install_kernel_modules -m PLD-MODULE-BUILD/HostDrivers/vboxdrv/vboxdrv -d misc +%install_kernel_modules -m PLD-MODULE-BUILD/HostDrivers/vboxnetadp/vboxnetadp -d misc +%install_kernel_modules -m PLD-MODULE-BUILD/HostDrivers/vboxnetflt/vboxnetflt -d misc +%install_kernel_modules -m PLD-MODULE-BUILD/GuestDrivers/vboxguest/vboxguest -d misc +%install_kernel_modules -m PLD-MODULE-BUILD/GuestDrivers/vboxsf/vboxsf -d misc +%install_kernel_modules -m PLD-MODULE-BUILD/GuestDrivers/vboxvideo_drm/vboxvideo -d misc install -p mount.vboxsf $RPM_BUILD_ROOT%{_sbindir}/mount.vboxsf @@ -493,7 +593,7 @@ rm -rf $RPM_BUILD_ROOT %post cat << 'EOF' -You must also install kernel module for this software to work: +You must install vboxdrv kernel module for this software to work: kernel-misc-vboxdrv-%{version}-%{rel}@%{_kernel_ver_str} Additionally you might want to install: @@ -505,14 +605,6 @@ On Guest Linux system you might want to install: kernel-misc-vboxsf-%{version}-%{rel}@%{_kernel_ver_str} kernel-misc-vboxvideo-%{version}-%{rel}@%{_kernel_ver_str} -NOTE: for different kernel brands append after word kernel the brand, like: - kernel-desktop-misc-vboxdrv-%{version}-%{rel}@%{_kernel_ver_str} - kernel-laptop-misc-vboxdrv-%{version}-%{rel}@%{_kernel_ver_str} - kernel-vanilla-misc-vboxdrv-%{version}-%{rel}@%{_kernel_ver_str} - ...etc. - -Depending on which kernel brand You use. - EOF %postun @@ -599,8 +691,8 @@ fi %if %{with userspace} %files %defattr(644,root,root,755) -%doc UserManual.pdf %dir %{_libdir}/VirtualBox +%dir %{_libdir}/VirtualBox/ExtensionPacks %dir %{_libdir}/VirtualBox/additions %dir %{_libdir}/VirtualBox/components %dir %{_libdir}/VirtualBox/nls @@ -612,48 +704,57 @@ fi %attr(755,root,root) %{_bindir}/VBoxTunctl %attr(755,root,root) %{_bindir}/VBoxXPCOMIPCD %attr(755,root,root) %{_bindir}/VirtualBox -%attr(755,root,root) /sbin/mount.vdi -%attr(755,root,root) %{_libdir}/VirtualBox/VBoxSVC +%attr(755,root,root) %{_sbindir}/mount.vdi +%attr(755,root,root) %{_libdir}/VirtualBox/DBGCPlugInDiggers.so +%attr(755,root,root) %{_libdir}/VirtualBox/VBoxAuth.so +%attr(755,root,root) %{_libdir}/VirtualBox/VBoxAuthSimple.so %attr(755,root,root) %{_libdir}/VirtualBox/VBoxBFE -%attr(755,root,root) %{_libdir}/VirtualBox/VBoxHeadless -%attr(755,root,root) %{_libdir}/VirtualBox/VBoxManage -%attr(755,root,root) %{_libdir}/VirtualBox/VBoxSDL -%attr(755,root,root) %{_libdir}/VirtualBox/VBoxTestOGL -%attr(755,root,root) %{_libdir}/VirtualBox/VBoxTunctl -%attr(755,root,root) %{_libdir}/VirtualBox/VBoxXPCOMIPCD -%attr(755,root,root) %{_libdir}/VirtualBox/VBoxDD.so +%attr(755,root,root) %{_libdir}/VirtualBox/VBoxCreateUSBNode.sh +%attr(755,root,root) %{_libdir}/VirtualBox/VBoxDbg.so %attr(755,root,root) %{_libdir}/VirtualBox/VBoxDD2.so +%attr(755,root,root) %{_libdir}/VirtualBox/VBoxDD.so %attr(755,root,root) %{_libdir}/VirtualBox/VBoxDDU.so +%attr(755,root,root) %{_libdir}/VirtualBox/VBoxExtPackHelperApp +%attr(755,root,root) %{_libdir}/VirtualBox/VBoxGuestControlSvc.so %attr(755,root,root) %{_libdir}/VirtualBox/VBoxGuestPropSvc.so +%attr(755,root,root) %{_libdir}/VirtualBox/VBoxHeadless %attr(755,root,root) %{_libdir}/VirtualBox/VBoxKeyboard.so +%attr(755,root,root) %{_libdir}/VirtualBox/VBoxManage %attr(755,root,root) %{_libdir}/VirtualBox/VBoxNetAdpCtl %attr(755,root,root) %{_libdir}/VirtualBox/VBoxNetDHCP %attr(755,root,root) %{_libdir}/VirtualBox/VBoxOGLhostcrutil.so %attr(755,root,root) %{_libdir}/VirtualBox/VBoxOGLhosterrorspu.so %attr(755,root,root) %{_libdir}/VirtualBox/VBoxOGLrenderspu.so -%attr(755,root,root) %{_libdir}/VirtualBox/VBoxPython.so -%attr(755,root,root) %{_libdir}/VirtualBox/VBoxPython2_6.so +%attr(755,root,root) %{_libdir}/VirtualBox/VBoxPython*.so %attr(755,root,root) %{_libdir}/VirtualBox/VBoxREM.so %ifarch %{ix86} %attr(755,root,root) %{_libdir}/VirtualBox/VBoxREM32.so %attr(755,root,root) %{_libdir}/VirtualBox/VBoxREM64.so %endif %attr(755,root,root) %{_libdir}/VirtualBox/VBoxRT.so +%attr(755,root,root) %{_libdir}/VirtualBox/VBoxSDL %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSharedClipboard.so %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSharedCrOpenGL.so %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSharedFolders.so +%attr(755,root,root) %{_libdir}/VirtualBox/VBoxSVC +%attr(755,root,root) %{_libdir}/VirtualBox/VBoxSysInfo.sh +%attr(755,root,root) %{_libdir}/VirtualBox/VBoxTestOGL +%attr(755,root,root) %{_libdir}/VirtualBox/VBoxTunctl %attr(755,root,root) %{_libdir}/VirtualBox/VBoxVMM.so -%attr(755,root,root) %{_libdir}/VirtualBox/VBoxXPCOM.so %attr(755,root,root) %{_libdir}/VirtualBox/VBoxXPCOMC.so +%attr(755,root,root) %{_libdir}/VirtualBox/VBoxXPCOMIPCD +%attr(755,root,root) %{_libdir}/VirtualBox/VBoxXPCOM.so %attr(755,root,root) %{_libdir}/VirtualBox/VirtualBox %attr(755,root,root) %{_libdir}/VirtualBox/VirtualBox-wrapper.sh -%attr(755,root,root) %{_libdir}/VirtualBox/VBoxSysInfo.sh %{_libdir}/VirtualBox/VBoxDD2GC.gc %{_libdir}/VirtualBox/VBoxDDGC.gc %{_libdir}/VirtualBox/VMMGC.gc %{_libdir}/VirtualBox/VBoxDD2R0.r0 %{_libdir}/VirtualBox/VBoxDDR0.r0 %{_libdir}/VirtualBox/VMMR0.r0 +%{_libdir}/VirtualBox/EfiThunk +%{_libdir}/VirtualBox/VBoxEFI32.fd +%{_libdir}/VirtualBox/VBoxEFI64.fd %{_libdir}/VirtualBox/components/VBoxXPCOMBase.xpt %{_libdir}/VirtualBox/components/VirtualBox_XPCOM.xpt %attr(755,root,root) %{_libdir}/VirtualBox/components/VBoxC.so @@ -662,20 +763,24 @@ fi %lang(ar) %{_libdir}/VirtualBox/nls/*_ar.qm %lang(bg) %{_libdir}/VirtualBox/nls/*_bg.qm %lang(ca) %{_libdir}/VirtualBox/nls/*_ca.qm +%lang(ca_VA) %{_libdir}/VirtualBox/nls/*_ca_VA.qm %lang(cs) %{_libdir}/VirtualBox/nls/*_cs.qm %lang(da) %{_libdir}/VirtualBox/nls/*_da.qm %lang(de) %{_libdir}/VirtualBox/nls/*_de.qm %lang(el) %{_libdir}/VirtualBox/nls/*_el.qm +%lang(en) %{_libdir}/VirtualBox/nls/*_en.qm %lang(es) %{_libdir}/VirtualBox/nls/*_es.qm %lang(eu) %{_libdir}/VirtualBox/nls/*_eu.qm %lang(fi) %{_libdir}/VirtualBox/nls/*_fi.qm %lang(fr) %{_libdir}/VirtualBox/nls/*_fr.qm +%lang(gl_ES) %{_libdir}/VirtualBox/nls/*_gl_ES.qm %lang(hu) %{_libdir}/VirtualBox/nls/*_hu.qm %lang(id) %{_libdir}/VirtualBox/nls/*_id.qm %lang(it) %{_libdir}/VirtualBox/nls/*_it.qm %lang(ja) %{_libdir}/VirtualBox/nls/*_ja.qm %lang(km_KH) %{_libdir}/VirtualBox/nls/*_km_KH.qm %lang(ko) %{_libdir}/VirtualBox/nls/*_ko.qm +%lang(lt) %{_libdir}/VirtualBox/nls/*_lt.qm %lang(nl) %{_libdir}/VirtualBox/nls/*_nl.qm %lang(pl) %{_libdir}/VirtualBox/nls/*_pl.qm %lang(pt) %{_libdir}/VirtualBox/nls/*_pt.qm @@ -689,13 +794,41 @@ fi %lang(uk) %{_libdir}/VirtualBox/nls/*_uk.qm %lang(zh_CN) %{_libdir}/VirtualBox/nls/*_zh_CN.qm %lang(zh_TW) %{_libdir}/VirtualBox/nls/*_zh_TW.qm -%{_pixmapsdir}/VBox.png +%{_pixmapsdir}/virtualbox.png %{_desktopdir}/*.desktop +%{_libdir}/VirtualBox/icons +%{_libdir}/VirtualBox/virtualbox.xml %files additions %defattr(644,root,root,755) %{_libdir}/VirtualBox/additions/VBoxGuestAdditions.iso +%files guest +%defattr(644,root,root,755) +# NOTE: unfinished, should contain .desktop files for starting up mouse +# integration and other desktop services +# NOTE: the filelist is incomplete too +%attr(755,root,root) %{_bindir}/VBoxClient +%attr(755,root,root) %{_bindir}/VBoxControl +%attr(755,root,root) %{_bindir}/VBoxService +/etc/X11/xinit/xinitrc.d/98vboxadd-xclient.sh +/etc/xdg/autostart/vboxclient.desktop + +%attr(755,root,root) %{_libdir}/VirtualBox/additions/autorun.sh +%attr(755,root,root) %{_libdir}/VirtualBox/additions/vboxadd +%attr(755,root,root) %{_libdir}/VirtualBox/additions/vboxadd-service +%attr(755,root,root) %{_libdir}/VirtualBox/additions/vboxadd-x11 + +%files -n pam-pam_vbox +%defattr(644,root,root,755) +%attr(755,root,root) /%{_lib}/security/pam_vbox.so + +%if %{with doc} +%files doc +%defattr(644,root,root,755) +%doc %{outdir}/UserManual.pdf +%endif + %files udev %defattr(644,root,root,755) %config(noreplace) %verify(not md5 mtime size) /etc/udev/rules.d/virtualbox.rules @@ -709,6 +842,7 @@ fi %attr(755,root,root) %{_libdir}/xorg/modules/drivers/vboxvideo_drv.so %attr(755,root,root) %{_libdir}/xorg/modules/dri/vboxvideo_dri.so # vboxvideo_dri.so deps +%attr(755,root,root) %{_libdir}/VBoxOGLarrayspu.so %attr(755,root,root) %{_libdir}/VBoxOGLcrutil.so %attr(755,root,root) %{_libdir}/VBoxOGLerrorspu.so %attr(755,root,root) %{_libdir}/VBoxOGLfeedbackspu.so @@ -739,7 +873,7 @@ fi %files -n kernel%{_alt_kernel}-misc-vboxsf %defattr(644,root,root,755) -%attr(754,root,root) /etc/rc.d/init.d/vboxvfs +%attr(754,root,root) /etc/rc.d/init.d/vboxsf %attr(755,root,root) %{_sbindir}/mount.vboxsf /lib/modules/%{_kernel_ver}/misc/vboxsf.ko*