Accepting request 330112 from home:mlatimer:branches:Virtualization:VMware

Enable vgauth for openSUSE_Factory

OBS-URL: https://build.opensuse.org/request/show/330112
OBS-URL: https://build.opensuse.org/package/show/Virtualization:VMware/open-vm-tools?expand=0&rev=315
This commit is contained in:
Dominique Leuenberger 2015-09-10 09:58:12 +00:00 committed by Git OBS Bridge
parent 26c9dce800
commit 592683f8cf
4 changed files with 71 additions and 6 deletions

View File

@ -1,3 +1,9 @@
-------------------------------------------------------------------
Wed Sep 9 16:43:54 UTC 2015 - mlatimer@suse.com
- Enable certificate-based access control via SAML tokens (vgauth) on
openSUSE Factory.
-------------------------------------------------------------------
Thu Sep 3 21:51:58 UTC 2015 - mlatimer@suse.com

View File

@ -1,7 +1,7 @@
#
# spec file for package open-vm-tools
#
# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany.
# Copyright (c) 2010 Dominique Leuenberger, Amsterdam, Netherlands.
#
# All modifications and additions to the file contributed by third parties
@ -28,6 +28,13 @@
%bcond_with deploypkg
%endif
# vgauth is enabled on versions > 13.2 (which include xml-security-c and xerces-c)
%if 0%{?suse_version} > 1320
%bcond_without vgauth
%else
%bcond_with vgauth
%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'
@ -72,6 +79,7 @@ Source3: vmware-user-autostart.desktop
Source5: vmware-user-autostart-wrapper
Source6: open-vm-tools-modprobe.conf
Source7: tools.conf
Source8: vgauthd.service
Source98: preamble
BuildRoot: %{_tmppath}/%{name}-%{version}-build
# SUSE versions below 1110 (SLES11 SP4) must use gcc 4.7 to compile under i586
@ -102,6 +110,11 @@ BuildRequires: pam-devel
BuildRequires: pcre-devel
BuildRequires: update-desktop-files
BuildRequires: xorg-x11-devel
%if %{with vgauth}
# vgauth requires xerces-c and xml-security-c
BuildRequires: xml-security-c-devel
BuildRequires: pkgconfig(xerces-c)
%endif
# libprocps is required with 12.3 and above
%if 0%{?suse_version} >= 1230
BuildRequires: procps-devel
@ -236,8 +249,6 @@ sed -i -e "s/\r//" README
# (this is because of 'g_static_mutex_init' usage which is now deprecated)
# disable deploypkg due to old versions of libmspack not providing pkgconfig
# disable ssl due to 'discards qualifiers' error in SLES11
# compile without pkgconfig(xml-security-c), as this is not yet available in OBS
# compile without pkgconfig(xerces-c), which requires xml-security-c to provide vgauth
%if 0%{?suse_version} > 1110
export CFLAGS="%{optflags} -Wno-unused-local-typedefs -Wno-unused-but-set-variable -Wno-deprecated-declarations -Wno-sizeof-pointer-memaccess -Wno-cpp -fPIE"
export CXXFLAGS="%{optflags} -Wno-unused-local-typedefs -Wno-unused-but-set-variable -Wno-deprecated-declarations -Wno-sizeof-pointer-memaccess -Wno-cpp -fPIE"
@ -271,9 +282,11 @@ chmod 755 configure
--without-x \
%endif
--disable-dependency-tracking \
--disable-static \
%if ! %{with vgauth}
--without-xmlsecurity \
--without-xerces
--without-xerces \
%endif
--disable-static
make
%endif
@ -342,6 +355,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 vgauth}
install -p -m 644 -D %{SOURCE8} %{buildroot}%{_unitdir}/vgauthd.service
ln -sf service %{buildroot}%{_sbindir}/rcvgauthd
%endif
%else
install -D -m 0755 %{SOURCE1} %{buildroot}%{_sysconfdir}/init.d/vmtoolsd
ln -sf ../../etc/init.d/vmtoolsd %{buildroot}%{_sbindir}/rcvmtoolsd
@ -383,12 +400,18 @@ install -D -m 0644 %{SOURCE6} %{buildroot}%{_sysconfdir}/modprobe.d/50-vmnics.co
%pre
%if %{with systemd}
%service_add_pre vmtoolsd.service
%if %{with vgauth}
%service_add_pre vgauthd.service
%endif
%endif
%post
/sbin/ldconfig
%if %{with systemd}
%service_add_post vmtoolsd.service
%if %{with vgauth}
%service_add_post vgauthd.service
%endif
%else
%{fillup_and_insserv -Y vmtoolsd}
%endif
@ -410,6 +433,9 @@ install -D -m 0644 %{SOURCE6} %{buildroot}%{_sysconfdir}/modprobe.d/50-vmnics.co
%preun
%if %{with systemd}
%service_del_preun vmtoolsd.service
%if %{with vgauth}
%service_del_preun vgauthd.service
%endif
%else
# stop service with the old name (if exists) on update (something like %%stop_on_update)
test -n "$FIRST_ARG" || FIRST_ARG=$1
@ -432,6 +458,9 @@ fi
%postun
%if %{with systemd}
%service_del_postun vmtoolsd.service
%if %{with vgauth}
%service_del_postun vgauthd.service
%endif
%else
%restart_on_update vmtoolsd
%insserv_cleanup
@ -490,9 +519,21 @@ rm -rf %{buildroot}
%{_libdir}/%{name}/plugins/vmsvc/libgrabbitmqProxy.so
%config(noreplace) %{_sysconfdir}/vmware-tools/guestproxy-ssl.conf
%endif
%if %{with vgauth}
%{_bindir}/VGAuthService
%{_bindir}/vmware-vgauth-cmd
%dir %{_sysconfdir}/vmware-tools/vgauth
%dir %{_sysconfdir}/vmware-tools/vgauth/schemas
%config(noreplace) %{_sysconfdir}/vmware-tools/vgauth.conf
%config(noreplace) %{_sysconfdir}/vmware-tools/vgauth/schemas/*
%endif
%{_datadir}/%{name}/
%if %{with systemd}
%{_unitdir}/vmtoolsd.service
%if %{with vgauth}
%{_unitdir}/vgauthd.service
%{_sbindir}/rcvgauthd
%endif
%else
%{_sysconfdir}/init.d/vmtoolsd
%endif
@ -518,6 +559,9 @@ rm -rf %{buildroot}
%if %{with deploypkg}
%{_libdir}/libDeployPkg.so.*
%endif
%if %{with vgauth}
%{_libdir}/libvgauth.so.*
%endif
%files -n libvmtools-devel
%defattr(-,root,root)

12
vgauthd.service Normal file
View File

@ -0,0 +1,12 @@
[Unit]
Description=VGAuth Service for open-vm-tools
Documentation=http://github.com/vmware/open-vm-tools
ConditionVirtualization=vmware
PartOf=vmtoolsd.service
[Service]
ExecStart=/usr/bin/VGAuthService -s
TimeoutStopSec=5
[Install]
RequiredBy=vmtoolsd.service

View File

@ -1,7 +1,9 @@
[Unit]
Description=Service for virtual machines hosted on VMware
Documentation=http://open-vm-tools.sourceforge.net/about.php
Documentation=http://github.com/vmware/open-vm-tools
ConditionVirtualization=vmware
Requires=vgauthd.service
After=vgauthd.service
[Service]
ExecStart=/usr/bin/vmtoolsd
@ -9,3 +11,4 @@ TimeoutStopSec=5
[Install]
WantedBy=multi-user.target
Also=vgauthd.service