diff options
author | RandomNobody | 2024-03-04 00:28:12 +0000 |
---|---|---|
committer | RandomNobody | 2024-03-04 00:28:12 +0000 |
commit | 978f32d832d6cb09634d68b121bba521bb12dccd (patch) | |
tree | 4e86e5c144abf2eee6fc3cc028d2a9f144cdc4b2 | |
parent | 79f8bb27cfcdf2ce452ab5b865fd3aff7496be42 (diff) | |
parent | fcfb8fcf4ff8d3c1cc274ac224b3d81579608c91 (diff) | |
download | aur-978f32d832d6cb09634d68b121bba521bb12dccd.tar.gz |
merged upstream
-rw-r--r-- | .SRCINFO | 12 | ||||
-rw-r--r-- | PKGBUILD | 18 | ||||
-rw-r--r-- | vmmon.patch | 129 | ||||
-rw-r--r-- | vmnet.patch | 104 |
4 files changed, 248 insertions, 15 deletions
@@ -1,7 +1,7 @@ pkgbase = vmware-workstation-openrc pkgdesc = The industry standard for running multiple operating systems as virtual machines on a single Linux PC. Modified to use OpenRC. - pkgver = 17.5.0 - pkgrel = 2 + pkgver = 17.5.1 + pkgrel = 1 url = https://www.vmware.com/products/workstation-for-linux.html install = vmware-workstation.install arch = x86_64 @@ -30,7 +30,7 @@ pkgbase = vmware-workstation-openrc options = emptydirs backup = etc/vmware/config backup = etc/conf.d/vmware - source = https://download3.vmware.com/software/WKST-1750-LX/VMware-Workstation-Full-17.5.0-22583795.x86_64.bundle + source = https://download3.vmware.com/software/WKST-1751-LX/VMware-Workstation-Full-17.5.1-23298084.x86_64.bundle source = vmware-bootstrap source = vmware-vix-bootstrap source = config @@ -43,7 +43,7 @@ pkgbase = vmware-workstation-openrc source = Makefile source = vmmon.patch source = vmnet.patch - sha256sums = 7807f7bf10228c4c9950711694c34a7bc85f193366a2c3cc44996bb1601b38f8 + sha256sums = aa60b7cef2a87acefbcf7c7a5242c7b09d7b910acbd5afebc5ef6617e50c7496 sha256sums = 67edc40e39686281f5101ced1a250648ae32e4cd5dffe4fd47bc3c7aed929d50 sha256sums = da1698bf4e73ae466c1c7fc93891eba4b9c4581856649635e6532275dbfea141 sha256sums = bcf24ce469527844c60f8fd50fda61a6b65cc326ff6bf026d5ae0576cf749c2c @@ -54,7 +54,7 @@ pkgbase = vmware-workstation-openrc sha256sums = 452c1bfebac52f4808ba5f4bf2fc3eae9858f8745d60c13d3c46e7550a3e1eb1 sha256sums = 10562d11d50edab9abc2b29c8948714edcb9b084f99b3766d07ddd21259e372e sha256sums = 273d4357599a3e54259c78cc49054fef8ecfd2c2eda35cbcde3a53a62777a5ac - sha256sums = 27c640bd793eb1f8d7561060df9562ffc44832cf5c69ed79ff4408abd14ae493 - sha256sums = b86f61a37a9dd74257751eba2478c471b6e1ccac6476c5845d3371236833a4fb + sha256sums = 6b7c5dbf7d2237496943aca10b0e7337ed4da32ff80767fe2566a78c2fe6bf1e + sha256sums = cf64b63e2afed22cec1983cf8e1a4d9492a5df2e9eb468cc3205e7e086a67b47 pkgname = vmware-workstation-openrc @@ -15,10 +15,10 @@ #PKGEXT=.pkg.tar pkgname=vmware-workstation-openrc -pkgver=17.5.0 -_buildver=22583795 +pkgver=17.5.1 +_buildver=23298084 _pkgver=${pkgver}_${_buildver} -pkgrel=2 +pkgrel=1 pkgdesc='The industry standard for running multiple operating systems as virtual machines on a single Linux PC. Modified to use OpenRC.' arch=(x86_64) url='https://www.vmware.com/products/workstation-for-linux.html' @@ -77,7 +77,7 @@ source=( 'vmnet.patch' ) sha256sums=( - '7807f7bf10228c4c9950711694c34a7bc85f193366a2c3cc44996bb1601b38f8' + 'aa60b7cef2a87acefbcf7c7a5242c7b09d7b910acbd5afebc5ef6617e50c7496' '67edc40e39686281f5101ced1a250648ae32e4cd5dffe4fd47bc3c7aed929d50' 'da1698bf4e73ae466c1c7fc93891eba4b9c4581856649635e6532275dbfea141' @@ -91,8 +91,8 @@ sha256sums=( '10562d11d50edab9abc2b29c8948714edcb9b084f99b3766d07ddd21259e372e' '273d4357599a3e54259c78cc49054fef8ecfd2c2eda35cbcde3a53a62777a5ac' - '27c640bd793eb1f8d7561060df9562ffc44832cf5c69ed79ff4408abd14ae493' - 'b86f61a37a9dd74257751eba2478c471b6e1ccac6476c5845d3371236833a4fb' + '6b7c5dbf7d2237496943aca10b0e7337ed4da32ff80767fe2566a78c2fe6bf1e' + 'cf64b63e2afed22cec1983cf8e1a4d9492a5df2e9eb468cc3205e7e086a67b47' ) options=(!strip emptydirs) @@ -107,8 +107,8 @@ _isoimages=(linux linuxPreGlibc25 netware solaris windows winPre2k winPreVista) if [ -n "$_enable_macOS_guests" ]; then -_vmware_fusion_ver=13.5.0 -_vmware_fusion_buildver=22583790 +_vmware_fusion_ver=13.5.1 +_vmware_fusion_buildver=23298085 _vmware_fusion_ver_full=${_vmware_fusion_ver}_${_vmware_fusion_buildver} # List of VMware Fusion versions: https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/ @@ -125,7 +125,7 @@ source+=( "efi-patches.txt" ) sha256sums+=( - '8c365b44fb8372eb2bd5146d28e163d50ec71b6b92ee6bb3a1965dee182748d1' + '7ff2797c44f9569980acb0c41ebf647c9db59556602d5d7f0a2f0d2be3c4cc86' '8a61e03d0edbbf60c1c84a43aa87a6e950f82d2c71b968888f019345c2f684f3' '392c1effcdec516000e9f8ffc97f2586524d8953d3e7d6f2c5f93f2acd809d91' ) diff --git a/vmmon.patch b/vmmon.patch index 546792b8feeb..b33e6b9dae21 100644 --- a/vmmon.patch +++ b/vmmon.patch @@ -106,3 +106,132 @@ index 3f43c62..7eaa49a 100644 +#endif /* COMPAT_LINUX_VERSION_CHECK_LT(6, 5, 0) */ + #endif /* __PGTBL_H__ */ +From 2c6d66f3f1947384038b765c897b102ecdb18298 Mon Sep 17 00:00:00 2001 +From: Michal Kubecek <mkubecek@suse.cz> +Date: Fri, 12 Jan 2024 08:30:33 +0100 +Subject: [PATCH] modules: fix build with -Wmissing-prototypes + +Mainline commit 0fcb70851fbf ("Makefile.extrawarn: turn on +missing-prototypes globally") in 6.8-rc1 enables -Wmissing-prototypes +globally, revealing a lot of unclean code and also some actual problems. +This is also the case in vmmon and vmnet modules. + +Most of them are addressed by making functions used only within one file +static. The missing prototype of random_get_entropy_fallback() is handled +by including <linux/timex.h> rather than <asm/timex.h>. + +Finally, there are four functions in vmnet module which are actually used +in multiple files but instead of proper declarations, their prototype is +duplicated in vmnet-only/driver.c, risking that the two copies won't match +(which actually happened in one case). The cleanest solution would be +creating separate header files for them (bridge.h, netif.h, userif.h and +vnetUserListener.h) and including them in the respective source file and +driver.c. As the developers already handle similar cases by simply putting +the declarations into vnetInt.h, let us do the same to keep things simple. +--- + vmmon-only/common/task.c | 2 +- + vmmon-only/common/vmx86.c | 6 +++--- + vmmon-only/linux/driver.c | 4 ++-- + vmmon-only/linux/hostif.c | 6 +++--- + vmnet-only/bridge.c | 2 +- + vmnet-only/driver.c | 16 ++-------------- + vmnet-only/vnetInt.h | 7 +++++++ + 7 files changed, 19 insertions(+), 24 deletions(-) + +diff --git a/vmmon-only/common/task.c b/vmmon-only/common/task.c +index 5d34cf4d..f3752069 100644 +--- a/vmmon-only/common/task.c ++++ b/vmmon-only/common/task.c +@@ -544,7 +544,7 @@ Task_Terminate(void) + *----------------------------------------------------------------------------- + */ + +-Selector ++static Selector + TaskGetFlatWriteableDataSegment(void) + { + DTR hostGDTR; +diff --git a/vmmon-only/common/vmx86.c b/vmmon-only/common/vmx86.c +index 86e52fb4..cf64b123 100644 +--- a/vmmon-only/common/vmx86.c ++++ b/vmmon-only/common/vmx86.c +@@ -49,7 +49,7 @@ + #include "x86svm.h" + #include "x86cpuid_asm.h" + #if defined(__linux__) +-#include <asm/timex.h> ++#include <linux/timex.h> + #endif + #include "perfctr.h" + #include "x86vtinstr.h" +@@ -696,7 +696,7 @@ Vmx86FreeCrossPages(VMDriver *vm) + *----------------------------------------------------------------------------- + */ + +-void ++static void + Vmx86FreeVMDriver(VMDriver *vm) + { + Vmx86_Free(vm->ptRootMpns); +@@ -729,7 +729,7 @@ Vmx86FreeVMDriver(VMDriver *vm) + *----------------------------------------------------------------------------- + */ + +-VMDriver * ++static VMDriver * + Vmx86AllocVMDriver(uint32 numVCPUs) + { + VMDriver *vm = Vmx86_Calloc(1, sizeof *vm, TRUE); +diff --git a/vmmon-only/linux/driver.c b/vmmon-only/linux/driver.c +index 3d8b7228..ab8e2dc4 100644 +--- a/vmmon-only/linux/driver.c ++++ b/vmmon-only/linux/driver.c +@@ -267,7 +267,7 @@ LinuxDriverInitTSCkHz(void) + *---------------------------------------------------------------------- + */ + +-int ++static int + LinuxDriverInit(void) + { + int retval; +@@ -335,7 +335,7 @@ LinuxDriverInit(void) + *---------------------------------------------------------------------- + */ + +-void ++static void + LinuxDriverExit(void) + { + /* +diff --git a/vmmon-only/linux/hostif.c b/vmmon-only/linux/hostif.c +index 5d08f33a..c1e6c671 100644 +--- a/vmmon-only/linux/hostif.c ++++ b/vmmon-only/linux/hostif.c +@@ -2922,7 +2922,7 @@ HostIF_CallOnEachCPU(void (*func)(void*), // IN: function to call + *----------------------------------------------------------------------------- + */ + +-Bool ++static Bool + HostIFCheckTrackedMPN(VMDriver *vm, // IN: The VM instance + MPN mpn) // IN: The MPN + { +@@ -3042,7 +3042,7 @@ HostIF_ReadPhysical(VMDriver *vm, // IN: The VM instance + *---------------------------------------------------------------------- + */ + +-int ++static int + HostIFWritePhysicalWork(MA ma, // MA to be written to + VA64 addr, // src data to write + Bool kernelBuffer, // is the buffer in kernel space? +@@ -3201,7 +3201,7 @@ HostIF_GetCurrentPCPU(void) + *---------------------------------------------------------------------- + */ + +-int ++static int + HostIFStartTimer(Bool rateChanged, //IN: Did rate change? + unsigned int rate) //IN: current clock rate + { diff --git a/vmnet.patch b/vmnet.patch index e4b5994aa94f..02fd31e79869 100644 --- a/vmnet.patch +++ b/vmnet.patch @@ -69,3 +69,107 @@ Fixing VMWare Player on Linux when using DHCP addresses: https://www.nikhef.nl/~ if (port->jack.state == FALSE || hubJack == NULL) { return -EINVAL; } +From 2c6d66f3f1947384038b765c897b102ecdb18298 Mon Sep 17 00:00:00 2001 +From: Michal Kubecek <mkubecek@suse.cz> +Date: Fri, 12 Jan 2024 08:30:33 +0100 +Subject: [PATCH] modules: fix build with -Wmissing-prototypes + +Mainline commit 0fcb70851fbf ("Makefile.extrawarn: turn on +missing-prototypes globally") in 6.8-rc1 enables -Wmissing-prototypes +globally, revealing a lot of unclean code and also some actual problems. +This is also the case in vmmon and vmnet modules. + +Most of them are addressed by making functions used only within one file +static. The missing prototype of random_get_entropy_fallback() is handled +by including <linux/timex.h> rather than <asm/timex.h>. + +Finally, there are four functions in vmnet module which are actually used +in multiple files but instead of proper declarations, their prototype is +duplicated in vmnet-only/driver.c, risking that the two copies won't match +(which actually happened in one case). The cleanest solution would be +creating separate header files for them (bridge.h, netif.h, userif.h and +vnetUserListener.h) and including them in the respective source file and +driver.c. As the developers already handle similar cases by simply putting +the declarations into vnetInt.h, let us do the same to keep things simple. +--- + vmmon-only/common/task.c | 2 +- + vmmon-only/common/vmx86.c | 6 +++--- + vmmon-only/linux/driver.c | 4 ++-- + vmmon-only/linux/hostif.c | 6 +++--- + vmnet-only/bridge.c | 2 +- + vmnet-only/driver.c | 16 ++-------------- + vmnet-only/vnetInt.h | 7 +++++++ + 7 files changed, 19 insertions(+), 24 deletions(-) + +diff --git a/vmnet-only/bridge.c b/vmnet-only/bridge.c +index b604a25d..4c139570 100644 +--- a/vmnet-only/bridge.c ++++ b/vmnet-only/bridge.c +@@ -1407,7 +1407,7 @@ VNetBridgeComputeHeaderPos(struct sk_buff *skb) // IN: buffer to examine + *---------------------------------------------------------------------- + */ + +-void ++static void + VNetBridgeSendLargePacket(struct sk_buff *skb, // IN: packet to split + VNetBridge *bridge) // IN: bridge + { +diff --git a/vmnet-only/driver.c b/vmnet-only/driver.c +index f314ff2e..fe5923d8 100644 +--- a/vmnet-only/driver.c ++++ b/vmnet-only/driver.c +@@ -50,18 +50,6 @@ + + #include "vmnetInt.h" + +-/* +- * Initialization and creation routines from other files. +- * Putting them here reduces the need for so many header files. +- */ +- +-extern int VNetUserIf_Create(VNetPort **ret); +-extern int VNetNetIf_Create(char *devName, VNetPort **ret, int hubNum); +-extern int VNetBridge_Create(char *devName, uint32 flags, VNetJack *hubJack, +- VNetPort **ret); +-extern int VNetUserListener_Create(uint32 classMask, VNetJack *hubJack, VNetPort **ret); +- +- + /* + * Structure for cycle detection of host interfaces. This + * struct is only used by VNetCycleDetectIf(). +@@ -295,7 +283,7 @@ VNetRemovePortFromList(const VNetPort *port) // IN: port to remove from list + *---------------------------------------------------------------------- + */ + +-int ++static int + LinuxDriverInit(void) + { + int retval; +@@ -374,7 +362,7 @@ vmnet_init_module(void) + *---------------------------------------------------------------------- + */ + +-void ++static void + LinuxDriverExit(void) + { + unregister_chrdev(VNET_MAJOR_NUMBER, "vmnet"); +diff --git a/vmnet-only/vnetInt.h b/vmnet-only/vnetInt.h +index f6a90a13..e76dcf5c 100644 +--- a/vmnet-only/vnetInt.h ++++ b/vmnet-only/vnetInt.h +@@ -218,6 +218,13 @@ extern int VNetProc_Init(void); + + extern void VNetProc_Cleanup(void); + ++int VNetNetIf_Create(char *devName, VNetPort **ret, int hubNum); ++int VNetUserIf_Create(VNetPort **ret); ++int VNetBridge_Create(const char *devName, uint32 flags, VNetJack *hubJack, ++ VNetPort **ret); ++int VNetUserListener_Create(uint32 classMask, VNetJack *hubJack, ++ VNetPort **port); ++ + + /* + *---------------------------------------------------------------------- |