Accepting request 965451 from home:kallan:branches:Virtualization:VMware

- Update to 12.0.0 (build 19345655) (boo#1196803)
- jsc#SLE-24097 ECO Update open-vm-tools 12.0.0
  + New/Updated features:
    - Support for managing Salt Minion through guest variables.  A new
      open-vm-tools-salt-minion rpm is added to handle this support.
        jsc#SLE-24094 Update open-vm-tools 12.0.0 SLES15SP4
        jsc#SLE-24095 Update open-vm-tools 12.0.0 SLES15SP3
        jsc#SLE-24096 Update open-vm-tools 12.0.0 SLES12SP5
    - New ComponentMgr plugin to manage (add, remove, monitor) components on
      the guest VM. 
    - Patch to fix potential Fail to Build from Source [FTBFS] (boo#1196804).
    - Build vmhgfs with either libfuse2 or libfuse3.
  + A number of Coverity and Codacy reported issues have been addressed.
  + The following issues and pull requests reported on
    github.com/vmware/open-vm-tools have been addressed: Issue # 128,
    Issue # 314, Pull # 513, Pull # 544, Pull # 573
    
- Added patches
  + gcc_size_t.patch (boo#1196804)

OBS-URL: https://build.opensuse.org/request/show/965451
OBS-URL: https://build.opensuse.org/package/show/Virtualization:VMware/open-vm-tools?expand=0&rev=417
This commit is contained in:
Kirk Allan 2022-03-28 17:28:45 +00:00 committed by Git OBS Bridge
parent 4fbf2a8071
commit 164265a050
5 changed files with 179 additions and 6 deletions

123
gcc_size_t.patch Normal file
View File

@ -0,0 +1,123 @@
commit de6d129476724668b8903e2a87654f50ba21b1b2
Author: John Wolfe <jwolfe@vmware.com>
Date: Thu Feb 17 14:51:25 2022 -0800
asyncsocket.c: Use size_t in place of int type for array size and indexing.
Glibc 2.35 with GCC 11 and 12 produces additional warnings about strings
and array bounds. Switching from "int" to "size_t" type for variable
used for the array size and element indexing.
GCC warned when an integer value is passed as the size of the
struct pollfd array to poll().
Fixes https://github.com/vmware/open-vm-tools/issues/570
diff --git a/open-vm-tools/lib/asyncsocket/asyncSocketVTable.h b/open-vm-tools/lib/asyncsocket/asyncSocketVTable.h
index a69b6567..c068ff50 100644
--- a/open-vm-tools/lib/asyncsocket/asyncSocketVTable.h
+++ b/open-vm-tools/lib/asyncsocket/asyncSocketVTable.h
@@ -1,5 +1,5 @@
/*********************************************************
- * Copyright (C) 2011,2014-2017,2019-2021 VMware, Inc. All rights reserved.
+ * Copyright (C) 2011,2014-2017,2019-2022 VMware, Inc. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as published
@@ -131,8 +131,8 @@ typedef struct AsyncSocketVTable {
int timeoutMS);
int (*doOneMsg)(AsyncSocket *s, Bool read, int timeoutMS);
int (*waitForConnection)(AsyncSocket *s, int timeoutMS);
- int (*waitForReadMultiple)(AsyncSocket **asock, int numSock, int timeoutMS,
- int *outIdx);
+ int (*waitForReadMultiple)(AsyncSocket **asock, size_t numSock,
+ int timeoutMS, int *outIdx);
int (*peek)(AsyncSocket *asock, void *buf, int len, void *cb, void *cbData);
/*
diff --git a/open-vm-tools/lib/asyncsocket/asyncsocket.c b/open-vm-tools/lib/asyncsocket/asyncsocket.c
index ecb5a933..2bf97b54 100644
--- a/open-vm-tools/lib/asyncsocket/asyncsocket.c
+++ b/open-vm-tools/lib/asyncsocket/asyncsocket.c
@@ -370,7 +370,7 @@ static int AsyncTCPSocketRecvPartialBlocking(AsyncSocket *s, void *buf, int len,
static int AsyncTCPSocketSendBlocking(AsyncSocket *s, void *buf, int len,
int *sent, int timeoutMS);
static int AsyncTCPSocketDoOneMsg(AsyncSocket *s, Bool read, int timeoutMS);
-static int AsyncTCPSocketWaitForReadMultiple(AsyncSocket **asock, int numSock,
+static int AsyncTCPSocketWaitForReadMultiple(AsyncSocket **asock, size_t numSock,
int timeoutMS, int *outIdx);
static int AsyncTCPSocketSetOption(AsyncSocket *asyncSocket,
AsyncSocketOpts_Layer layer,
@@ -2807,7 +2807,7 @@ AsyncTCPSocketPeek(AsyncSocket *base, // IN:
static int
AsyncTCPSocketPollWork(AsyncTCPSocket **asock, // IN:
- int numSock, // IN:
+ size_t numSock, // IN:
void *p, // IN:
Bool read, // IN:
int timeoutMS, // IN:
@@ -2827,11 +2827,11 @@ AsyncTCPSocketPollWork(AsyncTCPSocket **asock, // IN:
struct fd_set rwfds;
struct fd_set exceptfds;
#endif
- int i;
+ size_t i;
int retval;
ASSERT(outAsock != NULL && *outAsock == NULL && asock != NULL &&
- numSock > 0);
+ numSock != 0);
for (i = 0; i < numSock; i++) {
if (read && SSL_Pending(asock[i]->sslSock)) {
@@ -2852,7 +2852,7 @@ AsyncTCPSocketPollWork(AsyncTCPSocket **asock, // IN:
retval = poll(pfd, numSock, timeoutMS);
AsyncTCPSocketLock(parentSock);
} else {
- for (i = numSock - 1; i >= 0; i--) {
+ for (i = numSock; i-- > 0; ) {
AsyncTCPSocketUnlock(asock[i]);
}
retval = poll(pfd, numSock, timeoutMS);
@@ -2878,7 +2878,7 @@ AsyncTCPSocketPollWork(AsyncTCPSocket **asock, // IN:
&exceptfds, timeoutMS >= 0 ? &tv : NULL);
AsyncTCPSocketLock(parentSock);
} else {
- for (i = numSock - 1; i >= 0; i--) {
+ for (i = numSock; i-- > 0; ) {
AsyncTCPSocketUnlock(asock[i]);
}
retval = select(1, read ? &rwfds : NULL, read ? NULL : &rwfds,
@@ -3032,7 +3032,7 @@ AsyncTCPSocketPoll(AsyncTCPSocket *s, // IN:
#else
void *p = NULL;
#endif
- int numSock = 0;
+ size_t numSock = 0;
if (read && s->fd == -1) {
if (!s->listenAsock4 && !s->listenAsock6) {
@@ -3078,11 +3078,11 @@ AsyncTCPSocketPoll(AsyncTCPSocket *s, // IN:
static int
AsyncTCPSocketWaitForReadMultiple(AsyncSocket **asock, // IN:
- int numSock, // IN:
+ size_t numSock, // IN:
int timeoutMS, // IN:
int *outIdx) // OUT:
{
- int i;
+ size_t i;
int err;
AsyncTCPSocket *outAsock = NULL;
#ifndef _WIN32
@@ -3096,7 +3096,7 @@ AsyncTCPSocketWaitForReadMultiple(AsyncSocket **asock, // IN:
}
err = AsyncTCPSocketPollWork((AsyncTCPSocket **)asock, numSock, p, TRUE,
timeoutMS, NULL, &outAsock);
- for (i = numSock - 1; i >= 0; i--) {
+ for (i = numSock; i-- > 0; ) {
AsyncTCPSocket *tcpAsock = TCPSocket(asock[i]);
if (outAsock == tcpAsock) {
*outIdx = i;

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2053daf7b224ab7ae1a9cfcd6ae12494c646e2bf9aaca998225bd082a4a43fb7
size 4218935

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ea370217a213802f91b01231e28298bbe54134822351fb5cc70255d80ba0e775
size 4346397

View File

@ -1,3 +1,26 @@
-------------------------------------------------------------------
Mon Mar 28 15:09:44 UTC 2022 - Kirk Allan <kallan@suse.com>
- Update to 12.0.0 (build 19345655) (boo#1196803)
- jsc#SLE-24097 ECO Update open-vm-tools 12.0.0
+ New/Updated features:
- Support for managing Salt Minion through guest variables. A new
open-vm-tools-salt-minion rpm is added to handle this support.
jsc#SLE-24094 Update open-vm-tools 12.0.0 SLES15SP4
jsc#SLE-24095 Update open-vm-tools 12.0.0 SLES15SP3
jsc#SLE-24096 Update open-vm-tools 12.0.0 SLES12SP5
- New ComponentMgr plugin to manage (add, remove, monitor) components on
the guest VM.
- Patch to fix potential Fail to Build from Source [FTBFS] (boo#1196804).
- Build vmhgfs with either libfuse2 or libfuse3.
+ A number of Coverity and Codacy reported issues have been addressed.
+ The following issues and pull requests reported on
github.com/vmware/open-vm-tools have been addressed: Issue # 128,
Issue # 314, Pull # 513, Pull # 544, Pull # 573
- Added patches
+ gcc_size_t.patch (boo#1196804)
-------------------------------------------------------------------
Mon Oct 4 22:19:03 UTC 2021 - Kirk Allan <kallan@suse.com>

View File

@ -1,7 +1,7 @@
#
# spec file for package open-vm-tools
#
# Copyright (c) 2021 SUSE LLC
# Copyright (c) 2022 SUSE LLC
# Copyright (c) 2010 Dominique Leuenberger, Amsterdam, Netherlands.
#
# All modifications and additions to the file contributed by third parties
@ -40,8 +40,8 @@
Name: open-vm-tools
%define subname open-vm-tools
%define tarname open-vm-tools
%define bldnum 18557794
Version: 11.3.5
%define bldnum 19345655
Version: 12.0.0
Release: 0
Summary: Open Virtual Machine Tools
License: BSD-3-Clause AND GPL-2.0-only AND LGPL-2.1-only
@ -124,7 +124,13 @@ BuildRequires: pkgconfig(xerces-c)
%define arg_xerces --without-xerces
%endif
# vmhgfs is always built so fuse is no longer optional
%if 0%{?suse_version} > 1500 || 0%{?sle_version} >= 0150400
BuildRequires: fuse3-devel
%define arg_with_fuse --with-fuse=3
%else
BuildRequires: fuse-devel
%define arg_with_fuse --with-fuse=2
%endif
BuildRequires: pkgconfig(udev)
%if 0%( pkg-config --exists 'udev > 190' && echo '1' ) == 01
%define _udevrulesdir /usr/lib/udev/rules.d
@ -142,6 +148,7 @@ Obsoletes: open-vm-tools-deploypkg <= 10.0.5
Supplements: modalias(pci:v000015ADd*sv*sd*bc*sc*i*)
ExclusiveArch: %ix86 x86_64 aarch64
#Upstream patches
Patch1: gcc_size_t.patch
#SUSE specific patches
Patch0: pam-vmtoolsd.patch
@ -201,6 +208,15 @@ Requires: %{name}%{?_isa} = %{version}-%{release}
%description sdmp
Service Discovery Plugin
%package salt-minion
Summary: Script file to install/uninstall salt-minion
Group: System Environment/Libraries
Requires: %{name}%{?_isa} = %{version}-%{release}, systemd, curl, coreutils, gawk, grep
ExclusiveArch: x86_64
%description salt-minion
This package contains a script to setup Salt Minion on VMware virtual machines.
%package -n libvmtools0
Summary: Open Virtual Machine Tools - shared library
Group: System/Libraries
@ -224,6 +240,7 @@ if you intend to create own plugins for vmtoolsd.
# fix for an rpmlint warning regarding wrong line feeds
sed -i -e "s/\r//" README
#Upstream patches
%patch1 -p2
#SUSE specific patches
%patch0 -p2
@ -264,6 +281,8 @@ chmod 755 configure
--with-udev-rules-dir=%{_udevrulesdir} \
--enable-resolutionkms \
--enable-servicediscovery \
%{arg_with_fuse} \
--enable-salt-minion \
--disable-static
make
@ -418,6 +437,7 @@ systemctl try-restart vmtoolsd.service || :
%{_libdir}/%{name}/plugins/vmsvc/libappInfo.so
%{_libdir}/%{name}/plugins/vmsvc/libgdp.so
%{_libdir}/%{name}/plugins/vmsvc/libguestStore.so
%{_libdir}/%{name}/plugins/vmsvc/libcomponentMgr.so
%{_libdir}/%{name}/plugins/common/libhgfsServer.so
%{_libdir}/%{name}/plugins/common/libvix.so
%{_bindir}/vmhgfs-fuse
@ -483,6 +503,13 @@ systemctl try-restart vmtoolsd.service || :
%endif
%ifarch x86_64
%files salt-minion
%dir %{_libdir}/%{name}/componentMgr/
%dir %{_libdir}/%{name}/componentMgr/saltMinion/
%{_libdir}/%{name}/componentMgr/saltMinion/svtminion.sh
%endif
%files sdmp
%dir %{_libdir}/%{name}/serviceDiscovery/
%dir %{_libdir}/%{name}/serviceDiscovery/scripts/