+++ /dev/null
-diff -ur open-vm-tools-9.4.6-1770165/lib/include/vm_basic_types.h open-vm-tools-9.4.6-1770165-gcc5/lib/include/vm_basic_types.h
---- open-vm-tools-9.4.6-1770165/lib/include/vm_basic_types.h 2014-07-02 00:21:14.000000000 +0200
-+++ open-vm-tools-9.4.6-1770165-gcc5/lib/include/vm_basic_types.h 2015-11-22 00:35:43.844044867 +0100
-@@ -83,7 +83,7 @@
-
- /* STRICT ANSI means the Xserver build and X defines Bool differently. */
- #if !defined(_XTYPEDEF_BOOL) && \
-- (!defined(__STRICT_ANSI__) || defined(__FreeBSD__) || defined(__MINGW32__))
-+ (!defined(__STRICT_ANSI__) || defined(__FreeBSD__) || defined(__MINGW32__) || !defined(Bool))
- #define _XTYPEDEF_BOOL
- typedef char Bool;
- #endif
-diff -ur open-vm-tools-9.4.6-1770165/lib/include/vmblock.h open-vm-tools-9.4.6-1770165-gcc5/lib/include/vmblock.h
---- open-vm-tools-9.4.6-1770165/lib/include/vmblock.h 2014-07-02 00:21:14.000000000 +0200
-+++ open-vm-tools-9.4.6-1770165-gcc5/lib/include/vmblock.h 2015-11-22 00:37:51.554524645 +0100
-@@ -148,7 +148,7 @@
- # define VMBLOCK_DEVICE_MODE VMBLOCK_FUSE_DEVICE_MODE
- # define VMBLOCK_MOUNT_POINT VMBLOCK_FUSE_MOUNT_POINT
-
--#elif defined(linux)
-+#elif defined(__linux__)
- # define VMBLOCK_ADD_FILEBLOCK 98
- # define VMBLOCK_DEL_FILEBLOCK 99
- # ifdef VMX86_DEVEL
+++ /dev/null
-diff --git a/modules/linux/dkms.conf b/modules/linux/dkms.conf
-index 3ed77f9..263921f 100644
---- a/modules/linux/dkms.conf
-+++ b/modules/linux/dkms.conf
-@@ -1,39 +1,39 @@
- PACKAGE_NAME=open-vm-tools
- PACKAGE_VERSION=2013.04.16
- MAKE_CMD_TMPL="make VM_UNAME=\$kernelver \
-- MODULEBUILDDIR=$dkms_tree/$PACKAGE_NAME/$PACKAGE_VERSION/build"
-+ MODULEBUILDDIR=$dkms_tree/$PACKAGE_NAME/$PACKAGE_VERSION/build \
-+ CC_WARNINGS=-Wno-unused-local-typedefs"
-
- # The vsock module depends on symbols exported by the vmci module, so it
- # needs to be built afterwards; the MODULEBUILDDIR variable tells the makefiles
- # where to store / retrive those symbol files.
- MAKE[0]="$MAKE_CMD_TMPL -C vmblock; \
- $MAKE_CMD_TMPL -C vmci; \
- $MAKE_CMD_TMPL -C vmhgfs; \
- $MAKE_CMD_TMPL -C vmsync; \
- $MAKE_CMD_TMPL -C vmxnet; \
- $MAKE_CMD_TMPL -C vsock"
- CLEAN[0]="$MAKE_CMD_TMPL -C vmblock clean; \
- $MAKE_CMD_TMPL -C vmci clean; \
- $MAKE_CMD_TMPL -C vmhgfs clean; \
-- $MAKE_CMD_TMPL -C vmsync clean"; \
-+ $MAKE_CMD_TMPL -C vmsync clean; \
- $MAKE_CMD_TMPL -C vmxnet clean; \
-- $MAKE_CMD_TMPL -C vsock clean
-+ $MAKE_CMD_TMPL -C vsock clean"
- BUILT_MODULE_NAME[0]="vmblock"
- BUILT_MODULE_NAME[1]="vmci"
--BUILT_MODULE_NAME[2]="vmhgfs"
--BUILT_MODULE_NAME[3]="vmsync"
--BUILT_MODULE_NAME[4]="vmxnet"
--BUILT_MODULE_NAME[5]="vsock"
-+BUILT_MODULE_NAME[1]="vmhgfs"
-+BUILT_MODULE_NAME[2]="vmsync"
-+BUILT_MODULE_NAME[3]="vmxnet"
-+BUILT_MODULE_NAME[4]="vsock"
- BUILT_MODULE_LOCATION[0]="vmblock/"
- BUILT_MODULE_LOCATION[1]="vmci/"
--BUILT_MODULE_LOCATION[2]="vmhgfs/"
--BUILT_MODULE_LOCATION[3]="vmsync/"
--BUILT_MODULE_LOCATION[4]="vmxnet/"
--BUILT_MODULE_LOCATION[5]="vsock/"
-+BUILT_MODULE_LOCATION[1]="vmhgfs/"
-+BUILT_MODULE_LOCATION[2]="vmsync/"
-+BUILT_MODULE_LOCATION[3]="vmxnet/"
-+BUILT_MODULE_LOCATION[4]="vsock/"
- DEST_MODULE_LOCATION[0]="/kernel/fs/vmblock"
--DEST_MODULE_LOCATION[1]="/kernel/drivers/misc"
--DEST_MODULE_LOCATION[2]="/kernel/fs/vmhgfs"
--DEST_MODULE_LOCATION[3]="/kernel/drivers/misc"
--DEST_MODULE_LOCATION[4]="/kernel/drivers/net"
--DEST_MODULE_LOCATION[5]="/kernel/net/vsock"
-+DEST_MODULE_LOCATION[1]="/kernel/fs/vmhgfs"
-+DEST_MODULE_LOCATION[2]="/kernel/drivers/misc"
-+DEST_MODULE_LOCATION[3]="/kernel/drivers/net"
-+DEST_MODULE_LOCATION[4]="/kernel/net/vsock"
- AUTOINSTALL="YES"
-diff --git a/modules/linux/vmblock/linux/control.c b/modules/linux/vmblock/linux/control.c
-index 79716bd..ee64cdc 100644
---- a/modules/linux/vmblock/linux/control.c
-+++ b/modules/linux/vmblock/linux/control.c
-@@ -28,6 +28,7 @@
- #include <linux/proc_fs.h>
- #include <linux/stat.h>
- #include <linux/fs.h>
-+#include <linux/version.h>
-
- #include <asm/uaccess.h>
-
-@@ -208,9 +208,16 @@ SetupProcDevice(void)
- VMBlockSetProcEntryOwner(controlProcMountpoint);
-
- /* Create /proc/fs/vmblock/dev */
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0)
- controlProcEntry = create_proc_entry(VMBLOCK_CONTROL_DEVNAME,
- VMBLOCK_CONTROL_MODE,
- controlProcDirEntry);
-+#else
-+ controlProcEntry = proc_create(VMBLOCK_CONTROL_DEVNAME,
-+ VMBLOCK_CONTROL_MODE,
-+ controlProcDirEntry,
-+ &ControlFileOps);
-+#endif
- if (!controlProcEntry) {
- Warning("SetupProcDevice: could not create " VMBLOCK_DEVICE "\n");
- remove_proc_entry(VMBLOCK_CONTROL_MOUNTPOINT, controlProcDirEntry);
-@@ -218,7 +219,9 @@ SetupProcDevice(void)
- return -EINVAL;
- }
-
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0)
- controlProcEntry->proc_fops = &ControlFileOps;
-+#endif
- return 0;
- }
-
-@@ -278,7 +278,11 @@ ExecuteBlockOp(const char __user *buf, // IN: buffer with name
- int (*blockOp)(const char *filename, // IN: block operation
- const os_blocker_id_t blocker))
- {
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,9,0)
- char *name;
-+#else
-+ struct filename *name;
-+#endif
- int i;
- int retval;
-
-@@ -287,13 +287,26 @@ ExecuteBlockOp(const char __user *buf, // IN: buffer with name
- return PTR_ERR(name);
- }
-
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,9,0)
- for (i = strlen(name) - 1; i >= 0 && name[i] == '/'; i--) {
- name[i] = '\0';
-+#else
-+ for (i = strlen(name->name) - 1; i >= 0 && name->name[i] == '/'; i--) {
-+ ((char *)name->name)[i] = '\0';
-+#endif
- }
-
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,9,0)
- retval = i < 0 ? -EINVAL : blockOp(name, blocker);
-+#else
-+ retval = i < 0 ? -EINVAL : blockOp(name->name, blocker);
-+#endif
-
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,9,0)
- putname(name);
-+#else
-+ __putname(name);
-+#endif
-
- return retval;
- }
-diff --git a/modules/linux/vmblock/linux/dentry.c b/modules/linux/vmblock/linux/dentry.c
-index 05ea95a..d93b2f0 100644
---- a/modules/linux/vmblock/linux/dentry.c
-+++ b/modules/linux/vmblock/linux/dentry.c
-@@ -26,6 +26,7 @@
- #include "driver-config.h"
-
- #include <linux/fs.h>
-+#include <linux/version.h>
- #include "compat_namei.h"
- #include "vmblockInt.h"
- #include "filesystem.h"
-@@ -31,7 +31,11 @@
- #include "block.h"
-
-
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,9,0)
- static int DentryOpRevalidate(struct dentry *dentry, struct nameidata *nd);
-+#else
-+static int DentryOpRevalidate(struct dentry *dentry, unsigned int flags);
-+#endif
-
- struct dentry_operations LinkDentryOps = {
- .d_revalidate = DentryOpRevalidate,
-@@ -60,7 +59,11 @@ struct dentry_operations LinkDentryOps = {
-
- static int
- DentryOpRevalidate(struct dentry *dentry, // IN: dentry revalidating
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,9,0)
- struct nameidata *nd) // IN: lookup flags & intent
-+#else
-+ unsigned int flags) // IN: lookup flags
-+#endif
- {
- VMBlockInodeInfo *iinfo;
- struct nameidata actualNd;
-@@ -101,7 +100,11 @@ DentryOpRevalidate(struct dentry *dentry, // IN: dentry revalidating
- if (actualDentry &&
- actualDentry->d_op &&
- actualDentry->d_op->d_revalidate) {
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,9,0)
- return actualDentry->d_op->d_revalidate(actualDentry, nd);
-+#else
-+ return actualDentry->d_op->d_revalidate(actualDentry, flags);
-+#endif
- }
-
- if (compat_path_lookup(iinfo->name, 0, &actualNd)) {
-diff --git a/modules/linux/vmblock/linux/inode.c b/modules/linux/vmblock/linux/inode.c
-index 098c94c..ddd37f3 100644
---- a/modules/linux/vmblock/linux/inode.c
-+++ b/modules/linux/vmblock/linux/inode.c
-@@ -28,6 +28,7 @@
- #include <linux/fs.h>
- #include <linux/time.h>
- #include <linux/namei.h>
-+#include <linux/version.h>
-
- #include "vmblockInt.h"
- #include "filesystem.h"
-@@ -36,7 +36,11 @@
-
- /* Inode operations */
- static struct dentry *InodeOpLookup(struct inode *dir,
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,9,0)
- struct dentry *dentry, struct nameidata *nd);
-+#else
-+ struct dentry *dentry, unsigned int flags);
-+#endif
- static int InodeOpReadlink(struct dentry *dentry, char __user *buffer, int buflen);
- #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13)
- static void *InodeOpFollowlink(struct dentry *dentry, struct nameidata *nd);
-@@ -75,7 +75,11 @@ static struct inode_operations LinkInodeOps = {
- static struct dentry *
- InodeOpLookup(struct inode *dir, // IN: parent directory's inode
- struct dentry *dentry, // IN: dentry to lookup
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,9,0)
- struct nameidata *nd) // IN: lookup intent and information
-+#else
-+ unsigned int flags) // IN: lookup flags
-+#endif
- {
- char *filename;
- struct inode *inode;
-diff --git a/modules/linux/vmhgfs/file.c b/modules/linux/vmhgfs/file.c
-index 1033984..db62070 100644
---- a/modules/linux/vmhgfs/file.c
-+++ b/modules/linux/vmhgfs/file.c
-@@ -25,9 +25,11 @@
- /* Must come before any kernel header file. */
- #include "driver-config.h"
-
-+#include <linux/aio.h>
- #include <linux/errno.h>
- #include <linux/module.h>
- #include <linux/signal.h>
-+#include <linux/version.h>
- #include "compat_cred.h"
- #include "compat_fs.h"
- #include "compat_kernel.h"
-diff --git a/modules/linux/vmsync/sync.c b/modules/linux/vmsync/sync.c
-index d05ccad..73baf8b 100644
---- a/modules/linux/vmsync/sync.c
-+++ b/modules/linux/vmsync/sync.c
-@@ -43,6 +43,7 @@
- #include <asm/string.h>
- #include <linux/buffer_head.h>
- #include <linux/proc_fs.h>
-+#include <linux/version.h>
-
- #include "compat_fs.h"
- #include "compat_module.h"
-@@ -162,7 +162,11 @@ VmSyncThawDevices(void *_state) // IN
- cancel_delayed_work(&state->thawTask);
- list_for_each_safe(cur, tmp, &state->devices) {
- dev = list_entry(cur, VmSyncBlockDevice, list);
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,9,0)
- if (dev->sb != NULL && dev->sb->s_frozen != SB_UNFROZEN) {
-+#else
-+ if (dev->sb != NULL && dev->sb->s_writers.frozen != SB_UNFROZEN) {
-+#endif
- thaw_bdev(dev->bdev, dev->sb);
- atomic_dec(&gFreezeCount);
- }
-@@ -237,7 +237,11 @@ VmSyncAddPath(const VmSyncState *state, // IN
- * the superblock is already frozen.
- */
- if (inode->i_sb->s_bdev == NULL ||
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,9,0)
- inode->i_sb->s_frozen != SB_UNFROZEN) {
-+#else
-+ inode->i_sb->s_writers.frozen != SB_UNFROZEN) {
-+#endif
- result = (inode->i_sb->s_bdev == NULL) ? -EINVAL : -EALREADY;
- compat_path_release(&nd);
- goto exit;
-@@ -303,7 +303,11 @@ VmSyncFreezeDevices(VmSyncState *state, // IN
- const char __user *userPaths) // IN
- {
- int result = 0;
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,9,0)
- char *paths;
-+#else
-+ struct filename *paths;
-+#endif
- char *currPath;
- char *nextSep;
- struct list_head *cur, *tmp;
-@@ -328,7 +328,12 @@ VmSyncFreezeDevices(VmSyncState *state, // IN
- /*
- * First, try to add all paths to the list of paths to be frozen.
- */
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,9,0)
- currPath = paths;
-+#else
-+ currPath = __getname();
-+ strcpy(currPath, paths->name);
-+#endif
- do {
- nextSep = strchr(currPath, ':');
- if (nextSep != NULL) {
-@@ -347,6 +348,9 @@ VmSyncFreezeDevices(VmSyncState *state, // IN
- }
- currPath = nextSep + 1;
- } while (nextSep != NULL);
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0)
-+ __putname(currPath);
-+#endif
-
- /*
- * If adding all the requested paths worked, then freeze them.
-@@ -371,6 +373,10 @@ VmSyncFreezeDevices(VmSyncState *state, // IN
- compat_mutex_unlock(&state->lock);
- compat_mutex_unlock(&gFreezeLock);
-
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0)
-+ __putname(paths);
-+#endif
-+
- if (result == 0) {
- compat_schedule_delayed_work(&state->thawTask, VMSYNC_THAW_TASK_DELAY);
- }
-@@ -670,9 +674,16 @@ init_module(void)
- }
-
- /* Create /proc/driver/vmware-sync */
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,9,0)
- controlProcEntry = create_proc_entry("driver/vmware-sync",
- S_IFREG | S_IRUSR | S_IRGRP | S_IROTH,
- NULL);
-+#else
-+ controlProcEntry = proc_create("driver/vmware-sync",
-+ S_IFREG | S_IRUSR | S_IRGRP | S_IROTH,
-+ NULL,
-+ &VmSyncFileOps);
-+#endif
- if (!controlProcEntry) {
- printk(KERN_ERR "vmsync: could not create /proc/driver/vmware-sync\n");
- kmem_cache_destroy(gSyncStateCache);
-@@ -680,7 +685,9 @@ init_module(void)
- return -EINVAL;
- }
-
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,9,0)
- controlProcEntry->proc_fops = &VmSyncFileOps;
-+#endif
- return 0;
- }
-
+++ /dev/null
---- open-vm-tools.sept-update.orig/modules/linux/vmblock/linux/file.c 2013-10-05 16:02:32.361985782 -0500
-+++ open-vm-tools.sept-update/modules/linux/vmblock/linux/file.c 2013-10-05 16:02:32.357988581 -0500
-@@ -38,6 +38,7 @@
- typedef ino_t inode_num_t;
- #endif
-
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 12, 0)
- /* Specifically for our filldir_t callback */
- typedef struct FilldirInfo {
- filldir_t filldir;
-@@ -76,6 +77,7 @@
- }
-
-
-+#endif
- /* File operations */
-
- /*
-@@ -166,11 +126,17 @@
-
- static int
- FileOpReaddir(struct file *file, // IN
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 12, 0)
- void *dirent, // IN
- filldir_t filldir) // IN
-+#else
-+ struct dir_context *ctx) // IN
-+#endif
- {
- int ret;
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 12, 0)
- FilldirInfo info;
-+#endif
- struct file *actualFile;
-
- if (!file) {
-@@ -184,12 +143,19 @@
- return -EINVAL;
- }
-
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 12, 0)
- info.filldir = filldir;
- info.dirent = dirent;
-
- actualFile->f_pos = file->f_pos;
- ret = vfs_readdir(actualFile, Filldir, &info);
- file->f_pos = actualFile->f_pos;
-+#else
-+ /* Ricky Wong Yung Fei:
-+ * Manipulation of pos is now handled internally by iterate_dir().
-+ */
-+ ret = iterate_dir(actualFile, ctx);
-+#endif
-
- return ret;
- }
-@@ -237,7 +194,11 @@
-
-
- struct file_operations RootFileOps = {
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 12, 0)
- .readdir = FileOpReaddir,
-+#else
-+ .iterate = FileOpReaddir,
-+#endif
- .open = FileOpOpen,
- .release = FileOpRelease,
- };
---- open-vm-tools-9.4.0-1280544/modules/linux/vmblock/linux/inode.c~ 2014-02-08 12:40:26.486505188 +0100
-+++ open-vm-tools-9.4.0-1280544/modules/linux/vmblock/linux/inode.c 2014-02-08 17:15:30.956987114 +0100
-@@ -230,7 +230,12 @@
- goto out;
- }
-
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 12, 0)
-+ nd_set_link(nd, iinfo->name);
-+ ret = 0;
-+#else
- ret = vfs_follow_link(nd, iinfo->name);
-+#endif
-
- out:
- #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13)
---- open-vm-tools-9.4.0-1280544/modules/linux/vmhgfs/link.c~ 2013-09-23 17:51:10.000000000 +0200
-+++ open-vm-tools-9.4.0-1280544/modules/linux/vmhgfs/link.c 2014-02-08 17:17:37.996986192 +0100
-@@ -111,8 +111,14 @@
- error = -EINVAL;
- } else {
- LOG(6, (KERN_DEBUG "VMware hgfs: HgfsFollowlink: calling "
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 12, 0)
-+ "nd_set_link\n"));
-+ nd_set_link(nd, fileName);
-+ error = 0;
-+#else
- "vfs_follow_link\n"));
- error = vfs_follow_link(nd, fileName);
-+#endif
- }
- kfree(fileName);
- }
---- a/modules/linux/vsock/linux/af_vsock.c
-+++ b/modules/linux/vsock/linux/af_vsock.c
-@@ -3147,7 +3147,11 @@ __VSockVmciCreate(struct net *net,
- vsk->connectTimeout = psk->connectTimeout;
- } else {
- vsk->trusted = capable(CAP_NET_ADMIN);
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 12, 0)
- vsk->owner = current_uid();
-+#else
-+ vsk->owner = from_kuid(&init_user_ns, current_uid());
-+#endif
- vsk->queuePairSize = VSOCK_DEFAULT_QP_SIZE;
- vsk->queuePairMinSize = VSOCK_DEFAULT_QP_SIZE_MIN;
- vsk->queuePairMaxSize = VSOCK_DEFAULT_QP_SIZE_MAX;
---- a/modules/linux/vmhgfs/file.c
-+++ b/modules/linux/vmhgfs/file.c
-@@ -656,7 +656,12 @@ HgfsOpen(struct inode *inode, // IN: In
- iparent = dparent->d_inode;
-
- HgfsSetUidGid(iparent, file->f_dentry,
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 12, 0)
- current_fsuid(), current_fsgid());
-+#else
-+ from_kuid(&init_user_ns, current_fsuid()),
-+ from_kgid(&init_user_ns,current_fsgid()));
-+#endif
-
- dput(dparent);
- }
---- a/modules/linux/vmhgfs/filesystem.c
-+++ b/modules/linux/vmhgfs/filesystem.c
-@@ -231,13 +231,21 @@ HgfsInitSuperInfo(HgfsMountInfo *mountIn
- if (si->uidSet) {
- si->uid = mountInfo->uid;
- } else {
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 12, 0)
- si->uid = current_uid();
-+#else
-+ si->uid = from_kuid(&init_user_ns, current_uid());
-+#endif
- }
- si->gidSet = mountInfo->gidSet;
- if (si->gidSet) {
- si->gid = mountInfo->gid;
- } else {
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 12, 0)
- si->gid = current_gid();
-+#else
-+ si->gid = from_kgid(&init_user_ns, current_gid());
-+#endif
- }
- si->fmask = mountInfo->fmask;
- si->dmask = mountInfo->dmask;
---- a/modules/linux/vmhgfs/inode.c
-+++ b/modules/linux/vmhgfs/inode.c
-@@ -490,13 +490,21 @@ HgfsPackSetattrRequest(struct iattr *iat
-
- if (valid & ATTR_UID) {
- attrV2->mask |= HGFS_ATTR_VALID_USERID;
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 12, 0)
- attrV2->userId = iattr->ia_uid;
-+#else
-+ attrV2->userId = from_kuid(&init_user_ns, iattr->ia_uid);
-+#endif
- *changed = TRUE;
- }
-
- if (valid & ATTR_GID) {
- attrV2->mask |= HGFS_ATTR_VALID_GROUPID;
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 12, 0)
- attrV2->groupId = iattr->ia_gid;
-+#else
-+ attrV2->groupId = from_kgid(&init_user_ns, iattr->ia_gid);
-+#endif
- *changed = TRUE;
- }
-
-@@ -593,13 +593,21 @@ HgfsPackSetattrRequest(struct iattr *iat
-
- if (valid & ATTR_UID) {
- attrV2->mask |= HGFS_ATTR_VALID_USERID;
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 12, 0)
- attrV2->userId = iattr->ia_uid;
-+#else
-+ attrV2->userId = from_kuid(&init_user_ns, iattr->ia_uid);
-+#endif
- *changed = TRUE;
- }
-
- if (valid & ATTR_GID) {
- attrV2->mask |= HGFS_ATTR_VALID_GROUPID;
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 12, 0)
- attrV2->groupId = iattr->ia_gid;
-+#else
-+ attrV2->groupId = from_kgid(&init_user_ns, iattr->ia_gid);
-+#endif
- *changed = TRUE;
- }
-
-@@ -1192,7 +1192,12 @@ HgfsMkdir(struct inode *dir, // IN:
- * a Linux machine and as root, but we might as well give it
- * a go.
- */
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 12, 0)
- HgfsSetUidGid(dir, dentry, current_fsuid(), current_fsgid());
-+#else
-+ HgfsSetUidGid(dir, dentry, from_kuid(&init_user_ns, current_fsuid()),
-+ from_kgid(&init_user_ns, current_fsgid()));
-+#endif
- }
-
- /*
---- a/modules/linux/vmhgfs/fsutil.c
-+++ b/modules/linux/vmhgfs/fsutil.c
-@@ -639,14 +639,30 @@ HgfsChangeFileAttributes(struct inode *i
- * the server didn't give us a uid or gid.
- */
- if (si->uidSet || (attr->mask & HGFS_ATTR_VALID_USERID) == 0) {
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 12, 0)
- inode->i_uid = si->uid;
-+#else
-+ inode->i_uid = make_kuid(&init_user_ns, si->uid);
-+#endif
- } else {
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 12, 0)
- inode->i_uid = attr->userId;
-+#else
-+ inode->i_uid = make_kuid(&init_user_ns, attr->userId);
-+#endif
- }
- if (si->gidSet || (attr->mask & HGFS_ATTR_VALID_GROUPID) == 0) {
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 12, 0)
- inode->i_gid = si->gid;
-+#else
-+ inode->i_gid = make_kgid(&init_user_ns, si->gid);
-+#endif
- } else {
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 12, 0)
- inode->i_gid = attr->groupId;
-+#else
-+ inode->i_gid = make_kgid(&init_user_ns, attr->groupId);
-+#endif
- }
-
- inode->i_rdev = 0; /* Device nodes are not supported */
-@@ -1623,7 +1623,11 @@ HgfsSetUidGid(struct inode *parent,
- struct iattr setUidGid;
-
- setUidGid.ia_valid = ATTR_UID;
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 12, 0)
- setUidGid.ia_uid = uid;
-+#else
-+ setUidGid.ia_uid = make_kuid(&init_user_ns, uid);
-+#endif
-
- /*
- * Only set the gid if the host file system wouldn't have for us. See the
-@@ -1631,7 +1631,11 @@ HgfsSetUidGid(struct inode *parent,
- */
- if (!parent || !(parent->i_mode & S_ISGID)) {
- setUidGid.ia_valid |= ATTR_GID;
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 12, 0)
- setUidGid.ia_gid = gid;
-+#else
-+ setUidGid.ia_gid = make_kgid(&init_user_ns, gid);
-+#endif
- }
-
- /*
+++ /dev/null
---- open-vm-tools.sept-update/modules/linux/vmblock/linux/inode.c 2014-03-31 18:49:14.843009422 +0100
-+++ open-vm-tools.sept-update/modules/linux/vmblock/linux/inode.c 2014-03-31 18:50:52.617009677 +0100
-@@ -135,7 +135,12 @@ InodeOpLookup(struct inode *dir, //
- inode->i_size = INODE_TO_IINFO(inode)->nameLen;
- inode->i_version = 1;
- inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME;
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 14, 0)
- inode->i_uid = inode->i_gid = 0;
-+#else
-+ inode->i_uid = GLOBAL_ROOT_UID;
-+ inode->i_gid = GLOBAL_ROOT_GID;
-+#endif
- inode->i_op = &LinkInodeOps;
-
- d_add(dentry, inode);
---- open-vm-tools.sept-update/lib/include/vm_assert.h 2014-03-31 18:49:14.845009422 +0100
-+++ open-vm-tools.sept-update/lib/include/vm_assert.h 2014-03-31 18:49:21.390009439 +0100
-@@ -256,6 +256,7 @@ void WarningThrottled(uint32 *count, con
- __FILE__, __LINE__, __FUNCTION__, \
- _fix))
- #else
-+ #undef DEPRECATED /* in <linux/printk.h> since 3.14.0 */
- #define DEPRECATED(_fix) do {} while (0)
- #endif
-
+++ /dev/null
---- a/modules/linux/vmhgfs/link.c.orig 2014-04-23 10:11:34.891106441 +0100
-+++ a/modules/linux/vmhgfs/link.c 2014-04-23 00:49:03.000000000 +0100
-@@ -148,7 +148,7 @@
- *
- *----------------------------------------------------------------------
- */
--
-+#if LINUX_VERSION_CODE <= KERNEL_VERSION(3, 14, 99)
- static int
- HgfsReadlink(struct dentry *dentry, // IN: Dentry containing link
- char __user *buffer, // OUT: User buffer to copy link into
-@@ -186,3 +186,42 @@
- }
- return error;
- }
-+#else
-+static int
-+HgfsReadlink(struct dentry *dentry, // IN: Dentry containing link
-+ char __user *buffer, // OUT: User buffer to copy link into
-+ int buflen) // IN: Length of user buffer
-+
-+{
-+ HgfsAttrInfo attr;
-+ char *fileName = NULL;
-+ int error;
-+
-+ ASSERT(dentry);
-+ ASSERT(buffer);
-+
-+ if (!dentry) {
-+ LOG(4, (KERN_DEBUG "VMware hgfs: HgfsReadlink: null input\n"));
-+ return -EINVAL;
-+ }
-+
-+ LOG(6, (KERN_DEBUG "VMware hgfs: HgfsReadlink: calling "
-+ "HgfsPrivateGetattr\n"));
-+ error = HgfsPrivateGetattr(dentry, &attr, &fileName);
-+ if (!error) {
-+
-+ /* Let's make sure we got called on a symlink. */
-+ if (attr.type != HGFS_FILE_TYPE_SYMLINK || fileName == NULL) {
-+ LOG(6, (KERN_DEBUG "VMware hgfs: HgfsReadlink: got called "
-+ "on something that wasn't a symlink\n"));
-+ error = -EINVAL;
-+ } else {
-+ LOG(6, (KERN_DEBUG "VMware hgfs: HgfsReadlink: calling "
-+ "readlink_copy\n"));
-+ error = readlink_copy(buffer, buflen, fileName);
-+ }
-+ kfree(fileName);
-+ }
-+ return error;
-+}
-+#endif
---- open-vm-tools-9.4.0-1280544/modules/linux/vmblock/linux/inode.c~ 2014-07-12 12:00:49.000000000 +0200
-+++ open-vm-tools-9.4.0-1280544/modules/linux/vmblock/linux/inode.c 2014-07-12 12:36:59.427802346 +0200
-@@ -191,7 +191,11 @@
- return -EINVAL;
- }
-
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 15, 0)
- return vfs_readlink(dentry, buffer, buflen, iinfo->name);
-+#else
-+ return readlink_copy(buffer, buflen, iinfo->name);
-+#endif
- }
-
-
---- open-vm-tools-9.4.0-1280544/modules/linux/vsock/linux/notify.c 2014-04-14 23:36:15.779380482 +0200
-+++ open-vm-tools-9.4.0-1280544/modules/linux/vsock/linux/notify.c.new 2014-04-14 23:36:41.396381914 +0200
-@@ -516,7 +516,11 @@
- PKT_FIELD(vsk, sentWaitingRead) = FALSE;
- #endif
-
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 15, 0)
- sk->sk_data_ready(sk, 0);
-+#else
-+ sk->sk_data_ready(sk);
-+#endif
- }
-
-
---- open-vm-tools-9.4.0-1280544/modules/linux/vsock/linux/notifyQState.c 2013-10-18 19:56:12.000000000 +0200
-+++ open-vm-tools-9.4.0-1280544/modules/linux/vsock/linux/notifyQState.c.new 2014-04-14 23:37:53.316385936 +0200
-@@ -164,7 +164,11 @@
- struct sockaddr_vm *dst, // IN: unused
- struct sockaddr_vm *src) // IN: unused
- {
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 15, 0)
- sk->sk_data_ready(sk, 0);
-+#else
-+ sk->sk_data_ready(sk);
-+#endif
- }
-
-
-@@ -566,7 +570,12 @@
- }
-
- /* See the comment in VSockVmciNotifyPktSendPostEnqueue */
-+
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 15, 0)
- sk->sk_data_ready(sk, 0);
-+#else
-+ sk->sk_data_ready(sk);
-+#endif
- }
-
- return err;
+++ /dev/null
-diff -ur open-vm-tools-9.4.6-1770165.orig/modules/linux/shared/compat_fs.h open-vm-tools-9.4.6-1770165/modules/linux/shared/compat_fs.h
---- open-vm-tools-9.4.6-1770165.orig/modules/linux/shared/compat_fs.h 2014-07-02 00:21:14.000000000 +0200
-+++ open-vm-tools-9.4.6-1770165/modules/linux/shared/compat_fs.h 2014-08-25 22:33:18.134858340 +0200
-@@ -89,7 +89,8 @@
- * changed over time, so for simplicity, we'll only enable it from 2.6.19 and
- * on.
- */
--#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 19)
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 19) && \
-+ LINUX_VERSION_CODE < KERNEL_VERSION(3, 16, 0)
- # define VMW_USE_AIO
- #endif
-
-diff -ur open-vm-tools-9.4.6-1770165.orig/modules/linux/shared/compat_netdevice.h open-vm-tools-9.4.6-1770165/modules/linux/shared/compat_netdevice.h
---- open-vm-tools-9.4.6-1770165.orig/modules/linux/shared/compat_netdevice.h 2014-07-02 00:21:14.000000000 +0200
-+++ open-vm-tools-9.4.6-1770165/modules/linux/shared/compat_netdevice.h 2014-08-25 22:28:49.471534485 +0200
-@@ -337,4 +337,8 @@
- typedef u32 compat_netdev_features_t;
- #endif
-
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 16, 0) || defined(SET_ETHTOOL_OPS)
-+#define VMW_HAVE_ETHTOOL_OPS 1
-+#endif
-+
- #endif /* __COMPAT_NETDEVICE_H__ */
-diff -ur open-vm-tools-9.4.6-1770165.orig/modules/linux/vmhgfs/file.c open-vm-tools-9.4.6-1770165/modules/linux/vmhgfs/file.c
---- open-vm-tools-9.4.6-1770165.orig/modules/linux/vmhgfs/file.c 2014-08-25 22:27:54.758203080 +0200
-+++ open-vm-tools-9.4.6-1770165/modules/linux/vmhgfs/file.c 2014-08-25 22:33:18.134858340 +0200
-@@ -128,13 +128,17 @@
- .owner = THIS_MODULE,
- .open = HgfsOpen,
- .llseek = HgfsSeek,
--#if defined VMW_USE_AIO
-+#ifdef VMW_USE_AIO
- .aio_read = HgfsAioRead,
- .aio_write = HgfsAioWrite,
--#else
-+#else /* !VMW_USE_AIO */
-+# if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 16, 0)
-+ .read_iter = generic_file_read_iter,
-+ .write_iter = generic_file_write_iter,
-+# endif
- .read = HgfsRead,
- .write = HgfsWrite,
--#endif
-+#endif /* !VMW_USE_AIO */
- .fsync = HgfsFsync,
- .mmap = HgfsMmap,
- .release = HgfsRelease,
-@@ -822,8 +826,6 @@
- out:
- return result;
- }
--
--
- #else
- /*
- *----------------------------------------------------------------------
-@@ -865,8 +867,11 @@
- LOG(4, (KERN_DEBUG "VMware hgfs: HgfsRead: invalid dentry\n"));
- goto out;
- }
--
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 16, 0)
-+ result = new_sync_read(file, buf, count, offset);
-+#else
- result = generic_file_read(file, buf, count, offset);
-+#endif
- out:
- return result;
- }
-@@ -917,7 +922,11 @@
- goto out;
- }
-
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 16, 0)
-+ result = new_sync_write(file, buf, count, offset);
-+#else
- result = generic_file_write(file, buf, count, offset);
-+#endif
- out:
- return result;
- }
-diff -ur open-vm-tools-9.4.6-1770165.orig/modules/linux/vmhgfs/file.c.orig open-vm-tools-9.4.6-1770165/modules/linux/vmhgfs/file.c.orig
---- open-vm-tools-9.4.6-1770165.orig/modules/linux/vmhgfs/file.c.orig 2014-08-25 22:27:54.758203080 +0200
-+++ open-vm-tools-9.4.6-1770165/modules/linux/vmhgfs/file.c.orig 2014-08-25 22:32:31.411526655 +0200
-@@ -64,6 +64,7 @@
- static int HgfsOpen(struct inode *inode,
- struct file *file);
- #if defined VMW_USE_AIO
-+# if LINUX_VERSION_CODE < KERNEL_VERSION(3, 16, 0)
- static ssize_t HgfsAioRead(struct kiocb *iocb,
- const struct iovec *iov,
- unsigned long numSegs,
-@@ -72,6 +73,7 @@
- const struct iovec *iov,
- unsigned long numSegs,
- loff_t offset);
-+# endif
- #else
- static ssize_t HgfsRead(struct file *file,
- char __user *buf,
-@@ -128,13 +130,18 @@
- .owner = THIS_MODULE,
- .open = HgfsOpen,
- .llseek = HgfsSeek,
--#if defined VMW_USE_AIO
-+#ifdef VMW_USE_AIO
-+# if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 16, 0)
-+ .read_iter = generic_file_read_iter,
-+ .write_iter = generic_file_write_iter,
-+# else
- .aio_read = HgfsAioRead,
- .aio_write = HgfsAioWrite,
--#else
-+# endif
-+#else /* !VMW_USE_AIO */
- .read = HgfsRead,
- .write = HgfsWrite,
--#endif
-+#endif /* !VMW_USE_AIO */
- .fsync = HgfsFsync,
- .mmap = HgfsMmap,
- .release = HgfsRelease,
-@@ -658,7 +665,12 @@
- iparent = dparent->d_inode;
-
- HgfsSetUidGid(iparent, file->f_dentry,
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 12, 0)
- current_fsuid(), current_fsgid());
-+#else
-+ from_kuid(&init_user_ns, current_fsuid()),
-+ from_kgid(&init_user_ns,current_fsgid()));
-+#endif
-
- dput(dparent);
- }
-@@ -724,6 +736,7 @@
-
-
- #if defined VMW_USE_AIO
-+# if LINUX_VERSION_CODE < KERNEL_VERSION(3, 16, 0)
- /*
- *----------------------------------------------------------------------
- *
-@@ -818,7 +831,7 @@
- return result;
- }
-
--
-+# endif /* if LINUX_VERSION_CODE < KERNEL_VERSION(3, 16, 0) */
- #else
- /*
- *----------------------------------------------------------------------
-diff -ur open-vm-tools-9.4.6-1770165.orig/modules/linux/vmxnet/vmxnet.c open-vm-tools-9.4.6-1770165/modules/linux/vmxnet/vmxnet.c
---- open-vm-tools-9.4.6-1770165.orig/modules/linux/vmxnet/vmxnet.c 2014-07-02 00:21:14.000000000 +0200
-+++ open-vm-tools-9.4.6-1770165/modules/linux/vmxnet/vmxnet.c 2014-08-25 22:28:49.471534485 +0200
-@@ -283,8 +283,7 @@
-
- #endif
-
--
--#ifdef SET_ETHTOOL_OPS
-+#ifdef VMW_HAVE_ETHTOOL_OPS
- /*
- *----------------------------------------------------------------------------
- *
-@@ -530,7 +529,7 @@
- };
-
-
--#else /* !defined(SET_ETHTOOL_OPS) */
-+#else /* !defined(VMW_HAVE_ETHTOOL_OPS) */
-
-
- /*
-@@ -743,7 +742,7 @@
- }
- return -EOPNOTSUPP;
- }
--#endif /* SET_ETHTOOL_OPS */
-+#endif /* !defined(VMW_HAVE_ETHTOOL_OPS) */
-
-
- /*
-@@ -1142,8 +1141,12 @@
- dev->watchdog_timeo = VMXNET_WATCHDOG_TIMEOUT;
- #endif
-
--#ifdef SET_ETHTOOL_OPS
-+#ifdef VMW_HAVE_ETHTOOL_OPS
-+# ifdef SET_ETHTOOL_OPS
- SET_ETHTOOL_OPS(dev, &vmxnet_ethtool_ops);
-+# else
-+ dev->ethtool_ops = &vmxnet_ethtool_ops;
-+# endif
- #else
- dev->do_ioctl = vmxnet_ioctl;
- #endif
+++ /dev/null
---- open-vm-tools-9.4.6-1770165/modules/linux/vmhgfs/inode.c~ 2015-01-26 00:51:45.000000000 +0100
-+++ open-vm-tools-9.4.6-1770165/modules/linux/vmhgfs/inode.c 2015-01-26 00:54:24.305830333 +0100
-@@ -1859,7 +1859,11 @@
- p,
- #endif
- &inode->i_dentry,
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 18, 3)) || ((LINUX_VERSION_CODE >= KERNEL_VERSION(3, 4, 107)) && (LINUX_VERSION_CODE < KERNEL_VERSION(3, 5, 0))) || ((LINUX_VERSION_CODE >= KERNEL_VERSION(3, 14, 40)) && (LINUX_VERSION_CODE < KERNEL_VERSION(3, 15, 0))) || ((LINUX_VERSION_CODE >= KERNEL_VERSION(3, 10, 76)) && (LINUX_VERSION_CODE < KERNEL_VERSION(3, 11, 0)))
-+ d_u.d_alias) {
-+#else
- d_alias) {
-+#endif
- int dcount = compat_d_count(dentry);
- if (dcount) {
- LOG(4, ("Found %s %d \n", dentry->d_name.name, dcount));
-@@ -1912,7 +1916,11 @@
- /* Find a dentry with valid d_count. Refer bug 587879. */
- list_for_each(pos, &inode->i_dentry) {
- int dcount;
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 18, 3)) || ((LINUX_VERSION_CODE >= KERNEL_VERSION(3, 4, 107)) && (LINUX_VERSION_CODE < KERNEL_VERSION(3, 5, 0))) || ((LINUX_VERSION_CODE >= KERNEL_VERSION(3, 14, 40)) && (LINUX_VERSION_CODE < KERNEL_VERSION(3, 15, 0))) || ((LINUX_VERSION_CODE >= KERNEL_VERSION(3, 10, 76)) && (LINUX_VERSION_CODE < KERNEL_VERSION(3, 11, 0)))
-+ struct dentry *dentry = list_entry(pos, struct dentry, d_u.d_alias);
-+#else
- struct dentry *dentry = list_entry(pos, struct dentry, d_alias);
-+#endif
- dcount = compat_d_count(dentry);
- if (dcount) {
- LOG(4, ("Found %s %d \n", (dentry)->d_name.name, dcount));
[Desktop Entry]
-Encoding=UTF-8
-Exec=vmare-user
+Exec=vmware-user-suid-wrapper
+Type=Application
Name=VMware User Agent
X-KDE-autostart-phase=1
NoDisplay=true
#
# Conditional build:
%bcond_without apidocs # without API docs
-%bcond_without kernel # without kernel modules
-%bcond_without userspace # without userspace package
-%bcond_with verbose # verbose build (V=1)
-%bcond_with x # build with X11 support
-
-# The goal here is to have main, userspace, package built once with
-# simple release number, and only rebuild kernel packages with kernel
-# version as part of release number, without the need to bump release
-# with every kernel change.
-%if 0%{?_pld_builder:1} && %{with kernel} && %{with userspace}
-%{error:kernel and userspace cannot be built at the same time on PLD builders}
-exit 1
-%endif
-
-%if %{without userspace}
-# nothing to be placed to debuginfo package
-%define _enable_debug_packages 0
-%endif
+%bcond_without x # build with X11 support
-%define snap 2011.10.26
-%define subver %(echo %{snap} | tr -d .)
-%define ver 9.4.6
-%define rev 1770165
-%define rel 16
-%define pname open-vm-tools
-%define modsrc modules/linux
Summary: VMWare guest utilities
Summary(pl.UTF-8): Narzędzia dla systemu-gościa dla VMware
-Name: %{pname}%{?_pld_builder:%{?with_kernel:-kernel}}%{_alt_kernel}
-Version: %{ver}
-#Release: 0.%{subver}.%{rel}%{?with_kernel:@%{_kernel_ver_str}}
-Release: %{rel}%{?_pld_builder:%{?with_kernel:@%{_kernel_ver_str}}}
+Name: open-vm-tools
+Version: 10.0.7
+Release: 1
Epoch: 1
License: GPL
Group: Applications/System
-Source0: http://downloads.sourceforge.net/project/open-vm-tools/open-vm-tools/stable-9.4.x/%{pname}-%{ver}-%{rev}.tar.gz
-# Source0-md5: 3969daf1535d34e1c5f0c87a779b7642
-#Source0: http://downloads.sourceforge.net/open-vm-tools/open-vm-tools/%{snap}/%{pname}-%{snap}-%{rev}.tar.gz
-Source1: %{pname}-packaging
-Source2: %{pname}-modprobe.d
-Source3: %{pname}-init
-Source4: %{pname}-vmware-user.desktop
-Patch0: %{pname}-linux-3.10.patch
-Patch2: %{pname}-linux-3.12.patch
-Patch3: %{pname}-linux-3.14.patch
-Patch4: %{pname}-linux-3.15.patch
-Patch5: %{pname}-linux-3.16.patch
-Patch6: %{pname}-linux-3.18.3.patch
-Patch7: gcc5.patch
+Source0: https://github.com/vmware/open-vm-tools/archive/stable-%{version}.tar.gz
+# Source0-md5: f865c9cfc9732360f6e1b08cdbd16483
+Source1: %{name}-packaging
+Source2: %{name}-modprobe.d
+Source3: %{name}-init
+Source4: %{name}-vmware-user.desktop
+Source5: vmware-vmblock-fuse.service
+Patch0: %{name}-dnd.patch
URL: http://open-vm-tools.sourceforge.net/
BuildRequires: rpmbuild(macros) >= 1.701
-%if %{with userspace}
BuildRequires: autoconf
BuildRequires: doxygen
BuildRequires: glib2-devel >= 2.6.0
Requires: ethtool
Requires: libdnet
Requires: libicu
-Obsoletes: kernel-misc-pvscsi
-Obsoletes: kernel-misc-vmmemctl
-%endif
-%{?with_kernel:%{expand:%buildrequires_kernel kernel%%{_alt_kernel}-module-build >= 3:2.6.20.2}}
-ExclusiveArch: %{ix86} %{x8664} %{?with_kernel:x32}
-BuildRoot: %{tmpdir}/%{pname}-%{version}-root-%(id -u -n)
+ExclusiveArch: %{ix86} %{x8664}
+BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+
+%define skip_post_check_so libDeployPkg.so.0.0.0
%description
VMWare guest utilities.
Summary: Header files for open-vm-tools
Summary(pl.UTF-8): Pliki nagłówkowe open-vm-tools
Group: Development/Libraries
-Requires: %{pname} = %{epoch}:%{version}-%{release}
+Requires: %{name} = %{epoch}:%{version}-%{release}
%description devel
Header files for open-vm-tools.
Summary: Static open-vm-tools libraries
Summary(pl.UTF-8): Statyczne biblioteki open-vm-tools
Group: Development/Libraries
-Requires: %{pname}-devel = %{epoch}:%{version}-%{release}
+Requires: %{name}-devel = %{epoch}:%{version}-%{release}
%description static
Static open-vm-tools libraries.
Summary: VMware guest utitities
Summary(pl.UTF-8): Narzędzia dla systemu-gościa dla VMware.
Group: Applications/System
-Requires: %{pname} = %{epoch}:%{version}-%{release}
+Requires: %{name} = %{epoch}:%{version}-%{release}
%description gui
VMWare guest utilities. This package contains GUI part of tools.
Summary: VMware API documentation
Summary(pl.UTF-8): Dokumentacja do API VMware
Group: Documentation
-Requires: %{pname} = %{epoch}:%{version}-%{release}
+Requires: %{name} = %{epoch}:%{version}-%{release}
%if "%{_rpmversion}" >= "5"
BuildArch: noarch
%endif
%description apidocs -l pl.UTF-8
Ten pakiet zawiera dokumentację do API VMware.
-%define kernel_pkg()\
-%package -n kernel%{_alt_kernel}-misc-vmblock\
-Summary: VMware vmblock Linux kernel module\
-Summary(pl.UTF-8): Moduł jądra Linuksa VMware vmblock\
-Release: %{rel}@%{_kernel_ver_str}\
-Group: Base/Kernel\
-Requires(post,postun): /sbin/depmod\
-Requires: dev >= 2.9.0-7\
-%requires_releq_kernel\
-Requires(postun): %releq_kernel\
-\
-%description -n kernel%{_alt_kernel}-misc-vmblock\
-VMware vmblock Linux kernel module.\
-\
-%description -n kernel%{_alt_kernel}-misc-vmblock -l pl.UTF-8\
-Moduł jądra Linuksa VMware vmblock.\
-\
-%package -n kernel%{_alt_kernel}-misc-vmci\
-Summary: VMware vmci Linux kernel module\
-Summary(pl.UTF-8): Moduł jądra Linuksa VMware vmci\
-Release: %{rel}@%{_kernel_ver_str}\
-Group: Base/Kernel\
-Requires(post,postun): /sbin/depmod\
-Requires: dev >= 2.9.0-7\
-%requires_releq_kernel\
-Requires(postun): %releq_kernel\
-\
-%description -n kernel%{_alt_kernel}-misc-vmci\
-VMware vmci Linux kernel module.\
-\
-%description -n kernel%{_alt_kernel}-misc-vmci -l pl.UTF-8\
-Moduł jądra Linuksa VMware vmci.\
-\
-%package -n kernel%{_alt_kernel}-misc-vmhgfs\
-Summary: VMware vmhgfs Linux kernel module\
-Summary(pl.UTF-8): Moduł jądra Linuksa VMware vmhgfs\
-Release: %{rel}@%{_kernel_ver_str}\
-Group: Base/Kernel\
-Requires(post,postun): /sbin/depmod\
-Requires: dev >= 2.9.0-7\
-%requires_releq_kernel\
-Requires(postun): %releq_kernel\
-\
-%description -n kernel%{_alt_kernel}-misc-vmhgfs\
-VMware vmhgfs Linux kernel module.\
-\
-%description -n kernel%{_alt_kernel}-misc-vmhgfs -l pl.UTF-8\
-Moduł jądra Linuksa VMware vmhgfs.\
-\
-%package -n kernel%{_alt_kernel}-misc-vmsync\
-Summary: VMware vmsync Linux kernel module\
-Summary(pl.UTF-8): Moduł jądra Linuksa VMware vmsync\
-Release: %{rel}@%{_kernel_ver_str}\
-Group: Base/Kernel\
-Requires(post,postun): /sbin/depmod\
-Requires: dev >= 2.9.0-7\
-%requires_releq_kernel\
-Requires(postun): %releq_kernel\
-\
-%description -n kernel%{_alt_kernel}-misc-vmsync\
-VMware vmsync Linux kernel module.\
-\
-%description -n kernel%{_alt_kernel}-misc-vmsync -l pl.UTF-8\
-Moduł jądra Linuksa VMware vmsync.\
-\
-%package -n kernel%{_alt_kernel}-misc-vmxnet\
-Summary: VMware vmxnet Linux kernel module\
-Summary(pl.UTF-8): Moduł jądra Linuksa VMware vmxnet\
-Release: %{rel}@%{_kernel_ver_str}\
-Group: Base/Kernel\
-Requires(post,postun): /sbin/depmod\
-Requires: dev >= 2.9.0-7\
-%requires_releq_kernel\
-Requires(postun): %releq_kernel\
-\
-%description -n kernel%{_alt_kernel}-misc-vmxnet\
-VMware vmxnet Linux kernel module.\
-\
-%description -n kernel%{_alt_kernel}-misc-vmxnet -l pl.UTF-8\
-Moduł jądra Linuksa VMware vmxnet.\
-\
-%package -n kernel%{_alt_kernel}-misc-vsock\
-Summary: VMware vsock Linux kernel module\
-Summary(pl.UTF-8): Moduł jądra Linuksa VMware vsock\
-Release: %{rel}@%{_kernel_ver_str}\
-Group: Base/Kernel\
-Requires(post,postun): /sbin/depmod\
-Requires: dev >= 2.9.0-7\
-%requires_releq_kernel\
-Requires(postun): %releq_kernel\
-\
-%description -n kernel%{_alt_kernel}-misc-vsock\
-VMware vsock Linux kernel module.\
-\
-%description -n kernel%{_alt_kernel}-misc-vsock -l pl.UTF-8\
-Moduł jądra Linuksa VMware vsock.\
-\
-%if %{with kernel}\
-%files -n kernel%{_alt_kernel}-misc-vmblock\
-%defattr(644,root,root,755)\
-/lib/modules/%{_kernel_ver}/misc/vmblock.ko*\
-\
-%files -n kernel%{_alt_kernel}-misc-vmhgfs\
-%defattr(644,root,root,755)\
-/lib/modules/%{_kernel_ver}/misc/vmhgfs.ko*\
-\
-%if %{_kernel_version_code} < %{_kernel_version_magic 3 10 0}\
-%files -n kernel%{_alt_kernel}-misc-vmci\
-%defattr(644,root,root,755)\
-/lib/modules/%{_kernel_ver}/misc/vmci.ko*\
-\
-%files -n kernel%{_alt_kernel}-misc-vmsync\
-%defattr(644,root,root,755)\
-/lib/modules/%{_kernel_ver}/misc/vmsync.ko*\
-%endif\
-\
-%files -n kernel%{_alt_kernel}-misc-vmxnet\
-%defattr(644,root,root,755)\
-/lib/modules/%{_kernel_ver}/misc/vmxnet.ko*\
-\
-%files -n kernel%{_alt_kernel}-misc-vsock\
-%defattr(644,root,root,755)\
-/lib/modules/%{_kernel_ver}/misc/vsock.ko*\
-%endif\
-\
-%post -n kernel%{_alt_kernel}-misc-vmblock\
-%depmod %{_kernel_ver}\
-\
-%post -n kernel%{_alt_kernel}-misc-vmci\
-%depmod %{_kernel_ver}\
-\
-%post -n kernel%{_alt_kernel}-misc-vmhgfs\
-%depmod %{_kernel_ver}\
-\
-%post -n kernel%{_alt_kernel}-misc-vmsync\
-%depmod %{_kernel_ver}\
-\
-%post -n kernel%{_alt_kernel}-misc-vmxnet\
-%depmod %{_kernel_ver}\
-\
-%post -n kernel%{_alt_kernel}-misc-vsock\
-%depmod %{_kernel_ver}\
-%{nil}
-
-%define build_kernel_pkg()\
-export OVT_SOURCE_DIR=$PWD\
-%build_kernel_modules -C %{modsrc}/vmblock -m vmblock SRCROOT=$PWD VM_KBUILD=26 VM_CCVER=%{cc_version}\
-%build_kernel_modules -C %{modsrc}/vmhgfs -m vmhgfs SRCROOT=$PWD VM_KBUILD=26 VM_CCVER=%{cc_version}\
-%build_kernel_modules -C %{modsrc}/vmxnet -m vmxnet SRCROOT=$PWD VM_KBUILD=26 VM_CCVER=%{cc_version}\
-%build_kernel_modules -C %{modsrc}/vsock -m vsock SRCROOT=$PWD VM_KBUILD=26 VM_CCVER=%{cc_version}\
-%install_kernel_modules -D installed -m %{modsrc}/vmblock/vmblock -d misc\
-%install_kernel_modules -D installed -m %{modsrc}/vmhgfs/vmhgfs -d misc\
-%install_kernel_modules -D installed -m %{modsrc}/vmxnet/vmxnet -d misc\
-%install_kernel_modules -D installed -m %{modsrc}/vsock/vsock -d misc\
-%if %{_kernel_version_code} < %{_kernel_version_magic 3 10 0}\
-%build_kernel_modules -C %{modsrc}/vmci -m vmci SRCROOT=$PWD VM_KBUILD=26 VM_CCVER=%{cc_version}\
-%build_kernel_modules -C %{modsrc}/vmsync -m vmsync SRCROOT=$PWD VM_KBUILD=26 VM_CCVER=%{cc_version}\
-%install_kernel_modules -D installed -m %{modsrc}/vmci/vmci -d misc\
-%install_kernel_modules -D installed -m %{modsrc}/vmsync/vmsync -d misc\
-%endif\
-%{nil}
-
-%{?with_kernel:%{expand:%create_kernel_packages}}
-
%prep
-#setup -q -n %{pname}-%{snap}-%{rev}
-%setup -q -n %{pname}-%{ver}-%{rev}
+%setup -q -n %{name}-stable-%{version}
%patch0 -p1
-%patch2 -p1
-%patch3 -p1
-%patch4 -p1
-%patch5 -p1
-%patch6 -p1
-%patch7 -p1
-cp %{SOURCE1} packaging
-%{__sed} -i -e 's|##{BUILD_OUTPUT}##|build|' docs/api/doxygen.conf
+cp %{SOURCE1} open-vm-tools/packaging
%build
-%{?with_kernel:%{expand:%build_kernel_packages}}
-
-%if %{with userspace}
+cd open-vm-tools
rm -rf autom4te.cache
install -d config
%{__libtoolize}
%{__make} \
CFLAGS="%{rpmcflags} -Wno-unused-but-set-variable" \
CXXFLAGS="%{rpmcxxflags} -std=c++11 -Wno-unused-but-set-variable"
-%endif
%install
rm -rf $RPM_BUILD_ROOT
-%if %{with kernel}
-install -d $RPM_BUILD_ROOT
-cp -a installed/* $RPM_BUILD_ROOT
-%endif
-
-%if %{with userspace}
+cd open-vm-tools
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT
#mkdir -p docs/%{name}-%{version}/api
#mv docs/api/build/html docs/%{name}-%{version}/api
-%{__rm} -r $RPM_BUILD_ROOT/usr/share/doc/%{pname}
+%{__rm} -r $RPM_BUILD_ROOT/usr/share/doc/%{name}
install -d $RPM_BUILD_ROOT/etc/{modprobe.d,rc.d/init.d,xdg/autostart}
-cp %{SOURCE2} $RPM_BUILD_ROOT/etc/modprobe.d/%{pname}.conf
-cp %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{pname}
+cp %{SOURCE2} $RPM_BUILD_ROOT/etc/modprobe.d/%{name}.conf
+cp %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
cp %{SOURCE4} $RPM_BUILD_ROOT/etc/xdg/autostart/vmware-user.desktop
-%endif
+
+install -d $RPM_BUILD_ROOT%{systemdunitdir}
+cp %{SOURCE5} $RPM_BUILD_ROOT%{systemdunitdir}
%clean
rm -rf $RPM_BUILD_ROOT
/sbin/ldconfig
/sbin/chkconfig --add open-vm-tools
%service open-vm-tools restart "Open Virtual Machine"
+%systemd_post vmware-vmblock-fuse.service
%preun
if [ "$1" = "0" ]; then
%service open-vm-tools stop
/sbin/chkconfig --del open-vm-tools
fi
+%systemd_preun vmware-vmblock-fuse.service
+
%postun -p /sbin/ldconfig
+%systemd_reload
-%if %{with userspace}
%files
%defattr(644,root,root,755)
-%doc AUTHORS ChangeLog NEWS README packaging
+%doc open-vm-tools/AUTHORS open-vm-tools/ChangeLog open-vm-tools/NEWS open-vm-tools/README open-vm-tools/packaging
%config(noreplace) %verify(not md5 mtime size) /etc/pam.d/vmtoolsd
%dir /etc/vmware-tools
%attr(755,root,root) /etc/vmware-tools/*vm-*
+/etc/vmware-tools/guestproxy-ssl.conf
+/etc/vmware-tools/vgauth.conf
+%dir /etc/vmware-tools/vgauth
+/etc/vmware-tools/vgauth/schemas
%attr(755,root,root) /etc/vmware-tools/statechange.subr
%dir /etc/vmware-tools/scripts
%dir /etc/vmware-tools/scripts/vmware
%attr(755,root,root) /etc/vmware-tools/scripts/vmware/network
%attr(755,root,root) /sbin/mount.vmhgfs
+%attr(755,root,root) %{_bindir}/VGAuthService
+%attr(755,root,root) %{_bindir}/vmhgfs-fuse
%attr(755,root,root) %{_bindir}/vmtoolsd
%attr(755,root,root) %{_bindir}/vmware-checkvm
+%attr(755,root,root) %{_bindir}/vmware-guestproxycerttool
%attr(755,root,root) %{_bindir}/vmware-hgfsclient
+%attr(755,root,root) %{_bindir}/vmware-namespace-cmd
%attr(755,root,root) %{_bindir}/vmware-rpctool
%attr(755,root,root) %{_bindir}/vmware-toolbox-cmd
%if %{with x}
%attr(4755,root,root) %{_bindir}/vmware-user-suid-wrapper
%endif
%attr(755,root,root) %{_bindir}/vmware-xferlogs
+%attr(755,root,root) %{_bindir}/vmware-vgauth-cmd
%attr(755,root,root) %{_bindir}/vmware-vmblock-fuse
%attr(755,root,root) %{_sbindir}/mount.vmhgfs
+%attr(755,root,root) %{_libdir}/libDeployPkg.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libDeployPkg.so.0
%attr(755,root,root) %{_libdir}/libguestlib.so.*.*.*
%attr(755,root,root) %ghost %{_libdir}/libguestlib.so.0
+%attr(755,root,root) %{_libdir}/libvgauth.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libvgauth.so.0
%attr(755,root,root) %{_libdir}/libvmtools.so.*.*.*
%attr(755,root,root) %ghost %{_libdir}/libvmtools.so.0
%attr(755,root,root) %{_libdir}/libhgfs.so.*.*.*
%dir %{_libdir}/open-vm-tools
%dir %{_libdir}/open-vm-tools/plugins
%dir %{_libdir}/open-vm-tools/plugins/vmsvc
+%attr(755,root,root) %{_libdir}/open-vm-tools/plugins/vmsvc/libdeployPkgPlugin.so
+%attr(755,root,root) %{_libdir}/open-vm-tools/plugins/vmsvc/libgrabbitmqProxy.so
%attr(755,root,root) %{_libdir}/open-vm-tools/plugins/vmsvc/libguestInfo.so
%attr(755,root,root) %{_libdir}/open-vm-tools/plugins/vmsvc/libpowerOps.so
%attr(755,root,root) %{_libdir}/open-vm-tools/plugins/vmsvc/libtimeSync.so
%attr(755,root,root) %{_libdir}/open-vm-tools/plugins/vmusr/libdndcp.so
%attr(755,root,root) %{_libdir}/open-vm-tools/plugins/vmusr/libresolutionSet.so
%endif
-%attr(754,root,root) /etc/rc.d/init.d/%{pname}
-/etc/modprobe.d/%{pname}.conf
+%attr(754,root,root) /etc/rc.d/init.d/%{name}
+%{systemdunitdir}/vmware-vmblock-fuse.service
+/etc/modprobe.d/%{name}.conf
%dir %{_datadir}/open-vm-tools
%dir %{_datadir}/open-vm-tools/messages
%lang(de) %{_datadir}/open-vm-tools/messages/de
+%lang(en) %{_datadir}/open-vm-tools/messages/en
+%lang(es) %{_datadir}/open-vm-tools/messages/es
+%lang(fr) %{_datadir}/open-vm-tools/messages/fr
+%lang(it) %{_datadir}/open-vm-tools/messages/it
%lang(ja) %{_datadir}/open-vm-tools/messages/ja
%lang(ko) %{_datadir}/open-vm-tools/messages/ko
%lang(zh_CN) %{_datadir}/open-vm-tools/messages/zh_CN
+%lang(zh_TW) %{_datadir}/open-vm-tools/messages/zh_TW
%files devel
%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libDeployPkg.so
%attr(755,root,root) %{_libdir}/libguestlib.so
+%attr(755,root,root) %{_libdir}/libvgauth.so
%attr(755,root,root) %{_libdir}/libvmtools.so
%attr(755,root,root) %{_libdir}/libhgfs.so
+%dir %{_includedir}/libDeployPkg
+%{_includedir}/libDeployPkg/*.h
%dir %{_includedir}/vmGuestLib
%{_includedir}/vmGuestLib/includeCheck.h
%{_includedir}/vmGuestLib/vmGuestLib.h
%{_includedir}/vmGuestLib/vmSessionId.h
%{_includedir}/vmGuestLib/vm_basic_types.h
+%{_libdir}/libDeployPkg.la
%{_libdir}/libguestlib.la
+%{_libdir}/libvgauth.la
%{_libdir}/libvmtools.la
%{_libdir}/libhgfs.la
+%{_pkgconfigdir}/libDeployPkg.pc
%{_pkgconfigdir}/vmguestlib.pc
%files static
%defattr(644,root,root,755)
+%{_libdir}/libDeployPkg.a
%{_libdir}/libguestlib.a
+%{_libdir}/libvgauth.a
%{_libdir}/libvmtools.a
%{_libdir}/libhgfs.a
%if %{with apidocs}
%files apidocs
%defattr(644,root,root,755)
-%doc docs/api/build/html/*
-%endif
+%doc open-vm-tools/docs/api/build/html/*
%endif