summaryrefslogtreecommitdiff
path: root/emulators/vmware-guestd5
diff options
context:
space:
mode:
authorMakoto Matsushita <matusita@FreeBSD.org>2003-07-24 15:34:44 +0000
committerMakoto Matsushita <matusita@FreeBSD.org>2003-07-24 15:34:44 +0000
commit4e3da8e744b6b22a2e5ffeb0360e3023f9405f5d (patch)
treefa38b92be0e576bbbd2d6b6e1b93e786fe2b4bc7 /emulators/vmware-guestd5
parentFix building under -CURRENT (gcc 3.3) (diff)
Update VMware Tools for 4.0.1 build-5289, the latest version of VMware
Workstation. This commit makes vmware-tools4 a slave port of vmware-guestd4, since both are made from the same tarball, and it would be easy to maintain. Vmware-guestd4 also installs a kernel module named vmmemctl; you may want to kldload(8) it with a shell script under rc.d/ directory. VMware Workstation 4.0.1 does fix "jumping the pointer" bug (yeah, thanks VMware developer team). This means that you do not have to install linux-vmware-toolbox4. However, it can be used as it should be, I do not disable and/or remove this port.
Notes
Notes: svn path=/head/; revision=85531
Diffstat (limited to 'emulators/vmware-guestd5')
-rw-r--r--emulators/vmware-guestd5/Makefile104
-rw-r--r--emulators/vmware-guestd5/distinfo1
-rw-r--r--emulators/vmware-guestd5/files/vmware-guest_kmod.sh29
-rw-r--r--emulators/vmware-guestd5/files/vmware-guestd.sh4
-rw-r--r--emulators/vmware-guestd5/files/vmware-guestd.sh.in4
-rw-r--r--emulators/vmware-guestd5/pkg-descr3
-rw-r--r--emulators/vmware-guestd5/pkg-descr.tools16
-rw-r--r--emulators/vmware-guestd5/pkg-plist8
-rw-r--r--emulators/vmware-guestd5/pkg-plist.tools4
9 files changed, 146 insertions, 27 deletions
diff --git a/emulators/vmware-guestd5/Makefile b/emulators/vmware-guestd5/Makefile
index 14197f7c5e28..9231b4c7a3d3 100644
--- a/emulators/vmware-guestd5/Makefile
+++ b/emulators/vmware-guestd5/Makefile
@@ -5,44 +5,76 @@
# $FreeBSD$
#
-PORTNAME= vmware-guestd
+PORTNAME= vmware
PORTVERSION= ${VMWARE_VER}.${BUILD_VER}
CATEGORIES= emulators
MASTER_SITES= # bundled with VMware itself
+PKGNAMESUFFIX?= -guestd
DISTNAME= vmware-freebsd-tools
MAINTAINER= matusita@FreeBSD.org
-COMMENT=VMware time synchronization daemon for FreeBSD guest OS (for VMware 4.x)
+COMMENT?=VMware time synchronization daemon for FreeBSD guest OS (for VMware 4.x)
-LIB_DEPENDS= c.3:${PORTSDIR}/misc/compat3x
+.if defined(VMWARE_X_PORTS)
+RUN_DEPENDS= ${LOCALBASE}/sbin/vmware-guestd:${PORTSDIR}/emulators/vmware-guestd4
+.endif
DISTDIR= ${MOUNT_PT}
IGNOREFILES= ${DISTFILES}
-WRKSRC= ${WRKDIR}/vmware-freebsd-tools
+WRKSRC= ${WRKDIR}/vmware-tools-distrib
ONLY_FOR_ARCHS= i386
-NO_BUILD= yes
.if !defined(BATCH)
IS_INTERACTIVE= yes
.endif
+.if defined(VMWARE_X_PORTS)
+USE_X_PREFIX= yes
+NO_BUILD= yes
+.endif
RESTRICTED= "Not sure if we can redistribute this."
NO_PACKAGE= ${RESTRICTED}
-VMWARE_VER= 4.0.0
-BUILD_VER= 4460
+VMWARE_VER= 4.0.1
+BUILD_VER= 5289
-MOUNT_DEV?= /dev/acd0c
+MOUNT_DEV?= /dev/acd0
MOUNT_PT?= /mnt
MOUNT= /sbin/mount
UMOUNT= /sbin/umount
-do-fetch:
- @${DO_NADA}
+.include <bsd.port.pre.mk>
+
+.if defined(VMWARE_X_PORTS)
+
+.if ${XFREE86_VERSION} == 3
+PLIST_SUB+= INSTALLXSERVER3:=""
+PLIST_SUB+= INSTALLXSERVER4:="@comment "
+.else
+PLIST_SUB+= INSTALLXSERVER3:="@comment "
+PLIST_SUB+= INSTALLXSERVER4:=""
+.endif
+
+.else
+
+.if !defined(WITHOUT_VMWARE_VMMEMCTL)
+WITH_VMWARE_VMMEMCTL=YES
+.endif
+VMWARE_KMODDIR= ${PREFIX}/lib/vmware-tools/modules
+.if defined(WITH_VMWARE_VMMEMCTL)
+PLIST_SUB+= VMWARE_VMMEMCTL:=""
+PLIST_SUB+= VMWARE_KMODDIR:="${VMWARE_KMODDIR}"
+.else
+PLIST_SUB+= VMWARE_VMMEMCTL:="@comment "
+PLIST_SUB+= VMWARE_KMODDIR:="@comment "
+.endif
+
+.endif
+
fetch-list:
@${DO_NADA}
-pre-extract:
+do-fetch:
@${ECHO} ""
@${ECHO} "========================================================================"
@${ECHO} "Choose \"File\" -> \"Install VMware Tools...\" from the Workstation menu"
@@ -68,14 +100,46 @@ pre-extract:
post-extract:
${UMOUNT} ${MOUNT_PT}
+.if !defined(VMWARE_X_PORTS)
+ (cd ${WRKDIR}; ${TAR} xf ${WRKSRC}/lib/modules/source/vmmemctl.tar)
+.endif
+
+.if defined(VMWARE_X_PORTS)
do-install:
- ${INSTALL_PROGRAM} ${WRKSRC}/vmware-guestd ${PREFIX}/sbin
- ${INSTALL_PROGRAM} ${WRKSRC}/checkvm ${PREFIX}/sbin
- @if [ ! -f ${PREFIX}/etc/rc.d/vmware-guestd.sh ]; then \
- ${ECHO} "Installing ${PREFIX}/etc/rc.d/vmware-guestd.sh startup file."; \
- ${INSTALL_SCRIPT} -m 755 ${FILESDIR}/vmware-guestd.sh ${PREFIX}/etc/rc.d; \
- fi
- -${PREFIX}/sbin/vmware-guestd --cmd toolinstall.end
-
-.include <bsd.port.mk>
+ ${INSTALL_PROGRAM} ${WRKSRC}/bin/vmware-toolbox ${X11BASE}/bin
+.if ${XFREE86_VERSION} == 3
+ ${INSTALL_PROGRAM} ${WRKSRC}/lib/configurator/XFree86-3/XF86_VMware ${X11BASE}/bin
+ ${INSTALL_DATA} ${WRKSRC}/lib/configurator/XFree86-3/XF86Config ${X11BASE}/etc/XF86Config_VMware
+ @${ECHO} ""
+ @${ECHO} "You have installed XFree86 3.x X Server for VMware."
+ @${ECHO} "${X11BASE}/etc/XF86Config_VMware is a sample XF86Config file."
+ @${ECHO} "Copy this file to /etc/XF86Config before starting X."
+.else
+ ${INSTALL_DATA} ${WRKSRC}/lib/configurator/XFree86-4/XF86Config-4 ${X11BASE}/etc/XF86Config-4_VMware
+.endif
+ -${LOCALBASE}/sbin/vmware-guestd --cmd toolinstall.end
+
+.else
+
+do-build:
+.if defined(WITH_VMWARE_VMMEMCTL)
+ (cd ${WRKDIR}/vmmemctl-only; make)
+.endif
+
+do-install:
+ ${INSTALL_PROGRAM} ${WRKSRC}/sbin/vmware-guestd ${PREFIX}/sbin
+ ${INSTALL_PROGRAM} ${WRKSRC}/sbin/vmware-checkvm ${PREFIX}/sbin
+ ${INSTALL_SCRIPT} -m 755 ${FILESDIR}/vmware-guestd.sh \
+ ${PREFIX}/etc/rc.d/vmware-guestd.sh.sample
+.if defined(WITH_VMWARE_VMMEMCTL)
+ ${MKDIR} ${VMWARE_KMODDIR}
+ ${INSTALL_PROGRAM} ${WRKDIR}/vmmemctl-only/vmmemctl.ko ${VMWARE_KMODDIR}
+ ${INSTALL_SCRIPT} -m 755 ${FILESDIR}/vmware-guest_kmod.sh \
+ ${PREFIX}/etc/rc.d/vmware-guest_kmod.sh.sample
+.endif
+ -${LOCALBASE}/sbin/vmware-guestd --cmd toolinstall.end
+
+.endif
+
+.include <bsd.port.post.mk>
diff --git a/emulators/vmware-guestd5/distinfo b/emulators/vmware-guestd5/distinfo
new file mode 100644
index 000000000000..9a33295bd1da
--- /dev/null
+++ b/emulators/vmware-guestd5/distinfo
@@ -0,0 +1 @@
+MD5 (vmware-freebsd-tools.tar.gz) = IGNORE
diff --git a/emulators/vmware-guestd5/files/vmware-guest_kmod.sh b/emulators/vmware-guestd5/files/vmware-guest_kmod.sh
new file mode 100644
index 000000000000..4791eda0b737
--- /dev/null
+++ b/emulators/vmware-guestd5/files/vmware-guest_kmod.sh
@@ -0,0 +1,29 @@
+#!/bin/sh
+
+if ! PREFIX=$(expr $0 : "\(/.*\)/etc/rc\.d/$(basename $0)\$"); then
+ echo "$0: Cannot determine the PREFIX" >&2
+ exit 1
+fi
+
+case "$1" in
+start)
+ exec 2>/dev/null
+ ulimit -c 0
+ if ${PREFIX}/sbin/vmware-checkvm >/dev/null; then
+ kldstat -v | grep vmmemctl >/dev/null || kldload ${PREFIX}/lib/vmware/lib/modules/vmmemctl.ko
+ echo -n ' vmware-guestkmod'
+ fi
+ ;;
+stop)
+ exec 2>/dev/null
+ ulimit -c 0
+ if ${PREFIX}/sbin/vmware-checkvm >/dev/null; then
+ kldstat -v | grep vmmemctl >/dev/null && kldunload vmmemctl && echo -n ' vmware-guestkmod'
+ fi
+ ;;
+*)
+ echo "Usage: `basename $0` {start|stop}" >&2
+ ;;
+esac
+
+exit 0
diff --git a/emulators/vmware-guestd5/files/vmware-guestd.sh b/emulators/vmware-guestd5/files/vmware-guestd.sh
index 10f0e0e5e31d..569be8a4121e 100644
--- a/emulators/vmware-guestd5/files/vmware-guestd.sh
+++ b/emulators/vmware-guestd5/files/vmware-guestd.sh
@@ -9,7 +9,7 @@ case "$1" in
start)
exec 2>/dev/null
ulimit -c 0
- if ${PREFIX}/sbin/checkvm >/dev/null; then
+ if ${PREFIX}/sbin/vmware-checkvm >/dev/null; then
${PREFIX}/sbin/vmware-guestd &
echo -n ' vmware-guestd'
fi
@@ -17,7 +17,7 @@ start)
stop)
exec 2>/dev/null
ulimit -c 0
- if ${PREFIX}/sbin/checkvm >/dev/null; then
+ if ${PREFIX}/sbin/vmware-checkvm >/dev/null; then
killall vmware-guestd && echo -n ' vmware-guestd'
fi
;;
diff --git a/emulators/vmware-guestd5/files/vmware-guestd.sh.in b/emulators/vmware-guestd5/files/vmware-guestd.sh.in
index 10f0e0e5e31d..569be8a4121e 100644
--- a/emulators/vmware-guestd5/files/vmware-guestd.sh.in
+++ b/emulators/vmware-guestd5/files/vmware-guestd.sh.in
@@ -9,7 +9,7 @@ case "$1" in
start)
exec 2>/dev/null
ulimit -c 0
- if ${PREFIX}/sbin/checkvm >/dev/null; then
+ if ${PREFIX}/sbin/vmware-checkvm >/dev/null; then
${PREFIX}/sbin/vmware-guestd &
echo -n ' vmware-guestd'
fi
@@ -17,7 +17,7 @@ start)
stop)
exec 2>/dev/null
ulimit -c 0
- if ${PREFIX}/sbin/checkvm >/dev/null; then
+ if ${PREFIX}/sbin/vmware-checkvm >/dev/null; then
killall vmware-guestd && echo -n ' vmware-guestd'
fi
;;
diff --git a/emulators/vmware-guestd5/pkg-descr b/emulators/vmware-guestd5/pkg-descr
index 8a599279a757..920d9d0dbbc7 100644
--- a/emulators/vmware-guestd5/pkg-descr
+++ b/emulators/vmware-guestd5/pkg-descr
@@ -1,6 +1,7 @@
vmware-guestd daemon is for time synchronization with host OS and others.
Beware, this port is for FreeBSD _guest_ OS. You don't need to install
-this ports to FreeBSD _host_ OS.
+this ports to FreeBSD _host_ OS. This ports also installs a kernel modules
+for FreeBSD guest.
If you want to run FreeBSD as a VMware guest OS, install this port
would help you. If you want to run X, install vmware-tools too.
diff --git a/emulators/vmware-guestd5/pkg-descr.tools b/emulators/vmware-guestd5/pkg-descr.tools
new file mode 100644
index 000000000000..68165f70e46f
--- /dev/null
+++ b/emulators/vmware-guestd5/pkg-descr.tools
@@ -0,0 +1,16 @@
+VMware tools support FreeBSD _guest_ OS running on VMware Workstation.
+Beware, this port is _not_ for FreeBSD _host_ OS.
+
+VMware tools for FreeBSD consist of vmware-toolbox which supports
+seamless operation between the Host and the Guest OS, dual-boot
+configulation files, and special XFree86 3.x server for Guest OS.
+However, we cannot install dual-boot configuration since it requires
+to modify /etc files.
+
+This ports will install vmware-toolbox to your computer, and
+XFree86 X server if you set XFREE86_VERSION to 3 in /etc/make.conf,
+If you already use XFree86 4.1.0 or later, you may use 'vmware'
+driver for X server. Vmware-guestd is installed as a separate port,
+ports/emulators/vmware-guestd4, but this port install guestd automatically.
+
+WWW: http://www.vmware.com/products/desktop/ws_features.html
diff --git a/emulators/vmware-guestd5/pkg-plist b/emulators/vmware-guestd5/pkg-plist
index 0748d2977ee2..858c18bd9250 100644
--- a/emulators/vmware-guestd5/pkg-plist
+++ b/emulators/vmware-guestd5/pkg-plist
@@ -1,3 +1,7 @@
-sbin/checkvm
+sbin/vmware-checkvm
sbin/vmware-guestd
-etc/rc.d/vmware-guestd.sh
+etc/rc.d/vmware-guestd.sh.sample
+%%VMWARE_VMMEMCTL:%%etc/rc.d/vmware-guest_kmod.sh.sample
+%%VMWARE_VMMEMCTL:%%lib/vmware-tools/modules/vmmemctl.ko
+%%VMWARE_VMMEMCTL:%%@unexec rmdir %D/lib/vmware-tools/modules 2>/dev/null || true
+%%VMWARE_VMMEMCTL:%%@unexec rmdir %D/lib/vmware-tools 2>/dev/null || true
diff --git a/emulators/vmware-guestd5/pkg-plist.tools b/emulators/vmware-guestd5/pkg-plist.tools
new file mode 100644
index 000000000000..4d614c4466f6
--- /dev/null
+++ b/emulators/vmware-guestd5/pkg-plist.tools
@@ -0,0 +1,4 @@
+bin/vmware-toolbox
+%%INSTALLXSERVER3:%%bin/XF86_VMware
+%%INSTALLXSERVER3:%%etc/XF86Config_VMware
+%%INSTALLXSERVER4:%%etc/XF86Config-4_VMware