diff options
-rw-r--r-- | .SRCINFO | 30 | ||||
-rw-r--r-- | PKGBUILD | 80 | ||||
-rw-r--r-- | config | 36 | ||||
-rw-r--r-- | config.xml | 3 | ||||
-rw-r--r-- | environments.xml | 82 | ||||
-rw-r--r-- | unlocker.py | 21 | ||||
-rw-r--r-- | vmmon.patch | 159 | ||||
-rw-r--r-- | vmnet.patch | 27 | ||||
-rw-r--r-- | vmware-bootstrap (renamed from bootstrap) | 0 |
9 files changed, 132 insertions, 306 deletions
@@ -1,7 +1,7 @@ pkgbase = vmware-workstation pkgdesc = The industry standard for running multiple operating systems as virtual machines on a single Linux PC. - pkgver = 15.1.0 - pkgrel = 5 + pkgver = 15.5.0 + pkgrel = 1 url = https://www.vmware.com/products/workstation-for-linux.html install = vmware-workstation.install arch = x86_64 @@ -9,7 +9,6 @@ pkgbase = vmware-workstation makedepends = sqlite makedepends = python2 makedepends = unzip - depends = vmware-keymaps depends = dkms depends = ncurses5-compat-libs depends = fuse2 @@ -20,6 +19,7 @@ pkgbase = vmware-workstation depends = hicolor-icon-theme depends = gtk3 depends = gcr + depends = vmware-keymaps optdepends = linux-headers: build modules against Arch kernel provides = vmware-ovftool conflicts = vmware-modules-dkms @@ -39,8 +39,8 @@ pkgbase = vmware-workstation backup = etc/vmware/ssl/hostd.ssl.config backup = etc/pam.d/vmware-authd backup = etc/conf.d/vmware - source = https://download3.vmware.com/software/wkst/file/VMware-Workstation-Full-15.1.0-13591040.x86_64.bundle - source = bootstrap + source = https://download3.vmware.com/software/wkst/file/VMware-Workstation-Full-15.5.0-14665864.x86_64.bundle + source = vmware-bootstrap source = vmware-vix-bootstrap source = config source = pam.d-vmware-authd @@ -61,19 +61,18 @@ pkgbase = vmware-workstation source = Makefile source = vmmon.patch source = vmnet.patch - source = darwinPre15-tools-11.1.0_13668589.zip.tar::https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/11.1.0/13668589/packages/com.vmware.fusion.tools.darwinPre15.zip.tar - source = darwin-tools-11.1.0_13668589.zip.tar::https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/11.1.0/13668589/packages/com.vmware.fusion.tools.darwin.zip.tar + source = VMware-Fusion-11.5.0-14634996.zip.tar::https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/11.5.0/14634996/core/com.vmware.fusion.zip.tar source = unlocker.py - sha256sums = 55f8b9d4015fa958eba1aac72cc9985d34f22d1df5d027d7c34f1f4bf4f0c01d + sha256sums = b557b4dcebefb51466da5b33dc51549537b0d381864b6155c3a48a66801a8597 sha256sums = 12e7b16abf8d7e858532edabb8868919c678063c566a6535855b194aac72d55e sha256sums = da1698bf4e73ae466c1c7fc93891eba4b9c4581856649635e6532275dbfea141 - sha256sums = 53af82a619c8b1bca39bb493beb0ff031c978bb763715ef264b135f4a1d67d1e + sha256sums = ce3b1a82d9ed023b7591168bd49b218040ef70d1752a07792b0af6ac15a68453 sha256sums = d50aa0a3fe94025178965d988e18d41eb60aa1ce2b28ee6e3ca15edeabfa2ca7 sha256sums = 8e4d08668a66be79a900521792b39c16a026cc90659241edee80b64e701bfbcd sha256sums = b94959a11b28e51b541321be0588190eb10825e9ff55cbd16eb01483a839a69f - sha256sums = 6873de5bf5a9ebb795101693919ce73b52f65c2f2c232584bb1382dce60f1d51 + sha256sums = ce1fd2916c7dde0ed0fa3158c0e3055bbc84f6c397464e3a10776aeb35d9828f sha256sums = 434cd4aa440d36b75ee20e0b588aaad874bb0d796173990bc4046667c66f5099 - sha256sums = 27a64a3811b864c945fb2de318f4beffabdb59bccd3a77820ec7b547cf5fe430 + sha256sums = cceaec1837fce1e03fa76cf0bf39eb01b19f4ffa45eb986d62221282682deb82 sha256sums = 3c802523606184a5e8ebbe931d9c6c70d83ff8c6833b9f48aa264f0bd5a18a88 sha256sums = ad522a8cbc6103134ce5e677a01b503cd21875cbceb37bd13fd870ebd9ad0e6d sha256sums = f9440479f3ae5ad0a39bba3150276627878bf83d6879444fb327c53a1dbb5a4d @@ -84,11 +83,10 @@ pkgbase = vmware-workstation sha256sums = d7a9fbf39a0345ae2f14f7f389f30b1110f605d187e0c241e99bbb18993c250d sha256sums = 05e26d8b21d190ebabb7f693998114d9d5991d9dfb71acb4d990293a65b6b487 sha256sums = 6ce902b1dab8fc69be253abd8e79017011985eca850ff7acc7282f9ab668e35d - sha256sums = 88d1444b57a987bb7fb400b5dc51ac9b6b11afa8aca0c94f88a20e0f8d520299 - sha256sums = 623a575aade146b744bc7543513dc9eb0b604432ecbfd394001552c0f8b08f6f - sha256sums = b228af2f5f7b5eed3a4f574645e823e92dbd95945a5dce343f51445f0cc83b1c - sha256sums = 7bc24a658c0a91ea21ffda67becb9bc40f1e2592ff74020be7c174af1b81f554 - sha256sums = 29e0b0db9c0296ab81eee543803c4bd430e2c69c76e33492910e17280da1c05c + sha256sums = 1060b5d45caeda5119b220fab4e1ece398af34d75131139a5dc6f74ee06672c3 + sha256sums = 7c3b6a7871b19e31fafdcc2631751dd9569196740d8e7c2026653d155c0c8da0 + sha256sums = ed819604cb9c0f204e377f16b8678103467d2cf4a50129932e2b1a9a000ad8cf + sha256sums = ecf6d9186f109ec420287bd327e1f1f407de8e4b9e3faa23828bcf903f6246c6 pkgname = vmware-workstation @@ -7,17 +7,24 @@ #_enable_macOS_guests=y -# CAUTION: Run macOS on a non Apple computer may be forbidden in your country. +# CAUTION: Running macOS on VMware Workstation on non Apple computer is forbidden by +# Apple and VMware EULAs. # Source of the patch: https://github.com/DrDonk/unlocker -# Forum: http://www.insanelymac.com/forum/topic/303311-workstation-1112-player-712-fusion-78-and-esxi-6-mac-os-x-unlocker-2 +# Forum: https://www.insanelymac.com/forum/topic/335757-macos-unlocker-v30-for-vmware-workstation/ ############################################################################ +# vmware-keymaps dependency is needed to avoid some conflicts when you install +# this package with vmware-horizon-client. If you don't plan to install +# vmware-horizon-client and don't want to add this dependency, you can +# uncomment the line below: +#_remove_vmware_keymaps_dependency=y + #PKGEXT=.pkg.tar pkgname=vmware-workstation -pkgver=15.1.0 -_buildver=13591040 +pkgver=15.5.0 +_buildver=14665864 _pkgver=${pkgver}_${_buildver} -pkgrel=5 +pkgrel=1 pkgdesc='The industry standard for running multiple operating systems as virtual machines on a single Linux PC.' arch=(x86_64) url='https://www.vmware.com/products/workstation-for-linux.html' @@ -33,7 +40,6 @@ provides=( vmware-ovftool ) depends=( - vmware-keymaps dkms ncurses5-compat-libs fuse2 @@ -70,7 +76,7 @@ backup=( source=( "https://download3.vmware.com/software/wkst/file/VMware-Workstation-Full-${_pkgver/_/-}.${CARCH}.bundle" - 'bootstrap' + 'vmware-bootstrap' 'vmware-vix-bootstrap' 'config' 'pam.d-vmware-authd' @@ -96,18 +102,18 @@ source=( 'vmnet.patch' ) sha256sums=( - '55f8b9d4015fa958eba1aac72cc9985d34f22d1df5d027d7c34f1f4bf4f0c01d' + 'b557b4dcebefb51466da5b33dc51549537b0d381864b6155c3a48a66801a8597' '12e7b16abf8d7e858532edabb8868919c678063c566a6535855b194aac72d55e' 'da1698bf4e73ae466c1c7fc93891eba4b9c4581856649635e6532275dbfea141' - '53af82a619c8b1bca39bb493beb0ff031c978bb763715ef264b135f4a1d67d1e' + 'ce3b1a82d9ed023b7591168bd49b218040ef70d1752a07792b0af6ac15a68453' 'd50aa0a3fe94025178965d988e18d41eb60aa1ce2b28ee6e3ca15edeabfa2ca7' '8e4d08668a66be79a900521792b39c16a026cc90659241edee80b64e701bfbcd' 'b94959a11b28e51b541321be0588190eb10825e9ff55cbd16eb01483a839a69f' - '6873de5bf5a9ebb795101693919ce73b52f65c2f2c232584bb1382dce60f1d51' + 'ce1fd2916c7dde0ed0fa3158c0e3055bbc84f6c397464e3a10776aeb35d9828f' '434cd4aa440d36b75ee20e0b588aaad874bb0d796173990bc4046667c66f5099' - '27a64a3811b864c945fb2de318f4beffabdb59bccd3a77820ec7b547cf5fe430' + 'cceaec1837fce1e03fa76cf0bf39eb01b19f4ffa45eb986d62221282682deb82' '3c802523606184a5e8ebbe931d9c6c70d83ff8c6833b9f48aa264f0bd5a18a88' 'ad522a8cbc6103134ce5e677a01b503cd21875cbceb37bd13fd870ebd9ad0e6d' @@ -120,18 +126,24 @@ sha256sums=( '05e26d8b21d190ebabb7f693998114d9d5991d9dfb71acb4d990293a65b6b487' '6ce902b1dab8fc69be253abd8e79017011985eca850ff7acc7282f9ab668e35d' - '88d1444b57a987bb7fb400b5dc51ac9b6b11afa8aca0c94f88a20e0f8d520299' - '623a575aade146b744bc7543513dc9eb0b604432ecbfd394001552c0f8b08f6f' + '1060b5d45caeda5119b220fab4e1ece398af34d75131139a5dc6f74ee06672c3' + '7c3b6a7871b19e31fafdcc2631751dd9569196740d8e7c2026653d155c0c8da0' ) options=(!strip emptydirs) +if [ -z "$_remove_vmware_keymaps_dependency" ]; then +depends+=( + vmware-keymaps +) +fi + _isoimages=(linux linuxPreGlibc25 netware solaris windows winPre2k winPreVista) _isovirtualprinterimages=(Linux Windows) if [ -n "$_enable_macOS_guests" ]; then -_vmware_fusion_ver=11.1.0_13668589 +_vmware_fusion_ver=11.5.0_14634996 # List of VMware Fusion versions: https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/ makedepends+=( @@ -140,14 +152,12 @@ makedepends+=( ) source+=( - "darwinPre15-tools-${_vmware_fusion_ver}.zip.tar::https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/${_vmware_fusion_ver/_//}/packages/com.vmware.fusion.tools.darwinPre15.zip.tar" - "darwin-tools-${_vmware_fusion_ver}.zip.tar::https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/${_vmware_fusion_ver/_//}/packages/com.vmware.fusion.tools.darwin.zip.tar" + "VMware-Fusion-${_vmware_fusion_ver/_/-}.zip.tar::https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/${_vmware_fusion_ver/_//}/core/com.vmware.fusion.zip.tar" 'unlocker.py' ) sha256sums+=( - 'b228af2f5f7b5eed3a4f574645e823e92dbd95945a5dce343f51445f0cc83b1c' - '7bc24a658c0a91ea21ffda67becb9bc40f1e2592ff74020be7c174af1b81f554' - '29e0b0db9c0296ab81eee543803c4bd430e2c69c76e33492910e17280da1c05c' + 'ed819604cb9c0f204e377f16b8678103467d2cf4a50129932e2b1a9a000ad8cf' + 'ecf6d9186f109ec420287bd327e1f1f407de8e4b9e3faa23828bcf903f6246c6' ) _fusion_isoimages=(darwin darwinPre15) @@ -186,11 +196,12 @@ prepare() { --extract "$extracted_dir" if [ -n "$_enable_macOS_guests" ]; then + unzip -q com.vmware.fusion.zip for isoimage in ${_fusion_isoimages[@]} do - unzip -q com.vmware.fusion.tools.$isoimage.zip - rm manifest.plist + install -Dm 644 "$srcdir/payload/VMware Fusion.app/Contents/Library/isoimages/$isoimage.iso" "$srcdir/fusion-isoimages/$isoimage.iso" done + rm -rf __MACOSX payload manifest.plist preflight postflight sed -i -e "s|/usr/lib/vmware/|${pkgdir}/usr/lib/vmware/|" "$srcdir/unlocker.py" fi @@ -280,7 +291,6 @@ package() { for isoimage in ${_isoimages[@]} do install -Dm 644 "vmware-tools-$isoimage/$isoimage.iso" "$pkgdir/usr/lib/vmware/isoimages/$isoimage.iso" - install -Dm 644 "vmware-tools-$isoimage/$isoimage.iso.sig" "$pkgdir/usr/lib/vmware/isoimages/$isoimage.iso.sig" done for isoimage in ${_isovirtualprinterimages[@]} @@ -289,23 +299,26 @@ package() { done install -Dm 644 "vmware-workstation/doc/EULA" "$pkgdir/usr/share/licenses/$pkgname/VMware Workstation - EULA.txt" - install -Dm 644 "vmware-workstation/doc"/*open_source_licenses.txt "$pkgdir/usr/share/licenses/$pkgname" - mv "$pkgdir/usr/lib/vmware-ovftool/vmware.eula" "$pkgdir/usr/share/licenses/$pkgname/VMware OVF Tool component for Linux - EULA.txt" - rm "$pkgdir/usr/lib/vmware-ovftool"/{vmware-eula.rtf,open_source_licenses.txt,manifest.xml} + install -Dm 644 "$pkgdir/usr/lib/vmware-ovftool/vmware.eula" "$pkgdir/usr/share/licenses/$pkgname/VMware OVF Tool - EULA.txt" + install -Dm 644 "vmware-workstation/doc"/open_source_licenses.txt "$pkgdir/usr/share/licenses/$pkgname/VMware Workstation open source license.txt" + install -Dm 644 "vmware-workstation/doc"/ovftool_open_source_licenses.txt "$pkgdir/usr/share/licenses/$pkgname/VMware OVF Tool open source license.txt" + install -Dm 644 "vmware-vix-core"/open_source_licenses.txt "$pkgdir/usr/share/licenses/$pkgname/VMware VIX open source license.txt" + rm "$pkgdir/usr/lib/vmware-ovftool"/{vmware.eula,vmware-eula.rtf,open_source_licenses.txt,manifest.xml} install -d -m 755 "$pkgdir/usr/lib/vmware-installer/$vmware_installer_version"/{lib/lib,artwork} install -Dm 755 "$srcdir/configure-initscript.sh" "$pkgdir/usr/lib/vmware-installer/$vmware_installer_version/bin/configure-initscript.sh" install -Dm 644 "vmware-vmx/etc/modprobe.d/modprobe-vmware-fuse.conf" "$pkgdir/etc/modprobe.d/vmware-fuse.conf" - install -Dm 644 vmware-player-app/lib/isoimages/tools-key.pub "$pkgdir/usr/lib/vmware/isoimages/tools-key.pub" + install -Dm 644 vmware-vmx/extra/modules.xml "$pkgdir"/usr/lib/vmware/modules/modules.xml + install -Dm 644 vmware-installer/bootstrap "$pkgdir"/etc/vmware-installer/bootstrap + install -Dm 644 "$srcdir"/vmware-vix-bootstrap "$pkgdir"/etc/vmware-vix/bootstrap + install -Dm 644 "$srcdir"/vmware-bootstrap "$pkgdir"/etc/vmware/bootstrap + install -Dm 644 "$srcdir"/config "$pkgdir"/etc/vmware/config - install -Dm 644 vmware-vmx/extra/modules.xml "$pkgdir/usr/lib/vmware/modules/modules.xml" - install -Dm 644 vmware-installer/bootstrap "$pkgdir/etc/vmware-installer/bootstrap" - install -Dm 644 "$srcdir/vmware-vix-bootstrap" "$pkgdir/etc/vmware-vix/bootstrap" - install -Dm 644 "$srcdir"/{bootstrap,config} "$pkgdir/etc/vmware" - - rm -r "$pkgdir/usr/lib/vmware/xkeymap" # these files are now provided by vmware-keymaps package +if [ -z "$_remove_vmware_keymaps_dependency" ]; then + rm -r "$pkgdir/usr/lib/vmware/xkeymap" # these files are provided by vmware-keymaps package +fi for hostd_file in config datastores environments proxy vmAutoStart; do install -Dm 644 "$srcdir/$hostd_file.xml" "$pkgdir/etc/vmware/hostd/$hostd_file.xml" @@ -443,8 +456,7 @@ if [ -n "$_enable_macOS_guests" ]; then for isoimage in ${_fusion_isoimages[@]} do - install -Dm 644 "$srcdir/payload/$isoimage.iso" "$pkgdir/usr/lib/vmware/isoimages/$isoimage.iso" - install -Dm 644 "$srcdir/payload/$isoimage.iso.sig" "$pkgdir/usr/lib/vmware/isoimages/$isoimage.iso.sig" + install -Dm 644 "$srcdir/fusion-isoimages/$isoimage.iso" "$pkgdir/usr/lib/vmware/isoimages/$isoimage.iso" done fi @@ -1,26 +1,26 @@ .encoding = "UTF-8" -VMCI_CONFED = "yes" -NETWORKING = "yes" +product.name = "VMware Workstation" +product.version = "15.5.0" +product.buildNumber = "14665864" +workstation.product.version = "15.5.0" +player.product.version = "15.5.0" +vix.config.version = "1" +bindir = "/usr/bin" +libdir = "/usr/lib/vmware" +vix.libdir = "/usr/lib/vmware-vix" initscriptdir = "/usr/lib/systemd/scripts" -VMBLOCK_CONFED = "yes" +vmware.fullpath = "/usr/bin/vmware" authd.fullpath = "/usr/bin/vmware-authd" gksu.rootMethod = "su" -VSOCK_CONFED = "yes" -libdir = "/usr/lib/vmware" -bindir = "/usr/bin" -vmware.fullpath = "/usr/bin/vmware" -vix.libdir = "/usr/lib/vmware-vix" -installerDefaults.componentDownloadEnabled = "no" -installerDefaults.autoSoftwareUpdateEnabled.epoch = "9624913987" -vix.config.version = "1" -player.product.version = "15.0.0" -installerDefaults.dataCollectionEnabled.epoch = "6996346951" +NETWORKING = "yes" +VMBLOCK_CONFED = "no" +VMCI_CONFED = "no" +VSOCK_CONFED = "no" +installerDefaults.autoSoftwareUpdateEnabled = "no" installerDefaults.dataCollectionEnabled = "no" +installerDefaults.componentDownloadEnabled = "no" installerDefaults.transferVersion = "1" -installerDefaults.autoSoftwareUpdateEnabled = "no" -product.buildNumber = "10134415" +acceptOVFEULA = "yes" +acceptEULA = "yes" authd.client.port = "902" authd.proxy.nfc = "vmware-hostd:ha-nfc" -product.version = "15.0.0" -workstation.product.version = "15.0.0" -product.name = "VMware Workstation" diff --git a/config.xml b/config.xml index ae370e340561..2641decc693a 100644 --- a/config.xml +++ b/config.xml @@ -334,9 +334,6 @@ <!-- default file used to supply required privileges for dynamic methods --> <!-- <dynMethodPrivConfig>/etc/vmware/hostd/dynMethodPriv.xml</dynMethodPrivConfig> --> - <!-- default setting for performing authorization checks --> - <enableAuthCheck>true</enableAuthCheck> - <!-- default setting for where vmware-hostd-ticket directory is created --> <!-- <localTicketParentDir>/var/run</localTicketParentDir> --> diff --git a/environments.xml b/environments.xml index bf2c0804c315..d9844e397488 100644 --- a/environments.xml +++ b/environments.xml @@ -1,54 +1,58 @@ <Environment> - <Cfg id = "1"> - <Descriptor> /etc/vmware/hostd/env/ws-hw3.xml </Descriptor> - <Options> /etc/vmware/hostd/env/vmconfigoption-ws-hw3.xml</Options> + <Cfg id="0"> + <Descriptor>env/ws-hw3.xml</Descriptor> + <Options>env/vmconfigoption-ws-hw3.xml</Options> </Cfg> - <Cfg id = "2"> - <Descriptor> /etc/vmware/hostd/env/ws-hw4.xml </Descriptor> - <Options> /etc/vmware/hostd/env/vmconfigoption-ws-hw4.xml</Options> + <Cfg id="1"> + <Descriptor>env/ws-hw4.xml</Descriptor> + <Options>env/vmconfigoption-ws-hw4.xml</Options> </Cfg> - <Cfg id = "3"> - <Descriptor> /etc/vmware/hostd/env/ws-hw6.xml </Descriptor> - <Options> /etc/vmware/hostd/env/vmconfigoption-ws-hw6.xml</Options> + <Cfg id="2"> + <Descriptor>env/ws-hw6.xml</Descriptor> + <Options>env/vmconfigoption-ws-hw6.xml</Options> </Cfg> - <Cfg id = "4"> - <Descriptor> /etc/vmware/hostd/env/ws-hw7.xml </Descriptor> - <Options> /etc/vmware/hostd/env/vmconfigoption-ws-hw7.xml</Options> + <Cfg id="3"> + <Descriptor>env/ws-hw7.xml</Descriptor> + <Options>env/vmconfigoption-ws-hw7.xml</Options> </Cfg> - <Cfg id = "5"> - <Descriptor> /etc/vmware/hostd/env/ws-hw8.xml </Descriptor> - <Options> /etc/vmware/hostd/env/vmconfigoption-ws-hw8.xml</Options> + <Cfg id="4"> + <Descriptor>env/ws-hw8.xml</Descriptor> + <Options>env/vmconfigoption-ws-hw8.xml</Options> </Cfg> - <Cfg id = "6"> - <Descriptor> /etc/vmware/hostd/env/ws-hw9.xml </Descriptor> - <Options> /etc/vmware/hostd/env/vmconfigoption-ws-hw9.xml</Options> + <Cfg id="5"> + <Descriptor>env/ws-hw9.xml</Descriptor> + <Options>env/vmconfigoption-ws-hw9.xml</Options> </Cfg> - <Cfg id = "7"> - <Descriptor> /etc/vmware/hostd/env/ws-hw10.xml </Descriptor> - <Options> /etc/vmware/hostd/env/vmconfigoption-ws-hw10.xml</Options> + <Cfg id="6"> + <Descriptor>env/ws-hw10.xml</Descriptor> + <Options>env/vmconfigoption-ws-hw10.xml</Options> </Cfg> - <Cfg id = "8"> - <Descriptor> /etc/vmware/hostd/env/ws-hw11.xml </Descriptor> - <Options> /etc/vmware/hostd/env/vmconfigoption-ws-hw11.xml</Options> + <Cfg id="7"> + <Descriptor>env/ws-hw11.xml</Descriptor> + <Options>env/vmconfigoption-ws-hw11.xml</Options> </Cfg> - <Cfg id = "9"> - <Descriptor> /etc/vmware/hostd/env/ws-hw12.xml </Descriptor> - <Options> /etc/vmware/hostd/env/vmconfigoption-ws-hw12.xml</Options> + <Cfg id="8"> + <Descriptor>env/ws-hw12.xml</Descriptor> + <Options>env/vmconfigoption-ws-hw12.xml</Options> </Cfg> - <Cfg id = "10"> - <Descriptor> /etc/vmware/hostd/env/ws-hw13.xml </Descriptor> - <Options> /etc/vmware/hostd/env/vmconfigoption-ws-hw13.xml</Options> + <Cfg id="9"> + <Descriptor>env/ws-hw13.xml</Descriptor> + <Options>env/vmconfigoption-ws-hw13.xml</Options> </Cfg> - <Cfg id = "11"> - <Descriptor> /etc/vmware/hostd/env/ws-hw14.xml </Descriptor> - <Options> /etc/vmware/hostd/env/vmconfigoption-ws-hw14.xml</Options> + <Cfg id="10"> + <Descriptor>env/ws-hw14.xml</Descriptor> + <Options>env/vmconfigoption-ws-hw14.xml</Options> </Cfg> - <Cfg id = "12"> - <Descriptor> /etc/vmware/hostd/env/ws-hw15.xml </Descriptor> - <Options> /etc/vmware/hostd/env/vmconfigoption-ws-hw15.xml</Options> + <Cfg id="11"> + <Descriptor>env/ws-hw15.xml</Descriptor> + <Options>env/vmconfigoption-ws-hw15.xml</Options> </Cfg> - <Cfg id = "13"> - <Descriptor> /etc/vmware/hostd/env/ws-hw16.xml </Descriptor> - <Options> /etc/vmware/hostd/env/vmconfigoption-ws-hw16.xml</Options> + <Cfg id="12"> + <Descriptor>env/ws-hw16.xml</Descriptor> + <Options>env/vmconfigoption-ws-hw16.xml</Options> + </Cfg> + <Cfg id="13"> + <Descriptor>env/ws-hw17.xml</Descriptor> + <Options>env/vmconfigoption-ws-hw17.xml</Options> </Cfg> </Environment> diff --git a/unlocker.py b/unlocker.py index decbc51b76ac..0f9d3f66eeba 100644 --- a/unlocker.py +++ b/unlocker.py @@ -44,6 +44,7 @@ Offset Length Struct Type Description from __future__ import print_function import codecs import os +import re import struct import sys @@ -55,7 +56,10 @@ if sys.version_info < (2, 7): if sys.platform == 'win32' \ or sys.platform == 'cli': # noinspection PyUnresolvedReferences - from _winreg import * + if sys.version_info > (3, 0): + from winreg import * + else: + from _winreg import * def bytetohex(data): @@ -301,9 +305,10 @@ def patchbase(name): f = open(name, 'r+b') # Entry to search for in GOS table - # Should work for 12 & 14 of Workstation... - darwin = b'\x10\x00\x00\x00\x10\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00' \ - '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + # Should work for Workstation 12-15... + darwin = re.compile( + b'\x10\x00\x00\x00[\x10|\x20]\x00\x00\x00[\x01|\x02]\x00\x00\x00\x00\x00\x00\x00' + b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') # Read file into string variable base = f.read() @@ -311,11 +316,8 @@ def patchbase(name): # Loop through each entry and set top bit # 0xBE --> 0xBF (WKS 12) # 0x3E --> 0x3F (WKS 14) - offset = 0 - while offset < len(base): - offset = base.find(darwin, offset) - if offset == -1: - break + for m in darwin.finditer(base): + offset = m.start() f.seek(offset + 32) flag = ord(f.read(1)) flag = set_bit(flag, 0) @@ -323,7 +325,6 @@ def patchbase(name): f.seek(offset + 32) f.write(flag) print('GOS Patched flag @: ' + hex(offset)) - offset += 40 # Tidy up f.flush() diff --git a/vmmon.patch b/vmmon.patch index 3de6960da712..f2e32d6d0270 100644 --- a/vmmon.patch +++ b/vmmon.patch @@ -12,162 +12,3 @@ # Header directory for the running kernel ifdef LINUXINCLUDE -From 8ba37a5023f939ba8d2e0d91b916ff442b1c18dd Mon Sep 17 00:00:00 2001 -From: Michal Kubecek <mkubecek@suse.cz> -Date: Mon, 31 Dec 2018 00:05:42 +0100 -Subject: [PATCH] modules: replace SUBDIRS with M - -Since commit 0126be38d988 ("kbuild: announce removal of SUBDIRS if used") -in v5.0-rc1, using SUBDIRS when building out of tree modules produces -a deprecation warning. As M used to work since pretty much ever, use it -unconditionally. ---- - vmmon-only/Makefile | 2 +- - vmnet-only/Makefile | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/vmmon-only/Makefile b/vmmon-only/Makefile -index ccdd295..b4b71fb 100644 ---- a/vmmon-only/Makefile -+++ b/vmmon-only/Makefile -@@ -111,7 +111,7 @@ prebuild:: ; - postbuild:: ; - - $(DRIVER_KO): prebuild -- $(MAKE) -C $(BUILD_DIR) SUBDIRS=$$PWD SRCROOT=$$PWD/$(SRCROOT) \ -+ $(MAKE) -C $(BUILD_DIR) M=$$PWD SRCROOT=$$PWD/$(SRCROOT) \ - MODULEBUILDDIR=$(MODULEBUILDDIR) modules - $(MAKE) -C $$PWD SRCROOT=$$PWD/$(SRCROOT) \ - MODULEBUILDDIR=$(MODULEBUILDDIR) postbuild -From 41413a9b6e660a93600a438944d85b6f51eb680c Mon Sep 17 00:00:00 2001 -From: Michal Kubecek <mkubecek@suse.cz> -Date: Tue, 5 Mar 2019 13:21:35 +0100 -Subject: [PATCH] vmmon: use KERNEL_DS rather than get_ds() - -Commit 736706bee329 ("get rid of legacy 'get_ds()' function") in v5.1-rc1 -removed get_ds() helper. As this helper always returned KERNEL_DS on x86_64 -since the architecture was introduced (and even on i386, it did so since -v2.1.0), simply use KERNEL_DS regardless of kernel version. ---- - vmmon-only/linux/hostif.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/vmmon-only/linux/hostif.c b/vmmon-only/linux/hostif.c -index ef88a22..8ca17de 100644 ---- a/vmmon-only/linux/hostif.c -+++ b/vmmon-only/linux/hostif.c -@@ -2328,7 +2328,7 @@ isVAReadable(VA r) // IN: - int ret; - - old_fs = get_fs(); -- set_fs(get_ds()); -+ set_fs(KERNEL_DS); - r = APICR_TO_ADDR(r, APICR_VERSION); - ret = HostIF_CopyFromUser(&dummy, r, sizeof dummy); - set_fs(old_fs); -@@ -2605,7 +2605,7 @@ HostIF_SemaphoreWait(VMDriver *vm, // IN: - } - - old_fs = get_fs(); -- set_fs(get_ds()); -+ set_fs(KERNEL_DS); - - { - struct poll_wqueues table; -@@ -2734,7 +2734,7 @@ HostIF_SemaphoreSignal(uint64 *args) // IN: - } - - old_fs = get_fs(); -- set_fs(get_ds()); -+ set_fs(KERNEL_DS); - - /* - * Always write sizeof(uint64) bytes. This works fine for eventfd and -From 2af9d566d0ccc78a93b46a79d23902e5ba2bc933 Mon Sep 17 00:00:00 2001 -From: Michal Kubecek <mkubecek@suse.cz> -Date: Sat, 9 Mar 2019 11:11:29 +0100 -Subject: [PATCH] vmmon: fix return type of vm_operations_struct::fault handler - -Commit 3d3539018d2c ("mm: create the new vm_fault_t type") in mainline -5.1-rc1 changed the definition of vm_fault_t type to unsigned to catch -vm_operations_struct::fault handlers which still have int as return value. -LinuxDriverFault() in vmmon module is one of those. - -As handler return type was changed by commit 1c8f422059ae ("mm: change -return type to vm_fault_t") in 4.17-rc1, make LinuxDriverFault() always -return vm_fault_t and define vm_fault_t as int when building against -a pre-4.17 kernel. ---- - vmmon-only/linux/driver.c | 9 ++++++--- - 1 file changed, 6 insertions(+), 3 deletions(-) - -diff --git a/vmmon-only/linux/driver.c b/vmmon-only/linux/driver.c -index 92a3529..248a95d 100644 ---- a/vmmon-only/linux/driver.c -+++ b/vmmon-only/linux/driver.c -@@ -73,6 +73,9 @@ static Bool LinuxDriverCheckPadding(void); - - struct VMXLinuxState linuxState; - -+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 17, 0) -+typedef int vm_fault_t; -+#endif - - /* - *---------------------------------------------------------------------- -@@ -97,9 +100,9 @@ long LinuxDriver_Ioctl(struct file *filp, u_int iocmd, - - static int LinuxDriver_Close(struct inode *inode, struct file *filp); - #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0) --static int LinuxDriverFault(struct vm_fault *fault); -+static vm_fault_t LinuxDriverFault(struct vm_fault *fault); - #else --static int LinuxDriverFault(struct vm_area_struct *vma, struct vm_fault *fault); -+static vm_fault_t LinuxDriverFault(struct vm_area_struct *vma, struct vm_fault *fault); - #endif - static int LinuxDriverMmap(struct file *filp, struct vm_area_struct *vma); - -@@ -595,7 +598,7 @@ LinuxDriver_Close(struct inode *inode, // IN - *----------------------------------------------------------------------------- - */ - --static int -+static vm_fault_t - #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0) - LinuxDriverFault(struct vm_fault *fault) //IN/OUT - #else -From 98008ff6adec118962df8ac26f814b55c3861efb Mon Sep 17 00:00:00 2001 -From: Michal Kubecek <mkubecek@suse.cz> -Date: Tue, 9 Jul 2019 21:07:04 +0200 -Subject: [PATCH] vmmon: fix HostIF_SetFastClockRate() not to use force_sig() - -Commit 3cf5d076fb4d ("signal: Remove task parameter from force_sig") in -v5.3-rc1 drops second argument of force_sig(); before that, all callers -which passed something else than current task as second argument were -fixed, mostly to use send_sig() instead. - -The situation in HostIF_SetFastClockRate() is the same as e.g. in bpfilter -call fixed by commit 1dfd1711de29 ("signal/bpfilter: Fix bpfilter_kernl to -use send_sig not force_sig"): locking in force_sig_info() cannot handle -task exiting and using force_sig() for SIGKILL is pointless anyway as this -signal cannot be blocked. - -As send_sig() is present with unchanged signature since the pre-git era, we -can use send_sig() unconditionally, regardless of kernel version. ---- - vmmon-only/linux/hostif.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/vmmon-only/linux/hostif.c b/vmmon-only/linux/hostif.c -index 850ca02..27eb60c 100644 ---- a/vmmon-only/linux/hostif.c -+++ b/vmmon-only/linux/hostif.c -@@ -3402,7 +3402,7 @@ HostIF_SetFastClockRate(unsigned int rate) // IN: Frequency in Hz. - } - } else { - if (linuxState.fastClockThread) { -- force_sig(SIGKILL, linuxState.fastClockThread); -+ send_sig(SIGKILL, linuxState.fastClockThread, 1); - kthread_stop(linuxState.fastClockThread); - - linuxState.fastClockThread = NULL; diff --git a/vmnet.patch b/vmnet.patch index 5dd6491341ca..60fc5a12d86f 100644 --- a/vmnet.patch +++ b/vmnet.patch @@ -12,30 +12,3 @@ # Header directory for the running kernel ifdef LINUXINCLUDE -From 8ba37a5023f939ba8d2e0d91b916ff442b1c18dd Mon Sep 17 00:00:00 2001 -From: Michal Kubecek <mkubecek@suse.cz> -Date: Mon, 31 Dec 2018 00:05:42 +0100 -Subject: [PATCH] modules: replace SUBDIRS with M - -Since commit 0126be38d988 ("kbuild: announce removal of SUBDIRS if used") -in v5.0-rc1, using SUBDIRS when building out of tree modules produces -a deprecation warning. As M used to work since pretty much ever, use it -unconditionally. ---- - vmmon-only/Makefile | 2 +- - vmnet-only/Makefile | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/vmnet-only/Makefile b/vmnet-only/Makefile -index caab6b9..c2fc51f 100644 ---- a/vmnet-only/Makefile -+++ b/vmnet-only/Makefile -@@ -111,7 +111,7 @@ prebuild:: ; - postbuild:: ; - - $(DRIVER_KO): prebuild -- $(MAKE) -C $(BUILD_DIR) SUBDIRS=$$PWD SRCROOT=$$PWD/$(SRCROOT) \ -+ $(MAKE) -C $(BUILD_DIR) M=$$PWD SRCROOT=$$PWD/$(SRCROOT) \ - MODULEBUILDDIR=$(MODULEBUILDDIR) modules - $(MAKE) -C $$PWD SRCROOT=$$PWD/$(SRCROOT) \ - MODULEBUILDDIR=$(MODULEBUILDDIR) postbuild diff --git a/bootstrap b/vmware-bootstrap index 981b82191cca..981b82191cca 100644 --- a/bootstrap +++ b/vmware-bootstrap |