diff options
author | Daniel Solano Gómez <gentoo@sattvik.com> | 2019-10-20 13:14:04 -0500 |
---|---|---|
committer | Daniel Solano Gómez <gentoo@sattvik.com> | 2019-10-20 13:14:04 -0500 |
commit | 155f1fac28cbaf328b3b8b0b905c849b5ab66705 (patch) | |
tree | 3e551346c8f7e7a62cd9343aabfa77c9b4523fea /app-emulation | |
parent | Fix manifest (diff) | |
download | sattvik-155f1fac28cbaf328b3b8b0b905c849b5ab66705.tar.gz sattvik-155f1fac28cbaf328b3b8b0b905c849b5ab66705.tar.bz2 sattvik-155f1fac28cbaf328b3b8b0b905c849b5ab66705.zip |
Import latest vmware-{modules,workstation} from stefantalpalaru-overlay
Signed-off-by: Daniel Solano <gentoo@sattvik.com>
Diffstat (limited to 'app-emulation')
22 files changed, 181 insertions, 1083 deletions
diff --git a/app-emulation/vmware-modules/Manifest b/app-emulation/vmware-modules/Manifest index 3b607e1..03bb72e 100644 --- a/app-emulation/vmware-modules/Manifest +++ b/app-emulation/vmware-modules/Manifest @@ -1,18 +1,3 @@ -AUX 00-vmmon-quick-workaround-for-objtool-warnings.patch 1555 BLAKE2B dd4a58e78634aed9d5fb64bcb02b999d55be6b87e496c8daf640f7027aba3942f4e415125ba8fb847fa832336560d4bdbb0f539fefea3b4d2c175f2cbb33a9d7 SHA512 892bde81c721c18264e154cdfadd6b560af37260c9a457ec321fdf6bdf78b1704df57532b0919ed7dbc5c1036230b95f0cbacb7acbfd15da2145e3445da795f7 -AUX 01-vmmon-fix-always_inline-attribute-usage.patch 1204 BLAKE2B faa201beb42ac4a04f660aa99d9cad76c12f47048b49f3c48f6932ec367ffebb9e94c5f06fd0957fb8451c183e6bf21954ce88c04910969f80370c2c85e1024b SHA512 b3ab5a62936bc1bed997f84401df998097062ca2b7425dcc2d01191c9b49ddafcee36e859b1bcd60de0d532c1c597aba2b406d6f90062674d5fe54c1534e3235 -AUX 02-vmmon-fix-indirect-call-with-retpoline-build.patch 1829 BLAKE2B 6b2efbd868cd3ecf9bbd5e9781d9e85fa733b5919b66040e9c6cdf9f65bf5c5aabb43e52af9cd224481fc60943df546b2812ae17a65bbb476651ec399194ac4f SHA512 6ea044d1b9096b48fa3825f474a758aa67698753646e62dd83d427bfbf8ebd2168c9d0130a35b4ee81391c3ce4d4459cee39f0354469d0485d30118b50f3463c -AUX 03-vmmon-check-presence-of-file_operations-poll.patch 2755 BLAKE2B 9a03511a0068d76574ccc7f5dd32c016477a7ede3c319c31cc4212960258aa3ba28edde655101ee39e441322e5a13dce1d6360c22c21f1ead29666f821f0445f SHA512 7dd424858cff634987323052ed331652e6399911c0389c8077109a91407fd549a47ebb222ffc449d42f4f816a54d682778863fe3488dd47b3bfcbfef1064f876 -AUX 04-modules-replace-SUBDIRS-with-M.patch 1513 BLAKE2B 6a9ee2fbfec63d669428049fec651dd5d4b5d4ba3043d13f69becb38be85e291fd4634193bcc35e1baf1a2935c5d565dd4396ab2a18e1d79f7e4fafa4b93c0f6 SHA512 d6c913be232d0e6758ade413e809a817b5ce906cb927539e9f6c08accb4c5de968815c1013d0e787483ef94a7a4d866d182b400ceb6fbe778fe9bfc48f690892 -AUX 05-vmmon-totalram_pages-is-a-function-since-5.0.patch 1614 BLAKE2B 72bccaf64551fb6e00397fe5b906ffaa4d865b1b97dab6b58064a3063611e6bff0d7e7085da8b4b07ee70e7d7dee1390e5fd2be75a4ee3daf69dce6c4d1bf341 SHA512 5ac103535292bc32d32daffd1669607f1d4c103b1a9243900df136fa19b6abdf10dbbf42f271f4a985e741206bfcb62eefe6457f568400e017b7307bf0d5fd94 -AUX 06-vmmon-bring-back-the-do_gettimeofday-helper.patch 1593 BLAKE2B c37009ba5147d4554846c9cddbf01a359c40d1b970d4261d5a98503ea93032b20263e9b9ddbe201d018ad5b9d69f00149838a2f68d99ada9f5043d7a4622f029 SHA512 ff049665bf29a4a76d8d16c60647859509b118c18ba3d5f56368ae4801c18a3a41149646c6277431e42baec620a354462245dfe7f069f39cb0a722d3dbd2e1a6 -AUX 07-modules-handle-access_ok-with-two-arguments.patch 2558 BLAKE2B db24524060d263ff295d9eff1f05f17ef5c3c495f7f46389b83190a7d693e33fdded23e215afffa0d3146649ff86b47e647f66d99dc6f3aed6a6bbd907e9caef SHA512 434654ac8eac96eb78e725161895d044c2d933045e3c9e74f4e067f4a0558998d7af9d72293337c39b76a363c8d511911d118115daa339be777751af483ea408 -AUX 08-vmmon-use-KERNEL_DS-rather-than-get_ds.patch 1419 BLAKE2B 9b85194b0297286617946c5c29930d04a22643179a877a1a0de3aacd596b97dd2923d05b721e25727830d5c8da4bfb382fa684a1dd8cf0657bca8df9960a1407 SHA512 fcd0aaf387ea9f75a01fb05744008ad01aa09d17866d3b02dc771f9b76ef2eab71efa5051ea6c15e21b7b6cc02b78e696d7bd0c4cf6cabbe35d7b61a9a4e992e -AUX 09-vmmon-fix-return-type-of-vm_operations_struct-fault-.patch 2141 BLAKE2B 583bcab062d8379e067036eb532ddd1507d7d7f3e50dcdb1ee876522fafd7457a044d648fcf5e1afbaba4f5aeb4ef7cc82bfa768f0d24804335a5418e38b2fce SHA512 66bc12dc4e1d3204ccee2f251053e2e7066be5f97c4f051a314d03a99f68d6ffbce8b9d247a10790ced98b2c7a60b9cb86d181938f853adb6234c401ad346e3a -AUX 4.09-00-vmnet-use-standard-definition-of-PCI_VENDOR_ID_VMWAR.patch 1169 BLAKE2B 4e5a74961ff512748375bd1d90a6670fc519c2c4c0be94f89d14fdf39e4922b057ae2baa38d07d34aca9ec897b012c4b9326dfd51a44235418919708b789895e SHA512 727fb97a63399d7c19238ae864a38cf2297adccb466fc2deba2a72f0592eb655f653d3c8e45dac06bbd0e09fc71a59a8bfea491b7580b37d41d0729f6adc023d -AUX 4.10-00-vmnet-use-standard-definition-of-PCI_VENDOR_ID_VMWAR.patch 1131 BLAKE2B 1e07b4a15ff1180349348d84efb606c223f5cfa4accdcc0e1a41c8a0de52fb186bddd3c6cd3f5f48041c52ad2c29110726197f1d9352bd87caf4e646c4c4c001 SHA512 192d6a9a14757706f1c9345ff45592a559729619627a32c9f0a1d7203e60881312a4d0fc92ff750c8ff5b5350cf1a2b55238c16973e9c7eb4c2cfe2966abe7d1 -AUX 4.12-00-vmmon-use-standard-definition-of-MSR_MISC_FEATURES_E.patch 1603 BLAKE2B 4eea61a743cb443e4a4c22a02a03410adbae66339ac7ed1c1aafe54e447135c1ed976ce3c97f22db9984926de9b9a09b1820e253978f457c0c2b9d22f8e4c59b SHA512 4413cd5e791dd19c4b47ba2178e386160912882b0e1a549151eafcceae484b5e48f527ee45b14584c98e06c11e28ee5bfef34b318e46b45704fbcf93a7b52b56 -AUX 4.13-00-vmmon-use-standard-definition-of-CR3_PCID_MASK-if-av.patch 1167 BLAKE2B b5c1c4d98d2aed5bb473270ea9b5737da05bab45748aa84b0a83c26abf8d826960ff3251132ae2770bf87168bfb9c01ab7c81ec99036af576ca3fa0eb08b36e2 SHA512 1cf13f9c745bcfcf24ac1e8f762d057f1afde46ec1de4e651a07e63e08d9073eca9bdbaa53c5a1ced556ec83da3bfd80d3c65c979fb91566cf3c7ddae38eaeac -AUX 4.16-00-vmmon-use-standard-definition-of-MSR_K7_HWCR_SMMLOCK.patch 1097 BLAKE2B edf94d85be2caa69ca8b7856e636dd1fc41d60b43e56e08e913b9decca7f1f3a2a39d98681366a4c2f948a60acdce513f873b1c080d7329720abd0f235ee739a SHA512 f2e359183999f0396406724a8e0a80ceb3551772958a8a1e31eec0af8a746191bf5c7b7a5282d0f59d5a7cdd14744e1b775ad5af45bc5ee030434bcbb686d50c -DIST vmware-modules-15.1.0.zip 582538 BLAKE2B 1d4fddd10884b3462fbbc618697f089c2c8eed2ce99d46467344b581ef3be324c3823c20d537098866629a574ffcb528cc993de53e4daefbef339c93822e64f3 SHA512 8beb20e3d8aa583cf0bc1a47d76ea1d4cc14267ef0772b131e11fc5bfec455665b85f6b18ea21e040df680fc70a4bd06df00db4827fde9033d2f037b1c963003 -EBUILD vmware-modules-15.1.0.ebuild 2430 BLAKE2B 4ea49c6b0016dff442dc9dd72efca38784b0f60ad272342c54fbbcdd0d37359dde7976c489edf50ea8b23086224f34cc6f5e82a2938312e8356d34f9b9af5daf SHA512 ebfaf209ccae8f5832eb2eb7458d57a3f4d4f32b9d2a9b30a92166d9d6dee4608ecad6413b747a9642dadcc55668402a4b2ee2fad7ab51972c3264b8a84b8259 +DIST vmware-modules-15.5.0.zip 590976 BLAKE2B 453e6336ce02896f6703e0c61c0e6a0c8064dac6b1055aa3608f3c9d88f97354fd519c07bf37f1d3afabb94c57122ae5d54048cb0b4f5ea19a22321a816b3f4a SHA512 470f04fc0328a1fa504f1a79203c2f14392812a6d8162487d38d5e2290e2562697505e9f28c28fd9c09e5ce7f3d3bc0faa225ac68c95939efc98e548d926a55e +EBUILD vmware-modules-15.5.0-r1.ebuild 2455 BLAKE2B f4dfb78f6ff6128902b69eabd7923cae298c90e10b0b7886c0002e159f5aaf74bf4541fc7d943d4d8237491f4698b06f0ee36adcdb80539de2a17327cefbb731 SHA512 da3f30c0804dab753e2c28a3231356e7f02b902ecbc97d1c510886a3eccf5b35ac613157fd026137d40e69dcf64f859651857c1c0d9a13a8f801063b54b686ad MISC metadata.xml 322 BLAKE2B 178d5a7e0f6a26281fdeb655994b728e1b2e831a9bd7e07d6ed7c5ad2edb04d30bb8543ee5a1440f06e3a9eb1af20810a3e93800291f5feda877a644aacad14a SHA512 8ed1935f376c38b57fdcd973dab5a8dd714b2fbb74108228f3aab19cec95340c93f6ecff03b10fcafd261896efa711f47ef8c301f35fa0fc4490a4fb45f2fd55 diff --git a/app-emulation/vmware-modules/files/00-vmmon-quick-workaround-for-objtool-warnings.patch b/app-emulation/vmware-modules/files/00-vmmon-quick-workaround-for-objtool-warnings.patch deleted file mode 100644 index 8259c8b..0000000 --- a/app-emulation/vmware-modules/files/00-vmmon-quick-workaround-for-objtool-warnings.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 182ac915372c798e400c9718499cae2cb1822ef1 Mon Sep 17 00:00:00 2001 -From: Michal Kubecek <mkubecek@suse.cz> -Date: Sat, 30 Sep 2017 21:41:51 +0200 -Subject: [PATCH 6/6] vmmon: quick workaround for objtool warnings - -As discussed in - - https://bugzilla.suse.com/show_bug.cgi?id=1059674 - -the reason for multiple objtool warnings is the fact that vmmon module -defines its own Panic() function which never returns. While it is marked as -such which is used by the compiler for optimization, there is no way to -find this from object file. - -While this seems innocuous, it might result in problems with unwinder -later. The quickest way around is to replace vmmon's own Panic() with -standard kernel panic() until a cleaner solution is found. ---- - vmmon-only/include/vm_assert.h | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/vmmon-only/include/vm_assert.h b/vmmon-only/include/vm_assert.h -index 8cdbc93..b869def 100644 ---- a/vmmon-only/include/vm_assert.h -+++ b/vmmon-only/include/vm_assert.h -@@ -67,6 +67,7 @@ extern "C" { - #if defined (VMKPANIC) - #include "vmk_assert.h" - #else /* !VMKPANIC */ -+#include <linux/kernel.h> - #define _ASSERT_PANIC(name) \ - Panic(_##name##Fmt "\n", __FILE__, __LINE__) - #define _ASSERT_PANIC_BUG(bug, name) \ -@@ -107,7 +108,7 @@ NORETURN void Panic_NoSave(const char *fmt, ...) PRINTF_DECL(1, 2); - } while(0) - - #else --NORETURN void Panic(const char *fmt, ...) PRINTF_DECL(1, 2); -+#define Panic panic - #endif - - void LogThrottled(uint32 *count, const char *fmt, ...) PRINTF_DECL(2, 3); --- -2.14.3 - diff --git a/app-emulation/vmware-modules/files/01-vmmon-fix-always_inline-attribute-usage.patch b/app-emulation/vmware-modules/files/01-vmmon-fix-always_inline-attribute-usage.patch deleted file mode 100644 index f9fb7a7..0000000 --- a/app-emulation/vmware-modules/files/01-vmmon-fix-always_inline-attribute-usage.patch +++ /dev/null @@ -1,31 +0,0 @@ -From c46d05eb1e2d32d82ec377a4c9b0dd0164eee68e Mon Sep 17 00:00:00 2001 -From: Michal Kubecek <mkubecek@suse.cz> -Date: Thu, 22 Mar 2018 13:45:34 +0100 -Subject: [PATCH 08/10] vmmon: fix always_inline attribute usage - -Function declared with __attribute__((always_inline)) should also be -declared as inline, otherwise gcc issues a warning "always_inline function -might not be inlinable". It's just cosmetic but getting rid of known -harmless warnings makes it easier to spot actual problems. Use the -__always_inline macro for LinuxDriverSyncReadTSCs() as this is how always -inline functions should be declared in kernel code. ---- - vmmon-only/linux/driver.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/vmmon-only/linux/driver.c b/vmmon-only/linux/driver.c -index 1905aa4..b37454c 100644 ---- a/vmmon-only/linux/driver.c -+++ b/vmmon-only/linux/driver.c -@@ -981,7 +981,7 @@ LinuxDriverReadTSC(void *data, // OUT: TSC values - *----------------------------------------------------------------------------- - */ - --__attribute__((always_inline)) static Bool -+__always_inline static Bool - LinuxDriverSyncReadTSCs(uint64 *delta) // OUT: TSC max - TSC min - { - TSCDelta tscDelta; --- -2.17.0 - diff --git a/app-emulation/vmware-modules/files/02-vmmon-fix-indirect-call-with-retpoline-build.patch b/app-emulation/vmware-modules/files/02-vmmon-fix-indirect-call-with-retpoline-build.patch deleted file mode 100644 index bde7a0e..0000000 --- a/app-emulation/vmware-modules/files/02-vmmon-fix-indirect-call-with-retpoline-build.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 6392262b68387299ee81d5d659cb5423a2ae1c9c Mon Sep 17 00:00:00 2001 -From: Michal Kubecek <mkubecek@suse.cz> -Date: Mon, 26 Mar 2018 13:33:32 +0200 -Subject: [PATCH 09/10] vmmon: fix indirect call with retpoline build - -Build against kernel with retpoline support issues warning - - objtool: Task_Switch()+0x425: indirect call found in RETPOLINE build - -This is because an indirect call in TaskSwitchToMonitor() is encoded using -inline assembler so that it bypasses retpoline generation. For this -purpose, macro CALL_NOSPEC exists since v4.15-rc8 (and has been backported -into some distribution kernels with the rest of retpoline support). Use the -macro if available and fallback to the original code if not. ---- - vmmon-only/common/task.c | 11 +++++++++++ - 1 file changed, 11 insertions(+) - -diff --git a/vmmon-only/common/task.c b/vmmon-only/common/task.c -index 98cc74a..400ebfe 100644 ---- a/vmmon-only/common/task.c -+++ b/vmmon-only/common/task.c -@@ -2203,12 +2203,23 @@ TaskSwitchToMonitor(VMCrossPage *crosspage) - { - uint64 raxGetsWiped, rcxGetsWiped; - -+#ifdef CALL_NOSPEC -+ __asm__ __volatile__(CALL_NOSPEC -+ : "=a" (raxGetsWiped), -+ "=c" (rcxGetsWiped) -+ : "0" (codePtr), -+ "1" (crosspage), -+ THUNK_TARGET(codePtr) -+ : "rdx", "r8", "r9", "r10", "r11", "cc", "memory"); -+#else - __asm__ __volatile__("call *%%rax" - : "=a" (raxGetsWiped), - "=c" (rcxGetsWiped) - : "0" (codePtr), - "1" (crosspage) - : "rdx", "r8", "r9", "r10", "r11", "cc", "memory"); -+#endif -+ - } - #elif defined(_MSC_VER) - /* --- -2.17.0 - diff --git a/app-emulation/vmware-modules/files/03-vmmon-check-presence-of-file_operations-poll.patch b/app-emulation/vmware-modules/files/03-vmmon-check-presence-of-file_operations-poll.patch deleted file mode 100644 index d470aaf..0000000 --- a/app-emulation/vmware-modules/files/03-vmmon-check-presence-of-file_operations-poll.patch +++ /dev/null @@ -1,85 +0,0 @@ -From 70ed9dd2ec64c09fbd0de27dcb10f9948a2b212a Mon Sep 17 00:00:00 2001 -From: Michal Kubecek <mkubecek@suse.cz> -Date: Mon, 20 Aug 2018 07:46:13 +0200 -Subject: [PATCH] vmmon: check presence of file_operations::poll() - -Commit 11c5ad0ec441 ("eventpoll: switch to ->poll_mask") in v4.18-rc1, made -eventpoll switch from ->poll() to ->poll_mask(), resulting in a null -pointer dereference as vmmon calls the callback directly without checking -its availability. - -Rather than calling the callback directly (which would result in null -pointer dereference), use vfs_poll() wrapper. As this wrapper is only -available since 4.18-rc1 cycle as well, provide a copy to use when building -against older kernels. - -Note: even if the commit revealing the problem was reverted in 4.18-rc3 -(and is unlikely to go back in the same form) so that vmmon no longer -crashes with 4.18 kernel, calling the callback without a check is a bad -practice so let's keep the patch in place. ---- - vmmon-only/include/compat_poll.h | 30 ++++++++++++++++++++++++++++++ - vmmon-only/linux/hostif.c | 3 ++- - 2 files changed, 32 insertions(+), 1 deletion(-) - create mode 100644 vmmon-only/include/compat_poll.h - -diff --git a/vmmon-only/include/compat_poll.h b/vmmon-only/include/compat_poll.h -new file mode 100644 -index 0000000..562cdb6 ---- /dev/null -+++ b/vmmon-only/include/compat_poll.h -@@ -0,0 +1,30 @@ -+#ifndef __COMPAT_POLL_H__ -+#define __COMPAT_POLL_H__ -+ -+#include <linux/poll.h> -+ -+#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 18, 0)) -+ -+#ifndef __poll_t -+typedef unsigned int __poll_t; -+#endif -+ -+static inline __poll_t compat_vfs_poll(struct file *file, -+ struct poll_table_struct *pt) -+{ -+ if (unlikely(!file->f_op->poll)) -+ return DEFAULT_POLLMASK; -+ return file->f_op->poll(file, pt); -+} -+ -+#else -+ -+static inline __poll_t compat_vfs_poll(struct file *file, -+ struct poll_table_struct *pt) -+{ -+ return vfs_poll(file, pt); -+} -+ -+#endif -+ -+#endif /* __COMPAT_POLL_H__ */ -diff --git a/vmmon-only/linux/hostif.c b/vmmon-only/linux/hostif.c -index 21758c2..af4b1d9 100644 ---- a/vmmon-only/linux/hostif.c -+++ b/vmmon-only/linux/hostif.c -@@ -74,6 +74,7 @@ - - #include "pgtbl.h" - #include "versioned_atomic.h" -+#include "compat_poll.h" - - #if !defined(CONFIG_HIGH_RES_TIMERS) - #error CONFIG_HIGH_RES_TIMERS required for acceptable performance -@@ -2570,7 +2571,7 @@ HostIF_SemaphoreWait(VMDriver *vm, // IN: - - poll_initwait(&table); - current->state = TASK_INTERRUPTIBLE; -- mask = file->f_op->poll(file, &table.pt); -+ mask = compat_vfs_poll(file, &table.pt); - if (!(mask & (POLLIN | POLLERR | POLLHUP))) { - vm->vmhost->vcpuSemaTask[vcpuid] = current; - schedule_timeout(timeoutms * HZ / 1000); // convert to Hz --- -2.19.0 - diff --git a/app-emulation/vmware-modules/files/04-modules-replace-SUBDIRS-with-M.patch b/app-emulation/vmware-modules/files/04-modules-replace-SUBDIRS-with-M.patch deleted file mode 100644 index 2663cb4..0000000 --- a/app-emulation/vmware-modules/files/04-modules-replace-SUBDIRS-with-M.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 8ba37a5023f939ba8d2e0d91b916ff442b1c18dd Mon Sep 17 00:00:00 2001 -From: Michal Kubecek <mkubecek@suse.cz> -Date: Mon, 31 Dec 2018 00:05:42 +0100 -Subject: [PATCH 2/5] modules: replace SUBDIRS with M - -Since commit 0126be38d988 ("kbuild: announce removal of SUBDIRS if used") -in v5.0-rc1, using SUBDIRS when building out of tree modules produces -a deprecation warning. As M used to work since pretty much ever, use it -unconditionally. ---- - vmmon-only/Makefile | 2 +- - vmnet-only/Makefile | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/vmmon-only/Makefile b/vmmon-only/Makefile -index ccdd295..b4b71fb 100644 ---- a/vmmon-only/Makefile -+++ b/vmmon-only/Makefile -@@ -107,7 +107,7 @@ prebuild:: ; - postbuild:: ; - - $(DRIVER_KO): prebuild -- $(MAKE) -C $(BUILD_DIR) SUBDIRS=$$PWD SRCROOT=$$PWD/$(SRCROOT) \ -+ $(MAKE) -C $(BUILD_DIR) M=$$PWD SRCROOT=$$PWD/$(SRCROOT) \ - MODULEBUILDDIR=$(MODULEBUILDDIR) modules - $(MAKE) -C $$PWD SRCROOT=$$PWD/$(SRCROOT) \ - MODULEBUILDDIR=$(MODULEBUILDDIR) postbuild -diff --git a/vmnet-only/Makefile b/vmnet-only/Makefile -index caab6b9..c2fc51f 100644 ---- a/vmnet-only/Makefile -+++ b/vmnet-only/Makefile -@@ -107,7 +107,7 @@ prebuild:: ; - postbuild:: ; - - $(DRIVER_KO): prebuild -- $(MAKE) -C $(BUILD_DIR) SUBDIRS=$$PWD SRCROOT=$$PWD/$(SRCROOT) \ -+ $(MAKE) -C $(BUILD_DIR) M=$$PWD SRCROOT=$$PWD/$(SRCROOT) \ - MODULEBUILDDIR=$(MODULEBUILDDIR) modules - $(MAKE) -C $$PWD SRCROOT=$$PWD/$(SRCROOT) \ - MODULEBUILDDIR=$(MODULEBUILDDIR) postbuild --- -2.21.0 - diff --git a/app-emulation/vmware-modules/files/05-vmmon-totalram_pages-is-a-function-since-5.0.patch b/app-emulation/vmware-modules/files/05-vmmon-totalram_pages-is-a-function-since-5.0.patch deleted file mode 100644 index 8b28310..0000000 --- a/app-emulation/vmware-modules/files/05-vmmon-totalram_pages-is-a-function-since-5.0.patch +++ /dev/null @@ -1,51 +0,0 @@ -From ca44ce7215b91f82ff500843784b4e86a720fffe Mon Sep 17 00:00:00 2001 -From: Michal Kubecek <mkubecek@suse.cz> -Date: Mon, 31 Dec 2018 00:11:35 +0100 -Subject: [PATCH 3/5] vmmon: totalram_pages is a function since 5.0 - -Since commit ca79b0c211af ("mm: convert totalram_pages and totalhigh_pages -variables to atomic") in v5.0-rc1, totalram_pages() is an accessor function -and the actual variable is an atomic. ---- - vmmon-only/linux/hostif.c | 18 ++++++++++-------- - 1 file changed, 10 insertions(+), 8 deletions(-) - -diff --git a/vmmon-only/linux/hostif.c b/vmmon-only/linux/hostif.c -index af4b1d9..d32653c 100644 ---- a/vmmon-only/linux/hostif.c -+++ b/vmmon-only/linux/hostif.c -@@ -183,6 +183,15 @@ static void UnlockEntry(void *clientData, MemTrackEntry *entryPtr); - uint8 monitorIPIVector; - uint8 hvIPIVector; - -+static unsigned long compat_totalram_pages(void) -+{ -+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 0, 0) -+ return totalram_pages; -+#else -+ return totalram_pages(); -+#endif -+} -+ - /* - *----------------------------------------------------------------------------- - * -@@ -1634,14 +1643,7 @@ unsigned int - HostIF_EstimateLockedPageLimit(const VMDriver* vm, // IN - unsigned int currentlyLockedPages) // IN - { -- /* -- * This variable is available and exported to modules, -- * since at least 2.6.0. -- */ -- -- extern unsigned long totalram_pages; -- -- unsigned int totalPhysicalPages = totalram_pages; -+ unsigned int totalPhysicalPages = compat_totalram_pages(); - - /* - * Use the memory information linux exports as of late for a more --- -2.21.0 - diff --git a/app-emulation/vmware-modules/files/06-vmmon-bring-back-the-do_gettimeofday-helper.patch b/app-emulation/vmware-modules/files/06-vmmon-bring-back-the-do_gettimeofday-helper.patch deleted file mode 100644 index a16982c..0000000 --- a/app-emulation/vmware-modules/files/06-vmmon-bring-back-the-do_gettimeofday-helper.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 97d03d41984a0ade064fa6ac0400eb61de7929ff Mon Sep 17 00:00:00 2001 -From: Michal Kubecek <mkubecek@suse.cz> -Date: Mon, 31 Dec 2018 00:15:11 +0100 -Subject: [PATCH 4/5] vmmon: bring back the do_gettimeofday() helper - -The do_gettimeofday() helper was removed by commit e4b92b108c6c -("timekeeping: remove obsolete time accessors") in v5.0-rc1. Bring it back -for users in vmmon-only/linux/hostif.c. - -This feels like a quick and clumsy band aid to allow build with post-4.20 -kernels. On a closer look, the whole gymnastics around uptimeState and -HostIFReadUptimeWork() with jiffies and wall time checking and correcting -each other seems to be a workaround for an absence of high resolution -monotonic time. Considering ktime_get_ts64() is available since 3.17 and -before that, ktime_get_ts() since 2.6.17, perhaps the time has come to -clean all this machinery up. But something like this would be beyond the -scope of this repository. ---- - vmmon-only/linux/hostif.c | 11 +++++++++++ - 1 file changed, 11 insertions(+) - -diff --git a/vmmon-only/linux/hostif.c b/vmmon-only/linux/hostif.c -index d32653c..cf4197b 100644 ---- a/vmmon-only/linux/hostif.c -+++ b/vmmon-only/linux/hostif.c -@@ -192,6 +192,17 @@ static unsigned long compat_totalram_pages(void) - #endif - } - -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 0, 0) -+static void do_gettimeofday(struct timeval *tv) -+{ -+ struct timespec64 now; -+ -+ ktime_get_real_ts64(&now); -+ tv->tv_sec = now.tv_sec; -+ tv->tv_usec = now.tv_nsec / 1000; -+} -+#endif -+ - /* - *----------------------------------------------------------------------------- - * --- -2.21.0 - diff --git a/app-emulation/vmware-modules/files/07-modules-handle-access_ok-with-two-arguments.patch b/app-emulation/vmware-modules/files/07-modules-handle-access_ok-with-two-arguments.patch deleted file mode 100644 index 87c496b..0000000 --- a/app-emulation/vmware-modules/files/07-modules-handle-access_ok-with-two-arguments.patch +++ /dev/null @@ -1,70 +0,0 @@ -From 92b90ac11baf215ba73cb94e5aebf0576f1966a0 Mon Sep 17 00:00:00 2001 -From: Michal Kubecek <mkubecek@suse.cz> -Date: Sat, 5 Jan 2019 01:54:57 +0100 -Subject: [PATCH 5/5] modules: handle access_ok() with two arguments - -Since commit 96d4f267e40f ("Remove 'type' argument from access_ok() -function") in v5.0-rc1, the type argument of access_ok() was dropped. -The same commit also dropped macros VERIFY_READ and VERIFY_WRITE so check -for their existence on pre-5.0 kernels to allow build against kernels with -this change backported. ---- - vmmon-only/linux/hostif.c | 8 +++++++- - vmnet-only/userif.c | 8 +++++++- - 2 files changed, 14 insertions(+), 2 deletions(-) - -diff --git a/vmmon-only/linux/hostif.c b/vmmon-only/linux/hostif.c -index cf4197b..ef88a22 100644 ---- a/vmmon-only/linux/hostif.c -+++ b/vmmon-only/linux/hostif.c -@@ -203,6 +203,12 @@ static void do_gettimeofday(struct timeval *tv) - } - #endif - -+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 0, 0) && defined(VERIFY_WRITE) -+ #define write_access_ok(addr, size) access_ok(VERIFY_WRITE, addr, size) -+#else -+ #define write_access_ok(addr, size) access_ok(addr, size) -+#endif -+ - /* - *----------------------------------------------------------------------------- - * -@@ -3419,7 +3425,7 @@ HostIF_MapUserMem(VA addr, // IN: User memory virtual address - - ASSERT(handle); - -- if (!access_ok(VERIFY_WRITE, p, size)) { -+ if (!write_access_ok(p, size)) { - printk(KERN_ERR "%s: Couldn't verify write to uva 0x%p with size %" - FMTSZ"u\n", __func__, p, size); - -diff --git a/vmnet-only/userif.c b/vmnet-only/userif.c -index acc6ca6..5d935ee 100644 ---- a/vmnet-only/userif.c -+++ b/vmnet-only/userif.c -@@ -85,6 +85,12 @@ extern unsigned int vnet_max_qlen; - # define compat_kunmap(page) kunmap((page).p) - #endif - -+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 0, 0) && defined(VERIFY_WRITE) -+ #define write_access_ok(addr, size) access_ok(VERIFY_WRITE, addr, size) -+#else -+ #define write_access_ok(addr, size) access_ok(addr, size) -+#endif -+ - /* - *----------------------------------------------------------------------------- - * -@@ -142,7 +148,7 @@ VNetUserIfMapPtr(VA uAddr, // IN: pointer to user memory - struct page **p, // OUT: locked page - void **ptr) // OUT: kernel mapped pointer - { -- if (!access_ok(VERIFY_WRITE, (void *)uAddr, size) || -+ if (!write_access_ok((void *)uAddr, size) || - (((uAddr + size - 1) & ~(PAGE_SIZE - 1)) != - (uAddr & ~(PAGE_SIZE - 1)))) { - return -EINVAL; --- -2.21.0 - diff --git a/app-emulation/vmware-modules/files/08-vmmon-use-KERNEL_DS-rather-than-get_ds.patch b/app-emulation/vmware-modules/files/08-vmmon-use-KERNEL_DS-rather-than-get_ds.patch deleted file mode 100644 index b0a3b3c..0000000 --- a/app-emulation/vmware-modules/files/08-vmmon-use-KERNEL_DS-rather-than-get_ds.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 41413a9b6e660a93600a438944d85b6f51eb680c Mon Sep 17 00:00:00 2001 -From: Michal Kubecek <mkubecek@suse.cz> -Date: Tue, 5 Mar 2019 13:21:35 +0100 -Subject: [PATCH 2/3] vmmon: use KERNEL_DS rather than get_ds() - -Commit 736706bee329 ("get rid of legacy 'get_ds()' function") in v5.1-rc1 -removed get_ds() helper. As this helper always returned KERNEL_DS on x86_64 -since the architecture was introduced (and even on i386, it did so since -v2.1.0), simply use KERNEL_DS regardless of kernel version. ---- - vmmon-only/linux/hostif.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/vmmon-only/linux/hostif.c b/vmmon-only/linux/hostif.c -index ef88a22..8ca17de 100644 ---- a/vmmon-only/linux/hostif.c -+++ b/vmmon-only/linux/hostif.c -@@ -2305,7 +2305,7 @@ isVAReadable(VA r) // IN: - int ret; - - old_fs = get_fs(); -- set_fs(get_ds()); -+ set_fs(KERNEL_DS); - r = APICR_TO_ADDR(r, APICR_VERSION); - ret = HostIF_CopyFromUser(&dummy, r, sizeof dummy); - set_fs(old_fs); -@@ -2582,7 +2582,7 @@ HostIF_SemaphoreWait(VMDriver *vm, // IN: - } - - old_fs = get_fs(); -- set_fs(get_ds()); -+ set_fs(KERNEL_DS); - - { - struct poll_wqueues table; -@@ -2711,7 +2711,7 @@ HostIF_SemaphoreSignal(uint64 *args) // IN: - } - - old_fs = get_fs(); -- set_fs(get_ds()); -+ set_fs(KERNEL_DS); - - /* - * Always write sizeof(uint64) bytes. This works fine for eventfd and --- -2.21.0 - diff --git a/app-emulation/vmware-modules/files/09-vmmon-fix-return-type-of-vm_operations_struct-fault-.patch b/app-emulation/vmware-modules/files/09-vmmon-fix-return-type-of-vm_operations_struct-fault-.patch deleted file mode 100644 index 3897ce3..0000000 --- a/app-emulation/vmware-modules/files/09-vmmon-fix-return-type-of-vm_operations_struct-fault-.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 2af9d566d0ccc78a93b46a79d23902e5ba2bc933 Mon Sep 17 00:00:00 2001 -From: Michal Kubecek <mkubecek@suse.cz> -Date: Sat, 9 Mar 2019 11:11:29 +0100 -Subject: [PATCH 3/3] vmmon: fix return type of vm_operations_struct::fault - handler - -Commit 3d3539018d2c ("mm: create the new vm_fault_t type") in mainline -5.1-rc1 changed the definition of vm_fault_t type to unsigned to catch -vm_operations_struct::fault handlers which still have int as return value. -LinuxDriverFault() in vmmon module is one of those. - -As handler return type was changed by commit 1c8f422059ae ("mm: change -return type to vm_fault_t") in 4.17-rc1, make LinuxDriverFault() always -return vm_fault_t and define vm_fault_t as int when building against -a pre-4.17 kernel. ---- - vmmon-only/linux/driver.c | 9 ++++++--- - 1 file changed, 6 insertions(+), 3 deletions(-) - -diff --git a/vmmon-only/linux/driver.c b/vmmon-only/linux/driver.c -index 92a3529..248a95d 100644 ---- a/vmmon-only/linux/driver.c -+++ b/vmmon-only/linux/driver.c -@@ -73,6 +73,9 @@ static Bool LinuxDriverCheckPadding(void); - - struct VMXLinuxState linuxState; - -+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 17, 0) -+typedef int vm_fault_t; -+#endif - - /* - *---------------------------------------------------------------------- -@@ -97,9 +100,9 @@ long LinuxDriver_Ioctl(struct file *filp, u_int iocmd, - - static int LinuxDriver_Close(struct inode *inode, struct file *filp); - #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0) --static int LinuxDriverFault(struct vm_fault *fault); -+static vm_fault_t LinuxDriverFault(struct vm_fault *fault); - #else --static int LinuxDriverFault(struct vm_area_struct *vma, struct vm_fault *fault); -+static vm_fault_t LinuxDriverFault(struct vm_area_struct *vma, struct vm_fault *fault); - #endif - static int LinuxDriverMmap(struct file *filp, struct vm_area_struct *vma); - -@@ -595,7 +598,7 @@ LinuxDriver_Close(struct inode *inode, // IN - *----------------------------------------------------------------------------- - */ - --static int -+static vm_fault_t - #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0) - LinuxDriverFault(struct vm_fault *fault) //IN/OUT - #else --- -2.21.0 - diff --git a/app-emulation/vmware-modules/files/4.09-00-vmnet-use-standard-definition-of-PCI_VENDOR_ID_VMWAR.patch b/app-emulation/vmware-modules/files/4.09-00-vmnet-use-standard-definition-of-PCI_VENDOR_ID_VMWAR.patch deleted file mode 100644 index d41c160..0000000 --- a/app-emulation/vmware-modules/files/4.09-00-vmnet-use-standard-definition-of-PCI_VENDOR_ID_VMWAR.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 4d80590924550d0ee3fe470e027deea0ee43e6b6 Mon Sep 17 00:00:00 2001 -From: Michal Kubecek <mkubecek@suse.cz> -Date: Tue, 18 Apr 2017 12:52:08 +0200 -Subject: [PATCH 1/6] vmnet: use standard definition of PCI_VENDOR_ID_VMWARE if - available - -The PCI_VENDOR_ID_VMWARE macro is defined in mainline pci_ids.h since -commit 94e57fea6202 ("PCI: Move PCI_VENDOR_ID_VMWARE to pci_ids.h") -in v3.18-rc1. ---- - vmnet-only/vm_device_version.h | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/vmnet-only/vm_device_version.h b/vmnet-only/vm_device_version.h -index ab396bc..cafddd0 100644 ---- a/vmnet-only/vm_device_version.h -+++ b/vmnet-only/vm_device_version.h -@@ -35,6 +35,8 @@ - #endif - #endif - -+#include <linux/pci_ids.h> -+ - /* LSILogic 53C1030 Parallel SCSI controller - * LSILogic SAS1068 SAS controller - */ -@@ -53,7 +55,10 @@ - * VMware HD Audio codec - * VMware HD Audio controller - */ -+#ifndef PCI_VENDOR_ID_VMWARE - #define PCI_VENDOR_ID_VMWARE 0x15AD -+#endif -+ - #define PCI_DEVICE_ID_VMWARE_SVGA2 0x0405 - #define PCI_DEVICE_ID_VMWARE_SVGA 0x0710 - #define PCI_DEVICE_ID_VMWARE_VGA 0x0711 --- -2.14.3 - diff --git a/app-emulation/vmware-modules/files/4.10-00-vmnet-use-standard-definition-of-PCI_VENDOR_ID_VMWAR.patch b/app-emulation/vmware-modules/files/4.10-00-vmnet-use-standard-definition-of-PCI_VENDOR_ID_VMWAR.patch deleted file mode 100644 index a97b987..0000000 --- a/app-emulation/vmware-modules/files/4.10-00-vmnet-use-standard-definition-of-PCI_VENDOR_ID_VMWAR.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 7cb0c3beb4abde406d5334376106d68997f6fb51 Mon Sep 17 00:00:00 2001 -From: Michal Kubecek <mkubecek@suse.cz> -Date: Tue, 18 Apr 2017 13:01:56 +0200 -Subject: [PATCH 2/6] vmnet: use standard definition of - PCI_VENDOR_ID_VMWARE_VMXNET3 if available - -The PCI_DEVICE_ID_VMWARE_VMXNET3 macro is defined in mainline pci_ids.h -since commit b1226c7db1d9 ("vmxnet3: Move PCI Id to pci_ids.h") in -v4.10-rc1. ---- - vmnet-only/vm_device_version.h | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/vmnet-only/vm_device_version.h b/vmnet-only/vm_device_version.h -index cafddd0..9305ddb 100644 ---- a/vmnet-only/vm_device_version.h -+++ b/vmnet-only/vm_device_version.h -@@ -75,7 +75,11 @@ - #define PCI_DEVICE_ID_VMWARE_1394 0x0780 - #define PCI_DEVICE_ID_VMWARE_BRIDGE 0x0790 - #define PCI_DEVICE_ID_VMWARE_ROOTPORT 0x07A0 -+ -+#ifndef PCI_DEVICE_ID_VMWARE_VMXNET3 - #define PCI_DEVICE_ID_VMWARE_VMXNET3 0x07B0 -+#endif -+ - #define PCI_DEVICE_ID_VMWARE_PVSCSI 0x07C0 - #define PCI_DEVICE_ID_VMWARE_82574 0x07D0 - #define PCI_DEVICE_ID_VMWARE_AHCI 0x07E0 --- -2.14.3 - diff --git a/app-emulation/vmware-modules/files/4.12-00-vmmon-use-standard-definition-of-MSR_MISC_FEATURES_E.patch b/app-emulation/vmware-modules/files/4.12-00-vmmon-use-standard-definition-of-MSR_MISC_FEATURES_E.patch deleted file mode 100644 index 646190b..0000000 --- a/app-emulation/vmware-modules/files/4.12-00-vmmon-use-standard-definition-of-MSR_MISC_FEATURES_E.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 53d6ccbeed4c519dc105f98552067ced2ecbd432 Mon Sep 17 00:00:00 2001 -From: Michal Kubecek <mkubecek@suse.cz> -Date: Fri, 23 Jun 2017 09:29:24 +0200 -Subject: [PATCH 3/6] vmmon: use standard definition of - MSR_MISC_FEATURES_ENABLES if available - -The MSR_MISC_FEATURES_ENABLES macro is defined in mainline since commit -ab6d9468631a ("x86/msr: Rename MISC_FEATURE_ENABLES to -MISC_FEATURES_ENABLES") in v4.12-rc1. - -The MSR_MISC_FEATURES_ENABLES_CPUID_FAULT macro is defined in mainline -since commit e9ea1e7f53b8 ("x86/arch_prctl: Add ARCH_[GET|SET]_CPUID") in -v4.12-rc1. ---- - vmmon-only/include/x86msr.h | 7 +++++++ - 1 file changed, 7 insertions(+) - -diff --git a/vmmon-only/include/x86msr.h b/vmmon-only/include/x86msr.h -index 3a6bfe8..904d9e9 100644 ---- a/vmmon-only/include/x86msr.h -+++ b/vmmon-only/include/x86msr.h -@@ -24,6 +24,7 @@ - - #ifndef _X86MSR_H_ - #define _X86MSR_H_ -+#include <asm/msr-index.h> - #define INCLUDE_ALLOW_USERLEVEL - #define INCLUDE_ALLOW_VMX - -@@ -112,7 +113,9 @@ MSRQuery; - #define MSR_TSC_AUX 0xc0000103 - #define MSR_BD_TSC_RATIO 0xc0000104 - -+#ifndef MSR_MISC_FEATURES_ENABLES - #define MSR_MISC_FEATURES_ENABLES 0x140 -+#endif - - /* Intel Core Architecture and later: use only architected counters. */ - #define IA32_MSR_PERF_CAPABILITIES 0x345 -@@ -612,7 +615,11 @@ typedef enum { - /* - * MISC_FEATURES_ENABLES bits - */ -+#ifdef MSR_MISC_FEATURES_ENABLES_CPUID_FAULT -+#define MSR_MISC_FEATURES_ENABLES_CPUID_FAULTING MSR_MISC_FEATURES_ENABLES_CPUID_FAULT -+#else - #define MSR_MISC_FEATURES_ENABLES_CPUID_FAULTING 1 -+#endif - - - --- -2.14.3 - diff --git a/app-emulation/vmware-modules/files/4.13-00-vmmon-use-standard-definition-of-CR3_PCID_MASK-if-av.patch b/app-emulation/vmware-modules/files/4.13-00-vmmon-use-standard-definition-of-CR3_PCID_MASK-if-av.patch deleted file mode 100644 index b52f0a9..0000000 --- a/app-emulation/vmware-modules/files/4.13-00-vmmon-use-standard-definition-of-CR3_PCID_MASK-if-av.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 704be6e3f2143df35e99025caa3393b9c309fbc1 Mon Sep 17 00:00:00 2001 -From: Michal Kubecek <mkubecek@suse.cz> -Date: Mon, 24 Jul 2017 10:08:55 +0200 -Subject: [PATCH 4/6] vmmon: use standard definition of CR3_PCID_MASK if - available - -The CR3_PCID_MASK is defined in mainline asm/processor-flags.h since -commit 6c690ee1039b ("x86/mm: Split read_cr3() into read_cr3_pa() and -__read_cr3()") in v4.13-rc1. ---- - vmmon-only/include/x86_basic_defs.h | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/vmmon-only/include/x86_basic_defs.h b/vmmon-only/include/x86_basic_defs.h -index abfb0b8..8c7566f 100644 ---- a/vmmon-only/include/x86_basic_defs.h -+++ b/vmmon-only/include/x86_basic_defs.h -@@ -35,6 +35,8 @@ - #define INCLUDE_ALLOW_VMCORE - #include "includeCheck.h" - -+#include <asm/processor-flags.h> -+ - #define X86_MAX_INSTR_LEN 15 /* Max byte length of an x86 instruction. */ - - #define NUM_IDT_VECTORS 256 -@@ -75,7 +77,9 @@ - #define CR3_PDB_MASK 0xfffff000 - #define CR3_IGNORE 0xFFF - #define PAE_CR3_IGNORE 0x1F -+#ifndef CR3_PCID_MASK - #define CR3_PCID_MASK 0xFFF -+#endif - #define CR3_NO_FLUSH (1ULL << 63) - - #define CR4_VME 0x00000001 --- -2.14.3 - diff --git a/app-emulation/vmware-modules/files/4.16-00-vmmon-use-standard-definition-of-MSR_K7_HWCR_SMMLOCK.patch b/app-emulation/vmware-modules/files/4.16-00-vmmon-use-standard-definition-of-MSR_K7_HWCR_SMMLOCK.patch deleted file mode 100644 index 9be5642..0000000 --- a/app-emulation/vmware-modules/files/4.16-00-vmmon-use-standard-definition-of-MSR_K7_HWCR_SMMLOCK.patch +++ /dev/null @@ -1,30 +0,0 @@ -From ae4d4697c6f48be9314d807480dac206c9889d46 Mon Sep 17 00:00:00 2001 -From: Michal Kubecek <mkubecek@suse.cz> -Date: Sun, 11 Feb 2018 01:17:00 +0100 -Subject: [PATCH 07/10] vmmon: use standard definition of MSR_K7_HWCR_SMMLOCK - if available - -The MSR_K7_HWCR_SMMLOCK macro is defined in mainline since commit -18c71ce9c882 ("x86/CPU/AMD: Add the Secure Encrypted Virtualization CPU -feature") in v4.16-rc1. ---- - vmmon-only/include/x86msr.h | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/vmmon-only/include/x86msr.h b/vmmon-only/include/x86msr.h -index e10a859..5618776 100644 ---- a/vmmon-only/include/x86msr.h -+++ b/vmmon-only/include/x86msr.h -@@ -441,7 +441,9 @@ typedef enum { - #define MSR_K7_HWCR_SSEDIS 0x00008000ULL // Disable SSE bit - #define MSR_K7_HWCR_MONMWAITUSEREN 0x00000400ULL // Enable MONITOR/MWAIT CPL>0 - #define MSR_K7_HWCR_TLBFFDIS 0x00000040ULL // Disable TLB Flush Filter -+#ifndef MSR_K7_HWCR_SMMLOCK - #define MSR_K7_HWCR_SMMLOCK 0x00000001ULL // Lock SMM environment -+#endif - - #ifndef MSR_K8_SYSCFG - #define MSR_K8_SYSCFG 0xc0010010 --- -2.17.0 - diff --git a/app-emulation/vmware-modules/vmware-modules-15.1.0.ebuild b/app-emulation/vmware-modules/vmware-modules-15.5.0-r1.ebuild index 5e61b09..6e025ba 100644 --- a/app-emulation/vmware-modules/vmware-modules-15.1.0.ebuild +++ b/app-emulation/vmware-modules/vmware-modules-15.5.0-r1.ebuild @@ -6,7 +6,7 @@ EAPI=6 inherit eapi7-ver eutils flag-o-matic linux-info linux-mod user udev DESCRIPTION="VMware kernel modules" -HOMEPAGE="http://www.vmware.com/" +HOMEPAGE="https://github.com/mkubecek/vmware-host-modules" MY_KERNEL_VERSION="5.3" SRC_URI="https://github.com/mkubecek/vmware-host-modules/archive/w${PV}-k${MY_KERNEL_VERSION}.zip -> ${P}.zip" diff --git a/app-emulation/vmware-workstation/Manifest b/app-emulation/vmware-workstation/Manifest index 3568073..2025622 100644 --- a/app-emulation/vmware-workstation/Manifest +++ b/app-emulation/vmware-workstation/Manifest @@ -1,10 +1,10 @@ AUX configure-hostd.sh 372 BLAKE2B 0ed2d479a46d69ff8498bfac180f0440fb57fb173fc1a427115872a40a47559725623399652e9663fa8a4ca0d7e020d5445bafb6c37f45449dea341fc9f6cce6 SHA512 87c84f5e51e8b4585a9a55f13771cd8b84f2e4e0bb33679e3a1b23eb84a5be5d523a57b6c770095c1d21712a98e9317bbd215ab027843b0586b35ecf9fb85b49 -AUX vmware-15.1.rc 2476 BLAKE2B dff25b43c5fa57186be2a5f0ca4606d26cd1c3f3dbeb91d855fc07a9fd576f446983c852c8e0b112c5616bb95dfddc7e2c738b4d0ca341c781d7addcb45068cd SHA512 9bae224387128b2cd221d509e2933042e3925fb041670907d8a47c70a488214206912fe25ab24c0bdeb31591149e62aba374d3fa63fdd08644e09667e195967f -AUX vmware-server-15.1.rc 1506 BLAKE2B 886ed1de7a99320611a28a43b48cf17715fcab8bf533a73c28a1aa2f8d150ee2b84e1e510e864b18347f3bd7e43faec3cfc90f09d5ac9c0afe821f67654a68c4 SHA512 548ff69f87bee2b6c82bd931d22dd560370c4a00641ae47d05af05bbc72cedc8fd25054abc405a590b72227b10c5997d79f16ded67f3e0cfac142eb248b47d44 -DIST VMware-Workstation-Full-15.1.0-13591040.x86_64.bundle 495325913 BLAKE2B 2624bfbf85c8b6b3267d8aaad90004ea9c8948faae29d2eb95f680b62c6d56b7f8214facdffbdd1f3e69376e0a518bc54bf24eb87779eb9369779a6a41cd13d1 SHA512 84a5111141912f31ddd1e3480d8953f30681e2e2aa165115a416921394ef00e48af129337fd25e182aeba20d5cfe8f8b6c6e9908282bc930f1ce09613847e685 -DIST com.vmware.fusion.tools.darwin-15.1.0.13591040.zip.tar 2826240 BLAKE2B 648e1ad94d89000f27f8abb61c7251c2d1c53ec76bf13bc54688b4353ea1295ae39861a372a981899c4faed78e17b8f6c15fbff6bbe90b5061783f5f1b2ea4e3 SHA512 479569c70d9c0dea6a04b6d832f4419ae042128b18e7d9f7f7a037a5d32d3eb93fdc87aa7ace8669f5377b8ad65cc1ffd5c81e6b60d38e270c437bd55b724054 -DIST com.vmware.fusion.tools.darwinPre15-15.1.0.13591040.zip.tar 2478080 BLAKE2B 0aa99f074ccf1959d965320210f394b33b1ee7f10877656d5d8985c124890fe5833c03133d9c4b9d8742a1f71e375b375d6dd5722598a5f5eaba74a1591e992f SHA512 76bd675f4880e6267d3dff1fa53a00f8e98cd4806c12aa595d5e13d87b56c5a74cb18cda0a4afc3842e9d1d92f16aa70543d1c012065308a6c96d7e709f16835 +AUX vmware-15.5.rc 2476 BLAKE2B dff25b43c5fa57186be2a5f0ca4606d26cd1c3f3dbeb91d855fc07a9fd576f446983c852c8e0b112c5616bb95dfddc7e2c738b4d0ca341c781d7addcb45068cd SHA512 9bae224387128b2cd221d509e2933042e3925fb041670907d8a47c70a488214206912fe25ab24c0bdeb31591149e62aba374d3fa63fdd08644e09667e195967f +AUX vmware-server-15.5.rc 1506 BLAKE2B 886ed1de7a99320611a28a43b48cf17715fcab8bf533a73c28a1aa2f8d150ee2b84e1e510e864b18347f3bd7e43faec3cfc90f09d5ac9c0afe821f67654a68c4 SHA512 548ff69f87bee2b6c82bd931d22dd560370c4a00641ae47d05af05bbc72cedc8fd25054abc405a590b72227b10c5997d79f16ded67f3e0cfac142eb248b47d44 +DIST VMware-Workstation-Full-15.5.0-14665864.x86_64.bundle 535436416 BLAKE2B 47c8abea912071910000b5f28f47cac0d229b1194fe03b3c58959704bb867062f1bab3de516163adf0487d3079779d09e60a5a66439007d523f293db69c44ca2 SHA512 693f6d666b908864f666b8ed7a33e3020958657e189a151b917e5fdfb1c9a88cb83fda731b684942f521b30543b92f57865b902b01017c40967b5363f2babaed +DIST com.vmware.fusion.tools.darwin-15.5.0.14665864.zip.tar 2826240 BLAKE2B 648e1ad94d89000f27f8abb61c7251c2d1c53ec76bf13bc54688b4353ea1295ae39861a372a981899c4faed78e17b8f6c15fbff6bbe90b5061783f5f1b2ea4e3 SHA512 479569c70d9c0dea6a04b6d832f4419ae042128b18e7d9f7f7a037a5d32d3eb93fdc87aa7ace8669f5377b8ad65cc1ffd5c81e6b60d38e270c437bd55b724054 +DIST com.vmware.fusion.tools.darwinPre15-15.5.0.14665864.zip.tar 2478080 BLAKE2B 0aa99f074ccf1959d965320210f394b33b1ee7f10877656d5d8985c124890fe5833c03133d9c4b9d8742a1f71e375b375d6dd5722598a5f5eaba74a1591e992f SHA512 76bd675f4880e6267d3dff1fa53a00f8e98cd4806c12aa595d5e13d87b56c5a74cb18cda0a4afc3842e9d1d92f16aa70543d1c012065308a6c96d7e709f16835 DIST unlocker-3.0.2.tar.gz 15984801 BLAKE2B e157ed24ad6cea1ab16dd5fc11935b7cdbb3fb0a1e0a9c059eb100f0c57508b749884111b93a9f272ad2c5a9ecd4fadb177ccac47d7688665c5fa8f100fcd2b1 SHA512 83a390562761791531574c05d2a5caacd936b45b32f26a1e5ba953ce32e27af29cb3ac0984c552c2eb9cfdf033d4b95fae1c33a70f2b169563d74d1ea188dacf DIST vmware-systemd-gentoo-02.tgz 14064 BLAKE2B 24ac2c2f295130f4aadad867ec88d652bd292cc60e6b471bb2e01069fe01d84dac3d8b0ca7690ebf218d663adfe0c1dc889d3f4f53cf3178b68291461260748b SHA512 3a382bfd5f1eb2b218d8012588ea55c1f22786dba35a1fc0fdfdb4e40b05e0e735ed09c6961684f6442e863c3ed72024ce01f19113bbd9ca47c32e3f43c55f42 -EBUILD vmware-workstation-15.1.0.13591040-r5.ebuild 21391 BLAKE2B 5be3bbd81ce373bde3869dda3127c47ee9e8cd0f6c48e2f9880bcc3b64fd25b98e03bd7983b9ab8025b5f19cfbef223839c0f68ca5b3698f8101daf6d1c3753f SHA512 fc24e323801ed37679a270cf14de75e5992cca489007223654b75c88c547424d971a4792eb4d2a3c7febeb59873f5c59a75c3a91f1666d516624425a682d89ee -MISC metadata.xml 2031 BLAKE2B 00e17d5cc895b1d1c12263653b9824fb3340e4a8ea7bfb44f878ab7c3b59db2238d71a8b4daedd2b7307206c6aba9dbf7ab7410f845cb9a6362fda41b11c06fd SHA512 1c1ed18e2cd0c2112c2e6dfeded9a3bc9c9d554d926e411c2c49d90c36c17941996c9d0ff62a3ab6f8df8ad0cd22b6a72d1889a4017dffae8a27f974ac8a7212 +EBUILD vmware-workstation-15.5.0.14665864-r4.ebuild 18511 BLAKE2B b14aa59425e509524a9aeb8b8b1869eda7155ee77a915de190b2d443e66d42f4058e013098ac263d726407df24b5800a19a2952f3720993b52a81d6938747523 SHA512 6135bab7e08bbf60a837f5ed755b0535e362b74d3ab6800400ea6568066a68e45ca6df2332506fbc2c9ea588590f69a818218b0d796684284409666f98a1bcbe +MISC metadata.xml 1852 BLAKE2B 3d3241e2fa53d92bd9ffdf6523ea0cb8dd798520656b1e4c8bc20723657704252c6c94d7231f2d047bcf2f5115ba7e3f9df90db718b4be8b103848dfd624a56f SHA512 0e9ff0f750609178cd5fb2ebb91411287ef49e60ce1577bf263f7d7b61555d69f34e23998a36edfc7887bcb7be066e798eb4b2a7773d790047107a7f07609e15 diff --git a/app-emulation/vmware-workstation/files/vmware-15.1.rc b/app-emulation/vmware-workstation/files/vmware-15.5.rc index b627869..b627869 100644 --- a/app-emulation/vmware-workstation/files/vmware-15.1.rc +++ b/app-emulation/vmware-workstation/files/vmware-15.5.rc diff --git a/app-emulation/vmware-workstation/files/vmware-server-15.1.rc b/app-emulation/vmware-workstation/files/vmware-server-15.5.rc index 8f9b7dd..8f9b7dd 100644 --- a/app-emulation/vmware-workstation/files/vmware-server-15.1.rc +++ b/app-emulation/vmware-workstation/files/vmware-server-15.5.rc diff --git a/app-emulation/vmware-workstation/metadata.xml b/app-emulation/vmware-workstation/metadata.xml index 1faffab..bb5a91d 100644 --- a/app-emulation/vmware-workstation/metadata.xml +++ b/app-emulation/vmware-workstation/metadata.xml @@ -10,11 +10,9 @@ other operating systems in a virtual environment to run on top of Gentoo. </longdescription> <use> - <flag name="bundled-libs">Use precompiled bundled libraries instead of the system installation.</flag> <flag name="macos-guests">Support macOS guests.</flag> <flag name="modules">Install <pkg>app-emulation/vmware-modules</pkg> in order to run VMs locally.</flag> <flag name="ovftool">Install OVF tool.</flag> - <flag name="server">Install VMware Workstation Server component.</flag> <flag name="vix">Install VIX. The VIX API allows you to write programs and scripts that automate virtual machine operations, and run programs or manipulate files within guest operating systems. diff --git a/app-emulation/vmware-workstation/vmware-workstation-15.1.0.13591040-r5.ebuild b/app-emulation/vmware-workstation/vmware-workstation-15.5.0.14665864-r4.ebuild index c44b536..aaf39c3 100644 --- a/app-emulation/vmware-workstation/vmware-workstation-15.1.0.13591040-r5.ebuild +++ b/app-emulation/vmware-workstation/vmware-workstation-15.5.0.14665864-r4.ebuild @@ -28,146 +28,20 @@ SRC_URI=" LICENSE="GPL-2 GPL-3 MIT-with-advertising vmware" SLOT="0" KEYWORDS="~amd64" -IUSE="+bundled-libs cups doc macos-guests +modules ovftool server systemd vix" +# the kernel modules are optional because they're not needed to connect to VMs +# running on remote systems - https://bugs.gentoo.org/604426 +IUSE="cups doc macos-guests +modules ovftool systemd vix" DARWIN_GUESTS="darwin darwinPre15" IUSE_VMWARE_GUESTS="${DARWIN_GUESTS} linux linuxPreGlibc25 netware solaris windows winPre2k winPreVista" for guest in ${IUSE_VMWARE_GUESTS}; do IUSE+=" vmware-tools-${guest}" done REQUIRED_USE=" - server? ( modules ) vmware-tools-darwin? ( macos-guests ) vmware-tools-darwinPre15? ( macos-guests ) " RESTRICT="mirror preserve-libs strip" -BUNDLED_LIBS_DIR=/opt/vmware/lib/vmware/lib - -BUNDLED_LIBS=" - libX11.so.6 - libXau.so.6 - libxcb.so.1 - libXcomposite.so.1 - libXcursor.so.1 - libXdamage.so.1 - libXdmcp.so.6 - libXext.so.6 - libXfixes.so.3 - libXft.so.2 - libXinerama.so.1 - libXi.so.6 - libXrandr.so.2 - libXrender.so.1 - libXtst.so.6 - libaio.so.1 - libatk-1.0.so.0 - libatk-bridge-2.0.so.0 - libatspi.so.0 - libcairo.so.2 - libcairo-gobject.so.2 - libcroco-0.6.so.3 - libcrypto.so.1.0.2 - libcurl.so.4 - libdbus-1.so.3 - libepoxy.so.0 - libexpat.so.1 - libffi.so.6 - libfontconfig.so.1 - libfreetype.so.6 - libfuse.so.2 - libgailutil-3.so.0 - libgcc_s.so.1 - libgck-1.so.0 - libgcr-base-3.so.1 - libgcr-ui-3.so.1 - libgcrypt.so.20 - libgdk-3.so.0 - libgdk_pixbuf-2.0.so.0 - libgio-2.0.so.0 - libglib-2.0.so.0 - libgmodule-2.0.so.0 - libgobject-2.0.so.0 - libgpg-error.so.0 - libgthread-2.0.so.0 - libgtk-3.so.0 - libharfbuzz.so.0 - libICE.so.6 - libjpeg.so.62 - libp11-kit.so.0 - libpango-1.0.so.0 - libpangocairo-1.0.so.0 - libpangoft2-1.0.so.0 - libpcre.so.1 - libpcsclite.so.1 - libpixman-1.so.0 - libpng12.so.0 - librsvg-2.so.2 - libsigc-2.0.so.0 - libSM.so.6 - libssl.so.1.0.2 - libstdc++.so.6 - libtasn1.so.6 - libtiff.so.5 - libxml2.so.2 - libz.so.1 -" - -BUNDLED_LIB_DEPENDS=" - app-accessibility/at-spi2-atk - app-accessibility/at-spi2-core - app-crypt/gcr[gtk] - app-crypt/p11-kit - dev-cpp/gtkmm:3.0 - dev-libs/atk - dev-libs/expat - dev-libs/glib:2 - dev-libs/libaio - dev-libs/libcroco - dev-libs/libffi - dev-libs/libgcrypt:0/20 - dev-libs/libgpg-error - dev-libs/libpcre - dev-libs/libsigc++:2 - dev-libs/libtasn1:0/6 - dev-libs/libxml2 - dev-libs/openssl:0 - gnome-base/librsvg:2 - media-libs/fontconfig - media-libs/freetype - media-libs/harfbuzz:0/0.9.18 - media-libs/libepoxy - media-libs/libpng:1.2 - media-libs/tiff:0 - net-misc/curl - sys-apps/dbus - sys-apps/pcsc-lite - sys-fs/fuse:0 - sys-libs/zlib - virtual/jpeg-compat - x11-libs/cairo[glib] - x11-libs/gdk-pixbuf:2 - x11-libs/gtk+:3 - x11-libs/libICE - x11-libs/libSM - x11-libs/libX11 - x11-libs/libXau - x11-libs/libxcb - x11-libs/libXcomposite - x11-libs/libXcursor - x11-libs/libXdamage - x11-libs/libXdmcp - x11-libs/libXext - x11-libs/libXfixes - x11-libs/libXft - x11-libs/libXi - x11-libs/libXinerama - x11-libs/libXrandr - x11-libs/libXrender - x11-libs/libXtst - x11-libs/pango - x11-libs/pixman -" - # vmware should not use virtual/libc as this is a # precompiled binary package thats linked to glibc. RDEPEND=" @@ -180,7 +54,7 @@ RDEPEND=" dev-libs/icu dev-libs/json-c dev-libs/nettle:0/6.2 - <gnome-base/dconf-0.30.1 + gnome-base/dconf gnome-base/gconf gnome-base/libgnome-keyring media-gfx/graphite2 @@ -200,7 +74,6 @@ RDEPEND=" x11-libs/startup-notification x11-libs/xcb-util x11-themes/hicolor-icon-theme - !bundled-libs? ( ${BUNDLED_LIB_DEPENDS} ) !app-emulation/vmware-player !app-emulation/vmware-tools " @@ -209,8 +82,6 @@ DEPEND=" >=dev-util/patchelf-0.9 modules? ( ~app-emulation/vmware-modules-${PV_MODULES} ) ovftool? ( app-admin/chrpath ) - sys-libs/ncurses:5 - sys-libs/readline:0 " S=${WORKDIR}/extracted @@ -224,6 +95,11 @@ QA_WX_LOAD="opt/vmware/lib/vmware/tools-upgraders/vmware-tools-upgrader-32 opt/v # adding "opt/vmware/lib/vmware/lib/libvmware-gksu.so/libvmware-gksu.so" to QA_WX_LOAD doesn't work src_unpack() { + if has usersandbox ${FEATURES}; then + ewarn "You are emerging ${P} with 'usersandbox' enabled." \ + "If unpacking fails, try emerging with 'FEATURES=-usersandbox'!" + fi + for a in ${A}; do if [ ${a##*.} == 'bundle' ]; then cp "${DISTDIR}/${a}" "${WORKDIR}" @@ -232,19 +108,12 @@ src_unpack() { fi done + export LC_ALL=C # https://communities.vmware.com/thread/618570?start=15&tstart=0 local bundle="${MY_P}.x86_64.bundle" chmod 755 "${bundle}" # this needs a /tmp mounted without "noexec" because it extracts and executes scripts in there ./${bundle} --console --required --eulas-agreed --extract=extracted || die "unable to extract bundle" - if ! use ovftool; then - rm -r extracted/vmware-ovftool || die "unable to remove dir" - fi - - if ! use server; then - rm -r extracted/vmware-workstation-server || die "unable to remove dir" - fi - if ! use vix; then rm -r extracted/vmware-vix-core extracted/vmware-vix-lib-Workstation* || die "unable to remove dir" fi @@ -259,29 +128,6 @@ src_unpack() { done } -clean_bundled_libs() { - einfo "Removing bundled libraries" - for libname in ${BUNDLED_LIBS} ; do - rm -rf "${S}"/*/lib/lib/${libname} - done - - rm -rf "${S}"/*/lib/libconf - - # Among the bundled libs there are libcrypto.so.1.0.2 and libssl.so.1.0.2 - # (needed by libcds.so) which seem to be compiled from openssl-1.0.1l. - # Upstream real sonames are *so.1.0.0 so it's necessary to fix DT_NEEDED link - # in libcds.so to be able to use system libs. - pushd >/dev/null . - einfo "Patching libcds.so" - for d in "${S}"/*/lib/lib/libcds.so; do - cd "${d}" || die - patchelf --replace-needed libssl.so.1.0.{2,0} \ - --replace-needed libcrypto.so.1.0.{2,0} \ - libcds.so || die - cd - >/dev/null - done -} - src_prepare() { default @@ -291,22 +137,16 @@ src_prepare() { mkdir vmware-network-editor/lib/lib mv vmware-network-editor/lib/libvmware-netcfg.so vmware-network-editor/lib/lib/ - if use server; then - rm -f vmware-workstation-server/bin/{openssl,configure-hostd.sh} - fi - - if ! use bundled-libs ; then - clean_bundled_libs - fi + rm -f vmware-workstation-server/bin/{openssl,configure-hostd.sh} if use ovftool; then chrpath -d vmware-ovftool/libcurl.so.4 fi if use macos-guests; then - sed -i -e "s#vmx_path = '/usr#vmx_path = '${D}${VM_INSTALL_DIR//\//\\/}#" \ - -e "s#os\.path\.isfile('/usr#os.path.isfile('${D}${VM_INSTALL_DIR//\//\\/}#" \ - -e "s#vmwarebase = '/usr#vmwarebase = '${D}${VM_INSTALL_DIR//\//\\/}#" \ + sed -i -e "s#vmx_path = '/usr#vmx_path = '${ED}${VM_INSTALL_DIR//\//\\/}#" \ + -e "s#os\.path\.isfile('/usr#os.path.isfile('${ED}${VM_INSTALL_DIR//\//\\/}#" \ + -e "s#vmwarebase = '/usr#vmwarebase = '${ED}${VM_INSTALL_DIR//\//\\/}#" \ "${WORKDIR}"/unlocker-*/unlocker.py fi @@ -332,28 +172,24 @@ src_install() { into "${VM_INSTALL_DIR}" dobin */bin/* dosbin */sbin/* + rm "${ED}${VM_INSTALL_DIR}"/bin/configure-initscript.sh # install the libraries insinto "${VM_INSTALL_DIR}"/lib/vmware doins -r */lib/* vmware-vmx/roms - rm -rf "${D}${VM_INSTALL_DIR}"/lib/vmware/*.so + rm -rf "${ED}${VM_INSTALL_DIR}"/lib/vmware/*.so # install the installer - insinto "${VM_INSTALL_DIR}"/lib/vmware-installer/$vmware_installer_version - doins vmware-installer/{vmis,vmis-launcher,vmware-installer,vmware-installer.py} + insinto "${VM_INSTALL_DIR}"/lib/vmware-installer/${vmware_installer_version} + doins -r vmware-installer/{cdsHelper,vmis,vmis-launcher,vmware-cds-helper,vmware-installer,vmware-installer.py} + fperms 0755 "${VM_INSTALL_DIR}"/lib/vmware-installer/${vmware_installer_version}/{vmis-launcher,cdsHelper,vmware-installer} + dosym "${VM_INSTALL_DIR}"/lib/vmware-installer/${vmware_installer_version}/vmware-installer "${VM_INSTALL_DIR}"/bin/vmware-installer insinto /etc/vmware-installer doins vmware-installer/bootstrap - - # workaround for hardcoded search paths needed during shared objects loading - if ! use bundled-libs ; then - dosym ../../../../../../usr/$(get_libdir)/libglib-2.0.so.0 \ - "${VM_INSTALL_DIR}"/lib/vmware/lib/libglib-2.0.so.0/libglib-2.0.so.0 - # Bug 432918 - dosym ../../../../../../usr/$(get_libdir)/libcrypto.so.1.0.0 \ - "${VM_INSTALL_DIR}"/lib/vmware/lib/libcrypto.so.1.0.2/libcrypto.so.1.0.2 - dosym ../../../../../../usr/$(get_libdir)/libssl.so.1.0.0 \ - "${VM_INSTALL_DIR}"/lib/vmware/lib/libssl.so.1.0.2/libssl.so.1.0.2 - fi + sed -i \ + -e "s/@@VERSION@@/${vmware_installer_version}/" \ + -e "s,@@VMWARE_INSTALLER@@,${VM_INSTALL_DIR}/lib/vmware-installer/${vmware_installer_version}," \ + "${ED}/etc/vmware-installer/bootstrap" # install the ancillaries insinto /usr @@ -367,6 +203,14 @@ src_install() { doins -r */etc/cups/* fi + # Hardcoded EULA path. We need to disable the default compression. + insinto /usr/share/doc/vmware-workstation + doins vmware-workstation/doc/EULA + docompress -x /usr/share/doc/vmware-workstation + # always needed + insinto /usr/lib/vmware-ovftool + doins vmware-ovftool/vmware.eula + if use doc; then dodoc -r */doc/* fi @@ -382,45 +226,43 @@ src_install() { newins vmware-vmx/etc/modprobe.d/modprobe-vmware-fuse.conf vmware-fuse.conf # install vmware workstation server - if use server; then - cd "${S}"/vmware-workstation-server + cd "${S}"/vmware-workstation-server - # install binaries - into "${VM_INSTALL_DIR}"/lib/vmware - dobin "${FILESDIR}"/configure-hostd.sh + # install binaries + into "${VM_INSTALL_DIR}"/lib/vmware + dobin "${FILESDIR}"/configure-hostd.sh - # install the libraries - insinto "${VM_INSTALL_DIR}"/lib/vmware/lib - doins -r lib/* + # install the libraries + insinto "${VM_INSTALL_DIR}"/lib/vmware/lib + doins -r lib/* - into "${VM_INSTALL_DIR}" - for tool in vmware-hostd wssc-adminTool ; do - cat > "${T}/${tool}" <<-EOF - #!/usr/bin/env bash - set -e + into "${VM_INSTALL_DIR}" + for tool in vmware-hostd wssc-adminTool ; do + cat > "${T}/${tool}" <<-EOF + #!/usr/bin/env bash + set -e - . /etc/vmware/bootstrap + . /etc/vmware/bootstrap - exec "${VM_INSTALL_DIR}/lib/vmware/bin/${tool}" \\ - "\$@" - EOF - dobin "${T}/${tool}" - done + exec "${VM_INSTALL_DIR}/lib/vmware/bin/${tool}" \\ + "\$@" + EOF + dobin "${T}/${tool}" + done - insinto "${VM_INSTALL_DIR}"/lib/vmware - doins -r hostd + insinto "${VM_INSTALL_DIR}"/lib/vmware + doins -r hostd - # create the configuration - insinto /etc/vmware - doins -r config/etc/vmware/* - doins -r etc/vmware/* + # create the configuration + insinto /etc/vmware + doins -r config/etc/vmware/* + doins -r etc/vmware/* - # create directory for shared virtual machines. - keepdir "${VM_DATA_STORE_DIR}" - keepdir /var/log/vmware + # create directory for shared virtual machines. + keepdir "${VM_DATA_STORE_DIR}" + keepdir /var/log/vmware - cd - >/dev/null - fi + cd - >/dev/null # install vmware-vix if use vix; then @@ -450,15 +292,16 @@ src_install() { insinto "${VM_INSTALL_DIR}"/lib/vmware-ovftool doins -r * - chmod 0755 "${D}${VM_INSTALL_DIR}"/lib/vmware-ovftool/{ovftool,ovftool.bin} - dosym "${D}${VM_INSTALL_DIR}"/lib/vmware-ovftool/ovftool "${VM_INSTALL_DIR}"/bin/ovftool + chmod 0755 "${ED}${VM_INSTALL_DIR}"/lib/vmware-ovftool/{ovftool,ovftool.bin} + dosym "${ED}${VM_INSTALL_DIR}"/lib/vmware-ovftool/ovftool "${VM_INSTALL_DIR}"/bin/ovftool cd - >/dev/null fi # create symlinks for the various tools - local tool ; for tool in thnuclnt vmware vmplayer{,-daemon} licenseTool vmamqpd \ - vmware-{app-control,enter-serial,gksu,fuseUI,hostd,modconfig{,-console},netcfg,tray,unity-helper,vim-cmd,vmblock-fuse,vprobe,wssc-adminTool,zenity} ; do + local tool; + for tool in thnuclnt vmware vmplayer{,-daemon} licenseTool vmamqpd \ + vmware-{app-control,enter-serial,gksu,fuseUI,hostd,modconfig{,-console},netcfg,setup-helper,tray,unity-helper,vim-cmd,vmblock-fuse,vprobe,wssc-adminTool,zenity}; do dosym appLoader "${VM_INSTALL_DIR}"/lib/vmware/bin/"${tool}" done dosym "${VM_INSTALL_DIR}"/lib/vmware/bin/vmplayer "${VM_INSTALL_DIR}"/bin/vmplayer @@ -473,10 +316,8 @@ src_install() { fperms 4711 "${VM_INSTALL_DIR}"/lib/vmware/bin/vmware-vmx{,-debug,-stats} fperms 0755 "${VM_INSTALL_DIR}"/lib/vmware/lib/libvmware-gksu.so/gksu-run-helper fperms 4711 "${VM_INSTALL_DIR}"/sbin/vmware-authd - if use server; then - fperms 0755 "${VM_INSTALL_DIR}"/bin/{vmware-hostd,wssc-adminTool} - fperms 1777 "${VM_DATA_STORE_DIR}" - fi + fperms 0755 "${VM_INSTALL_DIR}"/bin/{vmware-hostd,wssc-adminTool} + fperms 1777 "${VM_DATA_STORE_DIR}" if use vix; then fperms 0755 "${VM_INSTALL_DIR}"/lib/vmware-vix/setup/vmware-config fi @@ -488,28 +329,28 @@ src_install() { ROOTPATH='${VM_INSTALL_DIR}/bin' CONFIG_PROTECT_MASK='/etc/vmware-installer' EOF - use bundled-libs && echo 'VMWARE_USE_SHIPPED_LIBS=1' >> "${envd}" + echo 'VMWARE_USE_SHIPPED_LIBS=1' >> "${envd}" doenvd "${envd}" # create the configuration dodir /etc/vmware - cat > "${D}"/etc/vmware/bootstrap <<-EOF + cat > "${ED}"/etc/vmware/bootstrap <<-EOF BINDIR='${VM_INSTALL_DIR}/bin' LIBDIR='${VM_INSTALL_DIR}/lib' EOF - cat > "${D}"/etc/vmware/config <<-EOF + cat > "${ED}"/etc/vmware/config <<-EOF .encoding = "UTF-8" bindir = "${VM_INSTALL_DIR}/bin" libdir = "${VM_INSTALL_DIR}/lib/vmware" initscriptdir = "/etc/init.d" authd.fullpath = "${VM_INSTALL_DIR}/sbin/vmware-authd" gksu.rootMethod = "su" - VMCI_CONFED = "yes" - VMBLOCK_CONFED = "yes" - VSOCK_CONFED = "yes" + VMCI_CONFED = "no" + VMBLOCK_CONFED = "no" + VSOCK_CONFED = "no" NETWORKING = "yes" player.product.version = "${MY_PV}" product.buildNumber = "${PV_BUILD}" @@ -523,22 +364,22 @@ src_install() { installerDefaults.dataCollectionEnabled = "no" installerDefaults.transferVersion = "1" installerDefaults.autoSoftwareUpdateEnabled = "no" + acceptEULA = "yes" + acceptOVFEULA = "yes" EOF if use vix; then - cat >> "${D}"/etc/vmware/config <<-EOF + cat >> "${ED}"/etc/vmware/config <<-EOF vix.libdir = "${VM_INSTALL_DIR}/lib/vmware-vix" vix.config.version = "1" EOF fi - if use server; then - cat >> "${D}"/etc/vmware/config <<-EOF - authd.client.port = "902" - authd.proxy.nfc = "vmware-hostd:ha-nfc" - authd.soapserver = "TRUE" - EOF - fi + cat >> "${ED}"/etc/vmware/config <<-EOF + authd.client.port = "902" + authd.proxy.nfc = "vmware-hostd:ha-nfc" + authd.soapserver = "TRUE" + EOF if use modules; then # install the init.d script @@ -548,108 +389,102 @@ src_install() { newinitd "${initscript}" vmware fi - if use server; then - # install the init.d script - local initscript="${T}/vmware-workstation-server.rc" - sed -e "s:@@ETCDIR@@:/etc/vmware:g" \ - -e "s:@@PREFIX@@:${VM_INSTALL_DIR}:g" \ - -e "s:@@BINDIR@@:${VM_INSTALL_DIR}/bin:g" \ - -e "s:@@LIBDIR@@:${VM_INSTALL_DIR}/lib/vmware:g" \ - "${FILESDIR}/vmware-server-${major_minor}.rc" > ${initscript} || die - newinitd "${initscript}" vmware-workstation-server - fi + # install the init.d script + local initscript="${T}/vmware-workstation-server.rc" + sed -e "s:@@ETCDIR@@:/etc/vmware:g" \ + -e "s:@@PREFIX@@:${VM_INSTALL_DIR}:g" \ + -e "s:@@BINDIR@@:${VM_INSTALL_DIR}/bin:g" \ + -e "s:@@LIBDIR@@:${VM_INSTALL_DIR}/lib/vmware:g" \ + "${FILESDIR}/vmware-server-${major_minor}.rc" > ${initscript} || die + newinitd "${initscript}" vmware-workstation-server # fill in variable placeholders - if use bundled-libs ; then - sed -e "s:@@LIBCONF_DIR@@:${VM_INSTALL_DIR}/lib/vmware/libconf:g" \ - -i "${D}${VM_INSTALL_DIR}"/lib/vmware/libconf/etc/gtk-3.0/gdk-pixbuf.loaders || die - fi - sed -e "s:@@BINARY@@:${VM_INSTALL_DIR}/bin/vmplayer:g" \ + sed -e "s:@@LIBCONF_DIR@@:${VM_INSTALL_DIR}/lib/vmware/libconf:g" \ + -i "${ED}${VM_INSTALL_DIR}"/lib/vmware/libconf/etc/gtk-3.0/gdk-pixbuf.loaders || die + sed -e "s:@@BINARY@@:${EPREFIX}${VM_INSTALL_DIR}/bin/vmplayer:g" \ -e "/^Encoding/d" \ - -i "${D}/usr/share/applications/vmware-player.desktop" || die - sed -e "s:@@BINARY@@:${VM_INSTALL_DIR}/bin/vmware:g" \ + -i "${ED}/usr/share/applications/vmware-player.desktop" || die + sed -e "s:@@BINARY@@:${EPREFIX}${VM_INSTALL_DIR}/bin/vmware:g" \ -e "/^Encoding/d" \ - -i "${D}/usr/share/applications/vmware-workstation.desktop" || die - sed -e "s:@@BINARY@@:${VM_INSTALL_DIR}/bin/vmware-netcfg:g" \ + -i "${ED}/usr/share/applications/vmware-workstation.desktop" || die + sed -e "s:@@BINARY@@:${EPREFIX}${VM_INSTALL_DIR}/bin/vmware-netcfg:g" \ -e "/^Encoding/d" \ - -i "${D}/usr/share/applications/vmware-netcfg.desktop" || die + -i "${ED}/usr/share/applications/vmware-netcfg.desktop" || die - if use server; then # Configuration for vmware-workstation-server - local hostdUser="${VM_HOSTD_USER:-root}" - sed -e "/ACEDataUser/s:root:${hostdUser}:g" \ - -i "${D}/etc/vmware/hostd/authorization.xml" || die - - # Shared VMs Path: [standard]. - sed -e "s:##{DS_NAME}##:standard:g" \ - -e "s:##{DS_PATH}##:${VM_DATA_STORE_DIR}:g" \ - -i "${D}/etc/vmware/hostd/datastores.xml" || die - - sed -e "s:##{HTTP_PORT}##:-1:g" \ - -e "s:##{HTTPS_PORT}##:443:g" \ - -e "s:##{PIPE_PREFIX}##:/var/run/vmware/:g" \ - -i "${D}/etc/vmware/hostd/proxy.xml" || die - - # See vmware-workstation-server.py for more details. - sed -e "s:##{BUILD_CFGDIR}##:/etc/vmware/hostd/:g" \ - -e "s:##{CFGALTDIR}##:/etc/vmware/hostd/:g" \ - -e "s:##{CFGDIR}##:/etc/vmware/:g" \ - -e "s:##{ENABLE_AUTH}##:true:g" \ - -e "s:##{HOSTDMODE}##:ws:g" \ - -e "s:##{HOSTD_CFGDIR}##:/etc/vmware/hostd/:g" \ - -e "s:##{HOSTD_MOCKUP}##:false:g" \ - -e "s:##{LIBDIR}##:${VM_INSTALL_DIR}/lib/vmware:g" \ - -e "s:##{LIBDIR_INSTALLED}##:${VM_INSTALL_DIR}/lib/vmware/:g" \ - -e "s:##{LOGDIR}##:/var/log/vmware/:g" \ - -e "s:##{LOGLEVEL}##:verbose:g" \ - -e "s:##{MOCKUP}##:mockup-host-config.xml:g" \ - -e "s:##{PLUGINDIR}##:./:g" \ - -e "s:##{SHLIB_PREFIX}##:lib:g" \ - -e "s:##{SHLIB_SUFFIX}##:.so:g" \ - -e "s:##{USE_BLKLISTSVC}##:false:g" \ - -e "s:##{USE_CBRCSVC}##:false:g" \ - -e "s:##{USE_CIMSVC}##:false:g" \ - -e "s:##{USE_DIRECTORYSVC}##:false:g" \ - -e "s:##{USE_DIRECTORYSVC_MOCKUP}##:false:g" \ - -e "s:##{USE_DYNAMIC_PLUGIN_LOADING}##:false:g" \ - -e "s:##{USE_DYNAMO}##:false:g" \ - -e "s:##{USE_DYNSVC}##:false:g" \ - -e "s:##{USE_GUESTSVC}##:false:g" \ - -e "s:##{USE_HBRSVC}##:false:g" \ - -e "s:##{USE_HBRSVC_MOCKUP}##:false:g" \ - -e "s:##{USE_HOSTSPECSVC}##:false:g" \ - -e "s:##{USE_HOSTSVC_MOCKUP}##:false:g" \ - -e "s:##{USE_HTTPNFCSVC}##:false:g" \ - -e "s:##{USE_HTTPNFCSVC_MOCKUP}##:false:g" \ - -e "s:##{USE_LICENSESVC_MOCKUP}##:false:g" \ - -e "s:##{USE_NFCSVC}##:true:g" \ - -e "s:##{USE_NFCSVC_MOCKUP}##:false:g" \ - -e "s:##{USE_OVFMGRSVC}##:true:g" \ - -e "s:##{USE_PARTITIONSVC}##:false:g" \ - -e "s:##{USE_SECURESOAP}##:false:g" \ - -e "s:##{USE_SNMPSVC}##:false:g" \ - -e "s:##{USE_SOLO_MOCKUP}##:false:g" \ - -e "s:##{USE_STATSSVC}##:false:g" \ - -e "s:##{USE_STATSSVC_MOCKUP}##:false:g" \ - -e "s:##{USE_VCSVC_MOCKUP}##:false:g" \ - -e "s:##{USE_VSLMSVC}##:false:g" \ - -e "s:##{USE_VSLMSVC_MOCKUP}##:false:g" \ - -e "s:##{USE_VDISKSVC}##:false:g" \ - -e "s:##{USE_VDISKSVC_MOCKUP}##:false:g" \ - -e "s:##{USE_VMSVC_MOCKUP}##:false:g" \ - -e "s:##{VM_INVENTORY}##:vmInventory.xml:g" \ - -e "s:##{VM_RESOURCES}##:vmResources.xml:g" \ - -e "s:##{WEBSERVER_PORT_ENTRY}##::g" \ - -e "s:##{WORKINGDIR}##:./:g" \ - -i "${D}/etc/vmware/hostd/config.xml" || die - - sed -e "s:##{ENV_LOCATION}##:/etc/vmware/hostd/env/:g" \ - -i "${D}/etc/vmware/hostd/environments.xml" || die - - # @@VICLIENT_URL@@=XXX - sed -e "s:@@AUTHD_PORT@@:902:g" \ - -i "${D}${VM_INSTALL_DIR}/lib/vmware/hostd/docroot/client/clients.xml" || die - fi + local hostdUser="${VM_HOSTD_USER:-root}" + sed -e "/ACEDataUser/s:root:${hostdUser}:g" \ + -i "${ED}/etc/vmware/hostd/authorization.xml" || die + + # Shared VMs Path: [standard]. + sed -e "s:##{DS_NAME}##:standard:g" \ + -e "s:##{DS_PATH}##:${VM_DATA_STORE_DIR}:g" \ + -i "${ED}/etc/vmware/hostd/datastores.xml" || die + + sed -e "s:##{HTTP_PORT}##:-1:g" \ + -e "s:##{HTTPS_PORT}##:443:g" \ + -e "s:##{PIPE_PREFIX}##:/var/run/vmware/:g" \ + -i "${ED}/etc/vmware/hostd/proxy.xml" || die + + # See vmware-workstation-server.py for more details. + sed -e "s:##{BUILD_CFGDIR}##:/etc/vmware/hostd/:g" \ + -e "s:##{CFGALTDIR}##:/etc/vmware/hostd/:g" \ + -e "s:##{CFGDIR}##:/etc/vmware/:g" \ + -e "s:##{ENABLE_AUTH}##:true:g" \ + -e "s:##{HOSTDMODE}##:ws:g" \ + -e "s:##{HOSTD_CFGDIR}##:/etc/vmware/hostd/:g" \ + -e "s:##{HOSTD_MOCKUP}##:false:g" \ + -e "s:##{LIBDIR}##:${VM_INSTALL_DIR}/lib/vmware:g" \ + -e "s:##{LIBDIR_INSTALLED}##:${VM_INSTALL_DIR}/lib/vmware/:g" \ + -e "s:##{LOGDIR}##:/var/log/vmware/:g" \ + -e "s:##{LOGLEVEL}##:verbose:g" \ + -e "s:##{MOCKUP}##:mockup-host-config.xml:g" \ + -e "s:##{PLUGINDIR}##:./:g" \ + -e "s:##{SHLIB_PREFIX}##:lib:g" \ + -e "s:##{SHLIB_SUFFIX}##:.so:g" \ + -e "s:##{USE_BLKLISTSVC}##:false:g" \ + -e "s:##{USE_CBRCSVC}##:false:g" \ + -e "s:##{USE_CIMSVC}##:false:g" \ + -e "s:##{USE_DIRECTORYSVC}##:false:g" \ + -e "s:##{USE_DIRECTORYSVC_MOCKUP}##:false:g" \ + -e "s:##{USE_DYNAMIC_PLUGIN_LOADING}##:false:g" \ + -e "s:##{USE_DYNAMO}##:false:g" \ + -e "s:##{USE_DYNSVC}##:false:g" \ + -e "s:##{USE_GUESTSVC}##:false:g" \ + -e "s:##{USE_HBRSVC}##:false:g" \ + -e "s:##{USE_HBRSVC_MOCKUP}##:false:g" \ + -e "s:##{USE_HOSTSPECSVC}##:false:g" \ + -e "s:##{USE_HOSTSVC_MOCKUP}##:false:g" \ + -e "s:##{USE_HTTPNFCSVC}##:false:g" \ + -e "s:##{USE_HTTPNFCSVC_MOCKUP}##:false:g" \ + -e "s:##{USE_LICENSESVC_MOCKUP}##:false:g" \ + -e "s:##{USE_NFCSVC}##:true:g" \ + -e "s:##{USE_NFCSVC_MOCKUP}##:false:g" \ + -e "s:##{USE_OVFMGRSVC}##:true:g" \ + -e "s:##{USE_PARTITIONSVC}##:false:g" \ + -e "s:##{USE_SECURESOAP}##:false:g" \ + -e "s:##{USE_SNMPSVC}##:false:g" \ + -e "s:##{USE_SOLO_MOCKUP}##:false:g" \ + -e "s:##{USE_STATSSVC}##:false:g" \ + -e "s:##{USE_STATSSVC_MOCKUP}##:false:g" \ + -e "s:##{USE_VCSVC_MOCKUP}##:false:g" \ + -e "s:##{USE_VSLMSVC}##:false:g" \ + -e "s:##{USE_VSLMSVC_MOCKUP}##:false:g" \ + -e "s:##{USE_VDISKSVC}##:false:g" \ + -e "s:##{USE_VDISKSVC_MOCKUP}##:false:g" \ + -e "s:##{USE_VMSVC_MOCKUP}##:false:g" \ + -e "s:##{VM_INVENTORY}##:vmInventory.xml:g" \ + -e "s:##{VM_RESOURCES}##:vmResources.xml:g" \ + -e "s:##{WEBSERVER_PORT_ENTRY}##::g" \ + -e "s:##{WORKINGDIR}##:./:g" \ + -i "${ED}/etc/vmware/hostd/config.xml" || die + + sed -e "s:##{ENV_LOCATION}##:/etc/vmware/hostd/env/:g" \ + -i "${ED}/etc/vmware/hostd/environments.xml" || die + + # @@VICLIENT_URL@@=XXX + sed -e "s:@@AUTHD_PORT@@:902:g" \ + -i "${ED}${VM_INSTALL_DIR}/lib/vmware/hostd/docroot/client/clients.xml" || die # install systemd unit files if use systemd; then @@ -664,7 +499,7 @@ src_install() { # VMware tools for guest in ${IUSE_VMWARE_GUESTS}; do if use vmware-tools-${guest}; then - local dbfile="${D}/etc/vmware-installer/database" + local dbfile="${ED}/etc/vmware-installer/database" if ! [ -e "${dbfile}" ]; then > "${dbfile}" sqlite3 "${dbfile}" "CREATE TABLE settings(key VARCHAR PRIMARY KEY, value VARCHAR NOT NULL, component_name VARCHAR NOT NULL);" @@ -680,7 +515,6 @@ src_install() { fi insinto "${VM_INSTALL_DIR}/lib/vmware/isoimages" doins vmware-tools-${guest}/${guest}.iso - doins vmware-tools-${guest}/${guest}.iso.sig fi done |