[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: