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

Re: [PATCH RFC] docs: Add minimum version depencency policy document



On Thu, 1 Oct 2020, George Dunlap wrote:
> > On Sep 30, 2020, at 9:23 PM, Stefano Stabellini <sstabellini@xxxxxxxxxx> 
> > wrote:
> > 
> > On Wed, 30 Sep 2020, George Dunlap wrote:
> >> Define a specific criteria for how we determine what tools and
> >> libraries to be compatible with.  This will clarify issues such as,
> >> "Should we continue to support Python 2.4" moving forward.
> >> 
> >> Note that CentOS 7 is set to stop receiving "normal" maintenance
> >> updates in "Q4 2020"; assuming that 4.15 is released after that, we
> >> only need to support CentOS / RHEL 8.
> >> 
> >> Signed-off-by: George Dunlap <george.dunlap@xxxxxxxxxx>
> >> ---
> >> 
> >> CC: Ian Jackson <ian.jackson@xxxxxxxxxx>
> >> CC: Wei Liu <wl@xxxxxxx>
> >> CC: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
> >> CC: Jan Beulich <jbeulich@xxxxxxxx>
> >> CC: Stefano Stabellini <sstabellini@xxxxxxxxxx>
> >> CC: Julien Grall <julien@xxxxxxx>
> >> CC: Rich Persaud <persaur@xxxxxxxxx>
> >> CC: Bertrand Marquis <Bertrand.Marquis@xxxxxxx>
> >> ---
> >> docs/index.rst                        |  2 +
> >> docs/policies/dependency-versions.rst | 76 +++++++++++++++++++++++++++
> >> 2 files changed, 78 insertions(+)
> >> create mode 100644 docs/policies/dependency-versions.rst
> >> 
> >> diff --git a/docs/index.rst b/docs/index.rst
> >> index b75487a05d..ac175eacc8 100644
> >> --- a/docs/index.rst
> >> +++ b/docs/index.rst
> >> @@ -57,5 +57,7 @@ Miscellanea
> >> -----------
> >> 
> >> .. toctree::
> >> +   :maxdepth: 1
> >> 
> >> +   policies/dependency-versions
> >>    glossary
> >> diff --git a/docs/policies/dependency-versions.rst 
> >> b/docs/policies/dependency-versions.rst
> >> new file mode 100644
> >> index 0000000000..d5eeb848d8
> >> --- /dev/null
> >> +++ b/docs/policies/dependency-versions.rst
> >> @@ -0,0 +1,76 @@
> >> +.. SPDX-License-Identifier: CC-BY-4.0
> >> +
> >> +Build and runtime dependencies
> >> +==============================
> >> +
> >> +Xen depends on other programs and libraries to build and to run.
> >> +Chosing a minimum version of these tools to support requires a careful
> >> +balance: Supporting older versions of these tools or libraries means
> >> +that Xen can compile on a wider variety of systems; but means that Xen
> >> +cannot take advantage of features available in newer versions.
> >> +Conversely, requiring newer versions means that Xen can take advantage
> >> +of newer features, but cannot work on as wide a variety of systems.
> >> +
> >> +Specific dependencies and versions for a given Xen release will be
> >> +listed in the toplevel README, and/or specified by the ``configure``
> >> +system.  This document lays out the principles by which those versions
> >> +should be chosen.
> >> +
> >> +The general principle is this:
> >> +
> >> +    Xen should build on currently-supported versions of major distros
> >> +    when released.
> >> +
> >> +"Currently-supported" means whatever that distro's version of "full
> >> +support".  For instance, at the time of writing, CentOS 7 and 8 are
> >> +listed as being given "Full Updates", but CentOS 6 is listed as
> >> +"Maintenance updates"; under this criterium, we would try to ensure
> >> +that Xen could build on CentOS 7 and 8, but not on CentOS 6.
> >> +
> >> +Exceptions for specific distros or tools may be made when appropriate.
> >> +
> >> +One exception to this is compiler versions for the hypervisor.
> >> +Support for new instructions, and in particular support for new safety
> >> +features, may require a newer compiler than many distros support.
> >> +These will be specified in the README.
> >> +
> >> +Distros we consider when deciding minimum versions
> >> +--------------------------------------------------
> >> +
> >> +We currently aim to support Xen building and running on the following 
> >> distributions:
> >> +Debian_,
> >> +Ubuntu_,
> >> +OpenSUSE_,
> >> +Arch Linux,
> >> +SLES_,
> >> +Yocto_,
> >> +CentOS_,
> >> +and RHEL_.
> > 
> > Alpine Linux should be in the list (consider its usage in container
> > environment.)
> 
> Sure, we can add that one in.  Although, we might consider requiring that 
> distros on this list be first be added to the Gitlab CI loop if possible.
> 
> > I am still on Alpine Linux 3.7, so I am sure that one works. Probably
> > other versions work too.
> 
> Right, but the question is, if someone posts a patch which causes it to no 
> longer build on 3.7, would we reject it or accept it?
> 
> According to https://wiki.alpinelinux.org/wiki/Alpine_Linux:Releases, only 
> 3.12 is currently receiving bug fixes; so by the criteria above, we would 
> only reject a changeset if it caused a build regression for 3.12.
> 
> I would argue that this is the right approach: It doesn’t make sense for us 
> to spend more effort keeping an old distro working than that community it 
> self spends keeping it working.  The Ubuntu community spends effort keeping 
> Ubuntu 16.04 in working shape, so it makes sense for us to spend effort 
> making sure Xen 4.15 builds and runs on it.  The Alpine Linux community 
> doesn’t promise to spend any effort to fix any more bugs in Alpine Linux 
> 3.11, so it doesn’t make any sense for us to spend effort making sure Xen 
> 4.15 runs on it.
> 
> Obviously if it builds on Ubuntu 16.04 there’s a pretty high probability that 
> it will also build on Alpine Linux 3.4+ (released around the same time); we 
> just don’t want to promise that.

OK

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.