diff options
author | matusita <matusita@FreeBSD.org> | 2005-11-26 09:19:58 +0000 |
---|---|---|
committer | matusita <matusita@FreeBSD.org> | 2005-11-26 09:19:58 +0000 |
commit | 52777e997401115ce8fe54eab8926440fd714233 (patch) | |
tree | f3f628e1654203ed59f9f25ad154dd4c1ffee7cd /emulators/vmware-guestd6 | |
parent | ca04fe39315071e46a7fd19031f1d17cd730dd98 (diff) | |
download | FreeBSD-ports-52777e997401115ce8fe54eab8926440fd714233.zip FreeBSD-ports-52777e997401115ce8fe54eab8926440fd714233.tar.gz |
Dear VMware Workstation users around the world, here is an upgrade of
VMware Workstation FreeBSD-guest related ports for VMware Workstation
5.5.0 build 18463.
New features are:
- Spell "VMware Workstation" appropriately.
There are much VMware products, it would be the time that I have
to spell VMware Workstation as VMware Workstation.
- Support FreeBSD/amd64 since 64-bit binaries are provided from VMware.
I don't test any of 64-bit related portion, since I have no
FreeBSD/amd64 machine. If something trouble please email me.
- New variable "WITH_VMWARE_GTK" (emulators/vmware-tools5)
Install gtk version of VMware Tools if defined
(add more dependencies on other gtk-related ports)
- New variable "WITH_VMWARE_VMXNET" (emulators/vmware-guestd5)
Install "vmxnet.ko" kernel module (vmxnet driver) if defined
Usage:
- shutdown FreeBSD guest VM
- add following line to FreeBSD guest VM config file
Ethernet0.virtualDev="vmxnet"
- Boot FreeBSD guest VM
- load vmxnet.ko kernel module
- ifconfig vxn0 ...
New rc.conf variable "vmware_guest_vmxnet_enable" is also added
to vmware-guestd.sh to load kernel module at startup. However,
${PREFIX}/etc/rc.d/vmware-guestd.sh run _after_ /etc/rc.d/netif,
so it maybe too late to load here...
Note that vmxnet.ko supports FreeBSD 4.8-RELEASE or later, and
5.3-RELEASE and later (as VMware said). I've confirmed that
recent 7-current got 100% instant panic if vmxnet.ko is loaded.
- "vmware_guest_kmod_enable" is renamed to "vmware_guest_vmmemctl_enable"
Now this ports has two kernel modules now, old name is not
appropriate one, hard to understand this variable is for which
kernel module. I also put backward compatibility code, but users
of vmware_guest_kmod_enable please change variable name.
Bugfixes are:
- Resolve conflicts on ${PREFIX}/share/vmware-tools.
Unfortunately both vmware-guestd5 and vmware-tools5 installs
files to ${PREFIX}/share/vmware-tools directory. Since this
directory is only for vmware-tools, vmware-guestd5 doesn't do
anything for now.
- WWW: line in pkg-descr points bogus page.
- Add note that there's official VMware Tools installer, and what is the
difference between the two.
Finally, as usual, bump PORTVERSION.
Diffstat (limited to 'emulators/vmware-guestd6')
-rw-r--r-- | emulators/vmware-guestd6/Makefile | 123 | ||||
-rw-r--r-- | emulators/vmware-guestd6/files/vmware-guestd.sh | 28 | ||||
-rw-r--r-- | emulators/vmware-guestd6/files/vmware-guestd.sh.in | 28 | ||||
-rw-r--r-- | emulators/vmware-guestd6/pkg-descr | 7 | ||||
-rw-r--r-- | emulators/vmware-guestd6/pkg-descr.tools | 7 | ||||
-rw-r--r-- | emulators/vmware-guestd6/pkg-plist | 12 | ||||
-rw-r--r-- | emulators/vmware-guestd6/pkg-plist.tools | 9 |
7 files changed, 165 insertions, 49 deletions
diff --git a/emulators/vmware-guestd6/Makefile b/emulators/vmware-guestd6/Makefile index 0f76147..1b9f80c 100644 --- a/emulators/vmware-guestd6/Makefile +++ b/emulators/vmware-guestd6/Makefile @@ -9,12 +9,12 @@ PORTNAME= vmware PORTVERSION= ${VMWARE_VER}.${BUILD_VER} PORTREVISION= 0 CATEGORIES= emulators -MASTER_SITES= # bundled with VMware itself +MASTER_SITES= # bundled with VMware Workstation PKGNAMESUFFIX?= -guestd DISTNAME= vmware-freebsd-tools MAINTAINER= matusita@FreeBSD.org -COMMENT?=VMware time synchronization daemon for FreeBSD guest OS (for VMware 5.x) +COMMENT?=VMware guest OS supporting daemon (VMware Workstation 5.x, FreeBSD version) .if defined(VMWARE_X_PORTS) RUN_DEPENDS= ${LOCALBASE}/sbin/vmware-guestd:${PORTSDIR}/emulators/vmware-guestd5 @@ -24,7 +24,7 @@ DISTDIR= ${MOUNT_PT} IGNOREFILES= ${DISTFILES} WRKSRC= ${WRKDIR}/vmware-tools-distrib -ONLY_FOR_ARCHS= i386 +ONLY_FOR_ARCHS= i386 amd64 USE_REINPLACE= yes USE_RC_SUBR= yes RC_SCRIPT= ${PREFIX}/etc/rc.d/vmware-guestd.sh @@ -40,8 +40,8 @@ NO_BUILD= yes RESTRICTED= "Not sure if we can redistribute this." NO_PACKAGE= ${RESTRICTED} -VMWARE_VER= 5.0.0 -BUILD_VER= 13124 +VMWARE_VER= 5.5.0 +BUILD_VER= 18463 .include <bsd.port.pre.mk> @@ -54,10 +54,20 @@ MOUNT_PT?= /mnt MOUNT= /sbin/mount UMOUNT= /sbin/umount +.if ${ARCH} == i386 +BITS?= 32 +.else # ${ARCH} == amd64 +BITS?= 64 +.endif + .if defined(VMWARE_X_PORTS) .if ${X_WINDOW_SYSTEM:L} == xfree86-3 +.if ${BITS} == 32 PLIST_SUB+= INSTALLXSERVER3:="" +.else +PLIST_SUB+= INSTALLXSERVER3:="@comment " +.endif PLIST_SUB+= INSTALLXSERVER4:="@comment " PLIST_SUB+= INSTALLXVMMOUSE:="@comment " .elif ${X_WINDOW_SYSTEM:L} == xfree86-4 @@ -70,19 +80,57 @@ PLIST_SUB+= INSTALLXSERVER4:="@comment " PLIST_SUB+= INSTALLXVMMOUSE:="" .endif +.if defined(WITH_VMWARE_GTK) +PLIST_SUB+= INSTALLXGTKTOOL:="" +USE_ICONV= yes +USE_GETTEXT= yes +USE_XLIB= yes +USE_GNOME= glib12 gtk12 +LIB_DEPENDS+= c.5:${PORTSDIR}/misc/compat5x .else +PLIST_SUB+= INSTALLXGTKTOOL:="@comment " +.endif -.if !defined(WITHOUT_VMWARE_VMMEMCTL) -.if exists(/usr/src/sys/Makefile) +.else + +VMWARE_KMODDIR= ${PREFIX}/lib/vmware-tools/modules + +.if !defined(WITHOUT_VMWARE_VMMEMCTL) && exists(/usr/src/sys/Makefile) WITH_VMWARE_VMMEMCTL=YES .endif +.if !defined(WITHOUT_VMWARE_VMXNET) && (${BITS} == 32) +WITH_VMWARE_VMXNET=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 " +.endif + +.if defined(WITH_VMWARE_VMXNET) +.if (${OSVERSION} >= 480000) && (${OSVERSION} < 500000) && (${BITS} == 32) +PLIST_SUB+= VMWARE_VMXNET:="" +VMWARE_VMXNET_PATH= 4.9/vmxnet.ko +.elif (${OSVERSION} >= 500000) && (${OSVERSION} < 600000) +PLIST_SUB+= VMWARE_VMXNET:="" +.if ${BITS} == 32 +VMWARE_VMXNET_PATH= 5.3-i386/vmxnet.ko +.else +VMWARE_VMXNET_PATH= 5.3-amd64/vmxnet.ko +.endif +.else +# VMware doesn't provide vmxnet.ko for other versions +.undef WITH_VMWARE_VMXNET +PLIST_SUB+= VMWARE_VMXNET:="@comment " +.endif +.else +PLIST_SUB+= VMWARE_VMXNET:="@comment " +.endif + +.if defined(WITH_VMWARE_VMMEMCTL) || defined(WITH_VMWARE_VMXNET) +PLIST_SUB+= VMWARE_KMODDIR:="" +.else PLIST_SUB+= VMWARE_KMODDIR:="@comment " .endif @@ -122,58 +170,77 @@ post-extract: (cd ${WRKDIR}; ${TAR} xf ${WRKSRC}/lib/modules/source/vmmemctl.tar) .endif -post-patch: -.if defined(WITH_VMWARE_VMMEMCTL) - ${REINPLACE_CMD} -e 's|vmmemctl1.o||' ${WRKDIR}/vmmemctl-only/Makefile - ${ECHO_CMD} "OBJS+=vmmemctl1.o" >> ${WRKDIR}/vmmemctl-only/Makefile -.endif - ${REINPLACE_CMD} "`${PRINTF} 's|\0152\013\0350|\0152\\\n\0350|g'`" \ - ${WRKSRC}/sbin/vmware-checkvm - .if defined(VMWARE_X_PORTS) do-install: - ${INSTALL_PROGRAM} ${WRKSRC}/bin/vmware-toolbox ${X11BASE}/bin + ${INSTALL_PROGRAM} ${WRKSRC}/lib/bin${BITS}/vmware-toolbox-tcl ${X11BASE}/bin + ${LN} -sfh vmware-toolbox-tcl ${X11BASE}/bin/vmware-toolbox +.if defined(WITH_VMWARE_GTK) + ${INSTALL_PROGRAM} ${WRKSRC}/lib/bin${BITS}/vmware-toolbox-gtk ${X11BASE}/bin +.endif .if ${X_WINDOW_SYSTEM:L} == xfree86-3 +.if ${BITS} == 32 ${INSTALL_PROGRAM} ${WRKSRC}/lib/configurator/XFree86-3/XF86_VMware_4.5 ${X11BASE}/bin/XF86_VMware ${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 + @${ECHO} "There is no XFree86 3.x X server for your system." + @${ECHO} "Consider upgrading your X to XFree86 4.x or switch to X.Org." +.endif .elif ${X_WINDOW_SYSTEM:L} == xfree86-4 ${INSTALL_DATA} ${WRKSRC}/lib/configurator/XFree86-4/XF86Config-4 ${X11BASE}/etc/XF86Config-4_VMware +.if ${BITS} == 32 ${INSTALL_DATA} ${WRKSRC}/lib/configurator/XFree86-4/4.3.x/vmware_drv.o ${X11BASE}/lib/modules/drivers/vmware_drv.o_VMware ${INSTALL_DATA} ${WRKSRC}/lib/configurator/XFree86-4/4.2.x/vmmouse_drv.o ${X11BASE}/lib/modules/input/vmmouse_drv.o_VMware .else + ${INSTALL_DATA} ${WRKSRC}/lib/configurator/XFree86-4/4.3.x_64/vmware_drv.o ${X11BASE}/lib/modules/drivers/vmware_drv.o_VMware + ${INSTALL_DATA} ${WRKSRC}/lib/configurator/XFree86-4/4.3.x_64/vmmouse_drv.o ${X11BASE}/lib/modules/input/vmmouse_drv.o_VMware +.endif +.else +.if ${BITS} == 32 ${INSTALL_DATA} ${WRKSRC}/lib/configurator/XOrg/6.8.x/vmmouse_drv.o ${X11BASE}/lib/modules/input/vmmouse_drv.o_VMware +.else + ${INSTALL_DATA} ${WRKSRC}/lib/configurator/XOrg/6.8.x_64/vmmouse_drv.o ${X11BASE}/lib/modules/input/vmmouse_drv.o_VMware .endif - -${LOCALBASE}/sbin/vmware-guestd --cmd toolinstall.end +.endif + -${WRKSRC}/lib/sbin${BITS}/vmware-guestd --cmd toolinstall.end + ${MKDIR} ${PREFIX}/share/vmware-tools + ${LN} -sfh /usr/bin/true ${PREFIX}/share/vmware-tools/poweroff-vm-default + ${LN} -sfh /usr/bin/true ${PREFIX}/share/vmware-tools/poweron-vm-default + ${LN} -sfh /usr/bin/true ${PREFIX}/share/vmware-tools/resume-vm-default + ${LN} -sfh /usr/bin/true ${PREFIX}/share/vmware-tools/suspend-vm-default + ${LN} -sfh ${PREFIX}/share/vmware-tools /etc/vmware-tools .else +post-patch: + ${REINPLACE_CMD} "`${PRINTF} 's|\0152\013\0350|\0152\\\n\0350|g'`" \ + ${WRKSRC}/lib/sbin${BITS}/vmware-checkvm + 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_PROGRAM} ${WRKSRC}/lib/sbin${BITS}/vmware-guestd ${PREFIX}/sbin + ${INSTALL_PROGRAM} ${WRKSRC}/lib/sbin${BITS}/vmware-checkvm ${PREFIX}/sbin .if defined(WITH_VMWARE_VMMEMCTL) ${MKDIR} ${VMWARE_KMODDIR} ${INSTALL_PROGRAM} ${WRKDIR}/vmmemctl-only/vmmemctl.ko ${VMWARE_KMODDIR} .endif +.if defined(WITH_VMWARE_VMXNET) + ${MKDIR} ${VMWARE_KMODDIR} + ${INSTALL_PROGRAM} ${WRKDIR}/lib/modules/binary/FreeBSD${VMWARE_VMXNET_PATH} ${VMWARE_KMODDIR} +.endif @${SED} ${RC_SCRIPTS_SUB:S/$/!g/:S/^/ -e s!%%/:S/=/%%!/} \ ${FILESDIR}/vmware-guestd.sh > ${WRKDIR}/vmware-guestd.sh @${INSTALL_SCRIPT} ${WRKDIR}/vmware-guestd.sh ${RC_SCRIPT} - -${LOCALBASE}/sbin/vmware-guestd --cmd toolinstall.end + -${WRKSRC}/lib/sbin${BITS}/vmware-guestd --cmd toolinstall.end + .endif - ${MKDIR} ${PREFIX}/share/vmware-tools - ${LN} -sfh /usr/bin/true ${PREFIX}/share/vmware-tools/poweroff-vm-default - ${LN} -sfh /usr/bin/true ${PREFIX}/share/vmware-tools/poweron-vm-default - ${LN} -sfh /usr/bin/true ${PREFIX}/share/vmware-tools/resume-vm-default - ${LN} -sfh /usr/bin/true ${PREFIX}/share/vmware-tools/suspend-vm-default - ${LN} -sfh ${PREFIX}/share/vmware-tools /etc/vmware-tools .include <bsd.port.post.mk> diff --git a/emulators/vmware-guestd6/files/vmware-guestd.sh b/emulators/vmware-guestd6/files/vmware-guestd.sh index 2bdeddc..29adec0 100644 --- a/emulators/vmware-guestd6/files/vmware-guestd.sh +++ b/emulators/vmware-guestd6/files/vmware-guestd.sh @@ -15,22 +15,40 @@ PREFIX=%%PREFIX%% checkvm_cmd="${PREFIX}/sbin/vmware-checkvm > /dev/null" # Functions -vmware_guest_kmod_start() +vmware_guest_vmmemctl_start() { echo 'Loading vmmemctl kernel module.' kldload ${PREFIX}/lib/vmware-tools/modules/vmmemctl.ko >/dev/null 2>&1 } +vmware_guest_vmmemctl_start() +{ + echo 'Loading vmxnet kernel module.' + kldload ${PREFIX}/lib/vmware-tools/modules/vmxnet.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 modules -name="vmware_guest_kmod" +# VMware kernel module: vmxnet +name="vmware_guest_vmxnet" rcvar=`set_rcvar` start_precmd="${checkvm_cmd}" -start_cmd="vmware_guest_kmod_start" +start_cmd="vmware_guest_vmxnet_start" stop_precmd="${checkvm_cmd}" stop_cmd=":" load_rc_config $name -[ -z "$vmware_guest_kmod_enable" ] && vmware_guest_kmod_enable="NO" +[ -z "$vmware_guest_vmxnet_enable" ] && vmware_guest_vmxnet_enable="NO" run_rc_command "$1" # VMware guest daemon diff --git a/emulators/vmware-guestd6/files/vmware-guestd.sh.in b/emulators/vmware-guestd6/files/vmware-guestd.sh.in index 2bdeddc..29adec0 100644 --- a/emulators/vmware-guestd6/files/vmware-guestd.sh.in +++ b/emulators/vmware-guestd6/files/vmware-guestd.sh.in @@ -15,22 +15,40 @@ PREFIX=%%PREFIX%% checkvm_cmd="${PREFIX}/sbin/vmware-checkvm > /dev/null" # Functions -vmware_guest_kmod_start() +vmware_guest_vmmemctl_start() { echo 'Loading vmmemctl kernel module.' kldload ${PREFIX}/lib/vmware-tools/modules/vmmemctl.ko >/dev/null 2>&1 } +vmware_guest_vmmemctl_start() +{ + echo 'Loading vmxnet kernel module.' + kldload ${PREFIX}/lib/vmware-tools/modules/vmxnet.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 modules -name="vmware_guest_kmod" +# VMware kernel module: vmxnet +name="vmware_guest_vmxnet" rcvar=`set_rcvar` start_precmd="${checkvm_cmd}" -start_cmd="vmware_guest_kmod_start" +start_cmd="vmware_guest_vmxnet_start" stop_precmd="${checkvm_cmd}" stop_cmd=":" load_rc_config $name -[ -z "$vmware_guest_kmod_enable" ] && vmware_guest_kmod_enable="NO" +[ -z "$vmware_guest_vmxnet_enable" ] && vmware_guest_vmxnet_enable="NO" run_rc_command "$1" # VMware guest daemon diff --git a/emulators/vmware-guestd6/pkg-descr b/emulators/vmware-guestd6/pkg-descr index 920d9d0..b16e517 100644 --- a/emulators/vmware-guestd6/pkg-descr +++ b/emulators/vmware-guestd6/pkg-descr @@ -6,4 +6,9 @@ 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. -WWW: http://www.vmware.com/products/desktop/ws_features.html +This port assumes that a) users want only "must-have" binaries and +b) guest OS runs on a certain architecture and never be changed. For +those want full-feature of VMware Tools, use the installer bundled with +VMware Tools instead. + +WWW: http://www.vmware.com/products/ws/ diff --git a/emulators/vmware-guestd6/pkg-descr.tools b/emulators/vmware-guestd6/pkg-descr.tools index 68165f7..2027da8 100644 --- a/emulators/vmware-guestd6/pkg-descr.tools +++ b/emulators/vmware-guestd6/pkg-descr.tools @@ -13,4 +13,9 @@ 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 +This port assumes that a) users want only "must-have" binaries and +b) guest OS runs on a certain architecture and never be changed. For +those want full-feature of VMware Tools, use the installer bundled with +VMware Tools instead. + +WWW: http://www.vmware.com/products/ws/ diff --git a/emulators/vmware-guestd6/pkg-plist b/emulators/vmware-guestd6/pkg-plist index f5b630c..02cd166 100644 --- a/emulators/vmware-guestd6/pkg-plist +++ b/emulators/vmware-guestd6/pkg-plist @@ -3,12 +3,6 @@ sbin/vmware-guestd @unexec %D/etc/rc.d/vmware-guestd.sh forcestop 2>/dev/null || true etc/rc.d/vmware-guestd.sh %%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 -share/vmware-tools/poweroff-vm-default -share/vmware-tools/poweron-vm-default -share/vmware-tools/resume-vm-default -share/vmware-tools/suspend-vm-default -@dirrm share/vmware-tools -@cwd / -etc/vmware-tools +%%VMWARE_VMXNET:%%lib/vmware-tools/modules/vmxnet.ko +%%VMWARE_KMODDIR:%%@unexec rmdir %D/lib/vmware-tools/modules 2>/dev/null || true +%%VMWARE_KMODDIR:%%@unexec rmdir %D/lib/vmware-tools 2>/dev/null || true diff --git a/emulators/vmware-guestd6/pkg-plist.tools b/emulators/vmware-guestd6/pkg-plist.tools index 03078f0..8d2f58c 100644 --- a/emulators/vmware-guestd6/pkg-plist.tools +++ b/emulators/vmware-guestd6/pkg-plist.tools @@ -1,6 +1,15 @@ bin/vmware-toolbox +bin/vmware-toolbox-tcl +%%INSTALLXGTKTOOL:%%bin/vmware-toolbox-gtk %%INSTALLXSERVER3:%%bin/XF86_VMware %%INSTALLXSERVER3:%%etc/XF86Config_VMware %%INSTALLXSERVER4:%%etc/XF86Config-4_VMware %%INSTALLXSERVER4:%%lib/modules/drivers/vmware_drv.o_VMware %%INSTALLXVMMOUSE:%%lib/modules/input/vmmouse_drv.o_VMware +share/vmware-tools/poweroff-vm-default +share/vmware-tools/poweron-vm-default +share/vmware-tools/resume-vm-default +share/vmware-tools/suspend-vm-default +@dirrm share/vmware-tools +@cwd / +etc/vmware-tools |