open-vm-tools: update to 11.1.15

Refreshed patches. Reworked several of them as musl has changed.
Removed several upstreamed ones.

Added musl 1.2.0 patch which uses 64-bit time_t.

Removed -Werror as there's a redefinition warning caused by nls.mk.

Replaced glib2/host dependency with rpcsvc-proto.

Fixed compilation with full NLS.

Fixed compilation with musl 1.2.0

Signed-off-by: Rosen Penev <rosenp@gmail.com>
This commit is contained in:
Rosen Penev 2020-10-08 18:48:55 -07:00
parent 0576997021
commit e495e1985e
No known key found for this signature in database
GPG Key ID: 36D31CFA845F0E3B
16 changed files with 88 additions and 123 deletions

View File

@ -8,22 +8,24 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=open-vm-tools
PKG_VERSION:=11.1.0
PKG_RELEASE:=2
PKG_VERSION:=11.1.5
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-16036546.tar.gz
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-16724464.tar.gz
PKG_SOURCE_URL:=https://github.com/vmware/open-vm-tools/releases/download/stable-$(PKG_VERSION)
PKG_HASH:=cb029af04357f19a899995f9e1ecfe55222b76158ab6d64fe8b56df0ccf87308
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)-16036546
PKG_INSTALL:=1
PKG_HASH:=cb33171b22872d66632b4151feafd4da480aee0c6bd5dcc188651984c1e9c511
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)-16724464
PKG_BUILD_DEPENDS:=glib2/host
PKG_FIXUP:=autoreconf
PKG_LICENSE:=LGPL-2.1-or-later
PKG_LICENSE_FILES:=LICENSE
PKG_FIXUP:=autoreconf
PKG_INSTALL:=1
PKG_BUILD_PARALLEL:=1
PKG_BUILD_DEPENDS:=glib2/host
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/nls.mk
define Package/open-vm-tools/Default
SECTION:=utils
@ -76,6 +78,8 @@ CONFIGURE_ARGS+= \
--without-xerces \
--enable-resolutionkms=no
TARGET_LDFLAGS += -liconv
define Package/open-vm-tools/install
$(INSTALL_DIR) $(1)/etc/init.d/
$(INSTALL_BIN) ./files/vmtoolsd.init $(1)/etc/init.d/vmtoolsd

View File

