Browse Source

VirtualBox: update to 3.1.6


git-svn-id: http://trac.vinelinux.org/repos/projects/specs@859 ec354946-7b23-47d6-9f5a-488ba84defc7
daisuke 14 years ago
parent
commit
da787fe5ac
1 changed files with 64 additions and 35 deletions
  1. 64 35
      V/VirtualBox/VirtualBox-vl.spec

+ 64 - 35
V/VirtualBox/VirtualBox-vl.spec

@@ -1,4 +1,4 @@
-%define version	3.0.10
+%define version	3.1.6
 %define release	1%{?_dist_release}
 
 %define kname	vboxdrv
@@ -39,7 +39,7 @@ Source4:	60-vboxadd.perms
 Source10:	VirtualBox.png
 Patch2:		VirtualBox-1.5.6_OSE-kernelrelease.patch
 Patch4:		VirtualBox-1.6.0_OSE-futex.patch
-#Patch5:		VirtualBox-1.6.2_OSE-fix-timesync-req.patch
+Patch5:         virtualbox-fix-vboxadd-req.patch
 # (fc) 1.6.0-2mdv fix initscript name in VBox.sh script
 Patch6:		VirtualBox-1.6.0_OSE-initscriptname.patch
 # (fc) 2.0.2-2mdv disable version check at startup
@@ -50,8 +50,7 @@ Patch10:	VirtualBox-kernel-headers-2.6.29.patch
 Patch11:	15-wined3d-guest-addition.patch
 # (fc) 2.2.0-1mdv disable update notification (Debian)
 Patch12:	16-no-update.patch
-# (fc) 2.2.0-3mdv kill vboxclient if leftover from previous X11 session
-Patch15:	VirtualBox-2.2.0-killvboxclient.patch
+
 # vine
 Patch100:	VirtualBox-2.2.2-buildfix.patch
 
@@ -81,7 +80,7 @@ BuildRequires:	gsoap-devel
 BuildRequires:  curl-devel
 BuildRequires:  alsa-lib-devel
 BuildRequires:	dkms
-BuildRequires:  kBuild
+BuildRequires:  kBuild >= 0.1.5p2
 BuildRequires:  yasm
 BuildRequires:  qt4-designer
 %ifarch x86_64
@@ -179,13 +178,12 @@ VirtualBox のゲストシステム用の X.org ビデオドライバです。
 %setup -q -n %{distname}
 %patch2 -p1 -b .kernelrelease
 %patch4 -p1 -b .futex
-#%patch5 -p1 -b .fix-timesync-req
+%patch5 -p1 -b .fix-timesync-req
 %patch6 -p1 -b .initscriptname
 %patch8 -p1 -b .versioncheck
 %patch10 -p1 -b .kernel-headers-2.6.29
 %patch11 -p1 -b .wined3d
 %patch12 -p1 -b .disable-update
-%patch15 -p1 -b .killvboxclient
 %patch100 -p1 -b .buildfix
 
 # remove prebuilt binaries
@@ -201,7 +199,7 @@ VBOX_WITH_TESTSUITE:=
 EOF
 
 %build
-./configure --disable-kmods
+./configure --disable-kmods --with-linux=$PWD/fake-linux
 
 %if !%{build_additions}
 sed -rie 's/(VBOX_WITH_LINUX_ADDITIONS\s+:=\s+).*/\1/' AutoConfig.kmk
@@ -209,10 +207,10 @@ echo VBOX_WITHOUT_ADDITIONS=1 >> LocalConfig.kmk
 %endif
 
 . ./env.sh
-kmk KBUILD_VERBOSE=2 TOOL_YASM_AS=yasm \
+kmk KBUILD_VERBOSE=2 \
+    TOOL_YASM_AS=yasm \
     VBOX_WITH_REGISTRATION_REQUEST= \
-    PATH_INS="$PWD/obj" \
-    KMK_REVISION=3000 KBUILD_KMK_REVISION=3000
+    %{?_smp_mflags} all
 
 %install
 rm -rf %{buildroot}
