From nobody Thu Dec 12 17:18:25 2024 X-Original-To: dev-commits-ports-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y8K1Y28J8z5gWkJ; Thu, 12 Dec 2024 17:18:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y8K1Y1Y0Hz4rcB; Thu, 12 Dec 2024 17:18:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1734023905; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xAN0GrTaD28EylKl2F6Rl1cc+F6aeYesyS+aqq32184=; b=jvqwAMIsW/q5u1X66nTO8L+5+28HzCAiB4jbpKhFbu4stOaAf9UicFre8zQgrbbiiZS43Z jUi4DO9kpUUiB+LcWaiBwl7d8EkPo4LxKDfd5YtOKL6K5+uuAeLY/WHSBZDuLJMMpmzw0P glF/DBCqVfCeA/plppudIGcE4hzDW7diA1fV0z1xknqQzNDvx9qsQmtQ/dEy5VBKsxR7jf rI0CrcsJIbcOQfcs8PKFiZ/bUCYmA7P3REjFLX6g0xY/+fLQvksos7U8ggroTyiftFOJFX ksOvtIJg5f/wVjKOJ6912u3YP12CpAOK4UVus5nsn9bDd38fZzo5GYAigO7K3g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1734023905; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xAN0GrTaD28EylKl2F6Rl1cc+F6aeYesyS+aqq32184=; b=BWfuSPl97jlUY0P5xElhWP/ywLDqtnuoXnNVBKpZ/ZTJ1FRmwQ9WslWf8VGSTfF/GheEH8 ak5hiQi967tzu6d+152QKi3icNULsr5PrbTYRCgF0GVkDr3LYtCE+lEb0wL+FmRZHD77rF DuQQiFa0OTozsnb84DOdrSZVVXU0iJnNKGUnHWdh0nT7lZ1VMOWuWhEm1UZ1qgjRTjk78h DvJquMlJ6W8NRehO18L1Oz35oQOT9lMBYc3IRznSbRTxM0BkOrsxnwPnsu8jFAzhNO0nhc Me/hueBvpZq0VaGDQD0Bk2a7HRa49NP1NqBBnaJq+15avlPD3fSRgglQU7KDKw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1734023905; a=rsa-sha256; cv=none; b=Yk+N6F9Px9qTEOUYMSlFy+BsTtX/aa5T2QR1SzAV5xk6ooKJO0EOvcQHgjs4sBYulyNluv bFhM0IYWdTYr9po8L14XP0GFNy3YRpMxLT0/8lnX2viS98pk/iCKsu383x7u088RHN2Pzi y8A+e7I9bmhqthK2tBmnSozNim6QAk7h/bqYUQHCfgw0GAHj1BezPSr1XDV+2h/HXSWDi/ EXzAoWLsmr1RsBDUNlR8vks+jQUQ8NmPEgxCl8m/Dye7MvEa5qAu4e3HM7NigM3XMFVU3l OqapStd6xa24z6sEXSyqQVKvWQ5HReQRdz0Xnto0D8W8gum3dc4owRbtd+ldfA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y8K1Y180Tz12F2; Thu, 12 Dec 2024 17:18:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4BCHIPvY085303; Thu, 12 Dec 2024 17:18:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4BCHIP1r085300; Thu, 12 Dec 2024 17:18:25 GMT (envelope-from git) Date: Thu, 12 Dec 2024 17:18:25 GMT Message-Id: <202412121718.4BCHIP1r085300@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Baptiste Daroussin Subject: git: 77dbd57b8e9d - main - emulators/open-vm-{tools,kmod}: split the package List-Id: Commit messages for all branches of the ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-ports-all@freebsd.org Sender: owner-dev-commits-ports-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 77dbd57b8e9dad16375ba7a249b8046dd66d1c46 Auto-Submitted: auto-generated The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/ports/commit/?id=77dbd57b8e9dad16375ba7a249b8046dd66d1c46 commit 77dbd57b8e9dad16375ba7a249b8046dd66d1c46 Author: Baptiste Daroussin AuthorDate: 2024-12-12 16:46:02 +0000 Commit: Baptiste Daroussin CommitDate: 2024-12-12 17:18:23 +0000 emulators/open-vm-{tools,kmod}: split the package Split the package to build the kmods separatly! Building separately has multiple benefits: 1. it allows user to rebuild when they upgrade their kernel without rebuilding all of the tools which can take a long time. 2. it allows us to provide the modules in the new kmods package repository 3. it installs the kmods the in the same place as the regular kmods: /boot/modules It means we can probably get rid of the rc script in favor if letting users use kld_list mecanism but I will let this decision to the maintainer based on what it probably best for users. Approved by: garga (maintainer) Reviewed by: garga (maintainer) Differential Revision: https://reviews.freebsd.org/D48059 --- emulators/Makefile | 1 + emulators/open-vm-kmod/Makefile | 30 ++++++++++++++++++++++ emulators/open-vm-kmod/distinfo | 3 +++ emulators/open-vm-kmod/files/patch-Makefile | 7 +++++ .../files/patch-vmblock_vfsops.c} | 4 +-- .../files/patch-vmmemctl_os.c} | 4 +-- emulators/open-vm-kmod/pkg-descr | 6 +++++ emulators/open-vm-tools/Makefile | 16 ++++-------- .../open-vm-tools/files/patch-modules_Makefile.am | 19 -------------- emulators/open-vm-tools/files/vmware-kmod.in | 6 ++--- emulators/open-vm-tools/pkg-plist | 3 +-- 11 files changed, 60 insertions(+), 39 deletions(-) diff --git a/emulators/Makefile b/emulators/Makefile index 473fd6fa5292..1c1f9d5b485b 100644 --- a/emulators/Makefile +++ b/emulators/Makefile @@ -101,6 +101,7 @@ SUBDIR += ods2reader SUBDIR += open-simh SUBDIR += open-vm-tools + SUBDIR += open-vm-kmod SUBDIR += openmsx SUBDIR += p5-Acme-6502 SUBDIR += parallels-tools diff --git a/emulators/open-vm-kmod/Makefile b/emulators/open-vm-kmod/Makefile new file mode 100644 index 000000000000..64a367bd1c98 --- /dev/null +++ b/emulators/open-vm-kmod/Makefile @@ -0,0 +1,30 @@ +PORTNAME= open-vm-kmod +PORTVERSION= 12.5.0 +DISTVERSIONPREFIX= stable- +PORTEPOCH= 2 +CATEGORIES= emulators + +MAINTAINER= garga@FreeBSD.org +COMMENT= Open VMware tools for FreeBSD VMware guests ${${FLAVOR}_COMMENT} +WWW= https://github.com/vmware/open-vm-tools + +LICENSE= BSD2CLAUSE GPLv2 +LICENSE_COMB= multi +LICENSE_FILE_GPLv2= ${WRKSRC}/vmmemctl/COPYING +LICENSE_FILE_BSD2CLAUSE= ${WRKSRC}/vmblock/COPYING + +ONLY_FOR_ARCHS= aarch64 amd64 i386 + +USES= kmod uidfix + +USE_GITHUB= yes +GH_ACCOUNT= vmware +GH_PROJECT= open-vm-tools + +WRKSRC_SUBDIR= open-vm-tools/modules/freebsd/ +MAKE_ARGS= OVT_SOURCE_DIR=${WRKSRC:H:H:H} + +PLIST_FILES= ${KMODDIR}/vmblock.ko \ + ${KMODDIR}/vmmemctl.ko + +.include diff --git a/emulators/open-vm-kmod/distinfo b/emulators/open-vm-kmod/distinfo new file mode 100644 index 000000000000..2f34cde2a8c0 --- /dev/null +++ b/emulators/open-vm-kmod/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1733928741 +SHA256 (vmware-open-vm-tools-stable-12.5.0_GH0.tar.gz) = a52182c7e6b5df41bb317625e9d8592ecdb9db814d1c2c9b7cdb91a77f8c0640 +SIZE (vmware-open-vm-tools-stable-12.5.0_GH0.tar.gz) = 3001944 diff --git a/emulators/open-vm-kmod/files/patch-Makefile b/emulators/open-vm-kmod/files/patch-Makefile new file mode 100644 index 000000000000..a1ac4b5af968 --- /dev/null +++ b/emulators/open-vm-kmod/files/patch-Makefile @@ -0,0 +1,7 @@ +--- Makefile.orig 2024-12-12 16:16:21 UTC ++++ Makefile +@@ -0,0 +1,4 @@ ++SUBDIR+= vmblock ++SUBDIR+= vmmemctl ++ ++.include diff --git a/emulators/open-vm-tools/files/patch-modules_freebsd_vmblock_vfsops.c b/emulators/open-vm-kmod/files/patch-vmblock_vfsops.c similarity index 68% rename from emulators/open-vm-tools/files/patch-modules_freebsd_vmblock_vfsops.c rename to emulators/open-vm-kmod/files/patch-vmblock_vfsops.c index 40b8facd5869..97840675e338 100644 --- a/emulators/open-vm-tools/files/patch-modules_freebsd_vmblock_vfsops.c +++ b/emulators/open-vm-kmod/files/patch-vmblock_vfsops.c @@ -1,5 +1,5 @@ ---- modules/freebsd/vmblock/vfsops.c.orig 2023-03-10 17:41:18 UTC -+++ modules/freebsd/vmblock/vfsops.c +--- vmblock/vfsops.c.orig 2024-10-10 15:05:07 UTC ++++ vmblock/vfsops.c @@ -173,7 +173,6 @@ VMBlockVFSMount(struct mount *mp) // IN: mount( #endif error = namei(ndp); diff --git a/emulators/open-vm-tools/files/patch-modules_freebsd_vmmemctl_os.c b/emulators/open-vm-kmod/files/patch-vmmemctl_os.c similarity index 87% rename from emulators/open-vm-tools/files/patch-modules_freebsd_vmmemctl_os.c rename to emulators/open-vm-kmod/files/patch-vmmemctl_os.c index 0b6be303c9d6..d096f92236c3 100644 --- a/emulators/open-vm-tools/files/patch-modules_freebsd_vmmemctl_os.c +++ b/emulators/open-vm-kmod/files/patch-vmmemctl_os.c @@ -1,5 +1,5 @@ ---- modules/freebsd/vmmemctl/os.c.orig 2023-03-07 22:57:07 UTC -+++ modules/freebsd/vmmemctl/os.c +--- vmmemctl/os.c.orig 2024-10-10 15:05:07 UTC ++++ vmmemctl/os.c @@ -103,7 +103,11 @@ MALLOC_DEFINE(M_VMMEMCTL, BALLOON_NAME, "vmmemctl meta #define KVA_FREE(offset, size) kva_free(offset, size) diff --git a/emulators/open-vm-kmod/pkg-descr b/emulators/open-vm-kmod/pkg-descr new file mode 100644 index 000000000000..de6677a26c1c --- /dev/null +++ b/emulators/open-vm-kmod/pkg-descr @@ -0,0 +1,6 @@ +open-vm-kmod is a set of modules that enable several features in +VMware products for better management of, and seamless user +interactions with, guests. + +It includes kernel modules for enhancing the performance of virtual +machines running FreeBSD. diff --git a/emulators/open-vm-tools/Makefile b/emulators/open-vm-tools/Makefile index 202faed130a9..18c7cf396891 100644 --- a/emulators/open-vm-tools/Makefile +++ b/emulators/open-vm-tools/Makefile @@ -1,5 +1,6 @@ PORTNAME= open-vm-tools PORTVERSION= 12.5.0 +PORTREVISION= 1 DISTVERSIONPREFIX= stable- PORTEPOCH= 2 CATEGORIES= emulators @@ -14,6 +15,7 @@ LICENSE_FILE= ${WRKSRC}/COPYING ONLY_FOR_ARCHS= aarch64 amd64 i386 LIB_DEPENDS= libdnet.so:net/libdnet +RUN_DEPENDS= open-vm-kmod>0:emulators/open-vm-kmod FLAVORS= default nox11 default_CONFLICTS_INSTALL= open-vm-tools-nox11 @@ -21,7 +23,7 @@ nox11_PKGNAMESUFFIX= -nox11 nox11_CONFLICTS_INSTALL= open-vm-tools nox11_COMMENT= (without X11) -USES= autoreconf gettext-runtime gnome kmod libtool localbase \ +USES= autoreconf gettext-runtime gnome libtool localbase \ pathfix pkgconfig USE_GITHUB= yes @@ -34,13 +36,12 @@ GNU_CONFIGURE= yes CONFIGURE_ARGS+=--disable-vgauth \ --enable-containerinfo=no \ --sysconfdir=${PREFIX}/etc \ - --without-icu -CONFIGURE_ENV+= SYSDIR=${SRC_BASE}/sys + --without-icu \ + --without-kernel-modules INSTALL_TARGET= install-strip CPPFLAGS+= -Wno-deprecated-declarations -SSP_UNSAFE= kernel module does not support ssp WRKSRC_SUBDIR= open-vm-tools @@ -75,16 +76,9 @@ post-patch: @${REINPLACE_CMD} -e "s@%%PREFIX%%@${PREFIX}@"\ ${WRKSRC}/lib/guestApp/guestApp.c -post-build: - cd ${WRKSRC}/modules && ${SETENV} ${MAKE_ENV} ${MAKE} ${MAKE_ARGS} - post-install: ${MKDIR} ${STAGEDIR}${PREFIX}/lib/vmware-tools/modules/drivers ${MKDIR} ${STAGEDIR}${PREFIX}/lib/vmware-tools/modules/input - ${INSTALL_DATA} ${WRKSRC}/modules/freebsd/vmblock.ko \ - ${STAGEDIR}${PREFIX}/lib/vmware-tools/modules/drivers/vmblock.ko - ${INSTALL_DATA} ${WRKSRC}/modules/freebsd/vmmemctl.ko \ - ${STAGEDIR}${PREFIX}/lib/vmware-tools/modules/drivers/vmmemctl.ko ${MKDIR} ${STAGEDIR}${DATADIR} ${INSTALL_DATA} ${WRKSRC}/tools.conf \ ${STAGEDIR}${DATADIR}/tools.conf.sample diff --git a/emulators/open-vm-tools/files/patch-modules_Makefile.am b/emulators/open-vm-tools/files/patch-modules_Makefile.am deleted file mode 100644 index b53fda2dc938..000000000000 --- a/emulators/open-vm-tools/files/patch-modules_Makefile.am +++ /dev/null @@ -1,19 +0,0 @@ ---- modules/Makefile.am.orig 2018-09-29 03:57:04 UTC -+++ modules/Makefile.am -@@ -65,11 +65,11 @@ if SOLARIS - done - endif - if FREEBSD -- for MOD in $(MODULES); do \ -- $(INSTALL) -d $(DESTDIR)$(MODULES_DIR); \ -- $(INSTALL) -m 644 $(modulesrc)/$(MODULES_OS)/$$MOD.ko \ -- $(DESTDIR)$(MODULES_DIR); \ -- done -+# for MOD in $(MODULES); do \ -+# $(INSTALL) -d $(DESTDIR)$(MODULES_DIR); \ -+# $(INSTALL) -m 644 $(modulesrc)/$(MODULES_OS)/$$MOD.ko \ -+# $(DESTDIR)$(MODULES_DIR); \ -+# done - endif - - uninstall-hook: diff --git a/emulators/open-vm-tools/files/vmware-kmod.in b/emulators/open-vm-tools/files/vmware-kmod.in index a62f03b465e8..9c6863af4387 100644 --- a/emulators/open-vm-tools/files/vmware-kmod.in +++ b/emulators/open-vm-tools/files/vmware-kmod.in @@ -13,9 +13,9 @@ checkvm_cmd="%%PREFIX%%/bin/vmware-checkvm > /dev/null" vmware_mod_load() { echo -n "Loading $1 kernel module: " - if kldstat -qn %%PREFIX%%/lib/vmware-tools/modules/drivers/$1.ko; then + if kldstat -qn $1.ko; then echo "already loaded." - elif kldload -q %%PREFIX%%/lib/vmware-tools/modules/drivers/$1.ko; then + elif kldload -q $1.ko; then echo "done." else echo "failed." @@ -25,7 +25,7 @@ vmware_mod_load() vmware_mod_status() { echo -n "Checking $1 kernel module: " - if kldstat -qn %%PREFIX%%/lib/vmware-tools/modules/drivers/$1.ko; then + if kldstat -qn $1.ko; then echo "loaded." else echo "not loaded" diff --git a/emulators/open-vm-tools/pkg-plist b/emulators/open-vm-tools/pkg-plist index 7ae249592b27..92ebcad1749b 100644 --- a/emulators/open-vm-tools/pkg-plist +++ b/emulators/open-vm-tools/pkg-plist @@ -53,8 +53,6 @@ lib/open-vm-tools/plugins/vmsvc/libvmbackup.so %%X11%%lib/open-vm-tools/plugins/vmusr/libdesktopEvents.so %%X11%%lib/open-vm-tools/plugins/vmusr/libdndcp.so %%X11%%lib/open-vm-tools/plugins/vmusr/libresolutionSet.so -lib/vmware-tools/modules/drivers/vmblock.ko -lib/vmware-tools/modules/drivers/vmmemctl.ko %%DEPLOYPKG%%libdata/pkgconfig/libDeployPkg.pc libdata/pkgconfig/vmguestlib.pc sbin/mount_vmblock @@ -83,6 +81,7 @@ share/vmware-tools/resume-vm-default share/vmware-tools/scripts/vmware/network share/vmware-tools/statechange.subr share/vmware-tools/suspend-vm-default +@dir lib/vmware-tools/modules/drivers @dir lib/vmware-tools/modules/input @dir %%DATADIR%%/scripts/vmware @dir %%DATADIR%%/tests