[Buildroot] [PATCHv2] docs/manual: fix generation of deprecated list

Thomas Petazzoni thomas.petazzoni at free-electrons.com
Sun Aug 2 17:19:00 UTC 2015


Dear Yann E. MORIN,

On Sun,  2 Aug 2015 16:32:07 +0200, Yann E. MORIN wrote:
> Since commit 5f117c3 (webkit: mark as deprecated), generation of the
> manual has been broken.
> 
> This is because that commit added a deprecated dependency on a
> prompt-less symbol, BR2_PACKAGE_WEBKIT_ARCH_SUPPORTS. However, the
> generation script does not check that a symbol has a prompt before
> it attempts to add it to the deprecated list. So, we end up with
> traceback:
> 
>     Writing the virtual-packages list in:
>             /home/ymorin/dev/buildroot/O/build/docs/manual/virtual-package-list.txt
>     Traceback (most recent call last):
>       File "/home/ymorin/dev/buildroot/buildroot/support/scripts/gen-manual-lists.py", line 510, in <module>
>         buildroot.print_list(list_name, dry_run=args.dry_run, output=output)
>       File "/home/ymorin/dev/buildroot/buildroot/support/scripts/gen-manual-lists.py", line 466, in print_list
>         item_label=item_label)
>       File "/home/ymorin/dev/buildroot/buildroot/support/scripts/gen-manual-lists.py", line 126, in format_asciidoc_table
>         enable_choice=enable_choice))
>       File "/home/ymorin/dev/buildroot/buildroot/support/scripts/gen-manual-lists.py", line 350, in _format_symbol_prompt_location
>         return "| {0:<40} <| {1}\n".format(get_label_func(symbol),
>       File "/home/ymorin/dev/buildroot/buildroot/support/scripts/gen-manual-lists.py", line 458, in <lambda>
>         get_label = lambda x: self._get_symbol_label(x, mark_depr)
>       File "/home/ymorin/dev/buildroot/buildroot/support/scripts/gen-manual-lists.py", line 313, in _get_symbol_label
>         label = symbol.get_prompts()[0]
>     IndexError: list index out of range
> 
> However, we can not use the existing _is_deprecated filter function to
> filter out symbols without prompts, because this function is also used
> to add a '(deprecated)' tag in the man package list (not that it would
> not work, but it does not seem /right/). Furthermore, it could also be
> used (but is currently not) to build the list of virtual packages, which
> do not have a prompt.
> 
> So, introduce a filter function, aptly named _is_deprecated_feature(),
> to be used as the filter to find deprecated feature, and keep the
> existing _is_deprecated() that can be used in any context to decide
> whether a symbol is deprecated or not.
> 
> Signed-off-by: "Yann E. MORIN" <yann.morin.1998 at free.fr>
> Cc: Samuel Martin <s.martin49 at gmail.com>
> Cc: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
> Cc: Gustavo Zacarias <gustavo at zacarias.com.ar>
> 
> ---
> Thomas, you're in copy because it might be interesting to get the
> autobuilders build the manual from time to time, no?

Applied, thanks.

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com


More information about the buildroot mailing list