[Buildroot] [PATCH v3] asciidoc: use absolute path for resources

Yann E. MORIN yann.morin.1998 at free.fr
Thu Jul 28 19:29:37 UTC 2016


Matthew, All,

On 2016-07-28 08:04 -0500, Matthew Weber spake thusly:
> On Wed, Jul 27, 2016 at 2:21 PM, Peter Korsgaard <peter at korsgaard.com> wrote:
> >>>>>> "Matt" == Matt Weber <matthew.weber at rockwellcollins.com> writes:
> >  > From: Atul Singh <atul.singh.mandla at rockwellcollins.com>
> >  > One of the "features" of a2x is that the '-r|--resource' flag imports
> >  > resources relative to the [SOURCE_FILE], not the CWD. The current
> >  > implementation tries to import resources from the destination dir $(@D),
> >  > which works fine for out-of-tree builds because $(@D) is an absolute
> >  > path, however in-tree builds treat $(@D) as a relative path, which breaks
> >  > because a2x treats $(@D) relative to SOURCE_FILE.
[--SNIP--]
> > Like Yann, I also cannot reproduce any errors without it. How do you
> > trigger it?
> You can see the issue by running "make V=1 manual". Normally you'll
> see the following
> 
> ...
> >>>   Generating split HTML manual...
> mkdir -p output/docs/manual
> a2x  --xsltproc-opts "--stringparam toc.section.depth 1" -f chunked -d
> book -L -r /home/foobar/projects/asciidoc-upstream/buildroot-main/docs/images
> -r output/docs/manual  --destination-dir="output/docs/manual"
> --asciidoc-opts=""
> /home/foobar/projects/asciidoc-upstream/buildroot-main/output/build/docs/manual/manual.txt
> 
> The issue is with the flag "-r output/docs/manual" which uses a
> relative path. However only generated files are stored there, which
> isn't a problem with the current Buildroot as it doesn't use any. The
> issue appears when you use generated files like a graphviz element
> because the generated graph is stored in that directory.
> 
> You can recreate the bug by applying this patch
> 
> From: Brandon Maier <brandon.maier at rockwellcollins.com>
> Date: Wed, 27 Jul 2016 17:05:43 -0500
> Subject: [PATCH] Example graph to show asciidoc bug
> 
> Signed-off-by: Brandon Maier <brandon.maier at rockwellcollins.com>
> ---
>  docs/manual/introduction.txt | 17 +++++++++++++++++
>  1 file changed, 17 insertions(+)
> 
> diff --git a/docs/manual/introduction.txt b/docs/manual/introduction.txt
> index 476aa81..2297efd 100644
> --- a/docs/manual/introduction.txt
> +++ b/docs/manual/introduction.txt
> @@ -24,3 +24,20 @@ comes with default configurations for several
> boards available
>  off-the-shelf. Besides this, a number of third-party projects are based on,
>  or develop their BSP footnote:[BSP: Board Support Package] or
>  SDK footnote:[SDK: Software Development Kit] on top of Buildroot.
> +
> +["graphviz", "sample2.png"]
> +---------------------------------------------------------------------
> +digraph automata_0 {
> +  size ="8.5, 11";
> +  node [shape = circle];
> +  0 [ style = filled, color=lightgrey ];
> +  2 [ shape = doublecircle ];
> +  0 -> 2 [ label = "a " ];
> +  0 -> 1 [ label = "other " ];
> +  1 -> 2 [ label = "a " ];
> +  1 -> 1 [ label = "other " ];
> +  2 -> 2 [ label = "a " ];
> +  2 -> 1 [ label = "other " ];
> +  "Machine: a" [ shape = plaintext ];
> +}
> +---------------------------------------------------------------------

Thanks for this example. However, the generated manual does include the
graph of that state machine.

    $ git checkout 9d4a1a7^  # 9d4a1a7 is your commit
    $ make manual-html
    [--SNIP--]
    $ ls -l output/docs/manual/sample2.png docs/manual/sample2.png
    ls: cannot access 'docs/manual/sample2.png': No such file or directory
    -rw-r--r-- 1 ymorin ymorin 17K Jul 28 21:25 output/docs/manual/sample2.png
    $ mkdir ../O
    $ make O=$(cd ../O; pwd) manual-html
    [--SNIP--]
    $ ls -l ../O/docs/manual/sample2.png docs/manual/sample2.png
    ls: cannot access 'docs/manual/sample2.png': No such file or directory
    -rw-r--r-- 1 ymorin ymorin 16512 Jul 28 21:26 ../O/docs/manual/sample2.png

Both in-tree and out-of-tree manuals have the state machine, and the
graph *is* generated in the output dir, not the source dir.

Did I miss something?

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  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