Adding open-vm-tools to core group

Reindl Harald h.reindl at thelounge.net
Thu May 2 17:44:50 UTC 2013



Am 02.05.2013 19:40, schrieb Richard W.M. Jones:
> On Wed, May 01, 2013 at 08:31:38PM -0700, Ravindra Kumar wrote:
>> Hi, 
>>
>> It is going to very useful for users if we install open-vm-tools inside a VM on VMware always. 
>>
>> For this, I'm proposing following design: 
>> 1. Add open-vm-tools to the core package group 
>> 2. Modify Anaconda to uninstall open-vm-tools after installation if install is not running on a VM on VMware 
>>
>> Could someone from Minimal Core SIG please help me through the process to make this change? 
> 
> I'm Ravindra's sponsor.
> 
> Just to clarify a few points:
> 
> - VMware are trying to work better with Fedora, and to help this along
>   I've been supervising him adding open-vm-tools to Fedora.
> 
> - Because this is just starting out, there are a few mixed messages,
>   including some advice to remove open-vm-tools (which is now, or soon
>   will be wrong advice).  I hope that Ravindra can work with his
>   employers to get that advice changed as necessary.
> 
> - As Dan said, the open-vm-tools package only starts the service if
>   the hypervisor is VMware.
> 
> I'll leave the particulars of whether this package should go in
> minimal or not, or on the CD or not, to others.  However if you need
> us to split the package further or make other changes to improve the
> chances of inclusion, let Ravindra know, and I will help him to do
> this

the open-vm-tools should be generally be splitted in packages
with and without X11 deps - below my personal SPEC file for
a fedora infrastructure on top of vSphere with all things you
need for "VMware DataRecovery"-backups and VMware-HighAbility

you do not want any X11-deps and HGFS stuff on production sevrers

[root at buildserver64:~]$ cat /rpmbuild/SPECS/vmware-tools.spec
%define            vmtooolsver      9.2.3
%define            buildver         1098359

%global            _hardened_build  1
%global            debug_package    %{nil}
%global            kernel_uname_r   %(echo $(uname -r))

Name:              open-vm-tools
Version:           %{vmtooolsver}.%{buildver}
Release:           7%{?dist}
Summary:           VMware Guest OS Tools
Group:             Applications/System
License:           LGPLv2
URL:               http://open-vm-tools.sourceforge.net/
Source0:           http://downloads.sourceforge.net/open-vm-tools/%{name}-%{vmtooolsver}-%{buildver}.tar.gz
Source1:           vmtoolsd.service
BuildRoot:         %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
ExclusiveArch:     %{ix86} x86_64
Requires(post):    systemd-units
Requires(preun):   systemd-units
Requires:          systemd-units
Requires:          /usr/bin/bash
BuildRequires:     uriparser-devel
BuildRequires:     libnotify-devel
BuildRequires:     fuse-devel
Obsoletes:         open-vm-tools-kmod kmod-open-vm-tools akmod-open-vm-tools open-vm-tools-kmod-common
open-vm-tools-libs

%description
open-vm-tools are the open source implementation of VMware Tools

%prep
%setup -q -n %{name}-%{vmtooolsver}-%{buildver}

%build
CXXFLAGS="%{optflags} -fPIC -fPIE -fstack-protector-all"
CFLAGS="%{optflags} -fPIC -fPIE -fstack-protector-all"
FFLAGS="%{optflags} -fPIC -fPIE -fstack-protector-all"
LDFLAGS="-Wl,-z,now -Wl,-z,relro"

export CXXFLAGS CFLAGS LDFLAGS FFLAGS

%configure --disable-static \
 --disable-dependency-tracking \
 --disable-multimon \
 --disable-tests \
 --disable-docs \
 --disable-static \
 --with-pic \
 --with-gnu-ld \
 --without-gtk2 \
 --without-gtkmm \
 --without-x \
 --without-icu \
 --without-root-privileges \
 --without-kernel-modules \
 --without-procps \
 --without-dnet \
 --without-pam
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
%{__make} %{?_smp_mflags}

