diff mbox

[v2,2/2] help: relocate help messages specific to one package

Message ID 1457473693-25776-2-git-send-email-jezz@sysmic.org
State Rejected
Headers show

Commit Message

Jérôme Pouiller March 8, 2016, 9:48 p.m. UTC
Use $EXTRA_HELP feature in order to integrate help messages specific
to one package (linux-menuconfig, etc...) package they are
related.

It would be possible to do it using kconfig framework, but I was not
sure it is necessary to document kconfig targets systematicaly.

Signed-off-by: Jérôme Pouiller <jezz@sysmic.org>
---
v2:
  - Rename LOCAL_HELP

 Makefile                   | 16 ----------------
 boot/barebox/barebox.mk    |  5 +++++
 linux/linux.mk             |  7 +++++++
 package/busybox/busybox.mk |  4 ++++
 package/uclibc/uclibc.mk   |  4 ++++
 5 files changed, 20 insertions(+), 16 deletions(-)

Comments

Yann E. MORIN March 8, 2016, 10:59 p.m. UTC | #1
Jérôme, All,

On 2016-03-08 22:48 +0100, Jérôme Pouiller spake thusly:
> Use $EXTRA_HELP feature in order to integrate help messages specific
> to one package (linux-menuconfig, etc...) package they are
> related.
> 
> It would be possible to do it using kconfig framework, but I was not
> sure it is necessary to document kconfig targets systematicaly.
> 
> Signed-off-by: Jérôme Pouiller <jezz@sysmic.org>
> ---
> v2:
>   - Rename LOCAL_HELP
> 
>  Makefile                   | 16 ----------------
>  boot/barebox/barebox.mk    |  5 +++++
>  linux/linux.mk             |  7 +++++++
>  package/busybox/busybox.mk |  4 ++++
>  package/uclibc/uclibc.mk   |  4 ++++
>  5 files changed, 20 insertions(+), 16 deletions(-)
> 
> diff --git a/Makefile b/Makefile
> index 1c9f63c..eb92052 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -932,22 +932,6 @@ help:
>  	@echo '  <pkg>-dirclean         - Remove <pkg> build directory'
>  	@echo '  <pkg>-reconfigure      - Restart the build from the configure step'
>  	@echo '  <pkg>-rebuild          - Restart the build from the build step'
> -ifeq ($(BR2_PACKAGE_BUSYBOX),y)
> -	@echo '  busybox-menuconfig     - Run BusyBox menuconfig'
> -endif
> -ifeq ($(BR2_LINUX_KERNEL),y)
> -	@echo '  linux-menuconfig       - Run Linux kernel menuconfig'
> -	@echo '  linux-savedefconfig    - Run Linux kernel savedefconfig'
> -	@echo '  linux-update-defconfig - Save the Linux configuration to the path specified'
> -	@echo '                             by BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE'
> -endif
> -ifeq ($(BR2_TOOLCHAIN_BUILDROOT),y)
> -	@echo '  uclibc-menuconfig      - Run uClibc menuconfig'
> -endif
> -ifeq ($(BR2_TARGET_BAREBOX),y)
> -	@echo '  barebox-menuconfig     - Run barebox menuconfig'
> -	@echo '  barebox-savedefconfig  - Run barebox savedefconfig'
> -endif
>  	@for i in $(EXTRA_HELP); do echo "  $$i"; done

Following my reply to the previous mail, here's an alternate proposal
(it may need a bit of tweaking, though, I jut wrote it in the mail
without testing):

    for h in $(PACKAGE_HELP_y); do \
        printf "  %24.24s - %s\n" "$${h%% *}" "$${h#* }"; \
    done

and see below how it is set...

