Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reduce the number of "required" extensions/dependencies #140

Closed
dviererbe opened this issue Nov 10, 2023 · 5 comments
Closed

Reduce the number of "required" extensions/dependencies #140

dviererbe opened this issue Nov 10, 2023 · 5 comments
Labels
improvement Make an existing functionality better

Comments

@dviererbe
Copy link
Contributor

This is a tracking issue for the discussion in Riga to reduce the number of "required" extensions/dependencies

Reasoning:
The Ubuntu packaging guide wants to create a .deb package out of the built html/epub/pdf files so that they can be consumed offline. Therefore every dependencies needs to be packaged.

Vendored dependencies that are included with the source are technically possible, but against the Debian Packaging philosophy/culture and therefore also problematic to get uploaded.

@ru-fu ru-fu added the improvement Make an existing functionality better label Nov 14, 2023
@dviererbe
Copy link
Contributor Author

dviererbe commented Dec 13, 2023

The goal for the 24.04 LTS Noble Numbat cycle is to have the Ubuntu Packaging Guide packaged for noble.

After that I would like to also have it in trusty, xenial, bionic, focal, jammy and Debian stable. The problem
here is that often enough the packages either do not exist or are ancient. Additionaly, it is unlikely that the SRU team will let us upgarde ancient packages. I think that I am fine with having vendorized dependencies for these packages. New packages should be no problem for the SRU team, but new packages have to be maintained by someone :/

Let's go over the required dependencies (note that I only list Ubuntu LTS series and Debian stable in the summaries):

furo

Summary

  • Available on
    • Ubuntu: noble
    • Debian: stable
  • ⚠️ Missing on trusty, xenial, bionic, focal, jammy

pypi.org

Version: 2023.9.10
See: https://pypi.org/project/furo/

Ubuntu

rmadison furo
 furo | 2022.12.07+dfsg-1 | lunar/universe  | source, all
 furo | 2023.07.26+dfsg-1 | mantic/universe | source, all
 furo | 2023.09.10+dfsg-2 | noble/universe  | source, all

See also: https://launchpad.net/ubuntu/+source/furo

Debian

rmadison -u debian furo
furo       | 2022.12.07+dfsg-1 | stable     | source, all
furo       | 2023.09.10+dfsg-2 | testing    | source, all
furo       | 2023.09.10+dfsg-2 | unstable   | source, all

See also: https://tracker.debian.org/pkg/furo

linkify-it-py

Summary

  • Available on
    • Ubuntu: noble
    • Debian: stable
  • ⚠️ Missing on trusty, xenial, bionic, focal, jammy

pypi.org

Version: 2.0.2
See: https://pypi.org/project/linkify-it-py/

Ubuntu

rmadison linkify-it-py
linkify-it-py | 2.0.0-1 | lunar/universe  | source
linkify-it-py | 2.0.2-2 | mantic/universe | source
linkify-it-py | 2.0.2-2 | noble/universe  | source

See also: https://launchpad.net/ubuntu/+source/linkify-it-py

Debian

rmadison -u debian linkify-it-py
linkify-it-py | 2.0.0-1       | stable     | source
linkify-it-py | 2.0.2-2       | testing    | source
linkify-it-py | 2.0.2-2       | unstable   | source

See also: https://tracker.debian.org/pkg/linkify-it-py

lxd-sphinx-extensions

Summary:

  • ❗ Missing on trusty, xenial, bionic, focal, jammy, noble, stable

pypi.org

Version: 0.0.15
See: https://pypi.org/project/lxd-sphinx-extensions/

Ubuntu

❗ Not found

Debian

❗ Not found

myst-parser

Summary

  • Available on
    • Ubuntu: jammy, noble
    • Debian: stable
  • ⚠️ Missing on trusty, xenial, bionic, focal

pypi.org

Version: 2.0.0
See: https://pypi.org/project/myst-parser/

Ubuntu

rmadison myst-parser
myst-parser | 0.16.1-3 | jammy/universe  | source
myst-parser | 0.18.1-2 | lunar/universe  | source
myst-parser | 2.0.0-1  | mantic/universe | source
myst-parser | 2.0.0-1  | noble/universe  | source

See also: https://launchpad.net/ubuntu/+source/myst-parser

Debian

rmadison -u debian myst-parser
myst-parser | 0.18.1-2      | stable     | source
myst-parser | 2.0.0-1       | testing    | source
myst-parser | 2.0.0-1       | unstable   | source

See also: https://tracker.debian.org/pkg/myst-parser

pyspelling