@@ -220,7 +218,7 @@ rm -rf %{buildroot}
 # install vbox components
 mkdir -p %{buildroot}%{vboxlibdir} %{buildroot}%{vboxdatadir} 
 
-(cd obj/bin && tar cf - --exclude=additions .) | \
+(cd out/%{vbox_platform}/release/bin && tar cf - --exclude=additions .) | \
 (cd %{buildroot}%{vboxlibdir} && tar xf -)
 
 # move noarch files to vboxdatadir
@@ -241,9 +239,12 @@ ln -s %{vboxdatadir}/VBox.sh %{buildroot}%{_bindir}/%{name}
 ln -s %{vboxdatadir}/VBox.sh %{buildroot}%{_bindir}/VBoxManage
 ln -s %{vboxdatadir}/VBox.sh %{buildroot}%{_bindir}/VBoxSDL
 ln -s %{vboxdatadir}/VBox.sh %{buildroot}%{_bindir}/VBoxHeadless
+#ln -s %{vboxdatadir}/VBox.sh %{buildroot}%{_bindir}/vboxwebsrv
 
-# move VBoxTunctl to bindir
-mv %{buildroot}%{vboxlibdir}/VBoxTunctl %{buildroot}%{_bindir}/
+# provide network control tools in bindir
+ln -s %{vboxlibdir}/VBoxTunctl %{buildroot}%{_bindir}/VBoxTunctl
+ln -s %{vboxlibdir}/VBoxNetAdpCtl %{buildroot}%{_bindir}/VBoxNetAdpCtl
+ln -s %{vboxlibdir}/VBoxNetDHCP %{buildroot}%{_bindir}/VBoxNetDHCP
 
 install -d %{buildroot}/var/run/%{name}
 
@@ -252,12 +253,11 @@ mkdir -p %{buildroot}%{_usr}/src/%{name}-%{version}-%{release}
 cat > vboxbuild << EOF
 #!/bin/sh
 set -e
