[Buildroot] [PATCH 0/9 v2] core: allow for custom, local help; rearrange package-specific help (branch yem/help)
Yann E. MORIN
yann.morin.1998 at free.fr
Fri Mar 11 17:41:11 UTC 2016
Hello All!
This series is an alternative proposal to support displaying custom
help, most probably from a br2-external tree (or from a local.mk, but
that'd be pretty insane).
The basic idea is to offer the user help entries for local
customisations, but without mixing them with our own help entries.
I believe we want to keep them separate, as inter-mixing the two could
lead users to believe those addtional help entries are "native" in
buildroot, when they are not.
The same way we expose all of br2-external config options under a
sub-menu labelled "User-provided options" (although this is mostly a
technical limitation/artifact), we do similarly for the custom help,
albeit with a slight shorter moniker, 'help-custom'.
The first two patches implement this new make target, the first by
adding it as a purely separate and new target, the scond by making it
appended after out internal help.
Third patch adds a new helper make function, that can be used to
pretty-print the package-specific help. This macro is added to to the
manual, as an *example* of what the custom help could use.
The macro is then used to implement per-package specific help (which is
currently only about kconfig-related changes, but can not easily be done
in the kconfig-package infra) into the packages themselves, to clean up
the main help code (the entries are still displayed there, they are just
defined in each concerned package).
Thanks to Jérôme for his initial proposal, and Arnout for
before-inception suggestions:
http://lists.busybox.net/pipermail/buildroot/2016-March/155415.html
Additional notes:
- only the first two patches are what is required to get custom help.
The followup patches only address the other part of Jérôme's patch,
which is about moving patckage-specifi help to the concerned
packages;
- the new custom help is not intermixed with our internal help; rather
it is appended to it;
- indeed, this macro does not allow packages to expose arbitrary help.
It does not however prevent packages from documenting arbitrary
rules. If a package wants to provide arbitrary help, then it would
probably do in its .mk file something like:
LIBFOO_HELP = "libfoo-help : print help for libfoo"
libfoo-help:
@cat my-biggish-help-file
Changes v1 -> v2:
- rename the custom help make target
- make it explicit that it is *absolutely* free-form
- better document it in the manual
- print custom help after our internal help
- properly pretty-print on multi lines
(Sorry, I haven't carried Arnout's reviews so far...)
Regards,
Yann E. MORIN.
The following changes since commit 0b7b84310c3781c346eea4c114c8cb4e97bbd8ea:
olimex_imx233_olinuxino_defconfig: genimage support (2016-03-11 13:14:54 +0100)
are available in the git repository at:
git://git.busybox.net/~ymorin/git/buildroot yem/help
for you to fetch changes up to b508f49279beea5e3f1b823408aa12ad7d9a35f9:
boot/barebox: use the generic help rules (2016-03-11 18:20:45 +0100)
----------------------------------------------------------------
Yann E. MORIN (9):
core: add the possibility to provide help for custom rules
core: also display the custom help with our main help
core/pkg-utils: add a macro to pretty-print a help entry
docs/manual: print-help can be used in help-custom
core/pkg-generic: add help about package-specific rules
package/busybox: use the generic help rules
linux: add the generic help rules
package/uclibc: use the generic help rules
boot/barebox: use the generic help rules
Makefile | 27 ++++++++++-----------------
boot/barebox/barebox.mk | 4 ++++
docs/manual/adding-packages-generic.txt | 6 ++++++
docs/manual/customize-outside-br.txt | 26 ++++++++++++++++++++++++++
linux/linux.mk | 6 ++++++
package/busybox/busybox.mk | 2 ++
package/pkg-generic.mk | 2 ++
package/pkg-utils.mk | 22 ++++++++++++++++++++++
package/uclibc/uclibc.mk | 2 ++
9 files changed, 80 insertions(+), 17 deletions(-)
--
.-----------------.--------------------.------------------.--------------------.
| 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. |
'------------------------------^-------^------------------^--------------------'
More information about the buildroot
mailing list