Summary:

  • ❗ Missing on trusty, xenial, bionic, focal, jammy, noble, stable

pypi.org

Version: 2.9
See: https://pypi.org/project/pyspelling/

Ubuntu

❗ Not found

Debian

❗ Not found

sphinx

Summary

  • Available on
    • Ubuntu: trusty, xenial, focal, jammy, noble
    • Debian: stable

pypi.org

Version: 7.2.6
See: https://pypi.org/project/sphinx/

Ubuntu

rmadison sphinx
 sphinx | 1.2.2+dfsg-1ubuntu1   | trusty         | source
 sphinx | 1.2.2+dfsg-1ubuntu1.1 | trusty-updates | source
 sphinx | 1.3.6-2ubuntu1        | xenial         | source
 sphinx | 1.3.6-2ubuntu1.2      | xenial-updates | source
 sphinx | 1.6.7-1ubuntu1        | bionic         | source
 sphinx | 1.8.5-7ubuntu3        | focal          | source
 sphinx | 4.3.2-1               | jammy          | source
 sphinx | 5.3.0-4               | lunar          | source
 sphinx | 5.3.0-7               | mantic         | source
 sphinx | 7.2.6-2               | noble          | source

See also: https://launchpad.net/ubuntu/+source/sphinx

Debian

rmadison -u debian sphinx
sphinx     | 1.8.4-1       | oldoldstable | source
sphinx     | 3.4.3-2       | oldstable    | source
sphinx     | 5.3.0-4       | stable       | source
sphinx     | 7.2.6-2       | testing      | source
sphinx     | 7.2.6-2       | unstable     | source

See also: https://tracker.debian.org/pkg/sphinx

sphinx-autobuild

Summary

  • Available on
    • Ubuntu: focal, jammy, noble
    • Debian: stable
  • ⚠️ Missing on trusty, xenial, bionic

pypi.org

Version: 2021.3.14
See: https://pypi.org/project/sphinx-autobuild/

Ubuntu

rmadison sphinx-autobuild
sphinx-autobuild | 0.7.1-2     | focal/universe  | source
sphinx-autobuild | 2021.3.14-2 | jammy/universe  | source
sphinx-autobuild | 2021.3.14-3 | lunar/universe  | source
sphinx-autobuild | 2021.3.14-3 | mantic/universe | source
sphinx-autobuild | 2021.3.14-3 | noble/universe  | source

See also: https://launchpad.net/ubuntu/+source/sphinx-autobuild

Debian

rmadison -u debian sphinx-autobuild
sphinx-autobuild | 0.7.1-2       | oldoldstable | source
sphinx-autobuild | 0.7.1-2.1     | oldstable    | source
sphinx-autobuild | 2021.3.14-3   | stable       | source
sphinx-autobuild | 2021.3.14-3   | testing      | source
sphinx-autobuild | 2021.3.14-3   | unstable     | source

See also: https://tracker.debian.org/pkg/sphinx-autobuild

sphinx-copybutton

Summary

  • Available on
    • Ubuntu: focal, jammy, noble
    • Debian: stable
  • ⚠️ Missing on trusty, xenial, bionic

pypi.org

Version: 0.5.2
See: https://pypi.org/project/sphinx-copybutton/

Ubuntu

rmadison sphinx-copybutton
sphinx-copybutton | 0.2.5-1.1 | focal/universe  | source
sphinx-copybutton | 0.4.0-3   | jammy/universe  | source
sphinx-copybutton | 0.4.0-4   | lunar/universe  | source
sphinx-copybutton | 0.4.0-4   | mantic/universe | source
sphinx-copybutton | 0.4.0-4   | noble/universe  | source

See also: https://launchpad.net/ubuntu/+source/sphinx-copybutton

Debian

rmadison -u debian sphinx-copybutton
sphinx-copybutton | 0.3.1-1       | oldstable  | source
sphinx-copybutton | 0.4.0-4       | stable     | source
sphinx-copybutton | 0.4.0-4       | testing    | source
sphinx-copybutton | 0.4.0-4       | unstable   | source

See also: https://tracker.debian.org/pkg/sphinx-copybutton

sphinx-design

Summary

  • Available on
    • Ubuntu: noble
    • Debian:
  • ⚠️ Missing on trusty, xenial, bionic, focal, jammy, stable

pypi.org

Version: 0.5.0
See: https://pypi.org/project/sphinx-design/

Ubuntu

rmadison sphinx-design
sphinx-design | 0.3.0-2 | lunar/universe  | source
sphinx-design | 0.5.0-1 | mantic/universe | source
sphinx-design | 0.5.0-1 | noble/universe  | source

