ports/150913: [PATCH] emulators/open-vm-tools: vmware-user-suid-wrapper failes to load vmblock.ko
Fumiyuki Shimizu
fumifumi at abacustech.jp
Fri Sep 24 12:10:02 UTC 2010
>Number: 150913
>Category: ports
>Synopsis: [PATCH] emulators/open-vm-tools: vmware-user-suid-wrapper failes to load vmblock.ko
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Fri Sep 24 12:10:01 UTC 2010
>Closed-Date:
>Last-Modified:
>Originator: Fumiyuki Shimizu
>Release: 8.1-RELEASE-p1
>Organization:
Abacus Technologies, Inc.
>Environment:
Guest OS: FreeBSD 8.1-RELEASE #0: Mon Jul 19 02:36:49 UTC 2010 root at mason.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC i386
>Description:
vmware-user-suid-wrapper unloads vmblock.ko successfully, then fails to reload it.
Clipboard sharing does not work, although vmware-user is running.
>How-To-Repeat:
> sudo chmod u=xs,go=x /usr/local/bin/vmware-user-suid-wrapper
> kldstat -m vmblock
Id Refs Name
458 1 vmblock
> /usr/local/bin/vmware-user-suid-wrapper
vmware-user: failed to load vmblock: No such file or directory
vmware-user: failed to start vmblock
> kldstat -m vmblock
kldstat: can't find module vmblock: No such file or directory.
>Fix:
vmblock.ko is not loadable as 'vmblock,' since kernel modules are not installed on the default path by this port, politely.
A quick fix for 'patch -p1' is attached. It also fixes the location of a file for pkg-config.
Thank you.
Patch attached with submission follows:
diff -aruN open-vm-tools/files/patch-libguestlib open-vm-tools.suid-wrapper/files/patch-libguestlib
--- open-vm-tools/files/patch-libguestlib 1970-01-01 09:00:00.000000000 +0900
+++ open-vm-tools.suid-wrapper/files/patch-libguestlib 2010-09-24 19:20:20.000000000 +0900
@@ -0,0 +1,22 @@
+--- libguestlib/Makefile.am.orig 2010-04-28 03:17:28.000000000 +0900
++++ libguestlib/Makefile.am 2010-09-24 18:20:10.000000000 +0900
+@@ -41,7 +41,7 @@
+
+ EXTRA_DIST = vmguestlib.pc.in
+
+-pkgconfigdir = $(libdir)/pkgconfig
++pkgconfigdir = $(DESTDIR)$(prefix)/libdata/pkgconfig
+ pkgconfig_DATA = vmguestlib.pc
+
+ $(pkgconfig_DATA): $(top_builddir)/config.status
+--- libguestlib/Makefile.in.orig 2010-09-24 18:26:41.536002000 +0900
++++ libguestlib/Makefile.in 2010-09-24 18:32:51.000000000 +0900
+@@ -298,7 +298,7 @@
+ $(top_srcdir)/lib/include/vmSessionId.h \
+ $(top_srcdir)/lib/include/vm_basic_types.h
+ EXTRA_DIST = vmguestlib.pc.in
+-pkgconfigdir = $(libdir)/pkgconfig
++pkgconfigdir = $(DESTDIR)$(prefix)/libdata/pkgconfig
+ pkgconfig_DATA = vmguestlib.pc
+ all: all-am
+
diff -aruN open-vm-tools/files/patch-suid-wrapper open-vm-tools.suid-wrapper/files/patch-suid-wrapper
--- open-vm-tools/files/patch-suid-wrapper 1970-01-01 09:00:00.000000000 +0900
+++ open-vm-tools.suid-wrapper/files/patch-suid-wrapper 2010-09-24 19:16:15.000000000 +0900
@@ -0,0 +1,37 @@
+--- vmware-user-suid-wrapper/Makefile.am.orig 2010-04-28 03:17:29.000000000 +0900
++++ vmware-user-suid-wrapper/Makefile.am 2010-09-24 19:08:19.000000000 +0900
+@@ -20,9 +20,10 @@
+ # We shouldn't impose on users' installation preferences, so just provide
+ # a sane default and let them override it at configure or make time.
+ VMWARE_USER_PATH = $(bindir)/vmware-user
++VMWARE_KMOD_DIR = $(libdir)/vmware-tools/modules/drivers
+
+ AM_CPPFLAGS =
+-AM_CPPFLAGS += -DVMWARE_USER_PATH=\"$(VMWARE_USER_PATH)\"
++AM_CPPFLAGS += -DVMWARE_USER_PATH=\"$(VMWARE_USER_PATH)\" -DVMWARE_KMOD_DIR=\"$(VMWARE_KMOD_DIR)\"
+
+ vmware_user_suid_wrapper_SOURCES =
+ vmware_user_suid_wrapper_SOURCES += main.c
+--- vmware-user-suid-wrapper/Makefile.in.orig 2010-04-28 03:18:20.000000000 +0900
++++ vmware-user-suid-wrapper/Makefile.in 2010-09-24 19:08:58.000000000 +0900
+@@ -275,7 +275,8 @@
+ # We shouldn't impose on users' installation preferences, so just provide
+ # a sane default and let them override it at configure or make time.
+ VMWARE_USER_PATH = $(bindir)/vmware-user
+-AM_CPPFLAGS = -DVMWARE_USER_PATH=\"$(VMWARE_USER_PATH)\"
++VMWARE_KMOD_DIR = $(libdir)/vmware-tools/modules/drivers
++AM_CPPFLAGS = -DVMWARE_USER_PATH=\"$(VMWARE_USER_PATH)\" -DVMWARE_KMOD_DIR=\"$(VMWARE_KMOD_DIR)\"
+ vmware_user_suid_wrapper_SOURCES = main.c wrapper- at TARGET_OS@.c
+ vmware_user_suid_wrapper_LDADD = ../lib/vmSignal/libVmSignal.la
+ all: all-am
+--- vmware-user-suid-wrapper/wrapper-freebsd.c.orig 2010-04-28 03:17:29.000000000 +0900
++++ vmware-user-suid-wrapper/wrapper-freebsd.c 2010-09-24 19:14:45.000000000 +0900
+@@ -116,7 +116,7 @@
+ /*
+ * Kldload(2) will handle module search paths for us.
+ */
+- if (kldload(MODULE_NAME) == -1) {
++ if (kldload(VMWARE_KMOD_DIR "/" MODULE_NAME ".ko") == -1) {
+ Error("failed to load vmblock: %s\n", strerror(errno));
+ return FALSE;
+ }
diff -aruN open-vm-tools/pkg-plist open-vm-tools.suid-wrapper/pkg-plist
--- open-vm-tools/pkg-plist 2010-06-07 04:31:13.000000000 +0900
+++ open-vm-tools.suid-wrapper/pkg-plist 2010-09-24 17:53:25.000000000 +0900
@@ -23,7 +23,7 @@
lib/libguestlib.la
lib/libguestlib.so
lib/libguestlib.so.0
-lib/pkgconfig/vmguestlib.pc
+libdata/pkgconfig/vmguestlib.pc
lib/vmware-tools/modules/drivers/linker.hints
lib/vmware-tools/modules/drivers/vmblock.ko
lib/vmware-tools/modules/drivers/vmhgfs.ko
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list