diff options
author | mbr <mbr@FreeBSD.org> | 2009-06-09 07:24:44 +0800 |
---|---|---|
committer | mbr <mbr@FreeBSD.org> | 2009-06-09 07:24:44 +0800 |
commit | 5b7d2e319507715f5d1e4986e19cade547cb4b06 (patch) | |
tree | 46d87118f5da9c5efbc3066bca1e0f69af9c2f90 /emulators | |
parent | 692bbe12580bf5c882df036fe083ae92ee711a06 (diff) | |
download | freebsd-ports-gnome-5b7d2e319507715f5d1e4986e19cade547cb4b06.tar.gz freebsd-ports-gnome-5b7d2e319507715f5d1e4986e19cade547cb4b06.tar.zst freebsd-ports-gnome-5b7d2e319507715f5d1e4986e19cade547cb4b06.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>
Diffstat (limited to 'emulators')
-rw-r--r-- | emulators/open-vm-tools/Makefile | 5 | ||||
-rw-r--r-- | emulators/open-vm-tools/distinfo | 6 | ||||
-rw-r--r-- | emulators/open-vm-tools/files/patch-freebsd-8 | 256 | ||||
-rw-r--r-- | emulators/open-vm-tools/files/patch-services-Makefile | 4 | ||||
-rw-r--r-- | emulators/open-vm-tools/files/vmware-guestd.sh.in | 4 | ||||
-rw-r--r-- | emulators/open-vm-tools/pkg-plist | 6 |
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 |