diff options
-rw-r--r-- | .SRCINFO | 12 | ||||
-rw-r--r-- | PKGBUILD | 29 | ||||
-rw-r--r-- | efi-unlocker-patch-1.0.0.txt | 25 | ||||
-rw-r--r-- | unlocker.patch | 62 | ||||
-rw-r--r-- | vmware-networks-configuration.service | 7 |
5 files changed, 40 insertions, 95 deletions
@@ -1,7 +1,7 @@ pkgbase = vmware-workstation14 pkgdesc = The industry standard for running multiple operating systems as virtual machines on a single Linux PC. pkgver = 14.1.7 - pkgrel = 4 + pkgrel = 5 url = https://www.vmware.com/products/workstation-for-linux.html install = vmware-workstation.install arch = x86_64 @@ -65,9 +65,8 @@ pkgbase = vmware-workstation14 source = vmnet.patch source = darwinPre15-tools-10.1.6_12989998.zip.tar::https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/10.1.6/12989998/packages/com.vmware.fusion.tools.darwinPre15.zip.tar source = darwin-tools-10.1.6_12989998.zip.tar::https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/10.1.6/12989998/packages/com.vmware.fusion.tools.darwin.zip.tar - source = unlocker-3.0.2.py::https://raw.githubusercontent.com/DrDonk/unlocker/3.0.2/unlocker.py - source = unlocker.patch - source = efi-unlocker-patch-1.0.0.txt::https://raw.githubusercontent.com/DrDonk/efi-unlocker/1.0.0/patches.txt + source = unlocker-3.0.3.py::https://raw.githubusercontent.com/paolo-projects/unlocker/3.0.3/unlocker.py + source = efi-unlocker-patch-1.0.0.txt sha256sums = a9b5ff8adb885a064f582f700c2ad42aa6c2a3b1b8964f3f8cab35cc084c89c4 sha256sums = 12e7b16abf8d7e858532edabb8868919c678063c566a6535855b194aac72d55e sha256sums = da1698bf4e73ae466c1c7fc93891eba4b9c4581856649635e6532275dbfea141 @@ -83,7 +82,7 @@ pkgbase = vmware-workstation14 sha256sums = f9440479f3ae5ad0a39bba3150276627878bf83d6879444fb327c53a1dbb5a4d sha256sums = 42594b60085d0bbef01ab07b9f8b0d18640001107ce61cc0ddf02d0ab415140f sha256sums = e4c2e97acf07c52de570dd4333d67acfb593db719937a563c6075ab773dcce33 - sha256sums = e3812b78158672c7d96b6a58877681462f3fbdfe99a948b32c80c755c8682450 + sha256sums = 9b4fbe0ba83f761a2eb9ecd05d48428f8b0a5b3abd8404ccbd928408e682f02b sha256sums = c0a5aea785db06921fb350d36d5e0fd9a14f5eee0c835686ec6fea1af8c92245 sha256sums = d7a9fbf39a0345ae2f14f7f389f30b1110f605d187e0c241e99bbb18993c250d sha256sums = 05e26d8b21d190ebabb7f693998114d9d5991d9dfb71acb4d990293a65b6b487 @@ -92,8 +91,7 @@ pkgbase = vmware-workstation14 sha256sums = 38eb0f5aedf79ab6098f9c4676df521be5acbf2aa7ed47c658cba0f33c13f297 sha256sums = 195313791f2c2cf880b0ba6c9d130e40ab6729335c0980fcc40df4209c1ed52b sha256sums = e36fb99a56a65d2c4d82168c8adb1ed19a9a7aaf75807c667c79a79f4968740a - sha256sums = 29e0b0db9c0296ab81eee543803c4bd430e2c69c76e33492910e17280da1c05c - sha256sums = 4fb4a7914aee656df170e35b3ef952aaaa2ed10161e560dfa097688861127b1d + sha256sums = 1c27547dcf6fb2f436c96ee62ae8c7f5cfd14b40d8bbd35dc385e247c4fb7e0f sha256sums = 392c1effcdec516000e9f8ffc97f2586524d8953d3e7d6f2c5f93f2acd809d91 pkgname = vmware-workstation14 @@ -1,16 +1,9 @@ # Maintainer: Jean-Marc Lenoir <archlinux "at" jihemel "dot" com> -############################################################################ -# Patch VMware Workstation to enable macOS guests support -# Uncomment the line below to enable it - +# To enable macOS guests support, uncomment the line below: #_enable_macOS_guests=y - # 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: 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 @@ -23,7 +16,7 @@ pkgname=vmware-workstation14 pkgver=14.1.7 _buildver=12989993 _pkgver=${pkgver}_${_buildver} -pkgrel=4 +pkgrel=5 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' @@ -117,7 +110,7 @@ sha256sums=( 'f9440479f3ae5ad0a39bba3150276627878bf83d6879444fb327c53a1dbb5a4d' '42594b60085d0bbef01ab07b9f8b0d18640001107ce61cc0ddf02d0ab415140f' 'e4c2e97acf07c52de570dd4333d67acfb593db719937a563c6075ab773dcce33' - 'e3812b78158672c7d96b6a58877681462f3fbdfe99a948b32c80c755c8682450' + '9b4fbe0ba83f761a2eb9ecd05d48428f8b0a5b3abd8404ccbd928408e682f02b' 'c0a5aea785db06921fb350d36d5e0fd9a14f5eee0c835686ec6fea1af8c92245' 'd7a9fbf39a0345ae2f14f7f389f30b1110f605d187e0c241e99bbb18993c250d' @@ -141,7 +134,7 @@ if [ -n "$_enable_macOS_guests" ]; then _vmware_fusion_ver=10.1.6_12989998 # List of VMware Fusion versions: https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/ -_unlocker_ver=3.0.2 +_unlocker_ver=3.0.3 _efi_unlocker_ver=1.0.0 makedepends+=( @@ -153,15 +146,13 @@ 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" - "unlocker-${_unlocker_ver}.py::https://raw.githubusercontent.com/DrDonk/unlocker/${_unlocker_ver}/unlocker.py" - 'unlocker.patch' - "efi-unlocker-patch-${_efi_unlocker_ver}.txt::https://raw.githubusercontent.com/DrDonk/efi-unlocker/${_efi_unlocker_ver}/patches.txt" + "unlocker-${_unlocker_ver}.py::https://raw.githubusercontent.com/paolo-projects/unlocker/${_unlocker_ver}/unlocker.py" + "efi-unlocker-patch-${_efi_unlocker_ver}.txt" ) sha256sums+=( '195313791f2c2cf880b0ba6c9d130e40ab6729335c0980fcc40df4209c1ed52b' 'e36fb99a56a65d2c4d82168c8adb1ed19a9a7aaf75807c667c79a79f4968740a' - '29e0b0db9c0296ab81eee543803c4bd430e2c69c76e33492910e17280da1c05c' - '4fb4a7914aee656df170e35b3ef952aaaa2ed10161e560dfa097688861127b1d' + '1c27547dcf6fb2f436c96ee62ae8c7f5cfd14b40d8bbd35dc385e247c4fb7e0f' '392c1effcdec516000e9f8ffc97f2586524d8953d3e7d6f2c5f93f2acd809d91' ) @@ -209,9 +200,7 @@ if [ -n "$_enable_macOS_guests" ]; then rm -rf payload manifest.plist done - cp "$srcdir/unlocker-${_unlocker_ver}.py" "$srcdir/unlocker.py" - patch -Np1 < unlocker.patch - sed -i -e "s|/usr/lib/vmware/|${pkgdir}/usr/lib/vmware/|" "$srcdir/unlocker.py" + sed -i -e "s|/usr/lib/vmware/|${pkgdir}/usr/lib/vmware/|" "$srcdir/unlocker-${_unlocker_ver}.py" fi } @@ -449,7 +438,7 @@ fi if [ -n "$_enable_macOS_guests" ]; then msg "Patching VMware to enable macOS guest support" - python "$srcdir/unlocker.py" > /dev/null + python "$srcdir/unlocker-${_unlocker_ver}.py" > /dev/null for isoimage in ${_fusion_isoimages[@]} do diff --git a/efi-unlocker-patch-1.0.0.txt b/efi-unlocker-patch-1.0.0.txt new file mode 100644 index 000000000000..6451d1db0315 --- /dev/null +++ b/efi-unlocker-patch-1.0.0.txt @@ -0,0 +1,25 @@ +# Patch string format +# FileGuid SectionType PatchType:FindPatternOrOffset:ReplacePattern +# Please ensure that the latest symbol in patch string is space + +# Possible section types: +# PE32 image 10 +# Position-independent code 11 +# TE Image 12 +# DXE Dependency 13 +# Version information 14 +# User interface string 15 +# 16-bit code 16 +# Guided freeform 18 +# Raw data 19 +# PEI Dependency 1B +# SMM Dependency 1C +# Please do not try another section types, it can make the resulting image broken + +# Possible patch types: +# P - pattern-based, first parameter is a pattern to find, second - a pattern to replace +# O - offset-based, first parameter is hexadecimal offset, second - a pattern to replace +# Patterns can have . as "any possible value" symbol + +# VMware remove macOS Server check ServerVersion.plist -> SystemVersion.plist +961578FE-B6B7-44C3-AF35-6BC705CD3B3F 10 P:530065007200760065007200560065007200730069006F006E002E0070006C00690073007400:530079007300740065006D00560065007200730069006F006E002E0070006C00690073007400 diff --git a/unlocker.patch b/unlocker.patch deleted file mode 100644 index 7c32fa83f288..000000000000 --- a/unlocker.patch +++ /dev/null @@ -1,62 +0,0 @@ -diff --git a/unlocker.py b/unlocker.py -index decbc51..0f9d3f6 100755 ---- a/unlocker.py -+++ b/unlocker.py -@@ -44,6 +44,7 @@ - from __future__ import print_function - import codecs - import os -+import re - import struct - import sys - -@@ -55,7 +56,11 @@ - 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 +306,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,19 +317,14 @@ 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) -- flag = chr(flag) - f.seek(offset + 32) -- f.write(flag) -+ f.write(bytes([flag])) - print('GOS Patched flag @: ' + hex(offset)) -- offset += 40 - - # Tidy up - f.flush() diff --git a/vmware-networks-configuration.service b/vmware-networks-configuration.service index 779b01a3171a..0d86867f955e 100644 --- a/vmware-networks-configuration.service +++ b/vmware-networks-configuration.service @@ -1,11 +1,6 @@ [Unit] Description=VMware Networks Configuration Generation -ConditionPathExists=|!/etc/vmware/networking -ConditionPathExists=|!/etc/vmware/vmnet1/dhcpd/dhcpd.conf -ConditionPathExists=|!/etc/vmware/vmnet1/dhcpd/dhcpd.leases -ConditionPathExists=|!/etc/vmware/vmnet8/dhcpd/dhcpd.conf -ConditionPathExists=|!/etc/vmware/vmnet8/dhcpd/dhcpd.leases -ConditionPathExists=|!/etc/vmware/vmnet8/nat/nat.conf +ConditionPathExists=!/etc/vmware/networking [Service] UMask=0077 |