Bug#680613: libav: Multi-Arch: foreign libraries

Stepan Golosunov stepan at golosunov.pp.ru
Sat Jul 7 19:36:28 UTC 2012


07.07.2012 ц≈ 19:54:24 +0200 Reinhard Tartler ц▌ц│ц░ц┴ц⌠ц│ц▄:
> On Sat, Jul 7, 2012 at 7:30 PM, Stepan Golosunov <stepan at golosunov.pp.ru> wrote:
> > 07.07.2012 ц≈ 18:30:49 +0200 Reinhard Tartler ц▌ц│ц░ц┴ц⌠ц│ц▄:
> >> On Sat, Jul 7, 2012 at 1:03 PM, Stepan Golosunov <stepan at golosunov.pp.ru> wrote:
> >> > 07.07.2012 ц≈ 11:57:47 +0200 Reinhard Tartler ц▌ц│ц░ц┴ц⌠ц│ц▄:
> >> >> On Sat, Jul 7, 2012 at 11:50 AM, Stepan Golosunov
> >> >> <stepan at golosunov.pp.ru> wrote:
> >> >> >
> >> >> > libavutil-extra-51, libavdevice-extra-53, libavfilter-extra-2,
> >> >> > libpostproc-extra-52, libavformat-extra-53 and libswscale-extra-2 are
> >> >> > Multi-Arch: foreign transitional packages.
> >> >> >
> >> >> > This allows the packages to satisfy dependencies of
> >> >> > foreign-architecture packages while providing only libraries for
> >> >> > a native architecture, which is obviously incorrect.
> >> >> >
> >> >> > Transitional library packages should be Multi-Arch: same (but that
> >> >> > would require making them Architecture: any). I guess these packages
> >> >> > should just be removed, as the only non-transitional versions of the
> >> >> > packages still existing in Debian are uninstallable 4:0.7.2.1~bpo60+1
> >> >> > packages in backports and obsolete 4:0.7.2.1+b1 armhf on debports.


> err, the first one is superseeded by the one built from the source
> package 'libav'. It is uninstallable because the newer packages has a
> higher version number. Can you please explain the problem again?
> 
> > Package: libavformat-extra-53
> > Version: 4:0.7.2.1~bpo60+1
> 
> That's the superseeded one and should get removed.

I only mentioned backports in the context of the "remove buggy
transitional packages" solution. If there are no packages to
transition from then there is no need for transitional packages to
exist. And the only relevant untransitioned packages which can be
found in Debian now are the superseded and uninstallable ones in
backports. The installable versions are already transitioned.

Meaning that the current packages in squeeze-backports and squeeze do
not prevent removal of the buggy transitional packages. (Though the
removal would still require checking that there are no versioned
reverse dependencies without alternatives and probably preapproval
from the release team.)


> >> > If the transitional packages are to stay, the correct way to proceed
> >> > is either to change them to Multi-Arch: same, Architecture: any or to
> >> > remove their Multi-Arch headers.
> >>
> >> Err, they (i.e., all but libavcodec-extra-53, and that's critical) are
> >> already Arch: all, with Multi-arch: foreign. Do I understand you
> >> correctly that they should rather by Multi-arch: same?
> >
> > Yes. Now in testing apt-get allows installing, for example,
> > minidlna:amd64 on a system with i386 dpkg without installing
> > libavformat53:amd64, as the
> > Depends: libavformat53 (>= 4:0.8-1~) | libavformat-extra-53 (>= 4:0.8-1~)
> > is satisfiable by libavformat-extra-53:all and libavformat53:i386
> > combination.
> 
> To recap, what's the problem now?

The problem is that "Multi-Arch: foreign" header on transitional
packages incorrectly allows installation of packages depending on
libavformat53:amd64 without installation of libavformat53:amd64.

There are at least three solutions:
1. Fix the header to be "Multi-Arch: same".
2. Remove "Multi-Arch:" header from the transtional packages.
3. Remove buggy transitional packages.





More information about the pkg-multimedia-maintainers mailing list