>  	@echo
>  	@echo 'Documentation:'
> diff --git a/boot/barebox/barebox.mk b/boot/barebox/barebox.mk
> index 7715daf..24d0162 100644
> --- a/boot/barebox/barebox.mk
> +++ b/boot/barebox/barebox.mk
> @@ -117,4 +117,9 @@ $(error No Barebox config. Check your BR2_TARGET_BAREBOX_BOARD_DEFCONFIG or BR2_
>  endif
>  endif
>  
> +ifeq ($(BR2_TARGET_BAREBOX),y)
> +	EXTRA_HELP += 'barebox-menuconfig     - Run barebox menuconfig'
> +	EXTRA_HELP += 'barebox-savedefconfig  - Run barebox savedefconfig'
> +endif

PACKAGE_HELP_$(BR2_TARGET_BAREBOX) += "barebox-menuconfig Run barebox menuconfig"
PACKAGE_HELP_$(BR2_TARGET_BAREBOX) += "barebox-savedefconfig Run barebox savedefconfig"

and so on...

Which IMHO is much more readable, and allows us to nicely change the
layout of the help texts.

Regards,
Yann E. MORIN.

> +
>  $(eval $(kconfig-package))
> diff --git a/linux/linux.mk b/linux/linux.mk
> index 7e20255..6cfc8e7 100644
> --- a/linux/linux.mk
> +++ b/linux/linux.mk
> @@ -435,6 +435,13 @@ endif
>  
>  endif # BR_BUILDING
>  
> +ifeq ($(BR2_LINUX_KERNEL),y)
> +	EXTRA_HELP += 'linux-menuconfig       - Run Linux kernel menuconfig'
> +	EXTRA_HELP += 'linux-savedefconfig    - Run Linux kernel savedefconfig'
> +	EXTRA_HELP += 'linux-update-defconfig - Save the Linux configuration to the path specified'
> +	EXTRA_HELP += '                             by BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE'
> +endif
> +
>  $(eval $(kconfig-package))
>  
>  # Support for rebuilding the kernel after the cpio archive has
> diff --git a/package/busybox/busybox.mk b/package/busybox/busybox.mk
> index 7c904c8..d4ee149 100644
> --- a/package/busybox/busybox.mk
> +++ b/package/busybox/busybox.mk
> @@ -250,4 +250,8 @@ $(error No BusyBox configuration file specified, check your BR2_PACKAGE_BUSYBOX_
>  endif
>  endif
>  
> +ifeq ($(BR2_PACKAGE_BUSYBOX),y)
> +	EXTRA_HELP += 'busybox-menuconfig     - Run BusyBox menuconfig'
> +endif
> +
>  $(eval $(kconfig-package))
> diff --git a/package/uclibc/uclibc.mk b/package/uclibc/uclibc.mk
> index 200de04..9448364 100644
> --- a/package/uclibc/uclibc.mk
> +++ b/package/uclibc/uclibc.mk
> @@ -460,4 +460,8 @@ $(error No uClibc configuration file specified, check your BR2_UCLIBC_CONFIG set
>  endif
>  endif
>  
> +ifeq ($(BR2_PACKAGE_UCLIBC),y)
> +	EXTRA_HELP += 'uclibc-menuconfig      - Run uClibc menuconfig'
> +endif
> +
>  $(eval $(kconfig-package))
> -- 
> 2.7.0
> 
> _______________________________________________
> buildroot mailing list
> buildroot@busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
Arnout Vandecappelle March 8, 2016, 11:16 p.m. UTC | #2
On 03/08/16 23:59, Yann E. MORIN wrote:
> Jérôme, All,
>
> On 2016-03-08 22:48 +0100, Jérôme Pouiller spake thusly:
>> Use $EXTRA_HELP feature in order to integrate help messages specific
>> to one package (linux-menuconfig, etc...) package they are
>> related.
>>
>> It would be possible to do it using kconfig framework, but I was not
>> sure it is necessary to document kconfig targets systematicaly.
>>
>> Signed-off-by: Jérôme Pouiller <jezz@sysmic.org>
>> ---
>> v2:
>>    - Rename LOCAL_HELP
>>
>>   Makefile                   | 16 ----------------
>>   boot/barebox/barebox.mk    |  5 +++++
>>   linux/linux.mk             |  7 +++++++
>>   package/busybox/busybox.mk |  4 ++++
>>   package/uclibc/uclibc.mk   |  4 ++++
>>   5 files changed, 20 insertions(+), 16 deletions(-)
>>
>> diff --git a/Makefile b/Makefile
>> index 1c9f63c..eb92052 100644
>> --- a/Makefile
>> +++ b/Makefile
>> @@ -932,22 +932,6 @@ help:
>>   	@echo '  <pkg>-dirclean         - Remove <pkg> build directory'
>>   	@echo '  <pkg>-reconfigure      - Restart the build from the configure step'
>>   	@echo '  <pkg>-rebuild          - Restart the build from the build step'
>> -ifeq ($(BR2_PACKAGE_BUSYBOX),y)
>> -	@echo '  busybox-menuconfig     - Run BusyBox menuconfig'
>> -endif
>> -ifeq ($(BR2_LINUX_KERNEL),y)
>> -	@echo '  linux-menuconfig       - Run Linux kernel menuconfig'
>> -	@echo '  linux-savedefconfig    - Run Linux kernel savedefconfig'
>> -	@echo '  linux-update-defconfig - Save the Linux configuration to the path specified'
>> -	@echo '                             by BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE'
>> -endif
>> -ifeq ($(BR2_TOOLCHAIN_BUILDROOT),y)
>> -	@echo '  uclibc-menuconfig      - Run uClibc menuconfig'
>> -endif
>> -ifeq ($(BR2_TARGET_BAREBOX),y)
>> -	@echo '  barebox-menuconfig     - Run barebox menuconfig'
>> -	@echo '  barebox-savedefconfig  - Run barebox savedefconfig'
>> -endif
>>   	@for i in $(EXTRA_HELP); do echo "  $$i"; done
>
> Following my reply to the previous mail, here's an alternate proposal
> (it may need a bit of tweaking, though, I jut wrote it in the mail
> without testing):
>
>      for h in $(PACKAGE_HELP_y); do \
>          printf "  %24.24s - %s\n" "$${h%% *}" "$${h#* }"; \
>      done

  Nice, but actually largely independent of this patch. This improvement could 
be done in a follow-up (third) patch. The patch in the current state is mostly 
moving things around.

  I would tend to prefer splitting on something other than space, though. 
<space><colon><space> for instance. So $${h%% : *}.


>
> and see below how it is set...
>
>>   	@echo
>>   	@echo 'Documentation:'
>> diff --git a/boot/barebox/barebox.mk b/boot/barebox/barebox.mk
>> index 7715daf..24d0162 100644
>> --- a/boot/barebox/barebox.mk
>> +++ b/boot/barebox/barebox.mk
>> @@ -117,4 +117,9 @@ $(error No Barebox config. Check your BR2_TARGET_BAREBOX_BOARD_DEFCONFIG or BR2_
>>   endif
>>   endif
>>
>> +ifeq ($(BR2_TARGET_BAREBOX),y)
>> +	EXTRA_HELP += 'barebox-menuconfig     - Run barebox menuconfig'
>> +	EXTRA_HELP += 'barebox-savedefconfig  - Run barebox savedefconfig'
>> +endif
>
> PACKAGE_HELP_$(BR2_TARGET_BAREBOX) += "barebox-menuconfig Run barebox menuconfig"
> PACKAGE_HELP_$(BR2_TARGET_BAREBOX) += "barebox-savedefconfig Run barebox savedefconfig"

  I'm not particularly fond of the _y trick. We have it in a few places, but 
IMHO it doesn't make things more readable or maintainable at all. Only when you 
have a lot of different symbols to check and something relatively short on the 
right hand side, then it looks OK. Like is often the case in the kernel.

  So I would tend to accept these patches as they are now, and have your 
proposal as a follow-up.

  Regards,
  Arnout

>
> and so on...
>
> Which IMHO is much more readable, and allows us to nicely change the
> layout of the help texts.
>
> Regards,
> Yann E. MORIN.
>
>> +
>>   $(eval $(kconfig-package))
>> diff --git a/linux/linux.mk b/linux/linux.mk
>> index 7e20255..6cfc8e7 100644
>> --- a/linux/linux.mk
>> +++ b/linux/linux.mk
>> @@ -435,6 +435,13 @@ endif
>>
>>   endif # BR_BUILDING
>>
>> +ifeq ($(BR2_LINUX_KERNEL),y)
>> +	EXTRA_HELP += 'linux-menuconfig       - Run Linux kernel menuconfig'
>> +	EXTRA_HELP += 'linux-savedefconfig    - Run Linux kernel savedefconfig'
>> +	EXTRA_HELP += 'linux-update-defconfig - Save the Linux configuration to the path specified'
>> +	EXTRA_HELP += '                             by BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE'
>> +endif
>> +
>>   $(eval $(kconfig-package))
>>
>>   # Support for rebuilding the kernel after the cpio archive has
>> diff --git a/package/busybox/busybox.mk b/package/busybox/busybox.mk
>> index 7c904c8..d4ee149 100644
>> --- a/package/busybox/busybox.mk
>> +++ b/package/busybox/busybox.mk
>> @@ -250,4 +250,8 @@ $(error No BusyBox configuration file specified, check your BR2_PACKAGE_BUSYBOX_
>>   endif
>>   endif
>>
>> +ifeq ($(BR2_PACKAGE_BUSYBOX),y)
>> +	EXTRA_HELP += 'busybox-menuconfig     - Run BusyBox menuconfig'
>> +endif
>> +
>>   $(eval $(kconfig-package))
>> diff --git a/package/uclibc/uclibc.mk b/package/uclibc/uclibc.mk
>> index 200de04..9448364 100644
>> --- a/package/uclibc/uclibc.mk
>> +++ b/package/uclibc/uclibc.mk
>> @@ -460,4 +460,8 @@ $(error No uClibc configuration file specified, check your BR2_UCLIBC_CONFIG set
>>   endif
>>   endif
>>
>> +ifeq ($(BR2_PACKAGE_UCLIBC),y)
>> +	EXTRA_HELP += 'uclibc-menuconfig      - Run uClibc menuconfig'
>> +endif
>> +
>>   $(eval $(kconfig-package))
>> --
>> 2.7.0
>>
>> _______________________________________________
>> buildroot mailing list
>> buildroot@busybox.net
>> http://lists.busybox.net/mailman/listinfo/buildroot
>
Yann E. MORIN March 9, 2016, 6:01 p.m. UTC | #3
Arnout, Jérôme, All,

On 2016-03-09 00:16 +0100, Arnout Vandecappelle spake thusly:
> On 03/08/16 23:59, Yann E. MORIN wrote:
> >Jérôme, All,
> >
> >On 2016-03-08 22:48 +0100, Jérôme Pouiller spake thusly:
> >>Use $EXTRA_HELP feature in order to integrate help messages specific
> >>to one package (linux-menuconfig, etc...) package they are
> >>related.
> >>
> >>It would be possible to do it using kconfig framework, but I was not
> >>sure it is necessary to document kconfig targets systematicaly.
> >>
> >>Signed-off-by: Jérôme Pouiller <jezz@sysmic.org>
> >>---
> >>v2:
> >>   - Rename LOCAL_HELP
> >>
> >>  Makefile                   | 16 ----------------
> >>  boot/barebox/barebox.mk    |  5 +++++
> >>  linux/linux.mk             |  7 +++++++
> >>  package/busybox/busybox.mk |  4 ++++
> >>  package/uclibc/uclibc.mk   |  4 ++++
> >>  5 files changed, 20 insertions(+), 16 deletions(-)
> >>
> >>diff --git a/Makefile b/Makefile
> >>index 1c9f63c..eb92052 100644
> >>--- a/Makefile
> >>+++ b/Makefile
> >>@@ -932,22 +932,6 @@ help:
> >>  	@echo '  <pkg>-dirclean         - Remove <pkg> build directory'
> >>  	@echo '  <pkg>-reconfigure      - Restart the build from the configure step'
> >>  	@echo '  <pkg>-rebuild          - Restart the build from the build step'
> >>-ifeq ($(BR2_PACKAGE_BUSYBOX),y)
> >>-	@echo '  busybox-menuconfig     - Run BusyBox menuconfig'
> >>-endif
> >>-ifeq ($(BR2_LINUX_KERNEL),y)
> >>-	@echo '  linux-menuconfig       - Run Linux kernel menuconfig'
> >>-	@echo '  linux-savedefconfig    - Run Linux kernel savedefconfig'
> >>-	@echo '  linux-update-defconfig - Save the Linux configuration to the path specified'
> >>-	@echo '                             by BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE'
> >>-endif
> >>-ifeq ($(BR2_TOOLCHAIN_BUILDROOT),y)
> >>-	@echo '  uclibc-menuconfig      - Run uClibc menuconfig'
> >>-endif
> >>-ifeq ($(BR2_TARGET_BAREBOX),y)
> >>-	@echo '  barebox-menuconfig     - Run barebox menuconfig'
> >>-	@echo '  barebox-savedefconfig  - Run barebox savedefconfig'
> >>-endif
> >>  	@for i in $(EXTRA_HELP); do echo "  $$i"; done
> >
> >Following my reply to the previous mail, here's an alternate proposal
> >(it may need a bit of tweaking, though, I jut wrote it in the mail
> >without testing):
> >
> >     for h in $(PACKAGE_HELP_y); do \
> >         printf "  %24.24s - %s\n" "$${h%% *}" "$${h#* }"; \
> >     done
> 
>  Nice, but actually largely independent of this patch.

Absolutely not, if you account for my position as explained in answer to
the first patch in the series.

> This improvement
> could be done in a follow-up (third) patch. The patch in the current state
> is mostly moving things around.
> 
>  I would tend to prefer splitting on something other than space, though.
> <space><colon><space> for instance. So $${h%% : *}.

Yes, that's fine with me. ;-)

> >and see below how it is set...
> >
> >>  	@echo
> >>  	@echo 'Documentation:'
> >>diff --git a/boot/barebox/barebox.mk b/boot/barebox/barebox.mk
> >>index 7715daf..24d0162 100644
> >>--- a/boot/barebox/barebox.mk
> >>+++ b/boot/barebox/barebox.mk
> >>@@ -117,4 +117,9 @@ $(error No Barebox config. Check your BR2_TARGET_BAREBOX_BOARD_DEFCONFIG or BR2_
> >>  endif
> >>  endif
> >>
> >>+ifeq ($(BR2_TARGET_BAREBOX),y)
> >>+	EXTRA_HELP += 'barebox-menuconfig     - Run barebox menuconfig'
> >>+	EXTRA_HELP += 'barebox-savedefconfig  - Run barebox savedefconfig'
> >>+endif
> >
> >PACKAGE_HELP_$(BR2_TARGET_BAREBOX) += "barebox-menuconfig Run barebox menuconfig"
> >PACKAGE_HELP_$(BR2_TARGET_BAREBOX) += "barebox-savedefconfig Run barebox savedefconfig"
> 
>  I'm not particularly fond of the _y trick. We have it in a few places, but
> IMHO it doesn't make things more readable or maintainable at all. Only when
> you have a lot of different symbols to check and something relatively short
> on the right hand side, then it looks OK. Like is often the case in the
> kernel.

I'm OK with using the ifneq conditional too, even though I prefer the _y
"trick" since it is pretty well used in many places (in Buildroot, but
in the kernel too for example).

>  So I would tend to accept these patches as they are now, and have your
> proposal as a follow-up.

Sorry, I really do not like the first patch and what it implies.

But code speaks better than words, so I'll hack something now and submit
so we can compare objectivly, and so the powers-that-be may decide. ;-)

Thanks! :-)

Regards,
Yann E. MORIN.
diff mbox

Patch

diff --git a/Makefile b/Makefile
index 1c9f63c..eb92052 100644
--- a/Makefile
+++ b/Makefile
@@ -932,22 +932,6 @@  help:
 	@echo '  <pkg>-dirclean         - Remove <pkg> build directory'
 	@echo '  <pkg>-reconfigure      - Restart the build from the configure step'
 	@echo '  <pkg>-rebuild          - Restart the build from the build step'
-ifeq ($(BR2_PACKAGE_BUSYBOX),y)
-	@echo '  busybox-menuconfig     - Run BusyBox menuconfig'
-endif
-ifeq ($(BR2_LINUX_KERNEL),y)
-	@echo '  linux-menuconfig       - Run Linux kernel menuconfig'
-	@echo '  linux-savedefconfig    - Run Linux kernel savedefconfig'
-	@echo '  linux-update-defconfig - Save the Linux configuration to the path specified'
-	@echo '                             by BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE'
-endif
-ifeq ($(BR2_TOOLCHAIN_BUILDROOT),y)
-	@echo '  uclibc-menuconfig      - Run uClibc menuconfig'
-endif
-ifeq ($(BR2_TARGET_BAREBOX),y)
-	@echo '  barebox-menuconfig     - Run barebox menuconfig'
-	@echo '  barebox-savedefconfig  - Run barebox savedefconfig'
-endif
 	@for i in $(EXTRA_HELP); do echo "  $$i"; done
 	@echo
 	@echo 'Documentation:'
diff --git a/boot/barebox/barebox.mk b/boot/barebox/barebox.mk
index 7715daf..24d0162 100644
--- a/boot/barebox/barebox.mk
+++ b/boot/barebox/barebox.mk
@@ -117,4 +117,9 @@  $(error No Barebox config. Check your BR2_TARGET_BAREBOX_BOARD_DEFCONFIG or BR2_
 endif
 endif
 
+ifeq ($(BR2_TARGET_BAREBOX),y)
+	EXTRA_HELP += 'barebox-menuconfig     - Run barebox menuconfig'
+	EXTRA_HELP += 'barebox-savedefconfig  - Run barebox savedefconfig'
+endif
+
 $(eval $(kconfig-package))
diff --git a/linux/linux.mk b/linux/linux.mk
index 7e20255..6cfc8e7 100644
--- a/linux/linux.mk
+++ b/linux/linux.mk
@@ -435,6 +435,13 @@  endif
 
 endif # BR_BUILDING
 
+ifeq ($(BR2_LINUX_KERNEL),y)
+	EXTRA_HELP += 'linux-menuconfig       - Run Linux kernel menuconfig'
+	EXTRA_HELP += 'linux-savedefconfig    - Run Linux kernel savedefconfig'
+	EXTRA_HELP += 'linux-update-defconfig - Save the Linux configuration to the path specified'
+	EXTRA_HELP += '                             by BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE'
+endif
+
 $(eval $(kconfig-package))
 
 # Support for rebuilding the kernel after the cpio archive has
diff --git a/package/busybox/busybox.mk b/package/busybox/busybox.mk
index 7c904c8..d4ee149 100644
--- a/package/busybox/busybox.mk
+++ b/package/busybox/busybox.mk
@@ -250,4 +250,8 @@  $(error No BusyBox configuration file specified, check your BR2_PACKAGE_BUSYBOX_
 endif
 endif
 
+ifeq ($(BR2_PACKAGE_BUSYBOX),y)
+	EXTRA_HELP += 'busybox-menuconfig     - Run BusyBox menuconfig'
+endif
+
 $(eval $(kconfig-package))
diff --git a/package/uclibc/uclibc.mk b/package/uclibc/uclibc.mk
index 200de04..9448364 100644
--- a/package/uclibc/uclibc.mk
+++ b/package/uclibc/uclibc.mk
@@ -460,4 +460,8 @@  $(error No uClibc configuration file specified, check your BR2_UCLIBC_CONFIG set
 endif
 endif
 
+ifeq ($(BR2_PACKAGE_UCLIBC),y)
+	EXTRA_HELP += 'uclibc-menuconfig      - Run uClibc menuconfig'
+endif
+
 $(eval $(kconfig-package))