[igt-dev] [PATCH i-g-t] build: allow to use rst2man from python3

Jani Nikula jani.nikula at linux.intel.com
Tue Sep 4 12:23:58 UTC 2018


On Tue, 04 Sep 2018, Daniel Vetter <daniel.vetter at ffwll.ch> wrote:
> On Tue, Sep 4, 2018 at 1:56 PM, Jani Nikula <jani.nikula at linux.intel.com> wrote:
>> On Fri, 31 Aug 2018, Lucas De Marchi <lucas.demarchi at intel.com> wrote:
>>> While changing maintainer-tools to allow to use python3 I unsintalled my
>>> python2 tools, which broke IGT build for me. Allow to use either
>>> rst2man-3 or rst2man.
>>>
>>> Signed-off-by: Lucas De Marchi <lucas.demarchi at intel.com>
>>> ---
>>>  configure.ac    | 4 ++--
>>>  man/Makefile.am | 2 +-
>>>  man/meson.build | 4 ++--
>>>  man/rst2man.sh  | 7 ++++---
>>>  4 files changed, 9 insertions(+), 8 deletions(-)
>>>
>>> diff --git a/configure.ac b/configure.ac
>>> index c75ef284..bcd24f04 100644
>>> --- a/configure.ac
>>> +++ b/configure.ac
>>> @@ -52,8 +52,8 @@ enable_gtk_doc=no
>>>  ])
>>>
>>>  # check for rst2man for generating man pages
>>> -AC_CHECK_PROG(RST2MAN, rst2man, yes, no)
>>> -AM_CONDITIONAL(HAVE_RST2MAN, [test "x$RST2MAN" = xyes])
>>> +AC_CHECK_PROGS(RST2MAN, rst2man-3 rst2man, "")
>>> +AM_CONDITIONAL(HAVE_RST2MAN, [test "x$RST2MAN" = x])
>>
>> Is this ugliness what Fedora recommends upstreams all over do to
>> workaround their package management decisions? Yuck.
>
> Use meson (where it's a one-liner). Still meh, but not longer yuck I think :-)

I did refer to rst2man-3 alone, or any-python-tool-3, regardless of how
verbose the workaround has to be. Is this what Fedora as a distro is
intentionally imposing on all upstreams? Or do they have a better idea?

BR,
Jani.

> More seriously, do we really care about fixing these kind of things on
> the old automake build system? I'd say just keep it as-is (and only
> build-test with python2 for automake, and both python2&3 with meson).
> -Daniel
>
>
>>
>> BR,
>> Jani.
>>
>>>
>>>  # Checks for functions, headers, structures, etc.
>>>  AC_HEADER_STDC
>>> diff --git a/man/Makefile.am b/man/Makefile.am
>>> index 777f5d1f..6b357b11 100644
>>> --- a/man/Makefile.am
>>> +++ b/man/Makefile.am
>>> @@ -42,4 +42,4 @@ defs.rst:
>>>       $(AM_V_GEN)echo ".. |MANUAL_GROUP| replace:: General Commands Manual" >> $@
>>>
>>>  %.$(APP_MAN_SUFFIX): %.rst defs.rst
>>> -     $(AM_V_GEN)rst2man < $< > $@
>>> +     $(AM_V_GEN)$(RST2MAN) < $< > $@
>>> diff --git a/man/meson.build b/man/meson.build
>>> index fa01f9dd..a6b08900 100644
>>> --- a/man/meson.build
>>> +++ b/man/meson.build
>>> @@ -22,14 +22,14 @@ defs_rst = configure_file(input : 'defs.rst.in',
>>>               output : 'defs.rst',
>>>               configuration : config)
>>>
>>> -rst2man = find_program('rst2man', required : _man_required)
>>> +rst2man = find_program('rst2man-3', 'rst2man', required : _man_required)
>>>  rst2man_script = find_program('rst2man.sh')
>>>
>>>  if _build_man and rst2man.found()
>>>       foreach manpage : manpages
>>>               custom_target(manpage + '.1',
>>>                               build_by_default : true,
>>> -                             command : [ rst2man_script, '@INPUT@', '@OUTPUT@' ],
>>> +                             command : [ rst2man_script, rst2man, '@INPUT@', '@OUTPUT@' ],
>>>                               depend_files : [ defs_rst ],
>>>                               input: manpage + '.rst',
>>>                               output : manpage + '.1.gz',
>>> diff --git a/man/rst2man.sh b/man/rst2man.sh
>>> index 8106ca4b..49a98fc5 100755
>>> --- a/man/rst2man.sh
>>> +++ b/man/rst2man.sh
>>> @@ -1,7 +1,8 @@
>>>  #!/bin/bash
>>>
>>> -input=$1
>>> -output=$2
>>> +rst2man=$1
>>> +input=$2
>>> +output=$3
>>>
>>>  out_dir=$(dirname "${output}")
>>>  in_file=$(basename "${input}")
>>> @@ -10,7 +11,7 @@ in_file=$(basename "${input}")
>>>  # generated we first need to move it all into the build dir
>>>  cp "$input" "$out_dir"
>>>
>>> -rst2man "$out_dir/$in_file" "${output%.gz}"
>>> +${rst2man} "$out_dir/$in_file" "${output%.gz}"
>>>
>>>  rm -f "${output}"
>>>  gzip "${output%.gz}"
>>
>> --
>> Jani Nikula, Intel Open Source Graphics Center
>> _______________________________________________
>> igt-dev mailing list
>> igt-dev at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/igt-dev

-- 
Jani Nikula, Intel Open Source Graphics Center


More information about the igt-dev mailing list