-droot=\$(pwd)
-cd \$droot/%{kname}
-make KERN_DIR=\$1
-cp -f \$droot/%{kname}/Module.symvers \$droot/vboxnetflt
-cd \$droot/vboxnetflt
-make KERN_DIR=\$1
+make -C %{kname} KERN_DIR=\$1
+cp -f %{kname}/Module.symvers vboxnetflt
+cp -f %{kname}/Module.symvers vboxnetadp
+make -C vboxnetflt KERN_DIR=\$1
+make -C vboxnetadp KERN_DIR=\$1
 EOF
 install -m 0755 vboxbuild %{buildroot}%{_usr}/src/%{name}-%{version}-%{release}
 mv %{buildroot}%{vboxlibdir}/src/* %{buildroot}%{_usr}/src/%{name}-%{version}-%{release}/
@@ -271,6 +271,9 @@ BUILT_MODULE_NAME[0]=%{kname}
 DEST_MODULE_LOCATION[1]=/kernel/3rdparty/vbox
 BUILT_MODULE_LOCATION[1]=vboxnetflt/
 BUILT_MODULE_NAME[1]=vboxnetflt
+DEST_MODULE_LOCATION[2]=/kernel/3rdparty/vbox
+BUILT_MODULE_LOCATION[2]=vboxnetadp/
+BUILT_MODULE_NAME[2]=vboxnetadp
 AUTOINSTALL=yes
 EOF
 
@@ -279,21 +282,24 @@ mkdir -p %{buildroot}%{_sysconfdir}/udev/rules.d/
 cat > %{buildroot}%{_sysconfdir}/udev/rules.d/%{name}.rules << EOF
 KERNEL=="%{kname}", MODE="0666"
 EOF
+cat > %{buildroot}%{_sysconfdir}/udev/rules.d/vbox-additions.rules << EOF
+KERNEL=="vboxguest|vboxuser", ENV{ACL_MANAGE}="1"
+EOF
 
 # install additions
 %if %{build_additions}
 mkdir -p %{buildroot}%{_datadir}/hal/fdi/policy/20thirdparty
-#install -m755 src/VBox/Additions/linux/installer/vboxadd-timesync.sh %{buildroot}%{_initrddir}/vboxadd-timesync
+install -m755 src/VBox/Additions/linux/installer/vboxadd-service.sh %{buildroot}%{_initrddir}/vboxadd-timesync
 install -m755 src/VBox/Additions/x11/Installer/VBoxRandR.sh %{buildroot}%{_bindir}/VBoxRandR
 install -m755 src/VBox/Additions/linux/installer/90-vboxguest.fdi %{buildroot}%{_datadir}/hal/fdi/policy/20thirdparty/90-vboxguest.fdi
 
 install -d %{buildroot}%{_sysconfdir}/X11/xinit.d
 install -m755 src/VBox/Additions/x11/Installer/98vboxadd-xclient %{buildroot}%{_sysconfdir}/X11/xinit.d
 
-pushd obj/bin/additions
+pushd out/%{vbox_platform}/release/bin/additions
   install -d %{buildroot}/sbin %{buildroot}%{_sbindir} %{buildroot}/%{_libdir}/dri
-  install -m755 mountvboxsf %{buildroot}/sbin/mount.vboxsf
-#  install -m755 vboxadd-timesync %{buildroot}%{_sbindir}
+  install -m755 mount.vboxsf %{buildroot}/sbin/mount.vboxsf
+  install -m755 VBoxService %{buildroot}%{_sbindir}
 
   install -d %{buildroot}%{_sysconfdir}/security/console.perms.d/
   install -m644 %{SOURCE4} %{buildroot}%{_sysconfdir}/security/console.perms.d/
@@ -304,22 +310,29 @@ pushd obj/bin/additions
   install -m755 VBoxOGL*.so %{buildroot}%{_libdir}
   ln -s -f ../VBoxOGL.so %{buildroot}%{_libdir}/dri/vboxvideo_dri.so
 
+  install -d %{buildroot}%{_sysconfdir}/modprobe.preload.d
+  cat > %{buildroot}%{_sysconfdir}/modprobe.preload.d/vbox-guest-additions << EOF
+vboxadd
+vboxvfs
+EOF
+
   install -d %{buildroot}%{_libdir}/xorg/modules/{input,drivers}
-  install vboxmouse_drv_16.so %{buildroot}%{_libdir}/xorg/modules/input/vboxmouse_drv.so
-  install vboxvideo_drv_16.so %{buildroot}%{_libdir}/xorg/modules/drivers/vboxvideo_drv.so
+  install vboxmouse_drv_17.so %{buildroot}%{_libdir}/xorg/modules/input/vboxmouse_drv.so
+  install vboxvideo_drv_17.so %{buildroot}%{_libdir}/xorg/modules/drivers/vboxvideo_drv.so
+
   mkdir -p %{buildroot}%{_usr}/src/vboxadditions-%{version}-%{release}
   cat > %{buildroot}%{_usr}/src/vboxadditions-%{version}-%{release}/dkms.conf << EOF
 PACKAGE_NAME=vboxadditions
 PACKAGE_VERSION=%{version}-%{release}
-MAKE[0]="make -C \$kernel_source_dir M=\$dkms_tree/\$module/\$module_version/build/vboxadd &&
-cp \$dkms_tree/\$module/\$module_version/build/vboxadd/Module.symvers \$dkms_tree/\$module/\$module_version/build/vboxvfs &&
+MAKE[0]="make -C \$kernel_source_dir M=\$dkms_tree/\$module/\$module_version/build/vboxguest &&
+cp \$dkms_tree/\$module/\$module_version/build/vboxguest/Module.symvers \$dkms_tree/\$module/\$module_version/build/vboxvfs &&
 make -C \$kernel_source_dir M=\$dkms_tree/\$module/\$module_version/build/vboxvfs &&
 cp \$dkms_tree/\$module/\$module_version/build/vboxvfs/Module.symvers \$dkms_tree/\$module/\$module_version/build/vboxvideo &&
 make -C \$kernel_source_dir M=\$dkms_tree/\$module/\$module_version/build/vboxvideo"
 EOF
+
   i=0
-  cp -arf src/vboxvideo_drm src/vboxvideo
-  for kmod in vboxadd vboxvfs vboxvideo; do
+  for kmod in vboxguest vboxvfs vboxvideo; do
     mkdir -p %{buildroot}%{_usr}/src/vboxadditions-%{version}-%{release}/$kmod
     cp -a src/$kmod/* %{buildroot}%{_usr}/src/vboxadditions-%{version}-%{release}/$kmod/
     cat >> %{buildroot}%{_usr}/src/vboxadditions-%{version}-%{release}/dkms.conf << EOF
@@ -330,7 +343,7 @@ EOF
     i=$((i+1))
   done
   cat >> %{buildroot}%{_usr}/src/vboxadditions-%{version}-%{release}/dkms.conf << EOF
-CLEAN="make -C \$kernel_source_dir M=\$dkms_tree/\$module/\$module_version/build/vboxadd clean && 
+CLEAN="make -C \$kernel_source_dir M=\$dkms_tree/\$module/\$module_version/build/vboxguest clean && 
 make -C \$kernel_source_dir M=\$dkms_tree/\$module/\$module_version/build/vboxvfs clean && 
 make -C \$kernel_source_dir M=\$dkms_tree/\$module/\$module_version/build/vboxvideo clean "
 AUTOINSTALL=yes
@@ -402,10 +415,18 @@ set -x
 /usr/sbin/dkms --rpm_safe_upgrade remove -m %{name} -v %{version}-%{release} --all || :
 
 %if %{build_additions}
+%post guest-additions
+/sbin/chkconfig --add vboxadd-timesync
+
+%postun guest-additions
+if [ "$1" -ge "1" ]; then
+  /sbin/service vboxadd-timesync condrestart > /dev/null 2>&1 || :
+fi
+
 %preun guest-additions
 if [ $1 = 0 ]; then
-    service guest-additions stop > /dev/null 2>&1 ||:
-    /sbin/chkconfig --del guest-additions
+    service vboxadd-timesync stop > /dev/null 2>&1 ||:
+    /sbin/chkconfig --del vboxadd-timesync
 fi
 
 %post -n dkms-vboxadd
@@ -430,6 +451,9 @@ set -x
 %{_bindir}/VBoxSDL
 %{_bindir}/VBoxHeadless
 %{_bindir}/VBoxTunctl
+%{_bindir}/VBoxNetAdpCtl
+%{_bindir}/VBoxNetDHCP
+#%{_bindir}/vboxwebsrv
 %{vboxlibdir}
 %attr(4711,root,root) %{vboxlibdir}/VBoxHeadless
 %attr(4711,root,root) %{vboxlibdir}/VBoxSDL
@@ -455,13 +479,15 @@ set -x
 %files guest-additions
 %defattr(-,root,root)
 /sbin/mount.vboxsf
-#%{_initrddir}/vboxadd-timesync
-#%{_sbindir}/vboxadd-timesync
+%{_initrddir}/vboxadd-timesync
+%{_sbindir}/VBoxService
 %{_bindir}/VBoxClient
 %{_bindir}/VBoxControl
 %{_bindir}/VBoxRandR
 %{_sysconfdir}/security/console.perms.d/60-vboxadd.perms
+%{_sysconfdir}/udev/rules.d/vbox-additions.rules
 %{_sysconfdir}/X11/xinit.d/98vboxadd-xclient
+%{_sysconfdir}/modprobe.preload.d/vbox-guest-additions
 
 %files -n xorg-x11-drv-vboxmouse
 %defattr(-,root,root)
@@ -482,6 +508,9 @@ set -x
 
 
 %changelog
+* Sun Apr 18 2010 Daisuke SUZUKI <daisuke@linux.or.jp> 3.1.6-1
+- new upstream release
+
 * Tue Nov 17 2009 Daisuke SUZUKI <daisuke@linux.or.jp> 3.0.10-1
 - new upstream release
 - add missing BR: