Initial import. Original ebuild by Eric Edgar <rocket@gentoo.org> and modified by...
authorChris Gianelloni <wolf31o2@gentoo.org>
Tue, 29 Nov 2005 15:17:26 +0000 (15:17 +0000)
committerChris Gianelloni <wolf31o2@gentoo.org>
Tue, 29 Nov 2005 15:17:26 +0000 (15:17 +0000)
Package-Manager: portage-2.0.53_rc7

app-emulation/vmware-player/ChangeLog [new file with mode: 0644]
app-emulation/vmware-player/Manifest [new file with mode: 0644]
app-emulation/vmware-player/files/90vmware-player [new file with mode: 0644]
app-emulation/vmware-player/files/digest-vmware-player-1.0.0.18007 [new file with mode: 0644]
app-emulation/vmware-player/files/vmware-player-1.0.0.18007-config.patch [new file with mode: 0644]
app-emulation/vmware-player/files/vmware.rc [new file with mode: 0644]
app-emulation/vmware-player/files/vmware.xml [new file with mode: 0644]
app-emulation/vmware-player/metadata.xml [new file with mode: 0644]
app-emulation/vmware-player/vmware-player-1.0.0.18007.ebuild [new file with mode: 0644]

diff --git a/app-emulation/vmware-player/ChangeLog b/app-emulation/vmware-player/ChangeLog
new file mode 100644 (file)
index 0000000..bb03429
--- /dev/null
@@ -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 (file)
index 0000000..0842806
--- /dev/null
@@ -0,0 +1,8 @@
+MD5 0fe8eb2567d9e3fca04dba2bf0ae1ea6 ChangeLog 646
+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 10665536157729f47cf5417aa951316a files/vmware.rc 1412
+MD5 aa1b576735134579f04b29763901dc4f files/vmware.xml 1592
+MD5 7cc95faad4185e8ed375248bc73a17fc metadata.xml 159
+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 (file)
index 0000000..3ff865b
--- /dev/null
@@ -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 (file)
index 0000000..69dbaf9
--- /dev/null
@@ -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 (file)
index 0000000..1d864f7
--- /dev/null
@@ -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 (file)
index 0000000..20c1b95
--- /dev/null
@@ -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/^\(.*\)\e.*$/\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 (file)
index 0000000..8d5e2ef
--- /dev/null
@@ -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='&lt;Foundry version="1"&gt;' offset="0">
+    <match type="string" value="&lt;VMTeam&gt;" 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='&lt;Foundry version="1"&gt;' offset="0">
+    <match type="string" value="&lt;VM&gt;" 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 (file)
index 0000000..3260ec5
--- /dev/null
@@ -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 (file)
index 0000000..a34baae
--- /dev/null
@@ -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
+}