app-emulation/open-vm-tools
Tools for VMware guests
ChangeLog
commit 94b5101e95a88c220e6368ddfe5dae575863f0aa
Author: lucascouts <lucascs@protonmail.com>
Date: Mon Sep 7 09:45:17 2026 -0300
fix(media-libs/mesa, dev-db/sqlitebrowser): two metadata.xml defects, mod(scripts/gentoo-parity.sh): a package-level axis CAN carry a reason, mod(9 packages): tag the rows that unlocks
The eleven rows left on metadata.xml and files/content were stuck by
construction: both axes were listed as unjustifiable, so every row on them was
ALIGN forever however deliberate the divergence. Two turned out to be real
defects. The other nine needed the guard fixed, not the tree.
THE DESIGN ERROR. PARITY_UNJUSTIFIABLE_AXES was documented as "these can never
be JUSTIFIED either", argued from "the file holds no ebuild code, so it cannot
carry a # BENTOO-DIVERGENCE: tag". That confuses WHERE THE DIFFERENCE IS with
WHERE THE REASON CAN BE WRITTEN. A patch under files/ exists because an ebuild
applies it; a metadata.xml describes a package whose ebuilds sit beside it. The
ebuild is the natural place for the reason and always was.
Mechanically the block was elsewhere anyway: these rows carry the literal
"(package)" where a PV goes, so assign_verdicts looks them up under
"<category>/<pn>-(package)|<axis>", and collect_tags only ever registered the
per-ebuild key "<category>/<pf>|<axis>". No tag could match. collect_tags now
registers both. The array keeps doing the job it should - blocking promotion to
UNDOCUMENTED, which is a claim about ebuild content that a file-level difference
cannot support.
The cost of the old reading was eleven permanently red rows, including
chromium's patched bin-finder.py and thirteen zed USE flag descriptions
::gentoo has no reason to carry. A guard with rows that can never go green is
one people stop reading.
THE TWO REAL DEFECTS, both in metadata.xml and both now gone from the report
rather than reclassified.
media-libs/mesa described five USE flags that no longer exist - d3d9, osmesa,
vdpau, vulkan-overlay, xa - and did NOT describe sysprof, which its IUSE does
have. pkgcheck was reporting both, as UnusedLocalUse and as UnknownUseFlags:
'sysprof' - the second because a flag with no description anywhere is not a
known flag. Both findings are gone.
dev-db/sqlitebrowser had lost the French <longdescription lang="fr"> and <use
lang="fr"> blocks ::gentoo carries. Nothing gained by dropping them; a
francophone user simply lost the translation in the fork. Restored verbatim, so
the file now matches ::gentoo's outside the maintainer block.
THE NINE TAGS. Five metadata.xml where the overlay documents MORE - zed's
thirteen own USE flags, and longdescription/bugs-to/remote-id on act,
foldingathome, fakeroot and minikube (fakeroot's records that the package is a
temporary mirror to delete once ::gentoo reaches 2.x, which has nowhere else to
live). Four files/content, each a deliberate difference: open-vm-tools.initd
gains "use vgauthd" because this overlay ships that service at all; blender's
two find-module patches are ::gentoo's rebased onto a series where upstream
CMake renamed the variables; libcamera's no-automagic patch is much smaller
because upstream de-automagicked most of it in 0.7.x, leaving only gnutls; and
chromium's bin-finder.py carries this overlay's observability work, which cannot
be upstreamed under Gentoo's no-AI-contribution policy.
A08 grows a fifth case for the new rule, because a mechanism with no test is how
the last one broke. The verdict fixture's metadata.xml now differs between its
two sides and its ebuild carries a metadata.xml tag, so package-level=JUSTIFIED
is asserted against a real row. Two mutants kill it: dropping the package-level
key, and blocking UNJUSTIFIABLE axes from JUSTIFIED as well.
Verified. Every md5-cache delta is _md5_ only; two entries also reordered
_eclasses_, checked pair by pair as same names and same hashes. pkgcheck against
a worktree at a67afc170 is identical on ten of eleven packages once line numbers
are normalised, and differs on mesa by exactly the two findings this commit
fixes. The sweep goes 232 rows to 230 with ALIGN 70 -> 59: two closed outright,
nine reclassified. --self-test 24/24.
The deleted md5-cache entry is collateral kept rather than restored:
app-editors/zed-1.20.0_pre20260904-r2 lost its ebuild to another session's bump
in a67afc170 and egencache removed the orphan.
FOUND, NOT FIXED: files/unreferenced now reports two UNDOCUMENTED rows - four
patches no ebuild names, three tdesktop-6.9.3-* and one nodejs-24.11.1-gcc15-ppc,
all naming versions long gone from the tree. They predate this commit; they are
the first UNDOCUMENTED the tree has produced since 2026-09-05, which is the
verdict asking a human to decide. Deleting files is that human's call.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
commit e8eee5bbb599b083a9d3c403eadc57e72ff3e342
Author: lucascouts <lucascs@protonmail.com>
Date: Tue Aug 25 22:39:47 2026 -0300
add(app-emulation/open-vm-tools-13.1.0, metadata/md5-cache/app-emulation/open-vm-tools-13.1.0), mod(.autoupdate/packages.toml): package 13.1.0 with the dndcp include-order fix and an OpenRC script for vgauthd
::gentoo is at 13.0.10-r1. Two of the files here have no counterpart there.
files/open-vm-tools-json-c-debug-h.patch is what makes the package build at
all on this host. libdndcp_la_CPPFLAGS listed @GTK_CPPFLAGS@ ahead of the
tree's own -I paths, so `#include "debug.h"` in the dndcp plugin resolved to
/usr/include/json-c/debug.h, which declares no Debug(), and every LOG() in the
plugin failed to compile. json-c reaches the gtk+-3.0 cflags through
util-linux[cryptsetup]: mount.pc requires libcryptsetup, libcryptsetup.pc
requires json-c. That USE flag is not on by default, which is why the failure
reads as compiler- or version-specific in bug 956496 (open since 2025-05-23)
while really depending on how util-linux was built. Measured: ::gentoo's own
13.0.10-r1 fails identically here with the same five errors, so this is not a
13.1.0 regression, and `g++ -E` on the same compile line shows json-c's header
in the linemarkers and none of open-vm-tools'. Recompiling that one file with
-I<S>/lib/include prepended exits 0. The patch only reorders; no flag is added
or removed.
files/vgauthd.initd closes an OpenRC gap. With USE=vgauth the package installs
two systemd daemons -- vmtoolsd and vgauthd -- and ::gentoo ships an init
script for the first only, leaving VGAuthService unstartable on an OpenRC host.
It uses "-s" plus command_background, mirroring the plain Type=simple unit;
"-b" would fork on its own but writes a pid lock file at a path hardcoded in
vgauth/service/main.c that the service manager does not control.
REQUIRED_USE gains `vgauth? ( pam )`. configure.ac hard-errors on
"--enable-vgauth --without-pam", so USE="vgauth -pam" died mid-configure
instead of at dependency resolution (bug 971859, reproduced on 13.1.0).
13.1.0 dropped gtk2 and added gtk4, whose default is "auto", so --without-gtk2
left the ebuild (configure reports it as unrecognized) and --without-gtk4
entered it. --with-gtk3 already wins the tie-break -- verified with gtk-4.20.4
installed and gtkmm-4.0 absent, the case that trips the new AC_MSG_ERROR --
but the ebuild says it outright rather than relying on ordering inside
configure.ac. Exposing USE=gtk4 is the obvious follow-up and is not done here:
gtkmm-4.0 is not installed on this host, so it could not be built and proven.
MY_BUILD is a variable of its own because the tarball name carries an opaque
build counter (13.0.10 = 25056151, 13.1.0 = 25218885) that no rule derives from
PV. Inline in MY_P it would survive a PV bump and 404 at manifest time. The
autoupdate record pulls it back out of the asset name with aux_var/aux_pattern,
from the same JSON body the version came from. The record probes
releases/latest rather than tags: upstream ships two lines from one tag space
(stable-12.5.4 and stable-13.0.5 were published the same day), so ranking tags
would pick whichever sorts higher.
Verified: `ebuild ... install` completes (21 plugins including libdndcp.so, no
.la left, /etc/init.d/{vgauthd,vmware-tools} and both units in the image);
check-openrc-coverage.sh PASS; gentoo-parity.sh exit 0 with 0 UNDOCUMENTED;
`emerge -pv` prefers 13.1.0::bentoo over 13.0.10-r1::gentoo; USE="vgauth -pam"
is refused at resolution; the autoupdate record answers up-to-date live.
Two host gaps were worked around outside the ebuild, in an isolated config
root: USE=-dnet (dev-libs/libdnet not installed) and RPCGEN pointed at a
locally built rpcsvc-proto. The USE=dnet path is therefore unexercised here,
though `emerge -pv` resolves it. This host has no sudo, so nothing was merged.
pkgcheck reports NonexistentDeps for `<media-libs/mesa-25.2` in the
resolutionkms || block. It is inherited -- ::gentoo emits the identical finding
on 13.0.10-r1 -- and is kept for parity rather than silently diverging.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
commit eca13104402b5f889cf3eba0e9f4b9111dcf045e
Author: lucascouts <lucascs@protonmail.com>
Date: Tue Feb 10 09:13:15 2026 -0300
add(app-editors/vscodium-1.108.20787), del(app-emulation/open-vm-tools-13.0.10, www-client/librewolf-147.0.2_p1)
commit ff544e7e70ac4343184fa06bb704c5349367ff18
Author: lucascouts <lucascs@protonmail.com>
Date: Sun Feb 8 23:07:35 2026 -0300
add(app-containers/docker-29.2.1, app-emulation/open-vm-tools-13.0.10, dev-lang/go-1.25.7, dev-libs/nettle-4.0, media-gfx/krita-6.1.0_alpha_pre, media-sound/ardour-9.0.0), del(app-containers/podman-compose-1.5.0, app-emulation/libvirt-12.0.0, app-office/onlyoffice-bin-9.2.1, dev-python/libvirt-python-12.0.0, media-gfx/darktable-5.4.0, media-libs/gegl-0.4.66, media-sound/audacity-3.7.7, sys-boot/grub-2.14), up(app-containers/{docker-cli-29.1.3 -> 29.2.1, docker-compose-5.0.1 -> 5.0.2}, app-text/libetonyek-0.1.13 -> 0.1.13-r1, dev-libs/libixion-0.20.0 -> 0.20.0-r1, media-gfx/krita-5.2.15 -> 5.2.16)
commit c37938fb612bbdd71144a6059b7e57b91c10d467
Author: lucascouts <lucascs@protonmail.com>
Date: Sun Aug 25 22:03:21 2019 +0000
the master branch is the minimal overlay configuration.
commit 63aeeee72d16763fbcdb43a3bf0a32821128b2fa
Author: lucascouts <lucascs@protonmail.com>
Date: Fri Apr 12 16:44:58 2019 -0300
added(app-emulation/open-vm-tools-10.3.10, app-emulation/winetricks-20190310), updated(app-emulation/wine-vanilla-4.4 -> 4.5)
Author: lucascouts <lucascs@protonmail.com>
Date: Mon Sep 7 09:45:17 2026 -0300
fix(media-libs/mesa, dev-db/sqlitebrowser): two metadata.xml defects, mod(scripts/gentoo-parity.sh): a package-level axis CAN carry a reason, mod(9 packages): tag the rows that unlocks
The eleven rows left on metadata.xml and files/content were stuck by
construction: both axes were listed as unjustifiable, so every row on them was
ALIGN forever however deliberate the divergence. Two turned out to be real
defects. The other nine needed the guard fixed, not the tree.
THE DESIGN ERROR. PARITY_UNJUSTIFIABLE_AXES was documented as "these can never
be JUSTIFIED either", argued from "the file holds no ebuild code, so it cannot
carry a # BENTOO-DIVERGENCE: tag". That confuses WHERE THE DIFFERENCE IS with
WHERE THE REASON CAN BE WRITTEN. A patch under files/ exists because an ebuild
applies it; a metadata.xml describes a package whose ebuilds sit beside it. The
ebuild is the natural place for the reason and always was.
Mechanically the block was elsewhere anyway: these rows carry the literal
"(package)" where a PV goes, so assign_verdicts looks them up under
"<category>/<pn>-(package)|<axis>", and collect_tags only ever registered the
per-ebuild key "<category>/<pf>|<axis>". No tag could match. collect_tags now
registers both. The array keeps doing the job it should - blocking promotion to
UNDOCUMENTED, which is a claim about ebuild content that a file-level difference
cannot support.
The cost of the old reading was eleven permanently red rows, including
chromium's patched bin-finder.py and thirteen zed USE flag descriptions
::gentoo has no reason to carry. A guard with rows that can never go green is
one people stop reading.
THE TWO REAL DEFECTS, both in metadata.xml and both now gone from the report
rather than reclassified.
media-libs/mesa described five USE flags that no longer exist - d3d9, osmesa,
vdpau, vulkan-overlay, xa - and did NOT describe sysprof, which its IUSE does
have. pkgcheck was reporting both, as UnusedLocalUse and as UnknownUseFlags:
'sysprof' - the second because a flag with no description anywhere is not a
known flag. Both findings are gone.
dev-db/sqlitebrowser had lost the French <longdescription lang="fr"> and <use
lang="fr"> blocks ::gentoo carries. Nothing gained by dropping them; a
francophone user simply lost the translation in the fork. Restored verbatim, so
the file now matches ::gentoo's outside the maintainer block.
THE NINE TAGS. Five metadata.xml where the overlay documents MORE - zed's
thirteen own USE flags, and longdescription/bugs-to/remote-id on act,
foldingathome, fakeroot and minikube (fakeroot's records that the package is a
temporary mirror to delete once ::gentoo reaches 2.x, which has nowhere else to
live). Four files/content, each a deliberate difference: open-vm-tools.initd
gains "use vgauthd" because this overlay ships that service at all; blender's
two find-module patches are ::gentoo's rebased onto a series where upstream
CMake renamed the variables; libcamera's no-automagic patch is much smaller
because upstream de-automagicked most of it in 0.7.x, leaving only gnutls; and
chromium's bin-finder.py carries this overlay's observability work, which cannot
be upstreamed under Gentoo's no-AI-contribution policy.
A08 grows a fifth case for the new rule, because a mechanism with no test is how
the last one broke. The verdict fixture's metadata.xml now differs between its
two sides and its ebuild carries a metadata.xml tag, so package-level=JUSTIFIED
is asserted against a real row. Two mutants kill it: dropping the package-level
key, and blocking UNJUSTIFIABLE axes from JUSTIFIED as well.
Verified. Every md5-cache delta is _md5_ only; two entries also reordered
_eclasses_, checked pair by pair as same names and same hashes. pkgcheck against
a worktree at a67afc170 is identical on ten of eleven packages once line numbers
are normalised, and differs on mesa by exactly the two findings this commit
fixes. The sweep goes 232 rows to 230 with ALIGN 70 -> 59: two closed outright,
nine reclassified. --self-test 24/24.
The deleted md5-cache entry is collateral kept rather than restored:
app-editors/zed-1.20.0_pre20260904-r2 lost its ebuild to another session's bump
in a67afc170 and egencache removed the orphan.
FOUND, NOT FIXED: files/unreferenced now reports two UNDOCUMENTED rows - four
patches no ebuild names, three tdesktop-6.9.3-* and one nodejs-24.11.1-gcc15-ppc,
all naming versions long gone from the tree. They predate this commit; they are
the first UNDOCUMENTED the tree has produced since 2026-09-05, which is the
verdict asking a human to decide. Deleting files is that human's call.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
commit e8eee5bbb599b083a9d3c403eadc57e72ff3e342
Author: lucascouts <lucascs@protonmail.com>
Date: Tue Aug 25 22:39:47 2026 -0300
add(app-emulation/open-vm-tools-13.1.0, metadata/md5-cache/app-emulation/open-vm-tools-13.1.0), mod(.autoupdate/packages.toml): package 13.1.0 with the dndcp include-order fix and an OpenRC script for vgauthd
::gentoo is at 13.0.10-r1. Two of the files here have no counterpart there.
files/open-vm-tools-json-c-debug-h.patch is what makes the package build at
all on this host. libdndcp_la_CPPFLAGS listed @GTK_CPPFLAGS@ ahead of the
tree's own -I paths, so `#include "debug.h"` in the dndcp plugin resolved to
/usr/include/json-c/debug.h, which declares no Debug(), and every LOG() in the
plugin failed to compile. json-c reaches the gtk+-3.0 cflags through
util-linux[cryptsetup]: mount.pc requires libcryptsetup, libcryptsetup.pc
requires json-c. That USE flag is not on by default, which is why the failure
reads as compiler- or version-specific in bug 956496 (open since 2025-05-23)
while really depending on how util-linux was built. Measured: ::gentoo's own
13.0.10-r1 fails identically here with the same five errors, so this is not a
13.1.0 regression, and `g++ -E` on the same compile line shows json-c's header
in the linemarkers and none of open-vm-tools'. Recompiling that one file with
-I<S>/lib/include prepended exits 0. The patch only reorders; no flag is added
or removed.
files/vgauthd.initd closes an OpenRC gap. With USE=vgauth the package installs
two systemd daemons -- vmtoolsd and vgauthd -- and ::gentoo ships an init
script for the first only, leaving VGAuthService unstartable on an OpenRC host.
It uses "-s" plus command_background, mirroring the plain Type=simple unit;
"-b" would fork on its own but writes a pid lock file at a path hardcoded in
vgauth/service/main.c that the service manager does not control.
REQUIRED_USE gains `vgauth? ( pam )`. configure.ac hard-errors on
"--enable-vgauth --without-pam", so USE="vgauth -pam" died mid-configure
instead of at dependency resolution (bug 971859, reproduced on 13.1.0).
13.1.0 dropped gtk2 and added gtk4, whose default is "auto", so --without-gtk2
left the ebuild (configure reports it as unrecognized) and --without-gtk4
entered it. --with-gtk3 already wins the tie-break -- verified with gtk-4.20.4
installed and gtkmm-4.0 absent, the case that trips the new AC_MSG_ERROR --
but the ebuild says it outright rather than relying on ordering inside
configure.ac. Exposing USE=gtk4 is the obvious follow-up and is not done here:
gtkmm-4.0 is not installed on this host, so it could not be built and proven.
MY_BUILD is a variable of its own because the tarball name carries an opaque
build counter (13.0.10 = 25056151, 13.1.0 = 25218885) that no rule derives from
PV. Inline in MY_P it would survive a PV bump and 404 at manifest time. The
autoupdate record pulls it back out of the asset name with aux_var/aux_pattern,
from the same JSON body the version came from. The record probes
releases/latest rather than tags: upstream ships two lines from one tag space
(stable-12.5.4 and stable-13.0.5 were published the same day), so ranking tags
would pick whichever sorts higher.
Verified: `ebuild ... install` completes (21 plugins including libdndcp.so, no
.la left, /etc/init.d/{vgauthd,vmware-tools} and both units in the image);
check-openrc-coverage.sh PASS; gentoo-parity.sh exit 0 with 0 UNDOCUMENTED;
`emerge -pv` prefers 13.1.0::bentoo over 13.0.10-r1::gentoo; USE="vgauth -pam"
is refused at resolution; the autoupdate record answers up-to-date live.
Two host gaps were worked around outside the ebuild, in an isolated config
root: USE=-dnet (dev-libs/libdnet not installed) and RPCGEN pointed at a
locally built rpcsvc-proto. The USE=dnet path is therefore unexercised here,
though `emerge -pv` resolves it. This host has no sudo, so nothing was merged.
pkgcheck reports NonexistentDeps for `<media-libs/mesa-25.2` in the
resolutionkms || block. It is inherited -- ::gentoo emits the identical finding
on 13.0.10-r1 -- and is kept for parity rather than silently diverging.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
commit eca13104402b5f889cf3eba0e9f4b9111dcf045e
Author: lucascouts <lucascs@protonmail.com>
Date: Tue Feb 10 09:13:15 2026 -0300
add(app-editors/vscodium-1.108.20787), del(app-emulation/open-vm-tools-13.0.10, www-client/librewolf-147.0.2_p1)
commit ff544e7e70ac4343184fa06bb704c5349367ff18
Author: lucascouts <lucascs@protonmail.com>
Date: Sun Feb 8 23:07:35 2026 -0300
add(app-containers/docker-29.2.1, app-emulation/open-vm-tools-13.0.10, dev-lang/go-1.25.7, dev-libs/nettle-4.0, media-gfx/krita-6.1.0_alpha_pre, media-sound/ardour-9.0.0), del(app-containers/podman-compose-1.5.0, app-emulation/libvirt-12.0.0, app-office/onlyoffice-bin-9.2.1, dev-python/libvirt-python-12.0.0, media-gfx/darktable-5.4.0, media-libs/gegl-0.4.66, media-sound/audacity-3.7.7, sys-boot/grub-2.14), up(app-containers/{docker-cli-29.1.3 -> 29.2.1, docker-compose-5.0.1 -> 5.0.2}, app-text/libetonyek-0.1.13 -> 0.1.13-r1, dev-libs/libixion-0.20.0 -> 0.20.0-r1, media-gfx/krita-5.2.15 -> 5.2.16)
commit c37938fb612bbdd71144a6059b7e57b91c10d467
Author: lucascouts <lucascs@protonmail.com>
Date: Sun Aug 25 22:03:21 2019 +0000
the master branch is the minimal overlay configuration.
commit 63aeeee72d16763fbcdb43a3bf0a32821128b2fa
Author: lucascouts <lucascs@protonmail.com>
Date: Fri Apr 12 16:44:58 2019 -0300
added(app-emulation/open-vm-tools-10.3.10, app-emulation/winetricks-20190310), updated(app-emulation/wine-vanilla-4.4 -> 4.5)


View
Download
Browse