python-docutils: Convert to python3

Message ID 20210515174846.569536-1-adolf.belka@ipfire.org
State Superseded
Headers
Series python-docutils: Convert to python3 |

Commit Message

Adolf Belka May 15, 2021, 5:48 p.m. UTC
  - make.sh
   remove python-docutils
   move python3-docutils before python3-daemon
- With python3-docutils in place before python3-daemon, python3-daemon
   now builds without any problems on a clean build.
- Convert python3-docutils lfs from addon to core program
- Remove python-docutils rootfile
- Move python3-docutils rootfile from packages to common folder
- awscli, distutils and setuptools are using docutils. awscli and setuptools are 
   only using python3 version. distutils is using both python2 and python3 but as 
   distutils has been replaced by setuptools then I will be sending in a patch
   to remove distutils and distutils-extra.

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
---
 config/rootfiles/common/python-docutils       | 320 ------------------
 .../{packages => common}/python3-docutils     |  10 +
 lfs/python-docutils                           |  75 ----
 lfs/python3-docutils                          |  10 +-
 make.sh                                       |   3 +-
 5 files changed, 12 insertions(+), 406 deletions(-)
 delete mode 100644 config/rootfiles/common/python-docutils
 rename config/rootfiles/{packages => common}/python3-docutils (98%)
 delete mode 100644 lfs/python-docutils
  

Comments

Peter Müller May 15, 2021, 7:06 p.m. UTC | #1
Hello Adolf,

thank you for providing this patch.

It looks good to me, but I did not fully understand why we need docutils as a part of the core system.
Is this because of python3-setuptools? (See also my comment on the updated rootfile below.)

Thanks in advance, and best regards,
Peter Müller


> - make.sh
>    remove python-docutils
>    move python3-docutils before python3-daemon
> - With python3-docutils in place before python3-daemon, python3-daemon
>    now builds without any problems on a clean build.
> - Convert python3-docutils lfs from addon to core program
> - Remove python-docutils rootfile
> - Move python3-docutils rootfile from packages to common folder
> - awscli, distutils and setuptools are using docutils. awscli and setuptools are 
>    only using python3 version. distutils is using both python2 and python3 but as 
>    distutils has been replaced by setuptools then I will be sending in a patch
>    to remove distutils and distutils-extra.
> 
> Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
> ---
>  config/rootfiles/common/python-docutils       | 320 ------------------
>  .../{packages => common}/python3-docutils     |  10 +
>  lfs/python-docutils                           |  75 ----
>  lfs/python3-docutils                          |  10 +-
>  make.sh                                       |   3 +-
>  5 files changed, 12 insertions(+), 406 deletions(-)
>  delete mode 100644 config/rootfiles/common/python-docutils
>  rename config/rootfiles/{packages => common}/python3-docutils (98%)
>  delete mode 100644 lfs/python-docutils
> 
> diff --git a/config/rootfiles/common/python-docutils b/config/rootfiles/common/python-docutils
> deleted file mode 100644
> index 45038dde2..000000000
> --- a/config/rootfiles/common/python-docutils
> +++ /dev/null
> @@ -1,320 +0,0 @@
> -#usr/bin/rst2html.py
> -#usr/bin/rst2latex.py
> -#usr/bin/rst2man.py
> -#usr/bin/rst2odt.py
> -#usr/bin/rst2odt_prepstyles.py
> -#usr/bin/rst2pseudoxml.py
> -#usr/bin/rst2s5.py
> -#usr/bin/rst2xetex.py
> -#usr/bin/rst2xml.py
> -#usr/bin/rstpep2html.py
> -#usr/lib/python2.7/site-packages/docutils
> -#usr/lib/python2.7/site-packages/docutils-0.12-py2.7.egg-info
> -#usr/lib/python2.7/site-packages/docutils/__init__.py
> -#usr/lib/python2.7/site-packages/docutils/__init__.pyc
> -#usr/lib/python2.7/site-packages/docutils/_compat.py
> -#usr/lib/python2.7/site-packages/docutils/_compat.pyc
> -#usr/lib/python2.7/site-packages/docutils/core.py
> -#usr/lib/python2.7/site-packages/docutils/core.pyc
> -#usr/lib/python2.7/site-packages/docutils/examples.py
> -#usr/lib/python2.7/site-packages/docutils/examples.pyc
> -#usr/lib/python2.7/site-packages/docutils/frontend.py
> -#usr/lib/python2.7/site-packages/docutils/frontend.pyc
> -#usr/lib/python2.7/site-packages/docutils/io.py
> -#usr/lib/python2.7/site-packages/docutils/io.pyc
> -#usr/lib/python2.7/site-packages/docutils/languages
> -#usr/lib/python2.7/site-packages/docutils/languages/__init__.py
> -#usr/lib/python2.7/site-packages/docutils/languages/__init__.pyc
> -#usr/lib/python2.7/site-packages/docutils/languages/af.py
> -#usr/lib/python2.7/site-packages/docutils/languages/af.pyc
> -#usr/lib/python2.7/site-packages/docutils/languages/ca.py
> -#usr/lib/python2.7/site-packages/docutils/languages/ca.pyc
> -#usr/lib/python2.7/site-packages/docutils/languages/cs.py
> -#usr/lib/python2.7/site-packages/docutils/languages/cs.pyc
> -#usr/lib/python2.7/site-packages/docutils/languages/da.py
> -#usr/lib/python2.7/site-packages/docutils/languages/da.pyc
> -#usr/lib/python2.7/site-packages/docutils/languages/de.py
> -#usr/lib/python2.7/site-packages/docutils/languages/de.pyc
> -#usr/lib/python2.7/site-packages/docutils/languages/en.py
> -#usr/lib/python2.7/site-packages/docutils/languages/en.pyc
> -#usr/lib/python2.7/site-packages/docutils/languages/eo.py
> -#usr/lib/python2.7/site-packages/docutils/languages/eo.pyc
> -#usr/lib/python2.7/site-packages/docutils/languages/es.py
> -#usr/lib/python2.7/site-packages/docutils/languages/es.pyc
> -#usr/lib/python2.7/site-packages/docutils/languages/fi.py
> -#usr/lib/python2.7/site-packages/docutils/languages/fi.pyc
> -#usr/lib/python2.7/site-packages/docutils/languages/fr.py
> -#usr/lib/python2.7/site-packages/docutils/languages/fr.pyc
> -#usr/lib/python2.7/site-packages/docutils/languages/gl.py
> -#usr/lib/python2.7/site-packages/docutils/languages/gl.pyc
> -#usr/lib/python2.7/site-packages/docutils/languages/he.py
> -#usr/lib/python2.7/site-packages/docutils/languages/he.pyc
> -#usr/lib/python2.7/site-packages/docutils/languages/it.py
> -#usr/lib/python2.7/site-packages/docutils/languages/it.pyc
> -#usr/lib/python2.7/site-packages/docutils/languages/ja.py
> -#usr/lib/python2.7/site-packages/docutils/languages/ja.pyc
> -#usr/lib/python2.7/site-packages/docutils/languages/lt.py
> -#usr/lib/python2.7/site-packages/docutils/languages/lt.pyc
> -#usr/lib/python2.7/site-packages/docutils/languages/nl.py
> -#usr/lib/python2.7/site-packages/docutils/languages/nl.pyc
> -#usr/lib/python2.7/site-packages/docutils/languages/pl.py
> -#usr/lib/python2.7/site-packages/docutils/languages/pl.pyc
> -#usr/lib/python2.7/site-packages/docutils/languages/pt_br.py
> -#usr/lib/python2.7/site-packages/docutils/languages/pt_br.pyc
> -#usr/lib/python2.7/site-packages/docutils/languages/ru.py
> -#usr/lib/python2.7/site-packages/docutils/languages/ru.pyc
> -#usr/lib/python2.7/site-packages/docutils/languages/sk.py
> -#usr/lib/python2.7/site-packages/docutils/languages/sk.pyc
> -#usr/lib/python2.7/site-packages/docutils/languages/sv.py
> -#usr/lib/python2.7/site-packages/docutils/languages/sv.pyc
> -#usr/lib/python2.7/site-packages/docutils/languages/zh_cn.py
> -#usr/lib/python2.7/site-packages/docutils/languages/zh_cn.pyc
> -#usr/lib/python2.7/site-packages/docutils/languages/zh_tw.py
> -#usr/lib/python2.7/site-packages/docutils/languages/zh_tw.pyc
> -#usr/lib/python2.7/site-packages/docutils/nodes.py
> -#usr/lib/python2.7/site-packages/docutils/nodes.pyc
> -#usr/lib/python2.7/site-packages/docutils/parsers
> -#usr/lib/python2.7/site-packages/docutils/parsers/__init__.py
> -#usr/lib/python2.7/site-packages/docutils/parsers/__init__.pyc
> -#usr/lib/python2.7/site-packages/docutils/parsers/null.py
> -#usr/lib/python2.7/site-packages/docutils/parsers/null.pyc
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/__init__.py
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/__init__.pyc
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/__init__.py
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/__init__.pyc
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/admonitions.py
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/admonitions.pyc
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/body.py
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/body.pyc
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/html.py
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/html.pyc
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/images.py
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/images.pyc
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/misc.py
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/misc.pyc
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/parts.py
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/parts.pyc
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/references.py
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/references.pyc
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/tables.py
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/tables.pyc
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/README.txt
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isoamsa.txt
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isoamsb.txt
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isoamsc.txt
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isoamsn.txt
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isoamso.txt
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isoamsr.txt
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isobox.txt
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isocyr1.txt
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isocyr2.txt
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isodia.txt
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isogrk1.txt
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isogrk2.txt
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isogrk3.txt
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isogrk4-wide.txt
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isogrk4.txt
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isolat1.txt
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isolat2.txt
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isomfrk-wide.txt
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isomfrk.txt
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isomopf-wide.txt
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isomopf.txt
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isomscr-wide.txt
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isomscr.txt
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isonum.txt
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isopub.txt
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isotech.txt
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/mmlalias.txt
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/mmlextra-wide.txt
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/mmlextra.txt
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/s5defs.txt
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/xhtml1-lat1.txt
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/xhtml1-special.txt
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/xhtml1-symbol.txt
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/__init__.py
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/__init__.pyc
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/af.py
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/af.pyc
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/ca.py
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/ca.pyc
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/cs.py
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/cs.pyc
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/da.py
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/da.pyc
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/de.py
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/de.pyc
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/en.py
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/en.pyc
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/eo.py
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/eo.pyc
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/es.py
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/es.pyc
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/fi.py
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/fi.pyc
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/fr.py
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/fr.pyc
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/gl.py
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/gl.pyc
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/he.py
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/he.pyc
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/it.py
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/it.pyc
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/ja.py
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/ja.pyc
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/lt.py
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/lt.pyc
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/nl.py
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/nl.pyc
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/pl.py
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/pl.pyc
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/pt_br.py
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/pt_br.pyc
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/ru.py
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/ru.pyc
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/sk.py
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/sk.pyc
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/sv.py
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/sv.pyc
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/zh_cn.py
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/zh_cn.pyc
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/zh_tw.py
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/zh_tw.pyc
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/roles.py
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/roles.pyc
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/states.py
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/states.pyc
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/tableparser.py
> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/tableparser.pyc
> -#usr/lib/python2.7/site-packages/docutils/readers
> -#usr/lib/python2.7/site-packages/docutils/readers/__init__.py
> -#usr/lib/python2.7/site-packages/docutils/readers/__init__.pyc
> -#usr/lib/python2.7/site-packages/docutils/readers/doctree.py
> -#usr/lib/python2.7/site-packages/docutils/readers/doctree.pyc
> -#usr/lib/python2.7/site-packages/docutils/readers/pep.py
> -#usr/lib/python2.7/site-packages/docutils/readers/pep.pyc
> -#usr/lib/python2.7/site-packages/docutils/readers/standalone.py
> -#usr/lib/python2.7/site-packages/docutils/readers/standalone.pyc
> -#usr/lib/python2.7/site-packages/docutils/statemachine.py
> -#usr/lib/python2.7/site-packages/docutils/statemachine.pyc
> -#usr/lib/python2.7/site-packages/docutils/transforms
> -#usr/lib/python2.7/site-packages/docutils/transforms/__init__.py
> -#usr/lib/python2.7/site-packages/docutils/transforms/__init__.pyc
> -#usr/lib/python2.7/site-packages/docutils/transforms/components.py
> -#usr/lib/python2.7/site-packages/docutils/transforms/components.pyc
> -#usr/lib/python2.7/site-packages/docutils/transforms/frontmatter.py
> -#usr/lib/python2.7/site-packages/docutils/transforms/frontmatter.pyc
> -#usr/lib/python2.7/site-packages/docutils/transforms/misc.py
> -#usr/lib/python2.7/site-packages/docutils/transforms/misc.pyc
> -#usr/lib/python2.7/site-packages/docutils/transforms/parts.py
> -#usr/lib/python2.7/site-packages/docutils/transforms/parts.pyc
> -#usr/lib/python2.7/site-packages/docutils/transforms/peps.py
> -#usr/lib/python2.7/site-packages/docutils/transforms/peps.pyc
> -#usr/lib/python2.7/site-packages/docutils/transforms/references.py
> -#usr/lib/python2.7/site-packages/docutils/transforms/references.pyc
> -#usr/lib/python2.7/site-packages/docutils/transforms/universal.py
> -#usr/lib/python2.7/site-packages/docutils/transforms/universal.pyc
> -#usr/lib/python2.7/site-packages/docutils/transforms/writer_aux.py
> -#usr/lib/python2.7/site-packages/docutils/transforms/writer_aux.pyc
> -#usr/lib/python2.7/site-packages/docutils/utils
> -#usr/lib/python2.7/site-packages/docutils/utils/__init__.py
> -#usr/lib/python2.7/site-packages/docutils/utils/__init__.pyc
> -#usr/lib/python2.7/site-packages/docutils/utils/code_analyzer.py
> -#usr/lib/python2.7/site-packages/docutils/utils/code_analyzer.pyc
> -#usr/lib/python2.7/site-packages/docutils/utils/error_reporting.py
> -#usr/lib/python2.7/site-packages/docutils/utils/error_reporting.pyc
> -#usr/lib/python2.7/site-packages/docutils/utils/math
> -#usr/lib/python2.7/site-packages/docutils/utils/math/__init__.py
> -#usr/lib/python2.7/site-packages/docutils/utils/math/__init__.pyc
> -#usr/lib/python2.7/site-packages/docutils/utils/math/latex2mathml.py
> -#usr/lib/python2.7/site-packages/docutils/utils/math/latex2mathml.pyc
> -#usr/lib/python2.7/site-packages/docutils/utils/math/math2html.py
> -#usr/lib/python2.7/site-packages/docutils/utils/math/math2html.pyc
> -#usr/lib/python2.7/site-packages/docutils/utils/math/tex2unichar.py
> -#usr/lib/python2.7/site-packages/docutils/utils/math/tex2unichar.pyc
> -#usr/lib/python2.7/site-packages/docutils/utils/math/unichar2tex.py
> -#usr/lib/python2.7/site-packages/docutils/utils/math/unichar2tex.pyc
> -#usr/lib/python2.7/site-packages/docutils/utils/punctuation_chars.py
> -#usr/lib/python2.7/site-packages/docutils/utils/punctuation_chars.pyc
> -#usr/lib/python2.7/site-packages/docutils/utils/roman.py
> -#usr/lib/python2.7/site-packages/docutils/utils/roman.pyc
> -#usr/lib/python2.7/site-packages/docutils/utils/smartquotes.py
> -#usr/lib/python2.7/site-packages/docutils/utils/smartquotes.pyc
> -#usr/lib/python2.7/site-packages/docutils/utils/urischemes.py
> -#usr/lib/python2.7/site-packages/docutils/utils/urischemes.pyc
> -#usr/lib/python2.7/site-packages/docutils/writers
> -#usr/lib/python2.7/site-packages/docutils/writers/__init__.py
> -#usr/lib/python2.7/site-packages/docutils/writers/__init__.pyc
> -#usr/lib/python2.7/site-packages/docutils/writers/docutils_xml.py
> -#usr/lib/python2.7/site-packages/docutils/writers/docutils_xml.pyc
> -#usr/lib/python2.7/site-packages/docutils/writers/html4css1
> -#usr/lib/python2.7/site-packages/docutils/writers/html4css1/__init__.py
> -#usr/lib/python2.7/site-packages/docutils/writers/html4css1/__init__.pyc
> -#usr/lib/python2.7/site-packages/docutils/writers/html4css1/html4css1.css
> -#usr/lib/python2.7/site-packages/docutils/writers/html4css1/math.css
> -#usr/lib/python2.7/site-packages/docutils/writers/html4css1/template.txt
> -#usr/lib/python2.7/site-packages/docutils/writers/latex2e
> -#usr/lib/python2.7/site-packages/docutils/writers/latex2e/__init__.py
> -#usr/lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyc
> -#usr/lib/python2.7/site-packages/docutils/writers/latex2e/default.tex
> -#usr/lib/python2.7/site-packages/docutils/writers/latex2e/titlepage.tex
> -#usr/lib/python2.7/site-packages/docutils/writers/latex2e/xelatex.tex
> -#usr/lib/python2.7/site-packages/docutils/writers/manpage.py
> -#usr/lib/python2.7/site-packages/docutils/writers/manpage.pyc
> -#usr/lib/python2.7/site-packages/docutils/writers/null.py
> -#usr/lib/python2.7/site-packages/docutils/writers/null.pyc
> -#usr/lib/python2.7/site-packages/docutils/writers/odf_odt
> -#usr/lib/python2.7/site-packages/docutils/writers/odf_odt/__init__.py
> -#usr/lib/python2.7/site-packages/docutils/writers/odf_odt/__init__.pyc
> -#usr/lib/python2.7/site-packages/docutils/writers/odf_odt/pygmentsformatter.py
> -#usr/lib/python2.7/site-packages/docutils/writers/odf_odt/pygmentsformatter.pyc
> -#usr/lib/python2.7/site-packages/docutils/writers/odf_odt/styles.odt
> -#usr/lib/python2.7/site-packages/docutils/writers/pep_html
> -#usr/lib/python2.7/site-packages/docutils/writers/pep_html/__init__.py
> -#usr/lib/python2.7/site-packages/docutils/writers/pep_html/__init__.pyc
> -#usr/lib/python2.7/site-packages/docutils/writers/pep_html/pep.css
> -#usr/lib/python2.7/site-packages/docutils/writers/pep_html/template.txt
> -#usr/lib/python2.7/site-packages/docutils/writers/pseudoxml.py
> -#usr/lib/python2.7/site-packages/docutils/writers/pseudoxml.pyc
> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html
> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/__init__.py
> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/__init__.pyc
> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes
> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/README.txt
> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/big-black
> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/big-black/__base__
> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/big-black/framing.css
> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/big-black/pretty.css
> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/big-white
> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/big-white/framing.css
> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/big-white/pretty.css
> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/default
> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/default/blank.gif
> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/default/framing.css
> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/default/iepngfix.htc
> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/default/opera.css
> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/default/outline.css
> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/default/pretty.css
> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/default/print.css
> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/default/s5-core.css
> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/default/slides.css
> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/default/slides.js
> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/medium-black
> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/medium-black/__base__
> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/medium-black/pretty.css
> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/medium-white
> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/medium-white/framing.css
> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/medium-white/pretty.css
> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/small-black
> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/small-black/__base__
> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/small-black/pretty.css
> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/small-white
> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/small-white/framing.css
> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/small-white/pretty.css
> -#usr/lib/python2.7/site-packages/docutils/writers/xetex
> -#usr/lib/python2.7/site-packages/docutils/writers/xetex/__init__.py
> -#usr/lib/python2.7/site-packages/docutils/writers/xetex/__init__.pyc
> diff --git a/config/rootfiles/packages/python3-docutils b/config/rootfiles/common/python3-docutils
> similarity index 98%
> rename from config/rootfiles/packages/python3-docutils
> rename to config/rootfiles/common/python3-docutils
> index 3429e97d6..fa0c6f3a7 100644
> --- a/config/rootfiles/packages/python3-docutils
> +++ b/config/rootfiles/common/python3-docutils
> @@ -1,5 +1,15 @@
> +usr/bin/rst2html.py
>  usr/bin/rst2html4.py
>  usr/bin/rst2html5.py
> +usr/bin/rst2latex.py
> +usr/bin/rst2man.py
> +usr/bin/rst2odt.py
> +usr/bin/rst2odt_prepstyles.py
> +usr/bin/rst2pseudoxml.py
> +usr/bin/rst2s5.py
> +usr/bin/rst2xetex.py
> +usr/bin/rst2xml.py
> +usr/bin/rstpep2html.py

