Index: head/emulators/qemu/Makefile =================================================================== --- head/emulators/qemu/Makefile (revision 447329) +++ head/emulators/qemu/Makefile (revision 447330) @@ -1,176 +1,180 @@ # Created by: Juergen Lock # $FreeBSD$ PORTNAME= qemu -PORTVERSION= 2.8.1 -PORTREVISION= 1 +PORTVERSION= 2.9.0 CATEGORIES= emulators MASTER_SITES= http://wiki.qemu.org/download/ DIST_SUBDIR= qemu/${PORTVERSION} MAINTAINER?= bofh@FreeBSD.org COMMENT?= QEMU CPU Emulator LICENSE= GPLv2 +LIB_DEPENDS?= libnettle.so:security/nettle \ + libfontconfig.so:x11-fonts/fontconfig \ + libfreetype.so:print/freetype2 + HAS_CONFIGURE= yes USES?= cpe gmake pkgconfig bison perl5 python:2,build tar:bzip2 USE_PERL5= build MAKE_ENV+= BSD_MAKE="${MAKE}" V=1 .if !defined(PKGNAMESUFFIX) || ${PKGNAMESUFFIX} != "-utils" USE_XORG= pixman USE_GNOME+= cairo glib20 ONLY_FOR_ARCHS= amd64 i386 powerpc powerpc64 # XXX someone wants to debug sparc64 hosts? .endif BROKEN_powerpc64= fails to compile: In function aio_bh_poll: internal compiler error: Segmentation fault OPTIONS_DEFINE= SAMBA X11 GTK2 OPENGL GNUTLS SASL JPEG PNG CURL \ - CDROM_DMA PCAP USBREDIR GNS3 X86_TARGETS \ + VDE CDROM_DMA PCAP USBREDIR GNS3 X86_TARGETS \ STATIC_LINK DOCS NCURSES SAMBA_DESC= samba dependency (for -smb) GNUTLS_DESC= gnutls dependency (vnc encryption) SASL_DESC= cyrus-sasl dependency (vnc encryption) JPEG_DESC= jpeg dependency (vnc lossy compression) PNG_DESC= png dependency (vnc compression) CDROM_DMA_DESC= IDE CDROM DMA PCAP_DESC= pcap dependency (networking with bpf) USBREDIR_DESC= usb device network redirection (experimental!) GNS3_DESC= gns3 patches (promiscuous multicast) X86_TARGETS_DESC= Build only x86 system targets STATIC_LINK_DESC= Statically link the executables -OPTIONS_DEFAULT=X11 GTK2 OPENGL GNUTLS SASL JPEG PNG CDROM_DMA CURL PCAP GNS3 NCURSES +VDE_DESC= vde dependency (for vde networking) +OPTIONS_DEFAULT=X11 GTK2 OPENGL GNUTLS SASL JPEG PNG CDROM_DMA CURL PCAP GNS3 NCURSES VDE OPTIONS_SUB= yes X11_USE= SDL=sdl XORG=x11,xext GNOME=gdkpixbuf2 X11_CONFIGURE_ENABLE= sdl GTK2_USE= GNOME=gtk20,vte GTK2_USES= gettext GTK2_CONFIGURE_OFF= --disable-gtk --disable-vte GNUTLS_LIB_DEPENDS= libgnutls.so:security/gnutls GNUTLS_CONFIGURE_OFF= --disable-gnutls SASL_LIB_DEPENDS= libsasl2.so:security/cyrus-sasl2 SASL_CONFIGURE_OFF= --disable-vnc-sasl JPEG_USES= jpeg JPEG_CONFIGURE_OFF= --disable-vnc-jpeg PNG_LIB_DEPENDS= libpng.so:graphics/png PNG_CONFIGURE_OFF= --disable-vnc-png CURL_LIB_DEPENDS= libcurl.so:ftp/curl CURL_CONFIGURE_OFF= --disable-curl OPENGL_USE= GL=yes OPENGL_CONFIGURE_OFF= --disable-opengl USBREDIR_BUILD_DEPENDS= usbredir>=0.6:net/usbredir USBREDIR_RUN_DEPENDS= usbredir>=0.6:net/usbredir USBREDIR_CONFIGURE_OFF= --disable-usb-redir PCAP_CONFIGURE_ON= --enable-pcap PCAP_EXTRA_PATCHES= ${FILESDIR}/pcap-patch ${FILESDIR}/pcap-patch-net_net.c \ ${FILESDIR}/pcap-patch-net_clients.h +VDE_LIB_DEPENDS= libvdeplug.so:net/vde2 +VDE_CONFIGURE_OFF= --disable-vde STATIC_LINK_CONFIGURE_ON= --static STATIC_LINK_PREVENTS= GTK2 X11 STATIC_LINK_PREVENTS_MSG= X11 ui cannot be built static NCURSES_USES= ncurses:base SAMBA_USES= samba:run # smbd +SAMBA_CONFIGURE_ON= --smbd=${LOCALBASE}/sbin/smbd DOCS_BUILD_DEPENDS= texi2html:textproc/texi2html DOCS_USES= makeinfo DOCS_MAKE_ARGS_OFF= NOPORTDOCS=1 -PORTDOCS?= docs qemu-doc.html qmp-commands.txt +PORTDOCS?= docs qemu-doc.html qemu-doc.txt qemu-ga-ref.html qemu-ga-ref.txt \ + qemu-qmp-ref.html qemu-qmp-ref.txt WITHOUT_CPU_CFLAGS=yes #to avoid problems with register allocation CFLAGS:= ${CFLAGS:C/-fno-tree-vrp//} CONFIGURE_ARGS?=--localstatedir=/var --extra-ldflags=-L\"/usr/lib\" \ --extra-ldflags=-L\"${LOCALBASE}/lib\" --disable-libssh2 --enable-debug \ --prefix=${PREFIX} --cc=${CC} --enable-docs --disable-kvm \ --disable-linux-user --disable-linux-aio --disable-xen \ - --smbd=${LOCALBASE}/sbin/smbd --enable-debug-info --python=${PYTHON_CMD} \ + --enable-debug-info --python=${PYTHON_CMD} \ --extra-cflags=-I${WRKSRC}\ -I${LOCALBASE}/include\ -DPREFIX=\\\"\"${PREFIX}\\\"\" -LIB_DEPENDS?= libnettle.so:security/nettle \ - libfontconfig.so:x11-fonts/fontconfig \ - libfreetype.so:print/freetype2 - .include .if !defined(STRIP) || ${STRIP} == "" CONFIGURE_ARGS+=--disable-strip .endif .if ${ARCH} == "amd64" MAKE_ARGS+= ARCH=x86_64 .endif .if ${ARCH} == "powerpc" MAKE_ARGS+= ARCH=ppc .endif .if ${ARCH} == "powerpc64" MAKE_ARGS+= ARCH=ppc64 .endif .if ${ARCH} == "sparc64" CONFIGURE_ARGS+= --sparc_cpu=v9 .endif # clang in freebsd 10 is unable to assemble linuxboot_dma.bin .if (${OSVERSION} < 1100000) -PLIST_SUB+= LINUXBOOT_DMA="@comment " +PLIST_SUB+= LINUXBOOT_DMA="@comment " .else -PLIST_SUB+= LINUXBOOT_DMA="" +PLIST_SUB+= LINUXBOOT_DMA="" .endif # -lprocstat actually only _needs_ -lelf after r249666 or r250870 (MFC) # but it shouldn't matter much post-patch: @${REINPLACE_CMD} -e '/LIBS/s|-lprocstat|-lprocstat -lelf|' \ -e '/libusb/s/ --atleast-version=1\.0\.[0-9]*//' \ ${WRKSRC}/configure @${REINPLACE_CMD} -e '/libs_qga=/s|glib_libs|glib_libs -lintl|' ${WRKSRC}/configure @${REINPLACE_CMD} -E \ -e "/^by Tibor .TS. S/s|Sch.*z.$$|Schuetz.|" \ ${WRKSRC}/qemu-doc.texi @${REINPLACE_CMD} -E \ -e "s|^(CFLAGS=).*|\1${CFLAGS} -fno-strict-aliasing|" \ -e "s|^(LDFLAGS=).*|\1${LDFLAGS}|" \ ${WRKSRC}/Makefile.target @${REINPLACE_CMD} -E \ -e "s|^(CFLAGS=).*|\1${CFLAGS} -fno-strict-aliasing -I.|" \ -e "s|^(LDFLAGS=).*|\1${LDFLAGS}|" \ ${WRKSRC}/Makefile @${REINPLACE_CMD} -E \ -e "1s|^(#! )/usr/bin/perl|\1${PERL}|" \ ${WRKSRC}/scripts/texi2pod.pl # clang in freebsd 10 is unable to assemble linuxboot_dma.bin .if (${OSVERSION} < 1100000) @${REINPLACE_CMD} -E \ -e 's|linuxboot_dma.bin||' \ ${WRKSRC}/pc-bios/optionrom/Makefile @${REINPLACE_CMD} -E \ -e 's|linuxboot_dma.bin||' \ ${WRKSRC}/Makefile .endif post-patch-CDROM_DMA-off: @${REINPLACE_CMD} -e '/USE_DMA_CDROM/d' ${WRKSRC}/include/hw/ide/internal.h post-patch-GNS3-on: @${REINPLACE_CMD} -e 's|(buf\[0\] & 1) && (rctl & E1000_RCTL_MPE)|buf[0] \& 1|' \ ${WRKSRC}/hw/net/e1000.c # XXX need to disable usb host code on head while it's not ported to the # new usb stack yet post-configure: @${REINPLACE_CMD} -E \ -e "s|^(HOST_USB=)bsd|\1stub|" \ ${WRKSRC}/config-host.mak .if !target(post-install) post-install: ${INSTALL_SCRIPT} ${FILESDIR}/qemu-ifup.sample ${STAGEDIR}${PREFIX}/etc ${INSTALL_SCRIPT} ${FILESDIR}/qemu-ifdown.sample ${STAGEDIR}${PREFIX}/etc @${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/qemu-* @${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/ivshmem-* post-install-DOCS-on: @(cd ${WRKSRC} && ${COPYTREE_SHARE} docs ${STAGEDIR}${DOCSDIR}/) .endif .include Index: head/emulators/qemu/distinfo =================================================================== --- head/emulators/qemu/distinfo (revision 447329) +++ head/emulators/qemu/distinfo (revision 447330) @@ -1,3 +1,5 @@ -TIMESTAMP = 1492017956 -SHA256 (qemu/2.8.1/qemu-2.8.1.tar.bz2) = 018e4c7ed22c220395cf41f835d01505e49d0e579a548bd3d72b03809442bbcd -SIZE (qemu/2.8.1/qemu-2.8.1.tar.bz2) = 28366270 +TIMESTAMP = 1500663832 +SHA256 (qemu/2.9.0/qemu-2.9.0.tar.bz2) = 00bfb217b1bb03c7a6c3261b819cfccbfb5a58e3e2ceff546327d271773c6c14 +SIZE (qemu/2.9.0/qemu-2.9.0.tar.bz2) = 28720490 +SHA256 (qemu/2.9.0/dtc-v1.4.0.tar.gz) = 39d0713efd82a27adc065ecb9ef36401c53d5ee87ae1764e2bb243fcd97488e3 +SIZE (qemu/2.9.0/dtc-v1.4.0.tar.gz) = 131893 Index: head/emulators/qemu/files/patch-qemu-char.c =================================================================== --- head/emulators/qemu/files/patch-qemu-char.c (revision 447329) +++ head/emulators/qemu/files/patch-qemu-char.c (nonexistent) @@ -1,19 +0,0 @@ ---- qemu-char.c.orig 2015-12-16 00:54:18 UTC -+++ qemu-char.c -@@ -1507,10 +1507,14 @@ static void tty_serial_init(int fd, int - cfsetospeed(&tty, spd); - - tty.c_iflag &= ~(IGNBRK|BRKINT|PARMRK|ISTRIP -- |INLCR|IGNCR|ICRNL|IXON); -- tty.c_oflag |= OPOST; -+ |INLCR|IGNCR|ICRNL|IXON|IMAXBEL); -+ tty.c_oflag &= ~OPOST; /* Don't do any output processing! */ - tty.c_lflag &= ~(ECHO|ECHONL|ICANON|IEXTEN|ISIG); - tty.c_cflag &= ~(CSIZE|PARENB|PARODD|CRTSCTS|CSTOPB); -+#ifdef __FreeBSD__ -+ cfmakeraw(&tty); -+#endif -+ - switch(data_bits) { - default: - case 8: Property changes on: head/emulators/qemu/files/patch-qemu-char.c ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/emulators/qemu/files/patch-Makefile =================================================================== --- head/emulators/qemu/files/patch-Makefile (revision 447329) +++ head/emulators/qemu/files/patch-Makefile (revision 447330) @@ -1,26 +1,30 @@ ---- Makefile.orig 2016-12-20 13:16:43.000000000 -0700 -+++ Makefile 2017-03-05 08:08:54.529466000 -0700 -@@ -90,7 +90,11 @@ +--- Makefile.orig 2017-04-20 14:57:00 UTC ++++ Makefile +@@ -206,9 +206,13 @@ LIBS+=-lz $(LIBS_TOOLS) HELPERS-$(CONFIG_LINUX) = qemu-bridge-helper$(EXESUF) ifdef BUILD_DOCS +ifdef NOPORTDOCS +DOCS=qemu.1 qemu-img.1 qemu-nbd.8 qemu-ga.8 +else - DOCS=qemu-doc.html qemu.1 qemu-img.1 qemu-nbd.8 qemu-ga.8 + DOCS=qemu-doc.html qemu-doc.txt qemu.1 qemu-img.1 qemu-nbd.8 qemu-ga.8 + DOCS+=docs/qemu-qmp-ref.html docs/qemu-qmp-ref.txt docs/qemu-qmp-ref.7 + DOCS+=docs/qemu-ga-ref.html docs/qemu-ga-ref.txt docs/qemu-ga-ref.7 +endif ifdef CONFIG_VIRTFS DOCS+=fsdev/virtfs-proxy-helper.1 endif -@@ -429,9 +433,11 @@ +@@ -558,11 +562,13 @@ BLOBS= endif install-doc: $(DOCS) +ifndef NOPORTDOCS $(INSTALL_DIR) "$(DESTDIR)$(qemu_docdir)" $(INSTALL_DATA) qemu-doc.html "$(DESTDIR)$(qemu_docdir)" - $(INSTALL_DATA) $(SRC_PATH)/docs/qmp-commands.txt "$(DESTDIR)$(qemu_docdir)" + $(INSTALL_DATA) qemu-doc.txt "$(DESTDIR)$(qemu_docdir)" + $(INSTALL_DATA) docs/qemu-qmp-ref.html "$(DESTDIR)$(qemu_docdir)" + $(INSTALL_DATA) docs/qemu-qmp-ref.txt "$(DESTDIR)$(qemu_docdir)" +endif ifdef CONFIG_POSIX $(INSTALL_DIR) "$(DESTDIR)$(mandir)/man1" $(INSTALL_DATA) qemu.1 "$(DESTDIR)$(mandir)/man1" Index: head/emulators/qemu/files/patch-configure =================================================================== --- head/emulators/qemu/files/patch-configure (revision 447329) +++ head/emulators/qemu/files/patch-configure (revision 447330) @@ -1,157 +1,157 @@ ---- configure.orig 2016-12-20 13:16:44.000000000 -0700 -+++ configure 2017-03-05 08:10:46.513171000 -0700 +--- configure.orig 2017-04-20 14:57:00 UTC ++++ configure @@ -247,7 +247,7 @@ LDFLAGS_SHARED="-shared" modules="no" prefix="/usr/local" -mandir="\${prefix}/share/man" +mandir="\${prefix}/man" datadir="\${prefix}/share" qemu_docdir="\${prefix}/share/doc/qemu" bindir="\${prefix}/bin" @@ -322,6 +322,10 @@ tcmalloc="no" jemalloc="no" replication="yes" +pcap="no" +pcap_create="no" +bpf="no" + # parse CC options first for opt do @@ -887,6 +891,10 @@ ;; --enable-vnc-png) vnc_png="yes" ;; + --enable-pcap) pcap="yes" + ;; + --disable-pcap) pcap="no" + ;; --disable-slirp) slirp="no" ;; --disable-vde) vde="no" @@ -2266,7 +2274,7 @@ gtk_cflags="$gtk_cflags $x11_cflags" gtk_libs="$gtk_libs $x11_libs" fi - libs_softmmu="$gtk_libs $libs_softmmu" + libs_softmmu="$gtk_libs -lintl $libs_softmmu" gtk="yes" elif test "$gtk" = "yes"; then feature_not_found "gtk" "Install gtk2 or gtk3 devel" @@ -2485,6 +2493,14 @@ fi ########################################## +# getifaddrs (for tests/test-io-channel-socket ) + +have_ifaddrs_h=yes +if ! check_include "ifaddrs.h" ; then + have_ifaddrs_h=no +fi + +########################################## # VTE probe if test "$vte" != "no"; then @@ -2644,6 +2660,50 @@ fi fi +########################################## +# pcap probe + +if test "$pcap" = "yes" -a "$pcap" != "no"; then + cat > $TMPC << EOF +#include +int main(void) { return (pcap_lib_version() == (char *)0 ? 1 : 0); } +EOF + if test "$mingw32" = "no" ; then + libpcap=-lpcap + else + libpcap=-lwpcap + fi + if compile_prog "" "$libpcap" ; then + : + else + echo + echo "Error: Could not find pcap" + echo "Make sure to have the pcap libs and headers installed." + echo + exit 1 + fi + cat > $TMPC << EOF +#include +int main(void) +{ + char errbuf[PCAP_ERRBUF_SIZE]; + return (pcap_create("foo", errbuf) == (pcap_t *)0 ? 1 : 0); +} +EOF + if compile_prog "" "$libpcap" ; then + pcap_create="yes" + fi + cat > $TMPC << EOF +#define PCAP_DONT_INCLUDE_PCAP_BPF_H +#include +#include +int main(void) { return (BPF_MAJOR_VERSION); } +EOF + if compile_prog ; then + bpf="yes" + fi + libs_softmmu="$libpcap $libs_softmmu" +fi # test "$pcap" ########################################## # VNC SASL detection @@ -3970,14 +4030,7 @@ # Check if tools are available to build documentation. if test "$docs" != "no" ; then - if has makeinfo && has pod2man; then docs=yes - else - if test "$docs" = "yes" ; then - feature_not_found "docs" "Install texinfo and Perl/perl-podlators" - fi - docs=no - fi fi # Search for bswap_32 function @@ -5026,6 +5079,7 @@ echo "Block whitelist (rw) $block_drv_rw_whitelist" echo "Block whitelist (ro) $block_drv_ro_whitelist" echo "VirtFS support $virtfs" +echo "pcap support $pcap" echo "VNC support $vnc" if test "$vnc" = "yes" ; then echo "VNC SASL support $vnc_sasl" @@ -5204,6 +5258,15 @@ if test "$profiler" = "yes" ; then echo "CONFIG_PROFILER=y" >> $config_host_mak fi +if test "$pcap" = "yes" ; then + echo "CONFIG_PCAP=y" >> $config_host_mak + if test "$pcap_create" = "yes" ; then + echo "CONFIG_PCAP_CREATE=y" >> $config_host_mak + fi + if test "$bpf" = "yes" ; then + echo "CONFIG_BPF=y" >> $config_host_mak + fi +fi if test "$slirp" = "yes" ; then echo "CONFIG_SLIRP=y" >> $config_host_mak echo "CONFIG_SMBD_COMMAND=\"$smbd\"" >> $config_host_mak @@ -5415,6 +5478,9 @@ if test "$have_fsxattr" = "yes" ; then echo "HAVE_FSXATTR=y" >> $config_host_mak fi +if test "$have_ifaddrs_h" = "yes" ; then + echo "HAVE_IFADDRS_H=y" >> $config_host_mak +fi if test "$vte" = "yes" ; then echo "CONFIG_VTE=y" >> $config_host_mak echo "VTE_CFLAGS=$vte_cflags" >> $config_host_mak Index: head/emulators/qemu/files/patch-include_qemu_atomic.h =================================================================== --- head/emulators/qemu/files/patch-include_qemu_atomic.h (revision 447329) +++ head/emulators/qemu/files/patch-include_qemu_atomic.h (revision 447330) @@ -1,54 +1,54 @@ ---- include/qemu/atomic.h.orig 2016-12-20 13:16:47.000000000 -0700 -+++ include/qemu/atomic.h 2017-03-05 08:15:48.793780000 -0700 +--- include/qemu/atomic.h.orig 2017-04-20 14:57:00 UTC ++++ include/qemu/atomic.h @@ -182,10 +182,12 @@ /* Provide shorter names for GCC atomic builtins, return old value */ #define atomic_fetch_inc(ptr) __atomic_fetch_add(ptr, 1, __ATOMIC_SEQ_CST) #define atomic_fetch_dec(ptr) __atomic_fetch_sub(ptr, 1, __ATOMIC_SEQ_CST) +#ifndef __cplusplus #define atomic_fetch_add(ptr, n) __atomic_fetch_add(ptr, n, __ATOMIC_SEQ_CST) #define atomic_fetch_sub(ptr, n) __atomic_fetch_sub(ptr, n, __ATOMIC_SEQ_CST) #define atomic_fetch_and(ptr, n) __atomic_fetch_and(ptr, n, __ATOMIC_SEQ_CST) #define atomic_fetch_or(ptr, n) __atomic_fetch_or(ptr, n, __ATOMIC_SEQ_CST) +#endif #define atomic_fetch_xor(ptr, n) __atomic_fetch_xor(ptr, n, __ATOMIC_SEQ_CST) #define atomic_inc_fetch(ptr) __atomic_add_fetch(ptr, 1, __ATOMIC_SEQ_CST) @@ -199,10 +201,12 @@ /* And even shorter names that return void. */ #define atomic_inc(ptr) ((void) __atomic_fetch_add(ptr, 1, __ATOMIC_SEQ_CST)) #define atomic_dec(ptr) ((void) __atomic_fetch_sub(ptr, 1, __ATOMIC_SEQ_CST)) +#ifndef __cplusplus #define atomic_add(ptr, n) ((void) __atomic_fetch_add(ptr, n, __ATOMIC_SEQ_CST)) #define atomic_sub(ptr, n) ((void) __atomic_fetch_sub(ptr, n, __ATOMIC_SEQ_CST)) #define atomic_and(ptr, n) ((void) __atomic_fetch_and(ptr, n, __ATOMIC_SEQ_CST)) #define atomic_or(ptr, n) ((void) __atomic_fetch_or(ptr, n, __ATOMIC_SEQ_CST)) +#endif #define atomic_xor(ptr, n) ((void) __atomic_fetch_xor(ptr, n, __ATOMIC_SEQ_CST)) #else /* __ATOMIC_RELAXED */ @@ -370,10 +374,12 @@ #define atomic_inc_fetch(ptr) __sync_add_and_fetch(ptr, 1) #define atomic_dec_fetch(ptr) __sync_add_and_fetch(ptr, -1) +#ifndef __cplusplus #define atomic_add_fetch(ptr, n) __sync_add_and_fetch(ptr, n) #define atomic_sub_fetch(ptr, n) __sync_sub_and_fetch(ptr, n) #define atomic_and_fetch(ptr, n) __sync_and_and_fetch(ptr, n) #define atomic_or_fetch(ptr, n) __sync_or_and_fetch(ptr, n) +#endif #define atomic_xor_fetch(ptr, n) __sync_xor_and_fetch(ptr, n) #define atomic_cmpxchg(ptr, old, new) __sync_val_compare_and_swap(ptr, old, new) @@ -382,10 +388,12 @@ /* And even shorter names that return void. */ #define atomic_inc(ptr) ((void) __sync_fetch_and_add(ptr, 1)) #define atomic_dec(ptr) ((void) __sync_fetch_and_add(ptr, -1)) +#ifndef __cplusplus #define atomic_add(ptr, n) ((void) __sync_fetch_and_add(ptr, n)) #define atomic_sub(ptr, n) ((void) __sync_fetch_and_sub(ptr, n)) #define atomic_and(ptr, n) ((void) __sync_fetch_and_and(ptr, n)) #define atomic_or(ptr, n) ((void) __sync_fetch_and_or(ptr, n)) +#endif #define atomic_xor(ptr, n) ((void) __sync_fetch_and_xor(ptr, n)) #endif /* __ATOMIC_RELAXED */ Index: head/emulators/qemu/files/pcap-patch =================================================================== --- head/emulators/qemu/files/pcap-patch (revision 447329) +++ head/emulators/qemu/files/pcap-patch (revision 447330) @@ -1,38 +1,56 @@ ---- qapi-schema.json.orig 2016-12-20 13:16:49.000000000 -0700 -+++ qapi-schema.json 2017-03-05 08:45:39.490366000 -0700 -@@ -2543,6 +2543,10 @@ - ## - { 'command': 'netdev_del', 'data': {'id': 'str'} } +--- qapi-schema.json.orig 2017-07-24 12:07:10 UTC ++++ qapi-schema.json +@@ -3882,6 +3882,19 @@ + '*helper': 'str' } } + ## ++# @NetdevPcapOptions: ++# ++# Use ifname as a source to capture ++# ++# @ifname: #required to determine which interface to capture ++# ++# Since: 1.2 ++## +{ 'struct': 'NetdevPcapOptions', + 'data': { + '*ifname': 'str' } } + - ## - # @object-add: ++## + # @NetdevHubPortOptions: # -@@ -2966,7 +2970,7 @@ + # Connect two or more net clients through a software hub. +@@ -3944,7 +3957,7 @@ ## { 'enum': 'NetClientDriver', 'data': [ 'none', 'nic', 'user', 'tap', 'l2tpv3', 'socket', 'vde', 'dump', - 'bridge', 'hubport', 'netmap', 'vhost-user' ] } + 'bridge', 'hubport', 'netmap', 'vhost-user', 'pcap' ] } ## # @Netdev: -@@ -2989,6 +2993,7 @@ +@@ -3967,6 +3980,7 @@ 'nic': 'NetLegacyNicOptions', 'user': 'NetdevUserOptions', 'tap': 'NetdevTapOptions', + 'pcap': 'NetdevPcapOptions', 'l2tpv3': 'NetdevL2TPv3Options', 'socket': 'NetdevSocketOptions', 'vde': 'NetdevVdeOptions', -@@ -3033,6 +3038,7 @@ +@@ -4005,7 +4019,7 @@ + ## + { 'enum': 'NetLegacyOptionsType', + 'data': ['none', 'nic', 'user', 'tap', 'l2tpv3', 'socket', 'vde', +- 'dump', 'bridge', 'netmap', 'vhost-user'] } ++ 'dump', 'bridge', 'netmap', 'vhost-user', 'pcap' ] } + + ## + # @NetLegacyOptions: +@@ -4022,6 +4036,7 @@ 'nic': 'NetLegacyNicOptions', 'user': 'NetdevUserOptions', 'tap': 'NetdevTapOptions', -+ 'pcap': 'NetdevPcapOptions', ++ 'pcap': 'NetdevPcapOptions', 'l2tpv3': 'NetdevL2TPv3Options', 'socket': 'NetdevSocketOptions', 'vde': 'NetdevVdeOptions', Index: head/emulators/qemu/pkg-plist =================================================================== --- head/emulators/qemu/pkg-plist (revision 447329) +++ head/emulators/qemu/pkg-plist (revision 447330) @@ -1,134 +1,137 @@ bin/ivshmem-server bin/ivshmem-client bin/qemu-ga bin/qemu-i386 bin/qemu-img bin/qemu-io bin/qemu-nbd %%NO_X86_TARGETS%%bin/qemu-sparc %%NO_X86_TARGETS%%bin/qemu-sparc64 %%NO_X86_TARGETS%%bin/qemu-system-aarch64 %%NO_X86_TARGETS%%bin/qemu-system-alpha %%NO_X86_TARGETS%%bin/qemu-system-arm %%NO_X86_TARGETS%%bin/qemu-system-cris bin/qemu-system-i386 %%NO_X86_TARGETS%%bin/qemu-system-lm32 %%NO_X86_TARGETS%%bin/qemu-system-m68k %%NO_X86_TARGETS%%bin/qemu-system-microblaze %%NO_X86_TARGETS%%bin/qemu-system-microblazeel %%NO_X86_TARGETS%%bin/qemu-system-mips %%NO_X86_TARGETS%%bin/qemu-system-mips64 %%NO_X86_TARGETS%%bin/qemu-system-mips64el %%NO_X86_TARGETS%%bin/qemu-system-mipsel %%NO_X86_TARGETS%%bin/qemu-system-moxie -%%NO_X86_TARGETS%%bin/qemu-system-or32 +%%NO_X86_TARGETS%%bin/qemu-system-nios2 +%%NO_X86_TARGETS%%bin/qemu-system-or1k %%NO_X86_TARGETS%%bin/qemu-system-ppc %%NO_X86_TARGETS%%bin/qemu-system-ppc64 %%NO_X86_TARGETS%%bin/qemu-system-ppcemb %%NO_X86_TARGETS%%bin/qemu-system-s390x %%NO_X86_TARGETS%%bin/qemu-system-sh4 %%NO_X86_TARGETS%%bin/qemu-system-sh4eb %%NO_X86_TARGETS%%bin/qemu-system-sparc %%NO_X86_TARGETS%%bin/qemu-system-sparc64 %%NO_X86_TARGETS%%bin/qemu-system-tricore %%NO_X86_TARGETS%%bin/qemu-system-unicore32 bin/qemu-system-x86_64 %%NO_X86_TARGETS%%bin/qemu-system-xtensa %%NO_X86_TARGETS%%bin/qemu-system-xtensaeb bin/qemu-x86_64 man/man1/qemu.1.gz man/man1/qemu-img.1.gz +man/man7/qemu-ga-ref.7.gz +man/man7/qemu-qmp-ref.7.gz man/man8/qemu-ga.8.gz man/man8/qemu-nbd.8.gz @sample etc/qemu-ifup.sample @sample etc/qemu-ifdown.sample %%DATADIR%%/QEMU,tcx.bin %%DATADIR%%/QEMU,cgthree.bin %%DATADIR%%/acpi-dsdt.aml %%DATADIR%%/bios-256k.bin %%DATADIR%%/bios.bin %%DATADIR%%/efi-e1000.rom %%DATADIR%%/efi-e1000e.rom %%DATADIR%%/efi-eepro100.rom %%DATADIR%%/efi-ne2k_pci.rom %%DATADIR%%/efi-pcnet.rom %%DATADIR%%/efi-rtl8139.rom %%DATADIR%%/efi-virtio.rom %%DATADIR%%/efi-vmxnet3.rom %%DATADIR%%/vgabios.bin %%DATADIR%%/vgabios-cirrus.bin %%DATADIR%%/vgabios-qxl.bin %%DATADIR%%/vgabios-stdvga.bin %%DATADIR%%/vgabios-virtio.bin %%DATADIR%%/vgabios-vmware.bin %%DATADIR%%/palcode-clipper %%DATADIR%%/ppc_rom.bin %%DATADIR%%/openbios-ppc %%DATADIR%%/openbios-sparc32 %%DATADIR%%/openbios-sparc64 %%DATADIR%%/pxe-e1000.rom %%DATADIR%%/pxe-eepro100.rom %%DATADIR%%/pxe-ne2k_pci.rom %%DATADIR%%/pxe-rtl8139.rom %%DATADIR%%/pxe-pcnet.rom %%DATADIR%%/pxe-virtio.rom %%DATADIR%%/petalogix-ml605.dtb %%DATADIR%%/spapr-rtas.bin %%DATADIR%%/slof.bin %%DATADIR%%/s390-ccw.img %%DATADIR%%/linuxboot.bin %%LINUXBOOT_DMA%%%%DATADIR%%/linuxboot_dma.bin %%DATADIR%%/multiboot.bin %%DATADIR%%/sgabios.bin %%DATADIR%%/skiboot.lid %%DATADIR%%/trace-events-all %%DATADIR%%/petalogix-s3adsp1800.dtb %%DATADIR%%/bamboo.dtb %%DATADIR%%/kvmvapic.bin %%DATADIR%%/qemu-icon.bmp %%DATADIR%%/qemu_logo_no_text.svg %%DATADIR%%/u-boot.e500 %%DATADIR%%/keymaps/ar %%DATADIR%%/keymaps/bepo %%DATADIR%%/keymaps/common %%DATADIR%%/keymaps/cz %%DATADIR%%/keymaps/da %%DATADIR%%/keymaps/de %%DATADIR%%/keymaps/de-ch %%DATADIR%%/keymaps/en-gb %%DATADIR%%/keymaps/en-us %%DATADIR%%/keymaps/es %%DATADIR%%/keymaps/et %%DATADIR%%/keymaps/fi %%DATADIR%%/keymaps/fo %%DATADIR%%/keymaps/fr %%DATADIR%%/keymaps/fr-be %%DATADIR%%/keymaps/fr-ca %%DATADIR%%/keymaps/fr-ch %%DATADIR%%/keymaps/hr %%DATADIR%%/keymaps/hu %%DATADIR%%/keymaps/is %%DATADIR%%/keymaps/it %%DATADIR%%/keymaps/ja %%DATADIR%%/keymaps/lt %%DATADIR%%/keymaps/lv %%DATADIR%%/keymaps/mk %%DATADIR%%/keymaps/modifiers %%DATADIR%%/keymaps/nl %%DATADIR%%/keymaps/nl-be %%DATADIR%%/keymaps/no %%DATADIR%%/keymaps/pl %%DATADIR%%/keymaps/pt %%DATADIR%%/keymaps/pt-br %%DATADIR%%/keymaps/ru %%DATADIR%%/keymaps/sl %%DATADIR%%/keymaps/sv %%DATADIR%%/keymaps/th %%DATADIR%%/keymaps/tr %%GTK2%%share/locale/bg/LC_MESSAGES/qemu.mo %%GTK2%%share/locale/de_DE/LC_MESSAGES/qemu.mo %%GTK2%%share/locale/fr_FR/LC_MESSAGES/qemu.mo %%GTK2%%share/locale/it/LC_MESSAGES/qemu.mo %%GTK2%%share/locale/hu/LC_MESSAGES/qemu.mo %%GTK2%%share/locale/tr/LC_MESSAGES/qemu.mo %%GTK2%%share/locale/zh_CN/LC_MESSAGES/qemu.mo