@ -1,13 +0,0 @@
diff -urN a/configure.ac b/configure.ac
--- a/configure.ac
+++ b/configure.ac
@@ -949,7 +949,7 @@
AC_VMW_CHECK_LIB([dnet],
[DNET],
[],
- [dnet-config],
+ [],
[],
[dnet.h],
[intf_open],

View File

@ -1,13 +0,0 @@
diff -urN a/lib/wiper/wiperPosix.c b/lib/wiper/wiperPosix.c
--- a/lib/wiper/wiperPosix.c
+++ b/lib/wiper/wiperPosix.c
@@ -43,6 +43,9 @@
# include <libgen.h>
# endif /* __FreeBSD_version >= 500000 */
#endif
+#if defined(__linux__)
+#include <sys/sysmacros.h>
+#endif
#include <unistd.h>
#include "vmware.h"

View File

@ -1,7 +1,6 @@
diff -urN a/configure.ac b/configure.ac
--- a/configure.ac
+++ b/configure.ac
@@ -1208,6 +1208,7 @@
@@ -1184,6 +1184,7 @@
AC_TYPE_PID_T
AC_TYPE_SIZE_T
AC_CHECK_MEMBERS([struct stat.st_rdev])
@ -9,7 +8,6 @@ diff -urN a/configure.ac b/configure.ac
AC_HEADER_TIME
AC_STRUCT_TM
AC_C_VOLATILE
diff -urN a/lib/include/hgfsUtil.h b/lib/include/hgfsUtil.h
--- a/lib/include/hgfsUtil.h
+++ b/lib/include/hgfsUtil.h
@@ -53,13 +53,7 @@

View File

@ -1,4 +1,3 @@
diff -urN a/lib/hgfsServer/hgfsServerLinux.c b/lib/hgfsServer/hgfsServerLinux.c
--- a/lib/hgfsServer/hgfsServerLinux.c
+++ b/lib/hgfsServer/hgfsServerLinux.c
@@ -105,11 +105,13 @@
@ -18,10 +17,9 @@ diff -urN a/lib/hgfsServer/hgfsServerLinux.c b/lib/hgfsServer/hgfsServerLinux.c
# define ALLPERMS (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO)
#endif
diff -urN a/services/plugins/dndcp/dnd/dndLinux.c b/services/plugins/dndcp/dnd/dndLinux.c
--- a/services/plugins/dndcp/dnd/dndLinux.c
+++ b/services/plugins/dndcp/dnd/dndLinux.c
@@ -52,7 +52,7 @@
@@ -53,7 +53,7 @@
#define DND_ROOTDIR_PERMS (S_IRWXU | S_IRWXG | S_IRWXO)
#define DND_STAGINGDIR_PERMS (S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH)
@ -30,11 +28,5 @@ diff -urN a/services/plugins/dndcp/dnd/dndLinux.c b/services/plugins/dndcp/dnd/d
#define ACCESSPERMS (S_IRWXU | S_IRWXG | S_IRWXO)
#endif
#ifdef __ANDROID__
@@ -61,7 +61,6 @@
*/
#define NO_SETMNTENT
#define NO_ENDMNTENT
-#define ACCESSPERMS (S_IRWXU | S_IRWXG | S_IRWXO)
#endif

View File

@ -1,7 +1,6 @@
diff -urN a/configure.ac b/configure.ac
--- a/configure.ac
+++ b/configure.ac
@@ -897,6 +897,7 @@
@@ -912,6 +912,7 @@
AC_CHECK_FUNCS([ecvt])
AC_CHECK_FUNCS([fcvt])
@ -9,7 +8,7 @@ diff -urN a/configure.ac b/configure.ac
AC_CHECK_FUNC([mkdtemp], [have_mkdtemp=yes])
@@ -1145,10 +1146,13 @@
@@ -1121,10 +1122,13 @@
###
AC_CHECK_HEADERS([crypt.h])
@ -23,7 +22,6 @@ diff -urN a/configure.ac b/configure.ac
AC_CHECK_HEADERS([sys/inttypes.h])
AC_CHECK_HEADERS([sys/io.h])
AC_CHECK_HEADERS([sys/param.h]) # Required to make the sys/user.h check work correctly on FreeBSD
diff -urN a/lib/misc/idLinux.c b/lib/misc/idLinux.c
--- a/lib/misc/idLinux.c
+++ b/lib/misc/idLinux.c
@@ -27,12 +27,9 @@
@ -40,7 +38,7 @@ diff -urN a/lib/misc/idLinux.c b/lib/misc/idLinux.c
#ifdef __APPLE__
#include <sys/socket.h>
#include <TargetConditionals.h>
@@ -997,31 +994,32 @@
@@ -1025,31 +1022,32 @@
static Bool
IdIsSetUGid(void)
{
@ -85,7 +83,6 @@ diff -urN a/lib/misc/idLinux.c b/lib/misc/idLinux.c
#endif
}
#endif
diff -urN a/lib/nicInfo/nicInfoPosix.c b/lib/nicInfo/nicInfoPosix.c
--- a/lib/nicInfo/nicInfoPosix.c
+++ b/lib/nicInfo/nicInfoPosix.c
@@ -35,9 +35,13 @@

View File

@ -1,4 +1,3 @@
diff -urN a/services/plugins/vix/vixTools.c b/services/plugins/vix/vixTools.c
--- a/services/plugins/vix/vixTools.c
+++ b/services/plugins/vix/vixTools.c
@@ -66,7 +66,7 @@

View File

@ -1,4 +1,3 @@
diff -urN a/lib/asyncsocket/asyncsocket.c b/lib/asyncsocket/asyncsocket.c
--- a/lib/asyncsocket/asyncsocket.c
+++ b/lib/asyncsocket/asyncsocket.c
@@ -69,8 +69,8 @@

View File

@ -1,5 +1,3 @@
diff --git a/lib/asyncsocket/asyncsocket.c b/lib/asyncsocket/asyncsocket.c
index 07a5d04b..01181a95 100644
--- a/lib/asyncsocket/asyncsocket.c
+++ b/lib/asyncsocket/asyncsocket.c
@@ -86,7 +86,7 @@
@ -11,24 +9,20 @@ index 07a5d04b..01181a95 100644
#include "log.h"
#include "err.h"
#include "hostinfo.h"
diff --git a/lib/hgfsServer/hgfsServer.c b/lib/hgfsServer/hgfsServer.c
index 46224551..fc691286 100644
--- a/lib/hgfsServer/hgfsServer.c
+++ b/lib/hgfsServer/hgfsServer.c
@@ -48,7 +48,7 @@
#include "hgfsServerOplock.h"
@@ -49,7 +49,7 @@
#include "hgfsDirNotify.h"
#include "hgfsThreadpool.h"
#include "userlock.h"
-#include "poll.h"
+#include "vm_poll.h"
#include "mutexRankLib.h"
#include "vm_basic_asm.h"
#include "unicodeOperations.h"
diff --git a/lib/include/asyncsocket.h b/lib/include/asyncsocket.h
index 95a5e464..a4b4e5aa 100644
--- a/lib/include/asyncsocket.h
+++ b/lib/include/asyncsocket.h
@@ -164,7 +164,7 @@ typedef struct AsyncSocket AsyncSocket;
@@ -169,7 +169,7 @@ typedef struct AsyncSocket AsyncSocket;
* Or the client can specify its favorite poll class and locking behavior.
* Use of IVmdbPoll is only supported for regular sockets and for Attach.
*/
@ -37,8 +31,6 @@ index 95a5e464..a4b4e5aa 100644
struct IVmdbPoll;
typedef struct AsyncSocketPollParams {
int flags; /* Default 0, only POLL_FLAG_NO_BULL is valid */
diff --git a/lib/include/pollImpl.h b/lib/include/pollImpl.h
index 46442e55..8bc66997 100644
--- a/lib/include/pollImpl.h
+++ b/lib/include/pollImpl.h
@@ -44,7 +44,7 @@
@ -51,11 +43,9 @@ index 46442e55..8bc66997 100644
#if defined(__cplusplus)
diff --git a/lib/include/poll.h b/lib/include/vm_poll.h
similarity index 100%
rename from lib/include/poll.h
rename to lib/include/vm_poll.h
diff --git a/lib/rpcIn/rpcin.c b/lib/rpcIn/rpcin.c
index 47a3380e..660382c6 100644
--- a/lib/rpcIn/rpcin.c
+++ b/lib/rpcIn/rpcin.c
@@ -57,7 +57,7 @@

View File

@ -1,28 +1,17 @@
diff -urN a/lib/err/errPosix.c b/lib/err/errPosix.c
--- a/lib/err/errPosix.c
+++ b/lib/err/errPosix.c
@@ -31,6 +31,7 @@
#include <errno.h>
#include <string.h>
#include <locale.h>
+#include <stdio.h>
#include "vmware.h"
#include "errInt.h"
@@ -63,11 +64,13 @@
@@ -61,13 +61,7 @@ ErrErrno2String(Err_Number errorNumber, // IN
char *buf, // OUT: return buffer
size_t bufSize) // IN: size of buffer
{
char *p;
- char *p;
-
-#if defined(__linux__) && !defined(__ANDROID__)
+#if defined(__GLIBC__) && !defined(__ANDROID__)
p = strerror_r(errorNumber, buf, bufSize);
#else
- p = strerror_r(errorNumber, buf, bufSize);
-#else
- p = strerror(errorNumber);
-#endif
+ if (strerror_r(errorNumber, buf, bufSize) != 0)
+ snprintf(buf, bufSize, "unknown error %i", errorNumber);
+ p = buf;
+#endif /* defined __GLIBC__ */
+ char *p = strerror(errorNumber);
ASSERT(p != NULL);
return p;
}

View File

@ -1,14 +0,0 @@
diff -urN a/lib/hgfsServer/hgfsServerLinux.c b/lib/hgfsServer/hgfsServerLinux.c
--- a/lib/hgfsServer/hgfsServerLinux.c
+++ b/lib/hgfsServer/hgfsServerLinux.c
@@ -5295,8 +5295,8 @@
goto exit;
}
- LOG(6, "%s: File Size limits: 0x%"FMT64"x 0x%"FMT64"x\n",
- __FUNCTION__, fileSize.rlim_cur, fileSize.rlim_max);
+ LOG(6, "%s: File Size limits: 0x%jx 0x%jx\n",
+ __FUNCTION__, (uintmax_t)fileSize.rlim_cur, (uintmax_t)fileSize.rlim_max);
/*
* Check the offset is within the file size range.

View File

@ -1,16 +1,11 @@
diff -urN a/lib/file/fileIOPosix.c b/lib/file/fileIOPosix.c
--- a/lib/file/fileIOPosix.c
+++ b/lib/file/fileIOPosix.c
@@ -206,10 +206,10 @@
* the symbols (and anyone building XOPEN<700 gets nothing).
*/
extern ssize_t preadv64(int fd, const struct iovec *iov, int iovcnt,
- __off64_t offset) __attribute__ ((weak));
+ off64_t offset) __attribute__ ((weak));
@@ -198,7 +198,7 @@ static AlignedPool alignedPool;
* are not available in any header file.
*/
extern ssize_t pwritev64(int fd, const struct iovec *iov, int iovcnt,
- __off64_t offset) __attribute__ ((weak));
+ off64_t offset) __attribute__ ((weak));
#else
#error "Large file support unavailable. Aborting."
#endif
-#if defined(__linux__) && !defined(__ANDROID__)
+#if 0
#if defined(_FILE_OFFSET_BITS) && (_FILE_OFFSET_BITS == 64)
/*
* We want preadv/pwritev. But due to FOB=64, the symbols are -64.

View File

@ -1,12 +1,12 @@
--- a/vmhgfs-fuse/fsutil.h
+++ b/vmhgfs-fuse/fsutil.h
@@ -32,9 +32,7 @@
@@ -29,6 +29,9 @@
#include "request.h"
#include "vm_basic_types.h"
+#ifndef _GNU_SOURCE
+#define _GNU_SOURCE
+#endif
#include "hgfsProto.h"
#include <fuse.h>
-#if defined(__FreeBSD__) || defined(__SOLARIS__) || defined(__APPLE__)
typedef long long loff_t;
-#endif
/*
* Struct used to pass around attributes.

View File

@ -1,4 +1,3 @@
diff -urNp a/lib/nicInfo/nicInfoPosix.c b/lib/nicInfo/nicInfoPosix.c
--- a/lib/nicInfo/nicInfoPosix.c
+++ b/lib/nicInfo/nicInfoPosix.c
@@ -65,6 +65,9 @@
@ -11,7 +10,6 @@ diff -urNp a/lib/nicInfo/nicInfoPosix.c b/lib/nicInfo/nicInfoPosix.c
#ifdef __linux__
# include <net/if.h>
diff -urNp a/lib/nicInfo/resolv_compat.h b/lib/nicInfo/resolv_compat.h
--- a/lib/nicInfo/resolv_compat.h
+++ b/lib/nicInfo/resolv_compat.h
@@ -0,0 +1,29 @@

View File

@ -0,0 +1,34 @@
--- a/lib/hgfs/hgfsUtil.c
+++ b/lib/hgfs/hgfsUtil.c
@@ -109,7 +109,7 @@ int
HgfsConvertFromNtTimeNsec(struct timespec *unixTime, // OUT: Time in UNIX format
uint64 ntTime) // IN: Time in Windows NT format
{
-#ifdef __i386__
+#if defined(__i386__) && !__USE_TIME_BITS64
uint32 sec;
uint32 nsec;
@@ -134,7 +134,7 @@ HgfsConvertFromNtTimeNsec(struct timespec *unixTime, // OUT: Time in UNIX format
return -1;
}
-#ifdef __i386__
+#if defined(__i386__) && !__USE_TIME_BITS64
Div643232(ntTime - UNIX_EPOCH, 10000000, &sec, &nsec);
unixTime->tv_sec = sec;
unixTime->tv_nsec = nsec * 100;
--- a/lib/hgfsServer/hgfsServerLinux.c
+++ b/lib/hgfsServer/hgfsServerLinux.c
@@ -2569,7 +2569,11 @@ HgfsStatToFileAttr(struct stat *stats, // IN: stat information
# define FMTTIMET "l"
# endif
#else
+#ifdef __USE_TIME_BITS64
+# define FMTTIMET __PRI64
+#else
# define FMTTIMET "l"
+#endif
#endif
LOG(4, "access: %"FMTTIMET"d/%"FMT64"u \nwrite: %"FMTTIMET"d/%"FMT64"u \n"
"attr: %"FMTTIMET"d/%"FMT64"u\n",

View File

@ -0,0 +1,10 @@
--- a/configure.ac
+++ b/configure.ac
@@ -1199,7 +1199,6 @@ AC_C_VOLATILE
### General flags / actions
CFLAGS="$CFLAGS -Wall"
-CFLAGS="$CFLAGS -Werror"
# -Wno-unknown-pragmas is due to gcc not understanding '#pragma ident'
# in Xlib.h on OpenSolaris.