diff options
author | Rene Ladan <rene@FreeBSD.org> | 2022-01-10 09:00:56 +0000 |
---|---|---|
committer | Rene Ladan <rene@FreeBSD.org> | 2022-01-10 09:00:56 +0000 |
commit | ff8ff0d5da0f46e60fc9b6e0758e5e7be0194fa1 (patch) | |
tree | 6d2ba29674682a3e1f8949f69ef59e3d7a47483b | |
parent | 9a3820f06b1be9b69f93c74b0af8c686081694b6 (diff) | |
download | ports-ff8ff0d.tar.gz ports-ff8ff0d.zip |
cleanup: Remove expired ports:
2022-01-10 emulators/qemu-utils: Use emulators/qemu or emulators/qemu-devel
2022-01-10 emulators/qemu42: Use emulators/qemu or emulators/qemu-devel
24 files changed, 2 insertions, 1427 deletions
@@ -16759,3 +16759,5 @@ astro/google-earth||2022-01-01|Has expired: Needs newer version to connect to se net/tramp||2022-01-01|Has expired: Not updated in 5 years and now part of Emacs archivers/p7zip-codec-rar||2022-01-01|Has expired: Unmaintained for years and has known vulnerabilities textproc/askgit|textproc/mergestat|2022-01-03|Project renamed +emulators/qemu-utils||2022-01-10|Has expired: Use emulators/qemu or emulators/qemu-devel +emulators/qemu42||2022-01-10|Has expired: Use emulators/qemu or emulators/qemu-devel diff --git a/emulators/Makefile b/emulators/Makefile index a5926fd975fc..0575b24bfe1e 100644 --- a/emulators/Makefile +++ b/emulators/Makefile @@ -108,8 +108,6 @@ SUBDIR += qemu-powernv SUBDIR += qemu-user-static SUBDIR += qemu-user-static-devel - SUBDIR += qemu-utils - SUBDIR += qemu42 SUBDIR += qemu5 SUBDIR += qmc2 SUBDIR += quasi88 diff --git a/emulators/qemu-utils/Makefile b/emulators/qemu-utils/Makefile deleted file mode 100644 index f86f6dd9008c..000000000000 --- a/emulators/qemu-utils/Makefile +++ /dev/null @@ -1,91 +0,0 @@ -PKGNAMESUFFIX= -utils - -MAINTAINER= ken@FreeBSD.org -COMMENT= QEMU userland utilities - -DEPRECATED?= Use emulators/qemu@tools -EXPIRATION_DATE?=2022-01-09 - -HAS_CONFIGURE= yes -USES= compiler:c11 cpe gettext-runtime gmake gnome perl5 pkgconfig \ - python:build tar:xz -USE_GNOME+= glib20 -MAKE_ENV+= BSD_MAKE="${MAKE}" PREFIX=${PREFIX} -CONFLICTS_INSTALL= qemu qemu-devel qemu-sbruno - -OPTIONS_SLAVE= DOCS -OPTIONS_EXCLUDE= SAMBA X11 GTK3 OPENGL GNUTLS SASL JPEG PNG CURL \ - CDROM_DMA PCAP USBREDIR GNS3 X86_TARGETS \ - STATIC_LINK NCURSES VDE -MASTERDIR= ${.CURDIR}/../qemu42 -PLIST= ${.CURDIR}/pkg-plist -DESCR= ${.CURDIR}/pkg-descr -EXTRA_PATCHES= ${.CURDIR}/files/patch-configure -PKGMESSAGE= - -PORTDOCS= interop/* specs/* - -CONFIGURE_ARGS?=--localstatedir=/var --extra-ldflags=-L\"${LOCALBASE}/lib\" \ - --mandir=${MANPREFIX}/man \ - --prefix=${PREFIX} --cc=${CC} --disable-kvm \ - --disable-linux-user --disable-linux-aio --disable-xen \ - --python=${PYTHON_CMD} \ - --extra-cflags=-I${WRKSRC}\ -I${LOCALBASE}/include\ -DPREFIX=\\\"\"${PREFIX}\\\"\" \ - --disable-curl \ - --disable-gnutls \ - --disable-gtk \ - --disable-vte \ - --disable-vnc-jpeg \ - --disable-opengl \ - --disable-usb-redir \ - --disable-sdl \ - --disable-system \ - --disable-user \ - --disable-guest-agent \ - --disable-nettle \ - --disable-gcrypt \ - --disable-curses \ - --disable-vnc \ - --disable-virtfs \ - --disable-brlapi \ - --disable-fdt \ - --disable-bluez \ - --disable-kvm \ - --disable-rdma \ - --disable-vde \ - --disable-netmap \ - --disable-cap-ng \ - --disable-attr \ - --disable-vhost-net \ - --disable-spice \ - --disable-rbd \ - --disable-libiscsi \ - --disable-libnfs \ - --disable-smartcard \ - --disable-libusb \ - --disable-usb-redir \ - --disable-lzo \ - --disable-snappy \ - --disable-bzip2 \ - --disable-seccomp \ - --disable-coroutine-pool \ - --disable-glusterfs \ - --disable-tpm \ - --disable-numa \ - --disable-blobs - -LIB_DEPENDS= - -# qemu-utils must patch Makefile during pre-configure, because the master port -# also patches Makefile. We can't use EXTRA_PATCHES, because that happens -# before do-patch, and causes a conflict with the master port's patch. And we -# can't use post-patch, because the master port also defines that target. -pre-configure: - ${PATCH} ${WRKSRC}/Makefile ${.CURDIR}/files/patch-Makefile - -post-install: - @${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/qemu-* - @${RMDIR} ${STAGEDIR}${DATADIR} - @${RM} -rf ${STAGEDIR}${PREFIX}/share - -.include "${MASTERDIR}/Makefile" diff --git a/emulators/qemu-utils/files/patch-Makefile b/emulators/qemu-utils/files/patch-Makefile deleted file mode 100644 index 3890728f9992..000000000000 --- a/emulators/qemu-utils/files/patch-Makefile +++ /dev/null @@ -1,47 +0,0 @@ ---- Makefile.orig 2020-09-18 12:03:57 UTC -+++ Makefile -@@ -344,14 +344,11 @@ endif - ifdef BUILD_DOCS - ifdef NOPORTDOCS - DOCS=qemu.1 qemu-img.1 qemu-nbd.8 $(MANUAL_BUILDDIR)/interop/qemu-ga.8 --DOCS+=docs/interop/qemu-qmp-ref.7 docs/interop/qemu-ga-ref.7 -+DOCS+=docs/interop/qemu-ga-ref.7 - else - DOCS=qemu-doc.html qemu-doc.txt qemu.1 qemu-img.1 qemu-nbd.8 $(MANUAL_BUILDDIR)/interop/qemu-ga.8 --DOCS+=docs/interop/qemu-qmp-ref.html docs/interop/qemu-qmp-ref.txt docs/interop/qemu-qmp-ref.7 - DOCS+=docs/interop/qemu-ga-ref.html docs/interop/qemu-ga-ref.txt docs/interop/qemu-ga-ref.7 - endif --DOCS+=docs/qemu-block-drivers.7 --DOCS+=docs/qemu-cpu-models.7 - ifdef CONFIG_VIRTFS - DOCS+=fsdev/virtfs-proxy-helper.1 - endif -@@ -828,16 +825,10 @@ ifndef NOPORTDOCS - $(INSTALL_DIR) "$(DESTDIR)$(qemu_docdir)" - $(INSTALL_DATA) qemu-doc.html "$(DESTDIR)$(qemu_docdir)" - $(INSTALL_DATA) qemu-doc.txt "$(DESTDIR)$(qemu_docdir)" -- $(INSTALL_DATA) docs/interop/qemu-qmp-ref.html "$(DESTDIR)$(qemu_docdir)" -- $(INSTALL_DATA) docs/interop/qemu-qmp-ref.txt "$(DESTDIR)$(qemu_docdir)" - endif - ifdef CONFIG_POSIX - $(INSTALL_DIR) "$(DESTDIR)$(mandir)/man1" - $(INSTALL_DATA) qemu.1 "$(DESTDIR)$(mandir)/man1" -- $(INSTALL_DIR) "$(DESTDIR)$(mandir)/man7" -- $(INSTALL_DATA) docs/interop/qemu-qmp-ref.7 "$(DESTDIR)$(mandir)/man7" -- $(INSTALL_DATA) docs/qemu-block-drivers.7 "$(DESTDIR)$(mandir)/man7" -- $(INSTALL_DATA) docs/qemu-cpu-models.7 "$(DESTDIR)$(mandir)/man7" - ifeq ($(CONFIG_TOOLS),y) - $(INSTALL_DATA) qemu-img.1 "$(DESTDIR)$(mandir)/man1" - $(INSTALL_DIR) "$(DESTDIR)$(mandir)/man8" -@@ -942,11 +933,6 @@ endif - ifeq ($(CONFIG_PLUGIN),y) - $(INSTALL_DATA) $(SRC_PATH)/include/qemu/qemu-plugin.h "$(DESTDIR)$(includedir)/qemu-plugin.h" - endif -- $(INSTALL_DIR) "$(DESTDIR)$(qemu_datadir)/keymaps" -- set -e; for x in $(KEYMAPS); do \ -- $(INSTALL_DATA) $(SRC_PATH)/pc-bios/keymaps/$$x "$(DESTDIR)$(qemu_datadir)/keymaps"; \ -- done -- $(INSTALL_DATA) $(BUILD_DIR)/trace-events-all "$(DESTDIR)$(qemu_datadir)/trace-events-all" - - .PHONY: ctags - ctags: diff --git a/emulators/qemu-utils/files/patch-configure b/emulators/qemu-utils/files/patch-configure deleted file mode 100644 index a4ffd8f03a38..000000000000 --- a/emulators/qemu-utils/files/patch-configure +++ /dev/null @@ -1,21 +0,0 @@ ---- configure.orig 2018-04-24 16:30:46 UTC -+++ configure -@@ -3452,7 +3452,7 @@ fi - ########################################## - # pixman support probe - --if test "$want_tools" = "no" && test "$softmmu" = "no"; then -+if test "$softmmu" = "no"; then - pixman_cflags= - pixman_libs= - elif $pkg_config --atleast-version=0.21.8 pixman-1 > /dev/null 2>&1; then -@@ -5498,9 +5498,6 @@ if test "$want_tools" = "yes" ; then - tools="qemu-img\$(EXESUF) qemu-io\$(EXESUF) $tools" - if [ "$linux" = "yes" -o "$bsd" = "yes" -o "$solaris" = "yes" ] ; then - tools="qemu-nbd\$(EXESUF) $tools" -- fi -- if [ "$ivshmem" = "yes" ]; then -- tools="ivshmem-client\$(EXESUF) ivshmem-server\$(EXESUF) $tools" - fi - fi - if test "$softmmu" = yes ; then diff --git a/emulators/qemu-utils/pkg-descr b/emulators/qemu-utils/pkg-descr deleted file mode 100644 index f1914609c286..000000000000 --- a/emulators/qemu-utils/pkg-descr +++ /dev/null @@ -1,7 +0,0 @@ -Miscellaneous tools that can be used without the rest of QEMU - -* qemu-img: QEMU disk image utility -* qemu-io: QEMU disk exerciser -* qemu-nbd: QEMU disk network block device server - -WWW: http://wiki.qemu.org/Main_Page diff --git a/emulators/qemu-utils/pkg-plist b/emulators/qemu-utils/pkg-plist deleted file mode 100644 index fa481bcfe95d..000000000000 --- a/emulators/qemu-utils/pkg-plist +++ /dev/null @@ -1,7 +0,0 @@ -bin/qemu-edid -bin/qemu-img -bin/qemu-io -bin/qemu-nbd -man/man1/qemu-img.1.gz -man/man1/qemu.1.gz -man/man8/qemu-nbd.8.gz diff --git a/emulators/qemu42/Makefile b/emulators/qemu42/Makefile deleted file mode 100644 index 115a7f874528..000000000000 --- a/emulators/qemu42/Makefile +++ /dev/null @@ -1,180 +0,0 @@ -# Created by: Juergen Lock <nox@jelal.kn-bremen.de> - -PORTNAME= qemu -PORTVERSION= 4.2.1 -PORTREVISION= 1 -CATEGORIES= emulators -MASTER_SITES= https://download.qemu.org/ -PKGNAMESUFFIX?= 42 -DIST_SUBDIR= qemu/${PORTVERSION} - -MAINTAINER?= bofh@FreeBSD.org -COMMENT?= QEMU CPU Emulator - 4.2.X branch - -LICENSE= GPLv2 - -DEPRECATED= Use emulators/qemu or emulators/qemu-devel -EXPIRATION_DATE=2022-01-10 - -BUILD_DEPENDS= sphinx-build:textproc/py-sphinx@${PY_FLAVOR} -LIB_DEPENDS?= libepoxy.so:graphics/libepoxy \ - libfdt.so:sysutils/dtc \ - libfontconfig.so:x11-fonts/fontconfig \ - libfreetype.so:print/freetype2 \ - libnettle.so:security/nettle \ - libpcre2-8.so:devel/pcre2 - -.if !defined(PKGNAMESUFFIX) || (${PKGNAMESUFFIX} != "-utils" && ${PKGNAMESUFFIX} != "-guest-agent") -ONLY_FOR_ARCHS= amd64 i386 powerpc powerpc64 powerpc64le -USES= bison compiler:c11 cpe gmake gnome iconv:wchar_t perl5 \ - pkgconfig python:build tar:xz xorg -USE_XORG= pixman -USE_GNOME= cairo glib20 libxml2 -.endif - -USE_PERL5= build - -PORTSCOUT= limit:^4\.2\. - -HAS_CONFIGURE= yes -MAKE_ENV+= BSD_MAKE="${MAKE}" V=1 - -OPTIONS_DEFINE= SAMBA X11 GTK3 OPENGL GNUTLS SASL JPEG PNG CURL \ - VDE CDROM_DMA PCAP USBREDIR X86_TARGETS \ - STATIC_LINK DOCS ISCSI CAPSTONE DEBUG -OPTIONS_SINGLE= NCURSES -OPTIONS_SINGLE_NCURSES= NCURSES_DEFAULT NCURSES_BASE NCURSES_PORT -CAPSTONE_DESC= Disassembly framework support -CDROM_DMA_DESC= IDE CDROM DMA -GNUTLS_DESC= gnutls dependency (vnc encryption) -ISCSI_DESC= libiscsi dependency (iSCSI client for emulated drives) -JPEG_DESC= jpeg dependency (vnc lossy compression) -NCURSES_DEFAULT_DESC= Depend on ncurses (ports if installed, otherwise base) -NCURSES_BASE_DESC= Depend on ncurses in base -NCURSES_PORT_DESC= Depend on devel/ncurses in ports -PCAP_DESC= pcap dependency (networking with bpf) -PNG_DESC= png dependency (vnc compression) -SAMBA_DESC= samba dependency (for -smb) -SASL_DESC= cyrus-sasl dependency (vnc encryption) -STATIC_LINK_DESC= Statically link the executables -USBREDIR_DESC= usb device network redirection (experimental!) -VDE_DESC= vde dependency (for vde networking) -X86_TARGETS_DESC= Build only x86 system targets -OPTIONS_DEFAULT=X11 GTK3 OPENGL GNUTLS SASL JPEG PNG CDROM_DMA CURL PCAP NCURSES_DEFAULT VDE -OPTIONS_SUB= yes -CAPSTONE_CONFIGURE_ON= --enable-capstone=system --extra-cflags=-I${LOCALBASE}/include/capstone -CAPSTONE_CONFIGURE_OFF= --disable-capstone -CAPSTONE_LIB_DEPENDS= libcapstone.so:devel/capstone4 -CURL_CONFIGURE_OFF= --disable-curl -CURL_LIB_DEPENDS= libcurl.so:ftp/curl -DEBUG_CONFIGURE_ON= --enable-debug --enable-debug-info -DEBUG_CONFIGURE_OFF= --disable-debug-info -DOCS_BUILD_DEPENDS= texi2html:textproc/texi2html -DOCS_MAKE_ARGS_OFF= NOPORTDOCS=1 -DOCS_USES= makeinfo -GNUTLS_CONFIGURE_OFF= --disable-gnutls -GNUTLS_LIB_DEPENDS= libgnutls.so:security/gnutls -GTK3_CONFIGURE_OFF= --disable-gtk --disable-vte -GTK3_LIB_DEPENDS= libxkbcommon.so:x11/libxkbcommon -GTK3_USE= GNOME=gdkpixbuf2,gtk30,vte3 XORG=x11,xext -GTK3_USES= gettext gl -ISCSI_LIB_DEPENDS= libiscsi.so:net/libiscsi -ISCSI_CONFIGURE_OFF= --disable-libiscsi -JPEG_CONFIGURE_OFF= --disable-vnc-jpeg -JPEG_USES= jpeg -NCURSES_DEFAULT_USES= ncurses -NCURSES_BASE_USES= ncurses:base -NCURSES_PORT_USES= ncurses:port -OPENGL_CONFIGURE_OFF= --disable-opengl -OPENGL_USE= GL=gl -OPENGL_USES= gl -PCAP_CONFIGURE_ON= --enable-pcap -PCAP_EXTRA_PATCHES= ${FILESDIR}/pcap-patch-qapi_net.json ${FILESDIR}/pcap-patch-net_net.c \ - ${FILESDIR}/pcap-patch-net_clients.h -PNG_CONFIGURE_OFF= --disable-vnc-png -PNG_LIB_DEPENDS= libpng.so:graphics/png -SAMBA_CONFIGURE_ON= --smbd=${LOCALBASE}/sbin/smbd -SAMBA_USES= samba:run # smbd -SASL_CONFIGURE_OFF= --disable-vnc-sasl -SASL_LIB_DEPENDS= libsasl2.so:security/cyrus-sasl2 -STATIC_LINK_CONFIGURE_ON= --static -STATIC_LINK_PREVENTS= GTK3 X11 -STATIC_LINK_PREVENTS_MSG= X11 ui cannot be built static -USBREDIR_BUILD_DEPENDS= usbredir>=0.6:net/usbredir -USBREDIR_CONFIGURE_OFF= --disable-usb-redir -USBREDIR_RUN_DEPENDS= usbredir>=0.6:net/usbredir -VDE_CONFIGURE_OFF= --disable-vde -VDE_LIB_DEPENDS= libvdeplug.so:net/vde2 -X11_CONFIGURE_ENABLE= sdl -X11_USE= SDL=sdl2 XORG=x11,xext GNOME=gdkpixbuf2 -X11_USES= sdl -.if !defined(PKGNAMESUFFIX) || (${PKGNAMESUFFIX} != "-utils" && ${PKGNAMESUFFIX} != "-guest-agent") -X86_TARGETS_LIB_DEPENDS_OFF= libharfbuzz.so:print/harfbuzz -X86_TARGETS_USE_OFF= GL=gbm XORG=pixman,x11 -X86_TARGETS_USES_OFF= xorg -.endif - -PORTDOCS?= docs interop/.buildinfo interop/* qemu-doc.html qemu-doc.txt qemu-ga-ref.html qemu-ga-ref.txt \ - qemu-qmp-ref.html qemu-qmp-ref.txt specs/.buildinfo specs/* - -WITHOUT_CPU_CFLAGS=yes #to avoid problems with register allocation -CFLAGS:= ${CFLAGS:C/-fno-tree-vrp//} -CFLAGS_powerpc= -D_CALL_SYSV -CONFIGURE_ARGS?=--localstatedir=/var --extra-ldflags=-L\"/usr/lib\" \ - --extra-ldflags=-L\"${LOCALBASE}/lib\" --disable-libssh \ - --prefix=${PREFIX} --cc=${CC} --enable-netmap --enable-docs --disable-kvm \ - --disable-linux-user --disable-linux-aio --disable-xen \ - --python=${PYTHON_CMD} \ - --extra-cflags=-I${WRKSRC}\ -I${LOCALBASE}/include\ -DPREFIX=\\\"\"${PREFIX}\\\"\" - -.include <bsd.port.options.mk> - -.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 - -.if ${OPSYS} == FreeBSD && ${OSVERSION} >= 1300000 -PLIST_SUB+= IVSHMEM="" -.else -PLIST_SUB+= IVSHMEM="@comment " -.endif - -PLIST_SUB+= LINUXBOOT_DMA="" - -post-patch-CDROM_DMA-off: - @${REINPLACE_CMD} -e '/USE_DMA_CDROM/d' ${WRKSRC}/include/hw/ide/internal.h - -# 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-* - -post-install-DOCS-on: - @(cd ${WRKSRC} && ${COPYTREE_SHARE} docs ${STAGEDIR}${DOCSDIR}/) -.endif - -.include <bsd.port.mk> diff --git a/emulators/qemu42/distinfo b/emulators/qemu42/distinfo deleted file mode 100644 index e728598d2052..000000000000 --- a/emulators/qemu42/distinfo +++ /dev/null @@ -1,3 +0,0 @@ -TIMESTAMP = 1594330010 -SHA256 (qemu/4.2.1/qemu-4.2.1.tar.xz) = 7e331163b72e7bcf63bd35cb85cba87b48d12fab3f264b94c23f7d3991094207 -SIZE (qemu/4.2.1/qemu-4.2.1.tar.xz) = 62225124 diff --git a/emulators/qemu42/files/patch-Makefile b/emulators/qemu42/files/patch-Makefile deleted file mode 100644 index 909ac1e5beb7..000000000000 --- a/emulators/qemu42/files/patch-Makefile +++ /dev/null @@ -1,42 +0,0 @@ ---- Makefile.orig 2019-12-12 18:20:47 UTC -+++ Makefile -@@ -342,9 +342,14 @@ MANUAL_BUILDDIR := docs - endif - - ifdef BUILD_DOCS -+ifdef NOPORTDOCS -+DOCS=qemu.1 qemu-img.1 qemu-nbd.8 $(MANUAL_BUILDDIR)/interop/qemu-ga.8 -+DOCS+=docs/interop/qemu-qmp-ref.7 docs/interop/qemu-ga-ref.7 -+else - DOCS=qemu-doc.html qemu-doc.txt qemu.1 qemu-img.1 qemu-nbd.8 $(MANUAL_BUILDDIR)/interop/qemu-ga.8 - DOCS+=docs/interop/qemu-qmp-ref.html docs/interop/qemu-qmp-ref.txt docs/interop/qemu-qmp-ref.7 - DOCS+=docs/interop/qemu-ga-ref.html docs/interop/qemu-ga-ref.txt docs/interop/qemu-ga-ref.7 -+endif - DOCS+=docs/qemu-block-drivers.7 - DOCS+=docs/qemu-cpu-models.7 - ifdef CONFIG_VIRTFS -@@ -819,11 +824,13 @@ install-sphinxdocs: sphinxdocs - $(call install-manual,specs) - - install-doc: $(DOCS) install-sphinxdocs -+ifndef NOPORTDOCS - $(INSTALL_DIR) "$(DESTDIR)$(qemu_docdir)" - $(INSTALL_DATA) qemu-doc.html "$(DESTDIR)$(qemu_docdir)" - $(INSTALL_DATA) qemu-doc.txt "$(DESTDIR)$(qemu_docdir)" - $(INSTALL_DATA) docs/interop/qemu-qmp-ref.html "$(DESTDIR)$(qemu_docdir)" - $(INSTALL_DATA) docs/interop/qemu-qmp-ref.txt "$(DESTDIR)$(qemu_docdir)" -+endif - ifdef CONFIG_POSIX - $(INSTALL_DIR) "$(DESTDIR)$(mandir)/man1" - $(INSTALL_DATA) qemu.1 "$(DESTDIR)$(mandir)/man1" -@@ -841,8 +848,10 @@ ifdef CONFIG_TRACE_SYSTEMTAP - endif - ifneq (,$(findstring qemu-ga,$(TOOLS))) - $(INSTALL_DATA) $(MANUAL_BUILDDIR)/interop/qemu-ga.8 "$(DESTDIR)$(mandir)/man8" -+ifndef NOPORTDOCS - $(INSTALL_DATA) docs/interop/qemu-ga-ref.html "$(DESTDIR)$(qemu_docdir)" - $(INSTALL_DATA) docs/interop/qemu-ga-ref.txt "$(DESTDIR)$(qemu_docdir)" -+endif - $(INSTALL_DATA) docs/interop/qemu-ga-ref.7 "$(DESTDIR)$(mandir)/man7" - endif - endif diff --git a/emulators/qemu42/files/patch-configure b/emulators/qemu42/files/patch-configure deleted file mode 100644 index d62730814b28..000000000000 --- a/emulators/qemu42/files/patch-configure +++ /dev/null @@ -1,213 +0,0 @@ ---- configure.orig 2019-12-12 18:20:47 UTC -+++ configure -@@ -405,7 +405,7 @@ DSOSUF=".so" - LDFLAGS_SHARED="-shared" - modules="no" - prefix="/usr/local" --mandir="\${prefix}/share/man" -+mandir="\${prefix}/man" - datadir="\${prefix}/share" - firmwarepath="\${prefix}/share/qemu-firmware" - qemu_docdir="\${prefix}/share/doc/qemu" -@@ -489,6 +489,9 @@ numa="" - tcmalloc="no" - jemalloc="no" - replication="yes" -+pcap="no" -+pcap_create="no" -+bpf="no" - vxhs="" - bochs="yes" - cloop="yes" -@@ -1125,6 +1128,10 @@ for opt do - ;; - --enable-vnc-png) vnc_png="yes" - ;; -+ --enable-pcap) pcap="yes" -+ ;; -+ --disable-pcap) pcap="no" -+ ;; - --disable-slirp) slirp="no" - ;; - --enable-slirp=git) slirp="git" -@@ -3023,6 +3030,14 @@ if ! check_include "ifaddrs.h" ; then - 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 -@@ -3710,7 +3725,7 @@ for i in $glib_modules; do - glib_libs=$($pkg_config --libs $i) - QEMU_CFLAGS="$glib_cflags $QEMU_CFLAGS" - LIBS="$glib_libs $LIBS" -- libs_qga="$glib_libs $libs_qga" -+ libs_qga="$glib_libs -lintl $libs_qga" - else - error_exit "glib-$glib_req_ver $i is required to compile QEMU" - fi -@@ -4802,11 +4817,6 @@ has_sphinx_build() { - if test "$docs" != "no" ; then - if has makeinfo && has pod2man && has_sphinx_build; then - docs=yes -- else -- if test "$docs" = "yes" ; then -- feature_not_found "docs" "Install texinfo, Perl/perl-podlators and python-sphinx" -- fi -- docs=no - fi - fi - -@@ -4940,7 +4950,7 @@ fi - - # check for libusb - if test "$libusb" != "no" ; then -- if $pkg_config --atleast-version=1.0.13 libusb-1.0; then -+ if $pkg_config libusb-1.0; then - libusb="yes" - libusb_cflags=$($pkg_config --cflags libusb-1.0) - libusb_libs=$($pkg_config --libs libusb-1.0) -@@ -5330,7 +5340,51 @@ if test "$debug_stack_usage" = "yes"; then - fi - fi - -+########################################## -+# pcap probe - -+if test "$pcap" = "yes" -a "$pcap" != "no"; then -+ cat > $TMPC << EOF -+#include <pcap.h> -+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 <pcap.h> -+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 <pcap.h> -+#include <net/bpf.h> -+int main(void) { return (BPF_MAJOR_VERSION); } -+EOF -+ if compile_prog ; then -+ bpf="yes" -+ fi -+ libs_softmmu="$libpcap $libs_softmmu" -+fi # test "$pcap" -+ - ########################################## - # check if we have open_by_handle_at - -@@ -6352,27 +6406,30 @@ if ( [ "$linux_user" = yes ] || [ "$bsd_user" = yes ] - cat > $TMPC <<EOF - int main(void) { return 0; } - EOF -- textseg_ldflags="-Wl,-Ttext-segment=$textseg_addr" -+ textseg_ldflags="-Wl,--image-base=$textseg_addr" - if ! compile_prog "" "$textseg_ldflags"; then -- # In case ld does not support -Ttext-segment, edit the default linker -- # script via sed to set the .text start addr. This is needed on FreeBSD -- # at least. -- if ! $ld --verbose >/dev/null 2>&1; then -- error_exit \ -- "We need to link the QEMU user mode binaries at a" \ -- "specific text address. Unfortunately your linker" \ -- "doesn't support either the -Ttext-segment option or" \ -- "printing the default linker script with --verbose." \ -- "If you don't want the user mode binaries, pass the" \ -- "--disable-user option to configure." -- fi -+ textseg_ldflags="-Wl,-Ttext-segment=$textseg_addr" -+ if ! compile_prog "" "$textseg_ldflags"; then -+ # In case ld does not support -Ttext-segment, edit the default linker -+ # script via sed to set the .text start addr. This is needed on FreeBSD -+ # at least. -+ if ! $ld --verbose >/dev/null 2>&1; then -+ error_exit \ -+ "We need to link the QEMU user mode binaries at a" \ -+ "specific text address. Unfortunately your linker" \ -+ "doesn't support either the -Ttext-segment option or" \ -+ "printing the default linker script with --verbose." \ -+ "If you don't want the user mode binaries, pass the" \ -+ "--disable-user option to configure." -+ fi - -- $ld --verbose | sed \ -- -e '1,/==================================================/d' \ -- -e '/==================================================/,$d' \ -- -e "s/[.] = [0-9a-fx]* [+] SIZEOF_HEADERS/. = $textseg_addr + SIZEOF_HEADERS/" \ -- -e "s/__executable_start = [0-9a-fx]*/__executable_start = $textseg_addr/" > config-host.ld -- textseg_ldflags="-Wl,-T../config-host.ld" -+ $ld --verbose | sed \ -+ -e '1,/==================================================/d' \ -+ -e '/==================================================/,$d' \ -+ -e "s/[.] = [0-9a-fx]* [+] SIZEOF_HEADERS/. = $textseg_addr + SIZEOF_HEADERS/" \ -+ -e "s/__executable_start = [0-9a-fx]*/__executable_start = $textseg_addr/" > config-host.ld -+ textseg_ldflags="-Wl,-T../config-host.ld" -+ fi - fi - fi - fi -@@ -6497,6 +6554,7 @@ echo "Audio drivers $audio_drv_list" - 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 "Multipath support $mpath" - echo "VNC support $vnc" - if test "$vnc" = "yes" ; then -@@ -6739,6 +6797,15 @@ fi - if test "$want_tools" = "yes" ; then - echo "CONFIG_TOOLS=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" != "no"; then - echo "CONFIG_SLIRP=y" >> $config_host_mak - echo "CONFIG_SMBD_COMMAND=\"$smbd\"" >> $config_host_mak -@@ -6986,6 +7053,9 @@ fi - # if this macro is set. - 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 "$have_copy_file_range" = "yes" ; then - echo "HAVE_COPY_FILE_RANGE=y" >> $config_host_mak diff --git a/emulators/qemu42/files/patch-disas_libvixl_vixl_a64_disasm-a64.cc b/emulators/qemu42/files/patch-disas_libvixl_vixl_a64_disasm-a64.cc deleted file mode 100644 index 546595845c62..000000000000 --- a/emulators/qemu42/files/patch-disas_libvixl_vixl_a64_disasm-a64.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- disas/libvixl/vixl/a64/disasm-a64.cc.orig 2019-04-23 18:14:45 UTC -+++ disas/libvixl/vixl/a64/disasm-a64.cc -@@ -2693,7 +2693,7 @@ void Disassembler::AppendPCRelativeOffsetToOutput(cons - if (offset < 0) { - abs_offset = -abs_offset; - } -- AppendToOutput("#%c0x%" PRIx64, sign, abs_offset); -+ AppendToOutput("#%c0x%" PRIx64, sign, offset < 0 ? -offset : offset); - } - - diff --git a/emulators/qemu42/files/patch-include_net_net.h b/emulators/qemu42/files/patch-include_net_net.h deleted file mode 100644 index 0fc50e52c6ce..000000000000 --- a/emulators/qemu42/files/patch-include_net_net.h +++ /dev/null @@ -1,13 +0,0 @@ ---- include/net/net.h.orig 2020-06-25 18:12:17 UTC -+++ include/net/net.h -@@ -208,8 +208,8 @@ void qmp_netdev_add(QDict *qdict, QObject **ret, Error - int net_hub_id_for_client(NetClientState *nc, int *id); - NetClientState *net_hub_port_find(int hub_id); - --#define DEFAULT_NETWORK_SCRIPT "/etc/qemu-ifup" --#define DEFAULT_NETWORK_DOWN_SCRIPT "/etc/qemu-ifdown" -+#define DEFAULT_NETWORK_SCRIPT PREFIX "/etc/qemu-ifup" -+#define DEFAULT_NETWORK_DOWN_SCRIPT PREFIX "/etc/qemu-ifdown" - #define DEFAULT_BRIDGE_HELPER CONFIG_QEMU_HELPERDIR "/qemu-bridge-helper" - #define DEFAULT_BRIDGE_INTERFACE "br0" - diff --git a/emulators/qemu42/files/patch-include_qemu_atomic.h b/emulators/qemu42/files/patch-include_qemu_atomic.h deleted file mode 100644 index 1885cef97c57..000000000000 --- a/emulators/qemu42/files/patch-include_qemu_atomic.h +++ /dev/null @@ -1,54 +0,0 @@ ---- include/qemu/atomic.h.orig 2020-06-25 18:12:17 UTC -+++ include/qemu/atomic.h -@@ -208,10 +208,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) -@@ -225,10 +227,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 */ -@@ -400,10 +404,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) -@@ -412,10 +418,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 */ diff --git a/emulators/qemu42/files/patch-net_tap-bsd.c b/emulators/qemu42/files/patch-net_tap-bsd.c deleted file mode 100644 index 6d94c1bde1ca..000000000000 --- a/emulators/qemu42/files/patch-net_tap-bsd.c +++ /dev/null @@ -1,10 +0,0 @@ ---- net/tap-bsd.c.orig 2019-04-23 18:14:46 UTC -+++ net/tap-bsd.c -@@ -31,6 +31,7 @@ - - #if defined(__NetBSD__) || defined(__FreeBSD__) - #include <sys/ioctl.h> -+#include <sys/socket.h> - #include <net/if.h> - #include <net/if_tap.h> - #endif diff --git a/emulators/qemu42/files/patch-qemu-doc.texi b/emulators/qemu42/files/patch-qemu-doc.texi deleted file mode 100644 index 6a5f1f921c5a..000000000000 --- a/emulators/qemu42/files/patch-qemu-doc.texi +++ /dev/null @@ -1,21 +0,0 @@ ---- qemu-doc.texi.orig 2020-06-25 18:12:17 UTC -+++ qemu-doc.texi -@@ -205,7 +205,7 @@ VGA BIOS. - QEMU uses YM3812 emulation by Tatsuyuki Satoh. - - QEMU uses GUS emulation (GUSEMU32 @url{http://www.deinmeister.de/gusemu/}) --by Tibor "TS" Schütz. -+by Tibor "TS" Schuetz. - - Note that, by default, GUS shares IRQ(7) with parallel ports and so - QEMU must be told to not have parallel ports to have working GUS. -@@ -573,7 +573,8 @@ Send the escape character to the frontend - - @c man begin SEEALSO - The HTML documentation of QEMU for more precise information and Linux --user mode emulator invocation. -+user mode emulator invocation, as well as the FreeBSD host notes in -+@file{pkg-message} in the relevant qemu port directory. - @c man end - - @c man begin AUTHOR diff --git a/emulators/qemu42/files/pcap-patch-net_clients.h b/emulators/qemu42/files/pcap-patch-net_clients.h deleted file mode 100644 index 5b56f1b2f49a..000000000000 --- a/emulators/qemu42/files/pcap-patch-net_clients.h +++ /dev/null @@ -1,13 +0,0 @@ ---- net/clients.h.orig 2018-04-24 16:30:47 UTC -+++ net/clients.h -@@ -61,4 +61,10 @@ int net_init_netmap(const Netdev *netdev, const char * - int net_init_vhost_user(const Netdev *netdev, const char *name, - NetClientState *peer, Error **errp); - -+#ifdef CONFIG_PCAP -+int net_init_pcap(const Netdev *netdev, const char *name, -+ NetClientState *peer, Error **errp); -+#endif -+ -+ - #endif /* QEMU_NET_CLIENTS_H */ diff --git a/emulators/qemu42/files/pcap-patch-net_net.c b/emulators/qemu42/files/pcap-patch-net_net.c deleted file mode 100644 index 36a21bc0effe..000000000000 --- a/emulators/qemu42/files/pcap-patch-net_net.c +++ /dev/null @@ -1,251 +0,0 @@ ---- net/net.c.orig 2020-06-25 18:12:17 UTC -+++ net/net.c -@@ -55,6 +55,11 @@ - #include "net/filter.h" - #include "qapi/string-output-visitor.h" - -+#include <sys/ioctl.h> -+#ifdef __FreeBSD__ -+#include <net/if.h> -+#endif -+ - /* Net bridge is currently not supported for W32. */ - #if !defined(_WIN32) - # define CONFIG_NET_BRIDGE -@@ -935,7 +940,226 @@ static int net_init_nic(const Netdev *netdev, const ch - return idx; - } - -+#if defined(CONFIG_PCAP) -+#if defined(CONFIG_BPF) -+#define PCAP_DONT_INCLUDE_PCAP_BPF_H -+#include <net/bpf.h> -+#endif -+#include <pcap.h> - -+struct PCAPState { -+ NetClientState nc; -+ pcap_t *handle; -+ int max_eth_frame_size; -+}; -+ -+static ssize_t pcap_receive(NetClientState *nc, const uint8_t *buf, size_t size) -+{ -+ struct PCAPState *s = DO_UPCAST(struct PCAPState, nc, nc); -+ -+ return pcap_inject(s->handle, (u_char*)buf, size); -+} -+ -+static void pcap_callback(u_char *user, struct pcap_pkthdr *phdr, u_char *pdata -+ ) -+{ -+ NetClientState *nc = (NetClientState *)user; -+ -+ int len = phdr->len; -+#ifdef __FreeBSD__ -+ struct PCAPState *s = DO_UPCAST(struct PCAPState, nc, nc); -+ int max_eth_frame_size = s->max_eth_frame_size; -+ -+ if (len > max_eth_frame_size) { -+ fprintf(stderr, -+ "pcap_send: packet size > %d (%d), truncating\n", -+ max_eth_frame_size, len); -+ len = max_eth_frame_size; -+ } -+#endif -+ qemu_send_packet(nc, pdata, len); -+} -+ -+static void pcap_send(void *opaque) -+{ -+ struct PCAPState *s = (struct PCAPState *)opaque; -+ -+ for (;;) { -+ if (pcap_dispatch(s->handle, 0, (pcap_handler)&pcap_callback, (u_char *)&s->nc) >= 0) -+ break; -+ } -+} -+ -+static void pcap_cleanup(NetClientState *nc) -+{ -+ struct PCAPState *s = DO_UPCAST(struct PCAPState, nc, nc); -+ -+ qemu_purge_queued_packets(nc); -+ pcap_close(s->handle); -+} -+ -+static NetClientInfo net_pcap_info = { -+ .type = NET_CLIENT_DRIVER_PCAP, -+ .size = sizeof(struct PCAPState), -+ .receive = pcap_receive, -+// .receive_raw = pcap_receive_raw, -+// .receive_iov = pcap_receive_iov, -+// .poll = pcap_poll, -+ .cleanup = pcap_cleanup, -+}; -+/* -+ * ... -net pcap,ifname="..." -+ */ -+ -+int net_init_pcap(const Netdev *netdev, -+ const char *name, NetClientState *peer, Error **errp) -+{ -+ const NetdevPcapOptions *pcap_opts; -+ NetClientState *nc; -+ struct PCAPState *s; -+ const char *ifname; -+ char errbuf[PCAP_ERRBUF_SIZE]; -+ pcap_if_t *alldevsp; -+#if defined(_WIN32) -+ HANDLE h; -+#endif -+ int i; -+ -+ assert(netdev->type == NET_CLIENT_DRIVER_PCAP); -+ pcap_opts = &netdev->u.pcap; -+ if (!pcap_opts->has_ifname) -+ return -1; -+ -+ ifname = pcap_opts->ifname; -+ -+ /* create the object */ -+ nc = qemu_new_net_client(&net_pcap_info, peer, "pcap", ifname); -+ s = DO_UPCAST(struct PCAPState, nc, nc); -+ -+ if (ifname == NULL && (ifname = pcap_findalldevs(&alldevsp, errbuf)) == NULL) { -+ fprintf(stderr, "qemu: pcap_create: %s\n", errbuf); -+ goto fail; -+ } -+ -+#ifdef __FreeBSD__ -+ /* -+ * We want to avoid passing oversize packets to the guest, which -+ * at least on FreeBSD can happen if the host interface uses tso -+ * (seen with an em(4) in this case) - so find out the host -+ * interface's mtu and assume the guest is configured the same. -+ */ -+ s->max_eth_frame_size = 1514; -+ i = socket(AF_INET, SOCK_DGRAM, 0); -+ if (i >= 0) { -+ struct ifreq ifr; -+ -+ (void) memset(&ifr, 0, sizeof(ifr)); -+ strncpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name)); -+ if (ioctl(i, SIOCGIFMTU, &ifr) != -1) -+ s->max_eth_frame_size = ifr.ifr_mtu + 14; -+ close(i); -+ } -+#endif -+ -+#if defined(CONFIG_PCAP_CREATE) || defined(_WIN32) -+ /* -+ * Create pcap handle for the device, set promiscuous mode and activate. -+ */ -+ s->handle = (void *)pcap_create(ifname, errbuf); -+ if (!s->handle) { -+ fprintf(stderr, "qemu: pcap_create: %s\n", errbuf); -+ goto fail; -+ } -+ if (pcap_set_promisc(s->handle, 1) != 0) { -+ pcap_perror(s->handle, (char *)"qemu: pcap_set_promisc:"); -+ goto fail; -+ } -+ if (pcap_activate(s->handle) != 0) { -+ pcap_perror(s->handle, (char *)"qemu: pcap_activate:"); -+ goto fail; -+ } -+#else -+ /* Attempt to connect device. */ -+ s->handle = (void *)pcap_open_live(ifname, 65535, 1, 0, errbuf); -+ if (!s->handle) { -+ fprintf(stderr, "qemu: pcap_open_live: %s\n", errbuf); -+ goto fail; -+ } -+#endif -+ -+ /* Set non-blocking mode. */ -+ if (pcap_setnonblock(s->handle, 1, errbuf) < 0) { -+ fprintf(stderr, "qemu: pcap_setnonblock: %s\n", errbuf); -+ goto fail; -+ } -+ -+#if defined(_WIN32) -+ /* -+ * Tell the kernel that the packet has to be seen immediately. -+ */ -+ if (pcap_setmintocopy(s->handle, 0) < 0) { -+ fprintf(stderr, "qemu: pcap failed to set immediate mode\n"); -+ goto fail; -+ } -+#else /* !_WIN32 */ -+#if defined(CONFIG_BPF) -+#if defined(BIOCIMMEDIATE) -+ /* -+ * Tell the kernel that the packet has to be seen immediately. -+ */ -+ { -+ unsigned int one = 1; -+ if (ioctl(pcap_fileno(s->handle), BIOCIMMEDIATE, &one) < 0) { -+ fprintf(stderr, "qemu: pcap failed to set immediate mode\n"); -+ goto fail; -+ } -+ } -+#endif /* BIOCIMMEDIATE */ -+#if defined(BIOCFEEDBACK) -+ /* -+ * Tell the kernel that the sent packet has to be fed back. -+ * This is necessary to connect host and guest. -+ */ -+ { -+ unsigned int one = 1; -+ if (ioctl(pcap_fileno(s->handle), BIOCFEEDBACK, &one) < 0) { -+ fprintf(stderr, "qemu: pcap failed to set feedback mode\n"); -+ goto fail; -+ } -+ } -+#endif /* BIOCFEEDBACK */ -+#endif /* CONFIG_BPF */ -+#endif /* _WIN32 */ -+ -+ snprintf(s->nc.info_str, sizeof(s->nc.info_str), "pcap redirector"); -+ -+#if defined(_WIN32) -+ if ((h = pcap_getevent(s->handle)) == NULL) { -+ fprintf(stderr, "qemu: pcap_getevent failed\n"); -+ goto fail; -+ } -+ qemu_add_wait_object(h, pcap_send, s); -+#else /* !_WIN32 */ -+ if ((i = pcap_get_selectable_fd(s->handle)) < 0) { -+ fprintf(stderr, "qemu: pcap_get_selectable_fd failed\n"); -+ goto fail; -+ } -+ qemu_set_fd_handler(i, pcap_send, NULL, s); -+#endif /* _WIN32 */ -+ -+ return 0; -+ -+fail: -+ if (s) { -+ if (s->handle) -+ pcap_close(s->handle); -+ } -+ -+ return -1; -+} -+ -+#endif -+ - static int (* const net_client_init_fun[NET_CLIENT_DRIVER__MAX])( - const Netdev *netdev, - const char *name, -@@ -961,6 +1185,9 @@ static int (* const net_client_init_fun[NET_CLIENT_DRI - #endif - #ifdef CONFIG_L2TPV3 - [NET_CLIENT_DRIVER_L2TPV3] = net_init_l2tpv3, -+#endif -+#ifdef CONFIG_PCAP -+ [NET_CLIENT_DRIVER_PCAP] = net_init_pcap, - #endif - }; - diff --git a/emulators/qemu42/files/pcap-patch-qapi_net.json b/emulators/qemu42/files/pcap-patch-qapi_net.json deleted file mode 100644 index afc5dee2265d..000000000000 --- a/emulators/qemu42/files/pcap-patch-qapi_net.json +++ /dev/null @@ -1,56 +0,0 @@ ---- qapi/net.json.orig 2020-06-25 18:12:17 UTC -+++ qapi/net.json -@@ -385,6 +385,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' } } -+ -+## - # @NetdevHubPortOptions: - # - # Connect two or more net clients through a software hub. -@@ -451,7 +464,7 @@ - ## - { 'enum': 'NetClientDriver', - 'data': [ 'none', 'nic', 'user', 'tap', 'l2tpv3', 'socket', 'vde', -- 'bridge', 'hubport', 'netmap', 'vhost-user' ] } -+ 'bridge', 'hubport', 'netmap', 'vhost-user', 'pcap' ] } - - ## - # @Netdev: -@@ -474,6 +487,7 @@ - 'user': 'NetdevUserOptions', - 'tap': 'NetdevTapOptions', - 'l2tpv3': 'NetdevL2TPv3Options', -+ 'pcap': 'NetdevPcapOptions', - 'socket': 'NetdevSocketOptions', - 'vde': 'NetdevVdeOptions', - 'bridge': 'NetdevBridgeOptions', -@@ -509,7 +523,7 @@ - ## - { 'enum': 'NetLegacyOptionsType', - 'data': ['none', 'nic', 'user', 'tap', 'l2tpv3', 'socket', 'vde', -- 'bridge', 'netmap', 'vhost-user'] } -+ 'bridge', 'netmap', 'vhost-user', 'pcap'] } - - ## - # @NetLegacyOptions: -@@ -526,6 +540,7 @@ - 'user': 'NetdevUserOptions', - 'tap': 'NetdevTapOptions', - 'l2tpv3': 'NetdevL2TPv3Options', -+ 'pcap': 'NetdevPcapOptions', - 'socket': 'NetdevSocketOptions', - 'vde': 'NetdevVdeOptions', - 'bridge': 'NetdevBridgeOptions', diff --git a/emulators/qemu42/files/qemu-ifdown.sample b/emulators/qemu42/files/qemu-ifdown.sample deleted file mode 100644 index 89d9a9bff436..000000000000 --- a/emulators/qemu42/files/qemu-ifdown.sample +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh -exec true diff --git a/emulators/qemu42/files/qemu-ifup.sample b/emulators/qemu42/files/qemu-ifup.sample deleted file mode 100644 index 89d9a9bff436..000000000000 --- a/emulators/qemu42/files/qemu-ifup.sample +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh -exec true diff --git a/emulators/qemu42/pkg-descr b/emulators/qemu42/pkg-descr deleted file mode 100644 index 481ae9c87617..000000000000 --- a/emulators/qemu42/pkg-descr +++ /dev/null @@ -1,16 +0,0 @@ -QEMU is a FAST! processor emulator using dynamic translation to achieve -good emulation speed. -QEMU has two operating modes: - - * Full system emulation. In this mode, QEMU emulates a full system - (for example a PC), including a processor and various peripherials. - It can be used to launch different Operating Systems without rebooting - the PC or to debug system code. - * User mode emulation (Linux host only). In this mode, QEMU can launch - Linux processes compiled for one CPU on another CPU. It can be used to - launch the Wine Windows API emulator or to ease cross-compilation and - cross-debugging. - -As QEMU requires no host kernel patches to run, it is very safe and easy to use. - -WWW: http://wiki.qemu.org/Main_Page diff --git a/emulators/qemu42/pkg-message b/emulators/qemu42/pkg-message deleted file mode 100644 index 4ce5e9a61853..000000000000 --- a/emulators/qemu42/pkg-message +++ /dev/null @@ -1,188 +0,0 @@ -[ -{ type: install - message: <<EOM -FreeBSD host notes -================== - -- Needs to set net.link.tap.user_open sysctl in order to use /dev/tap* - networking as non-root. Don't forget to adjust device node permissions in - /etc/devfs.rules. - -- slirp (usermode networking) is fixed now in cvs, on FreeSBIE 1.0 guests you - still have to manually do: echo nameserver 10.0.2.3 >/etc/resolv.conf but - i've been told that that's normal. (fixed on FreeSBIE 1.1.) And you have - to wait a bit for dhclient to do its thing; traffic to address 10.0.2.2 is - routed to 127.1 on the host. - -- Expect timer problems when guest kernel HZ is > hosts, for example time - sleep 1 takes 49 seconds and booting sleeps for minutes at the acd0 probe - with a FreeSBIE 1.0 guest, thats because its kernel is built with HZ=5000, - and FreeBSD's default is 100... (no longer a problem with FreeSBIE 1.1.) - The linux 2.6 kernel uses 1000 by default btw. (changed to 250 later, and - recent linux kernels now no longer have a fixed HZ, aka `tickless - kernel'...) Enabling /dev/rtc doesn't seem to help either (not included - since it needs a patch to emulators/rtc.) - -- Update: the above problem has gotten worse with FreeBSD guests - somewhere before 8.0, mainly since the kernel now usually wants - double or even quadruple number of timer irqs compared to HZ if - it detects an apic (and at least early versions of FreeBSD 8 had - a bug that essentially halved qemu's clock rate too); the only - reason you usually don't see symptoms of this with FreeBSD 8 - guests is they automatically reduce their HZ to 100 when running - in a VM while the default for the host kernel is still HZ=1000. - Workaround: you can disable the apic clock in the guest by setting - - hint.apic.0.clock="0" - - in loader.conf(5) (or manually at the loader prompt), if that - doesn't work the only things you can do is either reduce the - guest's HZ to, say, 100 by setting e.g. - - kern.hz="100" - - from the loader as above (which usually is a good idea in a VM - anyway and FreeBSD 8 now does by itself as mentioned), or otherwise - increase the host's HZ to 2000 or even 4000 from the loader in - the same way. - -- The -smb option (smb-export local dir to guest using the default - slirp networking) needs the samba port/package installed - in addition to qemu. (SAMBA knob.) - -- If you want to use usb devices connected to the host in the guest - yot need either recent 10-current (not tested yet much) or you can - use usbredir over the network (see below); also unless you are - running qemu as root you then need to fix permissions for /dev/ugen* - device nodes: if you are on 5.x or later (devfs) put a rule in - /etc/devfs.rules, activate it in /etc/rc.conf and run /etc/rc.d/devfs - restart. Example devfs.rules: - - [ugen_ruleset=20] - add path 'ugen*' mode 660 group operator - - corresponding rc.conf line: - - devfs_system_ruleset="ugen_ruleset" - -- If you want to test the new (in 0.15.0) usb network redirection (USBREDIR - option) see this thread by Hans de Goede <hdegoede <at> redhat.com>: - - http://thread.gmane.org/gmane.comp.emulators.qemu/110176/focus=110183 - - Quote: - - Example usage: - - 1) Start usbredirserver for a usb device: - sudo usbredirserver 045e:0772 - 2) Start qemu with usb2 support + a chardev talking to usbredirserver + - a usb-redir device using this chardev: - qemu -usb \ - -readconfig docs/ich9-ehci-uhci.cfg \ - -chardev socket,id=usbredirchardev,host=localhost,port=4000 \ - -device usb-redir,chardev=usbredirchardev,id=usbredirdev ... - - [you would replace docs/ich9-ehci-uhci.cfg with e.g. - /usr/local/share/doc/qemu/docs/ich9-ehci-uhci.cfg, but turns out - ehci was broken for me here with FreeBSD guests and the previous - qemu version at least, I got: - - FETCHENTRY: entry at 22C5484 is of type 2 which is not supported yet -processing error - resetting ehci HC - Assertion failed: (0), function ehci_advance_state, file /data/ports/emulators/qemu-devel/work/qemu-0.15.0/hw/usb-ehci.c, line 2045. - - The new qemu version works better tho.] - -- Still usb: since the hub is no longer attached to the uchi controller and - the wakeup mechanism, resume interrupt is not implemented yet linux guests - will suspend the bus, i.e. they wont see devices usb_add'ed after its - (linux') uhci module got loaded. Workaround: either add devices before - linux loads the module or rmmod and modprobe it afterwards. [Not sure - if this still applies to the new libusb host code used on recent - 10-current.] - -- If you get repeated `atapi_poll called!' console messages with FreeBSD - guests or other weird cdrom problems then thats probably because the guest - has atapicam loaded, which for reasons still to be determined has problems - with qemu's now by default enabled cdrom dma. You can build the port with - CDROM_DMA disabled to disable it. [Looks like this is fixed in recent - FreeBSD guest versions.] - -- If you build qemu wihout SDL and then get crashes running it try passing it - -nographic. This should probably be default in that case... - -- qemu's network boot roms (-boot n) have a bug when bootfiles sizes are a - multiple of blksize, if this affects you (like with FreeBSD's /boot/pxeboot) - you can do like - - cp /boot/pxeboot pxeboot-qemu && chmod +w pxeboot-qemu && echo >>pxeboot-qemu - - and then use pxeboot-qemu. Actually you need recent btx code - (from after 7.0 was released) because of the real mode boot - problem, so use at least pxeboot from there. And I just did that - for the pxeboot extracted out of - - ftp://ftp.freebsd.org/pub/FreeBSD/snapshots/200805/7.0-STABLE-200805-i386-bootonly.iso - - and placed it here: - - http://people.freebsd.org/~nox/qemu/pxeboot-qemu - -- If you use slirp (usernet, the default) and want to mount nfs into the guest - and you are not running qemu as root, then mountd(8) on the exporting box - needs to be run with -n in order to accept requests from ports >= 1024. - -- (not FreeBSD-specific:) There have been reports of qcow2 corruption with (at - least) win2k guests on recent kvm (which uses similar qcow2 code than qemu - now, see this thread: - - http://lists.gnu.org/archive/html/qemu-devel/2009-02/msg00713.html - - - the consensus on that thread seems to be that qcow(2) code has always been - experimental and you should use raw images if you want reliability; raw is - also usually faster.) You should be able to migrate existing images to raw - using qemu-img(1)'s convert function; raw doesn't support advanced features - like snapshots tho. [a few important qcow2 bugfixed have been committed in - the meantime so this _might_ be less of an issue now; and meanwhile there - also is the new qed format - I don't know how stable that one is.] - -- (also not FreeBSD-specific:) It is recommended to pass raw images using the - new -drive syntax, specifying format=raw explicitly in order to avoid - malicious guests being able to exploit the format autodetection thats - otherwise getting used. (Not that you should run malicious guests anyway, - but this eleminates at least a known attack vector.) - -- qemu now has improved physical cdrom support, but still there is at - least one known problem: you need to have the guest eject the disc if you - want to change it/take it out, or otherwise the guest may continue using - state (like size) of the old disc. (You can also do like `change ide1-cd0 - /dev/acd0' in the monitor after taking out the disc if a guest cannot eject - it itself.) - -- The default configuration location (qemu-ifup script etc.) has been changed - from /etc to PREFIX/etc (usually /usr/local/etc). Move your files - accordingly. - -- The pcap code (-net nic... -net pcap,ifname=...) should work properly now, - with only one exception: Advanced features like TSO used on the host - interface can cause oversize packets which now do get truncated to avoid - confusing/panicing guests but of course still will cause retransmissions. - So if you see slow throughput and `pcap_send: packet size > ..., truncating' - messages on qemu's tty try disabling TSO etc on the host interface at least - while using pcap. - -- kqemu is no longer supported in qemu upstream after the 0.11 branch - was created, which means also not in this version. (Linux has moved - on to kvm now for qemu(-like) virtualization needs, so if you want qemu - to go faster and don't want to switch to virtualbox or stick to the older - emulators/qemu port which is at 0.11.1 atm and as such still supports - kqemu you should help getting the FreeBSD kvm port updated and - completed: - - http://wiki.freebsd.org/FabioChecconi/PortingLinuxKVMToFreeBSD - - ) -EOM -} -] diff --git a/emulators/qemu42/pkg-plist b/emulators/qemu42/pkg-plist deleted file mode 100644 index 0e11034d6c6e..000000000000 --- a/emulators/qemu42/pkg-plist +++ /dev/null @@ -1,177 +0,0 @@ -bin/elf2dmp -%%IVSHMEM%%bin/ivshmem-client -%%IVSHMEM%%bin/ivshmem-server -bin/qemu-edid -bin/qemu-ga -bin/qemu-i386 -bin/qemu-img -bin/qemu-io -%%GTK3%%bin/qemu-keymap -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 -%%NO_X86_TARGETS%%bin/qemu-system-hppa -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-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-riscv32 -%%NO_X86_TARGETS%%bin/qemu-system-riscv64 -%%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-block-drivers.7.gz -man/man7/qemu-cpu-models.7.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%%/bios-256k.bin -%%DATADIR%%/bios-microvm.bin -%%DATADIR%%/bios.bin -%%DATADIR%%/canyonlands.dtb -%%DATADIR%%/edk2-aarch64-code.fd -%%DATADIR%%/edk2-arm-code.fd -%%DATADIR%%/edk2-arm-vars.fd -%%DATADIR%%/edk2-i386-code.fd -%%DATADIR%%/edk2-i386-secure-code.fd -%%DATADIR%%/edk2-i386-vars.fd -%%DATADIR%%/edk2-licenses.txt -%%DATADIR%%/edk2-x86_64-code.fd -%%DATADIR%%/edk2-x86_64-secure-code.fd -%%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%%/firmware/50-edk2-i386-secure.json -%%DATADIR%%/firmware/50-edk2-x86_64-secure.json -%%DATADIR%%/firmware/60-edk2-aarch64.json -%%DATADIR%%/firmware/60-edk2-arm.json -%%DATADIR%%/firmware/60-edk2-i386.json -%%DATADIR%%/firmware/60-edk2-x86_64.json -%%DATADIR%%/hppa-firmware.img -%%DATADIR%%/linuxboot.bin -%%LINUXBOOT_DMA%%%%DATADIR%%/linuxboot_dma.bin -%%DATADIR%%/multiboot.bin -%%DATADIR%%/openbios-ppc -%%DATADIR%%/openbios-sparc32 -%%DATADIR%%/openbios-sparc64 -%%DATADIR%%/opensbi-riscv32-virt-fw_jump.bin -%%DATADIR%%/opensbi-riscv64-sifive_u-fw_jump.bin -%%DATADIR%%/opensbi-riscv64-virt-fw_jump.bin -%%DATADIR%%/palcode-clipper -%%DATADIR%%/petalogix-ml605.dtb -%%DATADIR%%/ppc_rom.bin -%%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%%/qemu-nsis.bmp -%%DATADIR%%/qemu_vga.ndrv -%%DATADIR%%/s390-ccw.img -%%DATADIR%%/s390-netboot.img -%%DATADIR%%/slof.bin -%%DATADIR%%/u-boot-sam460-20100605.bin -%%DATADIR%%/vgabios.bin -%%DATADIR%%/vgabios-ati.bin -%%DATADIR%%/vgabios-cirrus.bin -%%DATADIR%%/vgabios-qxl.bin -%%DATADIR%%/vgabios-stdvga.bin -%%DATADIR%%/vgabios-virtio.bin -%%DATADIR%%/vgabios-vmware.bin -%%DATADIR%%/sgabios.bin -%%DATADIR%%/skiboot.lid -%%DATADIR%%/trace-events-all -%%DATADIR%%/petalogix-s3adsp1800.dtb -%%DATADIR%%/bamboo.dtb -%%DATADIR%%/kvmvapic.bin -%%DATADIR%%/u-boot.e500 -%%DATADIR%%/keymaps/ar -%%DATADIR%%/keymaps/bepo -%%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/nl -%%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 -%%DATADIR%%/pvh.bin -%%DATADIR%%/vgabios-bochs-display.bin -%%DATADIR%%/vgabios-ramfb.bin -share/icons/hicolor/128x128/apps/qemu.png -share/icons/hicolor/16x16/apps/qemu.png -share/icons/hicolor/24x24/apps/qemu.png -share/icons/hicolor/256x256/apps/qemu.png -share/icons/hicolor/32x32/apps/qemu.bmp -share/icons/hicolor/32x32/apps/qemu.png -share/icons/hicolor/48x48/apps/qemu.png -share/icons/hicolor/512x512/apps/qemu.png -share/icons/hicolor/64x64/apps/qemu.png -share/icons/hicolor/scalable/apps/qemu.svg -share/applications/qemu.desktop -%%GTK3%%share/locale/bg/LC_MESSAGES/qemu.mo -%%GTK3%%share/locale/de_DE/LC_MESSAGES/qemu.mo -%%GTK3%%share/locale/fr_FR/LC_MESSAGES/qemu.mo -%%GTK3%%share/locale/hu/LC_MESSAGES/qemu.mo -%%GTK3%%share/locale/it/LC_MESSAGES/qemu.mo -%%GTK3%%share/locale/tr/LC_MESSAGES/qemu.mo -%%GTK3%%share/locale/zh_CN/LC_MESSAGES/qemu.mo |