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

Re: What's the deal with the mpfr versioning? libmpfr4 vs. libmpfr6



On Tue 31 Jul 2018 at 10:01:00 (-0400), Stefan Monnier wrote:
> >> Funny thing is, this is what the versioning says on those pages:
> >> Package: libmpfr4 (3.1.6-1)
> >> Package: libmpfr6 (4.0.1-1)
> >>
> >> ...ok, that's strange. Even weirder, they are both built from the same
> >> sources: mpfr-4.0.1-1.
> 
> Indeed, I find that odd.

I can't find any evidence for that without being told where to look.

> I suspect that the "3.1.6-1" in the "title" and the "4.0.1-1" in the
> "download from source" refer to different versions of the package
> (normally, those two are identical).
> 
> Not sure how/why this happens.  Maybe the source package has been
> upgraded, but the build of the corresponding binaries is still
> in-progress?
> 
> >> I feel like I'm missing something. For example, what does the
> >> "3.1.6-1" mean in libmpfr4?
> 
> Usually it means "built from the upstream version 3.1.6 with some local
> patches" and the "-1" is a Debian-local sub-version, in case Debian
> builds several different versions of the package from the same upstream
> versions (e.g. because Debian's own patches are modified, a typical
> example being when Debian's security team backports a security patch to
> 3.1.6).

Usually they are, but you can't always rely on it; eg Grub2 had
Debian version numbers 1.x in the days of wheezy. You have to check a
little deeper: that was my point.

> > The numbers in parentheses are the Debian versions of the package.
> > That's how apt would upgrade a package if a bug was fixed within it.
> > They're not related to the upstream version.
> 
> Doesn't explain why one says "Package: libmpfr4 (3.1.6-1)" and the other
> says "[mpfr4_4.0.1-1.dsc]": both "3.1.6-1" and "4.0.1-1" are Debian
> version numbers and they are usually the same.

I'm not sure you're quoting from here.

> > As for the "6", I'm guessing that they chose that because the library
> > version (yes, another versioning sequence) is 6.0.1 as opposed to 4.1.5.
> 
> That's right, this is an "API version", so I guess it means that the
> 4.0.1 upstream code can be used to build both the API version 4 and
> the API version 6.

That seems unlikely to me. I'm not going to bother to download the
source to find out, but I suspect that the 4 in Packages's "Source:
mpfr4" line is spurious, accidentally introduced between lenny and
squeeze. I think that is the only mystery here, and the rest of the
"problem" is built on jumping to false conclusions (or assumptions).

Cheers,
David.


Reply to: