diff options
author | Martin Blapp <mbr@FreeBSD.org> | 2008-03-28 13:30:31 +0000 |
---|---|---|
committer | Martin Blapp <mbr@FreeBSD.org> | 2008-03-28 13:30:31 +0000 |
commit | 4b967f9e693a8ad11a4746ad058aed81082ef3b2 (patch) | |
tree | e38ec988ec767f2eabde899998dac53e63bf06d3 /emulators | |
parent | 3c423fe9eb4963c7e807e21e9dc9500376db0ad2 (diff) |
Notes
Diffstat (limited to 'emulators')
-rw-r--r-- | emulators/open-vm-tools/Makefile | 72 | ||||
-rw-r--r-- | emulators/open-vm-tools/distinfo | 2 | ||||
-rw-r--r-- | emulators/open-vm-tools/files/patch-arch | 12 | ||||
-rw-r--r-- | emulators/open-vm-tools/files/patch-asm | 55 | ||||
-rw-r--r-- | emulators/open-vm-tools/files/patch-cpus | 30 | ||||
-rw-r--r-- | emulators/open-vm-tools/files/patch-freebsd7 | 194 | ||||
-rw-r--r-- | emulators/open-vm-tools/files/patch-getpwnam | 40 | ||||
-rw-r--r-- | emulators/open-vm-tools/files/patch-header | 11 | ||||
-rw-r--r-- | emulators/open-vm-tools/files/patch-vmblock-vfsops.c | 11 | ||||
-rw-r--r-- | emulators/open-vm-tools/files/vmware-guestd.sh.in | 101 | ||||
-rw-r--r-- | emulators/open-vm-tools/pkg-descr | 13 | ||||
-rw-r--r-- | emulators/open-vm-tools/pkg-plist | 19 | ||||
-rw-r--r-- | emulators/open-vm-tools/pkg-plist-x11 | 21 |
13 files changed, 581 insertions, 0 deletions
diff --git a/emulators/open-vm-tools/Makefile b/emulators/open-vm-tools/Makefile new file mode 100644 index 000000000000..b598618f7e09 --- /dev/null +++ b/emulators/open-vm-tools/Makefile @@ -0,0 +1,72 @@ +# New ports collection makefile for: open-vm-tools for FreeBSD +# Date created: 28 Mar 2008 +# Whom: mbr@FreeBSD.org +# +# $FreeBSD$ +# + +PORTNAME= open-vm-tools-FreeBSD${OSREL}-${ARCH}-Build +PORTVERSION= ${BUILD_VER} +CATEGORIES= emulators +DISTNAME= open-vm-tools-${RELEASE_DATE}-${BUILD_VER} +MASTER_SITES= ${MASTER_SITE_SOURCEFORGE} +MASTER_SITE_SUBDIR= open-vm-tools + +MAINTAINER= mbr@freebsd.org +COMMENT?= Open VMware tools for FreeBSD VMware guests + +RELEASE_DATE= 2008.03.19 +BUILD_VER= 82724 + +GNU_CONFIGURE= yes + +.if defined(WITHOUT_X11) +CONFIGURE_ARGS+= --without-x +.else +USE_XLIB= yes +USE_GNOME= gtk12 +PLIST_SUB+= X11="" +PLIST= ${PKGDIR}/pkg-plist-x11 +.endif + +CONFLICTS= vmware-guestd* vmware-tools* + +.if defined(WITHOUT_DNET) +CONFIGURE_ARGS+= --without-dnet +.else +BUILD_DEPENDS= ${LOCALBASE}/lib/libdnet.so:${PORTSDIR}/net/libdnet +.endif + +USE_RC_SUBR= vmware-guestd.sh + +.include <bsd.port.pre.mk> + +post-build: + cd ${WRKSRC}/modules && make + +post-install: + ${MKDIR} -p ${PREFIX}/lib/vmware-tools/modules/drivers + ${MKDIR} -p ${PREFIX}/lib/vmware-tools/modules/input + ${MKDIR} -p ${PREFIX}/share/vmware-tools + ${INSTALL} ${WRKSRC}/guestd/guestd ${PREFIX}/sbin/vmware-guestd + ${INSTALL} ${WRKSRC}/checkvm/checkvm ${PREFIX}/sbin/vmware-checkvm +.if ${OSREL} >= 6 + ${INSTALL} ${WRKSRC}/hgfsmounter/hgfsmounter ${PREFIX}/sbin/vmware-hgfsmounter +.endif + ${INSTALL} ${WRKSRC}/xferlogs/xferlogs ${PREFIX}/sbin/vmware-xferlogs + ${INSTALL_DATA} ${WRKSRC}/modules/freebsd/vmmemctl.ko ${PREFIX}/lib/vmware-tools/modules/drivers/vmmemctl.ko + ${INSTALL_DATA} ${WRKSRC}/modules/freebsd/vmxnet.ko ${PREFIX}/lib/vmware-tools/modules/drivers/vmxnet.ko +.if ${OSREL} >= 6 + ${INSTALL_DATA} ${WRKSRC}/modules/freebsd/vmhgfs.ko ${PREFIX}/lib/vmware-tools/modules/drivers/vmhgfs.ko + ${INSTALL_DATA} ${WRKSRC}/modules/freebsd/vmblock.ko ${PREFIX}/lib/vmware-tools/modules/drivers/vmblock.ko +.endif + ${INSTALL_SCRIPT} ${WRKSRC}/scripts/freebsd/poweroff-vm-default ${PREFIX}/share/vmware-tools/poweroff-vm-default + ${INSTALL_SCRIPT} ${WRKSRC}/scripts/freebsd/poweron-vm-default ${PREFIX}/share/vmware-tools/poweron-vm-default + ${INSTALL_SCRIPT} ${WRKSRC}/scripts/freebsd/resume-vm-default ${PREFIX}/share/vmware-tools/resume-vm-default + ${INSTALL_SCRIPT} ${WRKSRC}/scripts/freebsd/suspend-vm-default ${PREFIX}/share/vmware-tools/suspend-vm-default +.if !defined(WITHOUT_X11) + ${INSTALL} ${WRKSRC}/toolbox/toolbox ${X11BASE}/sbin/vmware-toolbox + ${INSTALL} ${WRKSRC}/vmware-user/vmware-user ${X11BASE}/sbin/vmware-user +.endif + +.include <bsd.port.post.mk> diff --git a/emulators/open-vm-tools/distinfo b/emulators/open-vm-tools/distinfo new file mode 100644 index 000000000000..04a871e82127 --- /dev/null +++ b/emulators/open-vm-tools/distinfo @@ -0,0 +1,2 @@ +MD5 (open-vm-tools-2008.03.19-82724.tar.gz) = 708bdbfd55cbda9ec57e1cd4b7a98579 +SHA256 (open-vm-tools-2008.03.19-82724.tar.gz) = ee725d5908a78dc2f2ab4dd5759281b56d5b500105315fce08e64c5d5ddb9b3c diff --git a/emulators/open-vm-tools/files/patch-arch b/emulators/open-vm-tools/files/patch-arch new file mode 100644 index 000000000000..543a1870645e --- /dev/null +++ b/emulators/open-vm-tools/files/patch-arch @@ -0,0 +1,12 @@ +--- configure.orig 2008-03-28 10:36:13.000000000 +0100 ++++ configure 2008-03-28 10:36:45.000000000 +0100 +@@ -2167,6 +2167,9 @@ + x86_64) + userSpaceBitness="64" + ;; ++ amd64) ++ userSpaceBitness="64" ++ ;; + *) + { { echo "$as_me:$LINENO: error: Unknown architecture." >&5 + echo "$as_me: error: Unknown architecture." >&2;} diff --git a/emulators/open-vm-tools/files/patch-asm b/emulators/open-vm-tools/files/patch-asm new file mode 100644 index 000000000000..4d6e803d0897 --- /dev/null +++ b/emulators/open-vm-tools/files/patch-asm @@ -0,0 +1,55 @@ +--- modules/freebsd/vmhgfs/vm_basic_asm_x86.h.orig 2008-03-19 08:49:45.000000000 +0100 ++++ modules/freebsd/vmhgfs/vm_basic_asm_x86.h 2008-03-27 17:40:38.000000000 +0100 +@@ -100,14 +100,14 @@ + static INLINE void + FXSAVE_ES1(uint8 *save) + { +- asm ("fxsave %0 \n" ++ __asm ("fxsave %0 \n" + : "=m" (*save)); + } + + static INLINE void + FXRSTOR_ES1(const uint8 *load) + { +- asm ("fxrstor %0 \n" ++ __asm ("fxrstor %0 \n" + : + : "m" (*load)); + } +@@ -117,7 +117,7 @@ + { + uint64 dummy = 0; + +- asm ("fnstsw %%ax \n" // Grab x87 ES bit ++ __asm ("fnstsw %%ax \n" // Grab x87 ES bit + "bt $7,%%ax \n" // Test ES bit + "jnc 1f \n" // Jump if ES=0 + "fnclex \n" // ES=1. Clear it so fild doesn't trap +@@ -306,7 +306,7 @@ + * smart enough, at least in the version we are currently using. + */ + if (shift < 32) { +- asm("mov %%eax, %2 \n\t" // Save lo(multiplicand) in tmp2 ++ __asm("mov %%eax, %2 \n\t" // Save lo(multiplicand) in tmp2 + "mov %%edx, %%eax \n\t" // Get hi(multiplicand) + "mull %4 \n\t" // p2 = hi(multiplicand) * multiplier + "xchg %%eax, %2 \n\t" // Save lo(p2) in tmp2, get lo(multiplicand) +@@ -325,7 +325,7 @@ + : "cc" + ); + } else { +- asm("mov %%edx, %2 \n\t" // Save hi(multiplicand) in tmp2 ++ __asm("mov %%edx, %2 \n\t" // Save hi(multiplicand) in tmp2 + "mull %4 \n\t" // p1 = lo(multiplicand) * multiplier + "mov %%edx, %1 \n\t" // Save hi(p1) in tmp1 + "mov %2, %%eax \n\t" // Discard lo(p1), get hi(multiplicand) +@@ -421,7 +421,7 @@ + + /* Written and tested by mann, checked by dbudko and hpreg */ + /* XXX hpreg suggested some improvements that we haven't converged on yet */ +- asm("mov %%eax, %2\n\t" // Save lo(multiplicand) ++ __asm("mov %%eax, %2\n\t" // Save lo(multiplicand) + "mov %%edx, %%eax\n\t" // Get hi(multiplicand) + "test %%eax, %%eax\n\t" // Check sign of multiplicand + "jl 0f\n\t" // Go if negative diff --git a/emulators/open-vm-tools/files/patch-cpus b/emulators/open-vm-tools/files/patch-cpus new file mode 100644 index 000000000000..4fbb6ca6fb9a --- /dev/null +++ b/emulators/open-vm-tools/files/patch-cpus @@ -0,0 +1,30 @@ +--- lib/user/hostinfoPosix.c.orig 2008-03-19 08:49:50.000000000 +0100 ++++ lib/user/hostinfoPosix.c 2008-03-27 17:40:38.000000000 +0100 +@@ -68,6 +68,11 @@ + #endif + #endif + ++#if defined(__FreeBSD__) ++#include <sys/types.h> ++#include <sys/sysctl.h> ++#endif ++ + #include "vmware.h" + #include "hostType.h" + #include "hostinfo.h" +@@ -674,6 +679,15 @@ + } + + return out; ++#elseif (defined(__FreeBSD__) ++ uint32 out; ++ size_t outSize = sizeof out; ++ ++ if (sysctlbyname("kern.smp.cpus", &out, &outSize, NULL, 0) == -1) { ++ return -1; ++ } ++ ++ return out; + #else + static int count = 0; + diff --git a/emulators/open-vm-tools/files/patch-freebsd7 b/emulators/open-vm-tools/files/patch-freebsd7 new file mode 100644 index 000000000000..e256614919dc --- /dev/null +++ b/emulators/open-vm-tools/files/patch-freebsd7 @@ -0,0 +1,194 @@ +--- hgfsmounter/hgfsmounter.c.orig 2008-03-19 08:49:53.000000000 +0100 ++++ hgfsmounter/hgfsmounter.c 2008-03-27 18:28:03.000000000 +0100 +@@ -44,7 +44,9 @@ + # define MS_SYNCHRONOUS MNT_SYNCHRONOUS + # define MS_NOEXEC MNT_NOEXEC + # define MS_NOSUID MNT_NOSUID ++#if __FreeBSD_version < 700000 + # define MS_NODEV MNT_NODEV ++#endif + # define MS_UNION MNT_UNION + # define MS_ASYNC MNT_ASYNC + # define MS_SUIDDIR MNT_SUIDDIR +@@ -199,8 +201,10 @@ + printf(" rw mount read-write (default)\n"); + printf(" nosuid ignore suid/sgid bits\n"); + printf(" suid allow suid/sgid bits (default)\n"); ++#if __FreeBSD_version < 700000 + printf(" nodev prevent device node access\n"); + printf(" dev allow device node access (default)\n"); ++#endif + printf(" noexec prevent program execution\n"); + printf(" exec allow program execution (default)\n"); + printf(" sync file writes are synchronous\n"); +@@ -603,12 +607,14 @@ + } else if (strcmp(key, "suid") == 0) { + *flags &= ~MS_NOSUID; + LOG("Setting mount option for allowing suid/sgid bits on\n"); ++#if __FreeBSD_version < 700000 + } else if (strcmp(key, "nodev") == 0) { // allow access to device nodes? + *flags |= MS_NODEV; + LOG("Setting mount option for accessing device nodes off\n"); + } else if (strcmp(key, "dev") == 0) { + *flags &= ~MS_NODEV; + LOG("Setting mount option for accessing device nodes on\n"); ++#endif + } else if (strcmp(key, "noexec") == 0) { // allow program execution? + *flags |= MS_NOEXEC; + LOG("Setting mount option for program execution off\n"); +--- modules/freebsd/vmxnet/net_compat.h.orig 2008-03-19 08:49:47.000000000 +0100 ++++ modules/freebsd/vmxnet/net_compat.h 2008-03-27 18:30:45.000000000 +0100 +@@ -132,7 +132,11 @@ + #define VXN_IF_FREE(softc) if_free((softc)->arpcom.ac_ifp) + + #define VXN_SC2IFP(softc) ((softc)->arpcom.ac_ifp) ++#if __FreeBSD_version >= 700000 ++ #define VXN_SC2ENADDR(softc) ((softc)->vxn_enaddr) ++#else + #define VXN_SC2ENADDR(softc) ((softc)->arpcom._ac_enaddr) ++#endif + + #define VXN_PCIR_MAPS PCIR_BARS + +--- modules/freebsd/vmxnet/if_vxn.c.orig 2008-03-19 08:49:47.000000000 +0100 ++++ modules/freebsd/vmxnet/if_vxn.c 2008-03-27 18:33:12.000000000 +0100 +@@ -108,6 +108,9 @@ + Vmxnet2_TxRingEntry *vxn_tx_ring; + int vxn_tx_pending; + int vxn_rings_allocated; ++#if __FreeBSD_version >= 700000 ++ u_char vxn_enaddr[ETHER_ADDR_LEN]; ++#endif + uint32 vxn_max_tx_frags; + + struct mbuf *vxn_tx_buffptr[VMXNET2_MAX_NUM_TX_BUFFERS]; +@@ -299,11 +302,20 @@ + } + #ifdef VXN_MPSAFE + error = bus_setup_intr(dev, sc->vxn_irq, INTR_TYPE_NET | INTR_MPSAFE, ++#if __FreeBSD_version >= 700000 ++ NULL, vxn_intr, sc, &sc->vxn_intrhand); ++#else + vxn_intr, sc, &sc->vxn_intrhand); ++#endif + #else + error = bus_setup_intr(dev, sc->vxn_irq, INTR_TYPE_NET, ++#if __FreeBSD_version >= 700000 ++ NULL, vxn_intr, sc, &sc->vxn_intrhand); ++#else + vxn_intr, sc, &sc->vxn_intrhand); + #endif ++ ++#endif + if (error) { + printf("vxn%d: couldn't set up irq\n", unit); + error = ENXIO; +--- modules/freebsd/vmhgfs/vnops.c.orig 2008-03-19 08:49:45.000000000 +0100 ++++ modules/freebsd/vmhgfs/vnops.c 2008-03-27 18:34:58.000000000 +0100 +@@ -138,7 +138,9 @@ + .vop_islocked = vop_stdislocked, + .vop_kqfilter = vop_stdkqfilter, + .vop_lease = VOP_NULL, ++#if __FreeBSD_version < 700000 + .vop_lock = vop_stdlock, ++#endif + .vop_pathconf = VOP_EINVAL, + .vop_poll = vop_nopoll, + .vop_putpages = vop_stdputpages, +--- modules/freebsd/vmblock/vnops.c.orig 2008-03-19 08:49:43.000000000 +0100 ++++ modules/freebsd/vmblock/vnops.c 2008-03-27 18:43:03.000000000 +0100 +@@ -187,6 +187,9 @@ + #include <sys/file.h> + #include <sys/filedesc.h> + #include <sys/kdb.h> ++#if __FreeBSD_version >= 700000 ++#include <sys/priv.h> ++#endif + + #include "vmblock_k.h" + #include "vmblock.h" +@@ -210,13 +213,18 @@ + static vop_inactive_t VMBlockVopInactive; + static vop_ioctl_t VMBlockVopIoctl; + static vop_islocked_t VMBlockVopIsLocked; ++#if __FreeBSD_version < 700000 + static vop_lock_t VMBlockVopLock; ++#endif + static vop_lookup_t VMBlockVopLookup; + static vop_open_t VMBlockVopOpen; + static vop_print_t VMBlockVopPrint; + static vop_reclaim_t VMBlockVopReclaim; + static vop_rename_t VMBlockVopRename; + static vop_setattr_t VMBlockVopSetAttr; ++#if __FreeBSD_version >= 700000 ++static vop_lock1_t VMBlockVopLock; ++#endif + static vop_unlock_t VMBlockVopUnlock; + + +@@ -254,7 +262,9 @@ + .vop_inactive = VMBlockVopInactive, + .vop_ioctl = VMBlockVopIoctl, + .vop_islocked = VMBlockVopIsLocked, ++#if __FreeBSD_version < 700000 + .vop_lock = VMBlockVopLock, ++#endif + .vop_lookup = VMBlockVopLookup, + .vop_open = VMBlockVopOpen, + .vop_print = VMBlockVopPrint, +@@ -262,6 +272,9 @@ + .vop_rename = VMBlockVopRename, + .vop_setattr = VMBlockVopSetAttr, + .vop_strategy = VOP_EOPNOTSUPP, ++#if __FreeBSD_version >= 700000 ++ .vop_lock1 = VMBlockVopLock, ++#endif + .vop_unlock = VMBlockVopUnlock, + }; + +@@ -720,7 +733,11 @@ + * readdir() of the filesystem root for non-privileged users. + */ + if ((retval = suser(ap->a_td)) == 0) { ++#if __FreeBSD_version >= 700000 ++ fp = ap->a_fp; ++#else + fp = ap->a_td->td_proc->p_fd->fd_ofiles[ap->a_fdidx]; ++#endif + fp->f_ops = &VMBlockFileOps; + } + } else { +@@ -1100,7 +1117,11 @@ + */ + + static int ++#if __FreeBSD_version >= 700000 ++VMBlockVopLock(struct vop_lock1_args *ap) ++#else + VMBlockVopLock(struct vop_lock_args *ap) ++#endif + /* + struct vop_lock_args { + struct vnode *vp; // IN: vnode operand +--- modules/freebsd/vmhgfs/vfsops.c.orig 2008-03-19 08:49:45.000000000 +0100 ++++ modules/freebsd/vmhgfs/vfsops.c 2008-03-27 19:04:20.000000000 +0100 +@@ -29,6 +29,9 @@ + #include <sys/malloc.h> + #include <sys/kernel.h> + #include <sys/systm.h> ++#if __FreeBSD_version >= 700000 ++#include <sys/priv.h> ++#endif + + #include "hgfs_kernel.h" + #include "request.h" +@@ -64,7 +67,9 @@ + .vfs_vget = vfs_stdvget, + .vfs_fhtovp = vfs_stdfhtovp, + .vfs_checkexp = vfs_stdcheckexp, ++#if __FreeBSD_version < 700000 + .vfs_vptofh = vfs_stdvptofh, ++#endif + .vfs_init = HgfsVfsInit, + .vfs_uninit = HgfsVfsUninit, + .vfs_extattrctl = vfs_stdextattrctl, diff --git a/emulators/open-vm-tools/files/patch-getpwnam b/emulators/open-vm-tools/files/patch-getpwnam new file mode 100644 index 000000000000..2b75f17bbf7e --- /dev/null +++ b/emulators/open-vm-tools/files/patch-getpwnam @@ -0,0 +1,40 @@ +--- lib/auth/authPosix.c 2008-03-19 08:49:49.000000000 +0100 ++++ lib/auth/authPosix.c 2008-03-27 11:20:20.000000000 +0100 +@@ -264,7 +264,11 @@ + #endif + /* If this point is reached, the user has been authenticated. */ + setpwent(); ++#if defined(__FreeBSD__) ++ pwd = getpwnam(user); ++#else + pwd = Posix_Getpwnam(user); ++#endif + endpwent(); + + #else /* !USE_PAM */ +@@ -274,7 +278,11 @@ + corresponding #endif below. */ + + setpwent(); //XXX can kill? ++#if defined(__FreeBSD__) ++ pwd = getpwnam(user); ++#else + pwd = Posix_Getpwnam(user); ++#endif + endpwent(); //XXX can kill? + + if (!pwd) { +--- lib/impersonate/impersonatePosix.c 2008-03-19 08:49:50.000000000 +0100 ++++ lib/impersonate/impersonatePosix.c 2008-03-27 11:21:38.000000000 +0100 +@@ -432,7 +432,11 @@ + struct passwd *ppw = &pw; + int error; + ++#if defined(__FreeBSD__) ++ if ((error = getpwnam_r(user, &pw, buffer, BUFSIZ, &ppw)) != 0 || !ppw) { ++#else + if ((error = Posix_Getpwnam_r(user, &pw, buffer, BUFSIZ, &ppw)) != 0 || !ppw) { ++#endif + if (error == 0) { + error = ENOENT; + } diff --git a/emulators/open-vm-tools/files/patch-header b/emulators/open-vm-tools/files/patch-header new file mode 100644 index 000000000000..01559ed80a1d --- /dev/null +++ b/emulators/open-vm-tools/files/patch-header @@ -0,0 +1,11 @@ +--- modules/freebsd/vmhgfs/os.h.orig 2008-03-19 08:49:45.000000000 +0100 ++++ modules/freebsd/vmhgfs/os.h 2008-03-27 17:40:38.000000000 +0100 +@@ -29,6 +29,8 @@ + + #if defined(__FreeBSD__) + # include <sys/param.h> // for <everything> ++# include <sys/proc.h> ++# include <sys/condvar.h> + # include <sys/lock.h> // for struct mtx + # include <sys/mutex.h> // for struct mtx + # include <sys/sx.h> diff --git a/emulators/open-vm-tools/files/patch-vmblock-vfsops.c b/emulators/open-vm-tools/files/patch-vmblock-vfsops.c new file mode 100644 index 000000000000..5f272a04bc54 --- /dev/null +++ b/emulators/open-vm-tools/files/patch-vmblock-vfsops.c @@ -0,0 +1,11 @@ +--- modules/freebsd/vmblock/vfsops.c 2007-11-21 09:10:18.000000000 +0100 ++++ modules/freebsd/vmblock/vfsops.c 2007-12-06 12:26:47.000000000 +0100 +@@ -217,7 +217,7 @@ + */ + MNT_ILOCK(mp); + mp->mnt_flag |= lowerrootvp->v_mount->mnt_flag & MNT_LOCAL; +-#if BSD_VERSION >= 60 ++#if __FreeBSD_version >= 60 + mp->mnt_kern_flag |= lowerrootvp->v_mount->mnt_kern_flag & MNTK_MPSAFE; + #endif + MNT_IUNLOCK(mp); diff --git a/emulators/open-vm-tools/files/vmware-guestd.sh.in b/emulators/open-vm-tools/files/vmware-guestd.sh.in new file mode 100644 index 000000000000..93a95c0cef68 --- /dev/null +++ b/emulators/open-vm-tools/files/vmware-guestd.sh.in @@ -0,0 +1,101 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# PROVIDE: vmware-guestd +# REQUIRE: DAEMON +# BEFORE: LOGIN + +PREFIX=%%PREFIX%% +. %%RC_SUBR%% + +# Global +checkvm_cmd="${PREFIX}/sbin/vmware-checkvm > /dev/null" + +# Functions +vmware_guest_vmmemctl_start() +{ + echo 'Loading vmmemctl kernel module.' + kldload ${PREFIX}/lib/vmware-tools/modules/drivers/vmmemctl.ko >/dev/null 2>&1 +} +vmware_guest_vmxnet_start() +{ + echo 'Loading vmxnet kernel module.' + kldload ${PREFIX}/lib/vmware-tools/modules/drivers/vmxnet.ko >/dev/null 2>&1 +} +vmware_guest_vmblock_start() +{ + echo 'Loading vmblock kernel module.' + kldload ${PREFIX}/lib/vmware-tools/modules/drivers/vmblock.ko >/dev/null 2>&1 +} +vmware_guest_vmhgfs_start() +{ + echo 'Loading vmhgfs kernel module.' + kldload ${PREFIX}/lib/vmware-tools/modules/drivers/vmhgfs.ko >/dev/null 2>&1 +} + +# VMware kernel module: vmmemctl +name="vmware_guest_vmmemctl" +rcvar=`set_rcvar` +start_precmd="${checkvm_cmd}" +start_cmd="vmware_guest_vmmemctl_start" +stop_precmd="${checkvm_cmd}" +stop_cmd=":" + +load_rc_config $name +[ -z "$vmware_guest_vmmemctl_enable" ] && vmware_guest_vmmemctl_enable="NO" +[ -n "$vmware_guest_kmod_enable" ] && vmware_guest_vmmemctl_enable="$vmware_guest_kmod_enable" +run_rc_command "$1" + +# VMware kernel module: vmxnet +name="vmware_guest_vmxnet" +rcvar=`set_rcvar` +start_precmd="${checkvm_cmd}" +start_cmd="vmware_guest_vmxnet_start" +stop_precmd="${checkvm_cmd}" +stop_cmd=":" + +load_rc_config $name +[ -z "$vmware_guest_vmxnet_enable" ] && vmware_guest_vmxnet_enable="NO" +run_rc_command "$1" + +# VMware kernel module: vmblock +name="vmware_guest_vmblock" +rcvar=`set_rcvar` +start_precmd="${checkvm_cmd}" +start_cmd="vmware_guest_vmblock_start" +stop_precmd="${checkvm_cmd}" +stop_cmd=":" + +load_rc_config $name +[ -z "$vmware_guest_vmblock_enable" ] && vmware_guest_vmblock_enable="NO" +run_rc_command "$1" + +# VMware kernel module: vmhgfs +name="vmware_guest_vmhgfs" +rcvar=`set_rcvar` +start_precmd="${checkvm_cmd}" +start_cmd="vmware_guest_vmhgfs_start" +stop_precmd="${checkvm_cmd}" +stop_cmd=":" + +load_rc_config $name +[ -z "$vmware_guest_vmhgfs_enable" ] && vmware_guest_vmhgfs_enable="NO" +run_rc_command "$1" + +# VMware guest daemon +name="vmware_guestd" +rcvar=`set_rcvar` +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" +pidfile="/var/run/${name}.pid" + +load_rc_config $name +[ -z "$vmware_guestd_enable" ] && vmware_guestd_enable="YES" +[ -z "$vmware_guestd_flags" ] && vmware_guestd_flags="--background ${pidfile}" +run_rc_command "$1" diff --git a/emulators/open-vm-tools/pkg-descr b/emulators/open-vm-tools/pkg-descr new file mode 100644 index 000000000000..de459cc22b5e --- /dev/null +++ b/emulators/open-vm-tools/pkg-descr @@ -0,0 +1,13 @@ +The Open Virtual Machine Tools (open-vm-tools) are the open source +implementation of VMware Tools. They are a set of guest operating +system virtualization components that enhance performance and user +experience of virtual machines. As virtualization technology rapidly +becomes mainstream, each virtualization solution provider implements +their own set of tools and utilities to supplement the guest virtual +machine. However, most of the implementations are proprietary and +are tied to a specific virtualization platform. + +This port replaces the vmware guest ports and the binary only vmware +tools ports in the ports tree. + +WWW: http://open-vm-tools.sourceforge.net diff --git a/emulators/open-vm-tools/pkg-plist b/emulators/open-vm-tools/pkg-plist new file mode 100644 index 000000000000..e10588563978 --- /dev/null +++ b/emulators/open-vm-tools/pkg-plist @@ -0,0 +1,19 @@ +lib/libguestlib.a +lib/libguestlib.so +lib/libguestlib.so.0 +lib/vmware-tools/modules/drivers/vmmemctl.ko +lib/vmware-tools/modules/drivers/vmxnet.ko +lib/vmware-tools/modules/drivers/vmhgfs.ko +lib/vmware-tools/modules/drivers/vmblock.ko +share/vmware-tools/poweroff-vm-default +share/vmware-tools/poweron-vm-default +share/vmware-tools/resume-vm-default +share/vmware-tools/suspend-vm-default +sbin/vmware-guestd +sbin/vmware-checkvm +sbin/vmware-hgfsmounter +sbin/vmware-xferlogs +@dirrm share/vmware-tools +@dirrmtry lib/vmware-tools/modules/drivers +@dirrmtry lib/vmware-tools/modules/input +@unexec if test -f %D/share/vmware-tools/tools.conf; then rm -f %D/share/vmware-tools/tools.conf; fi diff --git a/emulators/open-vm-tools/pkg-plist-x11 b/emulators/open-vm-tools/pkg-plist-x11 new file mode 100644 index 000000000000..d49a5c5b7c7d --- /dev/null +++ b/emulators/open-vm-tools/pkg-plist-x11 @@ -0,0 +1,21 @@ +lib/libguestlib.a +lib/libguestlib.so +lib/libguestlib.so.0 +lib/vmware-tools/modules/drivers/vmmemctl.ko +lib/vmware-tools/modules/drivers/vmxnet.ko +lib/vmware-tools/modules/drivers/vmhgfs.ko +lib/vmware-tools/modules/drivers/vmblock.ko +share/vmware-tools/poweroff-vm-default +share/vmware-tools/poweron-vm-default +share/vmware-tools/resume-vm-default +share/vmware-tools/suspend-vm-default +sbin/vmware-guestd +sbin/vmware-checkvm +sbin/vmware-hgfsmounter +sbin/vmware-xferlogs +%%X11%%/sbin/vmware-toolbox +%%X11%%/sbin/vmware-user +@dirrm share/vmware-tools +@dirrmtry lib/vmware-tools/modules/drivers +@dirrmtry lib/vmware-tools/modules/input +@unexec if test -f %D/share/vmware-tools/tools.conf; then rm -f %D/share/vmware-tools/tools.conf; fi |