pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/sysutils



Module Name:    pkgsrc
Committed By:   riastradh
Date:           Sun Mar 16 20:07:39 UTC 2025

Modified Files:
        pkgsrc/sysutils: Makefile
Added Files:
        pkgsrc/sysutils/qemu-guest-agent: DESCR Makefile PLIST options.mk
        pkgsrc/sysutils/qemu-guest-agent/files: qemu-guest-agent.sh

Log Message:
sysutils/qemu-guest-agent: New package for just the qemu-ga program.

This is an agent designed to be used inside a guest -- so it's not
really useful for cases where you want the rest of the emulators/qemu
package, and at a few megabytes it's much smaller than emulators/qemu
which weighs in at a few gigabytes.

If we had subpackages -- multiple binary packages built from a single
source -- then it would be reasonable to use that for the qemu guest
agent rather than maintaining a separate makefile.  But we don't.

Derived from wip/qemu-guest-agent.


To generate a diff of this commit:
cvs rdiff -u -r1.1152 -r1.1153 pkgsrc/sysutils/Makefile
cvs rdiff -u -r0 -r1.1 pkgsrc/sysutils/qemu-guest-agent/DESCR \
    pkgsrc/sysutils/qemu-guest-agent/Makefile \
    pkgsrc/sysutils/qemu-guest-agent/PLIST \
    pkgsrc/sysutils/qemu-guest-agent/options.mk
cvs rdiff -u -r0 -r1.1 \
    pkgsrc/sysutils/qemu-guest-agent/files/qemu-guest-agent.sh

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/sysutils/Makefile
diff -u pkgsrc/sysutils/Makefile:1.1152 pkgsrc/sysutils/Makefile:1.1153
--- pkgsrc/sysutils/Makefile:1.1152     Sun Mar  9 07:18:29 2025
+++ pkgsrc/sysutils/Makefile    Sun Mar 16 20:07:38 2025
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.1152 2025/03/09 07:18:29 pho Exp $
+# $NetBSD: Makefile,v 1.1153 2025/03/16 20:07:38 riastradh Exp $
 #
 
 COMMENT=       System utilities
@@ -634,6 +634,7 @@ SUBDIR+=    py-watchdog
 SUBDIR+=       py-xattr
 SUBDIR+=       py27-dbus
 SUBDIR+=       qdirstat
+SUBDIR+=       qemu-guest-agent
 SUBDIR+=       qlogtools
 SUBDIR+=       qmail-dovecot-checkpassword
 SUBDIR+=       qmediamanager

Added files:

