app-emulation/open-vm-tools: Bump to new naming schema

git-svn-id: https://svn.disconnected-by-peer.at/svn/linamh/trunk/vmware@1751 6952d904-891a-0410-993b-d76249ca496b
This commit is contained in:
geos_one
2009-12-26 08:29:32 +00:00
parent 3e07006521
commit c3ae0c032b
13 changed files with 564 additions and 473 deletions

View File

@@ -0,0 +1,67 @@
From: Gordon Malm <gengor@gentoo.org>
Make inline asm PIC-safe (do not clobber ebx).
Thanks and credit to Anthony Basile for all his help and testing.
Reference: http://bugs.gentoo.org/200376
--- a/checkvm/checkvm.c
+++ b/checkvm/checkvm.c
@@ -79,8 +79,16 @@
{
uint32 eax, ebx, ecx, edx;
- __asm__ volatile("inl (%%dx)" :
- "=a"(eax), "=c"(ecx), "=d"(edx), "=b"(ebx) :
+ __asm__ volatile(
+#if defined __PIC__ && !vm_x86_64 // %ebx is reserved by the compiler.
+ "movl %%ebx, %3 \n\t"
+ "inl (%%dx) \n\t"
+ "xchgl %%ebx, %3 \n\t" :
+ "=a"(eax), "=c"(ecx), "=d"(edx), "=r"(ebx) :
+#else
+ "inl (%%dx)" :
+ "=a"(eax), "=c"(ecx), "=d"(edx), "=b"(ebx) :
+#endif
"0"(BDOOR_MAGIC), "1"(BDOOR_CMD_GETVERSION),
"2"(BDOOR_PORT) : "memory");
version[0] = eax;
@@ -96,8 +104,16 @@
{
uint32 eax, ebx, ecx, edx;
- __asm__ volatile("inl (%%dx)" :
- "=a"(eax), "=c"(ecx), "=d"(edx), "=b"(ebx) :
+ __asm__ volatile(
+#if defined __PIC__ && !vm_x86_64 // %ebx is reserved by the compiler.
+ "movl %%ebx, %3 \n\t"
+ "inl (%%dx) \n\t"
+ "xchgl %%ebx, %3 \n\t" :
+ "=a"(eax), "=c"(ecx), "=d"(edx), "=r"(ebx) :
+#else
+ "inl (%%dx)" :
+ "=a"(eax), "=c"(ecx), "=d"(edx), "=b"(ebx) :
+#endif
"0"(BDOOR_MAGIC), "1"(BDOOR_CMD_GETHWVERSION),
"2"(BDOOR_PORT) : "memory");
*hwVersion = eax;
@@ -112,8 +128,16 @@
{
uint32 eax, ebx, ecx, edx;
- __asm__ volatile("inl (%%dx)" :
- "=a"(eax), "=c"(ecx), "=d"(edx), "=b"(ebx) :
+ __asm__ volatile(
+#if defined __PIC__ && !vm_x86_64 // %ebx is reserved by the compiler.
+ "movl %%ebx, %3 \n\t"
+ "inl (%%dx) \n\t"
+ "xchgl %%ebx, %3 \n\t" :
+ "=a"(eax), "=c"(ecx), "=d"(edx), "=r"(ebx) :
+#else
+ "inl (%%dx)" :
+ "=a"(eax), "=c"(ecx), "=d"(edx), "=b"(ebx) :
+#endif
"0"(BDOOR_MAGIC), "1"(BDOOR_CMD_GETSCREENSIZE),
"2"(BDOOR_PORT) : "memory");
*screensize = eax;

View File

@@ -0,0 +1,76 @@
#!/sbin/runscript
# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-emulation/open-vm-tools/files/open-vm-tools.initd,v 1.2 2009/12/20 14:05:43 vadimk Exp $
DND_TMPDIR="/tmp/VMwareDnD"
USER_GROUP="root:vmware"
DND_TMPDIR_PERMS="1777"
GUESTD_BIN="/usr/bin/vmtoolsd"
PIDFILE="/var/run/vmtoolsd.pid"
MOUNTPOINT="/proc/fs/vmblock/mountPoint"
depend() {
before checkfs fsck net X
}
start() {
if [ "${VM_DRAG_AND_DROP}" == "yes" ];
then
if ! grep -q -w vmblock /proc/modules;
then
ebegin "Loading vmblock module"
modprobe vmblock
eend $?
sleep 0.25
fi
if [[ ! -d "${DND_TMPDIR}" ]];
then
# einfo "Creating the VM drag and drop directory"
mkdir "${DND_TMPDIR}"
chown "${USER_GROUP}" "${DND_TMPDIR}"
chmod "${DND_TMPDIR_PERMS}" "${DND_TMPDIR}"
fi
# DnD_TMPDIR must exist before vmblock can be mounted
ebegin "Mounting vmblock device"
mount -t vmblock none ${MOUNTPOINT}
eend $?
fi
ebegin "Starting vmtoolsd"
start-stop-daemon --chuid "${USER_GROUP}" --start --quiet --background --make-pidfile --pidfile "${PIDFILE}" --exec ${GUESTD_BIN}
eend $?
}
stop() {
local ret
if [ "${VM_DRAG_AND_DROP}" == "yes" ];
then
ebegin "Cleaning the contents of ${DND_TMPDIR}"
# First check, whether ${DND_TMPDIR} isn valid... we shouldn't risk deleting the content of ""/*
if [[ ! -z "${DND_TMPDIR}" ]] && [[ "${DND_TMPDIR}" != "/" ]];
then
rm -rf ${DND_TMPDIR}/*
ret=0
else
eerror "Not cleaning up ${DND_TMPDIR}, please check definition of variable"
ret=1
fi
eend $ret
ebegin "Unmounting vmblock device"
if grep -q -w "${MOUNTPOINT}" /proc/mounts;
then
umount ${MOUNTPOINT} 1>&2 > /dev/null
fi
eend 0
fi
ebegin "Stopping vmtoolsd"
start-stop-daemon --stop --quiet --pidfile "${PIDFILE}"
eend $?
}

View File

@@ -0,0 +1,2 @@
bindir = "/usr/bin"

View File

@@ -0,0 +1,7 @@
gnome-panel
ksmserver
startkde
kwrapper
panel
xfce4-panel