[Pkg-ime-devel] Dealing with opencc

Aron Xu aron at debian.org
Fri Dec 18 00:37:52 UTC 2015

On Thu, Dec 17, 2015 at 11:41 PM, ChangZhuo Chen (陳昌倬)
<czchen at debian.org> wrote:
> On Thu, Dec 17, 2015 at 08:18:58PM +0800, Aron Xu wrote:
>> On Wed, Dec 16, 2015 at 12:34 PM, ChangZhuo Chen (陳昌倬)
>> <czchen at debian.org> wrote:
>> > On Wed, Dec 16, 2015 at 01:20:08AM +0800, Aron Xu wrote:
>> >> Dear team,
>> >>
>> >> I'm now starting to drop dependencies of opencc from as many as
>> >> possible packages to avoid it, and plan to stick to 0.4.3 for a much
>> >> longer time in unstable/testing, but will maintain 1.0.x and future
>> >> series in experimental.
>> >
>> > Is it possible to maintain opencc 0.4.3 and 1.0.x at the same time in
>> > unstable?
>> >
>> This is doable, but the problem is how to maintain the ABI for 1.0.x
>> series. We need to make sure it won't break for end user, so every
>> time there's an update, we need to do library transition. Do you have
>> any suggestion on deal with that?
> Maybe we can create a new source package called opencc2, put all 1.0.x
> series package there, and append all package names with soversion 2. In
> this way, we can have both libopencc1 and libopencc2 at the same time,
> and the package needs libopencc2 can use libopencc2-dev as its
> Build-Depends.
> As for command line tool, we can just keep the new one.

The problem I'm describing cannot be solved by creating of a new
source package in a different name. In open 1.0.2, upstream bumped
SOVERSION to 2, so it's libopencc.so.2 (not mentioning upstream
intentionally kept the file name as libopencc.so.1 which we patched to
correct one), but after the release of 1.0.3, it shows that the new
one is not binary compatible to 1.0.2 but has the very same SOVERSION
like 1.0.2. If a binary built with 1.0.2 runs in an environment that
has 1.0.3 installed, then it will crash. In practice, upstream should
bump SOVERSION for such binary incompatible change, but opencc
upstream never cared about it.


>> > The latest version of ibus-libzhuyin cannot be built without opencc 1.x
>> > series. And because of this, libzhuyin and fcitx-zhuyin cannot migrate
>> > to unstable either.
>> >
>> I understand, same situation applies to rime. But we don't what things
>> to break, so we need to hold off before there's a proper solution.
>> Thanks,
>> Aron
> --
> ChangZhuo Chen (陳昌倬) <czchen at debian.org>
> Debian Developer (https://nm.debian.org/public/person/czchen)
> Key fingerprint = EC9F 905D 866D BE46 A896  C827 BE0C 9242 03F4 552D

More information about the Pkg-ime-devel mailing list