diff options
-rw-r--r-- | .SRCINFO | 10 | ||||
-rw-r--r-- | 90-vmware-load-modules.hook | 2 | ||||
-rw-r--r-- | Makefile | 2 | ||||
-rw-r--r-- | PKGBUILD | 28 | ||||
-rw-r--r-- | dkms.conf.in | 17 | ||||
-rw-r--r-- | vmci.patch | 18 |
6 files changed, 44 insertions, 33 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 = 12.5.7_5813279 - pkgrel = 4 + pkgrel = 5 url = https://www.vmware.com/products/workstation-for-linux.html install = vmware-workstation.install arch = x86_64 @@ -69,7 +69,7 @@ pkgbase = vmware-workstation sha256sums = 55af509a4328fa88518e7008c65ff5598e6007e99ca2b4421a8f9b26126f6ff3 sha256sums = d50aa0a3fe94025178965d988e18d41eb60aa1ce2b28ee6e3ca15edeabfa2ca7 sha256sums = 8e4d08668a66be79a900521792b39c16a026cc90659241edee80b64e701bfbcd - sha256sums = fee6dbd1aab2590c58ee2da797c72746c0707bea718fbfd31764b4fd353d0992 + sha256sums = 49a8e01674d91c5910cf07527c4a1c825db685523dd756f00cf49bd19878f448 sha256sums = 6f57e027f0eb95b7cfaf5d7c10089e99be5b9ccab7c3785fcc6f98dbecaf47bc sha256sums = d0806b6cb99af04232585def7b8043df3104b9b17470ea70abbd5bedc1e7ca16 sha256sums = 434cd4aa440d36b75ee20e0b588aaad874bb0d796173990bc4046667c66f5099 @@ -80,10 +80,10 @@ pkgbase = vmware-workstation sha256sums = e3812b78158672c7d96b6a58877681462f3fbdfe99a948b32c80c755c8682450 sha256sums = f9297948eba55fbaa6c9d1846b92070f27fda17afe78b41ed0e4c2eaa452b56c sha256sums = d7a9fbf39a0345ae2f14f7f389f30b1110f605d187e0c241e99bbb18993c250d - sha256sums = 71339774bf2b962735013e8683d80591a7cf073607cc992f94b75207f3337485 - sha256sums = 3a62d45f046b22d1fba9c34db42d8b2774b084f82356b9f18f05bd2cef214ace + sha256sums = 911a68af1c62f409e5e97c230ab67505ba2d1fe2e214d3ca4e0a11282d16efda + sha256sums = f03c329dff2cf9a2fdfad938c4ce4ac5502fad5de1ef76a951dbc365748d1698 sha256sums = 0a5aa819ca73513407acaf67779d95745314f7222afbd3fc2eadc80f24054d47 - sha256sums = 7c666fa2c09c19d8af7b97227ee564ce0d5e044897167db583ecd67217a36394 + sha256sums = 6b0edcccad66ee1f971b675de4af704749d4677a4fc75a5026e47dc11435902c sha256sums = b04baffa8ee7b5be56aba3d49d9c06be5e34a31808a6f93b899408dbda9aef40 sha256sums = 4c960079fec78682000a1c2e82dcaae69a6e91858dea641b707cf60674f3799f sha256sums = d7e6b21fef94b4d3fe655a68c20a9556a718a252826a899fb46c4f2475046954 diff --git a/90-vmware-load-modules.hook b/90-vmware-load-modules.hook index 9134bf231b78..47b99a9d4ade 100644 --- a/90-vmware-load-modules.hook +++ b/90-vmware-load-modules.hook @@ -6,5 +6,5 @@ Target = vmware-workstation [Action] Description = Loading VMware modules When = PostTransaction -Exec = /usr/bin/modprobe vmci +Exec = /usr/bin/modprobe vmw_vmci Exec = /usr/bin/modprobe vmmon @@ -2,9 +2,9 @@ MODULES = \ vmblock \ - vmci \ vmmon \ vmnet \ + #vmci \ #vsock all: $(foreach m, $(MODULES), $m.ko) @@ -15,7 +15,11 @@ #PKGEXT=.pkg.tar pkgname=vmware-workstation pkgver=12.5.7_5813279 -pkgrel=4 +_pkgver=${pkgver} +#pkgver=12.5.7 +#_buildver=5813279 +#_pkgver=${pkgver}_${_buildver} +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' @@ -63,7 +67,7 @@ backup=( 'etc/profile.d/vmware.sh' ) source=( - "https://download3.vmware.com/software/wkst/file/VMware-Workstation-Full-${pkgver/_/-}.${CARCH}.bundle" + "https://download3.vmware.com/software/wkst/file/VMware-Workstation-Full-${_pkgver/_/-}.${CARCH}.bundle" 'bootstrap' 'config' @@ -98,7 +102,7 @@ sha256sums=( '55af509a4328fa88518e7008c65ff5598e6007e99ca2b4421a8f9b26126f6ff3' 'd50aa0a3fe94025178965d988e18d41eb60aa1ce2b28ee6e3ca15edeabfa2ca7' '8e4d08668a66be79a900521792b39c16a026cc90659241edee80b64e701bfbcd' - 'fee6dbd1aab2590c58ee2da797c72746c0707bea718fbfd31764b4fd353d0992' + '49a8e01674d91c5910cf07527c4a1c825db685523dd756f00cf49bd19878f448' '6f57e027f0eb95b7cfaf5d7c10089e99be5b9ccab7c3785fcc6f98dbecaf47bc' 'd0806b6cb99af04232585def7b8043df3104b9b17470ea70abbd5bedc1e7ca16' @@ -112,10 +116,10 @@ sha256sums=( 'f9297948eba55fbaa6c9d1846b92070f27fda17afe78b41ed0e4c2eaa452b56c' 'd7a9fbf39a0345ae2f14f7f389f30b1110f605d187e0c241e99bbb18993c250d' - '71339774bf2b962735013e8683d80591a7cf073607cc992f94b75207f3337485' - '3a62d45f046b22d1fba9c34db42d8b2774b084f82356b9f18f05bd2cef214ace' + '911a68af1c62f409e5e97c230ab67505ba2d1fe2e214d3ca4e0a11282d16efda' + 'f03c329dff2cf9a2fdfad938c4ce4ac5502fad5de1ef76a951dbc365748d1698' '0a5aa819ca73513407acaf67779d95745314f7222afbd3fc2eadc80f24054d47' - '7c666fa2c09c19d8af7b97227ee564ce0d5e044897167db583ecd67217a36394' + '6b0edcccad66ee1f971b675de4af704749d4677a4fc75a5026e47dc11435902c' 'b04baffa8ee7b5be56aba3d49d9c06be5e34a31808a6f93b899408dbda9aef40' '4c960079fec78682000a1c2e82dcaae69a6e91858dea641b707cf60674f3799f' 'd7e6b21fef94b4d3fe655a68c20a9556a718a252826a899fb46c4f2475046954' @@ -162,7 +166,7 @@ _create_database_file() { for isoimage in ${_isoimages[@]} do local version=$(cat "$srcdir/extracted/vmware-tools-$isoimage/manifest.xml" | grep -oPm1 "(?<=<version>)[^<]+") - sqlite3 "$database_filename" "INSERT INTO components(name,version,buildNumber,component_core_id,longName,description,type) VALUES(\"vmware-tools-$isoimage\",\"$version\",\"${pkgver#*_}\",1,\"$isoimage\",\"$isoimage\",1);" + sqlite3 "$database_filename" "INSERT INTO components(name,version,buildNumber,component_core_id,longName,description,type) VALUES(\"vmware-tools-$isoimage\",\"$version\",\"${_pkgver#*_}\",1,\"$isoimage\",\"$isoimage\",1);" done if [ -n "$_enable_macOS_guests" ]; then @@ -178,7 +182,7 @@ prepare() { [[ -d "$extracted_dir" ]] && rm -r "$extracted_dir" bash \ - "$(readlink -f "$srcdir/VMware-Workstation-Full-${pkgver/_/-}.${CARCH}.bundle")" \ + "$(readlink -f "$srcdir/VMware-Workstation-Full-${_pkgver/_/-}.${CARCH}.bundle")" \ --extract "$extracted_dir" if [ -n "$_enable_macOS_guests" ]; then @@ -190,7 +194,7 @@ if [ -n "$_enable_macOS_guests" ]; then sed -i -e "s/vmx_path = '/vmx_path = '${pkgdir//\//\\/}/" \ -i -e "s/vmwarebase = '/vmwarebase = '${pkgdir//\//\\/}/" \ - -i -e "s/vmx_version = .*$/vmx_version = 'VMware Player ${pkgver/_/ build-}'/" "$srcdir/unlocker.py" + -i -e "s/vmx_version = .*$/vmx_version = 'VMware Player ${_pkgver/_/ build-}'/" "$srcdir/unlocker.py" fi } @@ -303,7 +307,7 @@ package() { install -Dm 644 "$srcdir/pam.d-vmware-authd" "$pkgdir/etc/pam.d/vmware-authd" - echo -e "vmci\nvmmon" > "$pkgdir/usr/lib/modules-load.d/vmware.conf" + echo -e "vmw_vmci\nvmmon" > "$pkgdir/usr/lib/modules-load.d/vmware.conf" install -Dm 644 "$srcdir/90-vmware-load-modules.hook" "$pkgdir/usr/share/libalpm/hooks/90-vmware-load-modules.hook" for service_file in \ @@ -391,14 +395,14 @@ package() { # Patch up the VMware kernel sources and configure DKMS. - dkms_dir="$pkgdir/usr/src/$pkgname-$pkgver" + dkms_dir="$pkgdir/usr/src/$pkgname-$_pkgver" install -Dm 644 "$srcdir/Makefile" "$dkms_dir/Makefile" install -Dm 644 "$srcdir/dkms.conf.in" "$dkms_dir/dkms.conf" sed \ -e "s/@PKGNAME@/$pkgname/g" \ - -e "s/@PKGVER@/$pkgver/g" \ + -e "s/@PKGVER@/$_pkgver/g" \ -i "$dkms_dir/dkms.conf" find vmware-vmx/lib/modules/source -mindepth 1 -exec bsdtar -xf {} -C "$dkms_dir" \; diff --git a/dkms.conf.in b/dkms.conf.in index 1900290f537a..66393181850b 100644 --- a/dkms.conf.in +++ b/dkms.conf.in @@ -10,17 +10,18 @@ BUILT_MODULE_NAME[0]="vmblock" BUILT_MODULE_LOCATION[0]='vmblock-only' DEST_MODULE_LOCATION[0]="/kernel/fs/vmblock" -BUILT_MODULE_NAME[1]="vmci" -BUILT_MODULE_LOCATION[1]='vmci-only' +BUILT_MODULE_NAME[1]="vmmon" +BUILT_MODULE_LOCATION[1]='vmmon-only' DEST_MODULE_LOCATION[1]="/kernel/drivers/misc" -BUILT_MODULE_NAME[2]="vmmon" -BUILT_MODULE_LOCATION[2]='vmmon-only' -DEST_MODULE_LOCATION[2]="/kernel/drivers/misc" +BUILT_MODULE_NAME[2]="vmnet" +BUILT_MODULE_LOCATION[2]='vmnet-only' +DEST_MODULE_LOCATION[2]="/kernel/drivers/net" -BUILT_MODULE_NAME[3]="vmnet" -BUILT_MODULE_LOCATION[3]='vmnet-only' -DEST_MODULE_LOCATION[3]="/kernel/drivers/net" +# vmci is already provided by the kernel with vmw_vmci +#BUILT_MODULE_NAME[3]="vmci" +#BUILT_MODULE_LOCATION[3]='vmci-only' +#DEST_MODULE_LOCATION[3]="/kernel/drivers/misc" # vsock is already provided by the kernel #BUILT_MODULE_NAME[4]="vsock" diff --git a/vmci.patch b/vmci.patch index c5ebf9d92074..fcc712a23150 100644 --- a/vmci.patch +++ b/vmci.patch @@ -74,26 +74,32 @@ index f676166..9e42f3f 100644 data_buffer = NULL; return retval; } -@@ -1722,11 +1733,19 @@ +@@ -1722,12 +1734,25 @@ vmci_dev.msix_entries[i].vector = i; } +#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 12, 0) result = pci_enable_msix(pdev, vmci_dev.msix_entries, VMCI_MAX_INTRS); -+#else -+ result = pci_enable_msix_range(pdev, vmci_dev.msix_entries, VMCI_MAX_INTRS, VMCI_MAX_INTRS); -+#endif if (!result) { vmci_dev.exclusive_vectors = TRUE; } else if (result > 0) { -+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 12, 0) result = pci_enable_msix(pdev, vmci_dev.msix_entries, 1); + } +#else ++ result = pci_enable_msix_range(pdev, vmci_dev.msix_entries, VMCI_MAX_INTRS, ++ VMCI_MAX_INTRS); ++ if (result > 0) { ++ vmci_dev.exclusive_vectors = TRUE; ++ } else if (result == -ENOSPC) { + result = pci_enable_msix_range(pdev, vmci_dev.msix_entries, 1, 1); ++ } ++ ++ if (result > 0) ++ result = 0; +#endif - } return result; } + @@ -2473,7 +2485,11 @@ vmci_exit(void) if (guestDeviceInit) { |