diff options
author | Chris Gianelloni <wolf31o2@gentoo.org> | 2005-11-29 15:17:26 +0000 |
---|---|---|
committer | Chris Gianelloni <wolf31o2@gentoo.org> | 2005-11-29 15:17:26 +0000 |
commit | 9547fd27a8cc3a427d2595c7d95171219275b22c (patch) | |
tree | 4ee51437593327d96f18974c06bd35fcb8ee1582 /app-emulation/vmware-player | |
parent | Added ~sparc keyword. (diff) | |
download | gentoo-2-9547fd27a8cc3a427d2595c7d95171219275b22c.tar.gz gentoo-2-9547fd27a8cc3a427d2595c7d95171219275b22c.tar.bz2 gentoo-2-9547fd27a8cc3a427d2595c7d95171219275b22c.zip |
Initial import. Original ebuild by Eric Edgar <rocket@gentoo.org> and modified by Derick Swanepoel <derick@up.ac.za> and myself. Closing bug #110027.
(Portage version: 2.0.53_rc7)
Diffstat (limited to 'app-emulation/vmware-player')
-rw-r--r-- | app-emulation/vmware-player/ChangeLog | 14 | ||||
-rw-r--r-- | app-emulation/vmware-player/Manifest | 6 | ||||
-rw-r--r-- | app-emulation/vmware-player/files/90vmware-player | 3 | ||||
-rw-r--r-- | app-emulation/vmware-player/files/digest-vmware-player-1.0.0.18007 | 1 | ||||
-rw-r--r-- | app-emulation/vmware-player/files/vmware-player-1.0.0.18007-config.patch | 31 | ||||
-rw-r--r-- | app-emulation/vmware-player/files/vmware.rc | 73 | ||||
-rw-r--r-- | app-emulation/vmware-player/files/vmware.xml | 48 | ||||
-rw-r--r-- | app-emulation/vmware-player/metadata.xml | 5 | ||||
-rw-r--r-- | app-emulation/vmware-player/vmware-player-1.0.0.18007.ebuild | 217 |
9 files changed, 398 insertions, 0 deletions
diff --git a/app-emulation/vmware-player/ChangeLog b/app-emulation/vmware-player/ChangeLog new file mode 100644 index 000000000000..bb03429e571b --- /dev/null +++ b/app-emulation/vmware-player/ChangeLog @@ -0,0 +1,14 @@ +# ChangeLog for app-emulation/vmware-player +# Copyright 1999-2005 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/app-emulation/vmware-player/ChangeLog,v 1.1 2005/11/29 15:17:26 wolf31o2 Exp $ + +*vmware-player-1.0.0.18007 (29 Nov 2005) + + 29 Nov 2005; Chris Gianelloni <wolf31o2@gentoo.org> + +files/90vmware-player, +files/vmware-player-1.0.0.18007-config.patch, + +files/vmware.rc, +files/vmware.xml, +metadata.xml, + +vmware-player-1.0.0.18007.ebuild: + Initial import. Original ebuild by Eric Edgar <rocket@gentoo.org> and + modified by Derick Swanepoel <derick@up.ac.za> and myself. Closing bug + #110027. + diff --git a/app-emulation/vmware-player/Manifest b/app-emulation/vmware-player/Manifest new file mode 100644 index 000000000000..2ae80cc5c470 --- /dev/null +++ b/app-emulation/vmware-player/Manifest @@ -0,0 +1,6 @@ +MD5 40cfaf639df38a7cb04073555992d31e files/90vmware-player 91 +MD5 8f3afb548d21e0a5d592fff7050264b9 files/digest-vmware-player-1.0.0.18007 79 +MD5 23d97e5e436a0d827b48db3ed9948aa7 files/vmware-player-1.0.0.18007-config.patch 1131 +MD5 c2dc0111fb5bf45ff99578b57d349cb3 files/vmware.rc 1417 +MD5 aa1b576735134579f04b29763901dc4f files/vmware.xml 1592 +MD5 b4dbebdcbc13784c479ccef54263dae9 vmware-player-1.0.0.18007.ebuild 7086 diff --git a/app-emulation/vmware-player/files/90vmware-player b/app-emulation/vmware-player/files/90vmware-player new file mode 100644 index 000000000000..3ff865b64293 --- /dev/null +++ b/app-emulation/vmware-player/files/90vmware-player @@ -0,0 +1,3 @@ +PATH=/opt/vmware/player/bin +ROOTPATH=/opt/vmware/player/bin +MANPATH=/opt/vmware/player/man diff --git a/app-emulation/vmware-player/files/digest-vmware-player-1.0.0.18007 b/app-emulation/vmware-player/files/digest-vmware-player-1.0.0.18007 new file mode 100644 index 000000000000..69dbaf927ecc --- /dev/null +++ b/app-emulation/vmware-player/files/digest-vmware-player-1.0.0.18007 @@ -0,0 +1 @@ +MD5 3e68ecdd2698e90f9bbfe5e04fe34ca7 VMware-player-1.0.0-18007.tar.gz 35505226 diff --git a/app-emulation/vmware-player/files/vmware-player-1.0.0.18007-config.patch b/app-emulation/vmware-player/files/vmware-player-1.0.0.18007-config.patch new file mode 100644 index 000000000000..1d864f7e0dd7 --- /dev/null +++ b/app-emulation/vmware-player/files/vmware-player-1.0.0.18007-config.patch @@ -0,0 +1,31 @@ +--- vmware-distrib/bin/vmware-config.pl.ori 2005-11-09 01:45:08.000000000 +0000 ++++ vmware-distrib/bin/vmware-config.pl 2005-11-09 01:48:21.000000000 +0000 +@@ -8433,7 +8433,7 @@ + error('Please shut down any running VMs and run this script again.' . + "\n\n"); + } else { +- if (system(shell_string(db_get_answer('INITSCRIPTSDIR') . '/vmware') ++ if (system(shell_string('/etc/init.d' . '/vmware') + . ' stop')) { + error('Unable to stop services for ' . vmware_product_name() . + "\n\n"); +@@ -8463,8 +8463,8 @@ + } + if (vmware_product() ne 'server') { + configure_gtk2(); +- createMimePackageFile(); +- configureDesktopFiles(); ++# createMimePackageFile(); ++# configureDesktopFiles(); + configure_mon(); + configure_pp(); + configure_net(); +@@ -8532,7 +8532,7 @@ + db_save(); + # Then start VMware's services + if (!$gOption{'skipstopstart'}) { +- system(shell_string(db_get_answer('INITSCRIPTSDIR') . '/vmware') . ' start'); ++ system(shell_string('/etc/init.d' . '/vmware') . ' start'); + print "\n"; + } + diff --git a/app-emulation/vmware-player/files/vmware.rc b/app-emulation/vmware-player/files/vmware.rc new file mode 100644 index 000000000000..20c1b956a5fc --- /dev/null +++ b/app-emulation/vmware-player/files/vmware.rc @@ -0,0 +1,73 @@ +#!/sbin/runscript +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-emulation/vmware-player/files/vmware.rc,v 1.1 2005/11/29 15:17:26 wolf31o2 Exp $ + +depend() { + need localmount + use logger net samba +} + +vmware-prettify() { + # Yea, the code is ugly but the output is pretty + state=$1 + waserror=0 + msgtype=0 + while read line + do + [ "$line" == "" ] && continue + if [ "$msgtype" -le "0" ] + then + if [ "$msgtype" == "-1" ] + then + ewarn $line + continue + fi + if [ "${line/*:*/}" == "" ] + then + einfon $line + echo + eend 0 + msgtype=1 + else + ewarn $line + msgtype=-1 + waserror=1 + fi + continue + fi + + # Strip out anything after the <esc> code + message=`echo $line | sed -e "s/^\(.*\).*$/\1/"` + einfon " $message" + echo + + echo $line | grep done > /dev/null + status=$? + eend $status + + if [ "$status" != "0" ] + then + logger -p local0.err -t vmware-${state} "$line" + waserror=$status + fi + done + if [ "$msgtype" == "-1" ] + then + eend 1 "VMware is not properly configured! See above." + fi + return $waserror +} + +start() { + test -x /etc/vmware/init.d/vmware || \ + eend 1 "vmware init script not found. Aborting" || return 1 + + /etc/vmware/init.d/vmware start | vmware-prettify start + return $? +} + +stop() { + /etc/vmware/init.d/vmware stop | vmware-prettify stop + return $? +} diff --git a/app-emulation/vmware-player/files/vmware.xml b/app-emulation/vmware-player/files/vmware.xml new file mode 100644 index 000000000000..8d5e2eff56b6 --- /dev/null +++ b/app-emulation/vmware-player/files/vmware.xml @@ -0,0 +1,48 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info"> + <mime-type type="application/x-vmware-vm"> + <comment xml:lang="en">VMware virtual machine</comment> + <magic priority="50"> + <match type="string" value='config.version = "' offset="0:4096"/> + </magic> + <glob pattern="*.vmx"/> + </mime-type> + + <mime-type type="application/x-vmware-vmdisk"> + <comment xml:lang="en">VMware virtual disk</comment> + <magic priority="50"> + <match type="string" value="# Disk DescriptorFile" offset="0"/> + <match type="string" value="KDMV" offset="0"/> + </magic> + <glob pattern="*.vmdk"/> + </mime-type> + + <mime-type type="application/x-vmware-team"> + <comment xml:lang="en">VMware team</comment> + <magic priority="50"> + <match type="string" value='<Foundry version="1">' offset="0"> + <match type="string" value="<VMTeam>" offset="23:24"/> + </match> + </magic> + <glob pattern="*.vmtm"/> + </mime-type> + + <mime-type type="application/x-vmware-snapshot"> + <comment xml:lang="en">VMware virtual machine snapshot</comment> + <magic priority="50"> + <match type="string" value="\\0xD0\\0xBE\\0xD0\\0xBE" offset="0"/> + </magic> + <glob pattern="*.vmsn"/> + </mime-type> + + <mime-type type="application/x-vmware-vmfoundry"> + <comment xml:lang="en">VMware virtual machine foundry</comment> + <magic priority="50"> + <match type="string" value='<Foundry version="1">' offset="0"> + <match type="string" value="<VM>" offset="23:24"/> + </match> + </magic> + <glob pattern="*.vmxf"/> + </mime-type> +</mime-info> diff --git a/app-emulation/vmware-player/metadata.xml b/app-emulation/vmware-player/metadata.xml new file mode 100644 index 000000000000..3260ec55a8de --- /dev/null +++ b/app-emulation/vmware-player/metadata.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>vmware</herd> +</pkgmetadata> diff --git a/app-emulation/vmware-player/vmware-player-1.0.0.18007.ebuild b/app-emulation/vmware-player/vmware-player-1.0.0.18007.ebuild new file mode 100644 index 000000000000..a34baae82c37 --- /dev/null +++ b/app-emulation/vmware-player/vmware-player-1.0.0.18007.ebuild @@ -0,0 +1,217 @@ +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +# Unlike many other binary packages the user doesn't need to agree to a licence +# to download VMWare. The agreeing to a licence is part of the configure step +# which the user must run manually. + +inherit eutils + +S=${WORKDIR}/vmware-player-distrib +#ANY_ANY="vmware-any-any-update94" +NP="VMware-player-1.0.0-18007" +DESCRIPTION="Emulate a complete PC on your PC without the usual performance overhead of most emulators" +HOMEPAGE="http://www.vmware.com/products/player/" +SRC_URI="http://download3.vmware.com/software/vmplayer/${NP}.tar.gz" + +LICENSE="vmware" +IUSE="" +SLOT="0" +KEYWORDS="-* ~amd64 ~x86" +RESTRICT="nostrip" # fetch" + +DEPEND="${RDEPEND} virtual/os-headers + !app-emulation/vmware-workstation" +# vmware-player should not use virtual/libc as this is a +# precompiled binary package thats linked to glibc. +RDEPEND="sys-libs/glibc + amd64? ( app-emulation/emul-linux-x86-xlibs ) + virtual/x11 + >=dev-lang/perl-5 + sys-apps/pciutils" + +dir=/opt/vmware/player +Ddir=${D}/${dir} +VMWARE_GROUP=${VMWARE_GROUP:-vmware} + +pkg_setup() { + # This is due to both bugs #104480 and #106170 + enewgroup "${VMWARE_GROUP}" +} +src_unpack() { + unpack ${NP}.tar.gz + cd ${S} + # patch the config to not install desktop/icon files and proper gentoo init + epatch ${FILESDIR}/${P}-config.patch + + chmod 755 lib/bin/vmplayer bin/vmnet-bridge lib/bin/vmware-vmx lib/bin-debug/vmware-vmx +} + +src_install() { + dodir ${dir}/bin + cp -pPR bin/* ${Ddir}/bin + + dodir ${dir}/lib + cp -dr lib/* ${Ddir}/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 -rf ${Ddir}/lib/modules/binary + # We also don't need to keep the icons around + rm -rf ${Ddir}/lib/share/icons + # We set vmware-vmx and vmware-ping suid + chmod u+s ${Ddir}/bin/vmware-ping + chmod u+s ${Ddir}/lib/bin/vmware-vmx + + dodoc doc/* || die "dodoc" + # Fix for bug #91191 + dodir ${dir}/doc + insinto ${dir}/doc + doins doc/EULA || die "copying EULA" + + # vmware service loader + newinitd ${FILESDIR}/vmware.rc vmware || die "newinitd" + + # vmware enviroment + doenvd ${FILESDIR}/90vmware-player || die "doenvd" + + dodir /etc/vmware/ + cp -pPR 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 -pPR installer/services.sh ${D}/etc/vmware/init.d/vmware || die + dosed 's/mknod -m 600/mknod -m 660/' /etc/vmware/init.d/vmware || die + dosed '/c 119 "$vHubNr"/ a\ + chown root:vmware /dev/vmnet*\ + ' /etc/vmware/init.d/vmware || die + + # 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. + keepdir /etc/vmware/init.d/rc{0,1,2,3,4,5,6}.d + + insinto ${dir}/lib/icon + doins ${S}/lib/share/icons/48x48/apps/${PN}.png || die + doicon ${S}/lib/share/icons/48x48/apps/${PN}.png || die + insinto /usr/share/mime/packages + doins ${FILESDIR}/vmware.xml + + make_desktop_entry vmplayer "VMWare Player" ${PN}.png + + dodir /usr/bin + dosym ${dir}/bin/vmplayer /usr/bin/vmplayer + + # this removes the user/group warnings + chown -R root:0 ${D} || die + + # this makes the vmware-vmx executable only executable by vmware group + fowners root:vmware ${dir}/lib/bin{,-debug}/vmware-vmx || die + fperms 4750 ${dir}/lib/bin{,-debug}/vmware-vmx || die + + # this adds udev rules for vmmon* + dodir /etc/udev/rules.d + echo 'KERNEL=="vmmon*", GROUP="vmware" MODE=660' > \ + ${D}/etc/udev/rules.d/60-vmware.rules || die + + # Questions: + einfo "Adding answers to /etc/vmware/locations" + locations="${D}/etc/vmware/locations" + echo "answer BINDIR ${dir}/bin" >> ${locations} + echo "answer LIBDIR ${dir}/lib" >> ${locations} + echo "answer MANDIR ${dir}/man" >> ${locations} + echo "answer DOCDIR ${dir}/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]" + # The above perl line and the find line below output the same thing. + # I would think the find line is faster to execute. + # find /opt/vmware/bin/vmware -printf %T@ + + #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 ${Ddir} ${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 + find ${D}${x} -printf %T@ >> ${D}/etc/vmware/locations + echo "" >> ${D}/etc/vmware/locations + fi + fi + done +} + +pkg_config() { + einfo "Running ${dir}/bin/vmware-config.pl" + ${dir}/bin/vmware-config.pl +} + +pkg_postinst() { + update-mime-database /usr/share/mime + + # 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 + einfo "You need to run ${dir}/bin/vmware-config.pl to complete the install." + einfo + einfo "For VMware Add-Ons just visit" + einfo "http://www.vmware.com/download/downloadaddons.html" + einfo + einfo "After configuring, type 'vmplayer' to launch" + einfo + einfo "Also note that when you reboot you should run:" + einfo "/etc/init.d/vmplayer start" + einfo "before trying to run vmplayer. Or you could just add" + einfo "it to the default run level:" + einfo "rc-update add vmplayer default" + echo + ewarn "Remember, in order to run vmplayer, you have to" + ewarn "be in the '${VMWARE_GROUP}' group." + echo + ewarn "VMWare allows for the potential of overwriting files as root. Only" + ewarn "give VMWare access to trusted individuals." + + #ewarn "For users of glibc-2.3.x, vmware-nat support is *still* broken on 2.6.x" +} + +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. Don't forget to rmmod the" + einfo "vm* modules, either." + einfo +} |