Bug#1121033: sphinx-book-theme: generates broken package if tests are skipped

Chris Lamb lamby at debian.org
Wed Nov 19 21:09:13 GMT 2025


Source: sphinx-book-theme
Version: 1.1.4-3
Severity: important
User: reproducible-builds at lists.alioth.debian.org
Usertags: nocheck
X-Debbugs-Cc: reproducible-bugs at lists.alioth.debian.org

Hi,

Whilst working on the Reproducible Builds effort [0], we noticed that
sphinx-book-theme could not be built reproducibly. Specifically, it
was building a different package depending on whether the tests were
run or not.

Looking into this more, however, it looks like if nocheck is specified,
then a number of required-looking files are missing from the binary package.

Usually packages being unreproducible in this manner is the result of the
testsuite not cleaning up after itself. But in this case it looks like
these files might be needed. Evidence for this is provided by an
experiment I ran where I added

   PYBUILD_AFTER_TEST = rm -rf {build_dir}/sphinx_book_theme

... and the package FTBFS (uninvestigated), although this could have
other reasons.

Perhaps these files are not needed: they are, after all, mostly .scss
files that require compilation to be useful. But the index.js file
doesn't fall into that category. Either way, definitely worth looking
into as it suggests a packaging bug. Oh, especially because changing:

   export PYBUILD_BEFORE_TEST=cp -r src/sphinx_book_theme {build_dir}

to 

  export PYBUILD_AFTER_BUILD=cp -r src/sphinx_book_theme {build_dir}

also causes a FTBFS (also uninvestigated).

§

The files in question are:

    /usr/lib/python3/dist-packages/sphinx_book_theme/assets/scripts/index.js
    /usr/lib/python3/dist-packages/sphinx_book_theme/assets/styles/abstracts/_mixins.scss
    /usr/lib/python3/dist-packages/sphinx_book_theme/assets/styles/abstracts/_variables.scss
    /usr/lib/python3/dist-packages/sphinx_book_theme/assets/styles/base/_base.scss
    /usr/lib/python3/dist-packages/sphinx_book_theme/assets/styles/base/_print.scss
    /usr/lib/python3/dist-packages/sphinx_book_theme/assets/styles/base/_typography.scss
    /usr/lib/python3/dist-packages/sphinx_book_theme/assets/styles/components/_back-to-top.scss
    /usr/lib/python3/dist-packages/sphinx_book_theme/assets/styles/components/_icon-links.scss
    /usr/lib/python3/dist-packages/sphinx_book_theme/assets/styles/components/_logo.scss
    /usr/lib/python3/dist-packages/sphinx_book_theme/assets/styles/components/_search.scss
    /usr/lib/python3/dist-packages/sphinx_book_theme/assets/styles/content/_code.scss
    /usr/lib/python3/dist-packages/sphinx_book_theme/assets/styles/content/_images.scss
    /usr/lib/python3/dist-packages/sphinx_book_theme/assets/styles/content/_margin.scss
    /usr/lib/python3/dist-packages/sphinx_book_theme/assets/styles/content/_notebooks.scss
    /usr/lib/python3/dist-packages/sphinx_book_theme/assets/styles/content/_quotes.scss
    /usr/lib/python3/dist-packages/sphinx_book_theme/assets/styles/css/index.css
    /usr/lib/python3/dist-packages/sphinx_book_theme/assets/styles/extensions/_comments.scss
    /usr/lib/python3/dist-packages/sphinx_book_theme/assets/styles/extensions/_thebe.scss
    /usr/lib/python3/dist-packages/sphinx_book_theme/assets/styles/index.scss
    /usr/lib/python3/dist-packages/sphinx_book_theme/assets/styles/sections/_announcement.scss
    /usr/lib/python3/dist-packages/sphinx_book_theme/assets/styles/sections/_article-container.scss
    /usr/lib/python3/dist-packages/sphinx_book_theme/assets/styles/sections/_article.scss
    /usr/lib/python3/dist-packages/sphinx_book_theme/assets/styles/sections/_footer-article.scss
    /usr/lib/python3/dist-packages/sphinx_book_theme/assets/styles/sections/_footer-content.scss
    /usr/lib/python3/dist-packages/sphinx_book_theme/assets/styles/sections/_header-article.scss
    /usr/lib/python3/dist-packages/sphinx_book_theme/assets/styles/sections/_header-primary.scss
    /usr/lib/python3/dist-packages/sphinx_book_theme/assets/styles/sections/_sidebar-primary.scss
    /usr/lib/python3/dist-packages/sphinx_book_theme/assets/styles/sections/_sidebar-secondary.scss
    /usr/lib/python3/dist-packages/sphinx_book_theme/assets/translations/README.md
    /usr/lib/python3/dist-packages/sphinx_book_theme/assets/translations/jsons/By the.json
    /usr/lib/python3/dist-packages/sphinx_book_theme/assets/translations/jsons/By.json
    /usr/lib/python3/dist-packages/sphinx_book_theme/assets/translations/jsons/Contents.json
    /usr/lib/python3/dist-packages/sphinx_book_theme/assets/translations/jsons/Copyright.json
    /usr/lib/python3/dist-packages/sphinx_book_theme/assets/translations/jsons/Download notebook file.json
    /usr/lib/python3/dist-packages/sphinx_book_theme/assets/translations/jsons/Download source file.json
    /usr/lib/python3/dist-packages/sphinx_book_theme/assets/translations/jsons/Download this page.json
    /usr/lib/python3/dist-packages/sphinx_book_theme/assets/translations/jsons/Edit this page.json
    /usr/lib/python3/dist-packages/sphinx_book_theme/assets/translations/jsons/Fullscreen mode.json
    /usr/lib/python3/dist-packages/sphinx_book_theme/assets/translations/jsons/Last updated on.json
    /usr/lib/python3/dist-packages/sphinx_book_theme/assets/translations/jsons/Launch.json
    /usr/lib/python3/dist-packages/sphinx_book_theme/assets/translations/jsons/Open an issue.json
    /usr/lib/python3/dist-packages/sphinx_book_theme/assets/translations/jsons/Print to PDF.json
    /usr/lib/python3/dist-packages/sphinx_book_theme/assets/translations/jsons/Source repository.json
    /usr/lib/python3/dist-packages/sphinx_book_theme/assets/translations/jsons/Sphinx Book Theme.json
    /usr/lib/python3/dist-packages/sphinx_book_theme/assets/translations/jsons/Theme by the.json
    /usr/lib/python3/dist-packages/sphinx_book_theme/assets/translations/jsons/Toggle navigation.json
    /usr/lib/python3/dist-packages/sphinx_book_theme/assets/translations/jsons/next page.json
    /usr/lib/python3/dist-packages/sphinx_book_theme/assets/translations/jsons/open issue.json
    /usr/lib/python3/dist-packages/sphinx_book_theme/assets/translations/jsons/previous page.json
    /usr/lib/python3/dist-packages/sphinx_book_theme/assets/translations/jsons/repository.json
    /usr/lib/python3/dist-packages/sphinx_book_theme/assets/translations/jsons/suggest edit.json


 [0] https://reproducible-builds.org/


Regards,

-- 
      ,''`.
     : :'  :     Chris Lamb
     `. `'`      lamby at debian.org / chris-lamb.co.uk
       `-


More information about the Reproducible-bugs mailing list