0

For example, I have the following deb: python3-numpy_1%3a1.11.0-1ubuntu1_amd64

It has a name (python3-numpy), a supported processor (amd64) and a set of supported distributions (ubuntu1?)

What is the version? I thought it should follow the Major.Minor.Micro convention but this deb has some weird stuff in it...

1 Answers1

1

It's easiest to explain by following a release of numpy from Upstream to Debian to Ubuntu.

Let's start with the upstream version of numpy, version 1.11.0

A Debian volunteer packaged numpy for Python3. But for some reason, the upstream code needed to be tweaked or patched. Maybe there was a bug to be fixed or a build error. The slightly-changed source code was no longer stock 1.11.0. To tell the two versions apart, the Debian volunteer called the new version 1.11.0-1. The "-n" suffix is normal for Debian - they cannot use "1.11.1" because the numpy upstream might use that number, and intruding upon upstream's numbering would quickly get impossibly confusing.

This newer Debian version was absorbed into the Ubuntu 16.04 repositories. But again, the first build didn't work and the source code needed to be tweaked. The Ubuntu Developer called this even-newer version 1.11.0-1ubuntu1. Ubuntu can't call it 1.11.0-2 because Debian might use that number.

Once you get used to how to read the version numbers, it's like a trail of clues telling you where code changes occurred. Then you can look in the right place to find out why that change occurred.

user535733
  • 62,253