Re: [PATCH] scripts/get_default_envs.sh: preserve order of multiple entries for same variable
On Mon, Jan 06, 2020 at 12:01:17PM +, Rasmus Villemoes wrote: > It's possible that the default_environment[] array contains multiple > entries for the same variable, e.g. a setting from env_default.h based > on some CONFIG_* variable, and another from > CONFIG_EXTRA_ENV_SETTINGS. In such a case, the last setting takes > effect. > > Hence, in order to be able to use the output from this script as an > CONFIG_DEFAULT_ENV_FILE and get the same default environment as one > currently has, we need to preserve the order. So only sort by the > variable name, and disable the last-resort comparison. > > We could pipe the result through uniq to remove duplicate lines, but I > think there's some value in seeing that certain variables are defined > multiple times. > > Signed-off-by: Rasmus Villemoes > Reviewed-by: Lukasz Majewski > Reviewed-by: Simon Glass Applied to u-boot/master, thanks! -- Tom signature.asc Description: PGP signature
Re: [PATCH] scripts/get_default_envs.sh: preserve order of multiple entries for same variable
On 30/01/2020 03.17, Simon Glass wrote: > On Mon, 6 Jan 2020 at 05:17, Lukasz Majewski wrote: >> >> Hi Rasmus, >> >>> It's possible that the default_environment[] array contains multiple >>> entries for the same variable, e.g. a setting from env_default.h based >>> on some CONFIG_* variable, and another from >>> CONFIG_EXTRA_ENV_SETTINGS. In such a case, the last setting takes >>> effect. >>> >>> Hence, in order to be able to use the output from this script as an >>> CONFIG_DEFAULT_ENV_FILE and get the same default environment as one >>> currently has, we need to preserve the order. So only sort by the >>> variable name, and disable the last-resort comparison. >>> >>> We could pipe the result through uniq to remove duplicate lines, but I >>> think there's some value in seeing that certain variables are defined >>> multiple times. >>> >>> Signed-off-by: Rasmus Villemoes >>> --- >>> scripts/get_default_envs.sh | 2 +- >>> 1 file changed, 1 insertion(+), 1 deletion(-) >> Reviewed-by: Lukasz Majewski > > Reviewed-by: Simon Glass > Hi Tom, This has two R-Bs, perhaps I can get you to pick it up? Thanks, Rasmus
Re: [PATCH] scripts/get_default_envs.sh: preserve order of multiple entries for same variable
On Mon, 6 Jan 2020 at 05:17, Lukasz Majewski wrote: > > Hi Rasmus, > > > It's possible that the default_environment[] array contains multiple > > entries for the same variable, e.g. a setting from env_default.h based > > on some CONFIG_* variable, and another from > > CONFIG_EXTRA_ENV_SETTINGS. In such a case, the last setting takes > > effect. > > > > Hence, in order to be able to use the output from this script as an > > CONFIG_DEFAULT_ENV_FILE and get the same default environment as one > > currently has, we need to preserve the order. So only sort by the > > variable name, and disable the last-resort comparison. > > > > We could pipe the result through uniq to remove duplicate lines, but I > > think there's some value in seeing that certain variables are defined > > multiple times. > > > > Signed-off-by: Rasmus Villemoes > > --- > > scripts/get_default_envs.sh | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) Reviewed-by: Simon Glass
Re: [PATCH] scripts/get_default_envs.sh: preserve order of multiple entries for same variable
Hi Rasmus, > It's possible that the default_environment[] array contains multiple > entries for the same variable, e.g. a setting from env_default.h based > on some CONFIG_* variable, and another from > CONFIG_EXTRA_ENV_SETTINGS. In such a case, the last setting takes > effect. > > Hence, in order to be able to use the output from this script as an > CONFIG_DEFAULT_ENV_FILE and get the same default environment as one > currently has, we need to preserve the order. So only sort by the > variable name, and disable the last-resort comparison. > > We could pipe the result through uniq to remove duplicate lines, but I > think there's some value in seeing that certain variables are defined > multiple times. > > Signed-off-by: Rasmus Villemoes > --- > scripts/get_default_envs.sh | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/scripts/get_default_envs.sh b/scripts/get_default_envs.sh > index da86a9d69c..d1f2ce4d5c 100755 > --- a/scripts/get_default_envs.sh > +++ b/scripts/get_default_envs.sh > @@ -35,7 +35,7 @@ cp ${env_obj_file_path} ${ENV_OBJ_FILE_COPY} > ${OBJCOPY} -O binary -j ".rodata.default_environment" > ${ENV_OBJ_FILE_COPY} > # Replace default '\0' with '\n' and sort entries > -tr '\0' '\n' < ${ENV_OBJ_FILE_COPY} | sort -u > +tr '\0' '\n' < ${ENV_OBJ_FILE_COPY} | sort --field-separator== -k1,1 > --stable > rm ${ENV_OBJ_FILE_COPY} > Reviewed-by: Lukasz Majewski Best regards, Lukasz Majewski -- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lu...@denx.de pgpoXexbbltaY.pgp Description: OpenPGP digital signature
[PATCH] scripts/get_default_envs.sh: preserve order of multiple entries for same variable
It's possible that the default_environment[] array contains multiple entries for the same variable, e.g. a setting from env_default.h based on some CONFIG_* variable, and another from CONFIG_EXTRA_ENV_SETTINGS. In such a case, the last setting takes effect. Hence, in order to be able to use the output from this script as an CONFIG_DEFAULT_ENV_FILE and get the same default environment as one currently has, we need to preserve the order. So only sort by the variable name, and disable the last-resort comparison. We could pipe the result through uniq to remove duplicate lines, but I think there's some value in seeing that certain variables are defined multiple times. Signed-off-by: Rasmus Villemoes --- scripts/get_default_envs.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/get_default_envs.sh b/scripts/get_default_envs.sh index da86a9d69c..d1f2ce4d5c 100755 --- a/scripts/get_default_envs.sh +++ b/scripts/get_default_envs.sh @@ -35,7 +35,7 @@ cp ${env_obj_file_path} ${ENV_OBJ_FILE_COPY} ${OBJCOPY} -O binary -j ".rodata.default_environment" ${ENV_OBJ_FILE_COPY} # Replace default '\0' with '\n' and sort entries -tr '\0' '\n' < ${ENV_OBJ_FILE_COPY} | sort -u +tr '\0' '\n' < ${ENV_OBJ_FILE_COPY} | sort --field-separator== -k1,1 --stable rm ${ENV_OBJ_FILE_COPY} -- 2.23.0