summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Ahlberg <aliz@gentoo.org>2003-08-20 12:57:49 +0000
committerDaniel Ahlberg <aliz@gentoo.org>2003-08-20 12:57:49 +0000
commit5e6e53c500b628a434939bf1016f78ccd56371d7 (patch)
tree614dbf17960f35de499656ebfceb3f10dea663d8 /app-emulation/vmware-workstation
parentsecurity update (diff)
downloadhistorical-5e6e53c500b628a434939bf1016f78ccd56371d7.tar.gz
historical-5e6e53c500b628a434939bf1016f78ccd56371d7.tar.bz2
historical-5e6e53c500b628a434939bf1016f78ccd56371d7.zip
security update
Diffstat (limited to 'app-emulation/vmware-workstation')
-rw-r--r--app-emulation/vmware-workstation/Manifest10
-rw-r--r--app-emulation/vmware-workstation/files/3.2.1.2242/90vmware3
-rw-r--r--app-emulation/vmware-workstation/files/3.2.1.2242/VMwareWorkstation.desktop12
-rw-r--r--app-emulation/vmware-workstation/files/3.2.1.2242/vmware73
-rw-r--r--app-emulation/vmware-workstation/files/3.2.1.2242/vmware-config.pl-gcc-generalized.patch60
-rw-r--r--app-emulation/vmware-workstation/files/3.2.1.2242/vmware-glibc-2.3.2-compat.c32
-rw-r--r--app-emulation/vmware-workstation/files/3.2.1.2242/vmware.pngbin0 -> 470 bytes
-rw-r--r--app-emulation/vmware-workstation/files/digest-vmware-workstation-3.2.1.22422
-rw-r--r--app-emulation/vmware-workstation/vmware-workstation-3.2.1.2242.ebuild203
9 files changed, 393 insertions, 2 deletions
diff --git a/app-emulation/vmware-workstation/Manifest b/app-emulation/vmware-workstation/Manifest
index d46ae1282612..c620a0baf9f6 100644
--- a/app-emulation/vmware-workstation/Manifest
+++ b/app-emulation/vmware-workstation/Manifest
@@ -1,5 +1,5 @@
-MD5 68c4a02ed8d38427f6e3b855595a6f66 ChangeLog 5674
-MD5 38482fad2d67002d82c8cfc330d29ed8 vmware-workstation-3.2.1.2242.ebuild 6560
+MD5 28ed0731ed65630a9b31f715e3aad4a6 ChangeLog 5823
+MD5 cd95074f7276824359c5c19445d0be7f vmware-workstation-3.2.1.2242.ebuild 6554
MD5 7d15659cec32303e403cd3f608c4bc7a vmware-workstation-3.2.1.2237.ebuild 5557
MD5 e77ee425ed4c2a8ea4977fabfcbaf0c3 vmware-workstation-3.2.1.2237-r1.ebuild 6560
MD5 4ad8804c374437e7352d432499b8f8de vmware-workstation-4.0.0.4460-r1.ebuild 6455
@@ -14,6 +14,12 @@ MD5 27a9f7cb52f9231cf58c18b7bcd86fb3 files/digest-vmware-workstation-3.2.1.2237-
MD5 f9f95cc2f9ffb785373b238010638654 files/digest-vmware-workstation-4.0.0.4460-r1 158
MD5 4e8d90081d359266fcd07f5c64d5ce67 files/digest-vmware-workstation-4.0.1.5289 158
MD5 a5e34f2f061370a13ec8af7749e57c59 files/vmware-4.0.1.5289.rc 1439
+MD5 48c1667773503fee21a1068da07440b9 files/3.2.1.2242/90vmware 70
+MD5 677d3f162d6bcd8a95494c925c0050fe files/3.2.1.2242/VMwareWorkstation.desktop 241
+MD5 faae7f190d1202294fd20fff2f563ab6 files/3.2.1.2242/vmware 1434
+MD5 3bfb39f5e96f60db67c7246f74c21501 files/3.2.1.2242/vmware-config.pl-gcc-generalized.patch 2948
+MD5 7ca1ec14670b51d8cf824a58bc8d6621 files/3.2.1.2242/vmware.png 470
+MD5 b95a250f31a6d2005176b27b8d48c182 files/3.2.1.2242/vmware-glibc-2.3.2-compat.c 1039
MD5 48c1667773503fee21a1068da07440b9 files/3.2.1.2237/90vmware 70
MD5 677d3f162d6bcd8a95494c925c0050fe files/3.2.1.2237/VMwareWorkstation.desktop 241
MD5 e5ee01e20886aab0ebc2681fa7b26645 files/3.2.1.2237/vmware 1437
diff --git a/app-emulation/vmware-workstation/files/3.2.1.2242/90vmware b/app-emulation/vmware-workstation/files/3.2.1.2242/90vmware
new file mode 100644
index 000000000000..8e00d2bb0587
--- /dev/null
+++ b/app-emulation/vmware-workstation/files/3.2.1.2242/90vmware
@@ -0,0 +1,3 @@
+PATH=/opt/vmware/bin
+ROOTPATH=/opt/vmware/bin
+MANPATH=/opt/vmware/man
diff --git a/app-emulation/vmware-workstation/files/3.2.1.2242/VMwareWorkstation.desktop b/app-emulation/vmware-workstation/files/3.2.1.2242/VMwareWorkstation.desktop
new file mode 100644
index 000000000000..9e42f9c1b4c6
--- /dev/null
+++ b/app-emulation/vmware-workstation/files/3.2.1.2242/VMwareWorkstation.desktop
@@ -0,0 +1,12 @@
+[Desktop Entry]
+Name=VMware Workstation
+Comment=VMware Workstation
+GenericName=Virtual PC Emulator
+Exec=vmware
+Icon=/opt/vmware/lib/icon/vmware.png
+Path=
+Terminal=0
+TerminalOptions=
+Type=Application
+X-KDE-SubstituteUID=false
+X-KDE-Username=
diff --git a/app-emulation/vmware-workstation/files/3.2.1.2242/vmware b/app-emulation/vmware-workstation/files/3.2.1.2242/vmware
new file mode 100644
index 000000000000..8f32d2adb9bc
--- /dev/null
+++ b/app-emulation/vmware-workstation/files/3.2.1.2242/vmware
@@ -0,0 +1,73 @@
+#!/sbin/runscript
+# Copyright 1999-2003 Gentoo Technologies, Inc.
+# Distributed under the terms of the GNU General Public License, v2 or later
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/vmware-workstation/files/3.2.1.2242/vmware,v 1.1 2003/08/20 12:57:37 aliz Exp $
+
+depend() {
+ need localmount
+ use logger net
+}
+
+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-workstation/files/3.2.1.2242/vmware-config.pl-gcc-generalized.patch b/app-emulation/vmware-workstation/files/3.2.1.2242/vmware-config.pl-gcc-generalized.patch
new file mode 100644
index 000000000000..f2a0239f4c7b
--- /dev/null
+++ b/app-emulation/vmware-workstation/files/3.2.1.2242/vmware-config.pl-gcc-generalized.patch
@@ -0,0 +1,60 @@
+--- bin/vmware-config.pl.orig 2002-12-16 12:15:35.000000000 -0500
++++ bin/vmware-config.pl 2002-12-16 13:30:29.000000000 -0500
+@@ -1487,21 +1487,21 @@
+ }
+
+ $gcc_version = direct_command(shell_string($gHelper{'gcc'})
+- . ' --version');
++ . ' -dumpversion');
+ chomp($gcc_version);
+ @gcc_version_num = split(/\./, $gcc_version);
+- if ($gcc_version_num[0] >= 3) {
+- if (get_answer('As of April 2002, gcc version 3 and later is not yet a '
+- . 'supported compiler by the Linux kernel development '
+- . 'team. Have a look at Documentation/Changes in your '
+- . 'kernel source directory to get the correct compiler '
+- . 'installed. Do you want to go with compiler "'
+- . $gHelper{'gcc'} . '" version ' . $gcc_version . '?',
+- 'yesno', 'no') eq 'no') {
+- print wrap('Unable to continue.' . "\n\n", 0);
+- module_error();
+- }
+- }
++# if ($gcc_version_num[0] >= 3) {
++# if (get_answer('As of April 2002, gcc version 3 and later is not yet a '
++# . 'supported compiler by the Linux kernel development '
++# . 'team. Have a look at Documentation/Changes in your '
++# . 'kernel source directory to get the correct compiler '
++# . 'installed. Do you want to go with compiler "'
++# . $gHelper{'gcc'} . '" version ' . $gcc_version . '?',
++# 'yesno', 'no') eq 'no') {
++# print wrap('Unable to continue.' . "\n\n", 0);
++# module_error();
++# }
++# }
+
+ # When installing the modules, kernels 2.4+ setup a symlink to the kernel
+ # source directory
+@@ -1526,6 +1526,22 @@
+ module_error();
+ }
+
++ my $makefile="$build_dir/$name-only/Makefile";
++ my $gcc_replace="";
++ $gcc_version = direct_command(shell_string($gHelper{'gcc'})
++ . ' -dumpversion');
++ chomp($gcc_version);
++ @gcc_version_num = split(/\./, $gcc_version);
++ if ($gcc_version_num[0] >= 3) {
++ $gcc_replace="-e 's:-malign-:-falign-:g'";
++ }
++ system("/usr/bin/cp $makefile $makefile.old");
++ system("/usr/bin/sed" .
++ " -e 's:CC) --version:CC) -dumpversion:'" .
++ " -e 's:-m486:-march=i486:'" .
++ " -e 's:-Wall -Wstrict-prototypes::'" .
++ " $gcc_replace" .
++ " $makefile.old > $makefile");
+ print wrap('Building the ' . $name . ' module.' . "\n\n", 0);
+ if (system(shell_string($gHelper{'make'}) . ' -C ' . shell_string($build_dir . '/' . $name . '-only') . ' auto-build ' . (($gSystem{'smp'} eq 'yes') ? 'SUPPORT_SMP=1 ' : '') . shell_string('HEADER_DIR=' . db_get_answer('HEADER_DIR')) . ' ' . shell_string('CC=' . $gHelper{'gcc'}) . ' ' . shell_string('GREP=' . $gHelper{'grep'}))) {
+ print wrap('Unable to build the ' . $name . ' module.' . "\n\n", 0);
diff --git a/app-emulation/vmware-workstation/files/3.2.1.2242/vmware-glibc-2.3.2-compat.c b/app-emulation/vmware-workstation/files/3.2.1.2242/vmware-glibc-2.3.2-compat.c
new file mode 100644
index 000000000000..3499be2e5972
--- /dev/null
+++ b/app-emulation/vmware-workstation/files/3.2.1.2242/vmware-glibc-2.3.2-compat.c
@@ -0,0 +1,32 @@
+/*
+ * Build with: gcc -W -Wall -shared -o q.so q.c
+ */
+
+#include <dlfcn.h>
+#include <sys/mman.h>
+#include <stdlib.h>
+#include <stdio.h>
+
+void go(void) __attribute__((constructor));
+
+void go(void) {
+ void* qh;
+ unsigned char *__real_errno_location, *__vm_errno_location;
+
+ qh = dlopen("libc.so.6", RTLD_GLOBAL);
+ __real_errno_location = dlsym(qh, "__errno_location");
+ __vm_errno_location = dlsym(NULL, "__errno_location");
+ printf("Got eroloc %p & %p\n", __vm_errno_location, __real_errno_location);
+ if (__real_errno_location && __vm_errno_location && __real_errno_location != __vm_errno_location) {
+ unsigned int errnobase = (int)__vm_errno_location;
+ unsigned int mpbase = errnobase & ~0xFFF;
+ unsigned int mplen = 4096;
+ if (errnobase + 5 > mpbase + mplen) {
+ mplen = mplen + 4096;
+ }
+ mprotect((void*)mpbase, mplen, PROT_READ|PROT_WRITE|PROT_EXEC);
+ *__vm_errno_location = 0xE9;
+ *(int*)(__vm_errno_location + 1) = __real_errno_location - __vm_errno_location - 5;
+ mprotect((void*)mpbase, mplen, PROT_READ|PROT_EXEC);
+ }
+}
diff --git a/app-emulation/vmware-workstation/files/3.2.1.2242/vmware.png b/app-emulation/vmware-workstation/files/3.2.1.2242/vmware.png
new file mode 100644
index 000000000000..06672aa3f0bf
--- /dev/null
+++ b/app-emulation/vmware-workstation/files/3.2.1.2242/vmware.png
Binary files differ
diff --git a/app-emulation/vmware-workstation/files/digest-vmware-workstation-3.2.1.2242 b/app-emulation/vmware-workstation/files/digest-vmware-workstation-3.2.1.2242
new file mode 100644
index 000000000000..fb628ebc2c2f
--- /dev/null
+++ b/app-emulation/vmware-workstation/files/digest-vmware-workstation-3.2.1.2242
@@ -0,0 +1,2 @@
+MD5 56dccf022582a374cf2eac06796115cf VMware-workstation-3.2.1-2242.tar.gz 12577292
+MD5 3643c9d1297443dc980f7bfc4caa577d vmware-any-any-update38.tar.gz 186190
diff --git a/app-emulation/vmware-workstation/vmware-workstation-3.2.1.2242.ebuild b/app-emulation/vmware-workstation/vmware-workstation-3.2.1.2242.ebuild
new file mode 100644
index 000000000000..abec840c163f
--- /dev/null
+++ b/app-emulation/vmware-workstation/vmware-workstation-3.2.1.2242.ebuild
@@ -0,0 +1,203 @@
+# Copyright 1999-2003 Gentoo Technologies, Inc.
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/vmware-workstation/vmware-workstation-3.2.1.2242.ebuild,v 1.1 2003/08/20 12:57:37 aliz Exp $
+
+# 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.
+
+inherit gcc eutils
+
+S=${WORKDIR}/vmware-distrib
+N26KernSupport=vmware-any-any-update38
+NP="VMware-workstation-3.2.1-2242"
+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/${NP}.tar.gz
+ http://www.vmware.com/download1/software/${NP}.tar.gz
+ ftp://download1.vmware.com/pub/software/${NP}.tar.gz
+ http://vmware-chil.www.conxion.com/software/${NP}.tar.gz
+ http://vmware-heva.www.conxion.com/software/${NP}.tar.gz
+ http://vmware.wespe.de/software/${NP}.tar.gz
+ ftp://vmware.wespe.de/pub/software/${NP}.tar.gz
+ http://ftp.cvut.cz/vmware/${N26KernSupport}.tar.gz
+ http://knihovny.cvut.cz/ftp/pub/vmware/${N26KernSupport}.tar.gz"
+
+LICENSE="vmware"
+SLOT="0"
+KEYWORDS="-* x86"
+IUSE="kde"
+RESTRICT="nostrip"
+
+DEPEND="virtual/glibc
+ virtual/x11
+ sys-kernel/linux-headers
+ >=dev-lang/perl-5
+ >=dev-lang/tcl-8.3.3"
+
+has_version \<sys-libs/glibc-2.3.2 \
+ && GLIBC_232=0 \
+ || GLIBC_232=1
+
+src_unpack() {
+ check_KV
+ unpack ${NP}.tar.gz
+ if [ "${KV:0:3}" == "2.6" ] || [ "${KV:0:3}" == "2.5" ] ; then
+ unpack ${N26KernSupport}.tar.gz
+ mv ${N26KernSupport}/*.tar ${S}/lib/modules/source/
+ fi
+}
+
+src_compile() {
+ if [ ${GLIBC_232} -eq 1 ] ; then
+ $(gcc-getCC) -W -Wall -shared -o vmware-glibc-2.3.2-compat.so \
+ ${FILESDIR}/${PV}/vmware-glibc-2.3.2-compat.c \
+ || die "could not make module"
+ else
+ return 0
+ fi
+}
+
+src_install() {
+ # lets make gcc happy regardless of what version we're using
+ epatch ${FILESDIR}/${PV}/vmware-config.pl-gcc-generalized.patch
+
+ 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 -rf ${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}/${PV}/vmware vmware
+
+ # vmware enviroment
+ insinto /etc/env.d
+ doins ${FILESDIR}/${PV}/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.
+ keepdir /etc/vmware/init.d/rc{0,1,2,3,4,5,6}.d
+
+ # A simple icon I made
+ dodir /opt/vmware/lib/icon
+ insinto /opt/vmware/lib/icon
+ doins ${FILESDIR}/${PV}/vmware.png
+
+ if [ "`use kde`" ] ; then
+ dodir /usr/share/applnk/Applications
+ insinto /usr/share/applnk/Applications
+ doins "${FILESDIR}/${PV}/VMwareWorkstation.desktop"
+ fi
+
+ # 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}
+
+ if [ ${GLIBC_232} -eq 1 ] ; then
+ dolib.so vmware-glibc-2.3.2-compat.so
+ cd ${D}/opt/vmware/lib/bin
+ mv vmware-ui{,.bin}
+ mv vmware-mks{,.bin}
+ echo '#!/bin/sh' > vmware-ui
+ echo 'LD_PRELOAD=vmware-glibc-2.3.2-compat.so exec "$0.bin" "$@"' >> vmware-ui
+ chmod a+x vmware-ui
+ cp vmware-{ui,mks}
+ else
+ return 0
+ fi
+}
+
+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 ${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
+ find ${D}${x} -printf %T@ >> ${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
+ einfo "You need to run /opt/vmware/bin/vmware-config.pl to complete the install."
+ einfo
+ einfo "For VMware Add-Ons just visit"
+ einfo "http://www.vmware.com/download/downloadaddons.html"
+}
+
+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
+}