From b4271eaf9795cff6516e2bab6f3532bf60ca29da Mon Sep 17 00:00:00 2001 From: Mike Auty Date: Sun, 14 Oct 2007 09:03:43 +0000 Subject: Version bump, fixes some security bugs (Portage version: 2.1.3.12) --- app-emulation/vmware-workstation/ChangeLog | 15 ++- .../files/6.0.1.55017/000_all_initd-location.patch | 31 +++++ .../6.0.1.55017/001_all_fix-permissions.patch | 15 +++ .../002_all_pagebreak-detection-fix.patch | 15 +++ .../6.0.1.55017/004_all_do-not-build-modules.patch | 21 ++++ .../007_all_use-modprobe-over-insmod.patch | 12 ++ .../009_all_init.d-modules-warning.patch | 19 +++ .../6.0.1.55017/011_all_legit-modules-only.patch | 12 ++ .../files/digest-vmware-workstation-6.0.1.55017 | 9 ++ .../vmware-workstation-6.0.1.55017.ebuild | 137 +++++++++++++++++++++ 10 files changed, 285 insertions(+), 1 deletion(-) create mode 100644 app-emulation/vmware-workstation/files/6.0.1.55017/000_all_initd-location.patch create mode 100644 app-emulation/vmware-workstation/files/6.0.1.55017/001_all_fix-permissions.patch create mode 100644 app-emulation/vmware-workstation/files/6.0.1.55017/002_all_pagebreak-detection-fix.patch create mode 100644 app-emulation/vmware-workstation/files/6.0.1.55017/004_all_do-not-build-modules.patch create mode 100644 app-emulation/vmware-workstation/files/6.0.1.55017/007_all_use-modprobe-over-insmod.patch create mode 100644 app-emulation/vmware-workstation/files/6.0.1.55017/009_all_init.d-modules-warning.patch create mode 100644 app-emulation/vmware-workstation/files/6.0.1.55017/011_all_legit-modules-only.patch create mode 100644 app-emulation/vmware-workstation/files/digest-vmware-workstation-6.0.1.55017 create mode 100644 app-emulation/vmware-workstation/vmware-workstation-6.0.1.55017.ebuild (limited to 'app-emulation') diff --git a/app-emulation/vmware-workstation/ChangeLog b/app-emulation/vmware-workstation/ChangeLog index b19174cda687..60a46cdf9abe 100644 --- a/app-emulation/vmware-workstation/ChangeLog +++ b/app-emulation/vmware-workstation/ChangeLog @@ -1,6 +1,19 @@ # ChangeLog for app-emulation/vmware-workstation # Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/app-emulation/vmware-workstation/ChangeLog,v 1.167 2007/10/11 07:14:54 kingtaco Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-emulation/vmware-workstation/ChangeLog,v 1.168 2007/10/14 09:03:41 ikelos Exp $ + +*vmware-workstation-6.0.1.55017 (14 Oct 2007) + + 14 Oct 2007; Mike Auty + +files/6.0.1.55017/000_all_initd-location.patch, + +files/6.0.1.55017/001_all_fix-permissions.patch, + +files/6.0.1.55017/002_all_pagebreak-detection-fix.patch, + +files/6.0.1.55017/004_all_do-not-build-modules.patch, + +files/6.0.1.55017/007_all_use-modprobe-over-insmod.patch, + +files/6.0.1.55017/009_all_init.d-modules-warning.patch, + +files/6.0.1.55017/011_all_legit-modules-only.patch, + +vmware-workstation-6.0.1.55017.ebuild: + Version bump, fixes some security bugs 11 Oct 2007; Mike Doty vmware-workstation-5.5.5.56455.ebuild: diff --git a/app-emulation/vmware-workstation/files/6.0.1.55017/000_all_initd-location.patch b/app-emulation/vmware-workstation/files/6.0.1.55017/000_all_initd-location.patch new file mode 100644 index 000000000000..6eb6619d2b8e --- /dev/null +++ b/app-emulation/vmware-workstation/files/6.0.1.55017/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{'skip-stop-start'}) { +- 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/6.0.1.55017/001_all_fix-permissions.patch b/app-emulation/vmware-workstation/files/6.0.1.55017/001_all_fix-permissions.patch new file mode 100644 index 000000000000..e646b7b2da5c --- /dev/null +++ b/app-emulation/vmware-workstation/files/6.0.1.55017/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/6.0.1.55017/002_all_pagebreak-detection-fix.patch b/app-emulation/vmware-workstation/files/6.0.1.55017/002_all_pagebreak-detection-fix.patch new file mode 100644 index 000000000000..fd3fc76ca679 --- /dev/null +++ b/app-emulation/vmware-workstation/files/6.0.1.55017/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/6.0.1.55017/004_all_do-not-build-modules.patch b/app-emulation/vmware-workstation/files/6.0.1.55017/004_all_do-not-build-modules.patch new file mode 100644 index 000000000000..e2649c0af27b --- /dev/null +++ b/app-emulation/vmware-workstation/files/6.0.1.55017/004_all_do-not-build-modules.patch @@ -0,0 +1,21 @@ +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 +@@ -10158,13 +10158,13 @@ + configure_gtk2(); + # createMimePackageFile(); + # configureDesktopFiles(); +- configure_mon(); ++# configure_mon(); + if (isDesktopProduct()) { +- build_vmblock(); ++# build_vmblock(); + } +- configure_pp(); ++# configure_pp(); + configure_net(); +- build_vmnet(); ++# build_vmnet(); + } + + configure_eclipse_plugin(); diff --git a/app-emulation/vmware-workstation/files/6.0.1.55017/007_all_use-modprobe-over-insmod.patch b/app-emulation/vmware-workstation/files/6.0.1.55017/007_all_use-modprobe-over-insmod.patch new file mode 100644 index 000000000000..c29a87e8f226 --- /dev/null +++ b/app-emulation/vmware-workstation/files/6.0.1.55017/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 -f "$1" || exit 1 + exit 0 + } + diff --git a/app-emulation/vmware-workstation/files/6.0.1.55017/009_all_init.d-modules-warning.patch b/app-emulation/vmware-workstation/files/6.0.1.55017/009_all_init.d-modules-warning.patch new file mode 100644 index 000000000000..4eab043af8dc --- /dev/null +++ b/app-emulation/vmware-workstation/files/6.0.1.55017/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.0.1.55017/011_all_legit-modules-only.patch b/app-emulation/vmware-workstation/files/6.0.1.55017/011_all_legit-modules-only.patch new file mode 100644 index 000000000000..9e453ed1e2ee --- /dev/null +++ b/app-emulation/vmware-workstation/files/6.0.1.55017/011_all_legit-modules-only.patch @@ -0,0 +1,12 @@ +diff -uNr vmware-distrib.orig/bin/vmware-config.pl vmware-distrib/bin/vmware-config.pl +--- vmware-distrib.orig/bin/vmware-config.pl 2007-08-22 02:58:41.000000000 +0100 ++++ vmware-distrib/bin/vmware-config.pl 2007-09-19 20:04:57.000000000 +0100 +@@ -10127,7 +10127,7 @@ + } + + my @modules = non_vmware_modules_installed(); +- if (scalar(@modules) > 0) { ++ if (scalar(@modules) < 0) { + error("The following VMware kernel modules have been found on your system that " . + "were not installed by the VMware Installer. Please remove them then run " . + "this installer again.\n\n" . join("\n", @modules) . "\n\n"); diff --git a/app-emulation/vmware-workstation/files/digest-vmware-workstation-6.0.1.55017 b/app-emulation/vmware-workstation/files/digest-vmware-workstation-6.0.1.55017 new file mode 100644 index 000000000000..7175e2787e26 --- /dev/null +++ b/app-emulation/vmware-workstation/files/digest-vmware-workstation-6.0.1.55017 @@ -0,0 +1,9 @@ +MD5 6314c004bff31d3b4de0b9b92a296e71 VMware-workstation-6.0.1-55017.i386.tar.gz 219089234 +RMD160 e33d271019ee897dfee47dd3edce9ca6b2467bcf VMware-workstation-6.0.1-55017.i386.tar.gz 219089234 +SHA256 7fd0279754075c09699abeb780fda8d5420490d43eca0fb33107e9987a1e838a VMware-workstation-6.0.1-55017.i386.tar.gz 219089234 +MD5 7a3eb60a4143c37d4a56dc0f957320ff VMware-workstation-6.0.1-55017.x86_64.tar.gz 196577425 +RMD160 6ae105b93e2434a3909adcc1a93545c51b2a855e VMware-workstation-6.0.1-55017.x86_64.tar.gz 196577425 +SHA256 3e2c102eaedb652291c44fafd3e022c90cc8eca9f591d06e625f20f04f7015ff VMware-workstation-6.0.1-55017.x86_64.tar.gz 196577425 +MD5 cb3f91f2196778e6d76d5a6697286d04 vmware-any-any-update113.tar.gz 469321 +RMD160 a4de5c17489dffade015f5bc3036f6ab882f749c vmware-any-any-update113.tar.gz 469321 +SHA256 ed15e61811f188e3c009d9fd8878cc74fd45e2b5644e21e4fe3010731841c99d vmware-any-any-update113.tar.gz 469321 diff --git a/app-emulation/vmware-workstation/vmware-workstation-6.0.1.55017.ebuild b/app-emulation/vmware-workstation/vmware-workstation-6.0.1.55017.ebuild new file mode 100644 index 000000000000..4f23760b7182 --- /dev/null +++ b/app-emulation/vmware-workstation/vmware-workstation-6.0.1.55017.ebuild @@ -0,0 +1,137 @@ +# Copyright 1999-2007 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.0.1.55017.ebuild,v 1.1 2007/10/14 09:03:41 ikelos Exp $ + +inherit vmware eutils versionator + +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.tar.gz + http://download.softpedia.ro/linux/${MY_PN}.i386.tar.gz ) + amd64? ( + mirror://vmware/software/wkst/${MY_PN}.x86_64.tar.gz + http://download.softpedia.ro/linux/${MY_PN}.x86_64.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="strip fetch" + +# vmware-workstation should not use virtual/libc as this is a +# precompiled binary package thats linked to glibc. +RDEPEND="sys-libs/glibc + amd64? ( + 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 ) + x86? ( + x11-libs/libXrandr + x11-libs/libXcursor + x11-libs/libXinerama + x11-libs/libXi + x11-libs/libview + dev-cpp/libsexymm + virtual/xft ) + !app-emulation/vmware-player + !app-emulation/vmware-server + ~app-emulation/vmware-modules-1.0.0.17 + !=app-emulation/vmware-modules-1.0.0.18 + >=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" + +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 + + vmware_pkg_setup +} + +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}.tar.gz at ${HOMEPAGE}" + einfo "${ANY_ANY}.tar.gz is also necessary for compilation" + einfo "but should already have been fetched." +} + +src_install() { + vmware_src_install + + ICONDIR=/opt/vmware/workstation/lib/share/icons/hicolor/scalable/apps/ + make_desktop_entry vmware "VMWare Workstation" ${ICONDIR}/${PN}.svg System + make_desktop_entry vmplayer "VMWare Player" ${ICONDIR}/vmware-player.svg System + + # Nasty hack to ensure the EULA is included + insinto /opt/vmware/workstation/lib/share + newins doc/EULA EULA.txt +} -- cgit v1.2.3-65-gdbad