diff options
Diffstat (limited to 'main')
-rw-r--r-- | main/open-vm-tools-vserver/APKBUILD | 11 | ||||
-rw-r--r-- | main/open-vm-tools-vserver/linux-3.6-build-fix.patch | 63 |
2 files changed, 72 insertions, 2 deletions
diff --git a/main/open-vm-tools-vserver/APKBUILD b/main/open-vm-tools-vserver/APKBUILD index dbe681738..873074ddc 100644 --- a/main/open-vm-tools-vserver/APKBUILD +++ b/main/open-vm-tools-vserver/APKBUILD @@ -3,9 +3,9 @@ _flavor=vserver _realname=open-vm-tools _name=$_realname-$_flavor -_kver=3.4.13 +_kver=3.6.3 _kpkgrel=0 -_myvsver=vs2.3.3.8 +_myvsver=vs2.3.4.3-noxfs-nocow _mypkgrel=1 _realver=9.2.0_p799703 @@ -42,6 +42,7 @@ subpackages="" depends="linux-${_flavor}=${_kernelver}" makedepends="glib-dev gettext-dev linux-${_flavor}-dev=${_kernelver}" source="http://downloads.sourceforge.net/project/open-vm-tools/open-vm-tools/stable-${_realver%.*}.x/open-vm-tools-${_ver}.tar.gz + linux-3.6-build-fix.patch vmware-modules.initd " install_if="linux-${_flavor}=${_kernelver} open-vm-tools" @@ -50,6 +51,11 @@ _builddir="$srcdir/$_realname-$_ver" prepare() { cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done } build() { @@ -78,4 +84,5 @@ package() { } md5sums="37341978a00a1568b898a8ce024f9da9 open-vm-tools-9.2.0-799703.tar.gz +d9ffaf628837ea6a216b96dac69705e6 linux-3.6-build-fix.patch afba2c3487d0b12cee80eb2f04b05ba1 vmware-modules.initd" diff --git a/main/open-vm-tools-vserver/linux-3.6-build-fix.patch b/main/open-vm-tools-vserver/linux-3.6-build-fix.patch new file mode 100644 index 000000000..f012a3ff1 --- /dev/null +++ b/main/open-vm-tools-vserver/linux-3.6-build-fix.patch @@ -0,0 +1,63 @@ +diff -wbBur open-vm-tools-2012.05.21-724730.org/modules/linux/vmhgfs/inode.c open-vm-tools-2012.05.21-724730/modules/linux/vmhgfs/inode.c +--- open-vm-tools-2012.05.21-724730.org/modules/linux/vmhgfs/inode.c 2012-05-23 00:12:52.000000000 +0400 ++++ open-vm-tools-2012.05.21-724730/modules/linux/vmhgfs/inode.c 2012-10-02 15:39:47.000000000 +0400 +@@ -1801,7 +1802,7 @@ + #else + if (mask & MAY_ACCESS) { /* For sys_access. */ + #endif +- struct list_head *pos; ++ struct hlist_node *pos; + int dcount = 0; + struct dentry *dentry = NULL; + +@@ -1817,7 +1818,7 @@ + #endif + + /* Find a dentry with valid d_count. Refer bug 587789. */ +- list_for_each(pos, &inode->i_dentry) { ++ list_for_each(pos, inode->i_dentry.first) { + dentry = list_entry(pos, struct dentry, d_alias); + #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 38) + dcount = atomic_read(&dentry->d_count); +diff -wbBur open-vm-tools-2012.05.21-724730.org/modules/linux/vmhgfs/page.c open-vm-tools-2012.05.21-724730/modules/linux/vmhgfs/page.c +--- open-vm-tools-2012.05.21-724730.org/modules/linux/vmhgfs/page.c 2012-05-23 00:12:52.000000000 +0400 ++++ open-vm-tools-2012.05.21-724730/modules/linux/vmhgfs/page.c 2012-10-02 15:41:38.000000000 +0400 +@@ -893,7 +893,7 @@ + */ + if ((offset >= currentFileSize) || + ((pageFrom == 0) && (offset + pageTo) >= currentFileSize)) { +- void *kaddr = kmap_atomic(page, KM_USER0); ++ void *kaddr = kmap_atomic(page); + + if (pageFrom) { + memset(kaddr, 0, pageFrom); +@@ -901,7 +901,7 @@ + if (pageTo < PAGE_CACHE_SIZE) { + memset(kaddr + pageTo, 0, PAGE_CACHE_SIZE - pageTo); + } +- kunmap_atomic(kaddr, KM_USER0); ++ kunmap_atomic(kaddr); + flush_dcache_page(page); + } + } +diff -wbBur open-vm-tools-2012.05.21-724730.org/modules/linux/vmsync/sync.c open-vm-tools-2012.05.21-724730/modules/linux/vmsync/sync.c +--- open-vm-tools-2012.05.21-724730.org/modules/linux/vmsync/sync.c 2012-05-23 00:12:52.000000000 +0400 ++++ open-vm-tools-2012.05.21-724730/modules/linux/vmsync/sync.c 2012-10-02 15:23:56.000000000 +0400 +@@ -162,7 +162,7 @@ + cancel_delayed_work(&state->thawTask); + list_for_each_safe(cur, tmp, &state->devices) { + dev = list_entry(cur, VmSyncBlockDevice, list); +- if (dev->sb != NULL && dev->sb->s_frozen != SB_UNFROZEN) { ++ if (dev->sb != NULL && dev->sb->s_writers.frozen != SB_UNFROZEN) { + thaw_bdev(dev->bdev, dev->sb); + atomic_dec(&gFreezeCount); + } +@@ -237,7 +237,7 @@ + * the superblock is already frozen. + */ + if (inode->i_sb->s_bdev == NULL || +- inode->i_sb->s_frozen != SB_UNFROZEN) { ++ inode->i_sb->s_writers.frozen != SB_UNFROZEN) { + result = (inode->i_sb->s_bdev == NULL) ? -EINVAL : -EALREADY; + compat_path_release(&nd); + goto exit; |