# Copyright 1999-2007 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: $ inherit linux-mod MY_PV="2007.09.04-56574" MY_P="${PN}-${MY_PV}" S="${WORKDIR}/${MY_P}" DESCRIPTION="Opensourced tools for VMware guests" HOMEPAGE="http://open-vm-tools.sourceforge.net/" SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz" LICENSE="GPL-2" SLOT="0" KEYWORDS="~x86 ~amd64" IUSE="pam X xinerama" DEPEND=" virtual/linux-sources sys-apps/ethtool X? ( x11-libs/libX11 x11-libs/gtk+ ) xinerama? ( x11-libs/libXinerama ) !app-emulation/vmware-workstation-tools " RDEPEND="${DEPEND} X? ( x11-base/xorg-server x11-drivers/xf86-video-vmware x11-drivers/xf86-input-vmmouse ) " pkg_setup() { linux-mod_pkg_setup echo "DEBUG-START ${ROOT} DEBUG-END" } src_unpack() { unpack ${A} } src_compile() { cd ${S} if ! use X; then epatch ${FILESDIR}/disable-toolbox.patch rm -rf ${S}/toolbox fi epatch ${FILESDIR}/dnd-tmpdir.patch econf \ $(use_with X x) \ $(use_enable xinerama multimon) \ || die "Error: econf failed!" BUILD_TARGETS=' ' MODULE_NAMES="" cd modules/linux for module in *; do if [[ -d "${module}" ]]; then if [[ "${module}" == "vmxnet" ]]; then MODTARGET="net" else MODTARGET="openvmtools" fi MODULE_NAMES="${MODULE_NAMES} ${module}(${MODTARGET}:modules/linux/${module}:modules/linux/${module})" fi done cd ${S} linux-mod_src_compile emake || die } src_install() { linux-mod_src_install if use pam; then LIB="$(get_libdir)" PAMFILE="${D}/etc/pam.d/vmware-guestd" dodir ${ROOT}${LIB} dodir ${ROOT}etc/pam.d echo '#%PAM-1.0' > ${PAMFILE} if [[ -e ${ROOT}${LIB}/security/pam_unix2.so ]]; then PAM_VER=2 fi echo -e "auth\tsufficient\t${ROOT}${LIB}/security/pam_unix${PAM_VER}.so\tshadow\tnullok" >> ${PAMFILE} echo -e "auth\trequired\t${ROOT}${LIB}/security/pam_unix_auth.so\tshadow\tnullok" >> ${PAMFILE} echo -e "account\tsufficient\t${ROOT}${LIB}/security/pam_unix${PAM_VER}.so" >> ${PAMFILE} echo -e "account\trequired\t${ROOT}${LIB}/security/pam_unix_acct.so" >> ${PAMFILE} fi # Install the various tools cd ${S} VMWARE_BIN_LIST="hgfsclient" # xferlogs VMWARE_SBIN_LIST="guestd checkvm" if use X; then # Fix up the vmware-user tool's name mv vmware-user/vmware-user vmware-user/user mv vmware-user user VMWARE_BIN_LIST="${VMWARE_BIN_LIST} user toolbox" fi for i in ${VMWARE_BIN_LIST}; do newbin ${i}/${i} vmware-${i} || die "Failed installing ${i}" done for i in ${VMWARE_SBIN_LIST}; do newsbin ${i}/${i} vmware-${i} || die "Failed installing ${i}" done # Deal with the hgfsmounter into / newsbin hgfsmounter/hgfsmounter mount.vmhgfs fperms u+s /sbin/mount.vmhgfs # Install the /etc/ files insinto /etc/vmware-tools doins ${FILESDIR}/tools.conf # Only install this, when X is being used. Else it's useless waste of # ressources when checking continuously for processes that will never appear use X && doins ${FILESDIR}/xautostart.conf newinitd ${FILESDIR}/open-vm.initd vmware-tools diropts -m1777 dodir ${ROOT}var/tmp/vmware/dnd }