Open thesamesam opened 2 weeks ago
I'd recommend only adding this detection to pkgcheck and not try to conditionally error out in the underlying dep parser in pkgcore as doing that properly would require threading a conditional down to relevant functions, complicating the process.
For reference, I noticed the same oversight in pkgcraft so the case is now flagged via pkgcruft: https://github.com/pkgcraft/pkgcraft/commit/e721dbc5c.
Is there an existing issue for this?
Current Behavior
Portage will refuse packages with
DEPEND
containing:=
with a fixed subslot, e.g. Blender'sdev-util/hip:0/5.7=
).It isn't legal to specify
app-misc/foo:0/x=
because0/x
is the subslot, it doesn't make sense to say it can then rebuilt for a source package. This syntax is legal in Portage's vdb because it records what was actually built against.PMS (8.3.3) says:
I fixed this in ::gentoo in 875e4444e2fcdf7b7d6d70f05f9ff26635aa144f. The bad ebuild is at https://github.com/gentoo/gentoo/blob/875e4444e2fcdf7b7d6d70f05f9ff26635aa144f~1/media-gfx/blender/blender-9999.ebuild#L90.
Expected Behavior
pkgcheck should raise an invalid dependency result.
pkgcheck version
pkgcheck 0.10.31-3-g48fbc35 -- Thu, 4 Jul 2024 23:07:15 +0300
pkgcore version
pkgcore 0.12.28-3-gaa9418b -- Thu, 4 Jul 2024 22:32:44 +0300