1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-02-04 11:23:46 +00:00

Update to version 11.1.0

In terms of functionality this update is a no-op on
FreeBSD.  Some local patches were upstreamed and have
been removed from the port.

Tested matrix is ESXi 6.5 and 6.7, and Fusion.
FreeBSD HEAD, 12.1-R, 12.0-R and 11.3-R AMD64

The test plan ensures the VM power control works from
the management app, that the memory balloon driver operates
properly, and that reporting back to vCenter as far as IP
and whether the tools are installed and operational works.

In particular no i386 versions of FreeBSD were
explicitly tested, nor was any testing done on ESXi 7.0

https://github.com/vmware/open-vm-tools/blob/stable-11.1.0/ReleaseNotes.md

The new functionality in this version of the tools is Windows/Linux
only.  See the listed PR for the pieces FreeBSD needs to achieve parity.

PR:	246338
Submitted by:	jwolfe@vmware.com
Sponsored by:	Panzura
This commit is contained in:
Josh Paetzel 2020-05-14 14:18:16 +00:00
parent d1db0e8603
commit cdded8b1e2
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=535238
6 changed files with 5 additions and 148 deletions

View File

@ -4,7 +4,6 @@
PORTNAME= open-vm-tools
PORTVERSION= ${RELEASE_VER}
DISTVERSIONPREFIX= stable-
PORTREVISION= 3
PORTEPOCH= 2
CATEGORIES= emulators
@ -19,8 +18,8 @@ ONLY_FOR_ARCHS= amd64 i386
LIB_DEPENDS= libmspack.so:archivers/libmspack \
libdnet.so:net/libdnet
RELEASE_VER= 11.0.1
BUILD_VER= 14773994
RELEASE_VER= 11.1.0
BUILD_VER= 16036546
OPTIONS_DEFINE= LIBNOTIFY OPENSSL X11
OPTIONS_DEFAULT= LIBNOTIFY OPENSSL X11

View File

@ -1,3 +1,3 @@
TIMESTAMP = 1571957704
SHA256 (vmware-open-vm-tools-stable-11.0.1_GH0.tar.gz) = 99f1e3c5245bb002c1e66cbb7a1078e1c3567db5f92cc2e00ab08557e9df4758
SIZE (vmware-open-vm-tools-stable-11.0.1_GH0.tar.gz) = 2791701
TIMESTAMP = 1589112329
SHA256 (vmware-open-vm-tools-stable-11.1.0_GH0.tar.gz) = 5930448c65cf298e3dded2a3670750f4affaf3a631500a1774eeb4cfe0a32b80
SIZE (vmware-open-vm-tools-stable-11.1.0_GH0.tar.gz) = 2667232

View File

@ -1,11 +0,0 @@
--- libDeployPkg/processPosix.c.orig 2017-02-24 22:15:37 UTC
+++ libDeployPkg/processPosix.c
@@ -28,6 +28,8 @@
#include <unistd.h>
#include <fcntl.h>
#include <sys/wait.h>
+#include <signal.h>
+#include <sys/types.h>
#include "util.h"

View File

@ -1,14 +0,0 @@
--- modules/freebsd/shared/compat_vop.h.orig 2019-10-21 21:58:04 UTC
+++ modules/freebsd/shared/compat_vop.h
@@ -47,7 +47,11 @@
#if __FreeBSD_version >= 800011
#define COMPAT_THREAD_VAR(varname, varval)
#define COMPAT_VOP_LOCK(vop, flags, threadvar) VOP_LOCK((vop), (flags))
+#if __FreeBSD_version >= 1300074
+#define COMPAT_VOP_UNLOCK(vop, flags, threadvar) VOP_UNLOCK((vop))
+#else
#define COMPAT_VOP_UNLOCK(vop, flags, threadvar) VOP_UNLOCK((vop), (flags))
+#endif
#define compat_lockstatus(lock, threadvar) lockstatus((lock))
#define compat_lockmgr(lock, flags, randompointerparam, threadval) lockmgr((lock), (flags), (randompointerparam))
#define compat_vn_lock(vp, flags, threadval) vn_lock((vp), (flags))

View File

