On Tue, Jul 9, 2024 at 9:00 PM Sam Protsenko <semen.protse...@linaro.org> wrote: > > On Thu, Jun 27, 2024 at 6:29 AM Mikhail Kshevetskiy > <mikhail.kshevets...@iopsys.eu> wrote: > > > > This allows spliting partition list to several lines in environment file > > > > ex: > > -------------------- > > gpt_partition_list= > > name=boot1,size=5MiB,start=0x100000; > > name=boot2,size=5MiB; > > name=rootfs1,size=70MiB; > > name=rootfs2,size=70MiB; > > name=overlay1,size=20MiB; > > name=overlay2,size=20MiB; > > name=art,size=4MiB; > > > > Signed-off-by: Mikhail Kshevetskiy <mikhail.kshevets...@iopsys.eu> > > --- > > Feel free to add: > > Reviewed-by: Sam Protsenko <semen.protse...@linaro.org> > Tested-by: Sam Protsenko <semen.protse...@linaro.org> > > With this patch the next command succeeds, when having $partitions > described in multi-line variable in .env file: > > => gpt verify mmc 0 "$partitions" > > I wonder if it makes sense to also change cmd_gen_envp command in > Makefile to avoid adding spaces in place of newlines, in the first > place? It would allow us to specify unbroken multi-line variables in > .env, though I'm not sure if anyone actually relies on that behavior > in their .env files. >
Tom, can you please apply this one? I think it actually fixes this existing env: board/sifive/unmatched/unmatched.env which has multi-line $partitions definition in it. I'd also want to keep $partitions in .env file (as opposed to .h) for E850-96 board in my new series, which requires this patch to be applied as well. Thanks! > > cmd/gpt.c | 2 ++ > > 1 file changed, 2 insertions(+) > > > > diff --git a/cmd/gpt.c b/cmd/gpt.c > > index 7aaf1889a5a..2b29ab98ccc 100644 > > --- a/cmd/gpt.c > > +++ b/cmd/gpt.c > > @@ -117,6 +117,7 @@ static char *extract_val(const char *str, const char > > *key) > > k = strsep(&v, "="); > > if (!k) > > break; > > + k += strspn(k, " \t"); > > if (strcmp(k, key) == 0) { > > new = strdup(v); > > break; > > @@ -151,6 +152,7 @@ static bool found_key(const char *str, const char *key) > > k = strsep(&s, ","); > > if (!k) > > break; > > + k += strspn(k, " \t"); > > if (strcmp(k, key) == 0) { > > result = true; > > break; > > -- > > 2.43.0 > >