Popped up today on #gentoo-dev-help for virtual/ffmpeg:
$ cat ffmpeg-9-r2.ebuild
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
DESCRIPTION="Virtual package for FFmpeg executable implementation"
# Please note that this virtual is only suited for packages that call
# ffmpeg/avconv or one of the remaining executables. If your package
# links to one of the libraries, you need to use the following
# dependency instead (adding IUSE=libav):
# libav? ( media-video/libav:0= )
# !libav? ( media-video/ffmpeg:0= )
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 sparc x86 ~amd64-linux ~x86-linux"
IUSE="X +encode gsm jpeg2k mp3 opus sdl speex theora threads truetype vaapi vdpau x264"
I suggest adding a check to repoman to:
- warn about redundant virtual if it has only one provider
- suggest adding a package to package.deprecated if it's not there yet
That way users will see a warning and will gradually move away from the virtual.
repoman support has been removed per bug 835013.
Please file a new bug (or, I suppose, reopen this one) if you feel this check is still applicable to pkgcheck and doesn't already exist.
If we do this, we should check that all versions of the package have a single provider instead, I think, to avoid issues where we might have subslotted virtuals? dunno