X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=VirtualBox.spec;h=7e26aa9d5e245158b72641431cbb1ec215bb70c0;hb=9e4dd6a9479418e4bbf936847fae6599dbaacb8e;hp=f21adb1569089d44d8e8e8f550eff13d970580b8;hpb=ece7f2f1750293d06f06535ee882ca0567c7de89;p=packages%2FVirtualBox.git diff --git a/VirtualBox.spec b/VirtualBox.spec index f21adb1..7e26aa9 100644 --- a/VirtualBox.spec +++ b/VirtualBox.spec @@ -15,6 +15,7 @@ %bcond_without kernel # don't build kernel module %bcond_without userspace # don't build userspace package %bcond_with webservice # webservice (soap) support +%bcond_without lightdm # lightdm greeter %bcond_without verbose %bcond_with force_userspace # force userspace build (useful if alt_kernel is set) @@ -32,19 +33,20 @@ %define _enable_debug_packages 0 %endif -%define rel 3 +%define rel 8 %define pname VirtualBox Summary: VirtualBox - x86 hardware virtualizer Summary(pl.UTF-8): VirtualBox - wirtualizator sprzętu x86 Name: %{pname}%{_alt_kernel} -Version: 4.2.10 +Version: 4.2.12 Release: %{rel} License: GPL v2 Group: Applications/Emulators Source0: http://download.virtualbox.org/virtualbox/%{version}/%{pname}-%{version}.tar.bz2 -# Source0-md5: 99349df34caacdecbb7cf3908631c3f3 +# Source0-md5: 654e45054ae6589452508d37403dc800 Source1: http://download.virtualbox.org/virtualbox/%{version}/VBoxGuestAdditions_%{version}.iso -# Source1-md5: e49046cd56398f9f9b8410154f1a0393 +# Source1-md5: 403098e688f9e7f4273de680f6734983 +Source2: vboxservice.init Source3: %{pname}-vboxdrv.init Source4: %{pname}-vboxguest.init Source5: %{pname}-vboxnetflt.init @@ -66,6 +68,9 @@ Patch2: %{pname}-warning_workaround.patch Patch3: %{pname}-dri.patch Patch4: %{pname}-disable_build_NetBiosBin.patch Patch5: xserver-1.12.patch +Patch6: gcc48.patch +Patch7: lightdm-greeter-glib-includes.patch +Patch8: lightdm-greeter-g++-link.patch # ubuntu patches Patch10: 16-no-update.patch Patch11: 18-system-xorg.patch @@ -115,6 +120,7 @@ BuildRequires: libvncserver-devel >= 0.9.9 BuildRequires: libxml2-devel >= 2.6.26 BuildRequires: libxslt-devel >= 1.1.17 BuildRequires: libxslt-progs >= 1.1.17 +%{?with_lightdm:BuildRequires: lightdm-devel} BuildRequires: makeself BuildRequires: mkisofs BuildRequires: pam-devel @@ -125,7 +131,7 @@ BuildRequires: python-devel BuildRequires: python-modules BuildRequires: qt4-build >= 4.2.0 BuildRequires: qt4-linguist -BuildRequires: rpmbuild(macros) >= 1.627 +BuildRequires: rpmbuild(macros) >= 1.664 BuildRequires: sed >= 4.0 %if %{with doc} BuildRequires: texlive-fonts-bitstream @@ -150,9 +156,13 @@ Requires(pre): /usr/bin/getgid Requires(pre): /usr/sbin/groupadd Requires: QtCore >= 4.7.0 Requires: desktop-file-utils +Requires: fontconfig +Requires: fonts-Type1-urw Requires: libvncserver >= 0.9.9 +Requires: udev-core Suggests: gxmessage Provides: group(vbox) +Obsoletes: VirtualBox-udev < 4.2.10-5 ExclusiveArch: %{ix86} %{x8664} BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) @@ -163,6 +173,7 @@ BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %endif %define vbox_platform linux.%{vbox_arch} %define outdir out/%{vbox_platform}/release/bin +%define objdir out/%{vbox_platform}/release/obj %define _sbindir /sbin # workaround buggy 'file' results: @@ -236,20 +247,6 @@ Group: Documentation %description doc This package contains VirtualBox User Manual. -%package udev -Summary: udev rules for VirtualBox kernel modules -Summary(pl.UTF-8): Reguły udev dla modułów jądra Linuksa dla VirtualBoksa -Group: Base/Kernel -Requires: udev-core - -%description udev -udev rules for VirtualBox 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. - %package additions Summary: VirtualBox Guest Additions Group: Base @@ -263,19 +260,45 @@ 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 +Summary: VirtualBox Guest tools Group: Base -Obsoletes: 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} +Requires(post,preun): /sbin/chkconfig +Requires: rc-scripts +Suggests: kernel(vboxguest) +Suggests: kernel(vboxsf) +Suggests: pam-pam_vbox %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. +Host, including file sharing. -You should install this package in your Guest OS. +You should install this package in your Guest OS for base VirtualBox +communication + +%package guest-x11 +Summary: VirtualBox Guest Additions +Group: Base +Requires: %{name}-guest = %{version}-%{release} +Requires: xorg-driver-video-vboxvideo = %{version}-%{release} +Suggests: kernel(vboxvideo) +Obsoletes: xorg-driver-input-vboxmouse < %{version}-%{release} + +%description guest-x11 +Tools for X11 session that utilize kernel modules for supporting +integration with the Host, like tracking of mouse pointer movement and +X.org X11 video and mouse drivers + +You should install this package in your Guest OS for X11 session. + +%package -n lightdm-greeter-vbox +Summary: VirtualBox greeter for lightdm +Group: Themes +URL: http://www.virtualbox.org/manual/ch09.html#autologon_unix_lightdm +Requires: lightdm >= 1.0.1 +Provides: lightdm-greeter + +%description -n lightdm-greeter-vbox +VirtualBox greeter for LightDM. %package -n pam-pam_vbox Summary: PAM module to perform automated guest logons @@ -292,7 +315,7 @@ 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) <= 13.1 +Requires: xorg-xserver-server(videodrv-abi) <= 14.1 Requires: xorg-xserver-server(videodrv-abi) >= 2.0 %description -n xorg-driver-video-vboxvideo @@ -477,7 +500,7 @@ You should install this package in your Guest OS. Moduł jądra Linuksa dla VirtualBoksa - dostęp do plików systemu głównego z poziomu systemu gościa. -%package -n kernel%{_alt_kernel}-misc-vboxvideo +%package -n kernel%{_alt_kernel}-video-vboxvideo Summary: DRM support for VirtualBox Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa Release: %{rel}@%{_kernel_ver_str} @@ -491,12 +514,12 @@ Requires(postun): %releq_kernel %endif Provides: kernel(vboxvideo) = %{version}-%{rel} -%description -n kernel%{_alt_kernel}-misc-vboxvideo +%description -n kernel%{_alt_kernel}-video-vboxvideo DRM support for VirtualBox. You should install this package in your Guest OS. -%description -n kernel%{_alt_kernel}-misc-vboxvideo -l pl.UTF-8 +%description -n kernel%{_alt_kernel}-video-vboxvideo -l pl.UTF-8 Moduł jądra Linuksa dla VirtualBoksa - sterownik obsługi DRM. %prep @@ -507,6 +530,9 @@ Moduł jądra Linuksa dla VirtualBoksa - sterownik obsługi DRM. %patch3 -p1 %patch4 -p1 %patch5 -p1 +%patch6 -p1 +%patch7 -p1 +%patch8 -p1 %{__sed} -i -e 's,@VBOX_DOC_PATH@,%{_docdir}/%{name}-%{version},' \ -e 's/Categories=.*/Categories=Utility;Emulator;/' src/VBox/Installer/common/virtualbox.desktop.in @@ -552,6 +578,10 @@ kmk %{?_smp_mflags} \ VBOX_VERSION_STRING='$(VBOX_VERSION_MAJOR).$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD)'_PLD \ XSERVER_VERSION="$XSERVER_VERSION" \ VBOX_USE_SYSTEM_XORG_HEADERS=1 \ +%if %{with lightdm} + VBOX_WITH_LIGHTDM_GREETER=1 \ + VBOX_WITH_LIGHTDM_GREETER_PACKING=1 \ +%endif TOOL_GCC3_CFLAGS="%{rpmcflags}" \ TOOL_GCC3_CXXFLAGS="%{rpmcxxflags}" \ VBOX_GCC_OPT="%{rpmcxxflags}" \ @@ -581,7 +611,8 @@ rm -rf $RPM_BUILD_ROOT %if %{with userspace} install -d $RPM_BUILD_ROOT{%{_bindir},%{_sbindir},%{_libdir}/%{pname}/ExtensionPacks} \ $RPM_BUILD_ROOT{%{_pixmapsdir},%{_desktopdir}} \ - $RPM_BUILD_ROOT%{_libdir}/xorg/modules/{drivers,dri,input} + $RPM_BUILD_ROOT%{_libdir}/xorg/modules/{drivers,dri,input} \ + $RPM_BUILD_ROOT{/lib/udev,/etc/udev/rules.d} # test if we can hardlink -- %{_builddir} and $RPM_BUILD_ROOT on same partition if cp -al VBox.png $RPM_BUILD_ROOT/Vbox.png 2>/dev/null; then @@ -618,8 +649,8 @@ done %{__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 %{SOURCE11} $RPM_BUILD_ROOT/etc/udev/rules.d/virtualbox.rules +%{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname},/lib/udev}/VBoxCreateUSBNode.sh install -d $RPM_BUILD_ROOT/%{_lib}/security %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,/%{_lib}/security}/pam_vbox.so @@ -641,6 +672,12 @@ install -p -D src/VBox/Additions/x11/Installer/98vboxadd-xclient \ cp -p src/VBox/Additions/x11/Installer/vboxclient.desktop \ $RPM_BUILD_ROOT/etc/xdg/autostart/vboxclient.desktop +%if %{with lightdm} +install -d $RPM_BUILD_ROOT%{_datadir}/xgreeters +install -p %{objdir}/vbox-greeter/vbox-greeter $RPM_BUILD_ROOT%{_sbindir} +cp -p %{objdir}/Additions/Installer/linux/share/VBoxGuestAdditions/vbox-greeter.desktop $RPM_BUILD_ROOT%{_datadir}/xgreeters +%endif + # unknown - checkme %if 1 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPInstall @@ -672,6 +709,7 @@ cp -p src/VBox/Additions/x11/Installer/vboxclient.desktop \ %if %{with kernel} install -d $RPM_BUILD_ROOT{/etc/{rc.d/init.d,modules-load.d},%{_sbindir},%{systemdunitdir}} +install -p %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxservice 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 @@ -713,6 +751,15 @@ rm -rf $RPM_BUILD_ROOT %post %update_desktop_database +for i in /sys/bus/usb/devices/*; do + if [ -r "$i/dev" ]; then + dev="`cat "$i/dev" 2>/dev/null || true`" + major="`expr "$dev" : '\(.*\):' 2> /dev/null || true`" + minor="`expr "$dev" : '.*:\(.*\)' 2> /dev/null || true`" + class="`cat $i/bDeviceClass 2> /dev/null || true`" + /lib/udev/VBoxCreateUSBNode.sh "$major" "$minor" "$class" vbox 2>/dev/null + fi +done cat << 'EOF' You must install vboxdrv kernel module for this software to work: @@ -726,7 +773,7 @@ Additionally you might want to install: On Guest Linux system you might want to install: kernel-misc-vboxguest-%{version}-%{rel}@%{_kernel_ver_str} kernel-misc-vboxsf-%{version}-%{rel}@%{_kernel_ver_str} - kernel-misc-vboxvideo-%{version}-%{rel}@%{_kernel_ver_str} + kernel-video-vboxvideo-%{version}-%{rel}@%{_kernel_ver_str} EOF @@ -735,6 +782,16 @@ if [ "$1" = "0" ]; then %groupremove vbox fi +%post guest +/sbin/chkconfig --add vboxservice +%service vboxservice restart + +%postun guest +if [ "$1" = "0" ]; then + /sbin/chkconfig --del vboxservice + %service vboxservice -q stop +fi + %post -n kernel%{_alt_kernel}-misc-vboxdrv %depmod %{_kernel_ver} %vbox_kernel_post -d vboxdrv VirtualBox Support Driver @@ -807,10 +864,10 @@ fi %postun -n kernel%{_alt_kernel}-misc-vboxsf %depmod %{_kernel_ver} -%post -n kernel%{_alt_kernel}-misc-vboxvideo +%post -n kernel%{_alt_kernel}-video-vboxvideo %depmod %{_kernel_ver} -%postun -n kernel%{_alt_kernel}-misc-vboxvideo +%postun -n kernel%{_alt_kernel}-video-vboxvideo %depmod %{_kernel_ver} %post kernel-init-host @@ -870,7 +927,6 @@ fi %attr(755,root,root) %{_libdir}/%{pname}/VBoxAutostart %attr(755,root,root) %{_libdir}/%{pname}/VBoxBFE %attr(755,root,root) %{_libdir}/%{pname}/VBoxBalloonCtrl -%attr(755,root,root) %{_libdir}/%{pname}/VBoxCreateUSBNode.sh %attr(755,root,root) %{_libdir}/%{pname}/VBoxDbg.so %attr(755,root,root) %{_libdir}/%{pname}/VBoxDD2.so %attr(755,root,root) %{_libdir}/%{pname}/VBoxDD.so @@ -967,18 +1023,26 @@ fi %{_libdir}/%{pname}/icons %{_libdir}/%{pname}/virtualbox.xml +%config(noreplace) %verify(not md5 mtime size) /etc/udev/rules.d/virtualbox.rules +%attr(755,root,root) /lib/udev/VBoxCreateUSBNode.sh + %files additions %defattr(644,root,root,755) %{_libdir}/%{pname}/additions/VBoxGuestAdditions.iso %files guest %defattr(644,root,root,755) +%attr(755,root,root) %{_sbindir}/mount.vboxsf +%attr(754,root,root) /etc/rc.d/init.d/vboxservice +%attr(755,root,root) %{_bindir}/VBoxControl +%attr(755,root,root) %{_bindir}/VBoxService + +%files guest-x11 +%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 @@ -987,6 +1051,13 @@ fi %attr(755,root,root) %{_libdir}/%{pname}/additions/vboxadd-service %attr(755,root,root) %{_libdir}/%{pname}/additions/vboxadd-x11 +%if %{with lightdm} +%files -n lightdm-greeter-vbox +%defattr(644,root,root,755) +%attr(755,root,root) %{_sbindir}/vbox-greeter +%{_datadir}/xgreeters/vbox-greeter.desktop +%endif + %files -n pam-pam_vbox %defattr(644,root,root,755) %attr(755,root,root) /%{_lib}/security/pam_vbox.so @@ -1002,10 +1073,6 @@ fi %lang(fr) %doc %{outdir}/UserManual_fr_FR.pdf %endif -%files udev -%defattr(644,root,root,755) -%config(noreplace) %verify(not md5 mtime size) /etc/udev/rules.d/virtualbox.rules - %files -n xorg-driver-video-vboxvideo %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/xorg/modules/drivers/vboxvideo_drv.so @@ -1066,10 +1133,9 @@ fi %files -n kernel%{_alt_kernel}-misc-vboxsf %defattr(644,root,root,755) %config(noreplace) %verify(not md5 mtime size) /etc/modules-load.d/vboxsf.conf -%attr(755,root,root) %{_sbindir}/mount.vboxsf /lib/modules/%{_kernel_ver}/misc/vboxsf.ko* -%files -n kernel%{_alt_kernel}-misc-vboxvideo +%files -n kernel%{_alt_kernel}-video-vboxvideo %defattr(644,root,root,755) /lib/modules/%{_kernel_ver}/misc/vboxvideo.ko* %endif