Message ID | 20170827164850.31986-1-sjg@chromium.org |
---|---|
State | Superseded |
Delegated to: | Tom Rini |
Headers | show |
Series | [U-Boot] env: Fix operation of 'make environ' | expand |
Simon Glass <sjg@chromium.org> writes: > This was broken by the recent environment refactoring. Specifically: > > $ make environ > scripts/Makefile.build:59: tools/environ/Makefile: No such file or directory > make[1]: *** No rule to make target 'tools/environ/Makefile'. Stop. > make: *** [Makefile:1469: environ] Error 2 > > Fix this by updating the Makefile and adjusting the #include filesnames in > two C files. > > Fixes: ec74f5f (Makefile: Rename 'env' target to 'environ') > Reported-by: Måns Rullgård <mans@mansr.com> > Signed-off-by: Simon Glass <sjg@chromium.org> > --- > > Makefile | 2 +- > tools/env/env_attr.c | 2 +- > tools/env/env_flags.c | 2 +- > 3 files changed, 3 insertions(+), 3 deletions(-) This still breaks any build scripts using the old target (yes, there are many). That's probably acceptable, but a mention of it in some release note would be nice. Come to think of it, if we're anyway going to break things, how about giving that target a more descriptive name than environ? I suggest envtools. > diff --git a/Makefile b/Makefile > index a0f3bfd2a52..dd9d5678118 100644 > --- a/Makefile > +++ b/Makefile > @@ -1466,7 +1466,7 @@ checkarmreloc: u-boot > fi > > environ: scripts_basic > - $(Q)$(MAKE) $(build)=tools/$@ > + $(Q)$(MAKE) $(build)=tools/env > > tools-only: scripts_basic $(version_h) $(timestamp_h) > $(Q)$(MAKE) $(build)=tools > diff --git a/tools/env/env_attr.c b/tools/env/env_attr.c > index 502d4c900bf..4d8536335c3 100644 > --- a/tools/env/env_attr.c > +++ b/tools/env/env_attr.c > @@ -1 +1 @@ > -#include "../../common/env_attr.c" > +#include "../../env/attr.c" > diff --git a/tools/env/env_flags.c b/tools/env/env_flags.c > index b261cb8e390..71e13e2021f 100644 > --- a/tools/env/env_flags.c > +++ b/tools/env/env_flags.c > @@ -1 +1 @@ > -#include "../../common/env_flags.c" > +#include "../../env/flags.c" > -- > 2.14.1.342.g6490525c54-goog >
On Mon, Aug 28, 2017 at 12:01:51PM +0100, Måns Rullgård wrote: > Simon Glass <sjg@chromium.org> writes: > > > This was broken by the recent environment refactoring. Specifically: > > > > $ make environ > > scripts/Makefile.build:59: tools/environ/Makefile: No such file or directory > > make[1]: *** No rule to make target 'tools/environ/Makefile'. Stop. > > make: *** [Makefile:1469: environ] Error 2 > > > > Fix this by updating the Makefile and adjusting the #include filesnames in > > two C files. > > > > Fixes: ec74f5f (Makefile: Rename 'env' target to 'environ') > > Reported-by: Måns Rullgård <mans@mansr.com> > > Signed-off-by: Simon Glass <sjg@chromium.org> > > This still breaks any build scripts using the old target (yes, there are > many). That's probably acceptable, but a mention of it in some release > note would be nice. > > Come to think of it, if we're anyway going to break things, how about > giving that target a more descriptive name than environ? I suggest > envtools. Too early, no coffee. Can't we do some make logic so that 'env' is still a target and thus we don't break those scripts? Otherwise, yes, I'll make sure to indicate in at least the v2017.09 release email that we renamed 'env' to envtools or something. Thanks!
On Mon, Aug 28, 2017 at 6:13 AM, Tom Rini <trini@konsulko.com> wrote: > On Mon, Aug 28, 2017 at 12:01:51PM +0100, Måns Rullgård wrote: >> Simon Glass <sjg@chromium.org> writes: >> >> > This was broken by the recent environment refactoring. Specifically: >> > >> > $ make environ >> > scripts/Makefile.build:59: tools/environ/Makefile: No such file or directory >> > make[1]: *** No rule to make target 'tools/environ/Makefile'. Stop. >> > make: *** [Makefile:1469: environ] Error 2 >> > >> > Fix this by updating the Makefile and adjusting the #include filesnames in >> > two C files. >> > >> > Fixes: ec74f5f (Makefile: Rename 'env' target to 'environ') >> > Reported-by: Måns Rullgård <mans@mansr.com> >> > Signed-off-by: Simon Glass <sjg@chromium.org> >> >> This still breaks any build scripts using the old target (yes, there are >> many). That's probably acceptable, but a mention of it in some release >> note would be nice. >> >> Come to think of it, if we're anyway going to break things, how about >> giving that target a more descriptive name than environ? I suggest >> envtools. > > Too early, no coffee. Can't we do some make logic so that 'env' is > still a target and thus we don't break those scripts? Otherwise, yes, > I'll make sure to indicate in at least the v2017.09 release email that > we renamed 'env' to envtools or something. Thanks! It's really just building the fw_printenv tool (which uses a symlink for fw_setenv). It seems like a much clearer make target, and source dir for that matter, would be fw_printenv. -Joe
Hi, On 29 August 2017 at 00:08, Joe Hershberger <joe.hershberger@ni.com> wrote: > > On Mon, Aug 28, 2017 at 6:13 AM, Tom Rini <trini@konsulko.com> wrote: > > On Mon, Aug 28, 2017 at 12:01:51PM +0100, Måns Rullgård wrote: > >> Simon Glass <sjg@chromium.org> writes: > >> > >> > This was broken by the recent environment refactoring. Specifically: > >> > > >> > $ make environ > >> > scripts/Makefile.build:59: tools/environ/Makefile: No such file or directory > >> > make[1]: *** No rule to make target 'tools/environ/Makefile'. Stop. > >> > make: *** [Makefile:1469: environ] Error 2 > >> > > >> > Fix this by updating the Makefile and adjusting the #include filesnames in > >> > two C files. > >> > > >> > Fixes: ec74f5f (Makefile: Rename 'env' target to 'environ') > >> > Reported-by: Måns Rullgård <mans@mansr.com> > >> > Signed-off-by: Simon Glass <sjg@chromium.org> > >> > >> This still breaks any build scripts using the old target (yes, there are > >> many). That's probably acceptable, but a mention of it in some release > >> note would be nice. > >> > >> Come to think of it, if we're anyway going to break things, how about > >> giving that target a more descriptive name than environ? I suggest > >> envtools. > > > > Too early, no coffee. Can't we do some make logic so that 'env' is > > still a target and thus we don't break those scripts? Otherwise, yes, > > I'll make sure to indicate in at least the v2017.09 release email that > > we renamed 'env' to envtools or something. Thanks! > > It's really just building the fw_printenv tool (which uses a symlink > for fw_setenv). It seems like a much clearer make target, and source > dir for that matter, would be fw_printenv. > > -Joe I decided to go with envtools for v2 since even though there is a symlink, there are two tools intended from this. If you don't like it let me know and I can change it. I could not figure out how to make the 'env' target build what we have now. We make each subdir a target in the main Makefile, so it just produced a duplicate target. Regards, Simon
diff --git a/Makefile b/Makefile index a0f3bfd2a52..dd9d5678118 100644 --- a/Makefile +++ b/Makefile @@ -1466,7 +1466,7 @@ checkarmreloc: u-boot fi environ: scripts_basic - $(Q)$(MAKE) $(build)=tools/$@ + $(Q)$(MAKE) $(build)=tools/env tools-only: scripts_basic $(version_h) $(timestamp_h) $(Q)$(MAKE) $(build)=tools diff --git a/tools/env/env_attr.c b/tools/env/env_attr.c index 502d4c900bf..4d8536335c3 100644 --- a/tools/env/env_attr.c +++ b/tools/env/env_attr.c @@ -1 +1 @@ -#include "../../common/env_attr.c" +#include "../../env/attr.c" diff --git a/tools/env/env_flags.c b/tools/env/env_flags.c index b261cb8e390..71e13e2021f 100644 --- a/tools/env/env_flags.c +++ b/tools/env/env_flags.c @@ -1 +1 @@ -#include "../../common/env_flags.c" +#include "../../env/flags.c"
This was broken by the recent environment refactoring. Specifically: $ make environ scripts/Makefile.build:59: tools/environ/Makefile: No such file or directory make[1]: *** No rule to make target 'tools/environ/Makefile'. Stop. make: *** [Makefile:1469: environ] Error 2 Fix this by updating the Makefile and adjusting the #include filesnames in two C files. Fixes: ec74f5f (Makefile: Rename 'env' target to 'environ') Reported-by: Måns Rullgård <mans@mansr.com> Signed-off-by: Simon Glass <sjg@chromium.org> --- Makefile | 2 +- tools/env/env_attr.c | 2 +- tools/env/env_flags.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-)