On 6 February 2018 at 00:35, Joni Orponen <j.orponen@4teamwork.ch> wrote:
On Mon, Feb 5, 2018 at 2:51 PM, Nick Coghlan <ncoghlan@gmail.com> wrote:
As an illustrative example, manylinux1 was essentially manylinux2007, and it's now running into problems precisely because that baseline is more than a decade old. That's not obvious if all you know is the sequential number "1", but it makes intuitive sense once you realise the effective baseline year is back in 2007.
The 2007 baseline of a fairly conservative enterprise Linux distribution, which relatively liberally backports features in point releases over the lifespan.
Red Hat only backports features that don't break ABI, so the year still sets the ABI baseline.
As discussed, the year does not ultimately mean all that much.
It does, it drives the entire process, as we want to maintain compatibility with a broad range of environments, and the simplest metric for ensuring that is "How old is the baseline?". They fact you're not aware of this is problematic, since it means we're not conveying that clearly.
Just going with sequential version numbers exposes and/or hides just enough for the end user.
It doesn't though, since once we have a few versions out there, it conveys *no* information about which potential users and deployment environments are being excluded by targeting a particular manylinux version. Compare: - manylinux1 vs manylinux2 vs manylinux3 - manylinux2007 vs manylinux2010 vs manylinux2014 In the first one, you have to go look at the PEPs defining each version to get any sense whatsoever of who you might be excluding by targeting each variant. In the second, it's pretty clear that you'd be excluding users of pre-2007 distros, pre-2010 distros, and pre-2014 distros respectively. It's a heuristic, not a precise guideline (you'll still need to compare PEPs to distro ABIs to get the exact details), but it conveys a lot more useful information than the plain sequential numbering does.
Is there a particular reason for not picking RHEL 7 as the base for manylinux2 at this point?
Yes, it's too new - it would set the baseline at around 2014, which cuts out a lot of end user environments that are still in the process of being upgraded to newer alternatives (most notably RHEL/CentOS 6, since they're still supported, but other LTS distros still tend to linger past their nominal end of life dates). Cheers, Nick. -- Nick Coghlan | ncoghlan@gmail.com | Brisbane, Australia