Index: pkgsrc/sysutils/qemu-guest-agent/DESCR
diff -u /dev/null pkgsrc/sysutils/qemu-guest-agent/DESCR:1.1
--- /dev/null   Sun Mar 16 20:07:39 2025
+++ pkgsrc/sysutils/qemu-guest-agent/DESCR      Sun Mar 16 20:07:39 2025
@@ -0,0 +1,5 @@
+QEMU is a FAST! processor emulator using dynamic translation to achieve
+good emulation speed.
+
+This package contains the only the Guest Agent, which is run on the
+guest and enables communicating with the host.
Index: pkgsrc/sysutils/qemu-guest-agent/Makefile
diff -u /dev/null pkgsrc/sysutils/qemu-guest-agent/Makefile:1.1
--- /dev/null   Sun Mar 16 20:07:39 2025
+++ pkgsrc/sysutils/qemu-guest-agent/Makefile   Sun Mar 16 20:07:39 2025
@@ -0,0 +1,112 @@
+# $NetBSD: Makefile,v 1.1 2025/03/16 20:07:39 riastradh Exp $
+
+.include "../../emulators/qemu/version.mk"
+
+DISTNAME=      qemu-${QEMU_VERSION}
+PKGNAME=       ${DISTNAME:S/qemu/qemu-guest-agent/}
+CATEGORIES=    sysutils
+MASTER_SITES=  https://download.qemu.org/
+EXTRACT_SUFX=  .tar.xz
+
+MAINTAINER=    pkgsrc-users%NetBSD.org@localhost
+HOMEPAGE=      https://www.qemu.org/
+COMMENT=       CPU emulator using dynamic translation
+LICENSE=       gnu-gpl-v2 AND gnu-lgpl-v2.1 AND mit AND modified-bsd
+
+TOOL_DEPENDS+= meson-[0-9]*:../../devel/meson
+TOOL_DEPENDS+= ninja-build-[0-9]*:../../devel/ninja-build
+
+PYTHON_VERSIONS_INCOMPATIBLE=  39 310 # py-sphinx
+
+USE_LANGUAGES+=                c c++
+USE_TOOLS+=            pkg-config perl
+UNLIMIT_RESOURCES=     datasize
+HAS_CONFIGURE=         yes
+
+PATCHDIR=              ../../emulators/qemu/patches
+DISTINFO_FILE=         ../../emulators/qemu/distinfo
+RCD_SCRIPTS=           qemu-guest-agent
+
+# https://github.com/qemu/qemu/commit/56208a0d473c6db263cc333c787ca48b502d72ab
+GCC_REQD+=             7
+
+.include "options.mk"
+
+.include "../../mk/bsd.prefs.mk"
+
+CONFIGURE_ARGS+=       --prefix=${PREFIX}
+CONFIGURE_ARGS+=       --interp-prefix=${PREFIX}/share/qemu
+CONFIGURE_ARGS+=       --sysconfdir=${PKG_SYSCONFBASEDIR}
+CONFIGURE_ARGS+=       --python=${TOOL_PYTHONBIN}
+CONFIGURE_ARGS+=       --mandir=${PREFIX}/${PKGMANDIR}
+CONFIGURE_ENV+=                mansuffix=/${PKGMANDIR}
+ALL_ENV+=              MESON_RSP_THRESHOLD=262144
+
+CONFIGURE_ARGS+=       --enable-guest-agent
+CONFIGURE_ARGS+=       --disable-tools
+CONFIGURE_ARGS+=       --disable-xkbcommon
+CONFIGURE_ARGS+=       --disable-attr
+CONFIGURE_ARGS+=       --disable-install-blobs
+CONFIGURE_ARGS+=       --disable-brlapi
+CONFIGURE_ARGS+=       --disable-bzip2
+CONFIGURE_ARGS+=       --disable-cap-ng
+CONFIGURE_ARGS+=       --disable-coroutine-pool
+CONFIGURE_ARGS+=       --disable-curses
+CONFIGURE_ARGS+=       --disable-fdt
+CONFIGURE_ARGS+=       --disable-gcrypt
+CONFIGURE_ARGS+=       --disable-glusterfs
+CONFIGURE_ARGS+=       --disable-libnfs
+CONFIGURE_ARGS+=       --disable-libusb
+CONFIGURE_ARGS+=       --disable-lzo
+CONFIGURE_ARGS+=       --disable-netmap
+CONFIGURE_ARGS+=       --disable-nettle
+CONFIGURE_ARGS+=       --disable-numa
+CONFIGURE_ARGS+=       --disable-rbd
+CONFIGURE_ARGS+=       --disable-rdma
+CONFIGURE_ARGS+=       --disable-seccomp
+CONFIGURE_ARGS+=       --disable-smartcard
+CONFIGURE_ARGS+=       --disable-snappy
+CONFIGURE_ARGS+=       --disable-spice
+CONFIGURE_ARGS+=       --disable-system
+CONFIGURE_ARGS+=       --disable-tpm
+CONFIGURE_ARGS+=       --disable-user
+CONFIGURE_ARGS+=       --disable-vhost-net
+CONFIGURE_ARGS+=       --disable-virtfs
+CONFIGURE_ARGS+=       --disable-vnc
+
+PKG_SYSCONFSUBDIR=     qemu
+
+INSTALLATION_DIRS=     ${PKGMANDIR}/man1 share/doc/qemu
+
+PYTHON_FOR_BUILD_ONLY= tool
+
+do-build:
+       ${RUN}cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} \
+               ninja -j ${_MAKE_JOBS_N:U1} -C build
+
+# Some dependencies aren't correct and this tries to be re-made on install,
+# failing due to configure bugs.
+post-build:
+       ${TOUCH} ${WRKSRC}/config-host.mak
+
+do-install:
+       ${RUN}cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${INSTALL_ENV} \
+               ninja -j ${_MAKE_JOBS_N:U1} -C build install
+       # not needed for guest agent
+       ${RM} -f ${DESTDIR}${PREFIX}/include/qemu-plugin.h
+       ${RM} -f ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1/qemu.1
+       ${RM} -f ${DESTDIR}${PREFIX}/${PKGMANDIR}/man7/qemu-block-drivers.7
+       ${RM} -f ${DESTDIR}${PREFIX}/${PKGMANDIR}/man7/qemu-cpu-models.7
+       ${RM} -f ${DESTDIR}${PREFIX}/${PKGMANDIR}/man7/qemu-qmp-ref.7
+       ${RM} -rf ${DESTDIR}${PREFIX}/share/doc/qemu
+       ${RM} -rf ${DESTDIR}${PREFIX}/share/qemu/keymaps
+       ${RM} -rf ${DESTDIR}${PREFIX}/share/qemu/trace-events-all
+
+do-test:
+       ${RUN}cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${TEST_ENV} \
+               ninja -j ${_MAKE_JOBS_N:U1} -C build test
+
+.include "../../devel/glib2/buildlink3.mk"
+.include "../../lang/python/tool.mk"
+.include "../../mk/pthread.buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
Index: pkgsrc/sysutils/qemu-guest-agent/PLIST
diff -u /dev/null pkgsrc/sysutils/qemu-guest-agent/PLIST:1.1
--- /dev/null   Sun Mar 16 20:07:39 2025
+++ pkgsrc/sysutils/qemu-guest-agent/PLIST      Sun Mar 16 20:07:39 2025
@@ -0,0 +1,4 @@
+@comment $NetBSD: PLIST,v 1.1 2025/03/16 20:07:39 riastradh Exp $
+bin/qemu-ga
+${PLIST.doc}man/man7/qemu-ga-ref.7
+${PLIST.doc}man/man8/qemu-ga.8
Index: pkgsrc/sysutils/qemu-guest-agent/options.mk
diff -u /dev/null pkgsrc/sysutils/qemu-guest-agent/options.mk:1.1
--- /dev/null   Sun Mar 16 20:07:39 2025
+++ pkgsrc/sysutils/qemu-guest-agent/options.mk Sun Mar 16 20:07:39 2025
@@ -0,0 +1,18 @@
+#      $NetBSD: options.mk,v 1.1 2025/03/16 20:07:39 riastradh Exp $
+
+PKG_OPTIONS_VAR=       PKG_OPTIONS.qemu-guest-agent
+PKG_SUPPORTED_OPTIONS+=        doc
+PKG_SUGGESTED_OPTIONS+=        doc
+
+PLIST_VARS+=           doc
+
+.include "../../mk/bsd.options.mk"
+
+.if ${PKG_OPTIONS:Mdoc}
+PLIST.doc=             yes
+CONFIGURE_ARGS+=       --enable-docs
+TOOL_DEPENDS+=         ${PYPKGPREFIX}-sphinx-[0-9]*:../../textproc/py-sphinx
+TOOL_DEPENDS+=         ${PYPKGPREFIX}-sphinx-rtd-theme>=1.2.0:../../textproc/py-sphinx-rtd-theme
+.else
+CONFIGURE_ARGS+=       --disable-docs
+.endif

Index: pkgsrc/sysutils/qemu-guest-agent/files/qemu-guest-agent.sh
diff -u /dev/null pkgsrc/sysutils/qemu-guest-agent/files/qemu-guest-agent.sh:1.1
--- /dev/null   Sun Mar 16 20:07:39 2025
+++ pkgsrc/sysutils/qemu-guest-agent/files/qemu-guest-agent.sh  Sun Mar 16 20:07:39 2025
@@ -0,0 +1,20 @@
+#!@RCD_SCRIPTS_SHELL@
+#
+# $NetBSD: qemu-guest-agent.sh,v 1.1 2025/03/16 20:07:39 riastradh Exp $
+#
+# PROVIDE: qemu_guest_agent
+# REQUIRE: DAEMON
+#
+
+if [ -f /etc/rc.subr ]; then
+       . /etc/rc.subr
+fi
+
+name="qemu_guest_agent"
+rcvar="${name}"
+command="@PREFIX@/bin/qemu-ga"
+command_args="-d"
+
+
+load_rc_config $name
+run_rc_command "$1"



Home | Main Index | Thread Index | Old Index