forked from pool/virtualbox
Accepting request 1170065 from Virtualization
OBS-URL: https://build.opensuse.org/request/show/1170065 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/virtualbox?expand=0&rev=276
This commit is contained in:
commit
ffa9d6acc2
22
fix_shared_folder_time.patch
Normal file
22
fix_shared_folder_time.patch
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
Index: VirtualBox-7.0.14/src/VBox/Additions/linux/sharedfolders/utils.c
|
||||||
|
===================================================================
|
||||||
|
--- VirtualBox-7.0.14.orig/src/VBox/Additions/linux/sharedfolders/utils.c
|
||||||
|
+++ VirtualBox-7.0.14/src/VBox/Additions/linux/sharedfolders/utils.c
|
||||||
|
@@ -297,10 +297,14 @@ DECLINLINE(int) sf_file_mode_to_linux(ui
|
||||||
|
*/
|
||||||
|
static void vbsf_update_inode_timestamps(struct inode *pInode, PSHFLFSOBJINFO pObjInfo)
|
||||||
|
{
|
||||||
|
+/* Oracle has a bad fix for i_atime, etc missing from struct inode. The fix
|
||||||
|
+ * below produces the correct results, but is not correct either as it references
|
||||||
|
+ * variables such as __i_atime that are supposed to be hidden. Larry Finger
|
||||||
|
+ */
|
||||||
|
#if RTLNX_VER_MIN(6,6,0)
|
||||||
|
- struct timespec64 ts;
|
||||||
|
- vbsf_time_to_linux(&ts, &pObjInfo->ChangeTime);
|
||||||
|
- inode_set_ctime_to_ts(pInode, ts);
|
||||||
|
+ vbsf_time_to_linux(&pInode->__i_atime, &pObjInfo->AccessTime);
|
||||||
|
+ vbsf_time_to_linux(&pInode->__i_ctime, &pObjInfo->ChangeTime);
|
||||||
|
+ vbsf_time_to_linux(&pInode->__i_mtime, &pObjInfo->ModificationTime);
|
||||||
|
#else
|
||||||
|
vbsf_time_to_linux(&pInode->i_atime, &pObjInfo->AccessTime);
|
||||||
|
vbsf_time_to_linux(&pInode->i_ctime, &pObjInfo->ChangeTime);
|
@ -5,4 +5,5 @@
|
|||||||
%{kernel_module_directory}/%2-%1/extra/vboxnetadp.ko
|
%{kernel_module_directory}/%2-%1/extra/vboxnetadp.ko
|
||||||
%{kernel_module_directory}/%2-%1/extra/vboxnetflt.ko
|
%{kernel_module_directory}/%2-%1/extra/vboxnetflt.ko
|
||||||
%{kernel_module_directory}/%2-%1/extra/vboxguest.ko
|
%{kernel_module_directory}/%2-%1/extra/vboxguest.ko
|
||||||
|
%{kernel_module_directory}/%2-%1/extra/vboxsf.ko
|
||||||
%{kernel_module_directory}/%2-%1/extra/vboxvideo.ko
|
%{kernel_module_directory}/%2-%1/extra/vboxvideo.ko
|
||||||
|
@ -1,3 +1,10 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Apr 24 14:53:24 UTC 2024 - Larry Finger <Larry.Finger@gmail.com>
|
||||||
|
|
||||||
|
- Provide a temporary fix to the problem of wrong timestamp for files
|
||||||
|
in a shared folder since kernel 6.6. File "fix_shared_folder_time.patch"
|
||||||
|
is added. This change fixes boo#1220524.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Fri Apr 19 04:36:59 UTC 2024 - Larry Finger <Larry.Finger@gmail.com>
|
Fri Apr 19 04:36:59 UTC 2024 - Larry Finger <Larry.Finger@gmail.com>
|
||||||
|
|
||||||
|
@ -165,6 +165,7 @@ Patch42: kernel-6.8.patch
|
|||||||
Patch43: fixes_for_vboxconfig.patch
|
Patch43: fixes_for_vboxconfig.patch
|
||||||
Patch44: kernel-6.9.patch
|
Patch44: kernel-6.9.patch
|
||||||
Patch45: libxml21206.patch
|
Patch45: libxml21206.patch
|
||||||
|
Patch46: fix_shared_folder_time.patch
|
||||||
#
|
#
|
||||||
# Common BuildRequires for both virtualbox and virtualbox-kmp
|
# Common BuildRequires for both virtualbox and virtualbox-kmp
|
||||||
BuildRequires: %{kernel_module_package_buildreqs}
|
BuildRequires: %{kernel_module_package_buildreqs}
|
||||||
@ -485,6 +486,7 @@ This package contains the kernel-modules that VirtualBox uses to create or run v
|
|||||||
%patch -P 43 -p1
|
%patch -P 43 -p1
|
||||||
%patch -P 44 -p1
|
%patch -P 44 -p1
|
||||||
%patch -P 45 -p1
|
%patch -P 45 -p1
|
||||||
|
%patch -P 46 -p1
|
||||||
|
|
||||||
### Documents for virtualbox main package ###
|
### Documents for virtualbox main package ###
|
||||||
%if %{main_package}
|
%if %{main_package}
|
||||||
@ -551,6 +553,7 @@ EOF
|
|||||||
|
|
||||||
cat >> vbox-guest-tools.conf << EOF
|
cat >> vbox-guest-tools.conf << EOF
|
||||||
g vboxguest - - - -
|
g vboxguest - - - -
|
||||||
|
g vboxsf - - - -
|
||||||
%if 0%{?suse_version} <= 1500
|
%if 0%{?suse_version} <= 1500
|
||||||
g vboxvideo - - - -
|
g vboxvideo - - - -
|
||||||
%endif
|
%endif
|
||||||
@ -1104,10 +1107,10 @@ rm -rf src/libs/{libpng-*,libxml2-*,libxslt-*,zlib-*,boost-*}
|
|||||||
|
|
||||||
# build kernel modules for guest and host (check novel-kmp package as example)
|
# build kernel modules for guest and host (check novel-kmp package as example)
|
||||||
# host modules : vboxdrv,vboxnetflt,vboxnetadp
|
# host modules : vboxdrv,vboxnetflt,vboxnetadp
|
||||||
# guest modules : vboxguest,vboxvideo
|
# guest modules : vboxguest,vboxsf,vboxvideo
|
||||||
echo "build kernel modules"
|
echo "build kernel modules"
|
||||||
for vbox_module in kmp_host/vbox{drv,netflt,netadp} \
|
for vbox_module in kmp_host/vbox{drv,netflt,netadp} \
|
||||||
kmp_additions/vbox{guest,video}; do
|
kmp_additions/vbox{guest,sf,video}; do
|
||||||
#get the module name from path
|
#get the module name from path
|
||||||
module_name=$(basename "$vbox_module")
|
module_name=$(basename "$vbox_module")
|
||||||
|
|
||||||
@ -1133,8 +1136,9 @@ for vbox_module in kmp_host/vbox{drv,netflt,netadp} \
|
|||||||
$PWD/modules_build_dir/$flavor/$module_name
|
$PWD/modules_build_dir/$flavor/$module_name
|
||||||
SYMBOLS="$PWD/modules_build_dir/$flavor/vboxdrv/Module.symvers"
|
SYMBOLS="$PWD/modules_build_dir/$flavor/vboxdrv/Module.symvers"
|
||||||
fi
|
fi
|
||||||
# copy vboxguest (for guest) module symbols which are used by vboxvideo km's:
|
# copy vboxguest (for guest) module symbols which are used by vboxsf and vboxvideo km's:
|
||||||
if [ "$module_name" = "vboxvideo" ] ; then
|
if [ "$module_name" = "vboxsf" -o \
|
||||||
|
"$module_name" = "vboxvideo" ] ; then
|
||||||
cp $PWD/modules_build_dir/$flavor/vboxguest/Module.symvers \
|
cp $PWD/modules_build_dir/$flavor/vboxguest/Module.symvers \
|
||||||
$PWD/modules_build_dir/$flavor/$module_name
|
$PWD/modules_build_dir/$flavor/$module_name
|
||||||
SYMBOLS="$PWD/modules_build_dir/$flavor/vboxguest/Module.symvers"
|
SYMBOLS="$PWD/modules_build_dir/$flavor/vboxguest/Module.symvers"
|
||||||
@ -1149,7 +1153,7 @@ done
|
|||||||
export INSTALL_MOD_PATH=%{buildroot}
|
export INSTALL_MOD_PATH=%{buildroot}
|
||||||
export INSTALL_MOD_DIR=extra
|
export INSTALL_MOD_DIR=extra
|
||||||
#to install modules we use here similar steps like in build phase, go through all the modules :
|
#to install modules we use here similar steps like in build phase, go through all the modules :
|
||||||
for module_name in vbox{drv,netflt,netadp,guest,video}
|
for module_name in vbox{drv,netflt,netadp,guest,sf,video}
|
||||||
do
|
do
|
||||||
#and through all flavors
|
#and through all flavors
|
||||||
for flavor in %{flavors_to_build}; do
|
for flavor in %{flavors_to_build}; do
|
||||||
|
Loading…
Reference in New Issue
Block a user