I have two more ideas regarding this issue:
1) We have two library packages that conflict with each other. Why don't
we have two -dev packages that conflict with each other, then?
I suggest to introduce a new libavcodec-extra-dev package that depends
on "libavcodec | libavcodec-extra" and change the libavcodec-dev package
to only depend on the regular libavcodec. The shlibs need to get
adjusted accordingly, of course.
This way, maintainers have a means to consider the possible license
clash at build time and we dont have to juggle conflicts with virtual
packages.
I suggest to turn the situation around and provide the GPLv3 codecs in
the regular libavcodec package. For the few package for which this could
impose a license problem, we should provide an extra GPLv2 package.
So, together with my first proposal this would result in the following
package situation:
libavcodec-dev depends libavcodec | libavcodec-gpl2
libavcodec-gpl2-dev depends libavcodec-gpl2
libavcodec provides all codecs, even the gpl3-compatible ones
libavcodec-gpl2 provides only the gpl2-compatible codecs
libavcodec-extra* is no more
What do you think?