Package: open-vm-tools
Version: 2008.02.13-77928-1
Severity: serious
Cause: renders package unusable
Tags: patch
On /etc/init.d/open-vm-tools script, the program names of vmware-checkvm and
vmware-guestd are wrong.
Instead of 'vmware-checkvm' there is 'checkvm' (and the path is wrong), and
instead of 'vmware-guestd' there is 'guestd'.
The init script present in the package always tells that it is not running on
a vm, as checkvm binary is not found.
In addition, the vmxnet detection code doesn't work, as the function always
returns 1.
I've attached the patch that fixes the script for both problems.
Bye,
Emilio Scalise
--- open-vm-tools.old 2008-02-24 20:27:52.000000000 +0100
+++ open-vm-tools 2008-03-03 13:30:30.000000000 +0100
@@ -12,18 +12,22 @@
. /lib/lsb/init-functions
+CHECKVMBIN="vmware-checkvm"
+CHECKVMPATH="/usr/sbin/"
+GUESTD="vmware-guestd"
+
vmxnet_needed ()
{
- HWVERSION="$(checkvm -h | head -1 | cut -f5 -d\ )"
+ HWVERSION="$($CHECKVMBIN -h | head -1 | cut -f5 -d\ )"
for DEVICE in /sys/bus/pci/devices/*
do
- if grep -q 15ad ${DEVICE} && grep -q 0720 ${DEVICE}
+ if grep -q 15ad ${DEVICE}/vendor && grep -q 0720 ${DEVICE}/device
then
return 0
fi
- if [ "${HWVERSION}" -ge "4" ] && grep -q 1022 ${DEVICE} && grep -q 2000 ${DEVICE}
+ if [ "${HWVERSION}" -ge "4" ] && grep -q 1022 ${DEVICE}/vendor && grep -q 2000 ${DEVICE}/device
then
return 0
fi
@@ -33,7 +37,7 @@
}
exit_if_not_in_vm () {
- if [ ! -x /usr/bin/checkvm ] || ! /usr/bin/checkvm > /dev/null 2>&1
+ if [ ! -x $CHECKVMPATH$CHECKVMBIN ] || ! $CHECKVMPATH$CHECKVMBIN > /dev/null 2>&1
then
echo "Not starting as we're not running in a vm."
exit 0
@@ -56,8 +60,8 @@
modprobe vmxnet
fi
- log_daemon_msg "Starting open-vm guest daemon" "guestd"
- guestd --background /var/run/vmware-guestd.pid
+ log_daemon_msg "Starting open-vm guest daemon" "$GUESTD"
+ $GUESTD --background /var/run/vmware-guestd.pid
log_end_msg 0
;;
@@ -65,7 +69,7 @@
# Check if we're running inside VMWare
exit_if_not_in_vm
- log_daemon_msg "Stopping open-vm guest daemon" "guestd"
+ log_daemon_msg "Stopping open-vm guest daemon" "$GUESTD"
if [ -f /var/run/vmware-guestd.pid ]
then