Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 21 Oct 2004 02:10:35 +0200 (CEST)
From:      Juergen Lock <nox@jelal.kn-bremen.de>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/72945: update emulators/qemu to 2004-10-20 snapshot
Message-ID:  <200410210010.i9L0AZP41653@saturn.kn-bremen.de>
Resent-Message-ID: <200410210010.i9L0APv1036337@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         72945
>Category:       ports
>Synopsis:       update emulators/qemu to 2004-10-20 snapshot
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          maintainer-update
>Submitter-Id:   current-users
>Arrival-Date:   Thu Oct 21 00:10:25 GMT 2004
>Closed-Date:
>Last-Modified:
>Originator:     Juergen Lock
>Release:        FreeBSD 5.3-BETA4 i386
>Organization:
me?  organized??
>Environment:
System: FreeBSD neptun 5.3-BETA4 FreeBSD 5.3-BETA4 #2: Thu Sep 16 15:34:49 CEST 2004     nox@neptun:/ad0/usr/home/nox/src5/usr/src/sys/i386/compile/NEPTUN  i386


>Description:
	-tftp, -smb, -redir, -loadvm and -full-screen options,
	new block layer with qemu-img replacing qemu-mkcow and vmdk2raw
	becoming obsolete, ne2000 nt4 fix + savevm support, cloop driver,
	cirrus vga speedup, IDE fixes for linux 2.6 and nt4 guests,
	fdc fixes, experimental sparc system emulation, etc.

	also, default grab/ungrab key changed to ctrl-alt

>How-To-Repeat:
	
>Fix:

Removed files: files/patch-ba, files/patch-bb

Index: Makefile
===================================================================
RCS file: /home/ncvs/ports/emulators/qemu/Makefile,v
retrieving revision 1.14
diff -u -r1.14 Makefile
--- Makefile	26 Sep 2004 02:42:06 -0000	1.14
+++ Makefile	20 Oct 2004 23:11:19 -0000
@@ -6,36 +6,32 @@
 #
 
 PORTNAME=	qemu
-PORTVERSION=	0.6.0s
+PORTVERSION=	0.6.0s.20041020
 CATEGORIES=	emulators
-MASTER_SITES=	http://dad-answers.com/qemu/FreeBSD/
-DISTNAME=	${PORTNAME}-snapshot-2004-07-15_23
+MASTER_SITES=	http://www.fuqn.ca/distfiles/ \
+		http://dad-answers.com/qemu/
+DISTNAME=	${PORTNAME}-snapshot-2004-10-20_23
 
 MAINTAINER=	nox@jelal.kn-bremen.de
 COMMENT=	QEMU CPU Emulator
 
 BUILD_DEPENDS+=	texi2html:${PORTSDIR}/textproc/texi2html
+RUN_DEPENDS+=	${LOCALBASE}/sbin/smbd:${PORTSDIR}/net/samba
 
 HAS_CONFIGURE=	yes
 USE_BZIP2=	yes
 USE_GMAKE=	yes
 USE_GETOPT_LONG=	yes
 USE_SDL=	sdl
-USE_GCC=	3.3
+USE_GCC=	3.4
 USE_PERL5=	yes
 WRKSRC=		${WRKDIR}/${DISTNAME}
 PATCH_STRIP=	-p1
 CONFIGURE_ARGS+=	--prefix=${PREFIX} --cc=${CC}\ -I${PREFIX}/include
-MAN1=		qemu.1 qemu-mkcow.1
+MAN1=		qemu.1
 ONLY_FOR_ARCHS=	i386 amd64 powerpc
 
-.include <bsd.port.pre.mk>
-
-.if ${OSVERSION} >= 502126
-BROKEN=		"Does not compile on FreeBSD >= 5.x"
-.endif
-
 post-install:
 	@${CAT} ${PKGMESSAGE}
 
