diff options
author | Mike Auty <ikelos@gentoo.org> | 2008-11-09 20:56:55 +0000 |
---|---|---|
committer | Mike Auty <ikelos@gentoo.org> | 2008-11-09 20:56:55 +0000 |
commit | dd6d2e809ac45d63bc741f7181447b0cc4de9201 (patch) | |
tree | 64b49ea957b26f55b3a3abdae774ef139c8e0507 /app-emulation | |
parent | - little bump for object renaming and making raw event types of 0 shutup (diff) | |
download | gentoo-2-dd6d2e809ac45d63bc741f7181447b0cc4de9201.tar.gz gentoo-2-dd6d2e809ac45d63bc741f7181447b0cc4de9201.tar.bz2 gentoo-2-dd6d2e809ac45d63bc741f7181447b0cc4de9201.zip |
Add in vmware-workstation 5.5.9 and introduce 6.5.0 for bug 245941.
(Portage version: 2.2_rc13/cvs/Linux 2.6.27-gentoo-r1 i686)
Diffstat (limited to 'app-emulation')
15 files changed, 653 insertions, 1 deletions
diff --git a/app-emulation/vmware-workstation/ChangeLog b/app-emulation/vmware-workstation/ChangeLog index 5bd472c69b13..88025dbb4081 100644 --- a/app-emulation/vmware-workstation/ChangeLog +++ b/app-emulation/vmware-workstation/ChangeLog @@ -1,6 +1,26 @@ # ChangeLog for app-emulation/vmware-workstation # Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/app-emulation/vmware-workstation/ChangeLog,v 1.183 2008/09/30 16:44:18 ikelos Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-emulation/vmware-workstation/ChangeLog,v 1.184 2008/11/09 20:56:55 ikelos Exp $ + +*vmware-workstation-6.5.0.118166 (09 Nov 2008) +*vmware-workstation-5.5.9.126128 (09 Nov 2008) + + 09 Nov 2008; Mike Auty <ikelos@gentoo.org> + +files/5.5.9.126128/000_all_initd-location.patch, + +files/5.5.9.126128/002_all_pagebreak-detection-fix.patch, + +files/6.5.0.118166/vmware-player.py.patch, + +files/5.5.9.126128/001_all_fix-permissions.patch, + +files/5.5.9.126128/004_all_do-not-build-modules.patch, + +files/6.5.0.118166/vmware-player-extras.py.patch, + +files/vmware-workstation-6.5.0.118166-installer.patch, + +files/5.5.9.126128/007_all_use-modprobe-over-insmod.patch, + +files/6.5.0.118166/vmware-vix.py.patch, +files/vmware-workstation-6.5.rc, + +files/5.5.9.126128/009_all_init.d-modules-warning.patch, + +files/6.5.0.118166/vmware-workstation.py.patch, + +files/helpers/module_patcher.sh, +files/helpers/unbundler.sh, + +files/helpers/vmware-config.sh, +vmware-workstation-5.5.9.126128.ebuild, + +vmware-workstation-6.5.0.118166.ebuild: + Add in vmware-workstation 5.5.9 and introduce 6.5.0 for bug 245941. *vmware-workstation-6.0.5.109488 (30 Sep 2008) *vmware-workstation-5.5.8.108000 (30 Sep 2008) diff --git a/app-emulation/vmware-workstation/files/5.5.9.126128/000_all_initd-location.patch b/app-emulation/vmware-workstation/files/5.5.9.126128/000_all_initd-location.patch new file mode 100644 index 000000000000..1d864f7e0dd7 --- /dev/null +++ b/app-emulation/vmware-workstation/files/5.5.9.126128/000_all_initd-location.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/5.5.9.126128/001_all_fix-permissions.patch b/app-emulation/vmware-workstation/files/5.5.9.126128/001_all_fix-permissions.patch new file mode 100644 index 000000000000..e646b7b2da5c --- /dev/null +++ b/app-emulation/vmware-workstation/files/5.5.9.126128/001_all_fix-permissions.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/5.5.9.126128/002_all_pagebreak-detection-fix.patch b/app-emulation/vmware-workstation/files/5.5.9.126128/002_all_pagebreak-detection-fix.patch new file mode 100644 index 000000000000..fd3fc76ca679 --- /dev/null +++ b/app-emulation/vmware-workstation/files/5.5.9.126128/002_all_pagebreak-detection-fix.patch @@ -0,0 +1,15 @@ +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 +@@ -2015,9 +2015,9 @@ + . shell_string($pattern)); + chomp($header_page_offset); + # Ignore PAGE_OFFSET if we cannot parse it. +- if ($header_page_offset =~ /^$pattern \(?0x([0-9a-fA-F]{8,})/) { ++ if ($header_page_offset =~ /^$pattern \(?(\([^)]*\))?\)?0x([0-9a-fA-F]{8,}).*$/) { + # We found a valid page offset +- $header_page_offset = $1; ++ $header_page_offset = $2; + if (defined($gSystem{'page_offset'}) and + not (lc($header_page_offset) eq lc($gSystem{'page_offset'}))) { + if ($source eq 'user') { diff --git a/app-emulation/vmware-workstation/files/5.5.9.126128/004_all_do-not-build-modules.patch b/app-emulation/vmware-workstation/files/5.5.9.126128/004_all_do-not-build-modules.patch new file mode 100644 index 000000000000..cec3b3ee4c1d --- /dev/null +++ b/app-emulation/vmware-workstation/files/5.5.9.126128/004_all_do-not-build-modules.patch @@ -0,0 +1,17 @@ +diff -uNr vmware-server-distrib.orig/bin/vmware-config.pl vmware-server-distrib/bin/vmware-config.pl +--- vmware-server-distrib.orig/bin/vmware-config.pl 2006-02-18 18:12:26.000000000 +0000 ++++ vmware-server-distrib/bin/vmware-config.pl 2006-02-18 18:14:17.000000000 +0000 +@@ -8571,10 +8571,10 @@ + configure_gtk2(); + # createMimePackageFile(); + # configureDesktopFiles(); +- configure_mon(); +- configure_pp(); ++# configure_mon(); ++# configure_pp(); + configure_net(); +- build_vmnet(); ++# build_vmnet(); + } + + # Create the directory for the UNIX domain sockets diff --git a/app-emulation/vmware-workstation/files/5.5.9.126128/007_all_use-modprobe-over-insmod.patch b/app-emulation/vmware-workstation/files/5.5.9.126128/007_all_use-modprobe-over-insmod.patch new file mode 100644 index 000000000000..5509d249f19a --- /dev/null +++ b/app-emulation/vmware-workstation/files/5.5.9.126128/007_all_use-modprobe-over-insmod.patch @@ -0,0 +1,12 @@ +diff -uNr vmware-server-distrib/installer/services.sh vmware-server-distrib.new/installer/services.sh +--- vmware-server-distrib/installer/services.sh 2006-02-05 00:21:25.000000000 +0000 ++++ vmware-server-distrib.new/installer/services.sh 2006-02-20 23:48:07.000000000 +0000 +@@ -538,7 +538,7 @@ + } + + vmware_load_module() { +- /sbin/insmod -s -f "/lib/modules/`uname -r`/misc/$1.o" || exit 1 ++ /sbin/modprobe -s "$1" || exit 1 + exit 0 + } + diff --git a/app-emulation/vmware-workstation/files/5.5.9.126128/009_all_init.d-modules-warning.patch b/app-emulation/vmware-workstation/files/5.5.9.126128/009_all_init.d-modules-warning.patch new file mode 100644 index 000000000000..4eab043af8dc --- /dev/null +++ b/app-emulation/vmware-workstation/files/5.5.9.126128/009_all_init.d-modules-warning.patch @@ -0,0 +1,19 @@ +diff -uNr vmware-server-distrib.orig/installer/services.sh vmware-server-distrib/installer/services.sh +--- vmware-server-distrib.orig/installer/services.sh 2006-07-01 03:14:16.000000000 +0000 ++++ vmware-server-distrib/installer/services.sh 2006-07-14 11:59:28.000000000 +0000 +@@ -606,8 +606,13 @@ + start) + if [ -e "$vmware_etc_dir"/not_configured ]; then + echo "`vmware_product_name`"' is installed, but it has not been (correctly) configured' +- echo 'for the running kernel. To (re-)configure it, invoke the' +- echo 'following command: '"$vmdb_answer_BINDIR"'/vmware-config.pl.' ++ echo 'for the running kernel.' ++ echo ++ echo 'Please ensure that the modules have been compiled for this kernel:' ++ echo ' emerge --oneshot vmware-modules' ++ echo ++ echo 'Also ensure '"`vmware_product_name`"' has been configured:' ++ echo ' '"$vmdb_answer_BINDIR"'/vmware-config.pl' + echo + + exit 1 diff --git a/app-emulation/vmware-workstation/files/6.5.0.118166/vmware-player-extras.py.patch b/app-emulation/vmware-workstation/files/6.5.0.118166/vmware-player-extras.py.patch new file mode 100644 index 000000000000..eb9e723058cb --- /dev/null +++ b/app-emulation/vmware-workstation/files/6.5.0.118166/vmware-player-extras.py.patch @@ -0,0 +1,14 @@ +diff --git a/vmware-player-extras.py b/vmware-player-extras.py +index 21595b1..e8adf08 100644 +--- a/vmware-player-extras.py ++++ b/vmware-player-extras.py +@@ -6,7 +6,8 @@ VMware Player Extras component installer. + + DEST = LIBDIR/'vmware' + SETTINGS = { 'vmware.fullpath': BINDIR/'vmware', } +-CONF = DEST/'setup/vmware-config' ++import os ++CONF = path(os.environ['WORKDIR'])/'vmware-config.sh' + + + class PlayerExtras(Installer): diff --git a/app-emulation/vmware-workstation/files/6.5.0.118166/vmware-player.py.patch b/app-emulation/vmware-workstation/files/6.5.0.118166/vmware-player.py.patch new file mode 100644 index 000000000000..49306c33f42e --- /dev/null +++ b/app-emulation/vmware-workstation/files/6.5.0.118166/vmware-player.py.patch @@ -0,0 +1,64 @@ +diff --git a/vmware-player.py b/vmware-player.py +index bee22df..d06cca9 100644 +--- a/vmware-player.py ++++ b/vmware-player.py +@@ -6,7 +6,8 @@ VMware Player component installer. + + GCONF_DEFAULTS = 'xml:readwrite:/etc/gconf/gconf.xml.defaults' + DEST = LIBDIR/'vmware' +-CONFIG = DEST/'setup/vmware-config' ++import os ++CONFIG = path(os.environ['WORKDIR'])/'vmware-config.sh' + CUPSLIBDIR = LIBDIR/'cups' + # XXX: LIBDIR should be properly calculated, to make this cleaner + if (PREFIX/'lib64/cups').exists(): +@@ -84,12 +85,12 @@ class Player(Installer): + ret, kvers = output('uname', '-r') + kvers = kvers.strip() + modules = ('vmmon', 'vmnet', 'vmblock', 'vmci', 'vsock') +- base = path('/lib/modules/%s/misc' % kvers) ++ base = path('/this/path/doesnt/exist/lib/modules/%s/misc' % kvers) + + for module in modules: + for ext in ('o', 'ko'): + mod = '%s.%s' % (module, ext) +- (base/mod).remove(ignore_errors=True) ++ # (base/mod).remove(ignore_errors=True) + + def PreUninstall(self, old, new, upgrade): + script = INITSCRIPTDIR/'vmware' +@@ -156,8 +157,8 @@ class Player(Installer): + def PostTransactionInstall(self, old, new, upgrade): + if ENV.get('VMWARE_SKIP_MODULES'): + log.info('Skipping kernel module installation') +- elif run(BINDIR/'vmware-modconfig', '--console', '--install-all') == 0: +- log.info('Successfully installed kernel modules') ++ # elif run(BINDIR/'vmware-modconfig', '--console', '--install-all') == 0: ++ # log.info('Successfully installed kernel modules') + else: + log.info('Unable to install kernel modules') + +@@ -189,8 +190,8 @@ class Player(Installer): + for handler in ('vm', 'vms'): + for gconfType, key, value in settings: + key = key % handler +- run('gconftool-2', '--direct', '--config-source', GCONF_DEFAULTS, +- '--type', gconfType, '--set', key, value) ++ # run('gconftool-2', '--direct', '--config-source', GCONF_DEFAULTS, ++ # '--type', gconfType, '--set', key, value) + + # Instruct all gconfd daemons to reload. + run('killall', '-HUP', 'gconfd-2') +@@ -200,9 +201,9 @@ class Player(Installer): + def _deconfigureVMStreamingHandlers(self): + """ Deconfigures the handlers for vm:// and vms:// used for VM streaming""" + def deconfigureGConf(): +- for handler in ('vm', 'vms'): +- run('gconftool-2', '--direct', '--config-source', GCONF_DEFAULTS, +- '--recursive-unset', '/desktop/gnome/url-handlers/%s' % handler) ++ # for handler in ('vm', 'vms'): ++ # run('gconftool-2', '--direct', '--config-source', GCONF_DEFAULTS, ++ # '--recursive-unset', '/desktop/gnome/url-handlers/%s' % handler) + + # Instruct all gconfd daemons to reload. + run('killall', '-HUP', 'gconfd-2') diff --git a/app-emulation/vmware-workstation/files/6.5.0.118166/vmware-vix.py.patch b/app-emulation/vmware-workstation/files/6.5.0.118166/vmware-vix.py.patch new file mode 100644 index 000000000000..5984bdff95ad --- /dev/null +++ b/app-emulation/vmware-workstation/files/6.5.0.118166/vmware-vix.py.patch @@ -0,0 +1,14 @@ +diff --git a/vmware-vix.py b/vmware-vix.py +index ac64dc5..8fdc2b2 100644 +--- a/vmware-vix.py ++++ b/vmware-vix.py +@@ -4,7 +4,8 @@ Copyright 2007 VMware, Inc. All rights reserved. -- VMware Confidential + VIX component installer. + """ + DEST = LIBDIR/'vmware-vix' +-conf = DEST/'setup/vmware-config' ++import os ++conf = path(os.environ['WORKDIR'])/'vmware-config.sh' + + class VIX(Installer): + def InitializeInstall(self, old, new, upgrade): diff --git a/app-emulation/vmware-workstation/files/6.5.0.118166/vmware-workstation.py.patch b/app-emulation/vmware-workstation/files/6.5.0.118166/vmware-workstation.py.patch new file mode 100644 index 000000000000..da139bbb1318 --- /dev/null +++ b/app-emulation/vmware-workstation/files/6.5.0.118166/vmware-workstation.py.patch @@ -0,0 +1,23 @@ +diff --git a/vmware-workstation.py b/vmware-workstation.py +index 55476d9..8dd4c0a 100644 +--- a/vmware-workstation.py ++++ b/vmware-workstation.py +@@ -4,7 +4,8 @@ Copyright 2008 VMware, Inc. All rights reserved. -- VMware Confidential + VMware Workstation component installer. + """ + DEST = LIBDIR/'vmware' +-conf = DEST/'setup/vmware-config' ++import os ++conf = path(os.environ['WORKDIR'])/'vmware-config.sh' + + class Workstation(Installer): + def PreTransactionInstall(self, old, new, upgrade): +@@ -40,7 +41,7 @@ class Workstation(Installer): + self.AddPermission(DEST/'bin/*', BINARY) + + eclipse = config.Get('vmware-workstation.eclipse') +- eclipse and self.AddTarget(Link, DEST/'eclipse-ivd/com.vmware.bfg_1.0.0', ++ False and self.AddTarget(Link, DEST/'eclipse-ivd/com.vmware.bfg_1.0.0', + Destination(eclipse)/'plugins/com.vmware.bfg_1.0.0') + + def _vmwareMountRunnable(self, vmwareMount): diff --git a/app-emulation/vmware-workstation/files/vmware-workstation-6.5.0.118166-installer.patch b/app-emulation/vmware-workstation/files/vmware-workstation-6.5.0.118166-installer.patch new file mode 100644 index 000000000000..80a301e5c183 --- /dev/null +++ b/app-emulation/vmware-workstation/files/vmware-workstation-6.5.0.118166-installer.patch @@ -0,0 +1,64 @@ +diff --git a/payload/install/vmware-installer/vmis/__init__.py b/payload/install/vmware-installer/vmis/__init__.py +index 7a46312..e1dbff1 100644 +--- a/payload/install/vmware-installer/vmis/__init__.py ++++ b/payload/install/vmware-installer/vmis/__init__.py +@@ -12,5 +12,5 @@ VERSION_INFO = (1,0) + VERSION = '.'.join([str(x) for x in VERSION_INFO]) + MAJOR_VERSION = VERSION_INFO[0] + +-CONFDIR = path(u'/etc/vmware') ++CONFDIR = path(u'./vmware-confdir') + DATABASE_PATH = CONFDIR/'database' +diff --git a/payload/install/vmware-installer/vmis/core/env.py b/payload/install/vmware-installer/vmis/core/env.py +index e7abc2e..81c4a2b 100644 +--- a/payload/install/vmware-installer/vmis/core/env.py ++++ b/payload/install/vmware-installer/vmis/core/env.py +@@ -66,6 +66,8 @@ def LoadInstaller(component, loadPath): + # Python will interrept as being a module separator + moduleName = component.name.replace('.', '') + fileObj, pathName, description = imp.find_module(moduleName, [loadPath]) ++ print output(os.path.join(env['ENV'].get('WORKDIR', './'), 'module_patcher.sh'), pathName)[1], ++ fileObj = file(pathName) + + try: + # XXX: db.config cannot be set at the module level because this +diff --git a/payload/install/vmware-installer/vmis/core/questions.py b/payload/install/vmware-installer/vmis/core/questions.py +index 2be10de..f92ecff 100644 +--- a/payload/install/vmware-installer/vmis/core/questions.py ++++ b/payload/install/vmware-installer/vmis/core/questions.py +@@ -139,6 +139,9 @@ class InitDir(Directory): + """ + super(InitDir, self).Validate(answer) + ++ ### GENTOO PATCH ### Finish early ++ return True ++ + rcdirs = ('rc0.d', 'rc1.d', 'rc2.d', 'rc3.d', 'rc4.d', 'rc5.d', 'rc6.d') + answer = path(answer) + +diff --git a/payload/install/vmware-installer/vmis/ui/console.py b/payload/install/vmware-installer/vmis/ui/console.py +index 525df75..abb81b3 100644 +--- a/payload/install/vmware-installer/vmis/ui/console.py ++++ b/payload/install/vmware-installer/vmis/ui/console.py +@@ -148,7 +148,7 @@ class Wizard(object): + wrapper = TextWrapper() + wrapper.width = 79 + wrapper.replace_whitespace = False # Needed to preserve paragraph spacing. +- Popen('more', stdin=PIPE).communicate(input=wrapper.fill(text)) ++ Popen('less', stdin=PIPE).communicate(input=wrapper.fill(text)) + except IOError: # RHEL4 appears to close stdin while we still expect it to be open + pass + +diff --git a/payload/install/vmware-installer/vmis/util/log.py b/payload/install/vmware-installer/vmis/util/log.py +index 4f609c4..b07b89d 100644 +--- a/payload/install/vmware-installer/vmis/util/log.py ++++ b/payload/install/vmware-installer/vmis/util/log.py +@@ -22,6 +22,8 @@ else: + # running a build) + LOG_FILE = '/tmp/vmware-installer.log' + ++LOG_FILE = './vmware-installer.log' ++ + if level <= logging.DEBUG: + MAX_BYTES = 0 + BACKUP_COUNT = 0 diff --git a/app-emulation/vmware-workstation/files/vmware-workstation-6.5.rc b/app-emulation/vmware-workstation/files/vmware-workstation-6.5.rc new file mode 100644 index 000000000000..c9b0e617a7b0 --- /dev/null +++ b/app-emulation/vmware-workstation/files/vmware-workstation-6.5.rc @@ -0,0 +1,74 @@ +#!/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-workstation/files/vmware-workstation-6.5.rc,v 1.1 2008/11/09 20:56:55 ikelos Exp $ + +depend() { + need localmount + use logger net hald + after 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} -eq -1 ] + then + ewarn ${line} + continue + fi + case ${line} in + *:*) + einfon ${line} + echo + eend 0 + msgtype=1;; + *) + ewarn ${line} + msgtype=-1 + waserror=1;; + esac + continue + fi + + # Strip out anything after the <esc> code + message=`echo ${line} | sed -e "s/^\(.*\).*$/\1/"` + einfon " ${message}" + echo + + echo ${line} | grep -q done + status=$? + eend ${status} + + if [ ${status} -eq 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/vmware-workstation-5.5.9.126128.ebuild b/app-emulation/vmware-workstation/vmware-workstation-5.5.9.126128.ebuild new file mode 100644 index 000000000000..d71c445006cf --- /dev/null +++ b/app-emulation/vmware-workstation/vmware-workstation-5.5.9.126128.ebuild @@ -0,0 +1,100 @@ +# Copyright 1999-2008 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.9.126128.ebuild,v 1.1 2008/11/09 20:56:55 ikelos Exp $ + +inherit vmware eutils versionator + +MY_P="VMware-workstation-$(replace_version_separator 3 - $PV)" + +DESCRIPTION="Emulate a complete PC on your PC without the usual performance overhead of most emulators" +HOMEPAGE="http://www.vmware.com/download/ws/ws5.html" +SRC_URI="mirror://vmware/software/wkst/${MY_P}.tar.gz + http://download.softpedia.ro/linux/${MY_P}.tar.gz + mirror://gentoo/${ANY_ANY}.tar.gz + http://platan.vc.cvut.cz/ftp/pub/vmware/${ANY_ANY}.tar.gz + http://platan.vc.cvut.cz/ftp/pub/vmware/obsolete/${ANY_ANY}.tar.gz + http://ftp.cvut.cz/vmware/${ANY_ANY}.tar.gz + http://ftp.cvut.cz/vmware/obsolete/${ANY_ANY}.tar.gz + http://knihovny.cvut.cz/ftp/pub/vmware/${ANY_ANY}.tar.gz + http://knihovny.cvut.cz/ftp/pub/vmware/obsolete/${ANY_ANY}.tar.gz" + +LICENSE="vmware" +SLOT="0" +KEYWORDS="-* ~amd64 ~x86" +IUSE="" +RESTRICT="fetch strip" + +# 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/xft ) + !app-emulation/vmware-player + !app-emulation/vmware-server + ~app-emulation/vmware-modules-1.0.0.15 + !<app-emulation/vmware-modules-1.0.0.15 + !>=app-emulation/vmware-modules-1.0.0.16 + >=dev-lang/perl-5 + sys-apps/pciutils" + +S=${WORKDIR}/vmware-distrib + +RUN_UPDATE="no" + +dir=/opt/vmware/workstation +Ddir=${D}/${dir} + +QA_TEXTRELS_x86="${dir:1}/lib/lib/libgdk-x11-2.0.so.0/libgdk-x11-2.0.so.0" +QA_EXECSTACK_x86="${dir:1}/bin/vmnet-bridge + ${dir:1}/bin/vmnet-dhcpd + ${dir:1}/bin/vmnet-natd + ${dir:1}/bin/vmnet-netifup + ${dir:1}/bin/vmnet-sniffer + ${dir:1}/bin/vmware-loop + ${dir:1}/bin/vmware-ping + ${dir:1}/bin/vmware-vdiskmanager + ${dir:1}/lib/bin/vmware + ${dir:1}/lib/bin/vmware-vmx + ${dir:1}/lib/bin/vmrun + ${dir:1}/lib/bin/vmplayer + ${dir:1}/lib/bin-debug/vmware-vmx + ${dir:1}/lib/lib/libpixops.so.2.0.1/libpixops.so.2.0.1" + +QA_TEXTRELS_amd64="${dir:1}/lib/lib/libgdk-x11-2.0.so.0/libgdk-x11-2.0.so.0" +QA_EXECSTACK_amd64="${dir:1}/bin/vmnet-bridge + ${dir:1}/bin/vmnet-dhcpd + ${dir:1}/bin/vmnet-natd + ${dir:1}/bin/vmnet-netifup + ${dir:1}/bin/vmnet-sniffer + ${dir:1}/bin/vmware-loop + ${dir:1}/bin/vmware-ping + ${dir:1}/bin/vmware-vdiskmanager + ${dir:1}/lib/bin/vmware + ${dir:1}/lib/bin/vmware-vmx + ${dir:1}/lib/bin/vmrun + ${dir:1}/lib/bin/vmplayer + ${dir:1}/lib/bin-debug/vmware-vmx + ${dir:1}/lib/lib/libpixops.so.2.0.1/libpixops.so.2.0.1" + +src_install() { + vmware_src_install + + doicon lib/share/pixmaps/vmware-player.png + # Fix an ugly GCC error on start + rm -f "${Ddir}lib/lib/libgcc_s.so.1/libgcc_s.so.1" + make_desktop_entry vmware "VMWare Workstation" ${PN}.png System + make_desktop_entry vmplayer "VMWare Player" vmware-player.png System +} + +pkg_postinst() { + vmware_pkg_postinst + ewarn "Vmware Workstation has issues on systems with hal installed but" + ewarn "not running. If you experience trouble with VMware loading, try" + ewarn "starting the hal daemon." +} diff --git a/app-emulation/vmware-workstation/vmware-workstation-6.5.0.118166.ebuild b/app-emulation/vmware-workstation/vmware-workstation-6.5.0.118166.ebuild new file mode 100644 index 000000000000..25ae5feb61d4 --- /dev/null +++ b/app-emulation/vmware-workstation/vmware-workstation-6.5.0.118166.ebuild @@ -0,0 +1,170 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-emulation/vmware-workstation/vmware-workstation-6.5.0.118166.ebuild,v 1.1 2008/11/09 20:56:55 ikelos Exp $ + +inherit eutils versionator fdo-mime gnome2-utils + +MY_PN="VMware-Workstation-$(replace_version_separator 3 - $PV)" + +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=" + x86? ( + mirror://vmware/software/wkst/${MY_PN}.i386.bundle + http://download.softpedia.ro/linux/${MY_PN}.i386.bundle ) + amd64? ( + mirror://vmware/software/wkst/${MY_PN}.x86_64.bundle + http://download.softpedia.ro/linux/${MY_PN}.x86_64.bundle ) + " + +LICENSE="vmware" +SLOT="0" +KEYWORDS="~x86 ~amd64" +IUSE="" +RESTRICT="strip fetch binchecks" + +# vmware-workstation should not use virtual/libc as this is a +# precompiled binary package thats linked to glibc. +DEPEND=">=dev-lang/python-2.5 + dev-python/lxml" +RDEPEND="sys-libs/glibc + x11-libs/libXrandr + x11-libs/libXcursor + x11-libs/libXinerama + x11-libs/libXi + x11-libs/libview + dev-cpp/libsexymm + dev-cpp/cairomm + dev-cpp/libgnomecanvasmm + virtual/xft + !app-emulation/vmware-player + !app-emulation/vmware-server + ~app-emulation/vmware-modules-1.0.0.23 + !<app-emulation/vmware-modules-1.0.0.23 + !>=app-emulation/vmware-modules-1.0.0.24 + sys-apps/pciutils" + +S=${WORKDIR}/vmware-distrib +VM_INSTALL_DIR="/opt/vmware/workstation" + +pkg_setup() { + if use x86; then + MY_P="${MY_PN}.i386" + elif use amd64; then + MY_P="${MY_PN}.x86_64" + fi + + if ! built_with_use ">=dev-cpp/gtkmm-2.4" accessibility ; then + eerror "Rebuild dev-cpp/gtkmm with USE=\"accessibility\"" + die "VMware workstation only works with gtkmm built with USE=\"accessibility\"." + fi + + if ! built_with_use '>=dev-lang/python-2.5' sqlite; then + eerror "You need build dev-lang/python with \"sqlite\" USE flag!" + die "Please rebuild dev-lang/python with sqlite USE flag!" + fi + + if [ "$(python -c "import curses; curses.setupterm(); print curses.tigetstr('hpa')")" == "" ]; then + die "Please emerge this package using a different terminal" + fi +} + +pkg_nofetch() { + if use x86; then + MY_P="${MY_PN}.i386" + elif use amd64; then + MY_P="${MY_PN}.x86_64" + fi + + einfo "Please download the ${MY_P}.bundle from ${HOMEPAGE}" +} + +src_unpack() { + # Unbundle the bundle + cp "${FILESDIR}"/helpers/* "${WORKDIR}" + chmod a+x "${WORKDIR}"/*.sh + "${WORKDIR}"/unbundler.sh "${DISTDIR}/${MY_P}".bundle + + # Patch up the installer + epatch "${FILESDIR}/${P}-installer.patch" + + mkdir "${WORKDIR}/vmware-confdir" +} + +src_install() { + dodir /etc/init.d + + #Run the installer + local INSTALLER="${WORKDIR}/payload/install/vmware-installer" + local PYOPTS="-W ignore::DeprecationWarning" + export VMWARE_SKIP_NETWORKING="true" + python ${PYOPTS} "${INSTALLER}/vmware-installer.py" \ + --set-setting vmware-installer.libconf "${INSTALLER}/lib/libconf" \ + --set-setting initdir "${T}" \ + --set-setting initscriptdir "${D}/etc/init.d" \ + --set-setting prefix "${D}${VM_INSTALL_DIR}" \ + --set-setting sysconfdir "${D}/etc" \ + --install-component "${INSTALLER}" \ + --install-bundle "${DISTDIR}/${MY_P}.bundle" \ + --console --required + + rm -fr "${D}${VM_INSTALL_DIR}/lib/vmware/modules/binary" + + # Redirect all the ${D} paths to / paths" + sed -i -e "s:${D}::" "${WORKDIR}"/vmware-confdir/bootstrap + + # Fix up icons/mime/desktop handlers + dodir /usr/share/ + mv "${D}${VM_INSTALL_DIR}"/share/applications "${D}"/usr/share/ + rm -f "${D}${VM_INSTALL_DIR}"/share/icons/hicolor/{icon-theme.cache,index.theme} + mv "${D}${VM_INSTALL_DIR}"/share/icons "${D}"/usr/share/ + dodir /usr/share/mime + mv "${D}${VM_INSTALL_DIR}"/share/mime/packages "${D}"/usr/share/mime + sed -i -e "s:${D}::" "${D}"/usr/share/applications/*.desktop + + # Copy across the temporary /etc/vmware directory + dodir /etc/vmware/init.d + cp -r "${WORKDIR}"/vmware-confdir/* "${D}/etc/vmware" + mv "${D}"/etc/init.d/* "${D}/etc/vmware/init.d" + newinitd "${FILESDIR}/${PN}"-6.5.rc vmware + touch "${D}"/etc/vmware/networking + + # Setup the path environment + insinto /etc/env.d + doins "${FILESDIR}/90${PN}" + + # Fix some paths to allow included gtk to work + for i in "/etc/pango/pangorc" \ + "/etc/pango/pango.modules" \ + "/etc/gtk-2.0/gtk.immodules" \ + "/etc/gtk-2.0/gdk-pixbuf.loaders" ; do + sed -i -e "s:${D}::" "${D}${VM_INSTALL_DIR}"/lib/vmware/libconf${i} ; + sed -i -e "s:${D}::" "${D}${VM_INSTALL_DIR}"/lib/vmware/installer/lib/libconf${i} ; + done + + # No idea why this happens, but it seems to happen all the time + ewarn "The following installation segment takes a *very* long time." + ewarn "Please be patient." +} + +pkg_config() { + ${VM_INSTALL_DIR}/bin/vmware-networks --postinstall ${PN},old,new +} + +pkg_preinst() { + gnome2_icon_savelist +} + +pkg_postinst() { + fdo-mime_desktop_database_update + gnome2_icon_cache_update + + ewarn "Before you can use vmware-player, you must configure a default + network setup." + ewarn "You can do this by running 'emerge --config ${PN}'." +} + +pkg_postrm() { + fdo-mime_desktop_database_update + gnome2_icon_cache_update +} |