Accepting request 404101 from home:kenljohnson:branches:Virtualization:VMware

- update to the latest upstream branch with gtk3 support
- fix gcc 6 build failures

OBS-URL: https://build.opensuse.org/request/show/404101
OBS-URL: https://build.opensuse.org/package/show/Virtualization:VMware/open-vm-tools?expand=0&rev=333
This commit is contained in:
Ken Johnson 2016-06-23 05:41:33 +00:00 committed by Git OBS Bridge
parent 3839e57ab5
commit d21c74c6d2
11 changed files with 144 additions and 1151 deletions

14
no-unused-const.patch Normal file
View File

@ -0,0 +1,14 @@
Index: open-vm-tools/configure.ac
===================================================================
--- open-vm-tools.orig/configure.ac
+++ open-vm-tools/configure.ac
@@ -988,7 +988,8 @@ CFLAGS="$CFLAGS -Werror"
# Glib2 keep changing mutex APIs so we also need to disable 'deprecated'
# warnings for now (-Wno-deprecated-declarations).
for TEST_CFLAG in -Wno-pointer-sign -Wno-unused-value -fno-strict-aliasing \
- -Wno-unknown-pragmas -Wno-uninitialized -Wno-deprecated-declarations; do
+ -Wno-unknown-pragmas -Wno-uninitialized -Wno-deprecated-declarations \
+ -Wno-unused-const-variable; do
AC_MSG_CHECKING([for GCC flag $TEST_CFLAG])
ORIGINAL_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS $TEST_CFLAG"

View File