@ -1,53 +0,0 @@
--- modules/freebsd/vmblock/vnops.c.orig 2019-10-21 21:58:04 UTC
+++ modules/freebsd/vmblock/vnops.c
@@ -532,17 +532,12 @@ struct vop_generic_args {
* Map the possible out-going vpp (Assumes that the lower layer always
* returns a VREF'ed vpp unless it gets an error.)
*/
- if (descp->vdesc_vpp_offset != VDESC_NO_OFFSET &&
- !(descp->vdesc_flags & VDESC_NOMAP_VPP) &&
- !error) {
+ if (descp->vdesc_vpp_offset != VDESC_NO_OFFSET && !error) {
/*
* XXX - even though some ops have vpp returned vp's, several ops
* actually vrele this before returning. We must avoid these ops.
* (This should go away when these ops are regularized.)
*/
- if (descp->vdesc_flags & VDESC_VPP_WILLRELE) {
- goto out;
- }
vppp = VOPARG_OFFSETTO(struct vnode***, descp->vdesc_vpp_offset,ap);
if (*vppp) {
/* FIXME: set proper name for the vnode */
@@ -550,7 +545,6 @@ struct vop_generic_args {
}
}
-out:
return error;
}
@@ -1262,12 +1256,15 @@ struct vop_unlock_args {
*/
{
struct vnode *vp = ap->a_vp;
+#if __FreeBSD_version < 1300074
int flags = ap->a_flags;
+#endif
COMPAT_THREAD_VAR(td, ap->a_td);
struct VMBlockNode *nn;
struct vnode *lvp;
int error;
+#if __FreeBSD_version < 1300074
/*
* If caller already holds interlock, drop it. (Per VOP_UNLOCK() API.)
* Also strip LK_INTERLOCK from flags passed to lower layer.
@@ -1276,6 +1273,7 @@ struct vop_unlock_args {
VI_UNLOCK(vp);
ap->a_flags = flags &= ~LK_INTERLOCK;
}
+#endif
nn = VPTOVMB(vp);
if (nn != NULL && (lvp = VMBVPTOLOWERVP(vp)) != NULL) {
error = COMPAT_VOP_UNLOCK(lvp, flags, td);

View File

@ -1,64 +0,0 @@
--- modules/freebsd/vmmemctl/os.c.orig 2019-10-21 21:58:04 UTC
+++ modules/freebsd/vmmemctl/os.c
@@ -64,7 +64,11 @@
typedef struct {
/* system structures */
+#if __FreeBSD_version >= 1300067
+ struct callout callout_handle;
+#else
struct callout_handle callout_handle;
+#endif
/* termination flag */
volatile int stop;
@@ -678,7 +682,12 @@ vmmemctl_poll(void *data) // IN
if (!t->stop) {
/* invoke registered handler, rearm timer */
Balloon_QueryAndExecute();
+#if __FreeBSD_version >= 1300067
+ callout_reset(&t->callout_handle, BALLOON_POLL_PERIOD * hz, vmmemctl_poll,
+ t);
+#else
t->callout_handle = timeout(vmmemctl_poll, t, BALLOON_POLL_PERIOD * hz);
+#endif
}
}
@@ -712,15 +721,23 @@ vmmemctl_init(void)
}
/* initialize timer state */
+#if __FreeBSD_version >= 1300067
+ callout_init(&state->timer.callout_handle, 0);
+#else
callout_handle_init(&state->timer.callout_handle);
+#endif
os_pmap_init(pmap);
os_balloonobject_create();
/* Set up and start polling */
- callout_handle_init(&t->callout_handle);
t->stop = FALSE;
+#if __FreeBSD_version >= 1300067
+ callout_reset(&t->callout_handle, BALLOON_POLL_PERIOD * hz, vmmemctl_poll,
+ t);
+#else
t->callout_handle = timeout(vmmemctl_poll, t, BALLOON_POLL_PERIOD * hz);
+#endif
vmmemctl_init_sysctl();
@@ -759,7 +776,11 @@ vmmemctl_cleanup(void)
/* Stop polling */
t->stop = TRUE;
+#if __FreeBSD_version >= 1300067
+ callout_drain(&t->callout_handle);
+#else
untimeout(vmmemctl_poll, t, t->callout_handle);
+#endif
os_balloonobject_delete();
os_pmap_free(pmap);