diff --git a/emulators/vmware/Makefile b/emulators/vmware/Makefile index aaecd7facef1..cd353f4c5cbf 100644 --- a/emulators/vmware/Makefile +++ b/emulators/vmware/Makefile @@ -1,14 +1,14 @@ -# ports collection makefile for: VMware For Linux -# Version required: 1.1.1 -# Date created: Fri 26 Nov 19:16:47 EST 1999 -# Whom: vns@delta.odessa.ua +# ports collection makefile for: VMware 1.1.2 for Linux +# Version required: 1.1.2 +# Date created: Fri 26 Nov 19:16:47 EST 1999 +# Whom: vns@delta.odessa.ua # -# $vmFreeBSD: vmware/vmmon-only/freebsd/port/Makefile,v 1.8 1999/12/17 00:38:27 vsilyaev Exp $ # $FreeBSD$ +# $vmFreeBSD: vmware/vmmon-only/freebsd/port/Makefile,v 1.8 1999/12/17 00:38:27 vsilyaev Exp $ # -DISTNAME= VMware-1.1.2-364 -PKGNAME= vmware-1.1.2 +DISTNAME= VMware-1.1.2-364 +PKGNAME= vmware-1.1.2.364 CATEGORIES= emulators linux MASTER_SITES= http://www4.vmware.com/software/ \ http://vmware-svca.www.conxion.com/software/ \ @@ -24,54 +24,54 @@ PATCH_SITES= http://www.mindspring.com/~vsilyaev/vmware/files/ \ PATCHFILES= vmmon-freebsd-0.94.tar.gz \ vmnet-freebsd-0.10.tar.gz -MAINTAINER= vns@delta.odessa.ua +MAINTAINER= freebsd-emulation@FreeBSD.org -RUN_DEPENDS= ${LINUX_DIR}/lib/libc.so.6:${PORTSDIR}/emulators/linux_base +RUN_DEPENDS= ${LINUX_DIR}/lib/libc.so.6:${PORTSDIR}/emulators/linux_base -IS_INTERACTIVE= yes # vmnet-freebsd-* querries user for network settings +RESTRICTED= "Not sure if we can redistribute it" -ONLY_FOR_ARCHS= i386 +LINUX_DIR= /compat/linux +VMDIR= ${PREFIX}/lib/vmware + +ONLY_FOR_ARCHS= i386 USE_XLIB= yes WRKSRC= ${WRKDIR}/vmware-distrib -LINUX_DIR= /compat/linux +GZCAT= ${SETENV} ${SCRIPTS_ENV} ${SH} ${SCRIPTDIR}/extract MAN1= vmware.1 .include .if ${OSVERSION} < 400013 -BROKEN= YES +BROKEN= "Systems prior to 400013 is out of support" .endif -.if exists(${MASTERDIR}/Makefile.inc.net) -.include "${MASTERDIR}/Makefile.inc.net" +.if exists(/modules/linprocfs.ko) || exists(${PREFIX}/modules/linprocfs.ko) +HAVE_LINPROCFS= yes .endif -.if exists(${MASTERDIR}/Makefile.inc.linproc) -.include "${MASTERDIR}/Makefile.inc.linproc" +.if !defined(HAVE_LINPROCFS) +BROKEN= "You need Linux procfs to run this software" .endif -VMSUBDIR= lib/vmware -VMDIR= ${PREFIX}/${VMSUBDIR} -SCRIPTS_ENV+= LINUX_DIR=${LINUX_DIR} \ - VMNET_HOST_IP=${VMNET_HOST_IP} \ - VMNET_NETMASK=${VMNET_NETMASK} +.if exists(${WRKDIRPREFIX}${.CURDIR}/work/Makefile.inc.net) +.include "${WRKDIRPREFIX}${.CURDIR}/work/Makefile.inc.net" +.endif -MAKE_ARGS= "KMODDIR=${VMDIR}/lib/modules" - -# Small hack for alternate processing patchfiles -GZCAT= ${SETENV} ${SCRIPTS_ENV} ${SH} ${SCRIPTDIR}/extract +SCRIPTS_ENV+= LINUX_DIR="${LINUX_DIR}" \ + VMNET_HOST_IP="${VMNET_HOST_IP}" \ + VMNET_NETMASK="${VMNET_NETMASK}" +MAKE_ARGS= KMODDIR="${VMDIR}/lib/modules" post-patch: - @${CP} ${FILESDIR}/Makefile ${WRKSRC} + ${CP} ${FILESDIR}/Makefile ${WRKSRC} setoptions: - ${SED} -e 's;@@PREFIX@@;${PREFIX};' ${FILESDIR}/vmware > ${WRKDIR}/vmware - ${SED} -e 's;@@PREFIX@@;${PREFIX};' \ + ${SED} -e 's;@@PREFIX@@;${PREFIX};' \ -e 's;@@HOST_IP@@;${VMNET_HOST_IP};' \ -e 's;@@NETMASK@@;${VMNET_NETMASK};' \ - ${FILESDIR}/config > ${WRKDIR}/config + ${FILESDIR}/config > ${WRKDIR}/config - ${SED} -e 's;@@PREFIX@@;${PREFIX};' \ + ${SED} -e 's;@@PREFIX@@;${PREFIX};' \ -e 's;@@NETWORKING@@;${VMNET_NETWORKING};' \ -e 's;@@HOST_IP@@;${VMNET_HOST_IP};' \ -e 's;@@NETMASK@@;${VMNET_NETMASK};' \ @@ -87,7 +87,6 @@ pre-install: setoptions ${INSTALL_SCRIPT} ${WRKDIR}/vmware.sh ${PREFIX}/etc/rc.d ${MKDIR} ${VMDIR}/bin - ${INSTALL_SCRIPT} ${FILESDIR}/fakeprocfs.sh ${VMDIR}/bin ${INSTALL_SCRIPT} ${FILESDIR}/df ${VMDIR}/bin [ -f ${LINUX_DIR}/bin/df ] || ${LN} -s ${VMDIR}/bin/df ${LINUX_DIR}/bin/ ${INSTALL_SCRIPT} ${WRKSRC}/bin/*.pl ${VMDIR}/bin @@ -95,15 +94,10 @@ pre-install: setoptions vmnet-bridge vmnet-dhcpd vmnet-sniffer \ vmware-loop vmware-ping vmware-wizard \ ; do \ - ${INSTALL_SCRIPT} ${WRKSRC}/bin/$${i} ${VMDIR}/bin; \ + ${INSTALL_SCRIPT} ${WRKSRC}/bin/$${i} ${VMDIR}/bin; \ done -.if defined(USE_LINPROC) ${INSTALL_SCRIPT} -m 4555 ${WRKSRC}/bin/vmware ${VMDIR}/bin ${LN} -s ${VMDIR}/bin/vmware ${PREFIX}/bin/ -.else - ${INSTALL_SCRIPT} ${WRKSRC}/bin/vmware ${VMDIR}/bin - ${INSTALL_SCRIPT} ${WRKDIR}/vmware ${PREFIX}/bin -.endif ${MKDIR} ${VMDIR}/lib ${INSTALL_DATA} ${WRKSRC}/lib/config ${VMDIR}/lib ${MKDIR} ${VMDIR}/lib/help @@ -117,18 +111,7 @@ pre-install: setoptions .endif post-install: - @${LN} -s ${PREFIX}/etc/vmware /etc/vmware -.if !defined(BATCH) - @${ECHO} "-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-" - @${ECHO} "Before launch vmware, execute the next command" - @${ECHO} ${PREFIX}/etc/rc.d/vmware.sh start - @${ECHO} - @${ECHO} "to load required kernel modules" - @${ECHO} "-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-" -.endif - -pre-clean: - @${RM} -f ${WRKDIRPREFIX}${.CURDIR}/Makefile.inc.linproc \ - ${WRKDIRPREFIX}${.CURDIR}/Makefile.inc.net + ${LN} -s ${PREFIX}/etc/vmware /etc/vmware + @${CAT} ${PKGMESSAGE} .include diff --git a/emulators/vmware/files/Makefile b/emulators/vmware/files/Makefile index 32991c325976..79759423aeb8 100644 --- a/emulators/vmware/files/Makefile +++ b/emulators/vmware/files/Makefile @@ -1,5 +1,5 @@ # $FreeBSD$ -SUBDIR= vmmon-only vmnet-only/freebsd +SUBDIR= vmmon-only vmnet-only/freebsd .include diff --git a/emulators/vmware/files/vmware.sh b/emulators/vmware/files/vmware.sh index 6b426b64d654..6764ced056e2 100644 --- a/emulators/vmware/files/vmware.sh +++ b/emulators/vmware/files/vmware.sh @@ -3,7 +3,6 @@ # Start or stop vmware # # $FreeBSD$ -# vmware_dir=@@PREFIX@@/lib/vmware networking=@@NETWORKING@@ @@ -14,27 +13,27 @@ netmask=@@NETMASK@@ exec >/dev/null case $1 in - start) - kldload ${vmware_dir}/lib/modules/vmmon.ko - if [ $networking -eq 1 ]; then - kldload ${vmware_dir}/lib/modules/vmnet.ko - echo -n >/dev/vmnet1 - ifconfig vmnet1 $host_ip netmask $netmask - fi - echo -n " VMware" >/dev/tty - ;; +start) + kldload ${vmware_dir}/lib/modules/vmmon.ko + if [ $networking -eq 1 ]; then + kldload ${vmware_dir}/lib/modules/vmnet.ko + echo -n >/dev/vmnet1 + ifconfig vmnet1 $host_ip netmask $netmask + fi + echo -n " VMware" >/dev/tty + ;; - stop) - kldunload vmmon - if [ $networking -eq 1 ]; then - ifconfig vmnet1 down - ifconfig vmnet1 delete $host_ip - kldunload vmnet - fi - ;; +stop) + kldunload vmmon + if [ $networking -eq 1 ]; then + ifconfig vmnet1 down + ifconfig vmnet1 delete $host_ip + kldunload vmnet + fi + ;; - *) - echo "usage: `basename $0` {start|stop}" >&2 - exit 64 - ;; +*) + echo "usage: `basename $0` {start|stop}" >&2 + exit 64 + ;; esac diff --git a/emulators/vmware/pkg-comment b/emulators/vmware/pkg-comment index 3338b47dd9e0..3e6b90a9f6e7 100644 --- a/emulators/vmware/pkg-comment +++ b/emulators/vmware/pkg-comment @@ -1 +1 @@ -VMware virtual machine emulator +A virtual machine emulator - a full PC in a window diff --git a/emulators/vmware/pkg-descr b/emulators/vmware/pkg-descr index 0d5e28f6c9d7..400a2f031035 100644 --- a/emulators/vmware/pkg-descr +++ b/emulators/vmware/pkg-descr @@ -1,4 +1,14 @@ -This is the Linux version of the VMware virtual machine emulator made to -run on FreeBSD using the Linux compatibility mode. VMware can be used to -run IBM's OS/2, Microsoft Windows 95/98, Microsoft NT, Linux, or any other -operating system that runs on the i486. +This is the Linux version of the VMware virtual machine emulator made +to run on FreeBSD using the Linux compatibility mode. VMware can be +used to run Microsoft MS-DOS, Windows 95/98/NT/2000, Linux, FreeBSD, +or any other operating system that runs on the i486. + +Official VMware, Inc. web site: +WWW: http://www.vmware.com/ + + +We all are thankful to Vladimir N. Silyaev for porting vmmon/vmnet +modules to FreeBSD. Have a look at his page for the latest +information: + + http://www.mindspring.com/~vsilyaev/vmware/ diff --git a/emulators/vmware/pkg-message b/emulators/vmware/pkg-message new file mode 100644 index 000000000000..4e1840a66f9d --- /dev/null +++ b/emulators/vmware/pkg-message @@ -0,0 +1,13 @@ +************************************************************ +Add the following entry to /etc/fstab: + + linproc /compat/linux/proc linprocfs rw 0 0 + +and you can play with VMware after the next boot. + +Or hit the following commands to play now. :) + + /sbin/mount_linprocfs linproc /compat/linux/proc + /usr/local/etc/rc.d/vmware.sh start + +************************************************************ diff --git a/emulators/vmware/pkg-plist b/emulators/vmware/pkg-plist index 4b5cbebd2b70..da8830d4a218 100644 --- a/emulators/vmware/pkg-plist +++ b/emulators/vmware/pkg-plist @@ -1,7 +1,7 @@ bin/vmware +etc/rc.d/vmware.sh etc/vmware/config lib/vmware/bin/df -lib/vmware/bin/fakeprocfs.sh lib/vmware/bin/vmware lib/vmware/bin/vmnet-bridge lib/vmware/bin/vmnet-dhcpd @@ -113,7 +113,7 @@ share/doc/vmware/README.FreeBSD @exec ln -s %D/etc/vmware /etc/vmware @exec mknod /dev/vmmon c 200 0 @exec mknod /dev/vmnet1 c 201 1 -@unexec rm -f /etc/vmware /dev/vmmon /dev/vmnet1 /compat/linux/dev/tty[0-9]* /compat/linux/dev/hd? +@unexec rm -f /etc/vmware /dev/vmmon /dev/vmnet1 /compat/linux/bin/df /compat/linux/dev/tty[0-9]* /compat/linux/dev/hd? @dirrm etc/vmware @dirrm lib/vmware/bin @dirrm lib/vmware/lib/help diff --git a/emulators/vmware/scripts/configure b/emulators/vmware/scripts/configure index cebd8aa37360..15ab00cbd9a7 100644 --- a/emulators/vmware/scripts/configure +++ b/emulators/vmware/scripts/configure @@ -1,5 +1,104 @@ #!/bin/sh -mkdir -p ${WRKDIRPREFIX}${CURDIR} -. `dirname $0`/configure.linproc -. `dirname $0`/configure.net +[ "_$VMNET_HOST_IP" = _ ] && VMNET_HOST_IP="192.168.254.1" +[ "_$VMNET_NETMASK" = _ ] && VMNET_NETMASK="255.255.255.0" + +host_ip=$VMNET_HOST_IP +netmask=$VMNET_NETMASK +title="VMware network options" + +get_network_settings() { + result=`/usr/bin/dialog --title "$title" --clear --inputbox \ +"\n"\ +"What will be the IP address of your host on your private network?:"\ + 10 40 $host_ip \ + 2>&1 >/dev/tty ` + + case $? in + 0) + if [ -z "$result" ]; then + return 1 + fi + host_ip=$result + ;; + 1) + return 1 + ;; + esac + + result=`/usr/bin/dialog --title "$title" --clear --inputbox \ +"\n"\ +"What will be the netmask of your private network?:"\ + 10 40 $netmask \ + 2>&1 >/dev/tty ` + + case $? in + 0) + if [ -z "$result" ]; then + return 1 + fi + netmask=$result + ;; + 1) + return 1 + ;; + esac + return 0; +} + +do_network() { + while true; do + get_network_settings + + /usr/bin/dialog --title "Confirmation" --clear --yesno \ +"\n"\ +"Are the following options correct?\n\n"\ +"IP address: $host_ip\n"\ +"Netmask: $netmask\n"\ + 10 40 + [ $? -eq 0 ] && return 0 + + /usr/bin/dialog --title "Confirmation" --clear --yesno \ +"\n"\ +"Do you want to edit network options again?\n"\ + 10 40 + [ $? -eq 0 ] && continue + + /usr/bin/dialog --title "Confirmation" --clear --yesno \ +"\n"\ +"Do you want to continue without networking?\n"\ + 10 50 + [ $? -eq 0 ] && return 1 + + host_ip=$VMNET_HOST_IP + netmask=$VMNET_NETMASK + + return 0; + done +} + +networking=0 +if [ _$BATCH = _ ]; then + do_network + + if [ $? -eq 0 ]; then + networking=1 + /usr/bin/dialog --title "$title" --infobox \ +"\n"\ +"The following options will be used.\n\n"\ +"IP address: $host_ip\n"\ +"Netmask: $netmask\n"\ + 10 40 + fi +else #BATCH + [ -f ${WRKDIR}/Makefile.inc.net ] && exit +fi #BATCH + +( +exec > ${WRKDIR}/Makefile.inc.net + +echo '#' `date` +echo VMNET_HOST_IP=$host_ip +echo VMNET_NETMASK=$netmask +[ $networking -ne 0 ] && echo VMNET_NETWORKING=1 +) diff --git a/emulators/vmware/scripts/extract b/emulators/vmware/scripts/extract index 00f5cee5b5e1..7d97cc2d9f09 100644 --- a/emulators/vmware/scripts/extract +++ b/emulators/vmware/scripts/extract @@ -1,26 +1,23 @@ #!/bin/sh -#exec 1>&2 -#echo $@ -#env case $1 in - vmmon*) - target=vmmon - ;; - vmnet*) - target=vmnet - ;; - *) - echo unknown patch $1 - exit 64 - ;; +vmmon*) + target=vmmon + ;; +vmnet*) + target=vmnet + ;; +*) + echo unknown patch $1 + exit 64 + ;; esac dir=${WRKSRC}/lib/modules/source tar -xf ${dir}/${target}.tar -C ${WRKSRC} tar -zxf $1 -C ${WRKSRC} if [ $target = vmmon ] ; then - Makefile=${WRKSRC}/vmmon-only/Makefile - mv ${Makefile}.FreeBSD $Makefile + Makefile=${WRKSRC}/vmmon-only/Makefile + mv ${Makefile}.FreeBSD $Makefile fi cat ${WRKSRC}/${target}-freebsd.diff diff --git a/emulators/vmware/scripts/pre-install b/emulators/vmware/scripts/pre-install index 7a97e40ba5b5..771445b0ac01 100644 --- a/emulators/vmware/scripts/pre-install +++ b/emulators/vmware/scripts/pre-install @@ -1,15 +1,16 @@ #!/bin/sh -echo Setup Linux compatible /dev directory + +echo Setup Linux compatible /dev directory linux_dev=${LINUX_DIR}/dev -if [ \! -d $linux_dev ]; then - echo Creating $linux_dev - mkdir $linux_dev - chown root:wheel $linux_dev - chmod 755 $linux_dev +if [ ! -d $linux_dev ]; then + echo Creating $linux_dev + mkdir $linux_dev + chown root:wheel $linux_dev + chmod 755 $linux_dev fi echo Creating $linux_dev/tty\? -for n in 0 1 2 3 4 5 6 7 8 9; do - ln -s /dev/ttyv$n $linux_dev/tty`expr 1 + $n`; +for n in 0 1 2 3 4 5 6 7 8 9; do + ln -s /dev/ttyv$n $linux_dev/tty`expr 1 + $n`; done ln -s /dev/ttyva ${linux_dev}/tty11 ln -s /dev/ttyvb ${linux_dev}/tty12 @@ -17,7 +18,7 @@ ln -s ${linux_dev}/tty1 ${linux_dev}/tty0 echo Creating $linux_dev/hd\? mknod ${linux_dev}/hda b 0 0x00010002 mknod ${linux_dev}/hdb b 0 0x0001000a -# Not enable wd2-3, because vmware-wizard locked, when +# Do not enable below, because vmware-wizard is locked when # doing something like access("/dev/hdc"...) #mknod ${linux_dev}/hdc b 0 0x00010012 #mknod ${linux_dev}/hdd b 0 0x0001001a diff --git a/emulators/vmware2/Makefile b/emulators/vmware2/Makefile index aaecd7facef1..cd353f4c5cbf 100644 --- a/emulators/vmware2/Makefile +++ b/emulators/vmware2/Makefile @@ -1,14 +1,14 @@ -# ports collection makefile for: VMware For Linux -# Version required: 1.1.1 -# Date created: Fri 26 Nov 19:16:47 EST 1999 -# Whom: vns@delta.odessa.ua +# ports collection makefile for: VMware 1.1.2 for Linux +# Version required: 1.1.2 +# Date created: Fri 26 Nov 19:16:47 EST 1999 +# Whom: vns@delta.odessa.ua # -# $vmFreeBSD: vmware/vmmon-only/freebsd/port/Makefile,v 1.8 1999/12/17 00:38:27 vsilyaev Exp $ # $FreeBSD$ +# $vmFreeBSD: vmware/vmmon-only/freebsd/port/Makefile,v 1.8 1999/12/17 00:38:27 vsilyaev Exp $ # -DISTNAME= VMware-1.1.2-364 -PKGNAME= vmware-1.1.2 +DISTNAME= VMware-1.1.2-364 +PKGNAME= vmware-1.1.2.364 CATEGORIES= emulators linux MASTER_SITES= http://www4.vmware.com/software/ \ http://vmware-svca.www.conxion.com/software/ \ @@ -24,54 +24,54 @@ PATCH_SITES= http://www.mindspring.com/~vsilyaev/vmware/files/ \ PATCHFILES= vmmon-freebsd-0.94.tar.gz \ vmnet-freebsd-0.10.tar.gz -MAINTAINER= vns@delta.odessa.ua +MAINTAINER= freebsd-emulation@FreeBSD.org -RUN_DEPENDS= ${LINUX_DIR}/lib/libc.so.6:${PORTSDIR}/emulators/linux_base +RUN_DEPENDS= ${LINUX_DIR}/lib/libc.so.6:${PORTSDIR}/emulators/linux_base -IS_INTERACTIVE= yes # vmnet-freebsd-* querries user for network settings +RESTRICTED= "Not sure if we can redistribute it" -ONLY_FOR_ARCHS= i386 +LINUX_DIR= /compat/linux +VMDIR= ${PREFIX}/lib/vmware + +ONLY_FOR_ARCHS= i386 USE_XLIB= yes WRKSRC= ${WRKDIR}/vmware-distrib -LINUX_DIR= /compat/linux +GZCAT= ${SETENV} ${SCRIPTS_ENV} ${SH} ${SCRIPTDIR}/extract MAN1= vmware.1 .include .if ${OSVERSION} < 400013 -BROKEN= YES +BROKEN= "Systems prior to 400013 is out of support" .endif -.if exists(${MASTERDIR}/Makefile.inc.net) -.include "${MASTERDIR}/Makefile.inc.net" +.if exists(/modules/linprocfs.ko) || exists(${PREFIX}/modules/linprocfs.ko) +HAVE_LINPROCFS= yes .endif -.if exists(${MASTERDIR}/Makefile.inc.linproc) -.include "${MASTERDIR}/Makefile.inc.linproc" +.if !defined(HAVE_LINPROCFS) +BROKEN= "You need Linux procfs to run this software" .endif -VMSUBDIR= lib/vmware -VMDIR= ${PREFIX}/${VMSUBDIR} -SCRIPTS_ENV+= LINUX_DIR=${LINUX_DIR} \ - VMNET_HOST_IP=${VMNET_HOST_IP} \ - VMNET_NETMASK=${VMNET_NETMASK} +.if exists(${WRKDIRPREFIX}${.CURDIR}/work/Makefile.inc.net) +.include "${WRKDIRPREFIX}${.CURDIR}/work/Makefile.inc.net" +.endif -MAKE_ARGS= "KMODDIR=${VMDIR}/lib/modules" - -# Small hack for alternate processing patchfiles -GZCAT= ${SETENV} ${SCRIPTS_ENV} ${SH} ${SCRIPTDIR}/extract +SCRIPTS_ENV+= LINUX_DIR="${LINUX_DIR}" \ + VMNET_HOST_IP="${VMNET_HOST_IP}" \ + VMNET_NETMASK="${VMNET_NETMASK}" +MAKE_ARGS= KMODDIR="${VMDIR}/lib/modules" post-patch: - @${CP} ${FILESDIR}/Makefile ${WRKSRC} + ${CP} ${FILESDIR}/Makefile ${WRKSRC} setoptions: - ${SED} -e 's;@@PREFIX@@;${PREFIX};' ${FILESDIR}/vmware > ${WRKDIR}/vmware - ${SED} -e 's;@@PREFIX@@;${PREFIX};' \ + ${SED} -e 's;@@PREFIX@@;${PREFIX};' \ -e 's;@@HOST_IP@@;${VMNET_HOST_IP};' \ -e 's;@@NETMASK@@;${VMNET_NETMASK};' \ - ${FILESDIR}/config > ${WRKDIR}/config + ${FILESDIR}/config > ${WRKDIR}/config - ${SED} -e 's;@@PREFIX@@;${PREFIX};' \ + ${SED} -e 's;@@PREFIX@@;${PREFIX};' \ -e 's;@@NETWORKING@@;${VMNET_NETWORKING};' \ -e 's;@@HOST_IP@@;${VMNET_HOST_IP};' \ -e 's;@@NETMASK@@;${VMNET_NETMASK};' \ @@ -87,7 +87,6 @@ pre-install: setoptions ${INSTALL_SCRIPT} ${WRKDIR}/vmware.sh ${PREFIX}/etc/rc.d ${MKDIR} ${VMDIR}/bin - ${INSTALL_SCRIPT} ${FILESDIR}/fakeprocfs.sh ${VMDIR}/bin ${INSTALL_SCRIPT} ${FILESDIR}/df ${VMDIR}/bin [ -f ${LINUX_DIR}/bin/df ] || ${LN} -s ${VMDIR}/bin/df ${LINUX_DIR}/bin/ ${INSTALL_SCRIPT} ${WRKSRC}/bin/*.pl ${VMDIR}/bin @@ -95,15 +94,10 @@ pre-install: setoptions vmnet-bridge vmnet-dhcpd vmnet-sniffer \ vmware-loop vmware-ping vmware-wizard \ ; do \ - ${INSTALL_SCRIPT} ${WRKSRC}/bin/$${i} ${VMDIR}/bin; \ + ${INSTALL_SCRIPT} ${WRKSRC}/bin/$${i} ${VMDIR}/bin; \ done -.if defined(USE_LINPROC) ${INSTALL_SCRIPT} -m 4555 ${WRKSRC}/bin/vmware ${VMDIR}/bin ${LN} -s ${VMDIR}/bin/vmware ${PREFIX}/bin/ -.else - ${INSTALL_SCRIPT} ${WRKSRC}/bin/vmware ${VMDIR}/bin - ${INSTALL_SCRIPT} ${WRKDIR}/vmware ${PREFIX}/bin -.endif ${MKDIR} ${VMDIR}/lib ${INSTALL_DATA} ${WRKSRC}/lib/config ${VMDIR}/lib ${MKDIR} ${VMDIR}/lib/help @@ -117,18 +111,7 @@ pre-install: setoptions .endif post-install: - @${LN} -s ${PREFIX}/etc/vmware /etc/vmware -.if !defined(BATCH) - @${ECHO} "-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-" - @${ECHO} "Before launch vmware, execute the next command" - @${ECHO} ${PREFIX}/etc/rc.d/vmware.sh start - @${ECHO} - @${ECHO} "to load required kernel modules" - @${ECHO} "-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-" -.endif - -pre-clean: - @${RM} -f ${WRKDIRPREFIX}${.CURDIR}/Makefile.inc.linproc \ - ${WRKDIRPREFIX}${.CURDIR}/Makefile.inc.net + ${LN} -s ${PREFIX}/etc/vmware /etc/vmware + @${CAT} ${PKGMESSAGE} .include diff --git a/emulators/vmware2/files/Makefile b/emulators/vmware2/files/Makefile index 32991c325976..79759423aeb8 100644 --- a/emulators/vmware2/files/Makefile +++ b/emulators/vmware2/files/Makefile @@ -1,5 +1,5 @@ # $FreeBSD$ -SUBDIR= vmmon-only vmnet-only/freebsd +SUBDIR= vmmon-only vmnet-only/freebsd .include diff --git a/emulators/vmware2/files/vmware.sh b/emulators/vmware2/files/vmware.sh index 6b426b64d654..6764ced056e2 100644 --- a/emulators/vmware2/files/vmware.sh +++ b/emulators/vmware2/files/vmware.sh @@ -3,7 +3,6 @@ # Start or stop vmware # # $FreeBSD$ -# vmware_dir=@@PREFIX@@/lib/vmware networking=@@NETWORKING@@ @@ -14,27 +13,27 @@ netmask=@@NETMASK@@ exec >/dev/null case $1 in - start) - kldload ${vmware_dir}/lib/modules/vmmon.ko - if [ $networking -eq 1 ]; then - kldload ${vmware_dir}/lib/modules/vmnet.ko - echo -n >/dev/vmnet1 - ifconfig vmnet1 $host_ip netmask $netmask - fi - echo -n " VMware" >/dev/tty - ;; +start) + kldload ${vmware_dir}/lib/modules/vmmon.ko + if [ $networking -eq 1 ]; then + kldload ${vmware_dir}/lib/modules/vmnet.ko + echo -n >/dev/vmnet1 + ifconfig vmnet1 $host_ip netmask $netmask + fi + echo -n " VMware" >/dev/tty + ;; - stop) - kldunload vmmon - if [ $networking -eq 1 ]; then - ifconfig vmnet1 down - ifconfig vmnet1 delete $host_ip - kldunload vmnet - fi - ;; +stop) + kldunload vmmon + if [ $networking -eq 1 ]; then + ifconfig vmnet1 down + ifconfig vmnet1 delete $host_ip + kldunload vmnet + fi + ;; - *) - echo "usage: `basename $0` {start|stop}" >&2 - exit 64 - ;; +*) + echo "usage: `basename $0` {start|stop}" >&2 + exit 64 + ;; esac diff --git a/emulators/vmware2/pkg-comment b/emulators/vmware2/pkg-comment index 3338b47dd9e0..3e6b90a9f6e7 100644 --- a/emulators/vmware2/pkg-comment +++ b/emulators/vmware2/pkg-comment @@ -1 +1 @@ -VMware virtual machine emulator +A virtual machine emulator - a full PC in a window diff --git a/emulators/vmware2/pkg-descr b/emulators/vmware2/pkg-descr index 0d5e28f6c9d7..400a2f031035 100644 --- a/emulators/vmware2/pkg-descr +++ b/emulators/vmware2/pkg-descr @@ -1,4 +1,14 @@ -This is the Linux version of the VMware virtual machine emulator made to -run on FreeBSD using the Linux compatibility mode. VMware can be used to -run IBM's OS/2, Microsoft Windows 95/98, Microsoft NT, Linux, or any other -operating system that runs on the i486. +This is the Linux version of the VMware virtual machine emulator made +to run on FreeBSD using the Linux compatibility mode. VMware can be +used to run Microsoft MS-DOS, Windows 95/98/NT/2000, Linux, FreeBSD, +or any other operating system that runs on the i486. + +Official VMware, Inc. web site: +WWW: http://www.vmware.com/ + + +We all are thankful to Vladimir N. Silyaev for porting vmmon/vmnet +modules to FreeBSD. Have a look at his page for the latest +information: + + http://www.mindspring.com/~vsilyaev/vmware/ diff --git a/emulators/vmware2/pkg-message b/emulators/vmware2/pkg-message new file mode 100644 index 000000000000..4e1840a66f9d --- /dev/null +++ b/emulators/vmware2/pkg-message @@ -0,0 +1,13 @@ +************************************************************ +Add the following entry to /etc/fstab: + + linproc /compat/linux/proc linprocfs rw 0 0 + +and you can play with VMware after the next boot. + +Or hit the following commands to play now. :) + + /sbin/mount_linprocfs linproc /compat/linux/proc + /usr/local/etc/rc.d/vmware.sh start + +************************************************************ diff --git a/emulators/vmware2/pkg-plist b/emulators/vmware2/pkg-plist index 4b5cbebd2b70..da8830d4a218 100644 --- a/emulators/vmware2/pkg-plist +++ b/emulators/vmware2/pkg-plist @@ -1,7 +1,7 @@ bin/vmware +etc/rc.d/vmware.sh etc/vmware/config lib/vmware/bin/df -lib/vmware/bin/fakeprocfs.sh lib/vmware/bin/vmware lib/vmware/bin/vmnet-bridge lib/vmware/bin/vmnet-dhcpd @@ -113,7 +113,7 @@ share/doc/vmware/README.FreeBSD @exec ln -s %D/etc/vmware /etc/vmware @exec mknod /dev/vmmon c 200 0 @exec mknod /dev/vmnet1 c 201 1 -@unexec rm -f /etc/vmware /dev/vmmon /dev/vmnet1 /compat/linux/dev/tty[0-9]* /compat/linux/dev/hd? +@unexec rm -f /etc/vmware /dev/vmmon /dev/vmnet1 /compat/linux/bin/df /compat/linux/dev/tty[0-9]* /compat/linux/dev/hd? @dirrm etc/vmware @dirrm lib/vmware/bin @dirrm lib/vmware/lib/help diff --git a/emulators/vmware2/scripts/configure b/emulators/vmware2/scripts/configure index cebd8aa37360..15ab00cbd9a7 100644 --- a/emulators/vmware2/scripts/configure +++ b/emulators/vmware2/scripts/configure @@ -1,5 +1,104 @@ #!/bin/sh -mkdir -p ${WRKDIRPREFIX}${CURDIR} -. `dirname $0`/configure.linproc -. `dirname $0`/configure.net +[ "_$VMNET_HOST_IP" = _ ] && VMNET_HOST_IP="192.168.254.1" +[ "_$VMNET_NETMASK" = _ ] && VMNET_NETMASK="255.255.255.0" + +host_ip=$VMNET_HOST_IP +netmask=$VMNET_NETMASK +title="VMware network options" + +get_network_settings() { + result=`/usr/bin/dialog --title "$title" --clear --inputbox \ +"\n"\ +"What will be the IP address of your host on your private network?:"\ + 10 40 $host_ip \ + 2>&1 >/dev/tty ` + + case $? in + 0) + if [ -z "$result" ]; then + return 1 + fi + host_ip=$result + ;; + 1) + return 1 + ;; + esac + + result=`/usr/bin/dialog --title "$title" --clear --inputbox \ +"\n"\ +"What will be the netmask of your private network?:"\ + 10 40 $netmask \ + 2>&1 >/dev/tty ` + + case $? in + 0) + if [ -z "$result" ]; then + return 1 + fi + netmask=$result + ;; + 1) + return 1 + ;; + esac + return 0; +} + +do_network() { + while true; do + get_network_settings + + /usr/bin/dialog --title "Confirmation" --clear --yesno \ +"\n"\ +"Are the following options correct?\n\n"\ +"IP address: $host_ip\n"\ +"Netmask: $netmask\n"\ + 10 40 + [ $? -eq 0 ] && return 0 + + /usr/bin/dialog --title "Confirmation" --clear --yesno \ +"\n"\ +"Do you want to edit network options again?\n"\ + 10 40 + [ $? -eq 0 ] && continue + + /usr/bin/dialog --title "Confirmation" --clear --yesno \ +"\n"\ +"Do you want to continue without networking?\n"\ + 10 50 + [ $? -eq 0 ] && return 1 + + host_ip=$VMNET_HOST_IP + netmask=$VMNET_NETMASK + + return 0; + done +} + +networking=0 +if [ _$BATCH = _ ]; then + do_network + + if [ $? -eq 0 ]; then + networking=1 + /usr/bin/dialog --title "$title" --infobox \ +"\n"\ +"The following options will be used.\n\n"\ +"IP address: $host_ip\n"\ +"Netmask: $netmask\n"\ + 10 40 + fi +else #BATCH + [ -f ${WRKDIR}/Makefile.inc.net ] && exit +fi #BATCH + +( +exec > ${WRKDIR}/Makefile.inc.net + +echo '#' `date` +echo VMNET_HOST_IP=$host_ip +echo VMNET_NETMASK=$netmask +[ $networking -ne 0 ] && echo VMNET_NETWORKING=1 +) diff --git a/emulators/vmware2/scripts/pre-install b/emulators/vmware2/scripts/pre-install index 7a97e40ba5b5..771445b0ac01 100644 --- a/emulators/vmware2/scripts/pre-install +++ b/emulators/vmware2/scripts/pre-install @@ -1,15 +1,16 @@ #!/bin/sh -echo Setup Linux compatible /dev directory + +echo Setup Linux compatible /dev directory linux_dev=${LINUX_DIR}/dev -if [ \! -d $linux_dev ]; then - echo Creating $linux_dev - mkdir $linux_dev - chown root:wheel $linux_dev - chmod 755 $linux_dev +if [ ! -d $linux_dev ]; then + echo Creating $linux_dev + mkdir $linux_dev + chown root:wheel $linux_dev + chmod 755 $linux_dev fi echo Creating $linux_dev/tty\? -for n in 0 1 2 3 4 5 6 7 8 9; do - ln -s /dev/ttyv$n $linux_dev/tty`expr 1 + $n`; +for n in 0 1 2 3 4 5 6 7 8 9; do + ln -s /dev/ttyv$n $linux_dev/tty`expr 1 + $n`; done ln -s /dev/ttyva ${linux_dev}/tty11 ln -s /dev/ttyvb ${linux_dev}/tty12 @@ -17,7 +18,7 @@ ln -s ${linux_dev}/tty1 ${linux_dev}/tty0 echo Creating $linux_dev/hd\? mknod ${linux_dev}/hda b 0 0x00010002 mknod ${linux_dev}/hdb b 0 0x0001000a -# Not enable wd2-3, because vmware-wizard locked, when +# Do not enable below, because vmware-wizard is locked when # doing something like access("/dev/hdc"...) #mknod ${linux_dev}/hdc b 0 0x00010012 #mknod ${linux_dev}/hdd b 0 0x0001001a diff --git a/emulators/vmware3/Makefile b/emulators/vmware3/Makefile index aaecd7facef1..cd353f4c5cbf 100644 --- a/emulators/vmware3/Makefile +++ b/emulators/vmware3/Makefile @@ -1,14 +1,14 @@ -# ports collection makefile for: VMware For Linux -# Version required: 1.1.1 -# Date created: Fri 26 Nov 19:16:47 EST 1999 -# Whom: vns@delta.odessa.ua +# ports collection makefile for: VMware 1.1.2 for Linux +# Version required: 1.1.2 +# Date created: Fri 26 Nov 19:16:47 EST 1999 +# Whom: vns@delta.odessa.ua # -# $vmFreeBSD: vmware/vmmon-only/freebsd/port/Makefile,v 1.8 1999/12/17 00:38:27 vsilyaev Exp $ # $FreeBSD$ +# $vmFreeBSD: vmware/vmmon-only/freebsd/port/Makefile,v 1.8 1999/12/17 00:38:27 vsilyaev Exp $ # -DISTNAME= VMware-1.1.2-364 -PKGNAME= vmware-1.1.2 +DISTNAME= VMware-1.1.2-364 +PKGNAME= vmware-1.1.2.364 CATEGORIES= emulators linux MASTER_SITES= http://www4.vmware.com/software/ \ http://vmware-svca.www.conxion.com/software/ \ @@ -24,54 +24,54 @@ PATCH_SITES= http://www.mindspring.com/~vsilyaev/vmware/files/ \ PATCHFILES= vmmon-freebsd-0.94.tar.gz \ vmnet-freebsd-0.10.tar.gz -MAINTAINER= vns@delta.odessa.ua +MAINTAINER= freebsd-emulation@FreeBSD.org -RUN_DEPENDS= ${LINUX_DIR}/lib/libc.so.6:${PORTSDIR}/emulators/linux_base +RUN_DEPENDS= ${LINUX_DIR}/lib/libc.so.6:${PORTSDIR}/emulators/linux_base -IS_INTERACTIVE= yes # vmnet-freebsd-* querries user for network settings +RESTRICTED= "Not sure if we can redistribute it" -ONLY_FOR_ARCHS= i386 +LINUX_DIR= /compat/linux +VMDIR= ${PREFIX}/lib/vmware + +ONLY_FOR_ARCHS= i386 USE_XLIB= yes WRKSRC= ${WRKDIR}/vmware-distrib -LINUX_DIR= /compat/linux +GZCAT= ${SETENV} ${SCRIPTS_ENV} ${SH} ${SCRIPTDIR}/extract MAN1= vmware.1 .include .if ${OSVERSION} < 400013 -BROKEN= YES +BROKEN= "Systems prior to 400013 is out of support" .endif -.if exists(${MASTERDIR}/Makefile.inc.net) -.include "${MASTERDIR}/Makefile.inc.net" +.if exists(/modules/linprocfs.ko) || exists(${PREFIX}/modules/linprocfs.ko) +HAVE_LINPROCFS= yes .endif -.if exists(${MASTERDIR}/Makefile.inc.linproc) -.include "${MASTERDIR}/Makefile.inc.linproc" +.if !defined(HAVE_LINPROCFS) +BROKEN= "You need Linux procfs to run this software" .endif -VMSUBDIR= lib/vmware -VMDIR= ${PREFIX}/${VMSUBDIR} -SCRIPTS_ENV+= LINUX_DIR=${LINUX_DIR} \ - VMNET_HOST_IP=${VMNET_HOST_IP} \ - VMNET_NETMASK=${VMNET_NETMASK} +.if exists(${WRKDIRPREFIX}${.CURDIR}/work/Makefile.inc.net) +.include "${WRKDIRPREFIX}${.CURDIR}/work/Makefile.inc.net" +.endif -MAKE_ARGS= "KMODDIR=${VMDIR}/lib/modules" - -# Small hack for alternate processing patchfiles -GZCAT= ${SETENV} ${SCRIPTS_ENV} ${SH} ${SCRIPTDIR}/extract +SCRIPTS_ENV+= LINUX_DIR="${LINUX_DIR}" \ + VMNET_HOST_IP="${VMNET_HOST_IP}" \ + VMNET_NETMASK="${VMNET_NETMASK}" +MAKE_ARGS= KMODDIR="${VMDIR}/lib/modules" post-patch: - @${CP} ${FILESDIR}/Makefile ${WRKSRC} + ${CP} ${FILESDIR}/Makefile ${WRKSRC} setoptions: - ${SED} -e 's;@@PREFIX@@;${PREFIX};' ${FILESDIR}/vmware > ${WRKDIR}/vmware - ${SED} -e 's;@@PREFIX@@;${PREFIX};' \ + ${SED} -e 's;@@PREFIX@@;${PREFIX};' \ -e 's;@@HOST_IP@@;${VMNET_HOST_IP};' \ -e 's;@@NETMASK@@;${VMNET_NETMASK};' \ - ${FILESDIR}/config > ${WRKDIR}/config + ${FILESDIR}/config > ${WRKDIR}/config - ${SED} -e 's;@@PREFIX@@;${PREFIX};' \ + ${SED} -e 's;@@PREFIX@@;${PREFIX};' \ -e 's;@@NETWORKING@@;${VMNET_NETWORKING};' \ -e 's;@@HOST_IP@@;${VMNET_HOST_IP};' \ -e 's;@@NETMASK@@;${VMNET_NETMASK};' \ @@ -87,7 +87,6 @@ pre-install: setoptions ${INSTALL_SCRIPT} ${WRKDIR}/vmware.sh ${PREFIX}/etc/rc.d ${MKDIR} ${VMDIR}/bin - ${INSTALL_SCRIPT} ${FILESDIR}/fakeprocfs.sh ${VMDIR}/bin ${INSTALL_SCRIPT} ${FILESDIR}/df ${VMDIR}/bin [ -f ${LINUX_DIR}/bin/df ] || ${LN} -s ${VMDIR}/bin/df ${LINUX_DIR}/bin/ ${INSTALL_SCRIPT} ${WRKSRC}/bin/*.pl ${VMDIR}/bin @@ -95,15 +94,10 @@ pre-install: setoptions vmnet-bridge vmnet-dhcpd vmnet-sniffer \ vmware-loop vmware-ping vmware-wizard \ ; do \ - ${INSTALL_SCRIPT} ${WRKSRC}/bin/$${i} ${VMDIR}/bin; \ + ${INSTALL_SCRIPT} ${WRKSRC}/bin/$${i} ${VMDIR}/bin; \ done -.if defined(USE_LINPROC) ${INSTALL_SCRIPT} -m 4555 ${WRKSRC}/bin/vmware ${VMDIR}/bin ${LN} -s ${VMDIR}/bin/vmware ${PREFIX}/bin/ -.else - ${INSTALL_SCRIPT} ${WRKSRC}/bin/vmware ${VMDIR}/bin - ${INSTALL_SCRIPT} ${WRKDIR}/vmware ${PREFIX}/bin -.endif ${MKDIR} ${VMDIR}/lib ${INSTALL_DATA} ${WRKSRC}/lib/config ${VMDIR}/lib ${MKDIR} ${VMDIR}/lib/help @@ -117,18 +111,7 @@ pre-install: setoptions .endif post-install: - @${LN} -s ${PREFIX}/etc/vmware /etc/vmware -.if !defined(BATCH) - @${ECHO} "-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-" - @${ECHO} "Before launch vmware, execute the next command" - @${ECHO} ${PREFIX}/etc/rc.d/vmware.sh start - @${ECHO} - @${ECHO} "to load required kernel modules" - @${ECHO} "-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-" -.endif - -pre-clean: - @${RM} -f ${WRKDIRPREFIX}${.CURDIR}/Makefile.inc.linproc \ - ${WRKDIRPREFIX}${.CURDIR}/Makefile.inc.net + ${LN} -s ${PREFIX}/etc/vmware /etc/vmware + @${CAT} ${PKGMESSAGE} .include diff --git a/emulators/vmware3/files/Makefile b/emulators/vmware3/files/Makefile index 32991c325976..79759423aeb8 100644 --- a/emulators/vmware3/files/Makefile +++ b/emulators/vmware3/files/Makefile @@ -1,5 +1,5 @@ # $FreeBSD$ -SUBDIR= vmmon-only vmnet-only/freebsd +SUBDIR= vmmon-only vmnet-only/freebsd .include diff --git a/emulators/vmware3/files/vmware.sh b/emulators/vmware3/files/vmware.sh index 6b426b64d654..6764ced056e2 100644 --- a/emulators/vmware3/files/vmware.sh +++ b/emulators/vmware3/files/vmware.sh @@ -3,7 +3,6 @@ # Start or stop vmware # # $FreeBSD$ -# vmware_dir=@@PREFIX@@/lib/vmware networking=@@NETWORKING@@ @@ -14,27 +13,27 @@ netmask=@@NETMASK@@ exec >/dev/null case $1 in - start) - kldload ${vmware_dir}/lib/modules/vmmon.ko - if [ $networking -eq 1 ]; then - kldload ${vmware_dir}/lib/modules/vmnet.ko - echo -n >/dev/vmnet1 - ifconfig vmnet1 $host_ip netmask $netmask - fi - echo -n " VMware" >/dev/tty - ;; +start) + kldload ${vmware_dir}/lib/modules/vmmon.ko + if [ $networking -eq 1 ]; then + kldload ${vmware_dir}/lib/modules/vmnet.ko + echo -n >/dev/vmnet1 + ifconfig vmnet1 $host_ip netmask $netmask + fi + echo -n " VMware" >/dev/tty + ;; - stop) - kldunload vmmon - if [ $networking -eq 1 ]; then - ifconfig vmnet1 down - ifconfig vmnet1 delete $host_ip - kldunload vmnet - fi - ;; +stop) + kldunload vmmon + if [ $networking -eq 1 ]; then + ifconfig vmnet1 down + ifconfig vmnet1 delete $host_ip + kldunload vmnet + fi + ;; - *) - echo "usage: `basename $0` {start|stop}" >&2 - exit 64 - ;; +*) + echo "usage: `basename $0` {start|stop}" >&2 + exit 64 + ;; esac diff --git a/emulators/vmware3/pkg-comment b/emulators/vmware3/pkg-comment index 3338b47dd9e0..3e6b90a9f6e7 100644 --- a/emulators/vmware3/pkg-comment +++ b/emulators/vmware3/pkg-comment @@ -1 +1 @@ -VMware virtual machine emulator +A virtual machine emulator - a full PC in a window diff --git a/emulators/vmware3/pkg-descr b/emulators/vmware3/pkg-descr index 0d5e28f6c9d7..400a2f031035 100644 --- a/emulators/vmware3/pkg-descr +++ b/emulators/vmware3/pkg-descr @@ -1,4 +1,14 @@ -This is the Linux version of the VMware virtual machine emulator made to -run on FreeBSD using the Linux compatibility mode. VMware can be used to -run IBM's OS/2, Microsoft Windows 95/98, Microsoft NT, Linux, or any other -operating system that runs on the i486. +This is the Linux version of the VMware virtual machine emulator made +to run on FreeBSD using the Linux compatibility mode. VMware can be +used to run Microsoft MS-DOS, Windows 95/98/NT/2000, Linux, FreeBSD, +or any other operating system that runs on the i486. + +Official VMware, Inc. web site: +WWW: http://www.vmware.com/ + + +We all are thankful to Vladimir N. Silyaev for porting vmmon/vmnet +modules to FreeBSD. Have a look at his page for the latest +information: + + http://www.mindspring.com/~vsilyaev/vmware/ diff --git a/emulators/vmware3/pkg-message b/emulators/vmware3/pkg-message new file mode 100644 index 000000000000..4e1840a66f9d --- /dev/null +++ b/emulators/vmware3/pkg-message @@ -0,0 +1,13 @@ +************************************************************ +Add the following entry to /etc/fstab: + + linproc /compat/linux/proc linprocfs rw 0 0 + +and you can play with VMware after the next boot. + +Or hit the following commands to play now. :) + + /sbin/mount_linprocfs linproc /compat/linux/proc + /usr/local/etc/rc.d/vmware.sh start + +************************************************************ diff --git a/emulators/vmware3/pkg-plist b/emulators/vmware3/pkg-plist index 4b5cbebd2b70..da8830d4a218 100644 --- a/emulators/vmware3/pkg-plist +++ b/emulators/vmware3/pkg-plist @@ -1,7 +1,7 @@ bin/vmware +etc/rc.d/vmware.sh etc/vmware/config lib/vmware/bin/df -lib/vmware/bin/fakeprocfs.sh lib/vmware/bin/vmware lib/vmware/bin/vmnet-bridge lib/vmware/bin/vmnet-dhcpd @@ -113,7 +113,7 @@ share/doc/vmware/README.FreeBSD @exec ln -s %D/etc/vmware /etc/vmware @exec mknod /dev/vmmon c 200 0 @exec mknod /dev/vmnet1 c 201 1 -@unexec rm -f /etc/vmware /dev/vmmon /dev/vmnet1 /compat/linux/dev/tty[0-9]* /compat/linux/dev/hd? +@unexec rm -f /etc/vmware /dev/vmmon /dev/vmnet1 /compat/linux/bin/df /compat/linux/dev/tty[0-9]* /compat/linux/dev/hd? @dirrm etc/vmware @dirrm lib/vmware/bin @dirrm lib/vmware/lib/help diff --git a/emulators/vmware3/scripts/configure b/emulators/vmware3/scripts/configure index cebd8aa37360..15ab00cbd9a7 100644 --- a/emulators/vmware3/scripts/configure +++ b/emulators/vmware3/scripts/configure @@ -1,5 +1,104 @@ #!/bin/sh -mkdir -p ${WRKDIRPREFIX}${CURDIR} -. `dirname $0`/configure.linproc -. `dirname $0`/configure.net +[ "_$VMNET_HOST_IP" = _ ] && VMNET_HOST_IP="192.168.254.1" +[ "_$VMNET_NETMASK" = _ ] && VMNET_NETMASK="255.255.255.0" + +host_ip=$VMNET_HOST_IP +netmask=$VMNET_NETMASK +title="VMware network options" + +get_network_settings() { + result=`/usr/bin/dialog --title "$title" --clear --inputbox \ +"\n"\ +"What will be the IP address of your host on your private network?:"\ + 10 40 $host_ip \ + 2>&1 >/dev/tty ` + + case $? in + 0) + if [ -z "$result" ]; then + return 1 + fi + host_ip=$result + ;; + 1) + return 1 + ;; + esac + + result=`/usr/bin/dialog --title "$title" --clear --inputbox \ +"\n"\ +"What will be the netmask of your private network?:"\ + 10 40 $netmask \ + 2>&1 >/dev/tty ` + + case $? in + 0) + if [ -z "$result" ]; then + return 1 + fi + netmask=$result + ;; + 1) + return 1 + ;; + esac + return 0; +} + +do_network() { + while true; do + get_network_settings + + /usr/bin/dialog --title "Confirmation" --clear --yesno \ +"\n"\ +"Are the following options correct?\n\n"\ +"IP address: $host_ip\n"\ +"Netmask: $netmask\n"\ + 10 40 + [ $? -eq 0 ] && return 0 + + /usr/bin/dialog --title "Confirmation" --clear --yesno \ +"\n"\ +"Do you want to edit network options again?\n"\ + 10 40 + [ $? -eq 0 ] && continue + + /usr/bin/dialog --title "Confirmation" --clear --yesno \ +"\n"\ +"Do you want to continue without networking?\n"\ + 10 50 + [ $? -eq 0 ] && return 1 + + host_ip=$VMNET_HOST_IP + netmask=$VMNET_NETMASK + + return 0; + done +} + +networking=0 +if [ _$BATCH = _ ]; then + do_network + + if [ $? -eq 0 ]; then + networking=1 + /usr/bin/dialog --title "$title" --infobox \ +"\n"\ +"The following options will be used.\n\n"\ +"IP address: $host_ip\n"\ +"Netmask: $netmask\n"\ + 10 40 + fi +else #BATCH + [ -f ${WRKDIR}/Makefile.inc.net ] && exit +fi #BATCH + +( +exec > ${WRKDIR}/Makefile.inc.net + +echo '#' `date` +echo VMNET_HOST_IP=$host_ip +echo VMNET_NETMASK=$netmask +[ $networking -ne 0 ] && echo VMNET_NETWORKING=1 +) diff --git a/emulators/vmware3/scripts/pre-install b/emulators/vmware3/scripts/pre-install index 7a97e40ba5b5..771445b0ac01 100644 --- a/emulators/vmware3/scripts/pre-install +++ b/emulators/vmware3/scripts/pre-install @@ -1,15 +1,16 @@ #!/bin/sh -echo Setup Linux compatible /dev directory + +echo Setup Linux compatible /dev directory linux_dev=${LINUX_DIR}/dev -if [ \! -d $linux_dev ]; then - echo Creating $linux_dev - mkdir $linux_dev - chown root:wheel $linux_dev - chmod 755 $linux_dev +if [ ! -d $linux_dev ]; then + echo Creating $linux_dev + mkdir $linux_dev + chown root:wheel $linux_dev + chmod 755 $linux_dev fi echo Creating $linux_dev/tty\? -for n in 0 1 2 3 4 5 6 7 8 9; do - ln -s /dev/ttyv$n $linux_dev/tty`expr 1 + $n`; +for n in 0 1 2 3 4 5 6 7 8 9; do + ln -s /dev/ttyv$n $linux_dev/tty`expr 1 + $n`; done ln -s /dev/ttyva ${linux_dev}/tty11 ln -s /dev/ttyvb ${linux_dev}/tty12 @@ -17,7 +18,7 @@ ln -s ${linux_dev}/tty1 ${linux_dev}/tty0 echo Creating $linux_dev/hd\? mknod ${linux_dev}/hda b 0 0x00010002 mknod ${linux_dev}/hdb b 0 0x0001000a -# Not enable wd2-3, because vmware-wizard locked, when +# Do not enable below, because vmware-wizard is locked when # doing something like access("/dev/hdc"...) #mknod ${linux_dev}/hdc b 0 0x00010012 #mknod ${linux_dev}/hdd b 0 0x0001001a