[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH] RFC: Version support policy
The current policy for minimum supported versions of tools, compilers, etc. is unsatisfactory: For many dependencies no minimum version is specified. For those where a version is stated, updating it is a decision that has to be explicitly taken for that tool. The result is persistent debates over what is good to support, conducted in detail in the context of individual patches. Decisions about support involve tradeoffs, often tradeoffs between the interests of different people. Currently we don't have anything resembling a guideline. The result is that the individual debates are inconclusive; and also, this framework does not lead to good feelings amongst participants. I suggest instead that we adopt a date-based policy: we define a maximum *age* of dependencies that we will support. The existing documentation about actually known working versions then becomes a practical consequence of that policy. In this patch I propose a cutoff of 6 years. Obviously there will be debate about the precise value. It will also be necessary to make exceptions, and/or to make different rules for different architectures. In particular, new architectures, new configurations, or new features, may need an absolute earliest tooling date which is considerably less than the usual limit. I have tried to transcribe the current compiler version info into this format. The dates in the exceptions are all more recent than my suggested 6 year cutoff, so if this patch is applied to staging and not applied retrospectively, they could be removed. I'm not sure if this policy should be here in README (where the version support was until now) or in SUPPORT.md. Signed-off-by: Ian Jackson <iwj@xxxxxxxxxxxxxx> --- README | 38 +++++++++++++++++++++++++------------- 1 file changed, 25 insertions(+), 13 deletions(-) diff --git a/README b/README index 562b808080..5859f8bbf4 100644 --- a/README +++ b/README @@ -35,19 +35,8 @@ Second, there are a number of prerequisites for building a Xen source release. Make sure you have all the following installed, either by visiting the project webpage or installing a pre-built package provided by your OS distributor: - * GNU Make v3.80 or later - * C compiler and linker: - - For x86: - - GCC 4.1.2_20070115 or later - - GNU Binutils 2.16.91.0.5 or later - or - - Clang/LLVM 3.5 or later - - For ARM 32-bit: - - GCC 4.9 or later - - GNU Binutils 2.24 or later - - For ARM 64-bit: - - GCC 5.1 or later - - GNU Binutils 2.24 or later + * GNU Make + * C compiler and linker (x86: GCC or CLang; ARM: GCC) * Development install of zlib (e.g., zlib-dev) * Development install of Python 2.6 or later (e.g., python-dev) * Development install of curses (e.g., libncurses-dev) @@ -65,6 +54,29 @@ provided by your OS distributor: * GNU bison and GNU flex * ACPI ASL compiler (iasl) +In general, tools and compilers no more than 6 years old are +supported (measured from the release date of the Xen version). +However: + * x86: CLang/LLVM earlier than 3.5 is unsppported + * ARM 64-bit, dependencies older than 2015-04-22 are unsupported + * ARM 32-bit, dependencies older than 2014-04-22 are unsupported + +FYI, we believe the following versions work with this version of Xen: + * GNU Make + - v3.80 or later + * C compiler and linker: + - For x86: + - GCC 4.1.2_20070115 or later + - GNU Binutils 2.16.91.0.5 or later + or + - Clang/LLVM 3.5 or later + - For ARM 32-bit: + - GCC 4.9 or later + - GNU Binutils 2.24 or later + - For ARM 64-bit: + - GCC 5.1 or later + - GNU Binutils 2.24 or later + In addition to the above there are a number of optional build prerequisites. Omitting these will cause the related features to be disabled at compile time: -- 2.20.1
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |