ports/163266: new port sysutils/xen-tools Xen tools within FreeBSD domU

Evan Sarmiento esarmiento at wayfair.com
Tue Dec 13 22:10:10 UTC 2011


>Number:         163266
>Category:       ports
>Synopsis:       new port sysutils/xen-tools Xen tools within FreeBSD domU
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Tue Dec 13 22:10:09 UTC 2011
>Closed-Date:
>Last-Modified:
>Originator:     Evan Sarmiento
>Release:        8.2
>Organization:
Wayfair
>Environment:
FreeBSD devwebbsd76-2.csnzoo.com 8.2-RELEASE-p2 FreeBSD 8.2-RELEASE-p2 #0: Wed Aug 31 15:24:02 EDT 2011     root at freebsd82template:/usr/obj/usr/src/sys/XENHVM  amd64

>Description:
NEW PORT sysutils/xen-tools

These tools are useful for debugging Xen related problems when one
does not have access to the dom0 or wants to view the entries from
domU's perspective. These work on FreeBSD VMs using the XEN (i386)
kernel or the XENHVM kernel.


>How-To-Repeat:
Example:

devwebbsd05# /usr/local/bin/xenstore-ls /local/domain/`/usr/local/bin/xenstore-read domid`

vm = "/vm/1a3ff05b-e843-6ebf-293f-b5a92c85ca5d"
vss = "/vss/1a3ff05b-e843-6ebf-293f-b5a92c85ca5d"
name = "CSN/XC/TEMPLATE/FREEBSD/8/2/DEVWEBBSD/VM/DEVWEBBSD05/125/185"
cpu = ""
 0 = ""
  availability = "online"
memory = ""
 initial-reservation = "1059840"
 static-max = "1048576"
 target = "1048576"
 dynamic-min = "1048576"
 dynamic-max = "1048576"
device = ""
 vbd = ""
  832 = ""
   backend = "/local/domain/0/backend/vbd/188/832"
   state = "4"
   backend-id = "0"
   device-type = "disk"
   virtual-device = "832"
   ring-ref = "768"
   ring-pages = "1"
   max-requests = "32"
   max-request-segments = "11"
   max-request-size = "40960"
   event-channel = "4"
   protocol = "x86_64-abi"
  5696 = ""
   backend = "/local/domain/0/backend/vbd/188/5696"
   state = "6"
   backend-id = "0"
   device-type = "cdrom"
   virtual-device = "5696"
   ring-ref = "769"
   ring-pages = "1"
   max-requests = "32"
   max-request-segments = "11"
   max-request-size = "40960"
   event-channel = "5"
   protocol = "x86_64-abi"
 vif = ""
  0 = ""
   backend = "/local/domain/0/backend/vif/188/0"
   backend-id = "0"
   state = "4"
   handle = "0"
   mac = "ce:af:53:8b:27:c8"
   tx-ring-ref = "770"
   rx-ring-ref = "771"
   event-channel = "6"
   request-rx-copy = "1"
   feature-rx-notify = "1"
   feature-sg = "1"
   feature-gso-tcpv4 = "1"
error = ""
drivers = ""
control = ""
 platform-feature-multiprocessor-suspend = "1"
attr = ""
data = ""
 set_clipboard = "https://admin.wayfair.com/tracker/views/89.php?PrtID=332389#"
messages = ""
platform = ""
 timeoffset = "-14821"
 nx = "false"
 acpi = "true"
 apic = "true"
 pae = "true"
 viridian = "true"
 vcpu = ""
  number = "1"
bios-strings = ""
 bios-vendor = "Xen"
 bios-version = ""
 system-manufacturer = "Xen"
 system-product-name = "HVM domU"
 system-version = ""
 system-serial-number = ""
 hp-rombios = ""
 oem-1 = "Xen"
 oem-2 = "MS_VM_CERT/SHA1/bdbeb6e0a816d43fa6d3fe8aaef04c2bad9d3e3d"
unique-domain-id = "9fd6261b-ae3d-355e-d4bb-34fdee660bf5"
domid = "188"
store = ""
 port = "2"
 ring-ref = "1044476"
qemu-pid = "21240"
device-misc = ""
 dm-ready = "1"
console = ""
 vnc-port = "5907"
 tty = "/dev/pts/50"
monitor = ""
 tty = "/dev/pts/13"
serial = ""
 0 = ""
  tty = "/dev/pts/50"

>Fix:


Patch attached with submission follows:

# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#	xen-tools
#	xen-tools/Makefile
#	xen-tools/distinfo
#	xen-tools/pkg-descr
#	xen-tools/files
#	xen-tools/files/patch-tools_xenstore_xs__lib.c
#
echo c - xen-tools
mkdir -p xen-tools > /dev/null 2>&1
echo x - xen-tools/Makefile
sed 's/^X//' >xen-tools/Makefile << '8bfee6abe79549bbafce8871a200a0b9'
X# New ports collection makefile for:    xen-tools
X# Date created:                         13 December 2011
X# Whom:                                 Evan Sarmiento <esarmiento at wayfair.com>
X#
X# $FreeBSD$
X
XPORTNAME=	xen-tools
XPORTVERSION=	4.0.1
XCATEGORIES=     sysutils
XDISTNAME=       xen-${PORTVERSION}
X
XMAINTAINER=     esarmiento at wayfair.com
XCOMMENT=        Xen tools within FreeBSD domU
X
XMASTER_SITES=   http://bits.xensource.com/oss-xen/release/${PORTVERSION}/
X
XUSE_GMAKE=	yes
XUSE_PYTHON=	yes
X
XPLIST_FILES=	lib/libxenstore.so.3.0 \
X		bin/xen-detect \
X		bin/xenstore \
X		bin/xenstore-control \
X		bin/xenstore-chmod \
X		bin/xenstore-exists \
X		bin/xenstore-list \
X		bin/xenstore-ls \
X		bin/xenstore-read \
X		bin/xenstore-rm \
X		bin/xenstore-write
Xdo-build:
X	cd ${WRKSRC}/tools && ${GMAKE} -C include
X	cd ${WRKSRC}/tools/misc && ${GMAKE} xen-detect
X	cd ${WRKSRC}/tools/xenstore && ${GMAKE} clients
X
Xdo-install:
X	${INSTALL_PROGRAM} ${WRKSRC}/tools/misc/xen-detect ${PREFIX}/bin
X	${INSTALL_PROGRAM} ${WRKSRC}/tools/xenstore/xenstore ${PREFIX}/bin
X	${INSTALL_PROGRAM} ${WRKSRC}/tools/xenstore/xenstore-control ${PREFIX}/bin
X	${INSTALL_PROGRAM} ${WRKSRC}/tools/xenstore/libxenstore.so.3.0 ${PREFIX}/lib
X
Xpost-install:
X	${LN} -sf ${PREFIX}/bin/xenstore ${PREFIX}/bin/xenstore-chmod
X	${LN} -sf ${PREFIX}/bin/xenstore ${PREFIX}/bin/xenstore-exists
X	${LN} -sf ${PREFIX}/bin/xenstore ${PREFIX}/bin/xenstore-list
X	${LN} -sf ${PREFIX}/bin/xenstore ${PREFIX}/bin/xenstore-ls
X	${LN} -sf ${PREFIX}/bin/xenstore ${PREFIX}/bin/xenstore-read
X	${LN} -sf ${PREFIX}/bin/xenstore ${PREFIX}/bin/xenstore-rm
X	${LN} -sf ${PREFIX}/bin/xenstore ${PREFIX}/bin/xenstore-write
X
X.include <bsd.port.mk>
8bfee6abe79549bbafce8871a200a0b9
echo x - xen-tools/distinfo
sed 's/^X//' >xen-tools/distinfo << 'b7dda380b8eddb00ec7cced1d52b66c7'
XSHA256 (xen-4.0.1.tar.gz) = 6e6d1d29400db93cb8095e034138aa8748b1bd4cffb4d3fd07af4ba15c918873
XSIZE (xen-4.0.1.tar.gz) = 11909200
b7dda380b8eddb00ec7cced1d52b66c7
echo x - xen-tools/pkg-descr
sed 's/^X//' >xen-tools/pkg-descr << 'e8838618a947af73527cbb8fb85236b9'
XThese tools are useful for debugging Xen related problems when one
Xdoes not have access to the dom0 or wants to view the entries from
XdomU's perspective. These work on FreeBSD VMs using the XEN (i386)
Xkernel or the XENHVM kernel.
e8838618a947af73527cbb8fb85236b9
echo c - xen-tools/files
mkdir -p xen-tools/files > /dev/null 2>&1
echo x - xen-tools/files/patch-tools_xenstore_xs__lib.c
sed 's/^X//' >xen-tools/files/patch-tools_xenstore_xs__lib.c << '1d6dc63d56bb59a8bb85461407ab1b59'
X--- tools/xenstore/xs_lib.c.orig	2011-01-30 15:56:52.985324929 -0800
X+++ tools/xenstore/xs_lib.c	2011-01-30 15:55:14.024346135 -0800
X@@ -84,6 +84,8 @@
X 	return "/proc/xen/xenbus";
X #elif defined(__NetBSD__)
X 	return "/kern/xen/xenbus";
X+#elif defined(__FreeBSD__)
X+	return "/dev/xen/xenstore";
X #else
X 	return "/dev/xen/xenbus";
X #endif
1d6dc63d56bb59a8bb85461407ab1b59
exit



>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list