On Sat, Nov 22, 2014 at 8:51 AM, Andreas Cadhalpun
<andreas.cadhalpun@googlemail.com> wrote:
That's a nice idea, but just as the shlibs.local method, it doesn't work in
all cases. See my previous example of libkfilemetadata4, which would still
have the problem, because it only indirectly depends on libavcodec (via
libavformat) and thus can't change the libavcodec dependency.
I believe what is missing is that libav*-dev should all depend on
libavcodec-dev | libavcodec-gpl2-dev.
Then it can just fine build-depend on "libavformat-dev, libavcodec-gpl2-dev"
Before enabling the GPL v3 codecs by default someone would have to check all
reverse dependencies, whether they would be compatible. That means not only
to check for GPL-2 only in all reverse-dependencies, but also in their
linked in libraries and if any of the more exotic licenses of some (parts)
of them would indirectly imply GPL-2 only.
I would propose the following transition plan:
Step 1: libavcodec-dev depends on libavcodec-gpl2-dev
Step 2: Ping all rdeps maintainers with this change.
Step 3: swap the dependencies of libavcodec-dev
I would also add that libavcodec-gpl2-XY should Provide:
libavcodec-gpl2 (ie, an unversioned name) so that packages that
conflict with gpl3 can do so easily by depending on the virtual
package. Or alternatively do similarly with libavcodecXY providing
libavcodec-gpl3 and making packages Conflict with that virtual
package.