rpms/xenner/devel xenner-ld-library-path.patch, NONE, 1.1 xenner-log-stderr.patch, NONE, 1.1 xenner-mac.patch, NONE, 1.1 xenner-map-foreign-pages.patch, NONE, 1.1 .cvsignore, 1.4, 1.5 xenner.spec, 1.8, 1.9

Daniel P. Berrange (berrange) fedora-extras-commits at redhat.com
Wed Feb 27 21:26:18 UTC 2008


Author: berrange

Update of /cvs/pkgs/rpms/xenner/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv8971

Modified Files:
	.cvsignore xenner.spec 
Added Files:
	xenner-ld-library-path.patch xenner-log-stderr.patch 
	xenner-mac.patch xenner-map-foreign-pages.patch 
Log Message:
Fix TUN device detection (rhbz #435131)
Don't capture stderr to hardcoded logfile (rhbz #435137)
Workaround for missing xc_map_foreign_pages API (rhbz #435158)
Fix detection of libxenctrl compat for PVFB

xenner-ld-library-path.patch:

--- NEW FILE xenner-ld-library-path.patch ---
diff -rup xenner-0.25.orig/xenner.c xenner-0.25.new/xenner.c
--- xenner-0.25.orig/xenner.c	2008-02-27 15:32:36.000000000 -0500
+++ xenner-0.25.new/xenner.c	2008-02-27 15:57:55.000000000 -0500
@@ -381,7 +381,7 @@ static void prepare_environment(struct x
     path[1] = exe;
 
     for (i = 0; i < sizeof(path)/sizeof(path[0]); i++) {
-	snprintf(buf, sizeof(buf), "%s/%s", path[i], "libxenctrl.so.3.0");
+	snprintf(buf, sizeof(buf), "%s/%s", path[i], "libxenctrl.so.3.2");
 	if (0 != access(buf, R_OK))
 	    continue;
 	setenv("LD_LIBRARY_PATH", path[i], 1);

xenner-log-stderr.patch:

--- NEW FILE xenner-log-stderr.patch ---
diff -rup xenner-0.25.orig/xenner.c xenner-0.25.new/xenner.c
--- xenner-0.25.orig/xenner.c	2008-02-27 11:13:48.000000000 -0500
+++ xenner-0.25.new/xenner.c	2008-02-27 11:18:02.000000000 -0500
@@ -678,14 +678,6 @@ int main(int argc, char *argv[])
 		opt++; continue;
 
 	    } else if (0 == strcmp(argv[opt], "-M")) {
-		/*
-		 * libvirt detection: calls us with -M pc
-		 *  -> we go logging to a file then as stderr
-		 *     isn't visible to the user
-		 *  -> ignore otherwise
-		 */
-		openlog(&xen, "/var/log/xenner.debug");
-		xen.nostderr = 1;
 		opt++; continue;
 
 	    } else if (0 == strcmp(argv[opt], "-hda") ||

xenner-mac.patch:

--- NEW FILE xenner-mac.patch ---
diff -rup xenner-0.25.orig/xenner.c xenner-0.25.new/xenner.c
--- xenner-0.25.orig/xenner.c	2008-02-01 10:59:37.000000000 -0500
+++ xenner-0.25.new/xenner.c	2008-02-26 22:28:28.000000000 -0500
@@ -209,7 +209,7 @@ static int tap_fd_to_name(int fd, char *
     sock = socket(PF_INET, SOCK_STREAM, 0);
     if (sock < 0)
 	goto out;
-    for (ifn = 0; ifn < 65536; ifn++) {
+    for (ifn = 0; ifn < 65536 && ! match; ifn++) {
 	memset(&sys, 0, sizeof(sys));
 	sys.ifr_ifindex = ifn;
 	if (ioctl(sock, SIOCGIFNAME, &sys) < 0) {
@@ -220,16 +220,19 @@ static int tap_fd_to_name(int fd, char *
 	if (ioctl(sock, SIOCGIFHWADDR, &sys) < 0)
 	    goto out;
 	if (0 != memcmp(tun.ifr_hwaddr.sa_data, sys.ifr_hwaddr.sa_data, 6))	    continue;
+
+	/* We may match on a bridge device first, so
+	 * TUNSETPERSIST is useful sanity check to let
+	 * us distinguish the tap device from a bridge
+	 * even though they MAC  have same mac
+	 */
+	if (ioctl(fd, TUNSETPERSIST, 1) < 0)
+	    continue;
+
 	/* matched */
 	strncpy(buf, sys.ifr_name, len);
-	match++;
-    }
-
-    if (match) {
-	/* make persist and close, so netbackd can open it by name */
-	ioctl(fd, TUNSETPERSIST, 1);
 	close(fd);
-	goto out;
+	match = 1;
     }
 
 out:

xenner-map-foreign-pages.patch:

--- NEW FILE xenner-map-foreign-pages.patch ---
diff -rup xenner-0.25.orig/libxc.c xenner-0.25.new/libxc.c
--- xenner-0.25.orig/libxc.c	2008-02-01 11:38:00.000000000 -0500
+++ xenner-0.25.new/libxc.c	2008-02-27 15:34:03.000000000 -0500
@@ -208,3 +208,9 @@ done:
 		__FUNCTION__, xc_handle, dom, prot, arr, num, ptr);
     return ptr;
 }
+
+void *xc_map_foreign_pages(int xc_handle, uint32_t dom, int prot,
+                           const xen_pfn_t *arr, int num)
+{
+  return xc_map_foreign_batch(xc_handle, dom, prot, arr, num);
+}


Index: .cvsignore
===================================================================
RCS file: /cvs/pkgs/rpms/xenner/devel/.cvsignore,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- .cvsignore	1 Feb 2008 20:26:52 -0000	1.4
+++ .cvsignore	27 Feb 2008 21:25:42 -0000	1.5
@@ -1 +1,5 @@
+.*.log
+*.rpm
+x86_64
+i686
 xenner-0.25.tar.gz


Index: xenner.spec
===================================================================
RCS file: /cvs/pkgs/rpms/xenner/devel/xenner.spec,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- xenner.spec	4 Feb 2008 07:25:26 -0000	1.8
+++ xenner.spec	27 Feb 2008 21:25:42 -0000	1.9
@@ -1,11 +1,15 @@
 Name:         xenner
 License:      GPLv2+
 Version:      0.25
-Release:      3%{?dist}
+Release:      4%{?dist}
 Summary:      Xen emulator for kvm
 Group:        Applications/Emulators
 Source:       %{name}-%{version}.tar.gz
 Patch01:      %{name}-memset.diff
+Patch02:      %{name}-mac.patch
+Patch03:      %{name}-log-stderr.patch
+Patch04:      %{name}-map-foreign-pages.patch
+Patch05:      %{name}-ld-library-path.patch
 URL:          http://dl.bytesex.org/releases/%{name}/%{name}-%{version}.tar.gz
 Requires:     xen-runtime
 Provides:     xen-hypervisor-abi = 3.2
@@ -25,6 +29,10 @@
 %prep
 %setup -q
 %patch01 -p0
+%patch02 -p1
+%patch03 -p1
+%patch04 -p1
+%patch05 -p1
 
 %build
 export CFLAGS="%{optflags}"
@@ -56,6 +64,12 @@
 rm -rf %{buildroot}
 
 %changelog
+* Wed Feb 27 2008 Daniel P. Berrange <berrange at redhat.com> 0.25-4.fc9
+- Fix TUN device detection (rhbz #435131)
+- Don't capture stderr to hardcoded logfile (rhbz #435137)
+- Workaround for missing xc_map_foreign_pages API (rhbz #435158)
+- Fix detection of libxenctrl compat for PVFB 
+
 * Mon Feb 4 2008 Gerd Hoffmann <kraxel at redhat.com> - 0.25-3.fc9
 - adapt dependencies for xen package split.
 * Fri Feb 1 2008 Gerd Hoffmann <kraxel at redhat.com> - 0.25-2.fc9




More information about the fedora-extras-commits mailing list