blob: 5a7a68a59a0b158a4c0ae2c6006ab7290b4c0edb (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
|
# Copyright 1999-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-emulation/open-vm-tools/open-vm-tools-0.0.20071121.64693.ebuild,v 1.4 2008/04/26 14:04:22 ikelos Exp $
inherit eutils linux-mod versionator
MY_DATE="$(get_version_component_range 3)"
MY_BUILD="$(get_version_component_range 4)"
MY_PV="${MY_DATE:0:4}.${MY_DATE:4:2}.${MY_DATE:6:2}-${MY_BUILD}"
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
!app-emulation/vmware-server-tools
!app-emulation/vmware-esx-tools
"
RDEPEND="${DEPEND/virtual\/linux\-sources/}
X? (
x11-base/xorg-server
x11-drivers/xf86-video-vmware
x11-drivers/xf86-input-vmmouse
)
"
VMWARE_MOD_DIR="modules/linux"
VMWARE_MODULE_LIST="vmblock vmhgfs vmsync vmmemctl vmxnet"
pkg_setup() {
linux-mod_pkg_setup
MODULE_NAMES=""
BUILD_TARGETS="auto-build KERNEL_DIR=${KERNEL_DIR} KBUILD_OUTPUT=${KV_OUT_DIR}"
for mod in ${VMWARE_MODULE_LIST};
do
if [[ "${mod}" == "vmxnet" ]];
then
MODTARGET="net"
else
MODTARGET="openvmtools"
fi
MODULE_NAMES="${MODULE_NAMES} ${mod}(${MODTARGET}:${S}/${VMWARE_MOD_DIR}/${mod})"
done
enewgroup vmware
}
src_unpack() {
unpack ${A}
}
src_compile() {
#if ! use X; then
# epatch ${FILESDIR}/disable-toolbox.patch
# rm -rf ${S}/toolbox
#fi
econf \
$(use_with X x) \
$(use_enable xinerama multimon) \
|| die "Error: econf failed!"
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
dolib libguestlib/.libs/libguestlib.{so.0.0.0,a}
# Deal with the hgfsmounter
into "${ROOT}"
newsbin hgfsmounter/hgfsmounter mount.vmhgfs
fperms u+s "${ROOT}sbin/mount.vmhgfs"
### FROM THIS POINT ON, into IS SET TO ${ROOT} not /usr !!!
# Install the /etc/ files
exeinto "${ROOT}etc/vmware-tools"
doexe scripts/linux/*
insinto "${ROOT}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
newconfd "${FILESDIR}/open-vm.confd" vmware-tools
if use X;
then
elog "To be able to use the drag'n'drop feature of VMware for file"
elog "exchange, you need to do this:"
elog " Add 'vmware-tools' to your default runlevel"
elog " Add the users which should have access to this function"
elog " to the group 'vmware'"
fi
}
|