however, i managed to get open-vm-tools for F18
building a RPM-packages without nearly anything
becasue my goal is only to support

* VMware vSpehere HA
* VMware Data Recovery
* see the IP of the guest in vCenter what works without libdnet

all tested and working with Fedora 17/18 x86_64 on vSphere 5.0
any other dependencies an features are removed from my package
since i do not need them, try to minimize dependency chains
and using Fedora guests all the time without GUI, all needed
kernel modules are in the linux-kernel since many months

to trigger a kernel panic / crash for tests:
sync; echo 1 > /proc/sys/kernel/sysrq; echo c > /proc/sysrq-trigger
_________________________________________________________________________

to prevent warnings because missing procfs/dnet
bindings every 30 seconds in syslog:

[root@buildserver:~]$ cat /etc/vmware-tools/tools.conf
[logging]
vmsvc.level=error
_________________________________________________________________________

native systemd-unit (TimeoutStopSec=1 prevents hang at shutdown on F18)

[root@buildserver:~]$ cat /usr/lib/systemd/system/vmtoolsd.service
[Unit]
Description=open-vm-tools

[Service]
Type=simple
ExecStart=/usr/bin/vmtoolsd
Restart=always
RestartSec=2
TimeoutStopSec=1

[Install]
WantedBy=multi-user.target
_________________________________________________________________________

RPM SPEC:

[root@buildserver:~]$ cat /rpmbuild/SPECS/vmware-tools.spec
%define vmtooolsver    9.2.2
%define buildver       958366
%global kernel_uname_r %(echo $(uname -r))

Name:              open-vm-tools
Version:           %{vmtooolsver}.%{buildver}
Release:           6%{?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:     pam-devel
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

%package           devel
Summary:           Development package for %{name}
Group:             Development/Libraries
Requires:          %{name} = %{version}-%{release}

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

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

%build
CXXFLAGS="$RPM_OPT_FLAGS -Wno-deprecated-declarations"
CFLAGS="$RPM_OPT_FLAGS -Wno-deprecated-declarations"
export CXXFLAGS
export CFLAGS
%configure --disable-static \
 --disable-dependency-tracking \
 --disable-multimon \
 --disable-tests \
 --disable-docs \
 --without-gtk2 \
 --without-gtkmm \
 --without-x \
 --without-icu \
 --without-root-privileges \
 --with-gnu-ld \
 --without-kernel-modules \
 --without-procps \
 --without-dnet
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
rm -rf $RPM_BUILD_ROOT
make install DESTDIR=$RPM_BUILD_ROOT
find $RPM_BUILD_ROOT -type f -name "*.la" -exec rm -f {} ';'
mkdir -p $RPM_BUILD_ROOT/sbin
mv $RPM_BUILD_ROOT%{_sbindir}/mount.* $RPM_BUILD_ROOT/sbin
rm -f $RPM_BUILD_ROOT%{_sysconfdir}/xdg/autostart/vmware-user.desktop
rm -f $RPM_BUILD_ROOT/%{_libdir}/open-vm-tools/plugins/common/libhgfsServer.so
rm -f $RPM_BUILD_ROOT/sbin/mount.vmhgfs
rm -f $RPM_BUILD_ROOT/usr/bin/vmware-hgfsclient
mkdir -p ${RPM_BUILD_ROOT}/%{_unitdir}
mkdir -p ${RPM_BUILD_ROOT}%{_libexecdir}
install -m 644 %{SOURCE1} $RPM_BUILD_ROOT/%{_unitdir}/
chmod 700 $RPM_BUILD_ROOT/usr/bin/vmtoolsd
chmod 700 $RPM_BUILD_ROOT/usr/bin/vmware-checkvm
chmod 700 $RPM_BUILD_ROOT/usr/bin/vmware-rpctool
chmod 700 $RPM_BUILD_ROOT/usr/bin/vmware-toolbox-cmd
chmod 700 $RPM_BUILD_ROOT/usr/bin/vmware-vmblock-fuse
chmod 700 $RPM_BUILD_ROOT/usr/bin/vmware-xferlogs

%clean
rm -rf $RPM_BUILD_ROOT

%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 stop 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}
%config(noreplace) %{_sysconfdir}/pam.d/*
%{_unitdir}/vmtoolsd.service
%{_sysconfdir}/vmware-tools
%{_libdir}/*.so.*
%{_libdir}/%{name}

%files devel
%defattr(-,root,root,-)
%{_includedir}/*
%{_libdir}/*.so
%{_libdir}/pkgconfig/*.pc

%changelog
* Wed Feb 27 2013 Reindl Harald <h.rei...@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.rei...@thelounge.net>
- chmod 700 for command-line tools
_________________________________________________________________________

Am 27.02.2013 13:59, schrieb Reindl Harald:
> can someone please fix the deprecated code parts
> or disable "-Werror=deprecated-declarations" in
> the source to make it possible again to build
> open-vm-tools for Fedora >= 18?
> 
> + 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
> + /usr/bin/make -j8
> fileLogger.c: In function 'FileLoggerDestroy':
> fileLogger.c:367:4: error: 'g_static_mutex_free' is deprecated (declared at
> /usr/include/glib-2.0/glib/deprecated/gthread.h:147): Use 'g_mutex_free' 
> instead [-Werror=deprecated-declarations]
> fileLogger.c: In function 'GlibUtils_CreateFileLogger':
> fileLogger.c:414:4: error: 'g_static_mutex_init' is deprecated (declared at
> /usr/include/glib-2.0/glib/deprecated/gthread.h:145): Use 'g_mutex_init' 
> instead [-Werror=deprecated-declarations]
> cc1: all warnings being treated as errors
> make[2]: *** [libGlibUtils_la-fileLogger.lo] Error 1
> make[2]: *** Waiting for unfinished jobs....
> make[1]: *** [all-recursive] Error 1
> make: *** [all-recursive] Error 1

-- 

Reindl Harald
the lounge interactive design GmbH
A-1060 Vienna, Hofmühlgasse 17
CTO / CISO / Software-Development
p: +43 (1) 595 3999 33, m: +43 (676) 40 221 40
icq: 154546673, http://www.thelounge.net/

http://www.thelounge.net/signature.asc.what.htm

Attachment: signature.asc
Description: OpenPGP digital signature

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_feb
_______________________________________________
open-vm-tools-devel mailing list
open-vm-tools-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/open-vm-tools-devel

Reply via email to