Hm, personally, I rather prefer those binaries not to be shipped on each firewall, as most people won't need them.

>  #usr/lib/python3.8/site-packages/docutils
>  #usr/lib/python3.8/site-packages/docutils-0.16-py3.8.egg-info
>  #usr/lib/python3.8/site-packages/docutils-0.16-py3.8.egg-info/PKG-INFO
> diff --git a/lfs/python-docutils b/lfs/python-docutils
> deleted file mode 100644
> index d4d8356d9..000000000
> --- a/lfs/python-docutils
> +++ /dev/null
> @@ -1,75 +0,0 @@
> -###############################################################################
> -#                                                                             #
> -# IPFire.org - A linux based firewall                                         #
> -# Copyright (C) 2007-2018  IPFire Team  <info@ipfire.org>                     #
> -#                                                                             #
> -# This program is free software: you can redistribute it and/or modify        #
> -# it under the terms of the GNU General Public License as published by        #
> -# the Free Software Foundation, either version 3 of the License, or           #
> -# (at your option) any later version.                                         #
> -#                                                                             #
> -# This program is distributed in the hope that it will be useful,             #
> -# but WITHOUT ANY WARRANTY; without even the implied warranty of              #
> -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               #
> -# GNU General Public License for more details.                                #
> -#                                                                             #
> -# You should have received a copy of the GNU General Public License           #
> -# along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
> -#                                                                             #
> -###############################################################################
> -
> -###############################################################################
> -# Definitions
> -###############################################################################
> -
> -include Config
> -
> -VER        = 0.12
> -
> -THISAPP    = docutils-$(VER)
> -DL_FILE    = $(THISAPP).tar.gz
> -DL_FROM    = $(URL_IPFIRE)
> -DIR_APP    = $(DIR_SRC)/$(THISAPP)
> -TARGET     = $(DIR_INFO)/$(THISAPP)
> -
> -###############################################################################
> -# Top-level Rules
> -###############################################################################
> -
> -objects = $(DL_FILE)
> -
> -$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
> -
> -$(DL_FILE)_MD5 = 4622263b62c5c771c03502afa3157768
> -
> -install : $(TARGET)
> -
> -check : $(patsubst %,$(DIR_CHK)/%,$(objects))
> -
> -download :$(patsubst %,$(DIR_DL)/%,$(objects))
> -
> -md5 : $(subst %,%_MD5,$(objects))
> -
> -###############################################################################
> -# Downloading, checking, md5sum
> -###############################################################################
> -
> -$(patsubst %,$(DIR_CHK)/%,$(objects)) :
> -	@$(CHECK)
> -
> -$(patsubst %,$(DIR_DL)/%,$(objects)) :
> -	@$(LOAD)
> -
> -$(subst %,%_MD5,$(objects)) :
> -	@$(MD5)
> -
> -###############################################################################
> -# Installation Details
> -###############################################################################
> -
> -$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
> -	@$(PREBUILD)
> -	@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
> -	cd $(DIR_APP) && python setup.py install --root=/
> -	@rm -rf $(DIR_APP)
> -	@$(POSTBUILD)
> diff --git a/lfs/python3-docutils b/lfs/python3-docutils
> index a67a21dce..5ce6310bd 100644
> --- a/lfs/python3-docutils
> +++ b/lfs/python3-docutils
> @@ -1,7 +1,7 @@
>  ###############################################################################
>  #                                                                             #
>  # IPFire.org - A linux based firewall                                         #
> -# Copyright (C) 2007-2020  IPFire Team  <info@ipfire.org>                     #
> +# Copyright (C) 2007-2018  IPFire Team  <info@ipfire.org>                     #
>  #                                                                             #
>  # This program is free software: you can redistribute it and/or modify        #
>  # it under the terms of the GNU General Public License as published by        #
> @@ -31,10 +31,6 @@ DL_FILE    = $(THISAPP).tar.gz
>  DL_FROM    = $(URL_IPFIRE)
>  DIR_APP    = $(DIR_SRC)/$(THISAPP)
>  TARGET     = $(DIR_INFO)/$(THISAPP)
> -PROG       = python3-docutils
> -PAK_VER    = 3
> -
> -DEPS       =
>  
>  ###############################################################################
>  # Top-level Rules
> @@ -54,9 +50,6 @@ download :$(patsubst %,$(DIR_DL)/%,$(objects))
>  
>  md5 : $(subst %,%_MD5,$(objects))
>  
> -dist: 
> -	@$(PAK)
> -
>  ###############################################################################
>  # Downloading, checking, md5sum
>  ###############################################################################
> @@ -77,7 +70,6 @@ $(subst %,%_MD5,$(objects)) :
>  $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
>  	@$(PREBUILD)
>  	@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
> -	cd $(DIR_APP) && python3 setup.py build
>  	cd $(DIR_APP) && python3 setup.py install --root=/
>  	@rm -rf $(DIR_APP)
>  	@$(POSTBUILD)
> diff --git a/make.sh b/make.sh
> index 60474a18e..2586c4e63 100755
> --- a/make.sh
> +++ b/make.sh
> @@ -1346,7 +1346,7 @@ buildipfire() {
>    lfsmake2 Net-Telnet
>    lfsmake2 python-setuptools
>    lfsmake2 python3-inotify
> -  lfsmake2 python-docutils
> +  lfsmake2 python3-docutils
>    lfsmake2 python3-daemon
>    lfsmake2 glib
>    lfsmake2 ntp
> @@ -1544,7 +1544,6 @@ buildipfire() {
>    lfsmake2 python3-dateutil
>    lfsmake2 python3-jmespath
>    lfsmake2 python3-colorama
> -  lfsmake2 python3-docutils
>    lfsmake2 python3-yaml
>    lfsmake2 python3-s3transfer
>    lfsmake2 python3-rsa
>
  
Adolf Belka May 15, 2021, 8:39 p.m. UTC | #2
Hi Peter,

On 15/05/2021 21:06, Peter Müller wrote:
> Hello Adolf,
> 
> thank you for providing this patch.
> 
> It looks good to me, but I did not fully understand why we need docutils as a part of the core system.
> Is this because of python3-setuptools? (See also my comment on the updated rootfile below.)
Maybe my understanding of what goes into core and what goes into addon package in IPFire is not clear.
My thinking here was that python3-daemon is setup as a core program. It requires python3-docutils to build successfully so I presumed that it would also be a core program rather than an addon but maybe my understanding is faulty. Maybe there is another way of defining programs that are required for building only and aren't wanted in the firewall. I am happy to do whatever is the correct method , I just need to understand what the rationale/method is so I can choose the correct approach each time. Maybe I am missing something obvious here.

As an additional point, I have also found that some of the python2 modules had lfs files that were for an addon but the rootfile was stored under the common folder and not the packages folder. In those cases when I moved them to python3 I also moved the rootfile from common to package. Was this correct or not?

Re the updated rootfile comment I can understand that. I made them like that because the rst2html4.py and rst2html5.py files were uncommented in the python2-docutils addon version.
I will do an updated patch for this making sure all of those are commented out. I just need to know if python3-docutils should be a core program or an addon or if I should do something different for python3-docutils to only use it for the build phase.

Regards,
Adolf.
> 
> Thanks in advance, and best regards,
> Peter Müller
> 
> 
>> - make.sh
>>     remove python-docutils
>>     move python3-docutils before python3-daemon
>> - With python3-docutils in place before python3-daemon, python3-daemon
>>     now builds without any problems on a clean build.
>> - Convert python3-docutils lfs from addon to core program
>> - Remove python-docutils rootfile
>> - Move python3-docutils rootfile from packages to common folder
>> - awscli, distutils and setuptools are using docutils. awscli and setuptools are
>>     only using python3 version. distutils is using both python2 and python3 but as
>>     distutils has been replaced by setuptools then I will be sending in a patch
>>     to remove distutils and distutils-extra.
>>
>> Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
>> ---
>>   config/rootfiles/common/python-docutils       | 320 ------------------
>>   .../{packages => common}/python3-docutils     |  10 +
>>   lfs/python-docutils                           |  75 ----
>>   lfs/python3-docutils                          |  10 +-
>>   make.sh                                       |   3 +-
>>   5 files changed, 12 insertions(+), 406 deletions(-)
>>   delete mode 100644 config/rootfiles/common/python-docutils
>>   rename config/rootfiles/{packages => common}/python3-docutils (98%)
>>   delete mode 100644 lfs/python-docutils
>>
>> diff --git a/config/rootfiles/common/python-docutils b/config/rootfiles/common/python-docutils
>> deleted file mode 100644
>> index 45038dde2..000000000
>> --- a/config/rootfiles/common/python-docutils
>> +++ /dev/null
>> @@ -1,320 +0,0 @@
>> -#usr/bin/rst2html.py
>> -#usr/bin/rst2latex.py
>> -#usr/bin/rst2man.py
>> -#usr/bin/rst2odt.py
>> -#usr/bin/rst2odt_prepstyles.py
>> -#usr/bin/rst2pseudoxml.py
>> -#usr/bin/rst2s5.py
>> -#usr/bin/rst2xetex.py
>> -#usr/bin/rst2xml.py
>> -#usr/bin/rstpep2html.py
>> -#usr/lib/python2.7/site-packages/docutils
>> -#usr/lib/python2.7/site-packages/docutils-0.12-py2.7.egg-info
>> -#usr/lib/python2.7/site-packages/docutils/__init__.py
>> -#usr/lib/python2.7/site-packages/docutils/__init__.pyc
>> -#usr/lib/python2.7/site-packages/docutils/_compat.py
>> -#usr/lib/python2.7/site-packages/docutils/_compat.pyc
>> -#usr/lib/python2.7/site-packages/docutils/core.py
>> -#usr/lib/python2.7/site-packages/docutils/core.pyc
>> -#usr/lib/python2.7/site-packages/docutils/examples.py
>> -#usr/lib/python2.7/site-packages/docutils/examples.pyc
>> -#usr/lib/python2.7/site-packages/docutils/frontend.py
>> -#usr/lib/python2.7/site-packages/docutils/frontend.pyc
>> -#usr/lib/python2.7/site-packages/docutils/io.py
>> -#usr/lib/python2.7/site-packages/docutils/io.pyc
>> -#usr/lib/python2.7/site-packages/docutils/languages
>> -#usr/lib/python2.7/site-packages/docutils/languages/__init__.py
>> -#usr/lib/python2.7/site-packages/docutils/languages/__init__.pyc
>> -#usr/lib/python2.7/site-packages/docutils/languages/af.py
>> -#usr/lib/python2.7/site-packages/docutils/languages/af.pyc
>> -#usr/lib/python2.7/site-packages/docutils/languages/ca.py
>> -#usr/lib/python2.7/site-packages/docutils/languages/ca.pyc
>> -#usr/lib/python2.7/site-packages/docutils/languages/cs.py
>> -#usr/lib/python2.7/site-packages/docutils/languages/cs.pyc
>> -#usr/lib/python2.7/site-packages/docutils/languages/da.py
>> -#usr/lib/python2.7/site-packages/docutils/languages/da.pyc
>> -#usr/lib/python2.7/site-packages/docutils/languages/de.py
>> -#usr/lib/python2.7/site-packages/docutils/languages/de.pyc
>> -#usr/lib/python2.7/site-packages/docutils/languages/en.py
>> -#usr/lib/python2.7/site-packages/docutils/languages/en.pyc
>> -#usr/lib/python2.7/site-packages/docutils/languages/eo.py
>> -#usr/lib/python2.7/site-packages/docutils/languages/eo.pyc
>> -#usr/lib/python2.7/site-packages/docutils/languages/es.py
>> -#usr/lib/python2.7/site-packages/docutils/languages/es.pyc
>> -#usr/lib/python2.7/site-packages/docutils/languages/fi.py
>> -#usr/lib/python2.7/site-packages/docutils/languages/fi.pyc
>> -#usr/lib/python2.7/site-packages/docutils/languages/fr.py
>> -#usr/lib/python2.7/site-packages/docutils/languages/fr.pyc
>> -#usr/lib/python2.7/site-packages/docutils/languages/gl.py
>> -#usr/lib/python2.7/site-packages/docutils/languages/gl.pyc
>> -#usr/lib/python2.7/site-packages/docutils/languages/he.py
>> -#usr/lib/python2.7/site-packages/docutils/languages/he.pyc
>> -#usr/lib/python2.7/site-packages/docutils/languages/it.py
>> -#usr/lib/python2.7/site-packages/docutils/languages/it.pyc
>> -#usr/lib/python2.7/site-packages/docutils/languages/ja.py
>> -#usr/lib/python2.7/site-packages/docutils/languages/ja.pyc
>> -#usr/lib/python2.7/site-packages/docutils/languages/lt.py
>> -#usr/lib/python2.7/site-packages/docutils/languages/lt.pyc
>> -#usr/lib/python2.7/site-packages/docutils/languages/nl.py
>> -#usr/lib/python2.7/site-packages/docutils/languages/nl.pyc
>> -#usr/lib/python2.7/site-packages/docutils/languages/pl.py
>> -#usr/lib/python2.7/site-packages/docutils/languages/pl.pyc
>> -#usr/lib/python2.7/site-packages/docutils/languages/pt_br.py
>> -#usr/lib/python2.7/site-packages/docutils/languages/pt_br.pyc
>> -#usr/lib/python2.7/site-packages/docutils/languages/ru.py
>> -#usr/lib/python2.7/site-packages/docutils/languages/ru.pyc
>> -#usr/lib/python2.7/site-packages/docutils/languages/sk.py
>> -#usr/lib/python2.7/site-packages/docutils/languages/sk.pyc
>> -#usr/lib/python2.7/site-packages/docutils/languages/sv.py
>> -#usr/lib/python2.7/site-packages/docutils/languages/sv.pyc
>> -#usr/lib/python2.7/site-packages/docutils/languages/zh_cn.py
>> -#usr/lib/python2.7/site-packages/docutils/languages/zh_cn.pyc
>> -#usr/lib/python2.7/site-packages/docutils/languages/zh_tw.py
>> -#usr/lib/python2.7/site-packages/docutils/languages/zh_tw.pyc
>> -#usr/lib/python2.7/site-packages/docutils/nodes.py
>> -#usr/lib/python2.7/site-packages/docutils/nodes.pyc
>> -#usr/lib/python2.7/site-packages/docutils/parsers
>> -#usr/lib/python2.7/site-packages/docutils/parsers/__init__.py
>> -#usr/lib/python2.7/site-packages/docutils/parsers/__init__.pyc
>> -#usr/lib/python2.7/site-packages/docutils/parsers/null.py
>> -#usr/lib/python2.7/site-packages/docutils/parsers/null.pyc
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/__init__.py
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/__init__.pyc
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/__init__.py
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/__init__.pyc
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/admonitions.py
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/admonitions.pyc
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/body.py
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/body.pyc
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/html.py
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/html.pyc
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/images.py
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/images.pyc
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/misc.py
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/misc.pyc
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/parts.py
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/parts.pyc
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/references.py
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/references.pyc
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/tables.py
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/tables.pyc
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/README.txt
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isoamsa.txt
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isoamsb.txt
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isoamsc.txt
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isoamsn.txt
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isoamso.txt
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isoamsr.txt
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isobox.txt
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isocyr1.txt
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isocyr2.txt
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isodia.txt
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isogrk1.txt
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isogrk2.txt
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isogrk3.txt
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isogrk4-wide.txt
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isogrk4.txt
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isolat1.txt
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isolat2.txt
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isomfrk-wide.txt
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isomfrk.txt
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isomopf-wide.txt
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isomopf.txt
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isomscr-wide.txt
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isomscr.txt
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isonum.txt
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isopub.txt
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isotech.txt
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/mmlalias.txt
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/mmlextra-wide.txt
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/mmlextra.txt
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/s5defs.txt
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/xhtml1-lat1.txt
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/xhtml1-special.txt
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/xhtml1-symbol.txt
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/__init__.py
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/__init__.pyc
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/af.py
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/af.pyc
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/ca.py
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/ca.pyc
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/cs.py
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/cs.pyc
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/da.py
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/da.pyc
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/de.py
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/de.pyc
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/en.py
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/en.pyc
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/eo.py
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/eo.pyc
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/es.py
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/es.pyc
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/fi.py
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/fi.pyc
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/fr.py
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/fr.pyc
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/gl.py
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/gl.pyc
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/he.py
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/he.pyc
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/it.py
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/it.pyc
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/ja.py
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/ja.pyc
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/lt.py
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/lt.pyc
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/nl.py
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/nl.pyc
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/pl.py
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/pl.pyc
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/pt_br.py
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/pt_br.pyc
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/ru.py
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/ru.pyc
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/sk.py
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/sk.pyc
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/sv.py
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/sv.pyc
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/zh_cn.py
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/zh_cn.pyc
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/zh_tw.py
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/zh_tw.pyc
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/roles.py
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/roles.pyc
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/states.py
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/states.pyc
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/tableparser.py
>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/tableparser.pyc
>> -#usr/lib/python2.7/site-packages/docutils/readers
>> -#usr/lib/python2.7/site-packages/docutils/readers/__init__.py
>> -#usr/lib/python2.7/site-packages/docutils/readers/__init__.pyc
>> -#usr/lib/python2.7/site-packages/docutils/readers/doctree.py
>> -#usr/lib/python2.7/site-packages/docutils/readers/doctree.pyc
>> -#usr/lib/python2.7/site-packages/docutils/readers/pep.py
>> -#usr/lib/python2.7/site-packages/docutils/readers/pep.pyc
>> -#usr/lib/python2.7/site-packages/docutils/readers/standalone.py
>> -#usr/lib/python2.7/site-packages/docutils/readers/standalone.pyc
>> -#usr/lib/python2.7/site-packages/docutils/statemachine.py
>> -#usr/lib/python2.7/site-packages/docutils/statemachine.pyc
>> -#usr/lib/python2.7/site-packages/docutils/transforms
>> -#usr/lib/python2.7/site-packages/docutils/transforms/__init__.py
>> -#usr/lib/python2.7/site-packages/docutils/transforms/__init__.pyc
>> -#usr/lib/python2.7/site-packages/docutils/transforms/components.py
>> -#usr/lib/python2.7/site-packages/docutils/transforms/components.pyc
>> -#usr/lib/python2.7/site-packages/docutils/transforms/frontmatter.py
>> -#usr/lib/python2.7/site-packages/docutils/transforms/frontmatter.pyc
>> -#usr/lib/python2.7/site-packages/docutils/transforms/misc.py
>> -#usr/lib/python2.7/site-packages/docutils/transforms/misc.pyc
>> -#usr/lib/python2.7/site-packages/docutils/transforms/parts.py
>> -#usr/lib/python2.7/site-packages/docutils/transforms/parts.pyc
>> -#usr/lib/python2.7/site-packages/docutils/transforms/peps.py
>> -#usr/lib/python2.7/site-packages/docutils/transforms/peps.pyc
>> -#usr/lib/python2.7/site-packages/docutils/transforms/references.py
>> -#usr/lib/python2.7/site-packages/docutils/transforms/references.pyc
>> -#usr/lib/python2.7/site-packages/docutils/transforms/universal.py
>> -#usr/lib/python2.7/site-packages/docutils/transforms/universal.pyc
>> -#usr/lib/python2.7/site-packages/docutils/transforms/writer_aux.py
>> -#usr/lib/python2.7/site-packages/docutils/transforms/writer_aux.pyc
>> -#usr/lib/python2.7/site-packages/docutils/utils
>> -#usr/lib/python2.7/site-packages/docutils/utils/__init__.py
>> -#usr/lib/python2.7/site-packages/docutils/utils/__init__.pyc
>> -#usr/lib/python2.7/site-packages/docutils/utils/code_analyzer.py
>> -#usr/lib/python2.7/site-packages/docutils/utils/code_analyzer.pyc
>> -#usr/lib/python2.7/site-packages/docutils/utils/error_reporting.py
>> -#usr/lib/python2.7/site-packages/docutils/utils/error_reporting.pyc
>> -#usr/lib/python2.7/site-packages/docutils/utils/math
>> -#usr/lib/python2.7/site-packages/docutils/utils/math/__init__.py
>> -#usr/lib/python2.7/site-packages/docutils/utils/math/__init__.pyc
>> -#usr/lib/python2.7/site-packages/docutils/utils/math/latex2mathml.py
>> -#usr/lib/python2.7/site-packages/docutils/utils/math/latex2mathml.pyc
>> -#usr/lib/python2.7/site-packages/docutils/utils/math/math2html.py
>> -#usr/lib/python2.7/site-packages/docutils/utils/math/math2html.pyc
>> -#usr/lib/python2.7/site-packages/docutils/utils/math/tex2unichar.py
>> -#usr/lib/python2.7/site-packages/docutils/utils/math/tex2unichar.pyc
>> -#usr/lib/python2.7/site-packages/docutils/utils/math/unichar2tex.py
>> -#usr/lib/python2.7/site-packages/docutils/utils/math/unichar2tex.pyc
>> -#usr/lib/python2.7/site-packages/docutils/utils/punctuation_chars.py
>> -#usr/lib/python2.7/site-packages/docutils/utils/punctuation_chars.pyc
>> -#usr/lib/python2.7/site-packages/docutils/utils/roman.py
>> -#usr/lib/python2.7/site-packages/docutils/utils/roman.pyc
>> -#usr/lib/python2.7/site-packages/docutils/utils/smartquotes.py
>> -#usr/lib/python2.7/site-packages/docutils/utils/smartquotes.pyc
>> -#usr/lib/python2.7/site-packages/docutils/utils/urischemes.py
>> -#usr/lib/python2.7/site-packages/docutils/utils/urischemes.pyc
>> -#usr/lib/python2.7/site-packages/docutils/writers
>> -#usr/lib/python2.7/site-packages/docutils/writers/__init__.py
>> -#usr/lib/python2.7/site-packages/docutils/writers/__init__.pyc
>> -#usr/lib/python2.7/site-packages/docutils/writers/docutils_xml.py
>> -#usr/lib/python2.7/site-packages/docutils/writers/docutils_xml.pyc
>> -#usr/lib/python2.7/site-packages/docutils/writers/html4css1
>> -#usr/lib/python2.7/site-packages/docutils/writers/html4css1/__init__.py
>> -#usr/lib/python2.7/site-packages/docutils/writers/html4css1/__init__.pyc
>> -#usr/lib/python2.7/site-packages/docutils/writers/html4css1/html4css1.css
>> -#usr/lib/python2.7/site-packages/docutils/writers/html4css1/math.css
>> -#usr/lib/python2.7/site-packages/docutils/writers/html4css1/template.txt
>> -#usr/lib/python2.7/site-packages/docutils/writers/latex2e
>> -#usr/lib/python2.7/site-packages/docutils/writers/latex2e/__init__.py
>> -#usr/lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyc
>> -#usr/lib/python2.7/site-packages/docutils/writers/latex2e/default.tex
>> -#usr/lib/python2.7/site-packages/docutils/writers/latex2e/titlepage.tex
>> -#usr/lib/python2.7/site-packages/docutils/writers/latex2e/xelatex.tex
>> -#usr/lib/python2.7/site-packages/docutils/writers/manpage.py
>> -#usr/lib/python2.7/site-packages/docutils/writers/manpage.pyc
>> -#usr/lib/python2.7/site-packages/docutils/writers/null.py
>> -#usr/lib/python2.7/site-packages/docutils/writers/null.pyc
>> -#usr/lib/python2.7/site-packages/docutils/writers/odf_odt
>> -#usr/lib/python2.7/site-packages/docutils/writers/odf_odt/__init__.py
>> -#usr/lib/python2.7/site-packages/docutils/writers/odf_odt/__init__.pyc
>> -#usr/lib/python2.7/site-packages/docutils/writers/odf_odt/pygmentsformatter.py
>> -#usr/lib/python2.7/site-packages/docutils/writers/odf_odt/pygmentsformatter.pyc
>> -#usr/lib/python2.7/site-packages/docutils/writers/odf_odt/styles.odt
>> -#usr/lib/python2.7/site-packages/docutils/writers/pep_html
>> -#usr/lib/python2.7/site-packages/docutils/writers/pep_html/__init__.py
>> -#usr/lib/python2.7/site-packages/docutils/writers/pep_html/__init__.pyc
>> -#usr/lib/python2.7/site-packages/docutils/writers/pep_html/pep.css
>> -#usr/lib/python2.7/site-packages/docutils/writers/pep_html/template.txt
>> -#usr/lib/python2.7/site-packages/docutils/writers/pseudoxml.py
>> -#usr/lib/python2.7/site-packages/docutils/writers/pseudoxml.pyc
>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html
>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/__init__.py
>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/__init__.pyc
>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes
>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/README.txt
>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/big-black
>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/big-black/__base__
>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/big-black/framing.css
>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/big-black/pretty.css
>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/big-white
>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/big-white/framing.css
>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/big-white/pretty.css
>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/default
>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/default/blank.gif
>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/default/framing.css
>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/default/iepngfix.htc
>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/default/opera.css
>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/default/outline.css
>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/default/pretty.css
>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/default/print.css
>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/default/s5-core.css
>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/default/slides.css
>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/default/slides.js
>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/medium-black
>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/medium-black/__base__
>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/medium-black/pretty.css
>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/medium-white
>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/medium-white/framing.css
>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/medium-white/pretty.css
>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/small-black
>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/small-black/__base__
>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/small-black/pretty.css
>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/small-white
>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/small-white/framing.css
>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/small-white/pretty.css
>> -#usr/lib/python2.7/site-packages/docutils/writers/xetex
>> -#usr/lib/python2.7/site-packages/docutils/writers/xetex/__init__.py
>> -#usr/lib/python2.7/site-packages/docutils/writers/xetex/__init__.pyc
>> diff --git a/config/rootfiles/packages/python3-docutils b/config/rootfiles/common/python3-docutils
>> similarity index 98%
>> rename from config/rootfiles/packages/python3-docutils
>> rename to config/rootfiles/common/python3-docutils
>> index 3429e97d6..fa0c6f3a7 100644
>> --- a/config/rootfiles/packages/python3-docutils
>> +++ b/config/rootfiles/common/python3-docutils
>> @@ -1,5 +1,15 @@
>> +usr/bin/rst2html.py
>>   usr/bin/rst2html4.py
>>   usr/bin/rst2html5.py
>> +usr/bin/rst2latex.py
>> +usr/bin/rst2man.py
>> +usr/bin/rst2odt.py
>> +usr/bin/rst2odt_prepstyles.py
>> +usr/bin/rst2pseudoxml.py
>> +usr/bin/rst2s5.py
>> +usr/bin/rst2xetex.py
>> +usr/bin/rst2xml.py
>> +usr/bin/rstpep2html.py
> 
> Hm, personally, I rather prefer those binaries not to be shipped on each firewall, as most people won't need them.
> 
>>   #usr/lib/python3.8/site-packages/docutils
>>   #usr/lib/python3.8/site-packages/docutils-0.16-py3.8.egg-info
>>   #usr/lib/python3.8/site-packages/docutils-0.16-py3.8.egg-info/PKG-INFO
>> diff --git a/lfs/python-docutils b/lfs/python-docutils
>> deleted file mode 100644
>> index d4d8356d9..000000000
>> --- a/lfs/python-docutils
>> +++ /dev/null
>> @@ -1,75 +0,0 @@
>> -###############################################################################
>> -#                                                                             #
>> -# IPFire.org - A linux based firewall                                         #
>> -# Copyright (C) 2007-2018  IPFire Team  <info@ipfire.org>                     #
>> -#                                                                             #
>> -# This program is free software: you can redistribute it and/or modify        #
>> -# it under the terms of the GNU General Public License as published by        #
>> -# the Free Software Foundation, either version 3 of the License, or           #
>> -# (at your option) any later version.                                         #
>> -#                                                                             #
>> -# This program is distributed in the hope that it will be useful,             #
>> -# but WITHOUT ANY WARRANTY; without even the implied warranty of              #
>> -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               #
>> -# GNU General Public License for more details.                                #
>> -#                                                                             #
>> -# You should have received a copy of the GNU General Public License           #
>> -# along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
>> -#                                                                             #
>> -###############################################################################
>> -
>> -###############################################################################
>> -# Definitions
>> -###############################################################################
>> -
>> -include Config
>> -
>> -VER        = 0.12
>> -
>> -THISAPP    = docutils-$(VER)
>> -DL_FILE    = $(THISAPP).tar.gz
>> -DL_FROM    = $(URL_IPFIRE)
>> -DIR_APP    = $(DIR_SRC)/$(THISAPP)
>> -TARGET     = $(DIR_INFO)/$(THISAPP)
>> -
>> -###############################################################################
>> -# Top-level Rules
>> -###############################################################################
>> -
>> -objects = $(DL_FILE)
>> -
>> -$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
>> -
>> -$(DL_FILE)_MD5 = 4622263b62c5c771c03502afa3157768
>> -
>> -install : $(TARGET)
>> -
>> -check : $(patsubst %,$(DIR_CHK)/%,$(objects))
>> -
>> -download :$(patsubst %,$(DIR_DL)/%,$(objects))
>> -
>> -md5 : $(subst %,%_MD5,$(objects))
>> -
>> -###############################################################################
>> -# Downloading, checking, md5sum
>> -###############################################################################
>> -
>> -$(patsubst %,$(DIR_CHK)/%,$(objects)) :
>> -	@$(CHECK)
>> -
>> -$(patsubst %,$(DIR_DL)/%,$(objects)) :
>> -	@$(LOAD)
>> -
>> -$(subst %,%_MD5,$(objects)) :
>> -	@$(MD5)
>> -
>> -###############################################################################
>> -# Installation Details
>> -###############################################################################
>> -
>> -$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
>> -	@$(PREBUILD)
>> -	@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
>> -	cd $(DIR_APP) && python setup.py install --root=/
>> -	@rm -rf $(DIR_APP)
>> -	@$(POSTBUILD)
>> diff --git a/lfs/python3-docutils b/lfs/python3-docutils
>> index a67a21dce..5ce6310bd 100644
>> --- a/lfs/python3-docutils
>> +++ b/lfs/python3-docutils
>> @@ -1,7 +1,7 @@
>>   ###############################################################################
>>   #                                                                             #
>>   # IPFire.org - A linux based firewall                                         #
>> -# Copyright (C) 2007-2020  IPFire Team  <info@ipfire.org>                     #
>> +# Copyright (C) 2007-2018  IPFire Team  <info@ipfire.org>                     #
>>   #                                                                             #
>>   # This program is free software: you can redistribute it and/or modify        #
>>   # it under the terms of the GNU General Public License as published by        #
>> @@ -31,10 +31,6 @@ DL_FILE    = $(THISAPP).tar.gz
>>   DL_FROM    = $(URL_IPFIRE)
>>   DIR_APP    = $(DIR_SRC)/$(THISAPP)
>>   TARGET     = $(DIR_INFO)/$(THISAPP)
>> -PROG       = python3-docutils
>> -PAK_VER    = 3
>> -
>> -DEPS       =
>>   
>>   ###############################################################################
>>   # Top-level Rules
>> @@ -54,9 +50,6 @@ download :$(patsubst %,$(DIR_DL)/%,$(objects))
>>   
>>   md5 : $(subst %,%_MD5,$(objects))
>>   
>> -dist:
>> -	@$(PAK)
>> -
>>   ###############################################################################
>>   # Downloading, checking, md5sum
>>   ###############################################################################
>> @@ -77,7 +70,6 @@ $(subst %,%_MD5,$(objects)) :
>>   $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
>>   	@$(PREBUILD)
>>   	@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
>> -	cd $(DIR_APP) && python3 setup.py build
>>   	cd $(DIR_APP) && python3 setup.py install --root=/
>>   	@rm -rf $(DIR_APP)
>>   	@$(POSTBUILD)
>> diff --git a/make.sh b/make.sh
>> index 60474a18e..2586c4e63 100755
>> --- a/make.sh
>> +++ b/make.sh
>> @@ -1346,7 +1346,7 @@ buildipfire() {
>>     lfsmake2 Net-Telnet
>>     lfsmake2 python-setuptools
>>     lfsmake2 python3-inotify
>> -  lfsmake2 python-docutils
>> +  lfsmake2 python3-docutils
>>     lfsmake2 python3-daemon
>>     lfsmake2 glib
>>     lfsmake2 ntp
>> @@ -1544,7 +1544,6 @@ buildipfire() {
>>     lfsmake2 python3-dateutil
>>     lfsmake2 python3-jmespath
>>     lfsmake2 python3-colorama
>> -  lfsmake2 python3-docutils
>>     lfsmake2 python3-yaml
>>     lfsmake2 python3-s3transfer
>>     lfsmake2 python3-rsa
>>
  
Michael Tremer May 18, 2021, 11:03 a.m. UTC | #3
Hello,

> On 15 May 2021, at 21:39, Adolf Belka <adolf.belka@ipfire.org> wrote:
> 
> Hi Peter,
> 
> On 15/05/2021 21:06, Peter Müller wrote:
>> Hello Adolf,
>> thank you for providing this patch.
>> It looks good to me, but I did not fully understand why we need docutils as a part of the core system.
>> Is this because of python3-setuptools? (See also my comment on the updated rootfile below.)
> Maybe my understanding of what goes into core and what goes into addon package in IPFire is not clear.

There is indeed not a simple rule to follow - and there is a third option: Not to ship anything at all.

Usually it is as follows:

* If a package is required to run the core operating system (e.g. the bootloader, the kernel, zlib, …) it is included in the core system.

* If a package is only required at build time (e.g. GCC, binutils, cmake, …) we do not ship it at all

* If a package extends functionality which not every user might need (e.g. iperf), then it should be an add-on

Dependencies are a little bit more complicated because often there is no standalone use for them (python-daemon for example), but they should fall into any of the categories above depending on what programs use them.

> My thinking here was that python3-daemon is setup as a core program. It requires python3-docutils to build successfully so I presumed that it would also be a core program rather than an addon but maybe my understanding is faulty.

If docutils isn’t a runtime requirement, there is no point to ship it. We would just waste some space on the hard drives.

> Maybe there is another way of defining programs that are required for building only and aren't wanted in the firewall. I am happy to do whatever is the correct method , I just need to understand what the rationale/method is so I can choose the correct approach each time. Maybe I am missing something obvious here.

Just ask on the list if you are unsure.

> As an additional point, I have also found that some of the python2 modules had lfs files that were for an addon but the rootfile was stored under the common folder and not the packages folder. In those cases when I moved them to python3 I also moved the rootfile from common to package. Was this correct or not?

Probably not, because they might have been a dependency for another package and if they are not present in the core system, some programs might not work any more. However, there was a lot of movement between Python 2 and 3 and dependencies have changed quite a bit because Python 3 has a bigger standard library which makes lots of dependencies obsolete.

> Re the updated rootfile comment I can understand that. I made them like that because the rst2html4.py and rst2html5.py files were uncommented in the python2-docutils addon version.
> I will do an updated patch for this making sure all of those are commented out. I just need to know if python3-docutils should be a core program or an addon or if I should do something different for python3-docutils to only use it for the build phase.

Arne was quicker on this (probably due to lack of coordination) so I went with his patch.

-Michael

> Regards,
> Adolf.
>> Thanks in advance, and best regards,
>> Peter Müller
>>> - make.sh
>>>    remove python-docutils
>>>    move python3-docutils before python3-daemon
>>> - With python3-docutils in place before python3-daemon, python3-daemon
>>>    now builds without any problems on a clean build.
>>> - Convert python3-docutils lfs from addon to core program
>>> - Remove python-docutils rootfile
>>> - Move python3-docutils rootfile from packages to common folder
>>> - awscli, distutils and setuptools are using docutils. awscli and setuptools are
>>>    only using python3 version. distutils is using both python2 and python3 but as
>>>    distutils has been replaced by setuptools then I will be sending in a patch
>>>    to remove distutils and distutils-extra.
>>> 
>>> Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
>>> ---
>>>  config/rootfiles/common/python-docutils       | 320 ------------------
>>>  .../{packages => common}/python3-docutils     |  10 +
>>>  lfs/python-docutils                           |  75 ----
>>>  lfs/python3-docutils                          |  10 +-
>>>  make.sh                                       |   3 +-
>>>  5 files changed, 12 insertions(+), 406 deletions(-)
>>>  delete mode 100644 config/rootfiles/common/python-docutils
>>>  rename config/rootfiles/{packages => common}/python3-docutils (98%)
>>>  delete mode 100644 lfs/python-docutils
>>> 
>>> diff --git a/config/rootfiles/common/python-docutils b/config/rootfiles/common/python-docutils
>>> deleted file mode 100644
>>> index 45038dde2..000000000
>>> --- a/config/rootfiles/common/python-docutils
>>> +++ /dev/null
>>> @@ -1,320 +0,0 @@
>>> -#usr/bin/rst2html.py
>>> -#usr/bin/rst2latex.py
>>> -#usr/bin/rst2man.py
>>> -#usr/bin/rst2odt.py
>>> -#usr/bin/rst2odt_prepstyles.py
>>> -#usr/bin/rst2pseudoxml.py
>>> -#usr/bin/rst2s5.py
>>> -#usr/bin/rst2xetex.py
>>> -#usr/bin/rst2xml.py
>>> -#usr/bin/rstpep2html.py
>>> -#usr/lib/python2.7/site-packages/docutils
>>> -#usr/lib/python2.7/site-packages/docutils-0.12-py2.7.egg-info
>>> -#usr/lib/python2.7/site-packages/docutils/__init__.py
>>> -#usr/lib/python2.7/site-packages/docutils/__init__.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/_compat.py
>>> -#usr/lib/python2.7/site-packages/docutils/_compat.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/core.py
>>> -#usr/lib/python2.7/site-packages/docutils/core.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/examples.py
>>> -#usr/lib/python2.7/site-packages/docutils/examples.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/frontend.py
>>> -#usr/lib/python2.7/site-packages/docutils/frontend.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/io.py
>>> -#usr/lib/python2.7/site-packages/docutils/io.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/languages
>>> -#usr/lib/python2.7/site-packages/docutils/languages/__init__.py
>>> -#usr/lib/python2.7/site-packages/docutils/languages/__init__.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/languages/af.py
>>> -#usr/lib/python2.7/site-packages/docutils/languages/af.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/languages/ca.py
>>> -#usr/lib/python2.7/site-packages/docutils/languages/ca.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/languages/cs.py
>>> -#usr/lib/python2.7/site-packages/docutils/languages/cs.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/languages/da.py
>>> -#usr/lib/python2.7/site-packages/docutils/languages/da.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/languages/de.py
>>> -#usr/lib/python2.7/site-packages/docutils/languages/de.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/languages/en.py
>>> -#usr/lib/python2.7/site-packages/docutils/languages/en.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/languages/eo.py
>>> -#usr/lib/python2.7/site-packages/docutils/languages/eo.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/languages/es.py
>>> -#usr/lib/python2.7/site-packages/docutils/languages/es.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/languages/fi.py
>>> -#usr/lib/python2.7/site-packages/docutils/languages/fi.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/languages/fr.py
>>> -#usr/lib/python2.7/site-packages/docutils/languages/fr.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/languages/gl.py
>>> -#usr/lib/python2.7/site-packages/docutils/languages/gl.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/languages/he.py
>>> -#usr/lib/python2.7/site-packages/docutils/languages/he.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/languages/it.py
>>> -#usr/lib/python2.7/site-packages/docutils/languages/it.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/languages/ja.py
>>> -#usr/lib/python2.7/site-packages/docutils/languages/ja.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/languages/lt.py
>>> -#usr/lib/python2.7/site-packages/docutils/languages/lt.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/languages/nl.py
>>> -#usr/lib/python2.7/site-packages/docutils/languages/nl.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/languages/pl.py
>>> -#usr/lib/python2.7/site-packages/docutils/languages/pl.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/languages/pt_br.py
>>> -#usr/lib/python2.7/site-packages/docutils/languages/pt_br.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/languages/ru.py
>>> -#usr/lib/python2.7/site-packages/docutils/languages/ru.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/languages/sk.py
>>> -#usr/lib/python2.7/site-packages/docutils/languages/sk.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/languages/sv.py
>>> -#usr/lib/python2.7/site-packages/docutils/languages/sv.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/languages/zh_cn.py
>>> -#usr/lib/python2.7/site-packages/docutils/languages/zh_cn.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/languages/zh_tw.py
>>> -#usr/lib/python2.7/site-packages/docutils/languages/zh_tw.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/nodes.py
>>> -#usr/lib/python2.7/site-packages/docutils/nodes.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/parsers
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/__init__.py
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/__init__.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/null.py
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/null.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/__init__.py
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/__init__.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/__init__.py
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/__init__.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/admonitions.py
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/admonitions.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/body.py
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/body.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/html.py
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/html.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/images.py
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/images.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/misc.py
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/misc.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/parts.py
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/parts.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/references.py
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/references.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/tables.py
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/tables.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/README.txt
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isoamsa.txt
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isoamsb.txt
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isoamsc.txt
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isoamsn.txt
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isoamso.txt
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isoamsr.txt
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isobox.txt
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isocyr1.txt
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isocyr2.txt
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isodia.txt
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isogrk1.txt
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isogrk2.txt
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isogrk3.txt
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isogrk4-wide.txt
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isogrk4.txt
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isolat1.txt
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isolat2.txt
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isomfrk-wide.txt
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isomfrk.txt
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isomopf-wide.txt
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isomopf.txt
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isomscr-wide.txt
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isomscr.txt
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isonum.txt
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isopub.txt
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isotech.txt
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/mmlalias.txt
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/mmlextra-wide.txt
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/mmlextra.txt
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/s5defs.txt
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/xhtml1-lat1.txt
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/xhtml1-special.txt
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/xhtml1-symbol.txt
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/__init__.py
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/__init__.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/af.py
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/af.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/ca.py
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/ca.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/cs.py
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/cs.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/da.py
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/da.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/de.py
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/de.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/en.py
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/en.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/eo.py
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/eo.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/es.py
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/es.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/fi.py
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/fi.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/fr.py
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/fr.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/gl.py
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/gl.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/he.py
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/he.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/it.py
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/it.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/ja.py
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/ja.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/lt.py
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/lt.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/nl.py
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/nl.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/pl.py
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/pl.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/pt_br.py
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/pt_br.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/ru.py
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/ru.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/sk.py
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/sk.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/sv.py
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/sv.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/zh_cn.py
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/zh_cn.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/zh_tw.py
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/zh_tw.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/roles.py
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/roles.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/states.py
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/states.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/tableparser.py
>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/tableparser.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/readers
>>> -#usr/lib/python2.7/site-packages/docutils/readers/__init__.py
>>> -#usr/lib/python2.7/site-packages/docutils/readers/__init__.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/readers/doctree.py
>>> -#usr/lib/python2.7/site-packages/docutils/readers/doctree.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/readers/pep.py
>>> -#usr/lib/python2.7/site-packages/docutils/readers/pep.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/readers/standalone.py
>>> -#usr/lib/python2.7/site-packages/docutils/readers/standalone.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/statemachine.py
>>> -#usr/lib/python2.7/site-packages/docutils/statemachine.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/transforms
>>> -#usr/lib/python2.7/site-packages/docutils/transforms/__init__.py
>>> -#usr/lib/python2.7/site-packages/docutils/transforms/__init__.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/transforms/components.py
>>> -#usr/lib/python2.7/site-packages/docutils/transforms/components.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/transforms/frontmatter.py
>>> -#usr/lib/python2.7/site-packages/docutils/transforms/frontmatter.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/transforms/misc.py
>>> -#usr/lib/python2.7/site-packages/docutils/transforms/misc.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/transforms/parts.py
>>> -#usr/lib/python2.7/site-packages/docutils/transforms/parts.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/transforms/peps.py
>>> -#usr/lib/python2.7/site-packages/docutils/transforms/peps.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/transforms/references.py
>>> -#usr/lib/python2.7/site-packages/docutils/transforms/references.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/transforms/universal.py
>>> -#usr/lib/python2.7/site-packages/docutils/transforms/universal.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/transforms/writer_aux.py
>>> -#usr/lib/python2.7/site-packages/docutils/transforms/writer_aux.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/utils
>>> -#usr/lib/python2.7/site-packages/docutils/utils/__init__.py
>>> -#usr/lib/python2.7/site-packages/docutils/utils/__init__.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/utils/code_analyzer.py
>>> -#usr/lib/python2.7/site-packages/docutils/utils/code_analyzer.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/utils/error_reporting.py
>>> -#usr/lib/python2.7/site-packages/docutils/utils/error_reporting.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/utils/math
>>> -#usr/lib/python2.7/site-packages/docutils/utils/math/__init__.py
>>> -#usr/lib/python2.7/site-packages/docutils/utils/math/__init__.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/utils/math/latex2mathml.py
>>> -#usr/lib/python2.7/site-packages/docutils/utils/math/latex2mathml.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/utils/math/math2html.py
>>> -#usr/lib/python2.7/site-packages/docutils/utils/math/math2html.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/utils/math/tex2unichar.py
>>> -#usr/lib/python2.7/site-packages/docutils/utils/math/tex2unichar.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/utils/math/unichar2tex.py
>>> -#usr/lib/python2.7/site-packages/docutils/utils/math/unichar2tex.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/utils/punctuation_chars.py
>>> -#usr/lib/python2.7/site-packages/docutils/utils/punctuation_chars.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/utils/roman.py
>>> -#usr/lib/python2.7/site-packages/docutils/utils/roman.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/utils/smartquotes.py
>>> -#usr/lib/python2.7/site-packages/docutils/utils/smartquotes.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/utils/urischemes.py
>>> -#usr/lib/python2.7/site-packages/docutils/utils/urischemes.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/writers
>>> -#usr/lib/python2.7/site-packages/docutils/writers/__init__.py
>>> -#usr/lib/python2.7/site-packages/docutils/writers/__init__.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/writers/docutils_xml.py
>>> -#usr/lib/python2.7/site-packages/docutils/writers/docutils_xml.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/writers/html4css1
>>> -#usr/lib/python2.7/site-packages/docutils/writers/html4css1/__init__.py
>>> -#usr/lib/python2.7/site-packages/docutils/writers/html4css1/__init__.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/writers/html4css1/html4css1.css
>>> -#usr/lib/python2.7/site-packages/docutils/writers/html4css1/math.css
>>> -#usr/lib/python2.7/site-packages/docutils/writers/html4css1/template.txt
>>> -#usr/lib/python2.7/site-packages/docutils/writers/latex2e
>>> -#usr/lib/python2.7/site-packages/docutils/writers/latex2e/__init__.py
>>> -#usr/lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/writers/latex2e/default.tex
>>> -#usr/lib/python2.7/site-packages/docutils/writers/latex2e/titlepage.tex
>>> -#usr/lib/python2.7/site-packages/docutils/writers/latex2e/xelatex.tex
>>> -#usr/lib/python2.7/site-packages/docutils/writers/manpage.py
>>> -#usr/lib/python2.7/site-packages/docutils/writers/manpage.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/writers/null.py
>>> -#usr/lib/python2.7/site-packages/docutils/writers/null.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/writers/odf_odt
>>> -#usr/lib/python2.7/site-packages/docutils/writers/odf_odt/__init__.py
>>> -#usr/lib/python2.7/site-packages/docutils/writers/odf_odt/__init__.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/writers/odf_odt/pygmentsformatter.py
>>> -#usr/lib/python2.7/site-packages/docutils/writers/odf_odt/pygmentsformatter.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/writers/odf_odt/styles.odt
>>> -#usr/lib/python2.7/site-packages/docutils/writers/pep_html
>>> -#usr/lib/python2.7/site-packages/docutils/writers/pep_html/__init__.py
>>> -#usr/lib/python2.7/site-packages/docutils/writers/pep_html/__init__.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/writers/pep_html/pep.css
>>> -#usr/lib/python2.7/site-packages/docutils/writers/pep_html/template.txt
>>> -#usr/lib/python2.7/site-packages/docutils/writers/pseudoxml.py
>>> -#usr/lib/python2.7/site-packages/docutils/writers/pseudoxml.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html
>>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/__init__.py
>>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/__init__.pyc
>>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes
>>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/README.txt
>>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/big-black
>>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/big-black/__base__
>>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/big-black/framing.css
>>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/big-black/pretty.css
>>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/big-white
>>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/big-white/framing.css
>>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/big-white/pretty.css
>>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/default
>>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/default/blank.gif
>>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/default/framing.css
>>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/default/iepngfix.htc
>>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/default/opera.css
>>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/default/outline.css
>>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/default/pretty.css
>>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/default/print.css
>>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/default/s5-core.css
>>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/default/slides.css
>>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/default/slides.js
>>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/medium-black
>>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/medium-black/__base__
>>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/medium-black/pretty.css
>>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/medium-white
>>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/medium-white/framing.css
>>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/medium-white/pretty.css
>>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/small-black
>>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/small-black/__base__
>>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/small-black/pretty.css
>>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/small-white
>>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/small-white/framing.css
>>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/small-white/pretty.css
>>> -#usr/lib/python2.7/site-packages/docutils/writers/xetex
>>> -#usr/lib/python2.7/site-packages/docutils/writers/xetex/__init__.py
>>> -#usr/lib/python2.7/site-packages/docutils/writers/xetex/__init__.pyc
>>> diff --git a/config/rootfiles/packages/python3-docutils b/config/rootfiles/common/python3-docutils
>>> similarity index 98%
>>> rename from config/rootfiles/packages/python3-docutils
>>> rename to config/rootfiles/common/python3-docutils
>>> index 3429e97d6..fa0c6f3a7 100644
>>> --- a/config/rootfiles/packages/python3-docutils
>>> +++ b/config/rootfiles/common/python3-docutils
>>> @@ -1,5 +1,15 @@
>>> +usr/bin/rst2html.py
>>>  usr/bin/rst2html4.py
>>>  usr/bin/rst2html5.py
>>> +usr/bin/rst2latex.py
>>> +usr/bin/rst2man.py
>>> +usr/bin/rst2odt.py
>>> +usr/bin/rst2odt_prepstyles.py
>>> +usr/bin/rst2pseudoxml.py
>>> +usr/bin/rst2s5.py
>>> +usr/bin/rst2xetex.py
>>> +usr/bin/rst2xml.py
>>> +usr/bin/rstpep2html.py
>> Hm, personally, I rather prefer those binaries not to be shipped on each firewall, as most people won't need them.
>>>  #usr/lib/python3.8/site-packages/docutils
>>>  #usr/lib/python3.8/site-packages/docutils-0.16-py3.8.egg-info
>>>  #usr/lib/python3.8/site-packages/docutils-0.16-py3.8.egg-info/PKG-INFO
>>> diff --git a/lfs/python-docutils b/lfs/python-docutils
>>> deleted file mode 100644
>>> index d4d8356d9..000000000
>>> --- a/lfs/python-docutils
>>> +++ /dev/null
>>> @@ -1,75 +0,0 @@
>>> -###############################################################################
>>> -#                                                                             #
>>> -# IPFire.org - A linux based firewall                                         #
>>> -# Copyright (C) 2007-2018  IPFire Team  <info@ipfire.org>                     #
>>> -#                                                                             #
>>> -# This program is free software: you can redistribute it and/or modify        #
>>> -# it under the terms of the GNU General Public License as published by        #
>>> -# the Free Software Foundation, either version 3 of the License, or           #
>>> -# (at your option) any later version.                                         #
>>> -#                                                                             #
>>> -# This program is distributed in the hope that it will be useful,             #
>>> -# but WITHOUT ANY WARRANTY; without even the implied warranty of              #
>>> -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               #
>>> -# GNU General Public License for more details.                                #
>>> -#                                                                             #
>>> -# You should have received a copy of the GNU General Public License           #
>>> -# along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
>>> -#                                                                             #
>>> -###############################################################################
>>> -
>>> -###############################################################################
>>> -# Definitions
>>> -###############################################################################
>>> -
>>> -include Config
>>> -
>>> -VER        = 0.12
>>> -
>>> -THISAPP    = docutils-$(VER)
>>> -DL_FILE    = $(THISAPP).tar.gz
>>> -DL_FROM    = $(URL_IPFIRE)
>>> -DIR_APP    = $(DIR_SRC)/$(THISAPP)
>>> -TARGET     = $(DIR_INFO)/$(THISAPP)
>>> -
>>> -###############################################################################
>>> -# Top-level Rules
>>> -###############################################################################
>>> -
>>> -objects = $(DL_FILE)
>>> -
>>> -$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
>>> -
>>> -$(DL_FILE)_MD5 = 4622263b62c5c771c03502afa3157768
>>> -
>>> -install : $(TARGET)
>>> -
>>> -check : $(patsubst %,$(DIR_CHK)/%,$(objects))
>>> -
>>> -download :$(patsubst %,$(DIR_DL)/%,$(objects))
>>> -
>>> -md5 : $(subst %,%_MD5,$(objects))
>>> -
>>> -###############################################################################
>>> -# Downloading, checking, md5sum
>>> -###############################################################################
>>> -
>>> -$(patsubst %,$(DIR_CHK)/%,$(objects)) :
>>> -	@$(CHECK)
>>> -
>>> -$(patsubst %,$(DIR_DL)/%,$(objects)) :
>>> -	@$(LOAD)
>>> -
>>> -$(subst %,%_MD5,$(objects)) :
>>> -	@$(MD5)
>>> -
>>> -###############################################################################
>>> -# Installation Details
>>> -###############################################################################
>>> -
>>> -$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
>>> -	@$(PREBUILD)
>>> -	@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
>>> -	cd $(DIR_APP) && python setup.py install --root=/
>>> -	@rm -rf $(DIR_APP)
>>> -	@$(POSTBUILD)
>>> diff --git a/lfs/python3-docutils b/lfs/python3-docutils
>>> index a67a21dce..5ce6310bd 100644
>>> --- a/lfs/python3-docutils
>>> +++ b/lfs/python3-docutils
>>> @@ -1,7 +1,7 @@
>>>  ###############################################################################
>>>  #                                                                             #
>>>  # IPFire.org - A linux based firewall                                         #
>>> -# Copyright (C) 2007-2020  IPFire Team  <info@ipfire.org>                     #
>>> +# Copyright (C) 2007-2018  IPFire Team  <info@ipfire.org>                     #
>>>  #                                                                             #
>>>  # This program is free software: you can redistribute it and/or modify        #
>>>  # it under the terms of the GNU General Public License as published by        #
>>> @@ -31,10 +31,6 @@ DL_FILE    = $(THISAPP).tar.gz
>>>  DL_FROM    = $(URL_IPFIRE)
>>>  DIR_APP    = $(DIR_SRC)/$(THISAPP)
>>>  TARGET     = $(DIR_INFO)/$(THISAPP)
>>> -PROG       = python3-docutils
>>> -PAK_VER    = 3
>>> -
>>> -DEPS       =
>>>    ###############################################################################
>>>  # Top-level Rules
>>> @@ -54,9 +50,6 @@ download :$(patsubst %,$(DIR_DL)/%,$(objects))
>>>    md5 : $(subst %,%_MD5,$(objects))
>>>  -dist:
>>> -	@$(PAK)
>>> -
>>>  ###############################################################################
>>>  # Downloading, checking, md5sum
>>>  ###############################################################################
>>> @@ -77,7 +70,6 @@ $(subst %,%_MD5,$(objects)) :
>>>  $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
>>>  	@$(PREBUILD)
>>>  	@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
>>> -	cd $(DIR_APP) && python3 setup.py build
>>>  	cd $(DIR_APP) && python3 setup.py install --root=/
>>>  	@rm -rf $(DIR_APP)
>>>  	@$(POSTBUILD)
>>> diff --git a/make.sh b/make.sh
>>> index 60474a18e..2586c4e63 100755
>>> --- a/make.sh
>>> +++ b/make.sh
>>> @@ -1346,7 +1346,7 @@ buildipfire() {
>>>    lfsmake2 Net-Telnet
>>>    lfsmake2 python-setuptools
>>>    lfsmake2 python3-inotify
>>> -  lfsmake2 python-docutils
>>> +  lfsmake2 python3-docutils
>>>    lfsmake2 python3-daemon
>>>    lfsmake2 glib
>>>    lfsmake2 ntp
>>> @@ -1544,7 +1544,6 @@ buildipfire() {
>>>    lfsmake2 python3-dateutil
>>>    lfsmake2 python3-jmespath
>>>    lfsmake2 python3-colorama
>>> -  lfsmake2 python3-docutils
>>>    lfsmake2 python3-yaml
>>>    lfsmake2 python3-s3transfer
>>>    lfsmake2 python3-rsa
>>>
  
Adolf Belka May 18, 2021, 12:43 p.m. UTC | #4
Hi Michael,

Thanks for the explanations but I am still struggling a bit to understand what I should do.

On 18/05/2021 13:03, Michael Tremer wrote:
> Hello,
> 
>> On 15 May 2021, at 21:39, Adolf Belka <adolf.belka@ipfire.org> wrote:
>>
>> Hi Peter,
>>
>> On 15/05/2021 21:06, Peter Müller wrote:
>>> Hello Adolf,
>>> thank you for providing this patch.
>>> It looks good to me, but I did not fully understand why we need docutils as a part of the core system.
>>> Is this because of python3-setuptools? (See also my comment on the updated rootfile below.)
>> Maybe my understanding of what goes into core and what goes into addon package in IPFire is not clear.
> 
> There is indeed not a simple rule to follow - and there is a third option: Not to ship anything at all.
> 
> Usually it is as follows:
> 
> * If a package is required to run the core operating system (e.g. the bootloader, the kernel, zlib, …) it is included in the core system.
So am I right when I think that any program that has its rootfile in the common folder is a core program and if the rootfile is in the package folder it is an addon or am I completely lost?
> 
> * If a package is only required at build time (e.g. GCC, binutils, cmake, …) we do not ship it at all
Here is where I struggle. So how do I ensure it is not shipped. If I don't put the rootfile in either common or package then the build complains that there is no rootfile. So I don't know what I need to put in which file to ensure that it is not shipped.
> 
> * If a package extends functionality which not every user might need (e.g. iperf), then it should be an add-on
So an addon is defined by having a PAK_VER line in the lfs file together with a dist: @$(PAK) entry and the rootfile goes in the package folder?

I am sure that when I eventually understand it, I will find it very obvious and clear but right now my brain is not working well. Sorry for not being able to follow this at the moment.
> 
> Dependencies are a little bit more complicated because often there is no standalone use for them (python-daemon for example), but they should fall into any of the categories above depending on what programs use them.
> 
>> My thinking here was that python3-daemon is setup as a core program. It requires python3-docutils to build successfully so I presumed that it would also be a core program rather than an addon but maybe my understanding is faulty.
> 
> If docutils isn’t a runtime requirement, there is no point to ship it. We would just waste some space on the hard drives.
> 
>> Maybe there is another way of defining programs that are required for building only and aren't wanted in the firewall. I am happy to do whatever is the correct method , I just need to understand what the rationale/method is so I can choose the correct approach each time. Maybe I am missing something obvious here.
> 
> Just ask on the list if you are unsure.
> 
>> As an additional point, I have also found that some of the python2 modules had lfs files that were for an addon but the rootfile was stored under the common folder and not the packages folder. In those cases when I moved them to python3 I also moved the rootfile from common to package. Was this correct or not?
> 
> Probably not, because they might have been a dependency for another package and if they are not present in the core system, some programs might not work any more. However, there was a lot of movement between Python 2 and 3 and dependencies have changed quite a bit because Python 3 has a bigger standard library which makes lots of dependencies obsolete.
Okay. Then in future if I find a rootfile in what seems the wrong location I will check first on the list before changing anything.
> 
>> Re the updated rootfile comment I can understand that. I made them like that because the rst2html4.py and rst2html5.py files were uncommented in the python2-docutils addon version.
>> I will do an updated patch for this making sure all of those are commented out. I just need to know if python3-docutils should be a core program or an addon or if I should do something different for python3-docutils to only use it for the build phase.
> 
> Arne was quicker on this (probably due to lack of coordination) so I went with his patch.
No problems.

Regards,
Adolf.
> 
> -Michael
> 
>> Regards,
>> Adolf.
>>> Thanks in advance, and best regards,
>>> Peter Müller
>>>> - make.sh
>>>>     remove python-docutils
>>>>     move python3-docutils before python3-daemon
>>>> - With python3-docutils in place before python3-daemon, python3-daemon
>>>>     now builds without any problems on a clean build.
>>>> - Convert python3-docutils lfs from addon to core program
>>>> - Remove python-docutils rootfile
>>>> - Move python3-docutils rootfile from packages to common folder
>>>> - awscli, distutils and setuptools are using docutils. awscli and setuptools are
>>>>     only using python3 version. distutils is using both python2 and python3 but as
>>>>     distutils has been replaced by setuptools then I will be sending in a patch
>>>>     to remove distutils and distutils-extra.
>>>>
>>>> Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
>>>> ---
>>>>   config/rootfiles/common/python-docutils       | 320 ------------------
>>>>   .../{packages => common}/python3-docutils     |  10 +
>>>>   lfs/python-docutils                           |  75 ----
>>>>   lfs/python3-docutils                          |  10 +-
>>>>   make.sh                                       |   3 +-
>>>>   5 files changed, 12 insertions(+), 406 deletions(-)
>>>>   delete mode 100644 config/rootfiles/common/python-docutils
>>>>   rename config/rootfiles/{packages => common}/python3-docutils (98%)
>>>>   delete mode 100644 lfs/python-docutils
>>>>
>>>> diff --git a/config/rootfiles/common/python-docutils b/config/rootfiles/common/python-docutils
>>>> deleted file mode 100644
>>>> index 45038dde2..000000000
>>>> --- a/config/rootfiles/common/python-docutils
>>>> +++ /dev/null
>>>> @@ -1,320 +0,0 @@
>>>> -#usr/bin/rst2html.py
>>>> -#usr/bin/rst2latex.py
>>>> -#usr/bin/rst2man.py
>>>> -#usr/bin/rst2odt.py
>>>> -#usr/bin/rst2odt_prepstyles.py
>>>> -#usr/bin/rst2pseudoxml.py
>>>> -#usr/bin/rst2s5.py
>>>> -#usr/bin/rst2xetex.py
>>>> -#usr/bin/rst2xml.py
>>>> -#usr/bin/rstpep2html.py
>>>> -#usr/lib/python2.7/site-packages/docutils
>>>> -#usr/lib/python2.7/site-packages/docutils-0.12-py2.7.egg-info
>>>> -#usr/lib/python2.7/site-packages/docutils/__init__.py
>>>> -#usr/lib/python2.7/site-packages/docutils/__init__.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/_compat.py
>>>> -#usr/lib/python2.7/site-packages/docutils/_compat.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/core.py
>>>> -#usr/lib/python2.7/site-packages/docutils/core.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/examples.py
>>>> -#usr/lib/python2.7/site-packages/docutils/examples.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/frontend.py
>>>> -#usr/lib/python2.7/site-packages/docutils/frontend.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/io.py
>>>> -#usr/lib/python2.7/site-packages/docutils/io.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/languages
>>>> -#usr/lib/python2.7/site-packages/docutils/languages/__init__.py
>>>> -#usr/lib/python2.7/site-packages/docutils/languages/__init__.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/languages/af.py
>>>> -#usr/lib/python2.7/site-packages/docutils/languages/af.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/languages/ca.py
>>>> -#usr/lib/python2.7/site-packages/docutils/languages/ca.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/languages/cs.py
>>>> -#usr/lib/python2.7/site-packages/docutils/languages/cs.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/languages/da.py
>>>> -#usr/lib/python2.7/site-packages/docutils/languages/da.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/languages/de.py
>>>> -#usr/lib/python2.7/site-packages/docutils/languages/de.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/languages/en.py
>>>> -#usr/lib/python2.7/site-packages/docutils/languages/en.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/languages/eo.py
>>>> -#usr/lib/python2.7/site-packages/docutils/languages/eo.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/languages/es.py
>>>> -#usr/lib/python2.7/site-packages/docutils/languages/es.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/languages/fi.py
>>>> -#usr/lib/python2.7/site-packages/docutils/languages/fi.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/languages/fr.py
>>>> -#usr/lib/python2.7/site-packages/docutils/languages/fr.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/languages/gl.py
>>>> -#usr/lib/python2.7/site-packages/docutils/languages/gl.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/languages/he.py
>>>> -#usr/lib/python2.7/site-packages/docutils/languages/he.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/languages/it.py
>>>> -#usr/lib/python2.7/site-packages/docutils/languages/it.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/languages/ja.py
>>>> -#usr/lib/python2.7/site-packages/docutils/languages/ja.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/languages/lt.py
>>>> -#usr/lib/python2.7/site-packages/docutils/languages/lt.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/languages/nl.py
>>>> -#usr/lib/python2.7/site-packages/docutils/languages/nl.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/languages/pl.py
>>>> -#usr/lib/python2.7/site-packages/docutils/languages/pl.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/languages/pt_br.py
>>>> -#usr/lib/python2.7/site-packages/docutils/languages/pt_br.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/languages/ru.py
>>>> -#usr/lib/python2.7/site-packages/docutils/languages/ru.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/languages/sk.py
>>>> -#usr/lib/python2.7/site-packages/docutils/languages/sk.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/languages/sv.py
>>>> -#usr/lib/python2.7/site-packages/docutils/languages/sv.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/languages/zh_cn.py
>>>> -#usr/lib/python2.7/site-packages/docutils/languages/zh_cn.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/languages/zh_tw.py
>>>> -#usr/lib/python2.7/site-packages/docutils/languages/zh_tw.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/nodes.py
>>>> -#usr/lib/python2.7/site-packages/docutils/nodes.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/__init__.py
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/__init__.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/null.py
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/null.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/__init__.py
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/__init__.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/__init__.py
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/__init__.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/admonitions.py
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/admonitions.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/body.py
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/body.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/html.py
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/html.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/images.py
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/images.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/misc.py
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/misc.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/parts.py
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/parts.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/references.py
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/references.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/tables.py
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/tables.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/README.txt
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isoamsa.txt
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isoamsb.txt
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isoamsc.txt
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isoamsn.txt
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isoamso.txt
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isoamsr.txt
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isobox.txt
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isocyr1.txt
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isocyr2.txt
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isodia.txt
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isogrk1.txt
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isogrk2.txt
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isogrk3.txt
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isogrk4-wide.txt
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isogrk4.txt
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isolat1.txt
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isolat2.txt
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isomfrk-wide.txt
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isomfrk.txt
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isomopf-wide.txt
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isomopf.txt
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isomscr-wide.txt
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isomscr.txt
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isonum.txt
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isopub.txt
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isotech.txt
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/mmlalias.txt
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/mmlextra-wide.txt
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/mmlextra.txt
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/s5defs.txt
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/xhtml1-lat1.txt
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/xhtml1-special.txt
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/xhtml1-symbol.txt
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/__init__.py
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/__init__.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/af.py
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/af.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/ca.py
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/ca.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/cs.py
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/cs.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/da.py
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/da.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/de.py
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/de.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/en.py
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/en.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/eo.py
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/eo.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/es.py
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/es.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/fi.py
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/fi.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/fr.py
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/fr.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/gl.py
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/gl.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/he.py
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/he.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/it.py
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/it.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/ja.py
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/ja.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/lt.py
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/lt.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/nl.py
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/nl.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/pl.py
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/pl.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/pt_br.py
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/pt_br.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/ru.py
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/ru.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/sk.py
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/sk.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/sv.py
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/sv.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/zh_cn.py
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/zh_cn.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/zh_tw.py
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/zh_tw.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/roles.py
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/roles.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/states.py
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/states.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/tableparser.py
>>>> -#usr/lib/python2.7/site-packages/docutils/parsers/rst/tableparser.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/readers
>>>> -#usr/lib/python2.7/site-packages/docutils/readers/__init__.py
>>>> -#usr/lib/python2.7/site-packages/docutils/readers/__init__.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/readers/doctree.py
>>>> -#usr/lib/python2.7/site-packages/docutils/readers/doctree.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/readers/pep.py
>>>> -#usr/lib/python2.7/site-packages/docutils/readers/pep.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/readers/standalone.py
>>>> -#usr/lib/python2.7/site-packages/docutils/readers/standalone.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/statemachine.py
>>>> -#usr/lib/python2.7/site-packages/docutils/statemachine.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/transforms
>>>> -#usr/lib/python2.7/site-packages/docutils/transforms/__init__.py
>>>> -#usr/lib/python2.7/site-packages/docutils/transforms/__init__.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/transforms/components.py
>>>> -#usr/lib/python2.7/site-packages/docutils/transforms/components.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/transforms/frontmatter.py
>>>> -#usr/lib/python2.7/site-packages/docutils/transforms/frontmatter.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/transforms/misc.py
>>>> -#usr/lib/python2.7/site-packages/docutils/transforms/misc.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/transforms/parts.py
>>>> -#usr/lib/python2.7/site-packages/docutils/transforms/parts.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/transforms/peps.py
>>>> -#usr/lib/python2.7/site-packages/docutils/transforms/peps.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/transforms/references.py
>>>> -#usr/lib/python2.7/site-packages/docutils/transforms/references.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/transforms/universal.py
>>>> -#usr/lib/python2.7/site-packages/docutils/transforms/universal.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/transforms/writer_aux.py
>>>> -#usr/lib/python2.7/site-packages/docutils/transforms/writer_aux.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/utils
>>>> -#usr/lib/python2.7/site-packages/docutils/utils/__init__.py
>>>> -#usr/lib/python2.7/site-packages/docutils/utils/__init__.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/utils/code_analyzer.py
>>>> -#usr/lib/python2.7/site-packages/docutils/utils/code_analyzer.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/utils/error_reporting.py
>>>> -#usr/lib/python2.7/site-packages/docutils/utils/error_reporting.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/utils/math
>>>> -#usr/lib/python2.7/site-packages/docutils/utils/math/__init__.py
>>>> -#usr/lib/python2.7/site-packages/docutils/utils/math/__init__.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/utils/math/latex2mathml.py
>>>> -#usr/lib/python2.7/site-packages/docutils/utils/math/latex2mathml.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/utils/math/math2html.py
>>>> -#usr/lib/python2.7/site-packages/docutils/utils/math/math2html.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/utils/math/tex2unichar.py
>>>> -#usr/lib/python2.7/site-packages/docutils/utils/math/tex2unichar.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/utils/math/unichar2tex.py
>>>> -#usr/lib/python2.7/site-packages/docutils/utils/math/unichar2tex.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/utils/punctuation_chars.py
>>>> -#usr/lib/python2.7/site-packages/docutils/utils/punctuation_chars.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/utils/roman.py
>>>> -#usr/lib/python2.7/site-packages/docutils/utils/roman.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/utils/smartquotes.py
>>>> -#usr/lib/python2.7/site-packages/docutils/utils/smartquotes.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/utils/urischemes.py
>>>> -#usr/lib/python2.7/site-packages/docutils/utils/urischemes.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/writers
>>>> -#usr/lib/python2.7/site-packages/docutils/writers/__init__.py
>>>> -#usr/lib/python2.7/site-packages/docutils/writers/__init__.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/writers/docutils_xml.py
>>>> -#usr/lib/python2.7/site-packages/docutils/writers/docutils_xml.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/writers/html4css1
>>>> -#usr/lib/python2.7/site-packages/docutils/writers/html4css1/__init__.py
>>>> -#usr/lib/python2.7/site-packages/docutils/writers/html4css1/__init__.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/writers/html4css1/html4css1.css
>>>> -#usr/lib/python2.7/site-packages/docutils/writers/html4css1/math.css
>>>> -#usr/lib/python2.7/site-packages/docutils/writers/html4css1/template.txt
>>>> -#usr/lib/python2.7/site-packages/docutils/writers/latex2e
>>>> -#usr/lib/python2.7/site-packages/docutils/writers/latex2e/__init__.py
>>>> -#usr/lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/writers/latex2e/default.tex
>>>> -#usr/lib/python2.7/site-packages/docutils/writers/latex2e/titlepage.tex
>>>> -#usr/lib/python2.7/site-packages/docutils/writers/latex2e/xelatex.tex
>>>> -#usr/lib/python2.7/site-packages/docutils/writers/manpage.py
>>>> -#usr/lib/python2.7/site-packages/docutils/writers/manpage.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/writers/null.py
>>>> -#usr/lib/python2.7/site-packages/docutils/writers/null.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/writers/odf_odt
>>>> -#usr/lib/python2.7/site-packages/docutils/writers/odf_odt/__init__.py
>>>> -#usr/lib/python2.7/site-packages/docutils/writers/odf_odt/__init__.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/writers/odf_odt/pygmentsformatter.py
>>>> -#usr/lib/python2.7/site-packages/docutils/writers/odf_odt/pygmentsformatter.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/writers/odf_odt/styles.odt
>>>> -#usr/lib/python2.7/site-packages/docutils/writers/pep_html
>>>> -#usr/lib/python2.7/site-packages/docutils/writers/pep_html/__init__.py
>>>> -#usr/lib/python2.7/site-packages/docutils/writers/pep_html/__init__.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/writers/pep_html/pep.css
>>>> -#usr/lib/python2.7/site-packages/docutils/writers/pep_html/template.txt
>>>> -#usr/lib/python2.7/site-packages/docutils/writers/pseudoxml.py
>>>> -#usr/lib/python2.7/site-packages/docutils/writers/pseudoxml.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html
>>>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/__init__.py
>>>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/__init__.pyc
>>>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes
>>>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/README.txt
>>>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/big-black
>>>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/big-black/__base__
>>>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/big-black/framing.css
>>>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/big-black/pretty.css
>>>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/big-white
>>>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/big-white/framing.css
>>>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/big-white/pretty.css
>>>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/default
>>>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/default/blank.gif
>>>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/default/framing.css
>>>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/default/iepngfix.htc
>>>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/default/opera.css
>>>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/default/outline.css
>>>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/default/pretty.css
>>>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/default/print.css
>>>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/default/s5-core.css
>>>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/default/slides.css
>>>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/default/slides.js
>>>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/medium-black
>>>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/medium-black/__base__
>>>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/medium-black/pretty.css
>>>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/medium-white
>>>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/medium-white/framing.css
>>>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/medium-white/pretty.css
>>>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/small-black
>>>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/small-black/__base__
>>>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/small-black/pretty.css
>>>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/small-white
>>>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/small-white/framing.css
>>>> -#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/small-white/pretty.css
>>>> -#usr/lib/python2.7/site-packages/docutils/writers/xetex
>>>> -#usr/lib/python2.7/site-packages/docutils/writers/xetex/__init__.py
>>>> -#usr/lib/python2.7/site-packages/docutils/writers/xetex/__init__.pyc
>>>> diff --git a/config/rootfiles/packages/python3-docutils b/config/rootfiles/common/python3-docutils
>>>> similarity index 98%
>>>> rename from config/rootfiles/packages/python3-docutils
>>>> rename to config/rootfiles/common/python3-docutils
>>>> index 3429e97d6..fa0c6f3a7 100644
>>>> --- a/config/rootfiles/packages/python3-docutils
>>>> +++ b/config/rootfiles/common/python3-docutils
>>>> @@ -1,5 +1,15 @@
>>>> +usr/bin/rst2html.py
>>>>   usr/bin/rst2html4.py
>>>>   usr/bin/rst2html5.py
>>>> +usr/bin/rst2latex.py
>>>> +usr/bin/rst2man.py
>>>> +usr/bin/rst2odt.py
>>>> +usr/bin/rst2odt_prepstyles.py
>>>> +usr/bin/rst2pseudoxml.py
>>>> +usr/bin/rst2s5.py
>>>> +usr/bin/rst2xetex.py
>>>> +usr/bin/rst2xml.py
>>>> +usr/bin/rstpep2html.py
>>> Hm, personally, I rather prefer those binaries not to be shipped on each firewall, as most people won't need them.
>>>>   #usr/lib/python3.8/site-packages/docutils
>>>>   #usr/lib/python3.8/site-packages/docutils-0.16-py3.8.egg-info
>>>>   #usr/lib/python3.8/site-packages/docutils-0.16-py3.8.egg-info/PKG-INFO
>>>> diff --git a/lfs/python-docutils b/lfs/python-docutils
>>>> deleted file mode 100644
>>>> index d4d8356d9..000000000
>>>> --- a/lfs/python-docutils
>>>> +++ /dev/null
>>>> @@ -1,75 +0,0 @@
>>>> -###############################################################################
>>>> -#                                                                             #
>>>> -# IPFire.org - A linux based firewall                                         #
>>>> -# Copyright (C) 2007-2018  IPFire Team  <info@ipfire.org>                     #
>>>> -#                                                                             #
>>>> -# This program is free software: you can redistribute it and/or modify        #
>>>> -# it under the terms of the GNU General Public License as published by        #
>>>> -# the Free Software Foundation, either version 3 of the License, or           #
>>>> -# (at your option) any later version.                                         #
>>>> -#                                                                             #
>>>> -# This program is distributed in the hope that it will be useful,             #
>>>> -# but WITHOUT ANY WARRANTY; without even the implied warranty of              #
>>>> -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               #
>>>> -# GNU General Public License for more details.                                #
>>>> -#                                                                             #
>>>> -# You should have received a copy of the GNU General Public License           #
>>>> -# along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
>>>> -#                                                                             #
>>>> -###############################################################################
>>>> -
>>>> -###############################################################################
>>>> -# Definitions
>>>> -###############################################################################
>>>> -
>>>> -include Config
>>>> -
>>>> -VER        = 0.12
>>>> -
>>>> -THISAPP    = docutils-$(VER)
>>>> -DL_FILE    = $(THISAPP).tar.gz
>>>> -DL_FROM    = $(URL_IPFIRE)
>>>> -DIR_APP    = $(DIR_SRC)/$(THISAPP)
>>>> -TARGET     = $(DIR_INFO)/$(THISAPP)
>>>> -
>>>> -###############################################################################
>>>> -# Top-level Rules
>>>> -###############################################################################
>>>> -
>>>> -objects = $(DL_FILE)
>>>> -
>>>> -$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
>>>> -
>>>> -$(DL_FILE)_MD5 = 4622263b62c5c771c03502afa3157768
>>>> -
>>>> -install : $(TARGET)
>>>> -
>>>> -check : $(patsubst %,$(DIR_CHK)/%,$(objects))
>>>> -
>>>> -download :$(patsubst %,$(DIR_DL)/%,$(objects))
>>>> -
>>>> -md5 : $(subst %,%_MD5,$(objects))
>>>> -
>>>> -###############################################################################
>>>> -# Downloading, checking, md5sum
>>>> -###############################################################################
>>>> -
>>>> -$(patsubst %,$(DIR_CHK)/%,$(objects)) :
>>>> -	@$(CHECK)
>>>> -
>>>> -$(patsubst %,$(DIR_DL)/%,$(objects)) :
>>>> -	@$(LOAD)
>>>> -
>>>> -$(subst %,%_MD5,$(objects)) :
>>>> -	@$(MD5)
>>>> -
>>>> -###############################################################################
>>>> -# Installation Details
>>>> -###############################################################################
>>>> -
>>>> -$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
>>>> -	@$(PREBUILD)
>>>> -	@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
>>>> -	cd $(DIR_APP) && python setup.py install --root=/
>>>> -	@rm -rf $(DIR_APP)
>>>> -	@$(POSTBUILD)
>>>> diff --git a/lfs/python3-docutils b/lfs/python3-docutils
>>>> index a67a21dce..5ce6310bd 100644
>>>> --- a/lfs/python3-docutils
>>>> +++ b/lfs/python3-docutils
>>>> @@ -1,7 +1,7 @@
>>>>   ###############################################################################
>>>>   #                                                                             #
>>>>   # IPFire.org - A linux based firewall                                         #
>>>> -# Copyright (C) 2007-2020  IPFire Team  <info@ipfire.org>                     #
>>>> +# Copyright (C) 2007-2018  IPFire Team  <info@ipfire.org>                     #
>>>>   #                                                                             #
>>>>   # This program is free software: you can redistribute it and/or modify        #
>>>>   # it under the terms of the GNU General Public License as published by        #
>>>> @@ -31,10 +31,6 @@ DL_FILE    = $(THISAPP).tar.gz
>>>>   DL_FROM    = $(URL_IPFIRE)
>>>>   DIR_APP    = $(DIR_SRC)/$(THISAPP)
>>>>   TARGET     = $(DIR_INFO)/$(THISAPP)
>>>> -PROG       = python3-docutils
>>>> -PAK_VER    = 3
>>>> -
>>>> -DEPS       =
>>>>     ###############################################################################
>>>>   # Top-level Rules
>>>> @@ -54,9 +50,6 @@ download :$(patsubst %,$(DIR_DL)/%,$(objects))
>>>>     md5 : $(subst %,%_MD5,$(objects))
>>>>   -dist:
>>>> -	@$(PAK)
>>>> -
>>>>   ###############################################################################
>>>>   # Downloading, checking, md5sum
>>>>   ###############################################################################
>>>> @@ -77,7 +70,6 @@ $(subst %,%_MD5,$(objects)) :
>>>>   $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
>>>>   	@$(PREBUILD)
>>>>   	@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
>>>> -	cd $(DIR_APP) && python3 setup.py build
>>>>   	cd $(DIR_APP) && python3 setup.py install --root=/
>>>>   	@rm -rf $(DIR_APP)
>>>>   	@$(POSTBUILD)
>>>> diff --git a/make.sh b/make.sh
>>>> index 60474a18e..2586c4e63 100755
>>>> --- a/make.sh
>>>> +++ b/make.sh
>>>> @@ -1346,7 +1346,7 @@ buildipfire() {
>>>>     lfsmake2 Net-Telnet
>>>>     lfsmake2 python-setuptools
>>>>     lfsmake2 python3-inotify
>>>> -  lfsmake2 python-docutils
>>>> +  lfsmake2 python3-docutils
>>>>     lfsmake2 python3-daemon
>>>>     lfsmake2 glib
>>>>     lfsmake2 ntp
>>>> @@ -1544,7 +1544,6 @@ buildipfire() {
>>>>     lfsmake2 python3-dateutil
>>>>     lfsmake2 python3-jmespath
>>>>     lfsmake2 python3-colorama
>>>> -  lfsmake2 python3-docutils
>>>>     lfsmake2 python3-yaml
>>>>     lfsmake2 python3-s3transfer
>>>>     lfsmake2 python3-rsa
>>>>
>
  

Patch

diff --git a/config/rootfiles/common/python-docutils b/config/rootfiles/common/python-docutils
deleted file mode 100644
index 45038dde2..000000000
--- a/config/rootfiles/common/python-docutils
+++ /dev/null
@@ -1,320 +0,0 @@ 
-#usr/bin/rst2html.py
-#usr/bin/rst2latex.py
-#usr/bin/rst2man.py
-#usr/bin/rst2odt.py
-#usr/bin/rst2odt_prepstyles.py
-#usr/bin/rst2pseudoxml.py
-#usr/bin/rst2s5.py
-#usr/bin/rst2xetex.py
-#usr/bin/rst2xml.py
-#usr/bin/rstpep2html.py
-#usr/lib/python2.7/site-packages/docutils
-#usr/lib/python2.7/site-packages/docutils-0.12-py2.7.egg-info
-#usr/lib/python2.7/site-packages/docutils/__init__.py
-#usr/lib/python2.7/site-packages/docutils/__init__.pyc
-#usr/lib/python2.7/site-packages/docutils/_compat.py
-#usr/lib/python2.7/site-packages/docutils/_compat.pyc
-#usr/lib/python2.7/site-packages/docutils/core.py
-#usr/lib/python2.7/site-packages/docutils/core.pyc
-#usr/lib/python2.7/site-packages/docutils/examples.py
-#usr/lib/python2.7/site-packages/docutils/examples.pyc
-#usr/lib/python2.7/site-packages/docutils/frontend.py
-#usr/lib/python2.7/site-packages/docutils/frontend.pyc
-#usr/lib/python2.7/site-packages/docutils/io.py
-#usr/lib/python2.7/site-packages/docutils/io.pyc
-#usr/lib/python2.7/site-packages/docutils/languages
-#usr/lib/python2.7/site-packages/docutils/languages/__init__.py
-#usr/lib/python2.7/site-packages/docutils/languages/__init__.pyc
-#usr/lib/python2.7/site-packages/docutils/languages/af.py
-#usr/lib/python2.7/site-packages/docutils/languages/af.pyc
-#usr/lib/python2.7/site-packages/docutils/languages/ca.py
-#usr/lib/python2.7/site-packages/docutils/languages/ca.pyc
-#usr/lib/python2.7/site-packages/docutils/languages/cs.py
-#usr/lib/python2.7/site-packages/docutils/languages/cs.pyc
-#usr/lib/python2.7/site-packages/docutils/languages/da.py
-#usr/lib/python2.7/site-packages/docutils/languages/da.pyc
-#usr/lib/python2.7/site-packages/docutils/languages/de.py
-#usr/lib/python2.7/site-packages/docutils/languages/de.pyc
-#usr/lib/python2.7/site-packages/docutils/languages/en.py
-#usr/lib/python2.7/site-packages/docutils/languages/en.pyc
-#usr/lib/python2.7/site-packages/docutils/languages/eo.py
-#usr/lib/python2.7/site-packages/docutils/languages/eo.pyc
-#usr/lib/python2.7/site-packages/docutils/languages/es.py
-#usr/lib/python2.7/site-packages/docutils/languages/es.pyc
-#usr/lib/python2.7/site-packages/docutils/languages/fi.py
-#usr/lib/python2.7/site-packages/docutils/languages/fi.pyc
-#usr/lib/python2.7/site-packages/docutils/languages/fr.py
-#usr/lib/python2.7/site-packages/docutils/languages/fr.pyc
-#usr/lib/python2.7/site-packages/docutils/languages/gl.py
-#usr/lib/python2.7/site-packages/docutils/languages/gl.pyc
-#usr/lib/python2.7/site-packages/docutils/languages/he.py
-#usr/lib/python2.7/site-packages/docutils/languages/he.pyc
-#usr/lib/python2.7/site-packages/docutils/languages/it.py
-#usr/lib/python2.7/site-packages/docutils/languages/it.pyc
-#usr/lib/python2.7/site-packages/docutils/languages/ja.py
-#usr/lib/python2.7/site-packages/docutils/languages/ja.pyc
-#usr/lib/python2.7/site-packages/docutils/languages/lt.py
-#usr/lib/python2.7/site-packages/docutils/languages/lt.pyc
-#usr/lib/python2.7/site-packages/docutils/languages/nl.py
-#usr/lib/python2.7/site-packages/docutils/languages/nl.pyc
-#usr/lib/python2.7/site-packages/docutils/languages/pl.py
-#usr/lib/python2.7/site-packages/docutils/languages/pl.pyc
-#usr/lib/python2.7/site-packages/docutils/languages/pt_br.py
-#usr/lib/python2.7/site-packages/docutils/languages/pt_br.pyc
-#usr/lib/python2.7/site-packages/docutils/languages/ru.py
-#usr/lib/python2.7/site-packages/docutils/languages/ru.pyc
-#usr/lib/python2.7/site-packages/docutils/languages/sk.py
-#usr/lib/python2.7/site-packages/docutils/languages/sk.pyc
-#usr/lib/python2.7/site-packages/docutils/languages/sv.py
-#usr/lib/python2.7/site-packages/docutils/languages/sv.pyc
-#usr/lib/python2.7/site-packages/docutils/languages/zh_cn.py
-#usr/lib/python2.7/site-packages/docutils/languages/zh_cn.pyc
-#usr/lib/python2.7/site-packages/docutils/languages/zh_tw.py
-#usr/lib/python2.7/site-packages/docutils/languages/zh_tw.pyc
-#usr/lib/python2.7/site-packages/docutils/nodes.py
-#usr/lib/python2.7/site-packages/docutils/nodes.pyc
-#usr/lib/python2.7/site-packages/docutils/parsers
-#usr/lib/python2.7/site-packages/docutils/parsers/__init__.py
-#usr/lib/python2.7/site-packages/docutils/parsers/__init__.pyc
-#usr/lib/python2.7/site-packages/docutils/parsers/null.py
-#usr/lib/python2.7/site-packages/docutils/parsers/null.pyc
-#usr/lib/python2.7/site-packages/docutils/parsers/rst
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/__init__.py
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/__init__.pyc
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/__init__.py
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/__init__.pyc
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/admonitions.py
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/admonitions.pyc
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/body.py
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/body.pyc
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/html.py
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/html.pyc
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/images.py
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/images.pyc
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/misc.py
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/misc.pyc
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/parts.py
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/parts.pyc
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/references.py
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/references.pyc
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/tables.py
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/directives/tables.pyc
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/include
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/README.txt
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isoamsa.txt
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isoamsb.txt
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isoamsc.txt
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isoamsn.txt
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isoamso.txt
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isoamsr.txt
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isobox.txt
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isocyr1.txt
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isocyr2.txt
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isodia.txt
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isogrk1.txt
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isogrk2.txt
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isogrk3.txt
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isogrk4-wide.txt
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isogrk4.txt
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isolat1.txt
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isolat2.txt
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isomfrk-wide.txt
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isomfrk.txt
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isomopf-wide.txt
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isomopf.txt
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isomscr-wide.txt
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isomscr.txt
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isonum.txt
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isopub.txt
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/isotech.txt
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/mmlalias.txt
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/mmlextra-wide.txt
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/mmlextra.txt
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/s5defs.txt
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/xhtml1-lat1.txt
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/xhtml1-special.txt
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/include/xhtml1-symbol.txt
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/__init__.py
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/__init__.pyc
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/af.py
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/af.pyc
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/ca.py
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/ca.pyc
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/cs.py
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/cs.pyc
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/da.py
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/da.pyc
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/de.py
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/de.pyc
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/en.py
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/en.pyc
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/eo.py
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/eo.pyc
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/es.py
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/es.pyc
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/fi.py
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/fi.pyc
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/fr.py
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/fr.pyc
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/gl.py
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/gl.pyc
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/he.py
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/he.pyc
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/it.py
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/it.pyc
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/ja.py
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/ja.pyc
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/lt.py
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/lt.pyc
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/nl.py
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/nl.pyc
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/pl.py
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/pl.pyc
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/pt_br.py
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/pt_br.pyc
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/ru.py
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/ru.pyc
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/sk.py
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/sk.pyc
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/sv.py
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/sv.pyc
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/zh_cn.py
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/zh_cn.pyc
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/zh_tw.py
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/languages/zh_tw.pyc
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/roles.py
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/roles.pyc
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/states.py
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/states.pyc
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/tableparser.py
-#usr/lib/python2.7/site-packages/docutils/parsers/rst/tableparser.pyc
-#usr/lib/python2.7/site-packages/docutils/readers
-#usr/lib/python2.7/site-packages/docutils/readers/__init__.py
-#usr/lib/python2.7/site-packages/docutils/readers/__init__.pyc
-#usr/lib/python2.7/site-packages/docutils/readers/doctree.py
-#usr/lib/python2.7/site-packages/docutils/readers/doctree.pyc
-#usr/lib/python2.7/site-packages/docutils/readers/pep.py
-#usr/lib/python2.7/site-packages/docutils/readers/pep.pyc
-#usr/lib/python2.7/site-packages/docutils/readers/standalone.py
-#usr/lib/python2.7/site-packages/docutils/readers/standalone.pyc
-#usr/lib/python2.7/site-packages/docutils/statemachine.py
-#usr/lib/python2.7/site-packages/docutils/statemachine.pyc
-#usr/lib/python2.7/site-packages/docutils/transforms
-#usr/lib/python2.7/site-packages/docutils/transforms/__init__.py
-#usr/lib/python2.7/site-packages/docutils/transforms/__init__.pyc
-#usr/lib/python2.7/site-packages/docutils/transforms/components.py
-#usr/lib/python2.7/site-packages/docutils/transforms/components.pyc
-#usr/lib/python2.7/site-packages/docutils/transforms/frontmatter.py
-#usr/lib/python2.7/site-packages/docutils/transforms/frontmatter.pyc
-#usr/lib/python2.7/site-packages/docutils/transforms/misc.py
-#usr/lib/python2.7/site-packages/docutils/transforms/misc.pyc
-#usr/lib/python2.7/site-packages/docutils/transforms/parts.py
-#usr/lib/python2.7/site-packages/docutils/transforms/parts.pyc
-#usr/lib/python2.7/site-packages/docutils/transforms/peps.py
-#usr/lib/python2.7/site-packages/docutils/transforms/peps.pyc
-#usr/lib/python2.7/site-packages/docutils/transforms/references.py
-#usr/lib/python2.7/site-packages/docutils/transforms/references.pyc
-#usr/lib/python2.7/site-packages/docutils/transforms/universal.py
-#usr/lib/python2.7/site-packages/docutils/transforms/universal.pyc
-#usr/lib/python2.7/site-packages/docutils/transforms/writer_aux.py
-#usr/lib/python2.7/site-packages/docutils/transforms/writer_aux.pyc
-#usr/lib/python2.7/site-packages/docutils/utils
-#usr/lib/python2.7/site-packages/docutils/utils/__init__.py
-#usr/lib/python2.7/site-packages/docutils/utils/__init__.pyc
-#usr/lib/python2.7/site-packages/docutils/utils/code_analyzer.py
-#usr/lib/python2.7/site-packages/docutils/utils/code_analyzer.pyc
-#usr/lib/python2.7/site-packages/docutils/utils/error_reporting.py
-#usr/lib/python2.7/site-packages/docutils/utils/error_reporting.pyc
-#usr/lib/python2.7/site-packages/docutils/utils/math
-#usr/lib/python2.7/site-packages/docutils/utils/math/__init__.py
-#usr/lib/python2.7/site-packages/docutils/utils/math/__init__.pyc
-#usr/lib/python2.7/site-packages/docutils/utils/math/latex2mathml.py
-#usr/lib/python2.7/site-packages/docutils/utils/math/latex2mathml.pyc
-#usr/lib/python2.7/site-packages/docutils/utils/math/math2html.py
-#usr/lib/python2.7/site-packages/docutils/utils/math/math2html.pyc
-#usr/lib/python2.7/site-packages/docutils/utils/math/tex2unichar.py
-#usr/lib/python2.7/site-packages/docutils/utils/math/tex2unichar.pyc
-#usr/lib/python2.7/site-packages/docutils/utils/math/unichar2tex.py
-#usr/lib/python2.7/site-packages/docutils/utils/math/unichar2tex.pyc
-#usr/lib/python2.7/site-packages/docutils/utils/punctuation_chars.py
-#usr/lib/python2.7/site-packages/docutils/utils/punctuation_chars.pyc
-#usr/lib/python2.7/site-packages/docutils/utils/roman.py
-#usr/lib/python2.7/site-packages/docutils/utils/roman.pyc
-#usr/lib/python2.7/site-packages/docutils/utils/smartquotes.py
-#usr/lib/python2.7/site-packages/docutils/utils/smartquotes.pyc
-#usr/lib/python2.7/site-packages/docutils/utils/urischemes.py
-#usr/lib/python2.7/site-packages/docutils/utils/urischemes.pyc
-#usr/lib/python2.7/site-packages/docutils/writers
-#usr/lib/python2.7/site-packages/docutils/writers/__init__.py
-#usr/lib/python2.7/site-packages/docutils/writers/__init__.pyc
-#usr/lib/python2.7/site-packages/docutils/writers/docutils_xml.py
-#usr/lib/python2.7/site-packages/docutils/writers/docutils_xml.pyc
-#usr/lib/python2.7/site-packages/docutils/writers/html4css1
-#usr/lib/python2.7/site-packages/docutils/writers/html4css1/__init__.py
-#usr/lib/python2.7/site-packages/docutils/writers/html4css1/__init__.pyc
-#usr/lib/python2.7/site-packages/docutils/writers/html4css1/html4css1.css
-#usr/lib/python2.7/site-packages/docutils/writers/html4css1/math.css
-#usr/lib/python2.7/site-packages/docutils/writers/html4css1/template.txt
-#usr/lib/python2.7/site-packages/docutils/writers/latex2e
-#usr/lib/python2.7/site-packages/docutils/writers/latex2e/__init__.py
-#usr/lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyc
-#usr/lib/python2.7/site-packages/docutils/writers/latex2e/default.tex
-#usr/lib/python2.7/site-packages/docutils/writers/latex2e/titlepage.tex
-#usr/lib/python2.7/site-packages/docutils/writers/latex2e/xelatex.tex
-#usr/lib/python2.7/site-packages/docutils/writers/manpage.py
-#usr/lib/python2.7/site-packages/docutils/writers/manpage.pyc
-#usr/lib/python2.7/site-packages/docutils/writers/null.py
-#usr/lib/python2.7/site-packages/docutils/writers/null.pyc
-#usr/lib/python2.7/site-packages/docutils/writers/odf_odt
-#usr/lib/python2.7/site-packages/docutils/writers/odf_odt/__init__.py
-#usr/lib/python2.7/site-packages/docutils/writers/odf_odt/__init__.pyc
-#usr/lib/python2.7/site-packages/docutils/writers/odf_odt/pygmentsformatter.py
-#usr/lib/python2.7/site-packages/docutils/writers/odf_odt/pygmentsformatter.pyc
-#usr/lib/python2.7/site-packages/docutils/writers/odf_odt/styles.odt
-#usr/lib/python2.7/site-packages/docutils/writers/pep_html
-#usr/lib/python2.7/site-packages/docutils/writers/pep_html/__init__.py
-#usr/lib/python2.7/site-packages/docutils/writers/pep_html/__init__.pyc
-#usr/lib/python2.7/site-packages/docutils/writers/pep_html/pep.css
-#usr/lib/python2.7/site-packages/docutils/writers/pep_html/template.txt
-#usr/lib/python2.7/site-packages/docutils/writers/pseudoxml.py
-#usr/lib/python2.7/site-packages/docutils/writers/pseudoxml.pyc
-#usr/lib/python2.7/site-packages/docutils/writers/s5_html
-#usr/lib/python2.7/site-packages/docutils/writers/s5_html/__init__.py
-#usr/lib/python2.7/site-packages/docutils/writers/s5_html/__init__.pyc
-#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes
-#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/README.txt
-#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/big-black
-#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/big-black/__base__
-#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/big-black/framing.css
-#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/big-black/pretty.css
-#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/big-white
-#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/big-white/framing.css
-#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/big-white/pretty.css
-#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/default
-#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/default/blank.gif
-#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/default/framing.css
-#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/default/iepngfix.htc
-#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/default/opera.css
-#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/default/outline.css
-#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/default/pretty.css
-#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/default/print.css
-#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/default/s5-core.css
-#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/default/slides.css
-#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/default/slides.js
-#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/medium-black
-#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/medium-black/__base__
-#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/medium-black/pretty.css
-#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/medium-white
-#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/medium-white/framing.css
-#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/medium-white/pretty.css
-#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/small-black
-#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/small-black/__base__
-#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/small-black/pretty.css
-#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/small-white
-#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/small-white/framing.css
-#usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/small-white/pretty.css
-#usr/lib/python2.7/site-packages/docutils/writers/xetex
-#usr/lib/python2.7/site-packages/docutils/writers/xetex/__init__.py
-#usr/lib/python2.7/site-packages/docutils/writers/xetex/__init__.pyc
diff --git a/config/rootfiles/packages/python3-docutils b/config/rootfiles/common/python3-docutils
similarity index 98%
rename from config/rootfiles/packages/python3-docutils
rename to config/rootfiles/common/python3-docutils
index 3429e97d6..fa0c6f3a7 100644
--- a/config/rootfiles/packages/python3-docutils
+++ b/config/rootfiles/common/python3-docutils
@@ -1,5 +1,15 @@ 
+usr/bin/rst2html.py
 usr/bin/rst2html4.py
 usr/bin/rst2html5.py
+usr/bin/rst2latex.py
+usr/bin/rst2man.py
+usr/bin/rst2odt.py
+usr/bin/rst2odt_prepstyles.py
+usr/bin/rst2pseudoxml.py
+usr/bin/rst2s5.py
+usr/bin/rst2xetex.py
+usr/bin/rst2xml.py
+usr/bin/rstpep2html.py
 #usr/lib/python3.8/site-packages/docutils
 #usr/lib/python3.8/site-packages/docutils-0.16-py3.8.egg-info
 #usr/lib/python3.8/site-packages/docutils-0.16-py3.8.egg-info/PKG-INFO
diff --git a/lfs/python-docutils b/lfs/python-docutils
deleted file mode 100644
index d4d8356d9..000000000
--- a/lfs/python-docutils
+++ /dev/null
@@ -1,75 +0,0 @@ 
-###############################################################################
-#                                                                             #
-# IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007-2018  IPFire Team  <info@ipfire.org>                     #
-#                                                                             #
-# This program is free software: you can redistribute it and/or modify        #
-# it under the terms of the GNU General Public License as published by        #
-# the Free Software Foundation, either version 3 of the License, or           #
-# (at your option) any later version.                                         #
-#                                                                             #
-# This program is distributed in the hope that it will be useful,             #
-# but WITHOUT ANY WARRANTY; without even the implied warranty of              #
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               #
-# GNU General Public License for more details.                                #
-#                                                                             #
-# You should have received a copy of the GNU General Public License           #
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
-#                                                                             #
-###############################################################################
-
-###############################################################################
-# Definitions
-###############################################################################
-
-include Config
-
-VER        = 0.12
-
-THISAPP    = docutils-$(VER)
-DL_FILE    = $(THISAPP).tar.gz
-DL_FROM    = $(URL_IPFIRE)
-DIR_APP    = $(DIR_SRC)/$(THISAPP)
-TARGET     = $(DIR_INFO)/$(THISAPP)
-
-###############################################################################
-# Top-level Rules
-###############################################################################
-
-objects = $(DL_FILE)
-
-$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-
-$(DL_FILE)_MD5 = 4622263b62c5c771c03502afa3157768
-
-install : $(TARGET)
-
-check : $(patsubst %,$(DIR_CHK)/%,$(objects))
-
-download :$(patsubst %,$(DIR_DL)/%,$(objects))
-
-md5 : $(subst %,%_MD5,$(objects))
-
-###############################################################################
-# Downloading, checking, md5sum
-###############################################################################
-
-$(patsubst %,$(DIR_CHK)/%,$(objects)) :
-	@$(CHECK)
-
-$(patsubst %,$(DIR_DL)/%,$(objects)) :
-	@$(LOAD)
-
-$(subst %,%_MD5,$(objects)) :
-	@$(MD5)
-
-###############################################################################
-# Installation Details
-###############################################################################
-
-$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
-	@$(PREBUILD)
-	@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
-	cd $(DIR_APP) && python setup.py install --root=/
-	@rm -rf $(DIR_APP)
-	@$(POSTBUILD)
diff --git a/lfs/python3-docutils b/lfs/python3-docutils
index a67a21dce..5ce6310bd 100644
--- a/lfs/python3-docutils
+++ b/lfs/python3-docutils
@@ -1,7 +1,7 @@ 
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007-2020  IPFire Team  <info@ipfire.org>                     #
+# Copyright (C) 2007-2018  IPFire Team  <info@ipfire.org>                     #
 #                                                                             #
 # This program is free software: you can redistribute it and/or modify        #
 # it under the terms of the GNU General Public License as published by        #
@@ -31,10 +31,6 @@  DL_FILE    = $(THISAPP).tar.gz
 DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
-PROG       = python3-docutils
-PAK_VER    = 3
-
-DEPS       =
 
 ###############################################################################
 # Top-level Rules
@@ -54,9 +50,6 @@  download :$(patsubst %,$(DIR_DL)/%,$(objects))
 
 md5 : $(subst %,%_MD5,$(objects))
 
-dist: 
-	@$(PAK)
-
 ###############################################################################
 # Downloading, checking, md5sum
 ###############################################################################
@@ -77,7 +70,6 @@  $(subst %,%_MD5,$(objects)) :
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
 	@$(PREBUILD)
 	@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
-	cd $(DIR_APP) && python3 setup.py build
 	cd $(DIR_APP) && python3 setup.py install --root=/
 	@rm -rf $(DIR_APP)
 	@$(POSTBUILD)
diff --git a/make.sh b/make.sh
index 60474a18e..2586c4e63 100755
--- a/make.sh
+++ b/make.sh
@@ -1346,7 +1346,7 @@  buildipfire() {
   lfsmake2 Net-Telnet
   lfsmake2 python-setuptools
   lfsmake2 python3-inotify
-  lfsmake2 python-docutils
+  lfsmake2 python3-docutils
   lfsmake2 python3-daemon
   lfsmake2 glib
   lfsmake2 ntp
@@ -1544,7 +1544,6 @@  buildipfire() {
   lfsmake2 python3-dateutil
   lfsmake2 python3-jmespath
   lfsmake2 python3-colorama
-  lfsmake2 python3-docutils
   lfsmake2 python3-yaml
   lfsmake2 python3-s3transfer
   lfsmake2 python3-rsa