-.include <bsd.port.post.mk>
+.include <bsd.port.mk>
Index: distinfo
===================================================================
RCS file: /home/ncvs/ports/emulators/qemu/distinfo,v
retrieving revision 1.10
diff -u -r1.10 distinfo
--- distinfo	17 Jul 2004 12:24:33 -0000	1.10
+++ distinfo	20 Oct 2004 22:12:56 -0000
@@ -1,2 +1,2 @@
-MD5 (qemu-snapshot-2004-07-15_23.tar.bz2) = a45bec4f467f47401f745147091f1644
-SIZE (qemu-snapshot-2004-07-15_23.tar.bz2) = 747718
+MD5 (qemu-snapshot-2004-10-20_23.tar.bz2) = 6f14b647038ad70f91b5e9b6b99dad0f
+SIZE (qemu-snapshot-2004-10-20_23.tar.bz2) = 823062
Index: pkg-message
===================================================================
RCS file: /home/ncvs/ports/emulators/qemu/pkg-message,v
retrieving revision 1.4
diff -u -r1.4 pkg-message
--- pkg-message	17 Jul 2004 12:24:33 -0000	1.4
+++ pkg-message	18 Oct 2004 21:52:06 -0000
@@ -16,6 +16,7 @@
 patch to emulators/rtc.)
 - using physical media doesn't work on 4.x hosts (missing DIOCGMEDIASIZE
 ioctl)
