[PATCH] Improved version reporting

From: Riley Williams (rhw@MemAlpha.CX)
Date: Wed Mar 14 2001 - 05:39:53 EST


Hi all.

As a result of private email correspondance I have recently received, I
became aware that the current system of identifying the versions of the
various subsystems required to support any particular kernel version is
inadequate, and decided to do something about it. The enclosed patch is
my offering to rectify this.

The problems identified are:

 1. Different subsystems are identified in Documentation/Changes and in
    scripts/ver_linux, probably due to the difficulty of maintaining two
    files in sync with each other. As a result, it is not clear what the
    required versions of some subsystems are.

 2. The existing script does not make it clear which subsystems need to
    be updated. The user is expected to decide by cross-referencing the
    details it provides with those provided elsewhere.

 3. The command to perform this analysis is not immediately obvious.

My offering (developed against the 2.4.2 kernel source tree) does away
with all three of these problems by:

 A. Making Documentation/Changes the sole source of information on the
    subsystems required. The script I have developed then reads the
    table in this file, and uses commands listed therein to determine
    the installed versions of the relevant subsystems. The format of
    this table had to be changed slightly to accommodate the script,
    but this was done without impairing the readability thereof.

 B. Adding lines to Documentation/Changes to document those subsystems
    listed by scripts/ver_linux that were not already in the table in
    Documentation/Changes so that all relevant subsystems are considered.
    This was done by adding a separate table formatted identically to the
    existing one, but indicating that the subsystems therein may not be
    required.

    Note that the "required versions" listed in this new table are those
    installed on my system, with the exception of the Linux C++ library
    which is apparently not installed here. These versions need to be
    tweaked to reflect the actual requirements for that kernel.

 C. Comparing the installed and required versions of each subsystem, and
    indicating the results of that comparison in the displayed results
    by colouring the name of the subsystem. A facility to disable this
    is also included, and is activated by providing a parameter to the
    script. Any parameter will serve this function.

 D. Inserting lines in the primary Makefile to allow `make vsn` to run
    the relevant command to generate the results with colouring, and
    `make vsnbw` to do so without colours. Both change the permissions
    of the script to make it an executable.

There is ONE problem with this method, which I have not been able to
solve. This is that the command used by scripts/ver_linux to determine
the installed version of the Gnu C Library can't be replicated using
the method this script is based on, and I have had to replace it with a
simpler script which may produce different results in some cases. If this
is a problem, it is open to others to solve as I have licensed this under
version 2 (only) of the Gnu General Public Licence.

Best wishes from Riley.



-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Thu Mar 15 2001 - 21:00:16 EST