# Copyright 1999-2001 Gentoo Technologies, Inc. # Distributed under the terms of the GNU General Public License, v2 or later # Maintainer: William McArthur <leknor@leknor.com> # $Header $ DESCRIPTION="Emulate a complete PC on your PC without the usual performance overhead of most emulators." S=${WORKDIR}/vmware-distrib NP="VMware-workstation-3.1.1-1790" # Unlike many other binary packages the user doesn't need to agree to a licence # to download VM Ware. The agreeing to a licence is part of the configure step # which the user must run manually. SRC_PATH0="http://vmware-svca.www.conxion.com/software" SRC_PATH1="http://www.vmware.com/download1/software" SRC_PATH2="ftp://download1.vmware.com/pub/software" SRC_PATH3="http://vmware-chil.www.conxion.com/software" SRC_PATH4="http://vmware-heva.www.conxion.com/software" SRC_PATH5="http://vmware.wespe.de/software" SRC_PATH6="ftp://vmware.wespe.de/pub/software" SRC_URI="$SRC_PATH0/${NP}.tar.gz $SRC_PATH1/${NP}.tar.gz $SRC_PATH2/${NP}.tar.gz $SRC_PATH3/${NP}.tar.gz $SRC_PATH4/${NP}.tar.gz $SRC_PATH5/${NP}.tar.gz $SRC_PATH6/${NP}.tar.gz" HOMEPAGE="http://www.vmware.com/products/desktop/ws_features.html" DEPEND="virtual/glibc virtual/x11 sys-kernel/linux-headers >=sys-devel/perl-5" #debug is needed to prevent a segfault from stripping vmware executables export DEBUG="yes" src_install () { # Copy: dodir /opt/vmware/bin cp -a bin/* ${D}/opt/vmware/bin/ # vmware and vmware-ping needs to be suid root. chmod u+s ${D}/opt/vmware/bin/vmware chmod u+s ${D}/opt/vmware/bin/vmware-ping dodir /opt/vmware/lib cp -a lib/* ${D}/opt/vmware/lib/ # Since with Gentoo we compile everthing it doesn't make sense to keep # the precompiled modules arround. Saves about 4 megs of disk space too. rm -r ${D}/opt/vmware/lib/modules/binary dodir /opt/vmware/doc cp -a doc/* ${D}/opt/vmware/doc/ dodir /opt/vmware/man/ cp -a man/* ${D}/opt/vmware/man/ # vmware service loader exeinto /etc/init.d newexe ${FILESDIR}/${PVR}/vmware vmware # vmware enviroment insinto /etc/env.d doins ${FILESDIR}/${PVR}/90vmware dodir /etc/vmware/ cp -a etc/* ${D}/etc/vmware/ dodir /etc/vmware/init.d dodir /etc/vmware/init.d/rc0.d dodir /etc/vmware/init.d/rc1.d dodir /etc/vmware/init.d/rc2.d dodir /etc/vmware/init.d/rc3.d dodir /etc/vmware/init.d/rc4.d dodir /etc/vmware/init.d/rc5.d dodir /etc/vmware/init.d/rc6.d cp -a installer/services.sh ${D}/etc/vmware/init.d/vmware # This is to fix a problem where if someone merges vmware and then # before configuring vmware they upgrade or re-merge the vmware # package which would rmdir the /etc/vmware/init.d/rc?.d directories. touch ${D}/etc/vmware/init.d/rc{0,1,2,3,4,5,6}.d/.keep # Questions: einfo "Adding answers to /etc/vmware/locations" locations="${D}/etc/vmware/locations" echo "answer BINDIR /opt/vmware/bin" >> ${locations} echo "answer LIBDIR /opt/vmware/lib" >> ${locations} echo "answer MANDIR /opt/vmware/man" >> ${locations} echo "answer DOCDIR /opt/vmware/doc" >> ${locations} echo "answer RUN_CONFIGURATOR no" >> ${locations} echo "answer INITDIR /etc/vmware/init.d" >> ${locations} echo "answer INITSCRIPTSDIR /etc/vmware/init.d" >> ${locations} } pkg_preinst () { # This must be done after the install to get the mtimes on each file # right. This perl snippet gets the /etc/vmware/locations file code: # perl -e "@a = stat('bin/vmware'); print \$a[9]" #Note: it's a bit weird to use ${D} in a preinst script but it should work #(drobbins, 1 Feb 2002) einfo "Generating /etc/vmware/locations file." d=`echo ${D} | wc -c` for x in `find ${D}/opt/vmware ${D}/etc/vmware` do x="`echo ${x} | cut -c ${d}-`" if [ -d ${D}/${x} ] then echo "directory ${x}" >> ${D}/etc/vmware/locations else echo -n "file ${x}" >> ${D}/etc/vmware/locations if [ "${x}" == "/etc/vmware/locations" ] then echo "" >> ${D}/etc/vmware/locations elif [ "${x}" == "/etc/vmware/not_configured" ] then echo "" >> ${D}/etc/vmware/locations else echo -n " " >> ${D}/etc/vmware/locations perl -e "@a = stat('${D}${x}'); print \$a[9]" >> ${D}/etc/vmware/locations echo "" >> ${D}/etc/vmware/locations fi fi done } pkg_postinst () { # This is to fix the problem where the not_configured file doesn't get # removed when the configuration is run. This doesn't remove the file # It just tells the vmware-config.pl script it can delete it. einfo "Updating /etc/vmware/locations" for x in /etc/vmware/._cfg????_locations do if [ -f $x ] then cat $x >> /etc/vmware/locations rm $x fi done einfo "Activating vmware init scripts..." rc-update add vmware default einfo einfo "You need to run /opt/vmware/bin/vmware-config.pl to complete the install." einfo } pkg_postrm () { einfo einfo "To remove all traces of vmware you will need to remove the files" einfo "in /etc/vmware/, /etc/init.d/vmware, /lib/modules/*/misc/vm*.o," einfo "and .vmware/ in each users home directory." einfo }
Excllent! I'll test this when I get home. Maybe it will support the unpached 2.4.19 kernel. We should probably also add: RESTRICT="nostrip" as it's the more correct way to prevent stripping. This is also the first oppurtunity to test upgrades via the portage ebuilds.
I've created a tar ball with the files needed for a new vmware release at http://leknor.com/gentoo/vmware-workstation-3.1.1.1790.tar.gz (I would attach to this bug if upload was working) # tar tzf vmware-workstation-3.1.1.1790.tar.gz vmware-workstation/vmware-workstation-3.1.1.1790.ebuild vmware-workstation/files/digest-vmware-workstation-3.1.1.1790 vmware-workstation/files/3.1.1.1790/90vmware vmware-workstation/files/3.1.1.1790/VMware Workstation.desktop vmware-workstation/files/3.1.1.1790/vmware vmware-workstation/files/3.1.1.1790/vmware.png vmware-workstation/ChangeLog This version does work with an unpatched 2.4.19 kernel (the linux/malloc.h issue). I have added the stuff to add menu items to the KDE{2,3} Panels but it isn't enabled. You can enable it by finding the line with "kde-not-yet" in the ebuild and changing it to "kde". I'm waiting for feedback from danarmak@gentoo.org on Gentoo's policy on if non-kde apps can add themselves to the kde menus. I updated /etc/init.d/vmware to "prettify" the output from the init script that comes with the vmware package so that it looks more like the normal Gentoo init messages. Oh yea, and errors during init are sent to syslog for a more perminate record. I think that's all I changed. If it is decided that we don't let non-kde apps add themselves then then this should be ready to make offical. If we do allow non-kde apps to add themselves then I need to make an edit and test it.
obsoleted by another submisssion....