lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Mon, 14 Sep 2020 09:55:44 -0700
From:   Yonghong Song <yhs@...com>
To:     Song Liu <song@...nel.org>, Quentin Monnet <quentin@...valent.com>
CC:     bpf <bpf@...r.kernel.org>, Networking <netdev@...r.kernel.org>,
        Alexei Starovoitov <ast@...nel.org>,
        Daniel Borkmann <daniel@...earbox.net>,
        Kernel Team <kernel-team@...com>
Subject: Re: [PATCH bpf-next] bpftool: fix build failure



On 9/14/20 9:20 AM, Song Liu wrote:
> On Mon, Sep 14, 2020 at 1:20 AM Quentin Monnet <quentin@...valent.com> wrote:
>>
>> On 14/09/2020 07:12, Yonghong Song wrote:
>>> When building bpf selftests like
>>>    make -C tools/testing/selftests/bpf -j20
>>> I hit the following errors:
>>>    ...
>>>    GEN      /net-next/tools/testing/selftests/bpf/tools/build/bpftool/Documentation/bpftool-gen.8
>>>    <stdin>:75: (WARNING/2) Block quote ends without a blank line; unexpected unindent.
>>>    <stdin>:71: (WARNING/2) Literal block ends without a blank line; unexpected unindent.
>>>    <stdin>:85: (WARNING/2) Literal block ends without a blank line; unexpected unindent.
>>>    <stdin>:57: (WARNING/2) Block quote ends without a blank line; unexpected unindent.
>>>    <stdin>:66: (WARNING/2) Literal block ends without a blank line; unexpected unindent.
>>>    <stdin>:109: (WARNING/2) Literal block ends without a blank line; unexpected unindent.
>>>    <stdin>:175: (WARNING/2) Literal block ends without a blank line; unexpected unindent.
>>>    <stdin>:273: (WARNING/2) Literal block ends without a blank line; unexpected unindent.
>>>    make[1]: *** [/net-next/tools/testing/selftests/bpf/tools/build/bpftool/Documentation/bpftool-perf.8] Error 12
>>>    make[1]: *** Waiting for unfinished jobs....
>>>    make[1]: *** [/net-next/tools/testing/selftests/bpf/tools/build/bpftool/Documentation/bpftool-iter.8] Error 12
>>>    make[1]: *** [/net-next/tools/testing/selftests/bpf/tools/build/bpftool/Documentation/bpftool-struct_ops.8] Error 12
>>>    ...
>>>
>>> I am using:
>>>    -bash-4.4$ rst2man --version
>>>    rst2man (Docutils 0.11 [repository], Python 2.7.5, on linux2)
>>>    -bash-4.4$
>>>
>>> Looks like that particular version of rst2man prefers to have a blank line
>>> after literal blocks. This patch added block lines in related .rst files
>>> and compilation can then pass.
>>>
>>> Cc: Quentin Monnet <quentin@...valent.com>
>>> Fixes: 18841da98100 ("tools: bpftool: Automate generation for "SEE ALSO" sections in man pages")
>>> Signed-off-by: Yonghong Song <yhs@...com>
>>
>>
>> Hi Yonghong, thanks for the fix! I didn't see those warnings on my
>> setup. For the record my rst2man version is:
>>
>>          rst2man (Docutils 0.16 [release], Python 3.8.2, on linux)
>>
>> Your patch looks good, but instead of having blank lines at the end of
>> most files, could you please check if the following works?
>>
>> ------
>>
>> diff --git a/tools/bpf/bpftool/Documentation/Makefile
>> b/tools/bpf/bpftool/Documentation/Makefile
>> index 4c9dd1e45244..01b30ed86eac 100644
>> --- a/tools/bpf/bpftool/Documentation/Makefile
>> +++ b/tools/bpf/bpftool/Documentation/Makefile
>> @@ -32,7 +32,7 @@ RST2MAN_OPTS += --verbose
>>
>>   list_pages = $(sort $(basename $(filter-out $(1),$(MAN8_RST))))
>>   see_also = $(subst " ",, \
>> -       "\n" \
>> +       "\n\n" \
>>          "SEE ALSO\n" \
>>          "========\n" \
>>          "\t**bpf**\ (2),\n" \
> 
> Yes, this works (I am using the same rst2man as Yonghong's).

Song, could you help check whether the following change works for you or 
not?

@@ -44,7 +44,7 @@ $(OUTPUT)%.8: %.rst
  ifndef RST2MAN_DEP
         $(error "rst2man not found, but required to generate man pages")
  endif
-       $(QUIET_GEN)( cat $< ; echo -n $(call see_also,$<) ) | rst2man 
$(RST2MAN_OPTS) > $@
+       $(QUIET_GEN)( cat $< ; echo -e $(call see_also,$<) ) | rst2man 
$(RST2MAN_OPTS) > $@

  clean: helpers-clean
         $(call QUIET_CLEAN, Documentation)

> 
> Thanks,
> Song
> 

Powered by blists - more mailing lists