01/03/2019 21:24, Michael Santana Francisco: > On 3/1/19 12:51 PM, Thomas Monjalon wrote: > > 01/03/2019 18:43, Thomas Monjalon: > >> 01/03/2019 18:08, Michael Santana: > >>> +# Enable codespell by default. This can be overwritten from a config > >>> file. > >>> +# You can also enable codespell by setting DPDK_CHECKPATCH_CODESPELL to > >>> a valid path > >>> +# to a dictionary.txt file if your dictionary.txt is not in the default > >>> location. > > This line length won't pass chekpatch ;) > > > >> Better to avoid "you" form in such comment. > >> > >>> +DPDK_CHECKPATCH_CODESPELL=enable > > It will override the value if passed with an environment variable. > > You should do the same as for DPDK_CHECKPATCH_LINE_LENGTH. > If I understood you correctly, you want to be able to set these > parameters via environment variables (and take precedence over any > variables set in any config file)
No :) The scenario is to have no config file and use environment variables only. > The problem is right now that any environment variable is overwritten by > the variable being set in one of the config files > The only way I can think of doing this would be by saving the DPDK > variables (passed via environment) to a file or ironically temporary > variables (which themselves can also be overwritten, so that doesn't > really solve the problem) before being overwritten, and then restoring > said variables after the call to source. > This would add extra clutter in checkpatches, but it can be avoided by > doing it in load-devel-config instead. > > So the bottom line is, environment variables take overall precedence, > then config files, and then default > > Does this sound sane enough? > If anyone knows a better way to do this please share. Look how DPDK_CHECKPATCH_LINE_LENGTH is handled. The default value is used if DPDK_CHECKPATCH_LINE_LENGTH is not set, neither by environment nor config file. I think you can just do this after loading config file: DPDK_CHECKPATCH_CODESPELL=${DPDK_CHECKPATCH_CODESPELL:-enable} or check for empty value in the test: [ -z "$DPDK_CHECKPATCH_CODESPELL" -o "$DPDK_CHECKPATCH_CODESPELL" = enable ] > I am including in DPDK_CHECKPATCH_PATH, because might as well at this > point. Empty DPDK_CHECKPATCH_PATH is already handled. > > > >>> # Load config options: > >>> # - DPDK_CHECKPATCH_PATH > >>> # - DPDK_CHECKPATCH_LINE_LENGTH > >>> +# - DPDK_CHECKPATCH_CODESPELL > >>> . $(dirname $(readlink -e $0))/load-devel-config > >>> > >>> VALIDATE_NEW_API=$(dirname $(readlink -e $0))/check-symbol-change.sh > >>> @@ -13,6 +18,12 @@ length=${DPDK_CHECKPATCH_LINE_LENGTH:-80} > >>> > >>> # override default Linux options > >>> options="--no-tree" > >>> +if [ "$DPDK_CHECKPATCH_CODESPELL" == "enable" ]; then > >> This is a bashism. > >> Standard sh uses a simple = > >> > >> No need for a v4, I can fix it. > > Because of the required change for the env var case, > > please do a v4.