Em 11-03-2018 17:35, Sven Joachim escreveu:
> On 2018-03-11 10:57 -0300, Herbert Fortes wrote:
>> Em 10-03-2018 15:24, Sven Joachim escreveu:
>>> On 2018-03-10 09:31 -0300, Herbert Fortes wrote:
>>>> Em 09-03-2018 17:03, Sven Joachim escreveu:
>>>>> On 2018-03-09 15:18 -0300, Herbert Fortes wrote:
>>>>>> Hi Sven Joachim,
>>>>>>>> My conclusion is that it is very risky to allow such combinations, and
>>>>>>>> to rule them out I propose to change the package name of the cdk
>>>>>>>> library, say to libcdk5a.  It would then have to build-depend on
>>>>>>>> libncurses-dev (>= 6.1+20180210) to ensure that it is linked against
>>>>>>>> libncurses6 and not libncurses5.  Of course this can only be uploaded
>>>>>>>> to experimental for now, but should go to unstable when the ncurses
>>>>>>>> transition starts there.
>>>>>> I am OK with changing the name. But libcdk5a does not say 
>>>>>> much about why the change.
>>>>>> Since the package name will change because of SONAME of 
>>>>>> libncurses, I thought to follow the SONAME of the library.
>>>>> Well, the SONAME of the cdk library does not change with my proposal.
>>>>>> libcdk5-6
>>>>> If you like that better than libcdk5a, choose it.  Or any other name,
>>>>> it's rather arbitrary anyway.
>>>>>> But maybe this will cause misunderstanding. The change is
>>>>>> on version 6.1+20180210.
>>>>> That's why the build-dependency on libncurses-dev (>= 6.1+20180210) is
>>>>> needed.
>>>>> I am not sure we understand each other yet, but I'm happy to answer
>>>>> questions.
>>>> Good! I am searching for a name. And talk about it could
>>>> help.
>>>> cdk library had problems before (about name), and I belive
>>>> the number "5" (cdk SONAME) was the choice to differ from the
>>>> other package. That's what I remember.
>>>>  - libcdk-java
>>>>  - libcdk-perl
>>>>  - libcdk5
>>>> The "5" was accepted because the SONAME does not change much.
>>> The "5" is there because it is the standard convention for shared
>>> library packages: if you ship libfoo.so.5 in your package, the package
>>> is supposed to be called libfoo5.  See the chapter in the Policy about
>>> shared libraries.[1]
>>> Now, the "chtype" change in ncurses changes the ABI of the cdk library,
>>> and hence the package name must change to not break reverse dependencies
>>> (e.g. gphoto2).  Ideally, the SONAME would also change, but this means
>>> you would have to invent your own SONAME since upstream did not take it
>>> into account.  Therefore I proposed to only change the package name,
>>> from libcdk5 to libcdk5a (or any other name, it's really arbitrary).
>>> This means that the reverse dependencies have to be upgraded in
>>> lock-step, but since there are only three of them (cpm, libcdk-perl and
>>> gphoto2), that looks manageable.
>> OK. I read what I wanted (SONAME part) and understood why the 
>> change. Thanks for that!
>> I only managed one SONAME change (libgphoto2), more than a year ago.
>> After change the name I must email the reverse_dependencies and
>> ask them to use the new package and let the old one die. Is that
>> it?
> No, reverse dependencies just have to be binNMU'ed.  For cpm and gphoto2
> this will happen anyway as part of the ncurses transition, for
> libcdk-perl we'll have to ask the release team separately.  But I can
> take care of that.
>> (new package - add break, replaces)
> Or Conflicts+Replaces as in my original patch.
>> I also have to deal with the repo name. I created it two years ago.
>> Named libcdk5 (libcdk5.git).
> It probably should have been named cdk instead, but I would postpone
> renaming the source package until the SONAME actually changes.  But
> that's up to you.  The downside (if you rename the source package now)
> is that the FTP masters may take longer to review it than if there's
> just a new binary package.

Yes. But cdk already exists[0]. 

[0] - https://tracker.debian.org/pkg/cdk

>>>> The number "6" is from libncurses. If the two projects have
>>>> a strong link, it could be used. But seeing the two numbers,
>>>> which of them refers to what. I can put an explanation on 
>>>> debian/README.Debian file. But maybe the name will be changed
>>>> more than expected.
>>> Well, you could use libcdk5nc6 or something like that to indicate that
>>> the package name change is related to libncurses6, but there is no need
>>> to explain this in a README.Debian, since shared libraries are usually
>>> automatically installed as a dependency of some other package and not
>>> for their own merits.
>> libcdk5nc6 sounds good to me.
> Fine with me, I have attached an updated patch for that new name.

Thank you very much!

I will get the new upstream version, apply the patch and send it to
experimental this week.


Reply via email to