Browse Source

Import latest VmWare Workstation.

master
Rafal Kupiec 2 months ago
parent
commit
bf9e9a7456
Signed by: belliash GPG Key ID: 4E829243E0CFE6B4
12 changed files with 1018 additions and 0 deletions
  1. +1
    -0
      app-emulation/vmware-modules/Manifest
  2. +11
    -0
      app-emulation/vmware-modules/metadata.xml
  3. +95
    -0
      app-emulation/vmware-modules/vmware-modules-15.5.6-r1.ebuild
  4. +4
    -0
      app-emulation/vmware-workstation/Manifest
  5. +95
    -0
      app-emulation/vmware-workstation/contrib/vmware-workstation-0-various-automation-hacks.patch
  6. +32
    -0
      app-emulation/vmware-workstation/contrib/vmware-workstation-1-wierd-symlinks.patch
  7. +27
    -0
      app-emulation/vmware-workstation/contrib/vmware-workstation-2-more-symlinks.patch
  8. +20
    -0
      app-emulation/vmware-workstation/files/configure-hostd.sh
  9. +102
    -0
      app-emulation/vmware-workstation/files/vmware-15.5.rc
  10. +52
    -0
      app-emulation/vmware-workstation/files/vmware-server-15.5.rc
  11. +33
    -0
      app-emulation/vmware-workstation/metadata.xml
  12. +546
    -0
      app-emulation/vmware-workstation/vmware-workstation-15.5.6.16341506.ebuild

+ 1
- 0
app-emulation/vmware-modules/Manifest View File

@ -0,0 +1 @@
DIST vmware-modules-15.5.6-5.7.zip 590103 BLAKE2B 58822d57add08197618d1e087aca29c5d595260b0e871f207e0d4ae8d741e521ddbdb4c8c00ac1748937d915651346989cf422d083ae815e34db6eff000272b5 SHA512 c8fcb44540bcfa8d8b237f6393dfc956d1eb072a0d3f06fb876089289ed24d0c36ca5a72706671045b762f18810b1e9e0e445097d5d3a856b4a48847740ce01b

+ 11
- 0
app-emulation/vmware-modules/metadata.xml View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>stefantalpalaru@yahoo.com</email>
<name>Ștefan Talpalaru</name>
</maintainer>
<longdescription>
VMware kernel modules.
</longdescription>
</pkgmetadata>

+ 95
- 0
app-emulation/vmware-modules/vmware-modules-15.5.6-r1.ebuild View File

@ -0,0 +1,95 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit eutils flag-o-matic linux-info linux-mod user udev
DESCRIPTION="VMware kernel modules"
HOMEPAGE="https://github.com/mkubecek/vmware-host-modules"
MY_KERNEL_VERSION="5.7"
SRC_URI="https://github.com/mkubecek/vmware-host-modules/archive/w${PV}-k${MY_KERNEL_VERSION}.zip -> ${P}-${MY_KERNEL_VERSION}.zip"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64"
IUSE=""
RDEPEND=""
DEPEND=""
S="${WORKDIR}/vmware-host-modules-w${PV}-k${MY_KERNEL_VERSION}"
pkg_setup() {
CONFIG_CHECK="~HIGH_RES_TIMERS"
if kernel_is -ge 2 6 37 && kernel_is -lt 2 6 39; then
CONFIG_CHECK="${CONFIG_CHECK} BKL"
fi
CONFIG_CHECK="${CONFIG_CHECK} VMWARE_VMCI VMWARE_VMCI_VSOCKETS"
if kernel_is -ge 5 8 0; then
die "${PN} doesn't work yet with kernels >=5.8.0: https://github.com/mkubecek/vmware-host-modules/issues/70"
fi
linux-info_pkg_setup
linux-mod_pkg_setup
VMWARE_GROUP=${VMWARE_GROUP:-vmware}
VMWARE_MODULE_LIST="vmmon vmnet"
VMWARE_MOD_DIR="${PN}-${PVR}"
BUILD_TARGETS="auto-build KERNEL_DIR=${KERNEL_DIR} KBUILD_OUTPUT=${KV_OUT_DIR}"
enewgroup "${VMWARE_GROUP}"
filter-flags -mfpmath=sse -mavx -mpclmul -maes
append-cflags -mno-sse # Found a problem similar to bug #492964
for mod in ${VMWARE_MODULE_LIST}; do
MODULE_NAMES="${MODULE_NAMES} ${mod}(misc:${S}/${mod}-only)"
done
}
src_prepare() {
# decouple the kernel include dir from the running kernel version: https://github.com/stefantalpalaru/gentoo-overlay/issues/17
sed -i -e "s%HEADER_DIR = /lib/modules/\$(VM_UNAME)/build/include%HEADER_DIR = ${KERNEL_DIR}/include%" */Makefile || die "sed failed"
# Allow user patches so they can support RC kernels and whatever else
default
}
src_install() {
linux-mod_src_install
local udevrules="${T}/60-vmware.rules"
cat > "${udevrules}" <<-EOF
KERNEL=="vmci", GROUP="vmware", MODE="660"
KERNEL=="vmw_vmci", GROUP="vmware", MODE="660"
KERNEL=="vmmon", GROUP="vmware", MODE="660"
KERNEL=="vsock", GROUP="vmware", MODE="660"
EOF
udev_dorules "${udevrules}"
dodir /etc/modprobe.d/
cat > "${D}"/etc/modprobe.d/vmware.conf <<-EOF
# Support for vmware vmci in kernel module
alias vmci vmw_vmci
EOF
export installed_modprobe_conf=1
dodir /etc/modprobe.d/
cat >> "${D}"/etc/modprobe.d/vmware.conf <<-EOF
# Support for vmware vsock in kernel module
alias vsock vmw_vsock_vmci_transport
EOF
export installed_modprobe_conf=1
}
pkg_postinst() {
linux-mod_pkg_postinst
ewarn "Don't forget to run '/etc/init.d/vmware restart' to use the new kernel modules."
}

+ 4
- 0
app-emulation/vmware-workstation/Manifest View File

