summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog14
-rw-r--r--app-emulation/vmware-player/files/vmware-player-1.0.1.19317-config.patch31
-rw-r--r--app-emulation/vmware-player/files/vmware-player-1.0.1.19317-config2.patch15
-rw-r--r--app-emulation/vmware-player/files/vmware-player-1.0.1.19317-config3.patch12
-rw-r--r--app-emulation/vmware-player/vmware-player-1.0.1.19317-r3.ebuild247
-rw-r--r--app-emulation/vmware-player/vmware-player-1.0.1.19317-r4.ebuild7
-rw-r--r--app-emulation/vmware-workstation-tools/vmware-workstation-tools-4.5.3.ebuild5
-rw-r--r--app-emulation/vmware-workstation/files/vmware-workstation-5.5.1.19175-config.patch31
-rw-r--r--app-emulation/vmware-workstation/files/vmware-workstation-5.5.1.19175-config2.patch15
-rw-r--r--app-emulation/vmware-workstation/files/vmware-workstation-5.5.1.19175-config3.patch12
-rw-r--r--app-emulation/vmware-workstation/vmware-workstation-5.5.1.19175-r3.ebuild256
-rw-r--r--app-emulation/vmware-workstation/vmware-workstation-5.5.1.19175-r4.ebuild59
-rw-r--r--eclass/vmware.eclass122
13 files changed, 753 insertions, 73 deletions
diff --git a/ChangeLog b/ChangeLog
index 89e0d8c..f2e0bcf 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,6 +2,20 @@
# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
# $ Id: $
+ 01 Jun 2006; Chris Gianelloni <wolf31o2@gentoo.org> ChangeLog:
+ Restored older (working) vmware-workstation and vmware-player ebuilds. I also
+ masked the newer revisions of the ebuilds for both until I can get everything
+ into the eclass like I want. They ebuilds *shold* work, but I make no
+ guarantees.
+
+ Some other changes:
+
+ * Removed erroneous DEPEND from vmware-workstation-tools
+ * Updated eclass to work with either a patch directory or the PATCHES variable
+ * Started on src_install for the eclass
+ * fixed a few typos here and there
+ * Added lots more comments to the eclass
+
28 May 2006; Mike Auty <ikelos@gentoo.org> :
Ok, a lot of changes this time round:
diff --git a/app-emulation/vmware-player/files/vmware-player-1.0.1.19317-config.patch b/app-emulation/vmware-player/files/vmware-player-1.0.1.19317-config.patch
new file mode 100644
index 0000000..1d864f7
--- /dev/null
+++ b/app-emulation/vmware-player/files/vmware-player-1.0.1.19317-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-player-1.0.1.19317-config2.patch b/app-emulation/vmware-player/files/vmware-player-1.0.1.19317-config2.patch
new file mode 100644
index 0000000..e646b7b
--- /dev/null
+++ b/app-emulation/vmware-player/files/vmware-player-1.0.1.19317-config2.patch
@@ -0,0 +1,15 @@
+diff -urN vmware-distrib.orig/bin/vmware-config.pl vmware-distrib/bin/vmware-config.pl
+--- vmware-distrib.orig/bin/vmware-config.pl 2005-12-16 00:51:03.000000000 -0500
++++ vmware-distrib/bin/vmware-config.pl 2005-12-21 14:34:03.000000000 -0500
+@@ -7327,7 +7327,10 @@
+ error('Unable to write configuration file "' . $name . '".' . "\n\n");
+ }
+ db_add_file($name, 0x1);
+- safe_chmod(0644, $name);
++ safe_chmod(0664, $name);
++ my $gid = (getgrnam('vmware'))[2];
++ my $uid = (stat($name))[4];
++ safe_chown($uid,$gid,$name);
+
+ # Append the promotional configuration if it exists
+ $promoconfig = $libdir . '/configurator/PROMOCONFIG';
diff --git a/app-emulation/vmware-player/files/vmware-player-1.0.1.19317-config3.patch b/app-emulation/vmware-player/files/vmware-player-1.0.1.19317-config3.patch
new file mode 100644
index 0000000..f700f5d
--- /dev/null
+++ b/app-emulation/vmware-player/files/vmware-player-1.0.1.19317-config3.patch
@@ -0,0 +1,12 @@
+diff -ur vmware-distrib.orig/bin/vmware-config.pl vmware-distrib/bin/vmware-config.pl
+--- vmware-distrib.orig/bin/vmware-config.pl 2006-03-24 23:13:05.000000000 +0100
++++ vmware-distrib/bin/vmware-config.pl 2006-03-24 23:26:40.000000000 +0100
+@@ -1969,7 +1969,7 @@
+ . ' -E - | ' . shell_string($gHelper{'grep'}) . ' '
+ . shell_string($pattern));
+ chomp($header_page_offset);
+- $header_page_offset =~ s/^$pattern \(?0x([0-9a-fA-F]{8,}).*$/$1/;
++ $header_page_offset =~ s/^$pattern \(?(\([^)]*\))?\)?0x([0-9a-fA-F]{8,}).*$/$2/;
+ if ($header_page_offset =~ /[0-9a-fA-F]{8,}/) {
+ # We found a valid page offset
+ if (defined($gSystem{'page_offset'}) and
diff --git a/app-emulation/vmware-player/vmware-player-1.0.1.19317-r3.ebuild b/app-emulation/vmware-player/vmware-player-1.0.1.19317-r3.ebuild
new file mode 100644
index 0000000..ff00f79
--- /dev/null
+++ b/app-emulation/vmware-player/vmware-player-1.0.1.19317-r3.ebuild
@@ -0,0 +1,247 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/vmware-player/vmware-player-1.0.1.19317-r3.ebuild,v 1.2 2006/05/23 20:59:29 wolf31o2 Exp $
+
+# 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-update101"
+NP="VMware-player-1.0.1-19317"
+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
+ http://ftp.cvut.cz/vmware/${ANY_ANY}.tar.gz
+ http://ftp.cvut.cz/vmware/obselete/${ANY_ANY}.tar.gz
+ http://knihovny.cvut.cz/ftp/pub/vmware/${ANY_ANY}.tar.gz
+ http://knihovny.cvut.cz/ftp/pub/vmware/obselete/${ANY_ANY}.tar.gz
+ mirror://gentoo/vmware.png"
+
+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-gtklibs )
+ x86? (
+ || (
+ (
+ x11-libs/libXrandr
+ x11-libs/libXcursor
+ x11-libs/libXinerama
+ x11-libs/libXi )
+ virtual/x11 )
+ virtual/xft )
+ >=dev-lang/perl-5
+ !app-emulation/vmware-workstation
+ 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
+ epatch ${FILESDIR}/${P}-config2.patch
+ epatch ${FILESDIR}/${P}-config3.patch
+ unpack ${ANY_ANY}.tar.gz
+ mv -f ${ANY_ANY}/*.tar ${S}/lib/modules/source/
+ cd ${S}/${ANY_ANY}
+ chmod 755 ../lib/bin/vmplayer ../bin/vmnet-bridge ../lib/bin/vmware-vmx \
+ ../lib/bin-debug/vmware-vmx
+ # vmware any98 still doesn't patch the vmware binary
+# ./update vmware ../lib/bin/vmware || die
+# ./update bridge ../bin/vmnet-bridge || die
+# ./update vmx ../lib/bin/vmware-vmx || die
+# ./update vmxdebug ../lib/bin-debug/vmware-vmx || die
+
+}
+
+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
+
+ dodir /etc/vmware
+ # this makes the vmware-vmx executable only executable by vmware group
+ fowners root:vmware ${dir}/lib/bin{,-debug}/vmware-vmx /etc/vmware \
+ || die "Changing permissions"
+ fperms 4750 ${dir}/lib/bin{,-debug}/vmware-vmx || die
+ fperms 770 /etc/vmware || 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/vmware start"
+ einfo "before trying to run vmplayer. Or you could just add"
+ einfo "it to the default run level:"
+ einfo "rc-update add vmware 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
+}
diff --git a/app-emulation/vmware-player/vmware-player-1.0.1.19317-r4.ebuild b/app-emulation/vmware-player/vmware-player-1.0.1.19317-r4.ebuild
index 158d87d..6c69b97 100644
--- a/app-emulation/vmware-player/vmware-player-1.0.1.19317-r4.ebuild
+++ b/app-emulation/vmware-player/vmware-player-1.0.1.19317-r4.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/app-emulation/vmware-player/vmware-player-1.0.1.19317-r3.ebuild,v 1.1 2006/04/17 14:04:03 wolf31o2 Exp $
+# $Header: $
# 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
@@ -18,10 +18,9 @@ SRC_URI="http://download3.vmware.com/software/vmplayer/${MY_P}.tar.gz
LICENSE="vmware"
IUSE=""
SLOT="0"
-KEYWORDS="-* ~amd64 ~x86"
-RESTRICT="nostrip" # fetch"
+KEYWORDS="-*"
+RESTRICT="strip" # fetch"
-ANY_ANY=""
VMWARE_VME="VME_V55"
DEPEND="${RDEPEND} virtual/os-headers
diff --git a/app-emulation/vmware-workstation-tools/vmware-workstation-tools-4.5.3.ebuild b/app-emulation/vmware-workstation-tools/vmware-workstation-tools-4.5.3.ebuild
index 9663e2b..7c83962 100644
--- a/app-emulation/vmware-workstation-tools/vmware-workstation-tools-4.5.3.ebuild
+++ b/app-emulation/vmware-workstation-tools/vmware-workstation-tools-4.5.3.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/app-emulation/vmware-workstation-tools/vmware-workstation-tools-4.5.2.ebuild,v 1.3 2006/05/08 13:56:33 wolf31o2 Exp $
+# $Header: $
inherit vmware eutils
@@ -17,11 +17,10 @@ SRC_URI="http://ftp.cvut.cz/vmware/${ANY_ANY}.tar.gz
LICENSE="vmware"
SLOT="0"
-KEYWORDS="~x86"
+KEYWORDS="-* ~x86"
IUSE="X"
RESTRICT="strip"
-DEPEND=""
RDEPEND="sys-apps/pciutils"
dir=/opt/vmware/tools
diff --git a/app-emulation/vmware-workstation/files/vmware-workstation-5.5.1.19175-config.patch b/app-emulation/vmware-workstation/files/vmware-workstation-5.5.1.19175-config.patch
new file mode 100644
index 0000000..1d864f7
--- /dev/null
+++ b/app-emulation/vmware-workstation/files/vmware-workstation-5.5.1.19175-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-workstation/files/vmware-workstation-5.5.1.19175-config2.patch b/app-emulation/vmware-workstation/files/vmware-workstation-5.5.1.19175-config2.patch
new file mode 100644
index 0000000..e646b7b
--- /dev/null
+++ b/app-emulation/vmware-workstation/files/vmware-workstation-5.5.1.19175-config2.patch
@@ -0,0 +1,15 @@
+diff -urN vmware-distrib.orig/bin/vmware-config.pl vmware-distrib/bin/vmware-config.pl
+--- vmware-distrib.orig/bin/vmware-config.pl 2005-12-16 00:51:03.000000000 -0500
++++ vmware-distrib/bin/vmware-config.pl 2005-12-21 14:34:03.000000000 -0500
+@@ -7327,7 +7327,10 @@
+ error('Unable to write configuration file "' . $name . '".' . "\n\n");
+ }
+ db_add_file($name, 0x1);
+- safe_chmod(0644, $name);
++ safe_chmod(0664, $name);
++ my $gid = (getgrnam('vmware'))[2];
++ my $uid = (stat($name))[4];
++ safe_chown($uid,$gid,$name);
+
+ # Append the promotional configuration if it exists
+ $promoconfig = $libdir . '/configurator/PROMOCONFIG';
diff --git a/app-emulation/vmware-workstation/files/vmware-workstation-5.5.1.19175-config3.patch b/app-emulation/vmware-workstation/files/vmware-workstation-5.5.1.19175-config3.patch
new file mode 100644
index 0000000..f700f5d
--- /dev/null
+++ b/app-emulation/vmware-workstation/files/vmware-workstation-5.5.1.19175-config3.patch
@@ -0,0 +1,12 @@
+diff -ur vmware-distrib.orig/bin/vmware-config.pl vmware-distrib/bin/vmware-config.pl
+--- vmware-distrib.orig/bin/vmware-config.pl 2006-03-24 23:13:05.000000000 +0100
++++ vmware-distrib/bin/vmware-config.pl 2006-03-24 23:26:40.000000000 +0100
+@@ -1969,7 +1969,7 @@
+ . ' -E - | ' . shell_string($gHelper{'grep'}) . ' '
+ . shell_string($pattern));
+ chomp($header_page_offset);
+- $header_page_offset =~ s/^$pattern \(?0x([0-9a-fA-F]{8,}).*$/$1/;
++ $header_page_offset =~ s/^$pattern \(?(\([^)]*\))?\)?0x([0-9a-fA-F]{8,}).*$/$2/;
+ if ($header_page_offset =~ /[0-9a-fA-F]{8,}/) {
+ # We found a valid page offset
+ if (defined($gSystem{'page_offset'}) and
diff --git a/app-emulation/vmware-workstation/vmware-workstation-5.5.1.19175-r3.ebuild b/app-emulation/vmware-workstation/vmware-workstation-5.5.1.19175-r3.ebuild
new file mode 100644
index 0000000..4af04a7
--- /dev/null
+++ b/app-emulation/vmware-workstation/vmware-workstation-5.5.1.19175-r3.ebuild
@@ -0,0 +1,256 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/vmware-workstation/vmware-workstation-5.5.1.19175-r3.ebuild,v 1.2 2006/04/17 18:31:49 wolf31o2 Exp $
+
+# 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-distrib
+ANY_ANY="vmware-any-any-update101"
+NP="VMware-workstation-5.5.1-19175"
+DESCRIPTION="Emulate a complete PC on your PC without the usual performance overhead of most emulators"
+HOMEPAGE="http://www.vmware.com/products/desktop/ws_features.html"
+SRC_URI="http://vmware-svca.www.conxion.com/software/wkst/${NP}.tar.gz
+ http://download3.vmware.com/software/wkst/${NP}.tar.gz
+ http://download.vmware.com/htdocs/software/wkst/${NP}.tar.gz
+ http://www.vmware.com/download1/software/wkst/${NP}.tar.gz
+ ftp://download1.vmware.com/pub/software/wkst/${NP}.tar.gz
+ http://vmware-chil.www.conxion.com/software/wkst/${NP}.tar.gz
+ http://vmware-heva.www.conxion.com/software/wkst/${NP}.tar.gz
+ http://vmware.wespe.de/software/wkst/${NP}.tar.gz
+ ftp://vmware.wespe.de/pub/software/wkst/${NP}.tar.gz
+ http://ftp.cvut.cz/vmware/${ANY_ANY}.tar.gz
+ http://ftp.cvut.cz/vmware/obselete/${ANY_ANY}.tar.gz
+ http://knihovny.cvut.cz/ftp/pub/vmware/${ANY_ANY}.tar.gz
+ http://knihovny.cvut.cz/ftp/pub/vmware/obselete/${ANY_ANY}.tar.gz"
+
+LICENSE="vmware"
+IUSE=""
+SLOT="0"
+KEYWORDS="-* amd64 x86"
+RESTRICT="nostrip"
+
+DEPEND="${RDEPEND} virtual/os-headers"
+# vmware-workstation 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-gtklibs )
+ x86? (
+ || (
+ (
+ x11-libs/libXrandr
+ x11-libs/libXcursor
+ x11-libs/libXinerama
+ x11-libs/libXi )
+ virtual/x11 )
+ virtual/xft )
+ >=dev-lang/perl-5
+ !app-emulation/vmware-player
+ sys-apps/pciutils"
+# >=sys-apps/baselayout-1.11.14"
+
+dir=/opt/vmware/workstation
+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
+ epatch ${FILESDIR}/${P}-config.patch
+ # patch the config to make /etc/vmware/config writable
+ epatch ${FILESDIR}/${P}-config2.patch
+ epatch ${FILESDIR}/${P}-config3.patch
+ unpack ${ANY_ANY}.tar.gz
+ mv -f ${ANY_ANY}/*.tar ${S}/lib/modules/source/
+ cd ${S}/${ANY_ANY}
+ chmod 755 ../lib/bin/vmware ../bin/vmnet-bridge ../lib/bin/vmware-vmx ../lib/bin-debug/vmware-vmx
+ # vmware any98 still doesn't patch the vmware binary
+ #./update vmware ../lib/bin/vmware || die
+ #./update bridge ../bin/vmnet-bridge || die
+ #./update vmx ../lib/bin/vmware-vmx || die
+ #./update vmxdebug ../lib/bin-debug/vmware-vmx || die
+}
+
+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"
+
+ doman ${S}/man/man1/vmware.1.gz || die "doman"
+
+ # vmware service loader
+ newinitd ${FILESDIR}/vmware.rc vmware || die "newinitd"
+
+ # vmware enviroment
+ doenvd ${FILESDIR}/90vmware-workstation || 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 vmware "VMWare Workstation" ${PN}.png
+
+ dodir /usr/bin
+ dosym ${dir}/bin/vmware /usr/bin/vmware
+
+ # this removes the user/group warnings
+ chown -R root:0 ${D} || die
+
+ dodir /etc/vmware
+ # this makes the vmware-vmx executable only executable by vmware group
+ fowners root:vmware ${dir}/lib/bin{,-debug}/vmware-vmx /etc/vmware \
+ || die "Changing permissions"
+ fperms 4750 ${dir}/lib/bin{,-debug}/vmware-vmx || die
+ fperms 770 /etc/vmware || 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/workstation/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
+ [ -d /etc/vmware ] && chown -R root:vmware /etc/vmware
+
+ # 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 'vmware' to launch"
+ einfo
+ einfo "Also note that when you reboot you should run:"
+ einfo "/etc/init.d/vmware start"
+ einfo "before trying to run vmware. Or you could just add"
+ einfo "it to the default run level:"
+ einfo "rc-update add vmware default"
+ echo
+ ewarn "Remember, in order to run vmware, 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
+}
diff --git a/app-emulation/vmware-workstation/vmware-workstation-5.5.1.19175-r4.ebuild b/app-emulation/vmware-workstation/vmware-workstation-5.5.1.19175-r4.ebuild
index 150f50f..a2966f3 100644
--- a/app-emulation/vmware-workstation/vmware-workstation-5.5.1.19175-r4.ebuild
+++ b/app-emulation/vmware-workstation/vmware-workstation-5.5.1.19175-r4.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $ Id: $
+# $Header: $
# 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
@@ -25,13 +25,12 @@ SRC_URI="http://vmware-svca.www.conxion.com/software/wkst/${MY_P}.tar.gz
LICENSE="vmware"
IUSE=""
SLOT="0"
-KEYWORDS="-* amd64 x86"
-RESTRICT="nostrip"
+KEYWORDS="-*"
+RESTRICT="strip"
-ANY_ANY=""
VMWARE_VME="VME_V55"
-DEPEND="${RDEPEND} virtual/os-headers"
+DEPEND="virtual/os-headers"
# vmware-workstation should not use virtual/libc as this is a
# precompiled binary package thats linked to glibc.
RDEPEND="sys-libs/glibc
@@ -50,16 +49,12 @@ RDEPEND="sys-libs/glibc
!app-emulation/vmware-player
!app-emulation/vmware-server
sys-apps/pciutils"
-# >=sys-apps/baselayout-1.11.14"
PDEPEND="app-emulation/vmware-modules"
S=${WORKDIR}/vmware-distrib
-dir=/opt/vmware/workstation
-Ddir=${D}/${dir}
-
-PATCHES="config.patch config2.patch config3.patch"
RUN_UPDATE="no"
+dir=/opt/vmware/workstation
pkg_setup() {
vmware_test_module_build
@@ -67,52 +62,17 @@ pkg_setup() {
}
src_install() {
- dodir ${dir}/bin
- cp -pPR bin/* ${Ddir}/bin
-
- dodir ${dir}/lib
- cp -dr lib/* ${Ddir}/lib
+ not-vmware_src_install
- # 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"
-
- doman ${S}/man/man1/vmware.1.gz || die "doman"
-
- # vmware service loader
- newinitd ${FILESDIR}/vmware.rc vmware || die "newinitd"
-
- # vmware enviroment
- doenvd ${FILESDIR}/90vmware-workstation || die "doenvd"
-
- dodir /etc/vmware/
- cp -pPR etc/* ${D}/etc/vmware/
-
- vmware_create_initd
-
- 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
- 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 vmware "VMWare Workstation" ${PN}.png
dodir /usr/bin
@@ -127,13 +87,6 @@ src_install() {
|| die "Changing permissions"
fperms 4750 ${dir}/lib/bin{,-debug}/vmware-vmx || die
fperms 770 /etc/vmware || die
-
- vmware_run_questions
-}
-
-pkg_config() {
- einfo "Running ${dir}/bin/vmware-config.pl"
- ${dir}/bin/vmware-config.pl
}
pkg_postinst() {
diff --git a/eclass/vmware.eclass b/eclass/vmware.eclass
index 035bceb..42280e9 100644
--- a/eclass/vmware.eclass
+++ b/eclass/vmware.eclass
@@ -5,6 +5,8 @@
# This eclass is for all vmware-* ebuilds in the tree and should contain all
# of the common components across the multiple packages.
+# Only one package per "product" is allowed to be installed at any given time.
+
inherit eutils
EXPORT_FUNCTIONS pkg_preinst pkg_postinst pkg_setup src_unpack
@@ -12,29 +14,22 @@ EXPORT_FUNCTIONS pkg_preinst pkg_postinst pkg_setup src_unpack
export ANY_ANY="vmware-any-any-update101"
#export TOOLS_ANY="vmware-tools-any-update1"
export VMWARE_GROUP=${VMWARE_GROUP:-vmware}
+export Ddir=${D}/${dir}
vmware_test_module_failed() {
- eerror
- eerror "Please run:"
- eerror
- eerror " emerge -C app-emulation/vmware-modules"
- eerror
- eerror "before attemping to install this package"
- die "Please run 'emerge -C app-emulation/vmware-modules' before continuing"
+ eerror "You have an incompatible version of app-emulation/vmware-modules installed!"
+ echo
+ die "Please run 'emerge -C app-emulation/vmware-modules' before continuing"
}
vmware_test_module_build() {
if has_version "app-emulation/vmware-modules"; then
if test ! -e /opt/vmware/module-build; then
- eerror
- eerror "Unable to determine which package"
- eerror "the vmware-modules were compiled for"
+ eerror "Unable to determine which package the vmware-modules were compiled for"
vmware_test_module_failed
else
if test "`cat /opt/vmware/module-build`" != $VMWARE_VME; then
- eerror
- eerror "The vmware-modules on this system were"
- eerror "built for a different version of vmware"
+ eerror "The vmware-modules on this system were built for a different version of vmware"
vmware_test_module_failed
fi
fi
@@ -97,9 +92,14 @@ vmware_pkg_setup() {
cdrom_get_cds ${TARBALL}
;;
esac
+ # Here we should be doing a test_module_build, as all vmware products need
+ # modules compiled. This is commented until we can get both the products
+ # and the tools using the same build system.
+ #vmware_test_module_build
}
vmware_src_unpack() {
+ # If there is anything to unpack, at all, then we should be using MY_P.
if [[ -n "${MY_P}" ]]
then
unpack "${MY_P}".tar.gz
@@ -109,6 +109,14 @@ vmware_src_unpack() {
EPATCH_SUFFIX="patch"
epatch ${FILESDIR}/${PV}
fi
+ if [[ -n "${PATCHES}" ]]
+ then
+ for patch in ${PATCHES}
+ do
+ epatch ${FILESDIR}/${patch}
+ done
+ fi
+
if [[ -n "${ANY_ANY}" ]]
then
unpack ${ANY_ANY}.tar.gz
@@ -134,6 +142,94 @@ vmware_src_unpack() {
fi
}
+# This will need to be renamed once it is fully functional.
+not-vmware_src_install() {
+ # We won't want any perl scripts from VMware once we've finally got all
+ # of the configuration done, but for now, they're necessary.
+ #rm -f bin/*.pl
+
+ # As backwards as this seems, we're installing our icons first.
+ if [[ -e lib/share/icons/48x48/apps/${PN}.png ]]
+ then
+ doicon lib/share/icons/48x48/apps/${PN}.png
+ elif [[ -e doc/icon48x48.png ]]
+ then
+ newicon doc/icon48x48.png ${PN}.png
+ elif [[ -e ${DISTDIR}/${product}.png ]]
+ then
+ newicon ${DISTDIR}/${product}.png ${PN}.png
+ fi
+
+ # 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 ${dir}/lib/modules/binary
+ # We also don't need to keep the icons around, or do we?
+ #rm -rf ${dir}/lib/share/icons
+
+ # Just like any good monkey, we install the documentation and man pages.
+ [[ -d doc ]] && dodoc doc/*
+ for x in man/*
+ do
+ doman man/${x}/* || die "doman"
+ done
+
+ # We loop through our directories and copy everything to our system.
+ for x in bin lib sbin
+ do
+ if [[ -e ${S}/${x} ]]
+ then
+ dodir ${dir}/${x}
+ cp -pPR ${x}/* ${Ddir}/${x} || die "copying ${x}"
+ fi
+ done
+
+ # If we have an /etc directory, we copy it.
+ if [[ -e ${S}/etc ]]
+ then
+ dodir /etc/${product}
+ cp -pPR etc/* ${D}/etc/${product}
+ fi
+
+ # If we have any helper files, we install them. First, we check for an
+ # init script.
+ if [[ ${FILESDIR}/${PN}.rc ]]
+ then
+ newinitd ${FILESDIR}/${PN}.rc ${product} || die "newinitd"
+ fi
+ # Then we check for an environment file.
+ if [[ ${FILESDIR}/90${product} ]]
+ then
+ doenvd ${FILESDIR}/90${product} || die "doenvd"
+ fi
+ # Last, we check for any mime files.
+ if [[ ${FILESDIR}/${product}.xml ]]
+ then
+ insinto /usr/share/mime/packages
+ doins ${FILESDIR}/${product}.xml || die "mimetypes"
+ fi
+
+ # Blame bug #91191 for this one.
+ if [[ -e doc/EULA ]]
+ then
+ insinto ${dir}/doc
+ doins doc/EULA || die "copying EULA"
+ fi
+
+ # TODO: Replace this junk
+ # Everything after this point will hopefully go away once we can rid
+ # ourselves of the evil perl configuration scripts.
+
+ # We have to create a bunch of rc directories for the init script
+ vmware_create_initd || die "creating rc directories"
+
+ # Now, we copy in our services.sh file
+ exeinto /etc/${product}/init.d
+ newexe ${ANY_ANY}/services.sh ${product} || die "services.sh"
+
+ # Finally, we run the "questions"
+ vmware_run_questions || die "running questions"
+}
+
vmware_pkg_preinst() {
# This must be done after the install to get the mtimes on each file
# right.