This is to let you know that I intend to orphan dblatex.
Background: dblatex depends on python 2
(
https://bugzilla.redhat.com/show_bug.cgi?id=1737967) which will be retired in Fedora 32
(
https://fedoraproject.org/wiki/Changes/RetirePython2).
Some packages depend on dblatex directly, some indirectly via asciidoc which uses dblatex
to transform docbook via LaTeX to pdf. (Yes, one can imagine more direct ways of going
from asciidoc or docbook to pdf.)
In fact, upstream has been dead for quite a long time; its dependencies and the way it is
used (build documentation from shipped sources) justified keeping it for so long.
I have managed to port another package to python 3 and tried with dblatex but failed.
dblatex constructs various decoders and encoders for TeX to preserve (i.e. not quote) TeX
control characters. They read/write "text" (python 2 native strings) and
reencode as soon as they decided on a proper coding. This means that in many places in the
code there is no clear separation between "encoded", "decoded",
"raw", that is to say: between strings and bytes. Even style-wise, you see many
constructs like "line = object.someMethod(line)" where someMethod may or may not
transform line from encoded to decoded or the other way round. This kept at least me from
recognizing a clear byte/string separation.
Therefore, porting to python 3 is much more than simply marking some string literals as
bytes (b"abc") or some reads and writes as "b". I believe the
underlying parser classes need to be rewritten and its users adapted.
dblatex has to more maintainers: @alexlan and @jchaloup