@ -0,0 +1,4 @@
DIST VMware-Workstation-Full-15.5.6-16341506.x86_64.bundle 537843057 BLAKE2B edbefba7a250c27ccd53270ba4e6c41e233d3411c14e1f1287ec434cc5380bf530f190f042d1825eadb236572843d7a2ae5748f702fc578461b9fb3340eada4c SHA512 8f3eec75732be406092512ac9e821303d1999d4e6d113e3f3817a9a81f80c584bab58e5b01b797e765716587dbdfdbcca8a34cdfb6357b66affad41110f34b5f
DIST com.vmware.fusion-15.5.6.16341506.zip.tar 635852800 BLAKE2B 43c6378a516fa3ead0eed2e015b8ddf05650a00241320a0ca11ef857f32a15f579e2bd98715aef980c75fcbae86314d68ca7205bb59239b34dfc7270ea6bad25 SHA512 0d76837262465139853dbef8c3a8797e53119ed0eb88afa9968e5b8b2fc25226de10113ca734eaae7e76e4cc024a7adee103a21449e66ad27a717bffd9f70707
DIST unlocker-3.0.3.tar.gz 13521100 BLAKE2B 5fd3865d55bdc842b98f921e536f36103a69f635eabb741f17e4d6e3b0bda6c0561c082f5921e12c4ca49b9f10c9c12a9ea3be3c154e97979dbdbc3d4658528c SHA512 d83bd1ca0de2ce56d93479ec14d456cfdb7ebae07df631ec67aa3b97c5090ac0af8d2c02ed4373af06e8e980f84b801b78fb2c486cac62397b23e2af521fa020
DIST vmware-systemd-gentoo-02.tgz 14064 BLAKE2B 24ac2c2f295130f4aadad867ec88d652bd292cc60e6b471bb2e01069fe01d84dac3d8b0ca7690ebf218d663adfe0c1dc889d3f4f53cf3178b68291461260748b SHA512 3a382bfd5f1eb2b218d8012588ea55c1f22786dba35a1fc0fdfdb4e40b05e0e735ed09c6961684f6442e863c3ed72024ce01f19113bbd9ca47c32e3f43c55f42

+ 95
- 0
app-emulation/vmware-workstation/contrib/vmware-workstation-0-various-automation-hacks.patch View File

