From 525043c45b5672a0b8b16e1f0d95d0e6c896a5eafea6008b1f3ef608edf89410 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Thu, 26 Apr 2012 10:18:21 +0000 Subject: [PATCH] Accepting request 112911 from home:dimstar:branches:Virtualization:VMware Update to 8.8.2 OBS-URL: https://build.opensuse.org/request/show/112911 OBS-URL: https://build.opensuse.org/package/show/Virtualization:VMware/open-vm-tools?expand=0&rev=224 --- open-vm-tools-8.8.1-528969.tar.gz | 3 - open-vm-tools-8.8.2-590212.tar.gz | 3 + open-vm-tools.changes | 9 ++ open-vm-tools.spec | 6 +- vmhgfs-2011.12.20.patch | 241 ------------------------------ 5 files changed, 14 insertions(+), 248 deletions(-) delete mode 100644 open-vm-tools-8.8.1-528969.tar.gz create mode 100644 open-vm-tools-8.8.2-590212.tar.gz delete mode 100644 vmhgfs-2011.12.20.patch diff --git a/open-vm-tools-8.8.1-528969.tar.gz b/open-vm-tools-8.8.1-528969.tar.gz deleted file mode 100644 index 695d424..0000000 --- a/open-vm-tools-8.8.1-528969.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:eba9dfb87b3f1bcea9b956e417e5bbaefe1ff20b41ddcf1f49035f5cfb3c56c1 -size 3761288 diff --git a/open-vm-tools-8.8.2-590212.tar.gz b/open-vm-tools-8.8.2-590212.tar.gz new file mode 100644 index 0000000..6423acc --- /dev/null +++ b/open-vm-tools-8.8.2-590212.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c985c8fe7b292209ec1ac7c2b60749d7a9dd7859d789c332deb6baaf53ba8878 +size 3795261 diff --git a/open-vm-tools.changes b/open-vm-tools.changes index 58a504b..9842761 100644 --- a/open-vm-tools.changes +++ b/open-vm-tools.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Fri Apr 6 21:18:39 UTC 2012 - dimstar@opensuse.org + +- Update to version 8.8.2: + + Updated code for compatibility with newer Linux kernel + releases. + + Minor tweaks in Unity and Resolution set plugins +- Drop vmhgfs-2011.12.20.patch: fixed upstream. + ------------------------------------------------------------------- Fri Mar 30 21:02:32 UTC 2012 - dimstar@opensuse.org diff --git a/open-vm-tools.spec b/open-vm-tools.spec index 6195ab4..ef19614 100644 --- a/open-vm-tools.spec +++ b/open-vm-tools.spec @@ -32,9 +32,9 @@ %define with_X 1 Name: open-vm-tools -Version: 8.8.1 +Version: 8.8.2 Release: 0 -%define svn_rev 528969 +%define svn_rev 590212 Summary: Open Virtual Machine Tools License: BSD-3-Clause ; GPL-2.0 ; LGPL-2.1 Group: System/Emulators/PC @@ -47,7 +47,6 @@ Source5: vmware-user-autostart-wrapper Source6: open-vm-tools-modprobe.conf Source7: tools.conf Source98: preamble -Patch0: vmhgfs-2011.12.20.patch BuildRequires: gcc-c++ # don't use pkgconfig(gtk+-2.0) so we can build on SLE BuildRequires: gtk2-devel @@ -159,7 +158,6 @@ if you intend to create own plugins for vmtoolsd. %prep %setup -q -n %{name}-%{version}-%{svn_rev} -%patch0 -p1 chmod -x AUTHORS COPYING ChangeLog NEWS README # fix for an rpmlint warning regarding wrong line feeds sed -i -e "s/\r//" README diff --git a/vmhgfs-2011.12.20.patch b/vmhgfs-2011.12.20.patch deleted file mode 100644 index 9ffee73..0000000 --- a/vmhgfs-2011.12.20.patch +++ /dev/null @@ -1,241 +0,0 @@ -diff -urN open-vm-tools-8.8.1-528969/modules/linux/vmhgfs/file.c open-vm-tools-2011.12.20-562307/modules/linux/vmhgfs/file.c ---- open-vm-tools-8.8.1-528969/modules/linux/vmhgfs/file.c 2011-11-21 23:27:53.000000000 +0100 -+++ open-vm-tools-2011.12.20-562307/modules/linux/vmhgfs/file.c 2011-12-22 01:56:24.000000000 +0100 -@@ -83,6 +83,9 @@ - static int HgfsFsync(struct file *file, - #if defined VMW_FSYNC_OLD - struct dentry *dentry, -+#elif LINUX_VERSION_CODE >= KERNEL_VERSION(3, 1, 0) -+ loff_t start, -+ loff_t end, - #endif - int datasync); - static int HgfsMmap(struct file *file, -@@ -989,6 +992,9 @@ - HgfsFsync(struct file *file, // IN: File we operate on - #if defined VMW_FSYNC_OLD - struct dentry *dentry, // IN: Dentry for this file -+#elif LINUX_VERSION_CODE >= KERNEL_VERSION(3, 1, 0) -+ loff_t start, // IN: start of range to sync -+ loff_t end, // IN: end of range to sync - #endif - int datasync) // IN: fdatasync or fsync - { -diff -urN open-vm-tools-8.8.1-528969/modules/linux/vmhgfs/filesystem.c open-vm-tools-2011.12.20-562307/modules/linux/vmhgfs/filesystem.c ---- open-vm-tools-8.8.1-528969/modules/linux/vmhgfs/filesystem.c 2011-11-21 23:27:53.000000000 +0100 -+++ open-vm-tools-2011.12.20-562307/modules/linux/vmhgfs/filesystem.c 2011-12-22 01:56:24.000000000 +0100 -@@ -83,6 +83,7 @@ - static inline unsigned long HgfsComputeBlockBits(unsigned long blockSize); - static compat_kmem_cache_ctor HgfsInodeCacheCtor; - static HgfsSuperInfo *HgfsInitSuperInfo(HgfsMountInfo *mountInfo); -+static struct dentry *HgfsGetRootDentry(struct super_block *sb); - static int HgfsReadSuper(struct super_block *sb, - void *rawData, - int flags); -@@ -326,6 +327,82 @@ - - - /* -+ *---------------------------------------------------------------------------- -+ * -+ * HgfsGetRootDentry -- -+ * -+ * Gets the root dentry for a given super block. -+ * -+ * Results: -+ * A valid root dentry on success, NULL otherwise. -+ * -+ * Side effects: -+ * None. -+ * -+ *---------------------------------------------------------------------------- -+ */ -+ -+static struct dentry * -+HgfsGetRootDentry(struct super_block *sb) // IN: Super block object -+{ -+ struct dentry *rootDentry = NULL; -+ struct inode *rootInode; -+ -+ ASSERT(sb); -+ -+ LOG(6, (KERN_DEBUG "VMware hgfs: %s: entered\n", __func__)); -+ -+ rootInode = HgfsGetInode(sb, HGFS_ROOT_INO); -+ if (rootInode) { -+ HgfsInodeInfo *iinfo; -+ static const HgfsAttrInfo attr = { -+ .type = HGFS_FILE_TYPE_DIRECTORY, -+ .size = 4192, -+ .specialPerms = 0, -+ .ownerPerms = HGFS_PERM_READ | HGFS_PERM_EXEC, -+ .groupPerms = HGFS_PERM_READ | HGFS_PERM_EXEC, -+ .otherPerms = HGFS_PERM_READ | HGFS_PERM_EXEC, -+ .mask = HGFS_ATTR_VALID_TYPE | -+ HGFS_ATTR_VALID_SIZE | -+ HGFS_ATTR_VALID_SPECIAL_PERMS | -+ HGFS_ATTR_VALID_OWNER_PERMS | -+ HGFS_ATTR_VALID_GROUP_PERMS | -+ HGFS_ATTR_VALID_OTHER_PERMS, -+ }; -+ -+ /* -+ * On an allocation failure in read_super, the inode will have been -+ * marked "bad". If it was, we certainly don't want to start playing with -+ * the HgfsInodeInfo. So quietly put the inode back and fail. -+ */ -+ if (is_bad_inode(rootInode)) { -+ LOG(6, (KERN_DEBUG "VMware hgfs: %s: encountered bad inode\n", -+ __func__)); -+ iput(rootInode); -+ goto exit; -+ } -+ -+ HgfsChangeFileAttributes(rootInode, &attr); -+ -+ iinfo = INODE_GET_II_P(rootInode); -+ iinfo->isFakeInodeNumber = FALSE; -+ iinfo->isReferencedInode = TRUE; -+ } -+ -+ rootDentry = d_alloc_root(rootInode); -+ if (rootDentry == NULL) { -+ LOG(4, (KERN_WARNING "VMware hgfs: %s: Could not get " -+ "root dentry\n", __func__)); -+ goto exit; -+ } -+ -+ LOG(6, (KERN_DEBUG "VMware hgfs: %s: finished\n", __func__)); -+exit: -+ return rootDentry; -+} -+ -+ -+/* - *----------------------------------------------------------------------------- - * - * HgfsReadSuper -- -@@ -354,10 +431,10 @@ - void *rawData, // IN: Fs-specific mount data - int flags) // IN: Mount flags - { -- int result; -+ int result = 0; - HgfsSuperInfo *si; - HgfsMountInfo *mountInfo; -- struct dentry *rootDentry; -+ struct dentry *rootDentry = NULL; - - ASSERT(sb); - -@@ -401,26 +478,11 @@ - sb->s_blocksize_bits = HgfsComputeBlockBits(HGFS_BLOCKSIZE); - sb->s_blocksize = 1 << sb->s_blocksize_bits; - -- /* -- * We can't use d_alloc_root() here directly because it requires a valid -- * inode, which only HgfsInstantiate will create. So instead, we'll do the -- * work in pieces. First we'll allocate the dentry and setup its parent -- * and superblock. Then HgfsInstantiate will do the rest, issuing a getattr, -- * getting the inode, and instantiating the dentry with it. -- */ -- rootDentry = compat_d_alloc_name(NULL, "/"); -+ rootDentry = HgfsGetRootDentry(sb); - if (rootDentry == NULL) { -- LOG(4, (KERN_WARNING "VMware hgfs: HgfsReadSuper: Could not allocate " -- "root dentry\n")); -- result = -ENOMEM; -- goto exit; -- } -- rootDentry->d_parent = rootDentry; -- rootDentry->d_sb = sb; -- result = HgfsInstantiate(rootDentry, HGFS_ROOT_INO, NULL); -- if (result) { - LOG(4, (KERN_WARNING "VMware hgfs: HgfsReadSuper: Could not instantiate " - "root dentry\n")); -+ result = -ENOMEM; - goto exit; - } - sb->s_root = rootDentry; -diff -urN open-vm-tools-8.8.1-528969/modules/linux/vmhgfs/fsutil.c open-vm-tools-2011.12.20-562307/modules/linux/vmhgfs/fsutil.c ---- open-vm-tools-8.8.1-528969/modules/linux/vmhgfs/fsutil.c 2011-11-21 23:27:53.000000000 +0100 -+++ open-vm-tools-2011.12.20-562307/modules/linux/vmhgfs/fsutil.c 2011-12-22 01:56:24.000000000 +0100 -@@ -62,6 +62,31 @@ - * Private function implementations. - */ - -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 2, 0) -+/* -+ *---------------------------------------------------------------------------- -+ * -+ * set_nlink -- -+ * -+ * Set an inode's link count. -+ * -+ * Results: -+ * None -+ * -+ * Side effects: -+ * None -+ * -+ *---------------------------------------------------------------------------- -+ */ -+ -+static inline void -+set_nlink(struct inode *inode, unsigned int nlink) -+{ -+ inode->i_nlink = nlink; -+} -+#endif -+ -+ - /* - *---------------------------------------------------------------------- - * -@@ -607,7 +632,7 @@ - * account for '.' and ".."), and find printed a hard link error. So until - * we have getattr support for nlink, everyone gets 1. - */ -- inode->i_nlink = 1; -+ set_nlink(inode, 1); - - /* - * Use the stored uid and gid if we were given them at mount-time, or if -diff -urN open-vm-tools-8.8.1-528969/modules/linux/vmhgfs/Makefile open-vm-tools-2011.12.20-562307/modules/linux/vmhgfs/Makefile ---- open-vm-tools-8.8.1-528969/modules/linux/vmhgfs/Makefile 2011-11-21 23:27:53.000000000 +0100 -+++ open-vm-tools-2011.12.20-562307/modules/linux/vmhgfs/Makefile 2011-12-22 01:56:24.000000000 +0100 -@@ -46,7 +46,11 @@ - VM_UNAME = $(shell uname -r) - - # Header directory for the running kernel -+ifdef LINUXINCLUDE -+HEADER_DIR = $(LINUXINCLUDE) -+else - HEADER_DIR = /lib/modules/$(VM_UNAME)/build/include -+endif - - BUILD_DIR = $(HEADER_DIR)/.. - -@@ -123,9 +127,9 @@ - postbuild:: ; - - $(DRIVER_KO): prebuild -- make -C $(BUILD_DIR) SUBDIRS=$$PWD SRCROOT=$$PWD/$(SRCROOT) \ -+ $(MAKE) -C $(BUILD_DIR) SUBDIRS=$$PWD SRCROOT=$$PWD/$(SRCROOT) \ - MODULEBUILDDIR=$(MODULEBUILDDIR) modules -- make -C $$PWD SRCROOT=$$PWD/$(SRCROOT) \ -+ $(MAKE) -C $$PWD SRCROOT=$$PWD/$(SRCROOT) \ - MODULEBUILDDIR=$(MODULEBUILDDIR) postbuild - endif - -diff -urN open-vm-tools-8.8.1-528969/modules/linux/vmhgfs/tcp.c open-vm-tools-2011.12.20-562307/modules/linux/vmhgfs/tcp.c ---- open-vm-tools-8.8.1-528969/modules/linux/vmhgfs/tcp.c 2011-11-21 23:27:53.000000000 +0100 -+++ open-vm-tools-2011.12.20-562307/modules/linux/vmhgfs/tcp.c 2011-12-22 01:56:24.000000000 +0100 -@@ -32,6 +32,7 @@ - #include - #include - #include -+#include - #include - #include -