See also: https://launchpad.net/ubuntu/+source/sphinx-design

Debian

rmadison -u debian sphinx-design
sphinx-design | 0.5.0-1       | testing    | source
sphinx-design | 0.5.0-1       | unstable   | source

See also: https://tracker.debian.org/pkg/sphinx-design

sphinx-notfound-page

Summary

  • Available on
    • Ubuntu: jammy, noble
    • Debian: stable
  • ⚠️ Missing on trusty, xenial, bionic, focal

pypi.org

Version: 1.0.0
See: https://pypi.org/project/sphinx-notfound-page/

Ubuntu

rmadison sphinx-notfound-page
sphinx-notfound-page | 0.8-1   | jammy/universe  | source
sphinx-notfound-page | 0.8.3-2 | lunar/universe  | source
sphinx-notfound-page | 0.8.3-2 | mantic/universe | source
sphinx-notfound-page | 1.0.0-1 | noble/universe  | source

See also: https://launchpad.net/ubuntu/+source/sphinx-notfound-page

Debian

rmadison -u debian sphinx-notfound-page
sphinx-notfound-page | 0.8.3-2~bpo11+1 | bullseye-backports | source
sphinx-notfound-page | 0.8.3-2         | stable             | source
sphinx-notfound-page | 1.0.0-1         | testing            | source
sphinx-notfound-page | 1.0.0-1         | unstable           | source

See also: https://tracker.debian.org/pkg/sphinx-notfound-page

sphinx-reredirects

Summary

  • Available on
    • Ubuntu: noble
    • Debian: stable
  • ⚠️ Missing on trusty, xenial, bionic, focal, jammy

pypi.org

Version: 0.1.3
See: https://pypi.org/project/sphinx-reredirects/

Ubuntu

rmadison sphinx-reredirects
 sphinx-reredirects | 0.1.1+dfsg1-1 | lunar/universe  | source
 sphinx-reredirects | 0.1.2+dfsg1-2 | mantic/universe | source
 sphinx-reredirects | 0.1.2+dfsg1-2 | noble/universe  | source

See also: https://launchpad.net/ubuntu/+source/sphinx-reredirects

Debian

rmadison -u debian sphinx-reredirects
sphinx-reredirects | 0.1.1+dfsg1-1~bpo11+1 | bullseye-backports | source
sphinx-reredirects | 0.1.1+dfsg1-1         | stable             | source
sphinx-reredirects | 0.1.2+dfsg1-2         | testing            | source
sphinx-reredirects | 0.1.2+dfsg1-2         | unstable           | source

See also: https://tracker.debian.org/pkg/sphinx-reredirects

sphinx-tabs

Summary

  • Available on
    • Ubuntu: jammy, noble
    • Debian: stable
  • ⚠️ Missing on trusty, xenial, bionic, focal

pypi.org

Version: 3.4.4
See: https://pypi.org/project/sphinx-tabs/

Ubuntu

rmadison sphinx-tabs
sphinx-tabs | 3.2.0-3 | jammy/universe  | source
sphinx-tabs | 3.4.1-1 | lunar/universe  | source
sphinx-tabs | 3.4.1-2 | mantic/universe | source
sphinx-tabs | 3.4.4-1 | noble/universe  | source

See also: https://launchpad.net/ubuntu/+source/sphinx-tabs

Debian

rmadison -u debian sphinx-tabs
sphinx-tabs | 1.3.0+ds-1    | oldstable  | source
sphinx-tabs | 3.4.1-1       | stable     | source
sphinx-tabs | 3.4.4-1       | testing    | source
sphinx-tabs | 3.4.4-1       | unstable   | source

See also: https://tracker.debian.org/pkg/sphinx-tabs

sphinxcontrib-jquery

Summary

  • Available on
    • Ubuntu: noble
    • Debian:
  • ⚠️ Missing on trusty, xenial, bionic, focal, jammy, stable

pypi.org

Version: 4.1
See: https://pypi.org/project/sphinxcontrib-jquery/

Ubuntu

rmadison sphinxcontrib-jquery
sphinxcontrib-jquery | 4.1-3 | mantic/universe | source
sphinxcontrib-jquery | 4.1-5 | noble/universe  | source

See also: https://launchpad.net/ubuntu/+source/sphinxcontrib-jquery

Debian

rmadison -u debian sphinxcontrib-jquery
sphinxcontrib-jquery | 4.1-4         | testing         | source
sphinxcontrib-jquery | 4.1-5         | buildd-unstable | source
sphinxcontrib-jquery | 4.1-5         | unstable        | source

