Bug#1113790: libtheora1 has potentially unnecessary dependencies on libtheoradec2, libtheoraenc2
Package: libtheora1
Version: 1.2.0+dfsg-5
Severity: normal
Before libtheora 1.2.0~alpha1+dfsg-1, the libtheora0 package contained
not only libtheora.so.0 but also libtheoraenc.so.1 and
libtheoradec.so.1, contrary to Policy §8.1. This was fixed in trixie by
splitting the package. Because libtheora0 had historically provided all
three libraries, it was necessary for the new libtheora0 to have a
Depends on libtheoraenc1 and libtheoradec1, so that pre-existing binary
packages linked to libtheoraenc.so.1 and/or libtheoradec.so.1 would
continue to work.
However, now that all three libraries have bumped their SONAMEs in
forky, that transitional dependency is no longer necessary: any binary
that is linked to libtheoraenc.so.2 or libtheoradec.so.2 would have
generated a proper dependency on libtheoraenc2 or libtheoradec2.
So I think it might be a good time to drop those transitional
dependencies, as long as it is done quite soon (and certainly well
before the freeze for forky). The three libraries seem to be completely
independent now.
If the three libraries need to be upgraded in lockstep (they seem to
export some of the same symbols, like theora_comment_clear() and
theora_encode_header(), so probably bad things would happen if
mismatched versions of them get linked into the same process) then
perhaps each of them should have a versioned Breaks on each of the other
two, with (<< ${binary:Version}), instead of a lockstep-versioned Depends?
The versioned Breaks and Replaces on pre-split versions of libtheora0
can likely also be dropped now, since they are no longer applicable.
smcv
Reply to: