aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Blapp <mbr@FreeBSD.org>2009-06-08 23:24:44 +0000
committerMartin Blapp <mbr@FreeBSD.org>2009-06-08 23:24:44 +0000
commit7f2467c4145e51910dee49edd79e8fe1bdd1776f (patch)
treede740f16726a1428b19cfbb474dce490ac955542
parent6893d2196b46f33cf425f30f5e11ad5b0d2e3824 (diff)
downloadports-7f2467c4145e51910dee49edd79e8fe1bdd1776f.tar.gz
ports-7f2467c4145e51910dee49edd79e8fe1bdd1776f.zip
Upgrade open-vm-tools to build 167859 from 2009.05.22
Add vfs layer fixes for recent FreeBSD CURRENT Vmtools-guestd has been replaced by vmtoolsd PR: ports/134879 Submitted by: Tom McLaughlin <tmclaugh@freebsd.org>
Notes
Notes: svn path=/head/; revision=235458
-rw-r--r--emulators/open-vm-tools/Makefile5
-rw-r--r--emulators/open-vm-tools/distinfo6
-rw-r--r--emulators/open-vm-tools/files/patch-freebsd-8256
-rw-r--r--emulators/open-vm-tools/files/patch-services-Makefile4
-rw-r--r--emulators/open-vm-tools/files/vmware-guestd.sh.in4
-rw-r--r--emulators/open-vm-tools/pkg-plist6
6 files changed, 255 insertions, 26 deletions
diff --git a/emulators/open-vm-tools/Makefile b/emulators/open-vm-tools/Makefile
index f30970b4c28d..760a0df64066 100644
--- a/emulators/open-vm-tools/Makefile
+++ b/emulators/open-vm-tools/Makefile
@@ -7,7 +7,6 @@
PORTNAME= open-vm-tools
PORTVERSION= ${BUILD_VER}
-PORTREVISION= 2
CATEGORIES= emulators kld
MASTER_SITES= SF
DISTNAME= open-vm-tools-${RELEASE_DATE}-${BUILD_VER}
@@ -15,8 +14,8 @@ DISTNAME= open-vm-tools-${RELEASE_DATE}-${BUILD_VER}
MAINTAINER= mbr@freebsd.org
COMMENT?= Open VMware tools for FreeBSD VMware guests
-RELEASE_DATE= 2009.03.18
-BUILD_VER= 154848
+RELEASE_DATE= 2009.05.22
+BUILD_VER= 167859
GNU_CONFIGURE= yes
USE_LDCONFIG= yes
diff --git a/emulators/open-vm-tools/distinfo b/emulators/open-vm-tools/distinfo
index 68b4a3c88239..074820424bdf 100644
--- a/emulators/open-vm-tools/distinfo
+++ b/emulators/open-vm-tools/distinfo
@@ -1,3 +1,3 @@
-MD5 (open-vm-tools-2009.03.18-154848.tar.gz) = 23d577a1bc07fa61bcd5352e94f05ed6
-SHA256 (open-vm-tools-2009.03.18-154848.tar.gz) = 6c9d06dee94c04214526f439599ed42064d6cee62125791f7c9c07d60f09cd57
-SIZE (open-vm-tools-2009.03.18-154848.tar.gz) = 3964960
+MD5 (open-vm-tools-2009.05.22-167859.tar.gz) = cc1c139d2d927952be93397d928f9d6c
+SHA256 (open-vm-tools-2009.05.22-167859.tar.gz) = 99f3726f86e53abac4efcf70a871e2003d2f245fd83b663ae8ad756322c48a2b
+SIZE (open-vm-tools-2009.05.22-167859.tar.gz) = 3417843
diff --git a/emulators/open-vm-tools/files/patch-freebsd-8 b/emulators/open-vm-tools/files/patch-freebsd-8
index a729f67bc55e..a5214abf0072 100644
--- a/emulators/open-vm-tools/files/patch-freebsd-8
+++ b/emulators/open-vm-tools/files/patch-freebsd-8
@@ -1,17 +1,3 @@
---- modules/freebsd/vmhgfs/vfsops.c.orig 2009-02-28 23:15:30.000000000 +0100
-+++ modules/freebsd/vmhgfs/vfsops.c 2009-02-28 23:16:38.000000000 +0100
-@@ -145,7 +145,11 @@
- * Since Hgfs requires the caller to be root, only allow mount attempts made
- * by the superuser.
- */
-+#if __FreeBSD_version >= 800001
-+ if ((ret = priv_check(td, PRIV_VFS_MOUNT)) != 0) {
-+#else
- if ((ret = suser(td)) != 0) {
-+#endif
- return ret;
- }
-
--- modules/freebsd/vmhgfs/vnops.c.orig 2009-02-18 17:02:35.000000000 +0900
+++ modules/freebsd/vmhgfs/vnops.c 2009-03-01 17:47:10.000000000 +0900
@@ -325,7 +325,11 @@
@@ -53,3 +39,245 @@
/*
* Disallow write attempts on read-only layers; unless the file is a
+--- modules/freebsd/vmblock/vfsops.c.orig 2009-03-18 03:03:21.000000000 -0400
++++ modules/freebsd/vmblock/vfsops.c 2009-05-23 02:25:50.892549675 -0400
+@@ -113,8 +113,12 @@
+ */
+
+ static int
++#if __FreeBSD_version >= 800087
++VMBlockVFSMount(struct mount *mp)
++#else
+ VMBlockVFSMount(struct mount *mp, // IN: mount(2) parameters
+ struct thread *td) // IN: caller's kernel thread context
++#endif
+ {
+ struct VMBlockMount *xmp;
+ struct nameidata nd, *ndp = &nd;
+@@ -122,6 +126,11 @@
+ char *target;
+ int len, error = 0;
+
++#if __FreeBSD_version >= 800087
++ struct thread *td;
++ td = curthread;
++#endif
++
+ VMBLOCKDEBUG("VMBlockVFSMount(mp = %p)\n", (void *)mp);
+
+ /*
+@@ -253,9 +262,14 @@
+ */
+
+ static int
++#if __FreeBSD_version >= 800087
++VMBlockVFSUnmount(struct mount *mp,
++ int mntflags)
++#else
+ VMBlockVFSUnmount(struct mount *mp, // IN: filesystem to unmount
+ int mntflags, // IN: unmount(2) flags (ex: MNT_FORCE)
+ struct thread *td) // IN: caller's kernel thread context
++#endif
+ {
+ struct VMBlockMount *xmp;
+ struct vnode *vp;
+@@ -263,6 +277,11 @@
+ int error;
+ int flags = 0, removed = 0;
+
++#if __FreeBSD_version >= 800087
++ struct thread *td;
++ td = curthread;
++#endif
++
+ VMBLOCKDEBUG("VMBlockVFSUnmount: mp = %p\n", (void *)mp);
+
+ xmp = MNTTOVMBLOCKMNT(mp);
+@@ -336,13 +355,24 @@
+ */
+
+ static int
++#if __FreeBSD_version >= 800087
++VMBlockVFSRoot(struct mount *mp,
++ int flags,
++ struct vnode **vpp)
++#else
+ VMBlockVFSRoot(struct mount *mp, // IN: vmblock file system
+ int flags, // IN: lockmgr(9) flags
+ struct vnode **vpp, // OUT: root vnode
+ struct thread *td) // IN: caller's thread context
++#endif
+ {
+ struct vnode *vp;
+
++#if __FreeBSD_version >= 800087
++ struct thread *td;
++ td = curthread;
++#endif
++
+ /*
+ * Return locked reference to root.
+ */
+@@ -373,12 +403,21 @@
+ */
+
+ static int
++#if __FreeBSD_version >= 800087
++VMBlockVFSStatFS(struct mount *mp,
++ struct statfs *sbp)
++#else
+ VMBlockVFSStatFS(struct mount *mp, // IN: vmblock file system
+ struct statfs *sbp, // OUT: statfs(2) arg container
+ struct thread *td) // IN: caller's thread context
++#endif
+ {
+ int error;
+ struct statfs mstat;
++#if __FreeBSD_version >= 800087
++ struct thread *td;
++ td = curthread;
++#endif
+
+ VMBLOCKDEBUG("VMBlockVFSStatFS(mp = %p, vp = %p->%p)\n", (void *)mp,
+ (void *)MNTTOVMBLOCKMNT(mp)->rootVnode,
+@@ -386,7 +425,11 @@
+
+ bzero(&mstat, sizeof mstat);
+
++#if __FreeBSD_version >= 800087
++ error = VFS_STATFS(MNTTOVMBLOCKMNT(mp)->mountVFS, &mstat);
++#else
+ error = VFS_STATFS(MNTTOVMBLOCKMNT(mp)->mountVFS, &mstat, td);
++#endif
+ if (error) {
+ return error;
+ }
+@@ -423,9 +466,14 @@
+ */
+
+ static int
++#if __FreeBSD_version >= 800087
++VMBlockVFSSync(struct mount *mp,
++ int waitfor)
++#else
+ VMBlockVFSSync(struct mount *mp, // Ignored
+ int waitfor, // Ignored
+ struct thread *td) // Ignored
++#endif
+ {
+ return 0;
+ }
+--- modules/freebsd/vmhgfs/vfsops.c.orig 2009-03-18 03:03:26.000000000 -0400
++++ modules/freebsd/vmhgfs/vfsops.c 2009-05-23 02:56:39.608109670 -0400
+@@ -109,8 +109,12 @@
+ */
+
+ static int
++#if __FreeBSD_version >= 800087
++HgfsVfsMount(struct mount *mp)
++#else
+ HgfsVfsMount(struct mount *mp, // IN: structure representing the file system
+ struct thread *td) // IN: thread which is mounting the file system
++#endif
+ {
+ HgfsSuperInfo *sip;
+ struct vnode *vp;
+@@ -122,6 +126,10 @@
+ int *uid = NULL;
+ Bool *gidSet = NULL;
+ int *gid = NULL;
++#if __FreeBSD_version >= 800087
++ struct thread *td;
++ td = curthread;
++#endif
+
+ /*
+ * - Examine/validate mount flags from userland.
+@@ -145,7 +153,11 @@
+ * Since Hgfs requires the caller to be root, only allow mount attempts made
+ * by the superuser.
+ */
++#if __FreeBSD_version >= 800001
++ if ((ret = priv_check(td, PRIV_VFS_MOUNT)) != 0) {
++#else
+ if ((ret = suser(td)) != 0) {
++#endif
+ return ret;
+ }
+
+@@ -277,11 +289,19 @@
+ */
+
+ static int
++#if __FreeBSD_version >= 800087
++HgfsVfsUnmount(struct mount *mp, int mntflags)
++#else
+ HgfsVfsUnmount(struct mount *mp, int mntflags, struct thread *td)
++#endif
+ {
+ HgfsSuperInfo *sip;
+ int ret = 0;
+ int flags = 0;
++#if __FreeBSD_version >= 800087
++ struct thread *td;
++ td = curthread;
++#endif
+
+ sip = (HgfsSuperInfo *)mp->mnt_data;
+
+@@ -348,10 +368,18 @@
+ */
+
+ static int
++#if __FreeBSD_version >= 800087
++HgfsVfsStatfs(struct mount *mp, struct statfs *sbp)
++#else
+ HgfsVfsStatfs(struct mount *mp, struct statfs *sbp, struct thread *td)
++#endif
+ {
+ int ret = 0;
+ struct vnode *vp;
++#if __FreeBSD_version >= 800087
++ struct thread *td;
++ td = curthread;
++#endif
+
+ /* We always want HGFS_BLOCKSIZE to be a power of two */
+ ASSERT_ON_COMPILE(HGFS_IS_POWER_OF_TWO(HGFS_BLOCKSIZE));
+@@ -361,8 +389,11 @@
+ * we got from a call to vfs_getnewfsid() in HgfsVfsMount()
+ */
+ bcopy(&mp->mnt_stat, sbp, sizeof mp->mnt_stat);
+-
++#if __FreeBSD_version >= 800087
++ ret = HgfsVfsRoot(mp, LK_SHARED, &vp);
++#else
+ ret = HgfsVfsRoot(mp, LK_SHARED, &vp, td);
++#endif
+ if (ret) {
+ DEBUG(VM_DEBUG_FAIL, "HgfsVfsRoot failed\n");
+ return ret;
+@@ -397,13 +428,23 @@
+ */
+
+ static int
++#if __FreeBSD_version >= 800087
++HgfsVfsRoot(struct mount *mp,
++ int flags,
++ struct vnode **vpp)
++#else
+ HgfsVfsRoot(struct mount *mp, // IN: Filesystem structure
+ int flags, // IN: Flags to vget
+ struct vnode **vpp, // OUT: Address of root vnode
+ struct thread *td) // IN: Thread structure
++#endif
+ {
+ HgfsSuperInfo *sip = (HgfsSuperInfo *)mp->mnt_data;
+ int ret = 0;
++#if __FreeBSD_version >= 800087
++ struct thread *td;
++ td = curthread;
++#endif
+
+ *vpp = NULL;
+
diff --git a/emulators/open-vm-tools/files/patch-services-Makefile b/emulators/open-vm-tools/files/patch-services-Makefile
index bb3d6130d1d7..feb0123cb7ce 100644
--- a/emulators/open-vm-tools/files/patch-services-Makefile
+++ b/emulators/open-vm-tools/files/patch-services-Makefile
@@ -7,7 +7,7 @@
- mkdir -p $(DESTDIR)/etc/vmware-tools
- ln -sf `dirname $(VMSVC_PLUGIN_INSTALLDIR)` $(DESTDIR)/etc/vmware-tools/plugins
+ mkdir -p $(prefix)/etc/vmware-tools
-+ ln -sf `dirname $(VMSVC_PLUGIN_INSTALLDIR)` $(prefix)/etc/vmware-tools/plugins
++
--- services/Makefile.in.orig 2009-02-28 20:48:52.000000000 +0100
+++ services/Makefile.in 2009-02-28 20:49:46.000000000 +0100
@@ -18,7 +18,7 @@
- mkdir -p $(DESTDIR)/etc/vmware-tools
- ln -sf `dirname $(VMSVC_PLUGIN_INSTALLDIR)` $(DESTDIR)/etc/vmware-tools/plugins
+ mkdir -p $(prefix)/etc/vmware-tools
-+ ln -sf `dirname $(VMSVC_PLUGIN_INSTALLDIR)` $(prefix)/etc/vmware-tools/plugins
++
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/emulators/open-vm-tools/files/vmware-guestd.sh.in b/emulators/open-vm-tools/files/vmware-guestd.sh.in
index 043a14b828c1..5176e77a247f 100644
--- a/emulators/open-vm-tools/files/vmware-guestd.sh.in
+++ b/emulators/open-vm-tools/files/vmware-guestd.sh.in
@@ -19,8 +19,8 @@ start_precmd="${checkvm_cmd}"
unset start_cmd
stop_precmd="${checkvm_cmd}"
unset stop_cmd
-command="%%PREFIX%%/sbin/vmware-guestd"
-command_args="--halt-command '/sbin/shutdown -p now' >/dev/null 2>&1"
+command="%%PREFIX%%/bin/vmtoolsd"
+command_args="-c %%PREFIX%%/share/vmware-tools/tools.conf -p %%PREFIX%%/lib/open-vm-tools/plugins/vmsvc"
pidfile="/var/run/${name}.pid"
load_rc_config $name
diff --git a/emulators/open-vm-tools/pkg-plist b/emulators/open-vm-tools/pkg-plist
index 67ea2a38bc92..a54dd9e6e10b 100644
--- a/emulators/open-vm-tools/pkg-plist
+++ b/emulators/open-vm-tools/pkg-plist
@@ -28,9 +28,10 @@ lib/vmware-tools/modules/drivers/vmblock.ko
lib/vmware-tools/modules/drivers/vmhgfs.ko
lib/vmware-tools/modules/drivers/vmmemctl.ko
lib/vmware-tools/modules/drivers/vmxnet.ko
+share/open-vm-tools/tests/libtestDebug.so
+share/open-vm-tools/tests/libtestPlugin.so
@exec mkdir -p %D/lib/vmware-tools/modules/input
sbin/mount_vmhgfs
-sbin/vmware-guestd
%%X11%%bin/vmware-toolbox
%%X11%%bin/vmware-user
%%X11%%bin/vmware-user-suid-wrapper
@@ -49,7 +50,8 @@ share/vmware-tools/vm-support
@dirrmtry lib/vmware-tools/modules
@dirrmtry lib/vmware-tools
@dirrmtry etc/vmware-tools
-@dirrmtry share/vmware-tools
+@dirrmtry share/open-vm-tools/tests
+@dirrmtry share/open-vm-tools
%%X11%%@dirrmtry share/applications
@dirrm lib/open-vm-tools/plugins/vmsvc
%%X11%%@dirrm lib/open-vm-tools/plugins/vmusr