summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorJean-Marc Lenoir2017-07-11 15:56:47 +0200
committerJean-Marc Lenoir2017-07-11 15:56:47 +0200
commit41bbdb453555e168a77b95dba86dd1dd358f7502 (patch)
tree03b65d0257773e6254d28d6955a97f021356aa2f
parent52adc054ca84e289156ebdaf91dfe94626fec0df (diff)
downloadaur-41bbdb453555e168a77b95dba86dd1dd358f7502.tar.gz
Compatibility with Linux 4.12
-rw-r--r--.SRCINFO12
-rw-r--r--PKGBUILD30
-rw-r--r--dkms.conf.in (renamed from dkms.conf)0
-rw-r--r--vmblock.patch6
-rw-r--r--vmci.patch20
5 files changed, 51 insertions, 17 deletions
diff --git a/.SRCINFO b/.SRCINFO
index dd21679e7738..9f31f8b3f989 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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 = 1
+ pkgrel = 2
url = https://www.vmware.com/products/workstation-for-linux.html
install = vmware-workstation.install
arch = x86_64
@@ -10,6 +10,10 @@ pkgbase = vmware-workstation
makedepends = python2
makedepends = unzip
depends = dkms
+ depends = fuse2
+ depends = gksu
+ depends = gtkmm
+ depends = libcanberra
depends = hicolor-icon-theme
depends = fontconfig
depends = freetype2
@@ -47,7 +51,7 @@ pkgbase = vmware-workstation
source = vmware-networks-configuration.service
source = vmware-networks.service
source = vmware-usbarbitrator.service
- source = dkms.conf
+ source = dkms.conf.in
source = Makefile
source = vmblock.patch
source = vmci.patch
@@ -73,8 +77,8 @@ pkgbase = vmware-workstation
sha256sums = d7a9fbf39a0345ae2f14f7f389f30b1110f605d187e0c241e99bbb18993c250d
sha256sums = 71339774bf2b962735013e8683d80591a7cf073607cc992f94b75207f3337485
sha256sums = 3a62d45f046b22d1fba9c34db42d8b2774b084f82356b9f18f05bd2cef214ace
- sha256sums = 7a321d06f9caeb69015bb1fe6cbc8c7113365589b64f18344b12f92fa21e7ebd
- sha256sums = e37923167e181f57be4eeec1adba27a42d0d2240ece6b29aca44a61708ca16dd
+ sha256sums = 0a5aa819ca73513407acaf67779d95745314f7222afbd3fc2eadc80f24054d47
+ sha256sums = 7c666fa2c09c19d8af7b97227ee564ce0d5e044897167db583ecd67217a36394
sha256sums = 4339a98bd5aba421bc1043f2ee97ea00b082733c81bce321edc7bc72e16ce09b
sha256sums = c2eba38cc99534675e3c114ecf68cbb65cb14b3d52c95ff17dbf1273fc289947
sha256sums = d7e6b21fef94b4d3fe655a68c20a9556a718a252826a899fb46c4f2475046954
diff --git a/PKGBUILD b/PKGBUILD
index 62ceff0f29c0..dc158ac2d89e 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -15,7 +15,7 @@
#PKGEXT=.pkg.tar
pkgname=vmware-workstation
pkgver=12.5.7_5813279
-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'
@@ -32,6 +32,10 @@ provides=(
)
depends=(
dkms
+ fuse2
+ gksu
+ gtkmm
+ libcanberra
hicolor-icon-theme
# needed to replace internal libs:
fontconfig
@@ -76,7 +80,7 @@ source=(
'vmware-networks.service'
'vmware-usbarbitrator.service'
- 'dkms.conf'
+ 'dkms.conf.in'
'Makefile'
'vmblock.patch'
'vmci.patch'
@@ -105,8 +109,8 @@ sha256sums=(
'71339774bf2b962735013e8683d80591a7cf073607cc992f94b75207f3337485'
'3a62d45f046b22d1fba9c34db42d8b2774b084f82356b9f18f05bd2cef214ace'
- '7a321d06f9caeb69015bb1fe6cbc8c7113365589b64f18344b12f92fa21e7ebd'
- 'e37923167e181f57be4eeec1adba27a42d0d2240ece6b29aca44a61708ca16dd'
+ '0a5aa819ca73513407acaf67779d95745314f7222afbd3fc2eadc80f24054d47'
+ '7c666fa2c09c19d8af7b97227ee564ce0d5e044897167db583ecd67217a36394'
'4339a98bd5aba421bc1043f2ee97ea00b082733c81bce321edc7bc72e16ce09b'
'c2eba38cc99534675e3c114ecf68cbb65cb14b3d52c95ff17dbf1273fc289947'
'd7e6b21fef94b4d3fe655a68c20a9556a718a252826a899fb46c4f2475046954'
@@ -159,7 +163,7 @@ _create_database_file() {
if [ -n "$_enable_macOS_guests" ]; then
for isoimage in ${_fusion_isoimages[@]}
do
- sqlite3 $database_filename "INSERT INTO components(name,version,buildNumber,component_core_id,longName,description,type) VALUES(\"vmware-tools-$isoimage\",\"0\",\"${_vmware_fusion_ver#*_}\",1,\"$isoimage\",\"$isoimage\",1);"
+ sqlite3 $database_filename "INSERT INTO components(name,version,buildNumber,component_core_id,longName,description,type) VALUES(\"vmware-tools-$isoimage\",\"1\",\"${_vmware_fusion_ver#*_}\",1,\"$isoimage\",\"$isoimage\",1);"
done
fi
}
@@ -186,13 +190,15 @@ fi
}
package() {
+ local vmware_installer_version=$(cat "$srcdir/extracted/vmware-installer/manifest.xml" | grep -oPm1 "(?<=<version>)[^<]+")
+
# Make directories and copy files.
mkdir -p \
"$pkgdir/etc"/{cups,pam.d,modprobe.d,profile.d,thnuclnt,vmware} \
"$pkgdir/usr"/{share,bin} \
"$pkgdir/usr/include/vmware-vix" \
- "$pkgdir/usr/lib"/{vmware/setup,vmware-vix,vmware-ovftool,vmware-installer/2.1.0,cups/filter,modules-load.d} \
+ "$pkgdir/usr/lib"/{vmware/setup,vmware-vix,vmware-ovftool,vmware-installer/"$vmware_installer_version",cups/filter,modules-load.d} \
"$pkgdir/usr/share"/{doc/vmware-vix,licenses/"$pkgname"} \
"$pkgdir/var/lib/vmware/Shared VMs"
@@ -251,7 +257,7 @@ package() {
cp -r \
vmware-installer/{python,sopython,vmis,vmis-launcher,vmware-installer,vmware-installer.py} \
- "$pkgdir/usr/lib/vmware-installer/2.1.0"
+ "$pkgdir/usr/lib/vmware-installer/$vmware_installer_version"
cp -r \
vmware-player-app/etc/cups/* \
@@ -277,7 +283,7 @@ package() {
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 755 "$srcdir/configure-initscript.sh" "$pkgdir/usr/lib/vmware-installer/2.1.0/bin/configure-initscript.sh"
+ 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"
@@ -315,7 +321,7 @@ package() {
"$pkgdir/usr/lib/vmware/setup"/* \
"$pkgdir/usr/lib/vmware/lib"/{wrapper-gtk24.sh,libgksu2.so.0/gksu-run-helper} \
"$pkgdir/usr/lib/vmware-ovftool"/{ovftool,ovftool.bin} \
- "$pkgdir/usr/lib/vmware-installer/2.1.0"/{vmware-installer,vmis-launcher} \
+ "$pkgdir/usr/lib/vmware-installer/$vmware_installer_version"/{vmware-installer,vmis-launcher} \
"$pkgdir/usr/lib/cups/filter"/* \
"$pkgdir/usr/lib/vmware-vix/setup"/*
@@ -372,8 +378,8 @@ package() {
sed -i 's,@@AUTHD_PORT@@,902,' "$pkgdir/usr/lib/vmware/hostd/docroot/client/clients.xml"
sed \
- -e 's/@@VERSION@@/2.1.0/' \
- -e 's,@@VMWARE_INSTALLER@@,/usr/lib/vmware-installer/2.1.0,' \
+ -e "s/@@VERSION@@/$vmware_installer_version/" \
+ -e "s,@@VMWARE_INSTALLER@@,/usr/lib/vmware-installer/$vmware_installer_version," \
-i "$pkgdir/etc/vmware-installer/bootstrap"
@@ -382,7 +388,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"
+ install -Dm 644 "$srcdir/dkms.conf.in" "$dkms_dir/dkms.conf"
sed \
-e "s/@PKGNAME@/$pkgname/g" \
diff --git a/dkms.conf b/dkms.conf.in
index 1900290f537a..1900290f537a 100644
--- a/dkms.conf
+++ b/dkms.conf.in
diff --git a/vmblock.patch b/vmblock.patch
index 85068ad0d2d1..b21329c6b5d0 100644
--- a/vmblock.patch
+++ b/vmblock.patch
@@ -329,10 +329,14 @@ index 098c94c..7aed6e7 100644
{
char *filename;
struct inode *inode;
-@@ -135,7 +154,12 @@ InodeOpLookup(struct inode *dir, // IN: parent directory's inode
+@@ -135,7 +154,16 @@ InodeOpLookup(struct inode *dir, // IN: parent directory's inode
inode->i_size = INODE_TO_IINFO(inode)->nameLen;
inode->i_version = 1;
++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 12, 0)
inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME;
++#else
++ inode->i_atime = inode->i_mtime = inode->i_ctime = current_kernel_time();
++#endif
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0)
inode->i_uid = inode->i_gid = 0;
+#else
diff --git a/vmci.patch b/vmci.patch
index baca38b4ccc9..c5ebf9d92074 100644
--- a/vmci.patch
+++ b/vmci.patch
@@ -74,6 +74,26 @@ index f676166..9e42f3f 100644
data_buffer = NULL;
return retval;
}
+@@ -1722,11 +1733,19 @@
+ 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, 1, 1);
++#endif
+ }
+ return result;
+ }
@@ -2473,7 +2485,11 @@ vmci_exit(void)
if (guestDeviceInit) {