135 lines
4.3 KiB
Plaintext
135 lines
4.3 KiB
Plaintext
evaluate_configs is a tool that can verify the settings of kernel
|
|
CONFIGs in the redhat/configs directory. The data for evaluate_configs
|
|
is a combination of the redhat/configs files and the priority files.
|
|
|
|
Introduction to Basic Output
|
|
============================
|
|
|
|
This command demonstrates how to display information about the
|
|
CONFIG_HEADER_TEST option for RHEL.
|
|
|
|
[prarit@prarit configs]$ ./evaluate_configs -p priority.rhel -c CONFIG_HEADER_TEST
|
|
CONFIG_HEADER_TEST
|
|
legend g ga1 ga2 d da1 da2
|
|
common-x86_64 y - - - X -
|
|
common-ppc64le y - X - - X
|
|
common-s390x y - X - - X
|
|
common-s390x-zfcpdump y - - X X X
|
|
common-aarch64 y - - - X -
|
|
rhel-x86_64 y - - - X -
|
|
rhel-ppc64le y - X - - X
|
|
rhel-s390x y - X - - X
|
|
rhel-s390x-zfcpdump y - - X X X
|
|
rhel-aarch64 y - - - X -
|
|
pending-common-x86_64 - - - - X -
|
|
pending-common-ppc64le - - X - - X
|
|
pending-common-s390x - - X - - X
|
|
pending-common-s390x-zfcpdump - - - X X X
|
|
pending-common-aarch64 - - - - X -
|
|
|
|
The legend row, shows the subdirectory entries. These can be mapped
|
|
back to the priority.rhel entries, for example, for x86_64
|
|
|
|
# x86_64
|
|
x86_64=generic:generic-x86:generic-x86-x86_64
|
|
x86_64-debug=generic:generic-x86:generic-x86-x86_64:debug:debug-x86-x86_64
|
|
|
|
are combined into one entry for x86_64 where
|
|
|
|
g maps to "generic"
|
|
ga1 maps to "generic-x86"
|
|
ga2 maps to "generic-x86-x86-64"
|
|
d maps to "debug"
|
|
da1 maps to nothing (more on this below)
|
|
da2 maps to debug-x86-x86_64
|
|
|
|
The left hand column indicates the directory and config-variant. For
|
|
example, rhel-s390x-zfcpdump is the s390x-zfcpdump variant and the
|
|
row beside it shows the config settings in the rhel directory.
|
|
|
|
The data contained in the output can have 5 values:
|
|
|
|
y = CONFIG is set to 'y'
|
|
m = CONFIG is set to 'm'
|
|
n = CONFIG is set to 'is not set'
|
|
- = CONFIG file does not exist
|
|
X = CONFIG file entry is not in priority file
|
|
|
|
As can be seen above in the CONFIG_HEADER_TEST output, da1 is not present
|
|
in the priority.rhel file and is marked with an 'X'.
|
|
|
|
Options
|
|
=======
|
|
|
|
-c CONFIG
|
|
Evalulate these specific CONFIGs. This can be a file,
|
|
or a comma-separated list. If nothing is specified then
|
|
all CONFIGs are examined by default.)
|
|
-d
|
|
Enable debug
|
|
-p priority.file
|
|
Specify a priority.file (no default)
|
|
-j
|
|
Evaluate common directory
|
|
-f
|
|
Evaluate and fix a priority's CONFIGs
|
|
|
|
All commands except -j require a -p argument.
|
|
|
|
Evaluate CONFIGs
|
|
================
|
|
|
|
The -f option can be used to evaluate all the CONFIGs by executing, for
|
|
example
|
|
|
|
# evaluate_configs -p priority.rhel -f
|
|
|
|
or a single CONFIG
|
|
|
|
# evaluate_configs -p priority.rhel -f -c CONFIG_HEADER_TEST
|
|
|
|
The Evaluate Output will show a different view than the Basic Output above:
|
|
|
|
ERROR: (hierarchy) rhel/generic/CONFIG_HEADER_TEST : superseding value has y.
|
|
|CONFIG_HEADER_TEST (rhel-aarch64)
|
|
|g ga1 ga2 d da1 da2 g ga1 ga2 d da1 da2 g ga1 ga2 d da1 da2
|
|
|y - - - X - y - - - X - - - - - X -
|
|
| Deleting rhel/generic/CONFIG_HEADER_TEST
|
|
|
|
This view is the Basic Output's aarch64 data in a single line, From the
|
|
above output,
|
|
|
|
common-aarch64 y - - - X -
|
|
rhel-aarch64 y - - - X -
|
|
pending-common-aarch64 - - - - X -
|
|
|
|
The Evaluate output makes it easier to visually see a conflict. One
|
|
can read the line and if there are two y|m|n separated by one or more - or
|
|
X's in a line, then there is the possibility of a conflict.
|
|
|
|
If the CONFIG setting is found to be incorrect it it automatically removed
|
|
and a message
|
|
|
|
| Deleting rhel/generic/CONFIG_HEADER_TEST
|
|
|
|
will be output.
|
|
|
|
Evaluate common Directory
|
|
=========================
|
|
|
|
This function does a 1-to-1 comparison of CONFIG settings in the
|
|
rhel and fedora directories, and checks to see if the CONFIG should be set
|
|
in the common directory.
|
|
|
|
The output is the same as the Evaluate output.
|
|
|
|
This functionality uses the priority.common file and can be executed via
|
|
|
|
evaluate_configs -j
|
|
|
|
for all CONFIGs, or
|
|
|
|
evaluate_configs -j -c CONFIG_HEADER_TEST
|
|
|
|
for a single CONFIG.
|