pkgcore / pkgcheck

pkgcore-based QA utility for ebuild repos
https://pkgcore.github.io/pkgcheck
BSD 3-Clause "New" or "Revised" License
35 stars 29 forks source link

Detect now-obsolete USE masks #297

Open thesamesam opened 3 years ago

thesamesam commented 3 years ago

We have an issue for (particularly minor) arch teams where {package.,}use.{stable,}.mask entries are added and then forgotten.

Could pkgcheck detect masks that, when removed, do not affect the integrity of the depgraph?

Masks may exist for depgraph reasons (not yet keyworded or stable) or instead that a feature is genuinely not supported on a certain platform. We want to avoid noise in the latter case.

I suppose a general list of possibly-obsolete-but-needs-triage masks would work, but I'm already unsure if it's computationally feasible to do this?

(Note that this request is linked to recent discussions on the gentoo-dev ML regarding parsable package.mask entries. That is, if we could determine via a field that an entry is purely for depgraph reasons (see above), we can eliminate noise.)

radhermit commented 3 years ago

It could help to give examples of such masks in the current tree.

thesamesam commented 3 years ago

I usually remove them when I notice!

$ grep "gst-plugins-meta" profiles/arch/arm/package.use.mask
media-plugins/gst-plugins-meta aac dts dv lame libvisual modplug taglib vcd wavpack dvd

e.g. but media-plugins/gst-plugins-taglib has since gained both the ~arm and then arm keyword. So, the taglib mask could be safely removed.

The main issue here is that people mask things and then years later, the functionality is unavailable to users even though the issue is long gone (say, it was keyworded for another reason, or a dep was removed). Or people either file bugs but we forget to unmask.