Accepting request 234535 from Virtualization:VMware

Start vmware-user-suid-wrapper unconditionally (bnc#876074) (forwarded request 234364 from mlatimer)

OBS-URL: https://build.opensuse.org/request/show/234535
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/open-vm-tools?expand=0&rev=53
This commit is contained in:
Stephan Kulow 2014-05-20 12:23:04 +00:00 committed by Git OBS Bridge
commit 02f69eb70a
3 changed files with 51 additions and 17 deletions

View File

@ -1,9 +1,24 @@
-------------------------------------------------------------------
Fri May 16 16:57:16 UTC 2014 - mlatimer@suse.com
- Modify vmware-user-autostart-wrapper to unconditionally start
vmware-user-suid-wrapper, and no longer delay for vmblock-fuse
if under systemd. (bnc#876074)
-------------------------------------------------------------------
Wed May 14 15:40:19 UTC 2014 - meissner@suse.com
- added forgotten %pre snippet for service addition, this made
systemd service not auto-start. bnc#870737
-------------------------------------------------------------------
Thu Apr 28 15:33:55 UTC 2014 - mlatimer@suse.com
- Move 'vm-support' script from /etc/vmware-tools to /usr/bin (bnc#874931).
- Update call to "tools.set.version" RPC during uninstall to match upstream
behavior (bnc#875129).
- Add missing RPM runtime dependencies (net-tools, tar, which).
-------------------------------------------------------------------
Tue Mar 17 21:52:29 UTC 2014 - mlatimer@suse.com

View File

@ -66,6 +66,7 @@ Source7: tools.conf
Source98: preamble
# PATCH-FIX-UPSTREAM g_info_redefine.patch (RHBZ#1063847)
Patch0: g_info_redefine.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: gcc-c++
# don't use pkgconfig(gtk+-2.0) so we can build on SLE
BuildRequires: gtk2-devel
@ -79,23 +80,25 @@ BuildRequires: doxygen
BuildRequires: libdnet-devel
BuildRequires: libicu-devel
BuildRequires: module-init-tools
BuildRequires: pam-devel
BuildRequires: pcre-devel
BuildRequires: update-desktop-files
BuildRequires: xorg-x11-devel
BuildRequires: pkgconfig(fuse)
BuildRoot: %{_tmppath}/%{name}-%{version}-build
# libprocps is required with 12.3 and above
%if 0%{?suse_version} >= 1230
BuildRequires: procps-devel
%endif
BuildRequires: pam-devel
%if 0%{?suse_version} < 1310
Requires: vmware-guest-kmp
%endif
%if "%{?vmhgfs}"
# Fuse is optional and enables vmblock-fuse
BuildRequires: fuse-devel
%endif
Requires: net-tools
Requires: tar
Requires: which
%if 0%{?suse_version} < 1310
Requires: vmware-guest-kmp
%endif
Supplements: modalias(pci:v000015ADd*sv*sd*bc*sc*i*)
Requires(pre): %fillup_prereq
Requires(pre): %insserv_prereq
@ -289,6 +292,9 @@ rm -fr %{buildroot}%{_defaultdocdir}
rm -fr %{buildroot}/usr/share/doc/open-vm-tools/api
rm -f docs/api/build/html/FreeSans.ttf
# Move vm-support to /usr/bin (bnc#874931)
mv %{buildroot}%{_sysconfdir}/vmware-tools/vm-support %{buildroot}%{_bindir}
# install systemd/sysvinit init scripts and symlinks
%if %{with_systemd}
install -p -m 644 -D %{SOURCE2} %{buildroot}%{_unitdir}/vmtoolsd.service
@ -379,7 +385,13 @@ if test "$FIRST_ARG" -ge 1 ; then
fi
%stop_on_removal vmtoolsd
%endif
vmware-rpctool "tools.set.version 0" || :
# Tell VMware that open-vm-tools is being uninstalled
if [ "$1" = "0" -a \
-e %{_bindir}/vmware-checkvm -a \
-e %{_bindir}/vmware-rpctool ] && \
%{_bindir}/vmware-checkvm &> /dev/null; then
%{_bindir}/vmware-rpctool 'tools.set.version 0' &> /dev/null || /bin/true
fi
%postun
%if %{with_systemd}
@ -416,6 +428,7 @@ rm -rf %{buildroot}
%{_bindir}/vmware-rpctool
%{_bindir}/vmware-toolbox-cmd
%{_bindir}/vmware-xferlogs
%{_bindir}/vm-support
%if "%{?vmhgfs}"
%{_sbindir}/mount.vmhgfs
/sbin/mount.vmhgfs
@ -431,7 +444,6 @@ rm -rf %{buildroot}
%{_sysconfdir}/vmware-tools/statechange.subr
%{_sysconfdir}/vmware-tools/suspend-vm-default
%config(noreplace) %{_sysconfdir}/vmware-tools/tools.conf
%{_sysconfdir}/vmware-tools/vm-support
%if 0%{?suse_version} < 1315
%config %{_sysconfdir}/modprobe.d/50-vmnics.conf
%endif

View File

@ -5,15 +5,22 @@ SLEEP=1
unset SESSION_MANAGER
while [ $RETRY -lt $MAX_RETRY ]; do
# If running systemd, skip the delay loop as starting vmblock-fuse is not enforced
if ! (file /sbin/init | grep "systemd" &>/dev/null); then
if [ -f /var/run/vmblock-fuse/dev ]; then
/usr/bin/vmware-user-suid-wrapper
exit 0
else
logger "Try $RETRY/$MAX_RETRY : /proc/fs/vmblock/dev not available. sleeping for $SLEEP seconds"
sleep $SLEEP
RETRY=$[ $RETRY + 1 ]
SLEEP=$[ $SLEEP * 2 ]
while [ $RETRY -lt $MAX_RETRY ]; do
if [ -f /var/run/vmblock-fuse/dev ]; then
RETRY=$MAX_RETRY
else
logger "Try $RETRY/$MAX_RETRY : /var/run/vmblock-fuse/dev not available. sleeping for $SLEEP seconds"
sleep $SLEEP
RETRY=$[ $RETRY + 1 ]
SLEEP=$[ $SLEEP * 2 ]
fi
done
fi
done
# Unconditionally start vmware-user-suid-wrapper (after waiting for vmblock-fuse if not under systemd)
/usr/bin/vmware-user-suid-wrapper