@ -0,0 +1,95 @@
Date: Tue Jan 1 04:50:30 2019 -0800
vmware-workstation: crude vmware-installer fixing attempt
Just enough to get the various automation things to actually
work in the client, on my box. No idea if this is maintainable
or what... feels gross since I have no idea how any of this crap
actually works.
from Arch.
Probably totally broken without vendored libs. Not upstream ready.
also, needs bin/vmrun first in ${PATH}:
#!/bin/bash
tree=/opt/vmware
stutter=vmware/lib
libstutter() {
echo "lib${1}.so.1.0.2"
}
libpath() {
echo "${tree}/${stutter}/${stutter}/$(libstutter "${1}")"
}
export LD_LIBRARY_PATH="$(libpath ssl):$(libpath crypto)${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}"
exec /opt/vmware/bin/vmrun "$@"
Maybe something like that needs to go in place of /opt/vmware/bin/vmrun?
---
.../vmware-workstation/files/vmware-server-15.0.rc | 6 +++++-
.../vmware-workstation-15.0.2.10952284-r2.ebuild | 19 ++++++++++++++++---
2 files changed, 21 insertions(+), 4 deletions(-)
diff --git a/app-emulation/vmware-workstation/files/vmware-server-15.0.rc b/app-emulation/vmware-workstation/files/vmware-server-15.0.rc
index 8f9b7dd..20b6b80 100644
--- a/app-emulation/vmware-workstation/files/vmware-server-15.0.rc
+++ b/app-emulation/vmware-workstation/files/vmware-server-15.0.rc
@@ -47,6 +47,10 @@ stop() {
--pidfile /var/run/vmware/vmware-hostd.PID
eend $?
ebegin Stopping VMware Authentication Daemon
- killall --wait vmware-authdlauncher
+ local needkill=1
+ killall -0 vmware-authdlauncher &>/dev/null || needkill=0
+ if [[ needkill -eq 1 ]]; then
+ kill -HUP --wait $(pidof vmware-authdlauncher)
+ fi
eend $?
}
diff --git a/app-emulation/vmware-workstation/vmware-workstation-15.0.2.10952284-r2.ebuild b/app-emulation/vmware-workstation/vmware-workstation-15.0.2.10952284-r2.ebuild
index c279020..ceb328b 100644
--- a/app-emulation/vmware-workstation/vmware-workstation-15.0.2.10952284-r2.ebuild
+++ b/app-emulation/vmware-workstation/vmware-workstation-15.0.2.10952284-r2.ebuild
@@ -346,10 +346,22 @@ src_install() {
rm -rf "${D}${VM_INSTALL_DIR}"/lib/vmware/*.so
# install the installer
- insinto "${VM_INSTALL_DIR}"/lib/vmware-installer/$vmware_installer_version
- doins vmware-installer/{vmis,vmis-launcher,vmware-installer,vmware-installer.py}
insinto /etc/vmware-installer
doins vmware-installer/bootstrap
+ sed -e "s|@@VERSION@@|${vmware_installer_version}|" \
+ -e "s|@@VMWARE_INSTALLER@@|/opt/vmware/lib/vmware-installer/${vmware_installer_version}|" \
+ -i "${D%/}"/etc/vmware-installer/bootstrap || die
+
+ exeinto "${VM_INSTALL_DIR}"/lib/vmware-installer/${vmware_installer_version}
+ doexe vmware-installer/{vmware-installer,vmis-launcher}
+
+ insinto "${VM_INSTALL_DIR}"/lib/vmware-installer/${vmware_installer_version}
+ doins vmware-installer/vmware-installer.py
+ doins -r vmware-installer/{artwork,.installer,vmis}
+ if use bundled-libs ; then
+ doins -r vmware-installer/{python,sopython}
+ doins -r vmware-installer/lib
+ fi
# workaround for hardcoded search paths needed during shared objects loading
if ! use bundled-libs ; then
@@ -382,7 +394,7 @@ src_install() {
doexe */vmware-config
# pam
- pamd_mimic_system vmware-authd auth account
+ pamd_mimic_system vmware-authd auth account password session
# fuse
insinto /etc/modprobe.d
@@ -471,6 +483,7 @@ src_install() {
dosym "${VM_INSTALL_DIR}"/lib/vmware/bin/vmplayer "${VM_INSTALL_DIR}"/bin/vmplayer
dosym "${VM_INSTALL_DIR}"/lib/vmware/bin/vmware "${VM_INSTALL_DIR}"/bin/vmware
dosym "${VM_INSTALL_DIR}"/lib/vmware/icu /etc/vmware/icu
+ dosym "${VM_INSTALL_DIR}"/lib/vmware-installer/${vmware_installer_version}/vmware-installer "${VM_INSTALL_DIR}"/bin/vmware-installer
# fix permissions
fperms 0755 "${VM_INSTALL_DIR}"/lib/vmware/bin/{appLoader,fusermount,mkisofs,vmware-remotemks}

+ 32
- 0
app-emulation/vmware-workstation/contrib/vmware-workstation-1-wierd-symlinks.patch View File

@ -0,0 +1,32 @@
Date: Wed Jan 2 15:11:27 2019 -0800
add wierd bin/vmware-netcfg & lib/libcrypto.so.1.0.2-x86-64 symlinks
---
.../vmware-workstation/vmware-workstation-15.0.2.10952284-r2.ebuild | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/app-emulation/vmware-workstation/vmware-workstation-15.0.2.10952284-r2.ebuild b/app-emulation/vmware-workstation/vmware-workstation-15.0.2.10952284-r2.ebuild
index ceb328b..89c24b1 100644
--- a/app-emulation/vmware-workstation/vmware-workstation-15.0.2.10952284-r2.ebuild
+++ b/app-emulation/vmware-workstation/vmware-workstation-15.0.2.10952284-r2.ebuild
@@ -345,6 +345,11 @@ src_install() {
doins -r */lib/* vmware-vmx/roms
rm -rf "${D}${VM_INSTALL_DIR}"/lib/vmware/*.so
+ # it wants this for whatever reason... fine, but what if ! use bundled-libs, still needed?
+ if use bundled-libs; then
+ dosym "libcrypto.so.1.0.2" "${VM_INSTALL_DIR}"/lib/vmware/lib/libcrypto.so.1.0.2-x86-64
+ fi
+
# install the installer
insinto /etc/vmware-installer
doins vmware-installer/bootstrap
@@ -482,6 +487,7 @@ src_install() {
done
dosym "${VM_INSTALL_DIR}"/lib/vmware/bin/vmplayer "${VM_INSTALL_DIR}"/bin/vmplayer
dosym "${VM_INSTALL_DIR}"/lib/vmware/bin/vmware "${VM_INSTALL_DIR}"/bin/vmware
+ dosym "${VM_INSTALL_DIR}"/lib/vmware/bin/vmware-netcfg "${VM_INSTALL_DIR}"/bin/vmware-netcfg
dosym "${VM_INSTALL_DIR}"/lib/vmware/icu /etc/vmware/icu
dosym "${VM_INSTALL_DIR}"/lib/vmware-installer/${vmware_installer_version}/vmware-installer "${VM_INSTALL_DIR}"/bin/vmware-installer

+ 27
- 0
app-emulation/vmware-workstation/contrib/vmware-workstation-2-more-symlinks.patch View File

@ -0,0 +1,27 @@
Date: Fri Jan 4 04:07:29 2019 -0800
Add a couple more symlinks and stuff for block-device mounting
---
.../vmware-workstation/vmware-workstation-15.0.2.10952284-r2.ebuild | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/app-emulation/vmware-workstation/vmware-workstation-15.0.2.10952284-r2.ebuild b/app-emulation/vmware-workstation/vmware-workstation-15.0.2.10952284-r2.ebuild
index 89c24b1..5e83794 100644
--- a/app-emulation/vmware-workstation/vmware-workstation-15.0.2.10952284-r2.ebuild
+++ b/app-emulation/vmware-workstation/vmware-workstation-15.0.2.10952284-r2.ebuild
@@ -482,12 +482,13 @@ src_install() {
# create symlinks for the various tools
local tool ; for tool in thnuclnt vmware vmplayer{,-daemon} licenseTool vmamqpd \
- vmware-{app-control,enter-serial,gksu,fuseUI,hostd,modconfig{,-console},netcfg,tray,unity-helper,vim-cmd,vmblock-fuse,vprobe,wssc-adminTool,zenity} ; do
+ vmware-{app-control,enter-serial,gksu,fuseUI,hostd,modconfig{,-console},netcfg,tray,unity-helper,vim-cmd,vmblock-fuse,vmware-fuseUI,vprobe,wssc-adminTool,zenity} ; do
dosym appLoader "${VM_INSTALL_DIR}"/lib/vmware/bin/"${tool}"
done
dosym "${VM_INSTALL_DIR}"/lib/vmware/bin/vmplayer "${VM_INSTALL_DIR}"/bin/vmplayer
dosym "${VM_INSTALL_DIR}"/lib/vmware/bin/vmware "${VM_INSTALL_DIR}"/bin/vmware
dosym "${VM_INSTALL_DIR}"/lib/vmware/bin/vmware-netcfg "${VM_INSTALL_DIR}"/bin/vmware-netcfg
+ dosym "${VM_INSTALL_DIR}"/lib/vmware/bin/vmware-fuseUI "${VM_INSTALL_DIR}"/bin/vmware-fuseUI
dosym "${VM_INSTALL_DIR}"/lib/vmware/icu /etc/vmware/icu
dosym "${VM_INSTALL_DIR}"/lib/vmware-installer/${vmware_installer_version}/vmware-installer "${VM_INSTALL_DIR}"/bin/vmware-installer

+ 20
- 0
app-emulation/vmware-workstation/files/configure-hostd.sh View File

@ -0,0 +1,20 @@
#!/bin/bash
action="$1"
case $action in
add)
rc-update -q add vmware-workstation-server default
rc-service vmware-workstation-server start
;;
remove)
rc-update -q del vmware-workstation-server default
rc-service vmware-workstation-server stop
;;
status)
rc-service -q vmware-workstation-server status
;;
*)
exit 1
;;
esac

+ 102
- 0
app-emulation/vmware-workstation/files/vmware-15.5.rc View File

@ -0,0 +1,102 @@
#!/sbin/openrc-run
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
depend() {
need localmount
use net
}
start() {
ebegin Starting VMware USB Arbitrator
@@BINDIR@@/vmware-usbarbitrator
eend $?
ebegin Starting VMware services
# vmci might be:
# 1) built as external kernel module
# 2) built as internal kernel module (with name vmw_vmci)
# 3) embedded in the kernel
for mod in /lib/modules/$(uname -r)/misc/vmci.ko \
/lib/modules/$(uname -r)/kernel/drivers/misc/vmw_vmci/vmw_vmci.ko ;
do
if [[ -f "${mod}" ]] ; then
modprobe -v $(basename "${mod}" .ko)
eend $?
break
fi
done
# vsock might be:
# 1) built as external kernel module
# 2) built as internal kernel module (with name vmw_vsock_vmci_transport)
# 3) embedded in the kernel
for mod in /lib/modules/$(uname -r)/misc/vsock.ko \
/lib/modules/$(uname -r)/kernel/net/vmw_vsock/vmw_vsock_vmci_transport.ko ;
do
if [[ -f "${mod}" ]] ; then
modprobe -v $(basename "${mod}" .ko)
eend $?
break
fi
done
# vmblock
if [[ -f /lib/modules/$(uname -r)/misc/vmblock.ko ]]; then
modprobe -v vmblock
eend $?
fi
# vmci or vsock were already loaded by the previous modprobe,
# no need to do it here
# quiet for vmci because it may not be there
modprobe -av vmmon vmnet
eend $?
@@BINDIR@@/vmware-networks --start
eend $?
}
stop() {
ebegin Stopping VMware USB Arbitrator
killall --wait vmware-usbarbitrator
eend $?
@@BINDIR@@/vmware-networks --stop
eend $?
ebegin Stopping VMware services
modprobe -rv vmmon vmnet
eend $?
# vsock might be:
# 1) built as external kernel module
# 2) built as internal kernel module (with name vmw_vsock_vmci_transport)
# 3) embedded in the kernel
for mod in /lib/modules/$(uname -r)/misc/vsock.ko \
/lib/modules/$(uname -r)/kernel/net/vmw_vsock/vmw_vsock_vmci_transport.ko ;
do
if [[ -f "${mod}" ]] ; then
modprobe -rv $(basename "${mod}" .ko)
eend $?
break
fi
done
# vmci might be:
# 1) built as external kernel module
# 2) built as internal kernel module (with name vmw_vmci)
# 3) embedded in the kernel
for mod in /lib/modules/$(uname -r)/misc/vmci.ko \
/lib/modules/$(uname -r)/kernel/drivers/misc/vmw_vmci/vmw_vmci.ko ;
do
if [[ -f "${mod}" ]] ; then
modprobe -rv $(basename "${mod}" .ko)
eend $?
break
fi
done
# vmblock
if [[ -f /lib/modules/$(uname -r)/misc/vmblock.ko ]]; then
modprobe -rv vmblock
eend $?
fi
}

+ 52
- 0
app-emulation/vmware-workstation/files/vmware-server-15.5.rc View File

@ -0,0 +1,52 @@
#!/sbin/openrc-run
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
depend() {
need localmount vmware
use net
}
checkconfig() {
checkpath -d /var/run/vmware
# Check if certificates exist. If not, we need to generate them, ala sshd.
if [ ! -e @@ETCDIR@@/ssl/rui.key -o ! -e @@ETCDIR@@/ssl/rui.crt ]; then
checkpath -d -m 0600 @@ETCDIR@@/ssl
openssl req -x509 -days 365 -newkey rsa:2048 -keyout @@ETCDIR@@/ssl/rui.key -out @@ETCDIR@@/ssl/rui.crt -config @@ETCDIR@@/ssl/hostd.ssl.config
checkpath -f -m 0600 @@ETCDIR@@/ssl/rui.key @@ETCDIR@@/ssl/rui.crt
fi
}
start() {
checkconfig
ebegin Starting VMware Authentication Daemon
start-stop-daemon --start \
--exec @@PREFIX@@/sbin/vmware-authdlauncher
eend $?
ebegin Starting VMware Workstation Server
start-stop-daemon --start \
--pidfile /var/run/vmware/vmware-hostd.PID \
--exec @@BINDIR@@/vmware-hostd \
-- -a -d @@ETCDIR@@/hostd/config.xml
eend $?
}
stop() {
ebegin "Shutdown VMs in the AutoStart Sequence"
local HOHO_ADMIN="$(@@BINDIR@@/vmware-wssc-adminTool "@@ETCDIR@@/hostd/authorization.xml" 2>/dev/null)"
if [ "x" != "x${HOHO_ADMIN}" ]; then
@@BINDIR@@/vmware-vim-cmd -U "${HOHO_ADMIN}" hostsvc/autostartmanager/autostop
fi
eend $?
ebegin Stopping VMware Workstation Server
start-stop-daemon --stop \
--pidfile /var/run/vmware/vmware-hostd.PID
eend $?
ebegin Stopping VMware Authentication Daemon
killall --wait vmware-authdlauncher
eend $?
}

+ 33
- 0
app-emulation/vmware-workstation/metadata.xml View File

@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>stefantalpalaru@yahoo.com</email>
<name>Ștefan Talpalaru</name>
</maintainer>
<longdescription>
VMWare Workstation is a virtual machine which can be used to install
other operating systems in a virtual environment to run on top of Gentoo.
</longdescription>
<use>
<flag name="macos-guests">Support macOS guests.</flag>
<flag name="modules">Install <pkg>app-emulation/vmware-modules</pkg> in order to run VMs locally.</flag>
<flag name="ovftool">Install OVF tool.</flag>
<flag name="vix">Install VIX. The VIX API allows you to write programs and scripts
that automate virtual machine operations, and run programs or manipulate
files within guest operating systems.
</flag>
<flag name="vmware-tools-darwin">Install VMware Tools for OS X (El Capitan and later) guests.</flag>
<flag name="vmware-tools-darwinPre15">Install VMware Tools for OS X (up to Yosemite) guests.</flag>
<flag name="vmware-tools-linux">Install VMware Tools for Linux guests.</flag>
<flag name="vmware-tools-linuxPreGlibc25">Install VMware Tools for Linux (glibc older than 2.5) guests.</flag>
<flag name="vmware-tools-netware">Install VMware Tools for Netware guests.</flag>
<flag name="vmware-tools-solaris">Install VMware Tools for Solaris guests.</flag>
<flag name="vmware-tools-windows">Install VMware Tools for Windows (Vista and later) guests.</flag>
<flag name="vmware-tools-winPre2k">Install VMware Tools for Windows (before 2000) guests.</flag>
<flag name="vmware-tools-winPreVista">Install VMware Tools for Windows (after 2000, before Vista) guests.</flag>
</use>
<upstream>
<remote-id type="github">akhuettel/systemd-vmware</remote-id>
</upstream>
</pkgmetadata>

+ 546
- 0
app-emulation/vmware-workstation/vmware-workstation-15.5.6.16341506.ebuild View File

@ -0,0 +1,546 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit eapi7-ver eutils readme.gentoo-r1 gnome2-utils pam systemd xdg-utils
MY_PN="VMware-Workstation-Full"
MY_PV=$(ver_cut 1-3)
PV_MODULES="${MY_PV}"
PV_BUILD=$(ver_cut 4)
MY_P="${MY_PN}-${MY_PV}-${PV_BUILD}"
VMWARE_FUSION_VER="11.5.5/16269456" # https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/
SYSTEMD_UNITS_TAG="gentoo-02"
UNLOCKER_VERSION="3.0.3"
DESCRIPTION="Emulate a complete PC without the performance overhead of most emulators"
HOMEPAGE="http://www.vmware.com/products/workstation/"
SRC_URI="
https://download3.vmware.com/software/wkst/file/${MY_P}.x86_64.bundle
macos-guests? (
https://github.com/paolo-projects/unlocker/archive/${UNLOCKER_VERSION}.tar.gz -> unlocker-${UNLOCKER_VERSION}.tar.gz
vmware-tools-darwinPre15? ( https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/${VMWARE_FUSION_VER}/core/com.vmware.fusion.zip.tar -> com.vmware.fusion-${PV}.zip.tar )
vmware-tools-darwin? ( https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/${VMWARE_FUSION_VER}/core/com.vmware.fusion.zip.tar -> com.vmware.fusion-${PV}.zip.tar )
)
systemd? ( https://github.com/akhuettel/systemd-vmware/archive/${SYSTEMD_UNITS_TAG}.tar.gz -> vmware-systemd-${SYSTEMD_UNITS_TAG}.tgz )
"
LICENSE="GPL-2 GPL-3 MIT-with-advertising vmware"
SLOT="0"
KEYWORDS="~amd64"
# the kernel modules are optional because they're not needed to connect to VMs
# running on remote systems - https://bugs.gentoo.org/604426
IUSE="cups doc macos-guests +modules ovftool systemd vix"
DARWIN_GUESTS="darwin darwinPre15"
IUSE_VMWARE_GUESTS="${DARWIN_GUESTS} linux linuxPreGlibc25 netware solaris windows winPre2k winPreVista"
for guest in ${IUSE_VMWARE_GUESTS}; do
IUSE+=" vmware-tools-${guest}"
done
REQUIRED_USE="
vmware-tools-darwin? ( macos-guests )
vmware-tools-darwinPre15? ( macos-guests )
"
RESTRICT="mirror preserve-libs strip"
# vmware should not use virtual/libc as this is a
# precompiled binary package thats linked to glibc.
RDEPEND="
app-arch/bzip2
app-arch/unzip
app-shells/bash
dev-db/sqlite:3
dev-libs/dbus-glib
dev-libs/gmp:0
dev-libs/icu
dev-libs/json-c
dev-libs/nettle:0
gnome-base/dconf
gnome-base/gconf
gnome-base/libgnome-keyring
media-gfx/graphite2
media-libs/alsa-lib
media-libs/libart_lgpl
media-libs/libvorbis
media-libs/mesa
media-plugins/alsa-plugins[speex]
net-dns/libidn
net-libs/gnutls
cups? ( net-print/cups )
sys-apps/tcp-wrappers
sys-apps/util-linux
x11-libs/libXxf86vm
x11-libs/libdrm
x11-libs/libxshmfence
x11-libs/startup-notification
x11-libs/xcb-util
x11-themes/hicolor-icon-theme
!app-emulation/vmware-player
!app-emulation/vmware-tools
"
DEPEND="
dev-lang/python:2.7
>=dev-util/patchelf-0.9
modules? ( ~app-emulation/vmware-modules-${PV_MODULES} )
ovftool? ( app-admin/chrpath )
"
S=${WORKDIR}/extracted
VM_INSTALL_DIR="/opt/vmware"
VM_DATA_STORE_DIR="/var/lib/vmware/Shared VMs"
VM_HOSTD_USER="root"
QA_PREBUILT="/opt/*"
QA_WX_LOAD="opt/vmware/lib/vmware/tools-upgraders/vmware-tools-upgrader-32 opt/vmware/lib/vmware/bin/vmware-vmx-stats opt/vmware/lib/vmware/bin/vmware-vmx-debug opt/vmware/lib/vmware/bin/vmware-vmx"
# adding "opt/vmware/lib/vmware/lib/libvmware-gksu.so/libvmware-gksu.so" to QA_WX_LOAD doesn't work
src_unpack() {
if has usersandbox ${FEATURES}; then
ewarn "You are emerging ${P} with 'usersandbox' enabled." \
"If unpacking fails, try emerging with 'FEATURES=-usersandbox'!"
fi
for a in ${A}; do
if [ ${a##*.} == 'bundle' ]; then
cp "${DISTDIR}/${a}" "${WORKDIR}"
else
unpack ${a}
fi
done
export LC_ALL=C # https://communities.vmware.com/thread/618570?start=15&tstart=0
local bundle="${MY_P}.x86_64.bundle"
chmod 755 "${bundle}"
# this needs a /tmp mounted without "noexec" because it extracts and executes scripts in there
./${bundle} --console --required --eulas-agreed --extract=extracted || die "unable to extract bundle"
if ! use vix; then
rm -r extracted/vmware-vix-core extracted/vmware-vix-lib-Workstation* || die "unable to remove dir"
fi
if use vmware-tools-darwinPre15 || use vmware-tools-darwin; then
unzip -q com.vmware.fusion.zip || die
for guest in ${DARWIN_GUESTS}; do
if use vmware-tools-${guest}; then
mkdir extracted/vmware-tools-${guest}
mv "payload/VMware Fusion.app/Contents/Library/isoimages/${guest}.iso" extracted/vmware-tools-${guest}/ || die
fi
done
rm -rf __MACOSX payload manifest.plist preflight postflight com.vmware.fusion.zip
fi
}
src_prepare() {
default
rm -f */bin/vmware-modconfig
rm -rf */lib/modules/binary
# Bug 459566
mkdir vmware-network-editor/lib/lib
mv vmware-network-editor/lib/libvmware-netcfg.so vmware-network-editor/lib/lib/
rm -f vmware-workstation-server/bin/{openssl,configure-hostd.sh}
if use ovftool; then
chrpath -d vmware-ovftool/libcurl.so.4
fi
if use macos-guests; then
sed -i -e "s#vmx_path = '/usr#vmx_path = '${ED}${VM_INSTALL_DIR//\//\\/}#" \
-e "s#os\.path\.isfile('/usr#os.path.isfile('${ED}${VM_INSTALL_DIR//\//\\/}#" \
-e "s#vmwarebase = '/usr#vmwarebase = '${ED}${VM_INSTALL_DIR//\//\\/}#" \
"${WORKDIR}"/unlocker-*/unlocker.py
fi
DOC_CONTENTS="
/etc/env.d is updated during ${PN} installation. Please run:\n
'env-update && source /etc/profile'\n
Before you can use ${PN}, you must configure a default network setup.
You can do this by running 'emerge --config ${PN}'.\n
To be able to run ${PN} your user must be in the vmware group.\n
"
}
src_install() {
local major_minor=$(ver_cut 1-2 "${PV}")
local vmware_installer_version=$(cat "${S}/vmware-installer/manifest.xml" | grep -oPm1 "(?<=<version>)[^<]+")
# revdep-rebuild entry
insinto /etc/revdep-rebuild
echo "SEARCH_DIRS_MASK=\"${VM_INSTALL_DIR}\"" >> ${T}/10${PN}
doins "${T}"/10${PN}
# install the binaries
into "${VM_INSTALL_DIR}"
dobin */bin/*
dosbin */sbin/*
rm "${ED}${VM_INSTALL_DIR}"/bin/configure-initscript.sh
# install the libraries
insinto "${VM_INSTALL_DIR}"/lib/vmware
doins -r */lib/* vmware-vmx/roms
rm -rf "${ED}${VM_INSTALL_DIR}"/lib/vmware/*.so
# install the installer
insinto "${VM_INSTALL_DIR}"/lib/vmware-installer/${vmware_installer_version}
doins -r vmware-installer/{cdsHelper,vmis,vmis-launcher,vmware-cds-helper,vmware-installer,vmware-installer.py}
fperms 0755 "${VM_INSTALL_DIR}"/lib/vmware-installer/${vmware_installer_version}/{vmis-launcher,cdsHelper,vmware-installer}
dosym "${VM_INSTALL_DIR}"/lib/vmware-installer/${vmware_installer_version}/vmware-installer "${VM_INSTALL_DIR}"/bin/vmware-installer
insinto /etc/vmware-installer
doins vmware-installer/bootstrap
sed -i \
-e "s/@@VERSION@@/${vmware_installer_version}/" \
-e "s,@@VMWARE_INSTALLER@@,${VM_INSTALL_DIR}/lib/vmware-installer/${vmware_installer_version}," \
"${ED}/etc/vmware-installer/bootstrap"
# install the ancillaries
insinto /usr
doins -r */share
if use cups; then
exeinto $(cups-config --serverbin)/filter
doexe */extras/thnucups
insinto /etc/cups
doins -r */etc/cups/*
fi
# Hardcoded EULA path. We need to disable the default compression.
insinto /usr/share/doc/vmware-workstation
doins vmware-workstation/doc/EULA
docompress -x /usr/share/doc/vmware-workstation
# always needed
insinto /usr/lib/vmware-ovftool
doins vmware-ovftool/vmware.eula
if use doc; then
dodoc -r */doc/*
fi
exeinto "${VM_INSTALL_DIR}"/lib/vmware/setup
doexe */vmware-config
# pam
pamd_mimic_system vmware-authd auth account
# fuse
insinto /etc/modprobe.d
newins vmware-vmx/etc/modprobe.d/modprobe-vmware-fuse.conf vmware-fuse.conf
# install vmware workstation server
cd "${S}"/vmware-workstation-server
# install binaries
into "${VM_INSTALL_DIR}"/lib/vmware
dobin "${FILESDIR}"/configure-hostd.sh
# install the libraries
insinto "${VM_INSTALL_DIR}"/lib/vmware/lib
doins -r lib/*
into "${VM_INSTALL_DIR}"
for tool in vmware-hostd wssc-adminTool ; do
cat > "${T}/${tool}" <<-EOF
#!/usr/bin/env bash
set -e
. /etc/vmware/bootstrap
exec "${VM_INSTALL_DIR}/lib/vmware/bin/${tool}" \\
"\$@"
EOF
dobin "${T}/${tool}"
done
insinto "${VM_INSTALL_DIR}"/lib/vmware
doins -r hostd
# create the configuration
insinto /etc/vmware
doins -r config/etc/vmware/*
doins -r etc/vmware/*
# create directory for shared virtual machines.
keepdir "${VM_DATA_STORE_DIR}"
keepdir /var/log/vmware
cd - >/dev/null
# install vmware-vix
if use vix; then
# install the binary
into "${VM_INSTALL_DIR}"
dobin "$S"/vmware-vix-*/bin/*
# install the libraries
insinto "${VM_INSTALL_DIR}"/lib/vmware-vix
doins -r "$S"/vmware-vix-*/lib/*
dosym vmware-vix/libvixAllProducts.so "${VM_INSTALL_DIR}"/lib/libbvixAllProducts.so
# install headers
insinto /usr/include/vmware-vix
doins "$S"/vmware-vix-*/include/*
if use doc; then
dodoc -r "$S"/vmware-vix-*/doc/*
fi
fi
# install ovftool
if use ovftool; then
cd "${S}"/vmware-ovftool
insinto "${VM_INSTALL_DIR}"/lib/vmware-ovftool
doins -r *
chmod 0755 "${ED}${VM_INSTALL_DIR}"/lib/vmware-ovftool/{ovftool,ovftool.bin}
dosym "${ED}${VM_INSTALL_DIR}"/lib/vmware-ovftool/ovftool "${VM_INSTALL_DIR}"/bin/ovftool
cd - >/dev/null
fi
# create symlinks for the various tools
local tool;
for tool in thnuclnt vmware vmplayer{,-daemon} licenseTool vmamqpd \
vmware-{app-control,enter-serial,gksu,fuseUI,hostd,modconfig{,-console},netcfg,setup-helper,tray,unity-helper,vim-cmd,vmblock-fuse,vprobe,wssc-adminTool,zenity}; do
dosym appLoader "${VM_INSTALL_DIR}"/lib/vmware/bin/"${tool}"
done
dosym "${VM_INSTALL_DIR}"/lib/vmware/bin/vmplayer "${VM_INSTALL_DIR}"/bin/vmplayer
dosym "${VM_INSTALL_DIR}"/lib/vmware/bin/vmware "${VM_INSTALL_DIR}"/bin/vmware
dosym "${VM_INSTALL_DIR}"/lib/vmware/bin/vmware-fuseUI "${VM_INSTALL_DIR}"/bin/vmware-fuseUI
dosym "${VM_INSTALL_DIR}"/lib/vmware/bin/vmware-netcfg "${VM_INSTALL_DIR}"/bin/vmware-netcfg
dosym "${VM_INSTALL_DIR}"/lib/vmware/icu /etc/vmware/icu
# fix permissions
fperms 0755 "${VM_INSTALL_DIR}"/lib/vmware/bin/{appLoader,fusermount,mkisofs,vmware-remotemks}
fperms 0755 "${VM_INSTALL_DIR}"/lib/vmware/setup/vmware-config
fperms 4711 "${VM_INSTALL_DIR}"/lib/vmware/bin/vmware-vmx{,-debug,-stats}
fperms 0755 "${VM_INSTALL_DIR}"/lib/vmware/lib/libvmware-gksu.so/gksu-run-helper
fperms 4711 "${VM_INSTALL_DIR}"/sbin/vmware-authd
fperms 0755 "${VM_INSTALL_DIR}"/bin/{vmware-hostd,wssc-adminTool}
fperms 1777 "${VM_DATA_STORE_DIR}"
if use vix; then
fperms 0755 "${VM_INSTALL_DIR}"/lib/vmware-vix/setup/vmware-config
fi
# create the environment
local envd="${T}/90vmware"
cat > "${envd}" <<-EOF
PATH='${VM_INSTALL_DIR}/bin'
ROOTPATH='${VM_INSTALL_DIR}/bin'
CONFIG_PROTECT_MASK='/etc/vmware-installer'
EOF
echo 'VMWARE_USE_SHIPPED_LIBS=1' >> "${envd}"
doenvd "${envd}"
# create the configuration
dodir /etc/vmware
cat > "${ED}"/etc/vmware/bootstrap <<-EOF
BINDIR='${VM_INSTALL_DIR}/bin'
LIBDIR='${VM_INSTALL_DIR}/lib'
EOF
cat > "${ED}"/etc/vmware/config <<-EOF
.encoding = "UTF-8"
bindir = "${VM_INSTALL_DIR}/bin"
libdir = "${VM_INSTALL_DIR}/lib/vmware"
initscriptdir = "/etc/init.d"
authd.fullpath = "${VM_INSTALL_DIR}/sbin/vmware-authd"
gksu.rootMethod = "su"
VMCI_CONFED = "no"
VMBLOCK_CONFED = "no"
VSOCK_CONFED = "no"
NETWORKING = "yes"
player.product.version = "${MY_PV}"
product.buildNumber = "${PV_BUILD}"
product.version = "${MY_PV}"
product.name = "VMware Workstation"
workstation.product.version = "${MY_PV}"
vmware.fullpath = "${VM_INSTALL_DIR}/bin/vmware"
installerDefaults.componentDownloadEnabled = "no"
installerDefaults.autoSoftwareUpdateEnabled.epoch = "4641104763"
installerDefaults.dataCollectionEnabled.epoch = "7910652514"
installerDefaults.dataCollectionEnabled = "no"
installerDefaults.transferVersion = "1"
installerDefaults.autoSoftwareUpdateEnabled = "no"
acceptEULA = "yes"
acceptOVFEULA = "yes"
EOF
if use vix; then
cat >> "${ED}"/etc/vmware/config <<-EOF
vix.libdir = "${VM_INSTALL_DIR}/lib/vmware-vix"
vix.config.version = "1"
EOF
fi
cat >> "${ED}"/etc/vmware/config <<-EOF
authd.client.port = "902"
authd.proxy.nfc = "vmware-hostd:ha-nfc"
authd.soapserver = "TRUE"
EOF
if use modules; then
# install the init.d script
local initscript="${T}/vmware.rc"
sed -e "s:@@BINDIR@@:${VM_INSTALL_DIR}/bin:g" \
"${FILESDIR}/vmware-${major_minor}.rc" > "${initscript}" || die
newinitd "${initscript}" vmware
fi
# install the init.d script
local initscript="${T}/vmware-workstation-server.rc"
sed -e "s:@@ETCDIR@@:/etc/vmware:g" \
-e "s:@@PREFIX@@:${VM_INSTALL_DIR}:g" \
-e "s:@@BINDIR@@:${VM_INSTALL_DIR}/bin:g" \
-e "s:@@LIBDIR@@:${VM_INSTALL_DIR}/lib/vmware:g" \
"${FILESDIR}/vmware-server-${major_minor}.rc" > ${initscript} || die
newinitd "${initscript}" vmware-workstation-server
# fill in variable placeholders
sed -e "s:@@LIBCONF_DIR@@:${VM_INSTALL_DIR}/lib/vmware/libconf:g" \
-i "${ED}${VM_INSTALL_DIR}"/lib/vmware/libconf/etc/gtk-3.0/gdk-pixbuf.loaders || die
sed -e "s:@@BINARY@@:${EPREFIX}${VM_INSTALL_DIR}/bin/vmplayer:g" \
-e "/^Encoding/d" \
-i "${ED}/usr/share/applications/vmware-player.desktop" || die
sed -e "s:@@BINARY@@:${EPREFIX}${VM_INSTALL_DIR}/bin/vmware:g" \
-e "/^Encoding/d" \
-i "${ED}/usr/share/applications/vmware-workstation.desktop" || die
sed -e "s:@@BINARY@@:${EPREFIX}${VM_INSTALL_DIR}/bin/vmware-netcfg:g" \
-e "/^Encoding/d" \
-i "${ED}/usr/share/applications/vmware-netcfg.desktop" || die
# Configuration for vmware-workstation-server
local hostdUser="${VM_HOSTD_USER:-root}"
sed -e "/ACEDataUser/s:root:${hostdUser}:g" \
-i "${ED}/etc/vmware/hostd/authorization.xml" || die
# Shared VMs Path: [standard].
sed -e "s:##{DS_NAME}##:standard:g" \
-e "s:##{DS_PATH}##:${VM_DATA_STORE_DIR}:g" \
-i "${ED}/etc/vmware/hostd/datastores.xml" || die
sed -e "s:##{HTTP_PORT}##:-1:g" \
-e "s:##{HTTPS_PORT}##:443:g" \
-e "s:##{PIPE_PREFIX}##:/var/run/vmware/:g" \
-i "${ED}/etc/vmware/hostd/proxy.xml" || die
# See vmware-workstation-server.py for more details.
sed -e "s:##{BUILD_CFGDIR}##:/etc/vmware/hostd/:g" \
-e "s:##{CFGALTDIR}##:/etc/vmware/hostd/:g" \
-e "s:##{CFGDIR}##:/etc/vmware/:g" \
-e "s:##{ENABLE_AUTH}##:true:g" \
-e "s:##{HOSTDMODE}##:ws:g" \
-e "s:##{HOSTD_CFGDIR}##:/etc/vmware/hostd/:g" \
-e "s:##{HOSTD_MOCKUP}##:false:g" \
-e "s:##{LIBDIR}##:${VM_INSTALL_DIR}/lib/vmware:g" \
-e "s:##{LIBDIR_INSTALLED}##:${VM_INSTALL_DIR}/lib/vmware/:g" \
-e "s:##{LOGDIR}##:/var/log/vmware/:g" \
-e "s:##{LOGLEVEL}##:verbose:g" \
-e "s:##{MOCKUP}##:mockup-host-config.xml:g" \
-e "s:##{PLUGINDIR}##:./:g" \
-e "s:##{SHLIB_PREFIX}##:lib:g" \
-e "s:##{SHLIB_SUFFIX}##:.so:g" \
-e "s:##{USE_BLKLISTSVC}##:false:g" \
-e "s:##{USE_CBRCSVC}##:false:g" \
-e "s:##{USE_CIMSVC}##:false:g" \
-e "s:##{USE_DIRECTORYSVC}##:false:g" \
-e "s:##{USE_DIRECTORYSVC_MOCKUP}##:false:g" \
-e "s:##{USE_DYNAMIC_PLUGIN_LOADING}##:false:g" \
-e "s:##{USE_DYNAMO}##:false:g" \
-e "s:##{USE_DYNSVC}##:false:g" \
-e "s:##{USE_GUESTSVC}##:false:g" \
-e "s:##{USE_HBRSVC}##:false:g" \
-e "s:##{USE_HBRSVC_MOCKUP}##:false:g" \
-e "s:##{USE_HOSTSPECSVC}##:false:g" \
-e "s:##{USE_HOSTSVC_MOCKUP}##:false:g" \
-e "s:##{USE_HTTPNFCSVC}##:false:g" \
-e "s:##{USE_HTTPNFCSVC_MOCKUP}##:false:g" \
-e "s:##{USE_LICENSESVC_MOCKUP}##:false:g" \
-e "s:##{USE_NFCSVC}##:true:g" \
-e "s:##{USE_NFCSVC_MOCKUP}##:false:g" \
-e "s:##{USE_OVFMGRSVC}##:true:g" \
-e "s:##{USE_PARTITIONSVC}##:false:g" \
-e "s:##{USE_SECURESOAP}##:false:g" \
-e "s:##{USE_SNMPSVC}##:false:g" \
-e "s:##{USE_SOLO_MOCKUP}##:false:g" \
-e "s:##{USE_STATSSVC}##:false:g" \
-e "s:##{USE_STATSSVC_MOCKUP}##:false:g" \
-e "s:##{USE_VCSVC_MOCKUP}##:false:g" \
-e "s:##{USE_VSLMSVC}##:false:g" \
-e "s:##{USE_VSLMSVC_MOCKUP}##:false:g" \
-e "s:##{USE_VDISKSVC}##:false:g" \
-e "s:##{USE_VDISKSVC_MOCKUP}##:false:g" \
-e "s:##{USE_VMSVC_MOCKUP}##:false:g" \
-e "s:##{VM_INVENTORY}##:vmInventory.xml:g" \
-e "s:##{VM_RESOURCES}##:vmResources.xml:g" \
-e "s:##{WEBSERVER_PORT_ENTRY}##::g" \
-e "s:##{WORKINGDIR}##:./:g" \
-i "${ED}/etc/vmware/hostd/config.xml" || die
sed -e "s:##{ENV_LOCATION}##:/etc/vmware/hostd/env/:g" \
-i "${ED}/etc/vmware/hostd/environments.xml" || die
# @@VICLIENT_URL@@=XXX
sed -e "s:@@AUTHD_PORT@@:902:g" \
-i "${ED}${VM_INSTALL_DIR}/lib/vmware/hostd/docroot/client/clients.xml" || die
# install systemd unit files
if use systemd; then
systemd_dounit "${WORKDIR}/systemd-vmware-${SYSTEMD_UNITS_TAG}/"*.{service,target}
fi
# enable macOS guests support
if use macos-guests; then
python2 "${WORKDIR}"/unlocker-*/unlocker.py >/dev/null || die "unlocker.py failed"
fi
# VMware tools
for guest in ${IUSE_VMWARE_GUESTS}; do
if use vmware-tools-${guest}; then
local dbfile="${ED}/etc/vmware-installer/database"
if ! [ -e "${dbfile}" ]; then
> "${dbfile}"
sqlite3 "${dbfile}" "CREATE TABLE settings(key VARCHAR PRIMARY KEY, value VARCHAR NOT NULL, component_name VARCHAR NOT NULL);"
sqlite3 "${dbfile}" "INSERT INTO settings(key,value,component_name) VALUES('db.schemaVersion','2','vmware-installer');"
sqlite3 "${dbfile}" "CREATE TABLE components(id INTEGER PRIMARY KEY, name VARCHAR NOT NULL, version VARCHAR NOT NULL, buildNumber INTEGER NOT NULL, component_core_id INTEGER NOT NULL, longName VARCHAR NOT NULL, description VARCHAR, type INTEGER NOT NULL);"
fi
local manifest="vmware-tools-${guest}/manifest.xml"
if [ -e "${manifest}" ]; then
local version="$(grep -oPm1 '(?<=<version>)[^<]+' ${manifest})"
sqlite3 "${dbfile}" "INSERT INTO components(name,version,buildNumber,component_core_id,longName,description,type) VALUES(\"vmware-tools-$guest\",\"$version\",\"${PV_BUILD}\",1,\"$guest\",\"$guest\",1);"
else
sqlite3 "${dbfile}" "INSERT INTO components(name,version,buildNumber,component_core_id,longName,description,type) VALUES(\"vmware-tools-$guest\",\"${VMWARE_FUSION_VER%/*}\",\"${VMWARE_FUSION_VER#*/}\",1,\"$guest\",\"$guest\",1);"
fi
insinto "${VM_INSTALL_DIR}/lib/vmware/isoimages"
doins vmware-tools-${guest}/${guest}.iso
fi
done
readme.gentoo_create_doc
}
pkg_config() {
"${VM_INSTALL_DIR}"/bin/vmware-networks --postinstall ${PN},old,new
}
pkg_preinst() {
gnome2_icon_savelist
}
pkg_postinst() {
xdg_desktop_database_update
xdg_mimeinfo_database_update
gnome2_icon_cache_update
readme.gentoo_print_elog
}
pkg_postrm() {
xdg_desktop_database_update
xdg_mimeinfo_database_update
gnome2_icon_cache_update
}

Loading…
Cancel
Save