See also: https://tracker.debian.org/pkg/sphinxcontrib-jquery

sphinxext-opengraph

Summary

  • Available on
    • Ubuntu: jammy, noble
    • Debian: stable
  • ⚠️ Missing on trusty, xenial, bionic, focal

pypi.org

Version: 0.9.0
See: https://pypi.org/project/sphinxext-opengraph/

Ubuntu

rmadison sphinxext-opengraph
sphinxext-opengraph | 0.5.1-1 | jammy/universe  | source
sphinxext-opengraph | 0.7.5-1 | lunar/universe  | source
sphinxext-opengraph | 0.7.5-1 | mantic/universe | source
sphinxext-opengraph | 0.7.5-1 | noble/universe  | source

See also: https://launchpad.net/ubuntu/+source/sphinxext-opengraph

Debian

rmadison -u debian sphinxext-opengraph
sphinxext-opengraph | 0.7.5-1       | stable     | source
sphinxext-opengraph | 0.7.5-1       | testing    | source
sphinxext-opengraph | 0.7.5-1       | unstable   | source

See also: https://tracker.debian.org/pkg/sphinxext-opengraph

@dviererbe
Copy link
Contributor Author

dviererbe commented Dec 13, 2023

For better readability, as a table:

dependency pypi.org noble jammy focal bionic xenial trusty stable
furo 2023.9.10 2023.09.10+dfsg-2 N/A N/A N/A N/A N/A 2022.12.07+dfsg-1
linkify-it-py 2.0.2 2.0.2-2 N/A N/A N/A N/A N/A 2.0.0-1
lxd-sphinx-extensions 0.0.15 N/A N/A N/A N/A N/A N/A N/A
myst-parser 2.0.0 2.0.0-1 0.16.1-3 N/A N/A N/A N/A 0.18.1-2
pyspelling 2.9 N/A N/A N/A N/A N/A N/A N/A
sphinx 7.2.6 7.2.6-2 4.3.2-1 1.8.5-7ubuntu3 1.6.7-1ubuntu1 1.3.6-2ubuntu1.2 1.2.2+dfsg-1ubuntu1.1 5.3.0-4
sphinx-autobuild 2021.3.14 2021.3.14-3 2021.3.14-2 0.7.1-2 N/A N/A N/A 2021.3.14-3
sphinx-copybutton 0.5.2 0.4.0-4 0.4.0-3 0.2.5-1.1 N/A N/A N/A 0.4.0-4
sphinx-design 0.5.0 0.5.0-1 N/A N/A N/A N/A N/A N/A
sphinx-notfound-page 1.0.0 1.0.0-1 0.8-1 N/A N/A N/A N/A 0.8.3-2
sphinx-reredirects 0.1.3 0.1.2+dfsg1-2 N/A N/A N/A N/A N/A 0.1.1+dfsg1-1
sphinx-tabs 3.4.4 3.4.4-1 3.2.0-3 N/A N/A N/A N/A 3.4.1-1
sphinxcontrib-jquery 4.1 4.1-5 N/A N/A N/A N/A N/A N/A
sphinxext-opengraph 0.9.0 0.7.5-1 0.5.1-1 N/A N/A N/A N/A 0.7.5-1

@dviererbe
Copy link
Contributor Author

dviererbe commented Dec 13, 2023

I propose to make the following extensions optional:

  • linkify-it-py (only needed by myst-parser)
  • lxd-sphinx-extensions (we don't use that)
  • myst-parser (we write everything from scratch, therefore we want one consistent format (reStructuredText))
  • sphinx-notfound-page (see Extension notfound.extension is not needed #139)
  • sphinx-tabs (not needed as sphinx-design provides tabs)
  • sphinx-reredirects
  • sphinxext-opengraph

Note: I think we still would enable sphinx-reredirects and sphinxext-opengraph in the repository for ReadTheDocs but disable them in the packaged version.

@ru-fu
Copy link
Collaborator

ru-fu commented Dec 13, 2023

I see why you want to exclude some of the extensions.
But as discussed in Riga, we should have three levels for the extensions:

  • required
  • included by default (but can be excluded)
  • optional/custom

The extensions you are listing should be included by default because we recommend to use them (and, for example, expect to have them available according to our the style guide), but we need a mechanism to be able to exclude them for special cases like yours.

@dviererbe
Copy link
Contributor Author

Resolved with PR #174

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
improvement Make an existing functionality better
Projects
None yet
Development

No branches or pull requests

2 participants