@ -1,77 +0,0 @@
Index: open-vm-tools/services/plugins/dndcp/Makefile.am
===================================================================
--- open-vm-tools.orig/services/plugins/dndcp/Makefile.am
+++ open-vm-tools/services/plugins/dndcp/Makefile.am
@@ -16,7 +16,7 @@
################################################################################
plugindir = @VMUSR_PLUGIN_INSTALLDIR@
-plugin_LTLIBRARIES = libdndcp.la
+plugin_LTLIBRARIES = libdndcpdnd.la libdndcpcp.la libdndcpbld.la libdndcp.la
libdndcp_la_CPPFLAGS =
libdndcp_la_CPPFLAGS += @GTK_CPPFLAGS@
@@ -31,21 +31,25 @@ libdndcp_la_CPPFLAGS += -I$(top_builddir
libdndcp_la_LDFLAGS =
libdndcp_la_LDFLAGS += @PLUGIN_LDFLAGS@
-libdndcp_la_LIBADD =
+libdndcp_la_LIBADD = libdndcpdnd.la libdndcpcp.la libdndcpbld.la
libdndcp_la_LIBADD += @COMMON_XLIBS@
libdndcp_la_LIBADD += @GTK_LIBS@
libdndcp_la_LIBADD += @GTKMM_LIBS@
libdndcp_la_LIBADD += @VMTOOLS_LIBS@
libdndcp_la_LIBADD += @HGFS_LIBS@
-libdndcp_la_SOURCES =
-
-libdndcp_la_SOURCES += dnd/dndClipboard.c
-libdndcp_la_SOURCES += dnd/dndCommon.c
-libdndcp_la_SOURCES += dnd/dndCPMsgV4.c
-libdndcp_la_SOURCES += dnd/dndLinux.c
-libdndcp_la_SOURCES += dnd/dndMsg.c
+libdndcpcp_la_CPPFLAGS =
+libdndcpcp_la_CPPFLAGS += @GTK_CPPFLAGS@
+libdndcpcp_la_CPPFLAGS += -I$(top_srcdir)/services/plugins/dndcp/dnd
+
+libdndcpdnd_la_SOURCES =
+libdndcpdnd_la_SOURCES += dnd/dndClipboard.c
+libdndcpdnd_la_SOURCES += dnd/dndCommon.c
+libdndcpdnd_la_SOURCES += dnd/dndCPMsgV4.c
+libdndcpdnd_la_SOURCES += dnd/dndLinux.c
+libdndcpdnd_la_SOURCES += dnd/dndMsg.c
+libdndcp_la_SOURCES =
libdndcp_la_SOURCES += dndGuest/copyPasteRpcV3.cc
libdndcp_la_SOURCES += dndGuest/dndFileList.cc
libdndcp_la_SOURCES += dndGuest/dndRpcV3.cc
@@ -67,8 +71,6 @@ libdndcp_la_SOURCES += dndGuest/dndCPTra
libdndcp_la_SOURCES += stringxx/string.cc
libdndcp_la_SOURCES += xutils/xutils.cc
-libdndcp_la_SOURCES += copyPasteCompat.c
-libdndcp_la_SOURCES += copyPasteCompatX11.c
libdndcp_la_SOURCES += copyPasteDnDWrapper.cpp
libdndcp_la_SOURCES += copyPasteDnDX11.cpp
libdndcp_la_SOURCES += copyPasteUIX11.cpp
@@ -77,6 +79,10 @@ libdndcp_la_SOURCES += dndcp.cpp
libdndcp_la_SOURCES += dragDetWndX11.cpp
libdndcp_la_SOURCES += pointer.cpp
+libdndcpcp_la_SOURCES =
+libdndcpcp_la_SOURCES += copyPasteCompat.c
+libdndcpcp_la_SOURCES += copyPasteCompatX11.c
+
BUILT_SOURCES =
BUILT_SOURCES += cpFileContents.h
BUILT_SOURCES += cpFileContents_xdr.c
@@ -84,7 +90,8 @@ BUILT_SOURCES += cpFileContents_xdr.c
CLEANFILES =
CLEANFILES += $(BUILT_SOURCES)
-libdndcp_la_SOURCES += cpFileContents_xdr.c
+libdndcpbld_la_SOURCES =
+libdndcpbld_la_SOURCES += cpFileContents_xdr.c
cpFileContents.h: cpFileContents.x
@RPCGEN_WRAPPER@ services/plugins/dndcp/cpFileContents.x $@

File diff suppressed because it is too large Load Diff

View File

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

View File

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

View File

@ -1,3 +1,24 @@
-------------------------------------------------------------------
Thu Jun 16 17:45:54 UTC 2016 - ken@suse.com
- Added patches for GCC 6 build failure (boo#985110)
+ vmw-bitmask-gcc6.patch
+ no-unused-const.patch
-------------------------------------------------------------------
Wed Jun 8 23:30:34 UTC 2016 - ken@suse.com
- Update to 10.0.7-gtk3 stable branch
+ add support for gtk3, needed by the dndcp and resolutionset
plugins
+ remove files generated by autoreconf
+ a few minor build fixes
- Update fixes copy-n-paste and drag-n-drop regressions (bsc#978424)
- Added new vmblock-fuse.service
- Drop upstream patches included (or not necessary) in 10.0.7-gtk3:
+ open-vm-tools-posixly.patch
+ open-vm-tools-buildsystem-fixup.patch
-------------------------------------------------------------------
Fri Apr 29 17:32:37 UTC 2016 - afaerber@suse.de
@ -185,6 +206,7 @@ Wed May 18 00:01:07 UTC 2015 - mlatimer@suse.com
- Disable ssl for older versions of SLES and openSUSE (disables
grabbitmqproxy and vgauth).
- Update spec file to be compatible with SLES and openSUSE.
- This update also addresses a suspend with systemd issue (bsc#913727)
-------------------------------------------------------------------
Tue May 5 14:31:19 UTC 2015 - dimstar@opensuse.org

View File

@ -39,6 +39,33 @@
%endif
%endif
# vmblock-fuse.service requires systemd >= 228 which is in openSUSE Factory, SLES12SP2 and Leap 42.2 (see bsc#985773)
%if 0%{?is_opensuse}
%if 0%{?suse_version} >= 1315
%if 0%{?suse_version} != 1320
%if 0%{?sle_version} != 120100
%bcond_without vmblockfuseservice
%else
%bcond_with vmblockfuseservice
%endif
%else
%bcond_with vmblockfuseservice
%endif
%else
%bcond_with vmblockfuseservice
%endif
%else # !opensuse
%if 0%{?suse_version} >= 1315
%if 0%{?sle_version} > 120100
%bcond_without vmblockfuseservice
%else
%bcond_with vmblockfuseservice
%endif
%else
%bcond_with vmblockfuseservice
%endif
%endif
# exclude AMD PCnet32 LANCE pci.id from Supplements list [bnc#397554]
%define __find_supplements sh -c '/usr/lib/rpm/find-supplements %{name} | grep -v pci:v00001022d00002000'
@ -76,7 +103,7 @@ Summary: Open Virtual Machine Tools
License: BSD-3-Clause and GPL-2.0 and LGPL-2.1
Group: System/Emulators/PC
Url: https://github.com/vmware/open-vm-tools
Source: https://github.com/vmware/open-vm-tools/archive/stable-%{version}.tar.gz#/%{tarname}-%{version}.tar.gz
Source: %{tarname}-%{version}-gtk3.tar.gz
Source1: vmtoolsd
Source2: vmtoolsd.service
Source3: vmware-user-autostart.desktop
@ -84,12 +111,18 @@ Source5: vmware-user-autostart-wrapper
Source6: open-vm-tools-modprobe.conf
Source7: tools.conf
Source8: vgauthd.service
Source9: vmblock-fuse.service
Source98: preamble
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: gcc-c++
# don't use pkgconfig(gtk+-2.0) so we can build on SLE
%if 0%{?suse_version} >= 1310
BuildRequires: gtk3-devel
BuildRequires: gtkmm3-devel
%else
BuildRequires: gtk2-devel
BuildRequires: gtkmm2-devel
%endif
# Only require kernel packages if kernel modules are being built
%if %{KMP}
BuildRequires: kernel-source
@ -137,8 +170,8 @@ Requires(pre): %fillup_prereq
Requires(pre): %insserv_prereq
ExclusiveArch: %ix86 x86_64
Patch0: enable-gcc46+.patch
Patch1: open-vm-tools-posixly.patch
Patch2: open-vm-tools-buildsystem-fixup.patch
Patch1: vmw-bitmask-gcc6.patch
Patch2: no-unused-const.patch
%if %{KMP}
%suse_kernel_module_package -n vmware-guest -p %{SOURCE98} xen um
@ -235,11 +268,11 @@ Those are the development headers for libvmtools. They are needed
if you intend to create own plugins for vmtoolsd.
%prep
%setup -q -n %{tarname}-%{version}/%{subname}
%setup -q -n %{tarname}-%{version}-gtk3/%{subname}
# fix for an rpmlint warning regarding wrong line feeds
sed -i -e "s/\r//" README
%patch0 -p1
%patch1 -p2
%patch1 -p1
%patch2 -p1
%build
@ -280,8 +313,8 @@ chmod 755 configure
--without-x \
%endif
--disable-dependency-tracking \
%if ! 0%{?is_opensuse} && 0%{?suse_version} == 1315
--without-gtkmm \
%if 0%{?suse_version} >= 1310
--with-gtk3 \
%endif
%if ! %{with vgauth}
--without-xmlsecurity \
@ -356,6 +389,10 @@ mv %{buildroot}%{_sysconfdir}/vmware-tools/vm-support %{buildroot}%{_bindir}
%if %{with systemd}
install -p -m 644 -D %{SOURCE2} %{buildroot}%{_unitdir}/vmtoolsd.service
ln -sf service %{buildroot}%{_sbindir}/rcvmtoolsd
%if %{with vmblockfuseservice}
install -p -m 644 -D %{SOURCE9} %{buildroot}%{_unitdir}/vmblock-fuse.service
ln -sf service %{buildroot}%{_sbindir}/rcvmblock-fuse
%endif
%if %{with vgauth}
install -p -m 644 -D %{SOURCE8} %{buildroot}%{_unitdir}/vgauthd.service
ln -sf service %{buildroot}%{_sbindir}/rcvgauthd
@ -425,12 +462,32 @@ install -D -m 0644 %{SOURCE6} %{buildroot}%{_sysconfdir}/modprobe.d/50-vmnics.co
%verifyscript desktop
%verify_permissions -e /usr/bin/vmware-user-suid-wrapper
%pre desktop
%if %{with vmblockfuseservice}
%service_add_pre vmblock-fuse.service
%endif
%post desktop
%if 0%{?suse_version} <= 1130
%run_permissions
%else
%set_permissions /usr/bin/vmware-user-suid-wrapper
%endif
%if %{with vmblockfuseservice}
%service_add_post vmblock-fuse.service
%endif
/sbin/ldconfig
%preun desktop
%if %{with vmblockfuseservice}
%service_del_preun vmblock-fuse.service
%endif
%postun desktop
%if %{with vmblockfuseservice}
%service_del_postun vmblock-fuse.service
%endif
/sbin/ldconfig
%endif
@ -554,6 +611,11 @@ rm -rf %{buildroot}
%{_libdir}/%{name}/plugins/vmusr/
%{_bindir}/vmware-user-autostart-wrapper
%{_bindir}/vmware-vmblock-fuse
%if %{with vmblockfuseservice}
%{_unitdir}/vmblock-fuse.service
%{_sbindir}/rcvmblock-fuse
%endif
%endif
%files -n libvmtools0

View File

@ -1,5 +1,5 @@
[Unit]
Description=VGAuth Service for open-vm-tools
Description=open-vm-tools: vgauth service for virtual machines hosted on VMware
Documentation=http://github.com/vmware/open-vm-tools
ConditionVirtualization=vmware
PartOf=vmtoolsd.service

14
vmblock-fuse.service Normal file
View File

@ -0,0 +1,14 @@
[Unit]
Description=open-vm-tools: vmblock-fuse service for virtual machines hosted on VMware
Documentation=https://github.com/vmware/open-vm-tools/blob/master/open-vm-tools/vmblock-fuse/design.txt
ConditionVirtualization=vmware
Before=vmtoolsd.service
[Service]
Type=forking
RuntimeDirectory=vmblock-fuse
RuntimeDirectoryMode=755
ExecStart=/usr/bin/vmware-vmblock-fuse -o subtype=vmware-vmblock,default_permissions,allow_other /var/run/vmblock-fuse
[Install]
WantedBy=multi-user.target

View File

@ -1,12 +1,14 @@
[Unit]
Description=Service for virtual machines hosted on VMware
Description=open-vm-tools: vmtoolsd service for virtual machines hosted on VMware
Documentation=http://github.com/vmware/open-vm-tools
ConditionVirtualization=vmware
Requires=vgauthd.service
After=vgauthd.service
[Service]
ExecStart=/usr/bin/vmtoolsd
Type=forking
PIDFile=/var/run/vmtoolsd.pid
ExecStart=/usr/bin/vmtoolsd --background /var/run/vmtoolsd.pid
TimeoutStopSec=5
[Install]

17
vmw-bitmask-gcc6.patch Normal file
View File

@ -0,0 +1,17 @@
Index: open-vm-tools/lib/include/x86cpuid.h
===================================================================
--- open-vm-tools.orig/lib/include/x86cpuid.h
+++ open-vm-tools/lib/include/x86cpuid.h
@@ -905,11 +905,8 @@ FIELD(81E, 0, ECX, 8, 3, NODES_PER_PK
*
* e.g. - CPUID_VIRT_BITS_MASK = 0xff00
* - CPUID_VIRT_BITS_SHIFT = 8
- *
- * Note: The MASK definitions must use some gymnastics to get
- * around a warning when shifting left by 32.
*/
-#define VMW_BIT_MASK(shift) (((1 << (shift - 1)) << 1) - 1)
+#define VMW_BIT_MASK(shift) (0xffffffffu >> (32 - shift))
#define FIELD(lvl, ecxIn, reg, bitpos, size, name, s, c3) \
CPUID_##name##_SHIFT = bitpos, \