core/help: fix custom help without a .config
PATCH 1/1 core/help: fix custom help without a .config
When there is no .config, we do not source $(BR2_EXTERNAL)/external.mk. So we can not expose the custom help in that situation.
It is now known whether sourcing $(BR2_EXTERNAL)/external.mk outside the HAVE_DOT_CONFIG conditional block is entirely safe. Even if it would work today, we would have a hard time not breaking it in the future, because we do not have automatic checks for that and would need to rely on users reporting issues after the fact.
Instead, we require the custom help to be defined in its own file in the br2-external tree. This way, we can safely include it unconditionally.
--- Makefile | 11 +++++++---- docs/manual/customize-outside-br.txt | 7 ++++--- 2 files changed, 11 insertions(+), 7 deletions(-)
Makefile +7 -4
@@ -976,10 +976,13 @@ endif @echo 'it on-line at http://buildroot.org/docs.html' @echo -# This rule does nothing, it is expected to be overloaded by -# a br2-external tree or a local.mk . However, it must exist, -# as we reference it in the main help, above. Making the rule -# .PHONY does not work. +ifneq ($(wildcard $(BR2_EXTERNAL)/help.mk),) +include $(BR2_EXTERNAL)/help.mk +endif + +# This rule does nothing, it is expected to be overloaded by a +# br2-external tree. However, it must exist, as we reference it +# as a dependency of the main help, above. help-custom: list-defconfigs:
docs/manual/customize-outside-br.txt +4 -3
@@ -108,9 +108,10 @@ And then in +$(BR2_EXTERNAL)/package/package1+ and normal +make <name>_defconfig+ command. They will be visible under the +User-provided configs+' label in the 'make list-defconfigs' output. -Additionally, an +external.mk+ file may define the +help-custom+ make -rule, to document custom make targets specific to this +BR2_EXTERNAL+ -tree. The help is completely free-form. +Additionally, a +BR2_EXTERNAL+ tree may provide a file named +help.mk+ +that defines the +help-custom+ make rule, to document custom make +targets specific to this +BR2_EXTERNAL+ tree. The help is completely +free-form. See below for a sample +$(BR2_EXTERNAL)/help.mk+ file: ------ help-custom:
Signature · 1 line
1.9.1
PATCH 1/1 core/help: fix custom help without a .config
Quoted 11 lines · Yann E. MORIN
When there is no .config, we do not source $(BR2_EXTERNAL)/external.mk. So we can not expose the custom help in that situation.
It is now known whether sourcing $(BR2_EXTERNAL)/external.mk outside the
HAVE_DOT_CONFIGconditional block is entirely safe. Even if it would work today, we would have a hard time not breaking it in the future, because we do not have automatic checks for that and would need to rely on users reporting issues after the fact.Instead, we require the custom help to be defined in its own file in the br2-external tree. This way, we can safely include it unconditionally.
IMHO that custom help was a bad idea. It's adding complexity, an extra file inBR2_EXTERNAL, and really not that useful...
Quoted 14 lines
Reported-by Thomas Petazzoni <[email protected]>Signed-off-by "Yann E. MORIN" <[email protected]>Cc Thomas Petazzoni <[email protected]>--- Makefile | 11 +++++++---- docs/manual/customize-outside-br.txt | 7 ++++--- 2 files changed, 11 insertions(+), 7 deletions(-)Makefile +0
-0
Makefile endif · line 980
Quoted 9 lines
Makefile +2
-4@@ -976,10 +976,13 @@ endif @echo 'it on-line at http://buildroot.org/docs.html' @echo -# This rule does nothing, it is expected to be overloaded by -# a br2-external tree or a local.mk . However, it must exist, -# as we reference it in the main help, above. Making the rule -# .PHONY does not work. +ifneq ($(wildcard $(BR2_EXTERNAL)/help.mk),) +include $(BR2_EXTERNAL)/help.mk
Why not just -include?
Regards,
Arnout
Quoted 27 lines
Makefile +5
-0+endif + +# This rule does nothing, it is expected to be overloaded by a +# br2-external tree. However, it must exist, as we reference it +# as a dependency of the main help, above. help-custom: list-defconfigs:docs/manual/customize-outside-br.txt +4
-3@@ -108,9 +108,10 @@ And then in +$(BR2_EXTERNAL)/package/package1+ and normal +make <name>_defconfig+ command. They will be visible under the +User-provided configs+' label in the 'make list-defconfigs' output. -Additionally, an +external.mk+ file may define the +help-custom+ make -rule, to document custom make targets specific to this +BR2_EXTERNAL+ -tree. The help is completely free-form. +Additionally, a +BR2_EXTERNAL+ tree may provide a file named +help.mk+ +that defines the +help-custom+ make rule, to document custom make +targets specific to this +BR2_EXTERNAL+ tree. The help is completely +free-form. See below for a sample +$(BR2_EXTERNAL)/help.mk+ file: ------ help-custom:
Signature · 6 lines
Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286500 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
PATCH 1/1 core/help: fix custom help without a .config
Hello,
Quoted 10 lines · Arnout Vandecappelle
Quoted 9 lines · Yann E. MORIN
When there is no .config, we do not source $(BR2_EXTERNAL)/external.mk. So we can not expose the custom help in that situation.
It is now known whether sourcing $(BR2_EXTERNAL)/external.mk outside the
HAVE_DOT_CONFIGconditional block is entirely safe. Even if it would work today, we would have a hard time not breaking it in the future, because we do not have automatic checks for that and would need to rely on users reporting issues after the fact.
Quoted 5 lines
Quoted 2 lines
Instead, we require the custom help to be defined in its own file in the br2-external tree. This way, we can safely include it unconditionally.
IMHO that custom help was a bad idea. It's adding complexity, an extra file in
BR2_EXTERNAL, and really not that useful...
Agreed. I'm not sure it's worth it. It's still time to revert if we don't think it's a good idea. Peter?
Without this custom help thing, it is already possible to define some custom make target in external.mk that will display some help. It won't be available until a configuration is defined, but oh well, who reads help texts anyway?
Best regards,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH 1/1 core/help: fix custom help without a .config
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Thomas" == Thomas Petazzoni <[email protected]> writes:
Hi,
Quoted 6 lines
Quoted 5 lines
Quoted 2 lines
Instead, we require the custom help to be defined in its own file in the br2-external tree. This way, we can safely include it unconditionally.
IMHO that custom help was a bad idea. It's adding complexity, an extra file in
BR2_EXTERNAL, and really not that useful...
Quoted 7 lines
Agreed. I'm not sure it's worth it. It's still time to revert if we don't think it's a good idea. Peter?
Without this custom help thing, it is already possible to define some custom make target in external.mk that will display some help. It won't be available until a configuration is defined, but oh well, who reads help texts anyway?
Yeah, I also think this adds too much complexity just for a pointer to help text. I think we should drop it.
Signature · 2 lines
Venlig hilsen, Peter Korsgaard
PATCH 1/1 core/help: fix custom help without a .config
Hello,
Quoted 7 lines · Peter Korsgaard
Quoted 4 lines
Without this custom help thing, it is already possible to define some custom make target in external.mk that will display some help. It won't be available until a configuration is defined, but oh well, who reads help texts anyway?
Yeah, I also think this adds too much complexity just for a pointer to help text. I think we should drop it.
So will you revert it?
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH 1/1 core/help: fix custom help without a .config
Thomas, Peter, All,
On 2016-04-16 09:28 +0200, Thomas Petazzoni spake thusly:
Quoted 10 lines · Peter Korsgaard
Quoted 7 lines
Quoted 4 lines
Without this custom help thing, it is already possible to define some custom make target in external.mk that will display some help. It won't be available until a configuration is defined, but oh well, who reads help texts anyway?
Yeah, I also think this adds too much complexity just for a pointer to help text. I think we should drop it.
So will you revert it?
I'll send the patches to revert it.
Regards,
Yann E. MORIN.
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'
PATCH 1/1 core/help: fix custom help without a .config
In reply to Yann E. MORINQuoted 11 lines · Yann E. MORIN
When there is no .config, we do not source $(BR2_EXTERNAL)/external.mk. So we can not expose the custom help in that situation.
It is now known whether sourcing $(BR2_EXTERNAL)/external.mk outside the
HAVE_DOT_CONFIGconditional block is entirely safe. Even if it would work today, we would have a hard time not breaking it in the future, because we do not have automatic checks for that and would need to rely on users reporting issues after the fact.Instead, we require the custom help to be defined in its own file in the br2-external tree. This way, we can safely include it unconditionally.
Custom help has been reverted now, so I marked this patch as rejected.
Regards,
Arnout
Quoted 50 lines
Reported-by Thomas Petazzoni <[email protected]>Signed-off-by "Yann E. MORIN" <[email protected]>Cc Thomas Petazzoni <[email protected]>--- Makefile | 11 +++++++---- docs/manual/customize-outside-br.txt | 7 ++++--- 2 files changed, 11 insertions(+), 7 deletions(-)Makefile +7
-4@@ -976,10 +976,13 @@ endif @echo 'it on-line at http://buildroot.org/docs.html' @echo -# This rule does nothing, it is expected to be overloaded by -# a br2-external tree or a local.mk . However, it must exist, -# as we reference it in the main help, above. Making the rule -# .PHONY does not work. +ifneq ($(wildcard $(BR2_EXTERNAL)/help.mk),) +include $(BR2_EXTERNAL)/help.mk +endif + +# This rule does nothing, it is expected to be overloaded by a +# br2-external tree. However, it must exist, as we reference it +# as a dependency of the main help, above. help-custom: list-defconfigs:docs/manual/customize-outside-br.txt +4
-3@@ -108,9 +108,10 @@ And then in +$(BR2_EXTERNAL)/package/package1+ and normal +make <name>_defconfig+ command. They will be visible under the +User-provided configs+' label in the 'make list-defconfigs' output. -Additionally, an +external.mk+ file may define the +help-custom+ make -rule, to document custom make targets specific to this +BR2_EXTERNAL+ -tree. The help is completely free-form. +Additionally, a +BR2_EXTERNAL+ tree may provide a file named +help.mk+ +that defines the +help-custom+ make rule, to document custom make +targets specific to this +BR2_EXTERNAL+ tree. The help is completely +free-form. See below for a sample +$(BR2_EXTERNAL)/help.mk+ file: ------ help-custom:
Signature · 6 lines
Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286500 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
PATCH 1/1 core/help: fix custom help without a .config
Arnout, All,
On 2016-04-18 00:51 +0200, Arnout Vandecappelle spake thusly:
Quoted 10 lines · Yann E. MORIN
Quoted 9 lines
When there is no .config, we do not source $(BR2_EXTERNAL)/external.mk. So we can not expose the custom help in that situation.
It is now known whether sourcing $(BR2_EXTERNAL)/external.mk outside the
HAVE_DOT_CONFIGconditional block is entirely safe. Even if it would work today, we would have a hard time not breaking it in the future, because we do not have automatic checks for that and would need to rely on users reporting issues after the fact.
Quoted 4 lines
Quoted 2 lines
Instead, we require the custom help to be defined in its own file in the br2-external tree. This way, we can safely include it unconditionally.
Custom help has been reverted now, so I marked this patch as rejected.
Yes, thanks! :-)
Regards,
Yann E. MORIN.
Quoted 62 lines
Regards,
ArnoutQuoted 50 lines
Reported-by Thomas Petazzoni <[email protected]>Signed-off-by "Yann E. MORIN" <[email protected]>Cc Thomas Petazzoni <[email protected]>--- Makefile | 11 +++++++---- docs/manual/customize-outside-br.txt | 7 ++++--- 2 files changed, 11 insertions(+), 7 deletions(-)Makefile +7
-4@@ -976,10 +976,13 @@ endif @echo 'it on-line at http://buildroot.org/docs.html' @echo -# This rule does nothing, it is expected to be overloaded by -# a br2-external tree or a local.mk . However, it must exist, -# as we reference it in the main help, above. Making the rule -# .PHONY does not work. +ifneq ($(wildcard $(BR2_EXTERNAL)/help.mk),) +include $(BR2_EXTERNAL)/help.mk +endif + +# This rule does nothing, it is expected to be overloaded by a +# br2-external tree. However, it must exist, as we reference it +# as a dependency of the main help, above. help-custom: list-defconfigs:docs/manual/customize-outside-br.txt +4
-3@@ -108,9 +108,10 @@ And then in +$(BR2_EXTERNAL)/package/package1+ and normal +make <name>_defconfig+ command. They will be visible under the +User-provided configs+' label in the 'make list-defconfigs' output. -Additionally, an +external.mk+ file may define the +help-custom+ make -rule, to document custom make targets specific to this +BR2_EXTERNAL+ -tree. The help is completely free-form. +Additionally, a +BR2_EXTERNAL+ tree may provide a file named +help.mk+ +that defines the +help-custom+ make rule, to document custom make +targets specific to this +BR2_EXTERNAL+ tree. The help is completely +free-form. See below for a sample +$(BR2_EXTERNAL)/help.mk+ file: ------ help-custom:Signature · 6 lines
Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286500 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'