Bug#1042643: libtext-markup-perl: FTBFS with Sphinx 7.1, docutils 0.20: dh_auto_test: error: /usr/bin/perl Build test --verbose 1 returned exit code 1
Lucas Nussbaum
lucas at debian.org
Sun Jul 30 19:32:22 BST 2023
Source: libtext-markup-perl
Version: 0.24-1
Severity: important
Tags: ftbfs
User: python-modules-team at lists.alioth.debian.org
Usertags: sphinx7.1
Hi,
libtext-markup-perl fails to build with Sphinx 7.1 and docutils 0.20, both of which
are currently available in experimental.
Relevant part (hopefully):
> debian/rules build
> dh build
> dh_update_autotools_config
> dh_autoreconf
> dh_auto_configure
> /usr/bin/perl Build.PL --installdirs vendor --config "optimize=-g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2" --config "ld=x86_64-linux-gnu-gcc -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro"
> Checking prerequisites...
> recommends:
> * Test::Pod is not installed
> * Test::Pod::Coverage is not installed
>
> ERRORS/WARNINGS FOUND IN PREREQUISITES. You may wish to install the versions
> of the modules indicated above before proceeding with this installation
>
> Run 'Build installdeps' to install missing prerequisites.
>
> Created MYMETA.yml and MYMETA.json
> Creating new 'Build' script for 'Text-Markup' version '0.24'
> dh_auto_build
> /usr/bin/perl Build
> Building Text-Markup
> dh_auto_test
> /usr/bin/perl Build test --verbose 1
> t/base.t .....
> 1..38
> ok 1 - use Text::Markup;
> ok 2 - Text::Markup->can(...)
> ok 3 - Should have core formats
> ok 4 - Get format matchers
> ok 5 - Should have core format matchers
> ok 6 - '(?^:p(?:od|m|l))' isa 'Regexp'
> ok 7 - '(?^:textile)' isa 'Regexp'
> ok 8 - '(?^:x?html?)' isa 'Regexp'
> ok 9 - '(?^:(?:m(?:edia)?)?wiki)' isa 'Regexp'
> ok 10 - '(?^:m(?:d(?:own)?|kdn?|arkdown))' isa 'Regexp'
> ok 11 - '(?^:tra?c)' isa 'Regexp'
> ok 12 - '(?^:re?st)' isa 'Regexp'
> ok 13 - '(?^:a(?:sc(?:iidoc)?|doc)?)' isa 'Regexp'
> ok 14 - '(?^:bb(?:code)?)' isa 'Regexp'
> ok 15 - '(?^:mm(?:d(?:own)?|kdn?|arkdown))' isa 'Regexp'
> ok 16 - '(?^:creole)' isa 'Regexp'
> ok 17 - Should be now have the "cool" parser
> ok 18 - An object of class 'Text::Markup' isa 'Text::Markup'
> ok 19 - Should have no default format
> ok 20 - An object of class 'Text::Markup' isa 'Text::Markup'
> ok 21 - Should have default format
> ok 22 - Should be able to find specific parser
> ok 23 - Should be able to find default format parser
> ok 24 - Should be find the specified default parser
> ok 25 - Should be able to guess the parser file the file name
> ok 26 - Should guess "cool" format file "foo.cool"
> ok 27 - Should not guess "cool" format file "foocool"
> ok 28 - Should not guess "cool" format file "foo.cool.txt"
> ok 29 - Should be now have the "cool" and "funky" parsers
> ok 30 - Should still guess "cool" format file "foo.cool"
> ok 31 - Should guess "funky" format file "foo.funky"
> ok 32 - Should guess "funky" format file "foo.funky.txt"
> ok 33 - Test the "cool" parser
> ok 34 - Test the "funky" parser
> ok 35 - Test the "cool" parser with options
> ok 36 - Test pod option to suppress HTML header
> ok 37 - Test pod options to suppress HTML header and footer
> ok 38 - Test the "none" parser
> ok
>
> # Failed test 'Parse rest file'
> # at t/formats.t line 52.
> # got: '<?xml version="1.0" encoding="utf-8"?>
> # <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
> # <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
> # <head>
> # <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
> # <title>I am a reST document</title>
> #
> # </head>
> # <body>
> # <div class="document" id="i-am-a-rest-document">
> # <h1 class="title">I am a reST document</h1>
> # <h2 class="subtitle" id="and-i-am-its-subtitle">And I am its subtitle</h2>
> #
> # <p><a class="reference external" href="http://docutils.sourceforge.net/">Rest</a> allows <em>inline</em> <strong>style</strong> and other stuff,
> # but I guess this <tt class="docutils literal">code</tt> is enough.</p>
> # <div class="directive-unknown">
> # <strong>unknown: </strong><em>arg1 </em><em>arg2 </em><pre class="literal-block">
> # We also support unknown directive, so that no content is lost if reST
> # specialization is parsed.
> # </pre>
> #
> # </div>
> # <p>Of course we may also find <span class="role-unknown">new roles</span>.</p>
> # <div class="directive-module">
> # <strong>module: </strong><em>mymodule </em><p>This is a module that doesn't <em>exist</em></p>
> # <div class="directive-function">
> # <strong>function: </strong><em>foo() </em><p>In Sphinx documentation you could find this stuff.</p>
> #
> # </div>
> #
> # </div>
> # <pre class="code python literal-block">
> # print "I have no title"
> # </pre>
> # </div>
> # </body>
> # </html>
> # '
> # expected: '<?xml version="1.0" encoding="utf-8" ?>
> # <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
> # <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
> # <head>
> # <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
> # <title>I am a reST document</title>
> #
> # </head>
> # <body>
> # <div class="document" id="i-am-a-rest-document">
> # <h1 class="title">I am a reST document</h1>
> # <h2 class="subtitle" id="and-i-am-its-subtitle">And I am its subtitle</h2>
> #
> # <p><a class="reference external" href="http://docutils.sourceforge.net/">Rest</a> allows <em>inline</em> <strong>style</strong> and other stuff,
> # but I guess this <tt class="docutils literal">code</tt> is enough.</p>
> # <div class="directive-unknown">
> # <strong>unknown: </strong><em>arg1 </em><em>arg2 </em><pre class="literal-block">
> # We also support unknown directive, so that no content is lost if reST
> # specialization is parsed.
> # </pre>
> #
> # </div>
> # <p>Of course we may also find <span class="role-unknown">new roles</span>.</p>
> # <div class="directive-module">
> # <strong>module: </strong><em>mymodule </em><p>This is a module that doesn't <em>exist</em></p>
> # <div class="directive-function">
> # <strong>function: </strong><em>foo() </em><p>In Sphinx documentation you could find this stuff.</p>
> #
> # </div>
> #
> # </div>
> # <pre class="code python literal-block">
> # print "I have no title"
> # </pre>
> # </div>
> # </body>
> # </html>
> # '
> # Looks like you failed 1 test of 7.
>
> # Failed test 'Testing rest format'
> # at t/formats.t line 63.
> # Looks like you failed 1 test of 12.
> t/formats.t ..
> ok 1 - use Text::Markup;
> # Subtest: Testing markdown format
> 1..10
> ok 1 - use Text::Markup::Markdown;
> ok 2 - markdown should be loaded
> ok 3 - An object of class 'Text::Markup' isa 'Text::Markup'
> ok 4 - Should guess that .md extension is markdown
> ok 5 - Should guess that .mkdn extension is markdown
> ok 6 - Should guess that .mkd extension is markdown
> ok 7 - Should guess that .mdown extension is markdown
> ok 8 - Should guess that .markdown extension is markdown
> ok 9 - Parse markdown file
> ok 10 - Parse empty markdown file
> ok 2 - Testing markdown format
> # Subtest: Testing html format
> 1..9
> ok 1 - use Text::Markup::HTML;
> ok 2 - html should be loaded
> ok 3 - An object of class 'Text::Markup' isa 'Text::Markup'
> ok 4 - Should guess that .html extension is html
> ok 5 - Should guess that .htm extension is html
> ok 6 - Should guess that .xhtml extension is html
> ok 7 - Should guess that .xhtm extension is html
> ok 8 - Parse html file
> ok 9 - Parse empty html file
> ok 3 - Testing html format
> # Subtest: Testing pod format
> 1..8
> ok 1 - use Text::Markup::Pod;
> ok 2 - pod should be loaded
> ok 3 - An object of class 'Text::Markup' isa 'Text::Markup'
> ok 4 - Should guess that .pod extension is pod
> ok 5 - Should guess that .pm extension is pod
> ok 6 - Should guess that .pl extension is pod
> ok 7 - Parse pod file
> ok 8 - Parse empty pod file
> ok 4 - Testing pod format
> # Subtest: Testing trac format
> 1..7
> ok 1 - use Text::Markup::Trac;
> ok 2 - trac should be loaded
> ok 3 - An object of class 'Text::Markup' isa 'Text::Markup'
> ok 4 - Should guess that .trac extension is trac
> ok 5 - Should guess that .trc extension is trac
> ok 6 - Parse trac file
> ok 7 - Parse empty trac file
> ok 5 - Testing trac format
> # Subtest: Testing textile format
> 1..6
> ok 1 - use Text::Markup::Textile;
> ok 2 - textile should be loaded
> ok 3 - An object of class 'Text::Markup' isa 'Text::Markup'
> ok 4 - Should guess that .textile extension is textile
> ok 5 - Parse textile file
> ok 6 - Parse empty textile file
> ok 6 - Testing textile format
> # Subtest: Testing mediawiki format
> 1..8
> ok 1 - use Text::Markup::Mediawiki;
> ok 2 - mediawiki should be loaded
> ok 3 - An object of class 'Text::Markup' isa 'Text::Markup'
> ok 4 - Should guess that .wiki extension is mediawiki
> ok 5 - Should guess that .mwiki extension is mediawiki
> ok 6 - Should guess that .mediawiki extension is mediawiki
> ok 7 - Parse mediawiki file
> ok 8 - Parse empty mediawiki file
> ok 7 - Testing mediawiki format
> # Subtest: Testing multimarkdown format
> 1..10
> ok 1 - use Text::Markup::Multimarkdown;
> ok 2 - multimarkdown should be loaded
> ok 3 - An object of class 'Text::Markup' isa 'Text::Markup'
> ok 4 - Should guess that .mmd extension is multimarkdown
> ok 5 - Should guess that .mmkdn extension is multimarkdown
> ok 6 - Should guess that .mmkd extension is multimarkdown
> ok 7 - Should guess that .mmdown extension is multimarkdown
> ok 8 - Should guess that .mmarkdown extension is multimarkdown
> ok 9 - Parse multimarkdown file
> ok 10 - Parse empty multimarkdown file
> ok 8 - Testing multimarkdown format
> # Subtest: Testing rest format
> 1..7
> ok 1 - use Text::Markup::Rest;
> ok 2 - rest should be loaded
> ok 3 - An object of class 'Text::Markup' isa 'Text::Markup'
> ok 4 - Should guess that .rest extension is rest
> ok 5 - Should guess that .rst extension is rest
> not ok 6 - Parse rest file
> ok 7 - Parse empty rest file
> not ok 9 - Testing rest format
> # Subtest: Testing asciidoc format
> 1..0 # SKIP Text::Markup::Asciidoc not loading
> ok 10 # skip Text::Markup::Asciidoc not loading
> # Subtest: Testing bbcode format
> 1..7
> ok 1 - use Text::Markup::Bbcode;
> ok 2 - bbcode should be loaded
> ok 3 - An object of class 'Text::Markup' isa 'Text::Markup'
> ok 4 - Should guess that .bbcode extension is bbcode
> ok 5 - Should guess that .bb extension is bbcode
> ok 6 - Parse bbcode file
> ok 7 - Parse empty bbcode file
> ok 11 - Testing bbcode format
> # Subtest: Testing creole format
> 1..6
> ok 1 - use Text::Markup::Creole;
> ok 2 - creole should be loaded
> ok 3 - An object of class 'Text::Markup' isa 'Text::Markup'
> ok 4 - Should guess that .creole extension is creole
> ok 5 - Parse creole file
> ok 6 - Parse empty creole file
> ok 12 - Testing creole format
> 1..12
> Dubious, test returned 1 (wstat 256, 0x100)
> Failed 1/12 subtests
> (less 1 skipped subtest: 10 okay)
>
> Test Summary Report
> -------------------
> t/formats.t (Wstat: 256 (exited 1) Tests: 12 Failed: 1)
> Failed test: 9
> Non-zero exit status: 1
> Files=2, Tests=50, 1 wallclock secs ( 0.03 usr 0.01 sys + 0.73 cusr 0.14 csys = 0.91 CPU)
> Result: FAIL
> Failed 1/2 test programs. 1/50 subtests failed.
> dh_auto_test: error: /usr/bin/perl Build test --verbose 1 returned exit code 1
The full build log is available from:
http://qa-logs.debian.net/2023/07/30/exp/libtext-markup-perl_0.24-1_unstable_sphinx-exp.log
Please see [1] for Sphinx changelog and [2] for Docutils changelog.
Also see [3] for the list of deprecated/removed APIs in Sphinx and possible
alternatives to them.
Some notable changes in Sphinx 6 and Sphinx 7:
- Sphinx no longer includes jquery.js and underscore.js by default.
Please use python3-sphinxcontrib.jquery package if you are using a custom
template and it still needs jquery.
- The setup.py build_sphinx command was removed. Please instead call
sphinx-build or "python3 -m sphinx" directly.
- For packages using the extlinks extension, the caption should contain
exactly one "%s" placeholder (if caption is not None).
In case you have questions, please Cc sphinx at packages.debian.org on reply.
[1]: https://www.sphinx-doc.org/en/master/changes.html
[2]: https://repo.or.cz/docutils.git/blob/refs/tags/docutils-0.20.1:/RELEASE-NOTES.txt
[3]: https://www.sphinx-doc.org/en/master/extdev/deprecated.html#dev-deprecated-apis
All bugs filed during this archive rebuild are listed at:
https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=sphinx7.1;users=python-modules-team@lists.alioth.debian.org
or:
https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=sphinx7.1&fusertaguser=python-modules-team@lists.alioth.debian.org&allbugs=1&cseverity=1&ctags=1&caffected=1#results
If you reassign this bug to another package, please marking it as 'affects'-ing
this package. See https://www.debian.org/Bugs/server-control#affects
More information about the pkg-perl-maintainers
mailing list