# # Copyright (c) 2006 rPath, Inc. # This file is distributed under the terms of the MIT License. # A copy is available at http://www.rpath.com/permanent/mit-license.html # #loadSuperClass('kernelmodulepackage=drivers.rpath.org@rpl:devel') class VMwareTools(CPackageRecipe): buildRequires = ['perl:lib', 'perl:runtime', 'make:runtime', 'gcc:runtime', 'chkconfig:runtime', 'findutils:runtime'] name = 'VMwareTools' version = '5.5.2' def setup(r): r.macros.kver = os.uname()[2] r.macros.buildrel = "29772" r.addArchive('%(name)s-%(version)s-%(buildrel)s.tar.gz') r.addPatch('rootperm.patch', level = 2) r.addSource('chkconfig.patch') r.Replace("'/etc/vmware-tools'", "'%(destdir)s/%(sysconfdir)s/vmware-tools'", 'bin/vmware-uninstall-tools.pl') r.MakeDirs('/etc/vmware-tools', mode = 0755) # vmware-tools requires a real looking init structure r.MakeDirs('/etc/rc.d', mode = 0755) for i in ['init.d', 'rc.local', 'rc.sysinit'] + \ ['rc%d.d' % x for x in range(7)]: r.MakeDirs('/etc/' + i, mode = 0755) r.Symlink('/etc/' + i, '/etc/rc.d/' + i) #r.Create("%(sysconfdir)s/vmware-tools/locations", mode=0644, # contents = '' # 'answer BINDIR %(bindir)s\n' # 'answer INITDIR %(sysconfdir)s\n' # 'answer INITSCRIPTSDIR %(initdir)s\n' # 'answer SBINDIR %(sbindir)s\n' # 'answer LIBDIR %(libdir)s/vmware\n' # 'answer DOCDIR %(docdir)s/vmware\n' # 'answer RUN_CONFIGURATOR yes\n' # 'answer HEADER_DIR /lib/modules/%(kver)s/build/include\n' # 'answer EULA_AGREED yes\n' # 'answer ISC_COPYRIGHT_SEEN yes\n') answers = '\n'.join(('%(destdir)s/%(bindir)s', 'yes', # /usr/bin '%(destdir)s/%(sysconfdir)s', # /etc '', # /etc/init.d '', 'yes', # /usr/sbin '', 'yes', # /usr/lib/vmware-tools '%(destdir)s/%(docdir)s/vmware-tools', 'yes', 'no')) # and don't compile the kernel modules r.Run('echo -e "%s" | %%(builddir)s/vmware-install.pl' % answers) def install(r): CPackageRecipe.install(r) for i in ['rc.d', 'rc.local', 'rc.sysinit'] + \ ['rc%d.d' % x for x in range(7)]: r.Remove('/etc/' + i, recursive = True) r.Run('cat %(builddir)s/chkconfig.patch | patch %(destdir)s/%(sysconfdir)s/init.d/vmware-tools') if Arch.x86_64: r.MakeDirs('/usr/lib64', mode = 0755) r.MakeDirs('/usr/lib64/vmware-tools', mode = 0755) else: r.Run('find %(destdir)s/%(libdir)s -name "*64" -print | xargs /bin/rm -rf') r.Remove('%(datadir)/doc/') r.Remove('%(libdir)s/debug')