-- leaving X grab with shift-ctrl now often leaves shift or ctrl `pressed'
-for the guest, hitting it once fixes that
+- physical cdroms don't work at the moment because of the new block layer,
+Antony says he already has a new patch for that so expect this to be
+working again soon.
 ====
Index: pkg-plist
===================================================================
RCS file: /home/ncvs/ports/emulators/qemu/pkg-plist,v
retrieving revision 1.6
diff -u -r1.6 pkg-plist
--- pkg-plist	25 Jun 2004 07:37:31 -0000	1.6
+++ pkg-plist	8 Oct 2004 21:01:22 -0000
@@ -1,7 +1,7 @@
 bin/qemu
-bin/qemu-mkcow
+bin/qemu-img
 bin/qemu-system-ppc
-bin/vmdk2raw
+bin/qemu-system-sparc
 %%PORTDOCS%%%%DOCSDIR%%/qemu-doc.html
 %%PORTDOCS%%%%DOCSDIR%%/qemu-tech.html
 share/qemu/bios.bin
@@ -9,5 +9,6 @@
 share/qemu/vgabios.bin
 share/qemu/vgabios-cirrus.bin
 share/qemu/ppc_rom.bin
+share/qemu/proll.bin
 @dirrm share/qemu
 %%PORTDOCS%%@dirrm %%DOCSDIR%%
Index: files/patch-aa
===================================================================
RCS file: /home/ncvs/ports/emulators/qemu/files/patch-aa,v
retrieving revision 1.2
diff -u -r1.2 patch-aa
--- files/patch-aa	11 Jul 2004 11:41:06 -0000	1.2
+++ files/patch-aa	4 Aug 2004 16:16:24 -0000
@@ -10,106 +10,6 @@
  
  qemu.1: qemu-doc.texi
  	./texi2pod.pl $< qemu.pod
-diff -urd --exclude=CVS ../cvs/qemu/block.c qemu-0.5.5/block.c
---- ../cvs/qemu/block.c	Sat May  8 16:27:20 2004
-+++ qemu-0.5.5/block.c	Sun May 30 16:36:53 2004
-@@ -27,6 +27,13 @@
- #include <sys/mman.h>
- #endif
- 
-+#ifdef _BSD
-+#include <sys/types.h>
-+#include <sys/stat.h>
-+#include <sys/ioctl.h>
-+#include <sys/disk.h>
-+#endif
-+
- #include "cow.h"
- 
- struct BlockDriverState {
-@@ -81,7 +88,10 @@
- {
-     int fd;
-     int64_t size;
--    struct cow_header_v2 cow_header;
-+    union {
-+      struct cow_header_v2 cow_header;
-+      uint8_t cow_buffer[2048];
-+    } cow;
- #ifndef _WIN32
-     char template[] = "/tmp/vl.XXXXXX";
-     int cow_fd;
-@@ -117,15 +127,15 @@
-     bs->fd = fd;
- 
-     /* see if it is a cow image */
--    if (read(fd, &cow_header, sizeof(cow_header)) != sizeof(cow_header)) {
-+    if (read(fd, &cow.cow_header, sizeof(cow)) != sizeof(cow)) {
-         fprintf(stderr, "%s: could not read header\n", filename);
-         goto fail;
-     }
- #ifndef _WIN32
--    if (be32_to_cpu(cow_header.magic) == COW_MAGIC &&
--        be32_to_cpu(cow_header.version) == COW_VERSION) {
-+    if (be32_to_cpu(cow.cow_header.magic) == COW_MAGIC &&
-+        be32_to_cpu(cow.cow_header.version) == COW_VERSION) {
-         /* cow image found */
--        size = cow_header.size;
-+        size = cow.cow_header.size;
- #ifndef WORDS_BIGENDIAN
-         size = bswap64(size);
- #endif    
-@@ -133,34 +143,41 @@
- 
-         bs->cow_fd = fd;
-         bs->fd = -1;
--        if (cow_header.backing_file[0] != '\0') {
--            if (stat(cow_header.backing_file, &st) != 0) {
--                fprintf(stderr, "%s: could not find original disk image '%s'\n", filename, cow_header.backing_file);
-+        if (cow.cow_header.backing_file[0] != '\0') {
-+            if (stat(cow.cow_header.backing_file, &st) != 0) {
-+                fprintf(stderr, "%s: could not find original disk image '%s'\n", filename, cow.cow_header.backing_file);
-                 goto fail;
-             }
--            if (st.st_mtime != be32_to_cpu(cow_header.mtime)) {
--                fprintf(stderr, "%s: original raw disk image '%s' does not match saved timestamp\n", filename, cow_header.backing_file);
-+            if (st.st_mtime != be32_to_cpu(cow.cow_header.mtime)) {
-+                fprintf(stderr, "%s: original raw disk image '%s' does not match saved timestamp\n", filename, cow.cow_header.backing_file);
-                 goto fail;
-             }
--            fd = open(cow_header.backing_file, O_RDONLY | O_LARGEFILE);
-+            fd = open(cow.cow_header.backing_file, O_RDONLY | O_LARGEFILE);
-             if (fd < 0)
-                 goto fail;
-             bs->fd = fd;
-         }
-         /* mmap the bitmap */
--        bs->cow_bitmap_size = ((bs->total_sectors + 7) >> 3) + sizeof(cow_header);
-+        bs->cow_bitmap_size = ((bs->total_sectors + 7) >> 3) + sizeof(cow.cow_header);
-         bs->cow_bitmap_addr = mmap(get_mmap_addr(bs->cow_bitmap_size), 
-                                    bs->cow_bitmap_size, 
-                                    PROT_READ | PROT_WRITE,
-                                    MAP_SHARED, bs->cow_fd, 0);
-         if (bs->cow_bitmap_addr == MAP_FAILED)
-             goto fail;
--        bs->cow_bitmap = bs->cow_bitmap_addr + sizeof(cow_header);
-+        bs->cow_bitmap = bs->cow_bitmap_addr + sizeof(cow.cow_header);
-         bs->cow_sectors_offset = (bs->cow_bitmap_size + 511) & ~511;
-         snapshot = 0;
-     } else 
- #endif
-     {
-+#ifdef _BSD
-+        struct stat sb;
-+        if (!fstat(fd,&sb) && (S_IFCHR & sb.st_mode)) {
-+            if (ioctl(fd, DIOCGMEDIASIZE, (off_t *)&size))
-+                size = lseek(fd, 0LL, SEEK_END);
-+        } else
-+#endif                      
-         /* standard raw image */
-         size = lseek64(fd, 0, SEEK_END);
-         bs->total_sectors = size / 512;
-Only in qemu-0.5.5: block.c.bck
 Only in qemu-0.5.5: qemu.1
 diff -urd --exclude=CVS ../cvs/qemu/target-i386/cpu.h qemu-0.5.5/target-i386/cpu.h
 --- ../cvs/qemu/target-i386/cpu.h	Thu May 20 15:01:56 2004
Index: files/patch-bg
===================================================================
RCS file: /home/ncvs/ports/emulators/qemu/files/patch-bg,v
retrieving revision 1.2
diff -u -r1.2 patch-bg
--- files/patch-bg	26 Jun 2004 05:21:59 -0000	1.2
+++ files/patch-bg	19 Oct 2004 11:59:45 -0000
@@ -1,40 +1,25 @@
-Index: qemu/qemu-mkcow.c
-@@ -21,6 +21,8 @@
-  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-  * THE SOFTWARE.
-  */
-+#include "config-host.h"
-+ 
- #include <stdlib.h>
- #include <stdio.h>
- #include <stdarg.h>
-@@ -36,6 +38,13 @@
- #include <sys/stat.h>
- #include <netinet/in.h>
+Index: qemu/Makefile.target
+@@ -179,7 +179,7 @@
  
-+#ifdef _BSD
-+#include <sys/types.h>
-+#include <sys/ioctl.h>
-+#include <sys/queue.h>
-+#include <sys/disk.h>
-+#endif
-+
- #include "cow.h"
+ #########################################################
+ 
+-DEFINES+=-D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
++DEFINES+=-D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DSMBD=\"${LOCALBASE}/sbin/smbd\"
+ LIBS+=-lm
+ ifndef CONFIG_USER_ONLY
+ LIBS+=-lz
+Index: qemu/vl.c
+@@ -1560,8 +1560,13 @@
+     fclose(f);
+     atexit(smb_exit);
  
- #include "bswap.h"
-@@ -56,6 +64,15 @@ int cow_create(int cow_fd, const char *i
-             perror(image_filename);
-             exit(1);
-         }
-+#ifdef _BSD
-+        struct stat sb;
-+        if (!fstat(fd,&sb) && (S_IFCHR & sb.st_mode)) {
-+#ifdef DIOCGMEDIASIZE
-+            if (ioctl(fd, DIOCGMEDIASIZE, (off_t *)&image_sectors))
++#ifdef __FreeBSD__
++    snprintf(smb_cmdline, sizeof(smb_cmdline), SMBD " -s %s",
++             smb_conf);
++#else
+     snprintf(smb_cmdline, sizeof(smb_cmdline), "/usr/sbin/smbd -s %s",
+              smb_conf);
 +#endif
-+                image_sectors = lseek(fd, 0LL, SEEK_END);
-+        } else
-+#endif                      
-         image_sectors = lseek64(fd, 0, SEEK_END);
-         if (fstat(fd, &st) != 0) {
-             close(fd);
+     
+     slirp_add_exec(0, smb_cmdline, 4, 139);
+ }
Index: files/patch-bk
===================================================================
RCS file: /home/ncvs/ports/emulators/qemu/files/patch-bk,v
retrieving revision 1.2
diff -u -r1.2 patch-bk
--- files/patch-bk	6 Jun 2004 23:13:15 -0000	1.2
+++ files/patch-bk	18 Oct 2004 19:57:52 -0000
@@ -1,10 +1,4 @@
 Index: qemu/slirp/bootp.c
-===================================================================
-RCS file: /cvsroot/qemu/qemu/slirp/bootp.c,v
-retrieving revision 1.3
-diff -u -r1.3 bootp.c
---- slirp/bootp.c	4 Jun 2004 15:30:48 -0000	1.3
-+++ slirp/bootp.c	5 Jun 2004 19:34:22 -0000
 @@ -29,11 +29,12 @@
  
  #define START_ADDR 15
@@ -104,13 +98,14 @@
 +    dhcp_decode(bp->bp_vend, DHCP_OPT_LEN, &dhcp_msg_type,&reqaddr);
 +    dprintf("bootp packet op=%d msgtype=%d reqaddr=%x\n", bp->bp_op, dhcp_msg_type,ntohl(reqaddr.sin_addr.s_addr));
      
-     if (dhcp_msg_type != DHCPDISCOVER && 
-         dhcp_msg_type != DHCPREQUEST)
-@@ -149,19 +182,18 @@
+     if (dhcp_msg_type == 0)
+         dhcp_msg_type = DHCPREQUEST; /* Force reply for old BOOTP clients */
+@@ -152,21 +185,18 @@
      m->m_data += sizeof(struct udpiphdr);
      memset(rbp, 0, sizeof(struct bootp_t));
  
 -    if (dhcp_msg_type == DHCPDISCOVER) {
+-    new_addr:
 -        bc = get_new_addr(&daddr.sin_addr);
 -        if (!bc) {
 -            dprintf("no address left\n");
@@ -120,8 +115,9 @@
 -    } else {
 -        bc = find_addr(&daddr.sin_addr, bp->bp_hwaddr);
 -        if (!bc) {
--            dprintf("no address assigned\n");
--            return;
+-            /* if never assigned, behaves as if it was already
+-               assigned (windows fix because it remembers its address) */
+-            goto new_addr;
 -        }
 +    bc=NULL;
 +    daddr.sin_addr.s_addr=htonl(0L);
@@ -138,7 +134,15 @@
      }
      dprintf("offered addr=%08x\n", ntohl(daddr.sin_addr.s_addr));
  
-@@ -182,18 +214,21 @@
+@@ -181,25 +211,27 @@
+     rbp->bp_hlen = 6;
+     memcpy(rbp->bp_hwaddr, bp->bp_hwaddr, 6);
+ 
+-    rbp->bp_yiaddr = daddr.sin_addr; /* Client IP address */
+-    rbp->bp_siaddr = saddr.sin_addr; /* Server IP address */
++    rbp->bp_yiaddr = daddr.sin_addr; /* IP address */
+ 
+     q = rbp->bp_vend;
      memcpy(q, rfc1533_cookie, 4);
      q += 4;
  
>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200410210010.i9L0AZP41653>