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

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


  • To: Stefano Stabellini <sstabellini@xxxxxxxxxx>
  • From: George Dunlap <George.Dunlap@xxxxxxxxxx>
  • Date: Thu, 1 Oct 2020 09:55:59 +0000
  • Accept-language: en-US
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com; dkim=pass header.d=citrix.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=mOHDXwmaZvhMduxoxAz5aybHHaFT/taKe8MmCgjjiBU=; b=V7/Q62lddfUzy7x9zuSs3SavoMB0/rembD6UG878TN8d4y4Zhy7KIjj/DQFh91Efh/jFz3+6/qj3eHeZ56d/UVhu/1LefsTgqiL0U2FQ/fSlKXA5oHI55LREYPo0qyr5hULf12Gs1aSlKX0NpCGqa6atFsG35kzj0iRa3NIkzvdn//ZC/lNCHIDt8V/V6SI+8t32c4Rfrrh9TXT2i5PgbaGf2HaTql2YPmCuc1Labctr0qI7Gr/Xa8sUlTCvXGIueUITJR1MiOf9mjfruntCCLNjn6l3+c8nnMwc0L4oaHQBWr+xeJbk5lggec7RK4HsJ0GGhSbe4w08tcmVjJQO3w==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MpoyqVL1uTKqrmbBEpJtVF3aqnc83g2s4vx9yI/REzkml5sDRVIBqKHxJyT48JGPqIXO135QyoyfUtW9XO9NVBY0gHzKH1EkiZYigE5Tfn52u+CIUant8jvGkrnMwql7qSBAbgCzi0ojsrcCYZpZvO+kHts+88C8zOb6Ug95RnfDl/PtS3O/aY/cxGPZknQ7lm78nCcat4agG0OKcl/mNaz6GviUutBIGbsrxx1RMoNNlsaSNrhSpvuiyb5bLSyXQ9Xt7BKnbDyO5gFTBpNkzgfcX6JJ92i/JL9O9+5hW1ehU1Ukgx2YkoVuMEDJhEf8TJogeo0buF33d0pxitbxSQ==
  • Authentication-results: esa4.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
  • Cc: "open list:X86" <xen-devel@xxxxxxxxxxxxxxxxxxxx>, Ian Jackson <Ian.Jackson@xxxxxxxxxx>, Wei Liu <wl@xxxxxxx>, Andrew Cooper <Andrew.Cooper3@xxxxxxxxxx>, Jan Beulich <jbeulich@xxxxxxxx>, Julien Grall <julien@xxxxxxx>, Rich Persaud <persaur@xxxxxxxxx>, Bertrand Marquis <Bertrand.Marquis@xxxxxxx>
  • Delivery-date: Thu, 01 Oct 2020 09:56:28 +0000
  • Ironport-sdr: aKHWpBhcwBw5XC2xOvbHRxNRXBVfQ5nBOTNUtrKAip5/CUsdXHuspzpyTDp6R+WXB7gLgkg9iB 8iBBrU1bUaEXIuAsEKFJAgxTk/tB5RTR4lmPnm7TbCFc0HIsRrPdWT1772Mrh/qsa4z4dUPWDc 93Zu2wZw1j3sRBm4dNiPVMGAQH1UmwiOJMnh9dNk14gAHM8hNT1D1x7J56xckZbFzGVu4ChduD vtrNZJHaKfQMtYpyVK7xXpRGoW72fZSF4bv0OhV30UsMlRsalxmcIfxeMT8Nf54SZ2fdlNu9tO BN0=
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Thread-index: AQHWlylRG8SsjpT4JUGR4W/Ewa0YcqmBoNCAgADi/AA=
  • Thread-topic: [PATCH RFC] docs: Add minimum version depencency policy document


> 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.

 -George


 


Rackspace

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