summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorJean-Marc Lenoir2017-05-16 18:58:19 +0200
committerJean-Marc Lenoir2017-05-16 18:58:19 +0200
commit8462a4ed5e218d293da0ce4f2fc19d67687bd5ad (patch)
tree03eae71544e2d60c0c2cb681d9f72eddfc79e7bd
parent07726a70ca6d9967f40ebe8c65ead9dae67b497e (diff)
downloadaur-8462a4ed5e218d293da0ce4f2fc19d67687bd5ad.tar.gz
DKMS improvements.
-rw-r--r--.SRCINFO48
-rw-r--r--Makefile24
-rw-r--r--PKGBUILD102
-rw-r--r--bootstrap2
-rw-r--r--dkms.conf35
-rw-r--r--vmnet.patch12
6 files changed, 138 insertions, 85 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 0b8eb4ddb4ee..18539373cb39 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,12 +1,14 @@
pkgbase = vmware-workstation
pkgdesc = The industry standard for running multiple operating systems as virtual machines on a single Linux PC.
pkgver = 12.5.5_5234757
- pkgrel = 1
+ pkgrel = 2
url = https://www.vmware.com/products/workstation-for-linux.html
install = vmware-workstation.install
arch = x86_64
license = custom
makedepends = sqlite
+ makedepends = python2
+ makedepends = unzip
depends = dkms
depends = fontconfig
depends = zlib
@@ -32,29 +34,37 @@ pkgbase = vmware-workstation
source = vmware-networks.service
source = vmware-usbarbitrator.service
source = dkms.conf
+ source = Makefile
source = vmblock.patch
source = vmci.patch
source = vmmon.patch
source = vmnet.patch
source = vsock.patch
- sha1sums = 85082ae7d79ae42b5debe4be1dc210ec5ea69bae
- sha1sums = a91b3d711846dafe10f45d89c531dab703bfb113
- sha1sums = e57f7715c092d9b1fb74a7baadc07ef214cfb4cd
- sha1sums = 4bea74ce942e73bf25a8e5fdb0027493d3f114b9
- sha1sums = dfad83699f7546aeb85a38551a33666dbb14535f
- sha1sums = a7e4a6fe33dc6ca95b469ec6f88de21e5b16a95b
- sha1sums = 80c5626984ffcdea6fa655d248c731e7c9c657fa
- sha1sums = e9855dfdc07a8261336b13fcf4831f0696e94303
- sha1sums = 3ee361c861eee5e462716c3aeb22425193e2e1b6
- sha1sums = d90c687250c16fc5586938de5dc7539a58500adc
- sha1sums = 529556a0db5564dc8237ee327a2ee176bcf2c02d
- sha1sums = c1dbfbad3473d12e9c82b75c5f1faf795f3cc217
- sha1sums = 91907f53492e3cfdabffd00b6c56e6a435fc9749
- sha1sums = f4af25095e51d8f12bfde89282261dbc0f0faa10
- sha1sums = 73a78bbeac0625d50756da786a59e1e1e5df95f3
- sha1sums = c183c6a5be9ecf834381832e63d7f39edf147678
- sha1sums = c5109127f746cb6672f871331bab9bd368d990ac
- sha1sums = 3ca42f0e86986782827f221cbbd3ed66e7330b73
+ source = https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/8.5.6/5234762/packages/com.vmware.fusion.tools.darwinPre15.zip.tar
+ source = https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/8.5.6/5234762/packages/com.vmware.fusion.tools.darwin.zip.tar
+ source = unlocker.py
+ sha256sums = 60635d69b765dd50b38189bcb0842b6d3cddd20cf429b4d2238f6e6b5eb19bdc
+ sha256sums = 67edc40e39686281f5101ced1a250648ae32e4cd5dffe4fd47bc3c7aed929d50
+ sha256sums = caa37259dec46da46c37e840368445dbe53a82ba9985c6a5ec987efca7813886
+ sha256sums = d0806b6cb99af04232585def7b8043df3104b9b17470ea70abbd5bedc1e7ca16
+ sha256sums = 04375658fed0cad4a18d5da1589d4dc1e5171753891ecaadd05f3c3e50c8156f
+ sha256sums = 25c5aa39489d14a60f9cb30bdd7b21d36399c3355daee8bf5fbebcb62fe9f45f
+ sha256sums = 3c802523606184a5e8ebbe931d9c6c70d83ff8c6833b9f48aa264f0bd5a18a88
+ sha256sums = f9440479f3ae5ad0a39bba3150276627878bf83d6879444fb327c53a1dbb5a4d
+ sha256sums = b8027d87f2b2fed37edbbf781da9ae6963d788a655e72c1bb281b27eb1a09872
+ sha256sums = e3812b78158672c7d96b6a58877681462f3fbdfe99a948b32c80c755c8682450
+ sha256sums = f9297948eba55fbaa6c9d1846b92070f27fda17afe78b41ed0e4c2eaa452b56c
+ sha256sums = d7a9fbf39a0345ae2f14f7f389f30b1110f605d187e0c241e99bbb18993c250d
+ sha256sums = 71339774bf2b962735013e8683d80591a7cf073607cc992f94b75207f3337485
+ sha256sums = b9818230242a42a1bc4debc556febb7650cfcb95f9ac04dec051bd4ea8f12dc1
+ sha256sums = 7a321d06f9caeb69015bb1fe6cbc8c7113365589b64f18344b12f92fa21e7ebd
+ sha256sums = 5ffe492526293ca8fa1b573f54c96ca4d62f5d03ba79b8bc3dddfe33bd0ff6c3
+ sha256sums = 68d8e118625abc0f7f5b6504d86895f21a16b2cb1a46f0d32870fc304a89983c
+ sha256sums = d0be44504a5bb2f0ad7c64702ede0086367bf04ebf6860ee01e4227a00570e5a
+ sha256sums = d7e6b21fef94b4d3fe655a68c20a9556a718a252826a899fb46c4f2475046954
+ sha256sums = fbd92d82c505d3353d26625d6567b7ec1a41e876a56a1ce1765c8fb7855d6c2c
+ sha256sums = 9c13500ec9dcf578927e7bb2e44e69ada334d99f266d4a80d6578dde452b6fc1
+ sha256sums = 2ad5c0e7a31d7c2009e449fe16acfd5a9036b9d69258be82004cbd0ee41b42cf
pkgname = vmware-workstation
diff --git a/Makefile b/Makefile
new file mode 100644
index 000000000000..37c0df8d23aa
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,24 @@
+#!/usr/bin/make -f
+
+MODULES = \
+ vmblock \
+ vmci \
+ vmmon \
+ vmnet \
+ vsock
+
+all: $(foreach m, $(MODULES), $m.ko)
+
+%.ko: %
+ $(MAKE) KVERSION=$(KVERSION) VM_KBUILD=yes -C $*-only
+
+$(MODULES): %:
+ cp -r $(SRCDIR)/$*-only $*-only
+
+vsock.ko: vmci.ko
+
+clean:
+ rm -rf $(MODULES)
+ rm -rf $(foreach m, $(MODULES), $m-only)
+ rm -f $(foreach m, $(MODULES), $m.ko)
+ rm -f $(foreach m, $(MODULES), $m.o)
diff --git a/PKGBUILD b/PKGBUILD
index afa6876f9b47..da358a1d1678 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -15,7 +15,7 @@
#PKGEXT=.pkg.tar
pkgname=vmware-workstation
pkgver=12.5.5_5234757
-pkgrel=1
+pkgrel=2
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'
@@ -46,50 +46,52 @@ backup=('etc/vmware/config')
source=(
"https://download3.vmware.com/software/wkst/file/VMware-Workstation-Full-${pkgver/_/-}.x86_64.bundle"
- bootstrap
- config
-
- config.xml
- datastores.xml
- environments.xml
- proxy.xml
-
- vmware-hostd-certificates.service
- vmware-hostd.service
- vmware-networks-configuration.service
- vmware-networks.service
- vmware-usbarbitrator.service
-
- dkms.conf
- vmblock.patch
- vmci.patch
- vmmon.patch
- vmnet.patch
- vsock.patch
+ 'bootstrap'
+ 'config'
+
+ 'config.xml'
+ 'datastores.xml'
+ 'environments.xml'
+ 'proxy.xml'
+
+ 'vmware-hostd-certificates.service'
+ 'vmware-hostd.service'
+ 'vmware-networks-configuration.service'
+ 'vmware-networks.service'
+ 'vmware-usbarbitrator.service'
+
+ 'dkms.conf'
+ 'Makefile'
+ 'vmblock.patch'
+ 'vmci.patch'
+ 'vmmon.patch'
+ 'vmnet.patch'
+ 'vsock.patch'
)
-sha1sums=(
- 85082ae7d79ae42b5debe4be1dc210ec5ea69bae
-
- a91b3d711846dafe10f45d89c531dab703bfb113
- e57f7715c092d9b1fb74a7baadc07ef214cfb4cd
-
- 4bea74ce942e73bf25a8e5fdb0027493d3f114b9
- dfad83699f7546aeb85a38551a33666dbb14535f
- a7e4a6fe33dc6ca95b469ec6f88de21e5b16a95b
- 80c5626984ffcdea6fa655d248c731e7c9c657fa
-
- e9855dfdc07a8261336b13fcf4831f0696e94303
- 3ee361c861eee5e462716c3aeb22425193e2e1b6
- d90c687250c16fc5586938de5dc7539a58500adc
- 529556a0db5564dc8237ee327a2ee176bcf2c02d
- c1dbfbad3473d12e9c82b75c5f1faf795f3cc217
-
- 91907f53492e3cfdabffd00b6c56e6a435fc9749
- f4af25095e51d8f12bfde89282261dbc0f0faa10
- 73a78bbeac0625d50756da786a59e1e1e5df95f3
- c183c6a5be9ecf834381832e63d7f39edf147678
- c5109127f746cb6672f871331bab9bd368d990ac
- 3ca42f0e86986782827f221cbbd3ed66e7330b73
+sha256sums=(
+ '60635d69b765dd50b38189bcb0842b6d3cddd20cf429b4d2238f6e6b5eb19bdc'
+
+ '67edc40e39686281f5101ced1a250648ae32e4cd5dffe4fd47bc3c7aed929d50'
+ 'caa37259dec46da46c37e840368445dbe53a82ba9985c6a5ec987efca7813886'
+
+ 'd0806b6cb99af04232585def7b8043df3104b9b17470ea70abbd5bedc1e7ca16'
+ '04375658fed0cad4a18d5da1589d4dc1e5171753891ecaadd05f3c3e50c8156f'
+ '25c5aa39489d14a60f9cb30bdd7b21d36399c3355daee8bf5fbebcb62fe9f45f'
+ '3c802523606184a5e8ebbe931d9c6c70d83ff8c6833b9f48aa264f0bd5a18a88'
+
+ 'f9440479f3ae5ad0a39bba3150276627878bf83d6879444fb327c53a1dbb5a4d'
+ 'b8027d87f2b2fed37edbbf781da9ae6963d788a655e72c1bb281b27eb1a09872'
+ 'e3812b78158672c7d96b6a58877681462f3fbdfe99a948b32c80c755c8682450'
+ 'f9297948eba55fbaa6c9d1846b92070f27fda17afe78b41ed0e4c2eaa452b56c'
+ 'd7a9fbf39a0345ae2f14f7f389f30b1110f605d187e0c241e99bbb18993c250d'
+
+ '71339774bf2b962735013e8683d80591a7cf073607cc992f94b75207f3337485'
+ 'b9818230242a42a1bc4debc556febb7650cfcb95f9ac04dec051bd4ea8f12dc1'
+ '7a321d06f9caeb69015bb1fe6cbc8c7113365589b64f18344b12f92fa21e7ebd'
+ '5ffe492526293ca8fa1b573f54c96ca4d62f5d03ba79b8bc3dddfe33bd0ff6c3'
+ '68d8e118625abc0f7f5b6504d86895f21a16b2cb1a46f0d32870fc304a89983c'
+ 'd0be44504a5bb2f0ad7c64702ede0086367bf04ebf6860ee01e4227a00570e5a'
+ 'd7e6b21fef94b4d3fe655a68c20a9556a718a252826a899fb46c4f2475046954'
)
options=(!strip emptydirs)
@@ -109,12 +111,12 @@ makedepends+=(
source+=(
"https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/${_vmware_fusion_ver/_//}/packages/com.vmware.fusion.tools.darwinPre15.zip.tar"
"https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/${_vmware_fusion_ver/_//}/packages/com.vmware.fusion.tools.darwin.zip.tar"
- unlocker.py
+ 'unlocker.py'
)
-sha1sums+=(
- de76483a5c58c4fbdec8dc1e339808497aa2afbb
- 3dca561a996bea5f356ea47a62f7a0e995b5e7ce
- 18773b64c403621a9c286797ba3c0ea618b58af6
+sha256sums+=(
+ 'fbd92d82c505d3353d26625d6567b7ec1a41e876a56a1ce1765c8fb7855d6c2c'
+ '9c13500ec9dcf578927e7bb2e44e69ada334d99f266d4a80d6578dde452b6fc1'
+ '2ad5c0e7a31d7c2009e449fe16acfd5a9036b9d69258be82004cbd0ee41b42cf'
)
_fusion_isoimages=(darwin darwinPre15)
@@ -327,6 +329,7 @@ package() {
dkms_dir="$pkgdir/usr/src/$pkgname-$pkgver"
+ install -Dm 644 "$srcdir/Makefile" "$dkms_dir/Makefile"
install -Dm 644 "$srcdir/dkms.conf" "$dkms_dir/dkms.conf"
sed \
@@ -335,6 +338,7 @@ package() {
-i "$dkms_dir/dkms.conf"
find vmware-vmx/lib/modules/source -mindepth 1 -exec bsdtar -xf {} -C "$dkms_dir" \;
+ rm -r "$pkgdir/usr/lib/vmware/modules/source"
for module in vmblock vmci vmmon vmnet vsock; do
patch -p2 --read-only=ignore --directory="$dkms_dir/$module-only" < "$srcdir/$module.patch"
diff --git a/bootstrap b/bootstrap
index 85d30e58f210..2abeeba254ae 100644
--- a/bootstrap
+++ b/bootstrap
@@ -8,4 +8,4 @@ DOCDIR="/usr/share/doc"
MANDIR="/usr/share/man"
INCLUDEDIR="/usr/include"
INITDIR=""
-INITSCRIPTDIR="/etc/init.d/vmware"
+INITSCRIPTDIR="/etc/init.d"
diff --git a/dkms.conf b/dkms.conf
index 2cbefff293b3..1900290f537a 100644
--- a/dkms.conf
+++ b/dkms.conf
@@ -1,25 +1,28 @@
-PACKAGE_NAME='@PKGNAME@'
-PACKAGE_VERSION='@PKGVER@'
-AUTOINSTALL='yes'
-MAKE[0]='find -mindepth 1 -maxdepth 1 -type d -exec make KVERSION=$kernelver -C {} \;'
-CLEAN='find -mindepth 1 -maxdepth 1 -type d -exec make clean -C {} \;'
+# Linux DKMS config script for the VMware guest kernel modules
-BUILT_MODULE_NAME[0]='vmblock'
+PACKAGE_NAME="@PKGNAME@"
+PACKAGE_VERSION="@PKGVER@"
+MAKE="make KVERSION=$kernelver SRCDIR=/usr/src/$PACKAGE_NAME-$PACKAGE_VERSION"
+CLEAN="make clean"
+AUTOINSTALL="YES"
+
+BUILT_MODULE_NAME[0]="vmblock"
BUILT_MODULE_LOCATION[0]='vmblock-only'
-DEST_MODULE_LOCATION[0]='/kernel/misc'
+DEST_MODULE_LOCATION[0]="/kernel/fs/vmblock"
-BUILT_MODULE_NAME[1]='vmci'
+BUILT_MODULE_NAME[1]="vmci"
BUILT_MODULE_LOCATION[1]='vmci-only'
-DEST_MODULE_LOCATION[1]='/kernel/misc'
+DEST_MODULE_LOCATION[1]="/kernel/drivers/misc"
-BUILT_MODULE_NAME[2]='vmmon'
+BUILT_MODULE_NAME[2]="vmmon"
BUILT_MODULE_LOCATION[2]='vmmon-only'
-DEST_MODULE_LOCATION[2]='/kernel/misc'
+DEST_MODULE_LOCATION[2]="/kernel/drivers/misc"
-BUILT_MODULE_NAME[3]='vmnet'
+BUILT_MODULE_NAME[3]="vmnet"
BUILT_MODULE_LOCATION[3]='vmnet-only'
-DEST_MODULE_LOCATION[3]='/kernel/misc'
+DEST_MODULE_LOCATION[3]="/kernel/drivers/net"
-BUILT_MODULE_NAME[4]='vsock'
-BUILT_MODULE_LOCATION[4]='vsock-only'
-DEST_MODULE_LOCATION[4]='/kernel/misc'
+# vsock is already provided by the kernel
+#BUILT_MODULE_NAME[4]="vsock"
+#BUILT_MODULE_LOCATION[4]='vsock-only'
+#DEST_MODULE_LOCATION[4]="/kernel/net/vmw_vsock"
diff --git a/vmnet.patch b/vmnet.patch
index 429b57d09275..829646f7d6eb 100644
--- a/vmnet.patch
+++ b/vmnet.patch
@@ -27,6 +27,18 @@ index 2d8e6f6..a14166b 100644
EXTRA_CFLAGS += $(call vm_check_build, $(SRCROOT)/netdev_has_net.c,-DVMW_NETDEV_HAS_NET, )
EXTRA_CFLAGS += $(call vm_check_build, $(SRCROOT)/netdev_has_dev_net.c,-DVMW_NETDEV_HAS_DEV_NET, )
EXTRA_CFLAGS += $(call vm_check_build, $(SRCROOT)/nfhook_uses_skb.c,-DVMW_NFHOOK_USES_SKB, )
+diff --git a/vmnet/bridge.c b/vmnet/bridge.c
+--- a/vmnet/bridge.c
++++ b/vmnet/bridge.c
+@@ -1146,7 +1146,7 @@
+ void *data) // IN: device pertaining to event
+ {
+ VNetBridge *bridge = list_entry(this, VNetBridge, notifier);
+- struct net_device *dev = (struct net_device *) data;
++ struct net_device *dev = netdev_notifier_info_to_dev(data);
+
+ switch (msg) {
+ case NETDEV_UNREGISTER:
diff --git a/vmnet/driver.c b/vmnet/driver.c
index 7e7ad99..5f508f6 100644
--- a/vmnet/driver.c