%install
make install-strip DESTDIR=%{buildroot}
find %{buildroot} -type f -name "*.la" -exec rm -f {} ';'
mkdir -p %{buildroot}/sbin
mv %{buildroot}%{_sbindir}/mount.* %{buildroot}/sbin
rm -f %{buildroot}%{_sysconfdir}/xdg/autostart/vmware-user.desktop
rm -f %{buildroot}%{_libdir}/open-vm-tools/plugins/common/libhgfsServer.so
rm -f %{buildroot}/sbin/mount.vmhgfs
rm -f %{buildroot}/usr/bin/vmware-hgfsclient
rm -f %{buildroot}/usr/bin/vmware-vmblock-fuse
rm -rf %{buildroot}/usr/share/open-vm-tools/messages/ja
rm -rf %{buildroot}/usr/share/open-vm-tools/messages/ko
rm -rf %{buildroot}/usr/share/open-vm-tools/messages/zh_CN
rm -rf %{buildroot}/%{_includedir}/
rm -rf %{buildroot}/%{_libdir}/*.so
rm -rf %{buildroot}/%{_libdir}/pkgconfig/
mkdir -p %{buildroot}%{_unitdir}
mkdir -p %{buildroot}%{_libexecdir}
install -m 644 %{SOURCE1} %{buildroot}%{_unitdir}/
chmod 700 %{buildroot}/usr/bin/vmtoolsd
chmod 700 %{buildroot}/usr/bin/vmware-checkvm
chmod 700 %{buildroot}/usr/bin/vmware-rpctool
chmod 700 %{buildroot}/usr/bin/vmware-toolbox-cmd
chmod 700 %{buildroot}/usr/bin/vmware-xferlogs

%post
/usr/sbin/ldconfig
/usr/bin/systemctl --system daemon-reload 2> /dev/null > /dev/null
exit 0

%postun
/usr/sbin/ldconfig
/usr/bin/systemctl --system daemon-reload 2> /dev/null > /dev/null
exit 0

%preun
if [ "$1" = 0 ]
then
 /usr/bin/systemctl condstop vmtoolsd.service 2> /dev/null > /dev/null
 /usr/bin/systemctl disable vmtoolsd.service 2> /dev/null > /dev/null
fi
exit 0

%files
%defattr(-,root,root,-)
%{_bindir}/vm*
%{_datadir}/%{name}
%{_unitdir}/vmtoolsd.service
%{_sysconfdir}/vmware-tools
%{_libdir}/*.so.*
%{_libdir}/%{name}

%changelog
* Thu May 2 2013 Reindl Harald <h.reindl at thelounge.net>
- ConditionVirtualization=vmware

* Mon Apr 29 2013 Reindl Harald <h.reindl at thelounge.net>
- update to 9.2.3-1098359 snapshot
- remove devel-package

* Fri Apr 26 2013 Reindl Harald <h.reindl at thelounge.net>
- remove CFLAGS-hack which is adressed upstream now
- hardening build "fPIC fPIE -fstack-protector-all"
- remove fuse-binary from package
- remove "messages/ja" from package
- remove "messages/ko" from package
- remove "messages/zh_CN" from package

* Wed Apr 24 2013 Reindl Harald <h.reindl at thelounge.net>
- update to 9.2.3

* Wed Feb 27 2013 Reindl Harald <h.reindl at thelounge.net>
- build Fedora 18 package
- build without 'procps', 'dnet' and 'multimon' to relax dependency chain
- build with CFLAGS "Wno-deprecated-declarations" to satisfy glib/gcc of F18
- TimeoutStopSec=1

* Sun Nov 02 2012 Reindl Harald <h.reindl at thelounge.net>
- chmod 700 for command-line tools

* Sat Jun 02 2012 Reindl Harald <h.reindl at thelounge.net>
- open-vm-tools-2012.05.21-724730

* Fri May 18 2012 Reindl Harald <h.reindl at thelounge.net>
- build without kernel-modules




-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 263 bytes
Desc: OpenPGP digital signature
URL: <http://lists.fedoraproject.org/pipermail/devel/attachments/20130502/aded43fc/attachment.sig>


More information about the devel mailing list