Re: [PATCH] Documentation: constrain alabaster package to older versions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 10/01/2024 16:01, Jonathan Corbet wrote:
Vegard Nossum <vegard.nossum@xxxxxxxxxx> writes:

The 'alabaster' theme dropped support for Sphinx < v3.4:

     0.7.14 – 2024-01-08

     * Dropped support for Python 3.8 and earlier.
     * Dropped support for Sphinx 3.3 and earlier.
     [...]

(Source: https://alabaster.readthedocs.io/en/latest/changelog.html)

This manifests as an error when running 'make htmldocs' in a virtualenv
constructed from Documentation/sphinx/requirements.txt:

     Sphinx version error:
     The alabaster extension used by this project needs at least Sphinx v3.4; it therefore cannot be built with this version.

Raising the Sphinx version is not really a good option at this point,
since 3.x through 6.x have horrible performance regressions (7.x still
does, but not quite as bad).

Instead, constrain the 'alabaster' package to versions that still support
Sphinx 2.4.4.

Signed-off-by: Vegard Nossum <vegard.nossum@xxxxxxxxxx>
---
  Documentation/sphinx/requirements.txt | 2 ++
  1 file changed, 2 insertions(+)

So this is a little strange, actually.  Alabaster is bundled with
Sphinx, so there should always be a version that works; I'm not sure why
we have it separately in the requirements.txt file (which is
discouraging, given that I probably put it there).

I'll try to look at this (but not right away); do you have any sense for
whether things work properly if that line is just taken out?

There is no existing "alabaster" line there -- I'm adding it in with
this patch.

The "alabaster" theme isn't exactly bundled with sphinx per se, it's a
separate package that is depended on by sphinx. So normally when you
install sphinx, it also installs the alabaster package.

Sphinx has this in its pyproject.toml (and has had it since v1.3):

  alabaster>=0.7,<0.8

The problem is that when you install sphinx, it by default gets the most
recent version of alabaster it can find (constrained by the <0.8 above),
which as of two days ago is 0.7.16 -- and is incompatible with Sphinx <=
3.3.

We can fix that by constraining it ourselves to the version before they
dropped Sphinx 3.3 support.

Feel free to amend the changelog if any of that makes it clearer...


Vegard




[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux