summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO12
-rw-r--r--PKGBUILD29
-rw-r--r--efi-unlocker-patch-1.0.0.txt25
-rw-r--r--unlocker.patch62
-rw-r--r--vmware-networks-configuration.service7
5 files changed, 40 insertions, 95 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 5ce34475aead..a0c5c84934f3 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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
diff --git a/PKGBUILD b/PKGBUILD
index 7a76b11c5ff4..e2d28dc48927 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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