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? (new package - add break, replaces) I also have to deal with the repo name. I created it two years ago. Named libcdk5 (libcdk5.git). > >> 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. Regards, Herbert