All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
To: Akira Yokosawa <akiyks@gmail.com>
Cc: Jonathan Corbet <corbet@lwn.net>,
	Linux Doc Mailing List <linux-doc@vger.kernel.org>,
	linux-kernel@vger.kernel.org,
	Sai Vishnu M <saivishnu725@gmail.com>
Subject: Re: [PATCH 00/15] Translate sphinx-pre-install to Python
Date: Wed, 9 Jul 2025 11:17:45 +0200	[thread overview]
Message-ID: <20250709111745.380db248@foz.lan> (raw)
In-Reply-To: <9148ae7f-7954-421e-b5dc-366651f0bc48@gmail.com>

Em Tue, 8 Jul 2025 23:56:01 +0900
Akira Yokosawa <akiyks@gmail.com> escreveu:

> On Tue, 08 Jul 2025 08:25:08 -0600, Jonathan Corbet wrote:
> > Akira Yokosawa <akiyks@gmail.com> writes:
> >   
> >> Hi Mauro,
> >>
> >> On Mon, 30 Jun 2025 23:34:48 +0200, Mauro Carvalho Chehab wrote:
> >> [...]
> >>  
> >>> The test script also ran the install procedure for system,
> >>> venv and native Sphinx install.  
> >>
> >> Which install procedure did you test?  The short one with the "--no-pdf"
> >> option?
> >>
> >> I am asking because installing the full list of packages in podman run
> >> of opensuse/leap:15.6 didn't complete successfully for me.
> >>
> >> And by the look of things, you stopped at installation, because you are
> >> well aware of all the issues in running "make htmldocs" and its friends
> >> after the install.
> >>
> >> I assume you (or somebody else) are going to update the script once this
> >> series is applied to make the suggested lists of packages be useful for
> >> newcomers.  
> > 
> > Thanks for testing this out.
> > 
> > My question would be: are the results somehow worse than those provided
> > by the existing, Perl script?  
> 
> Not at all.  Mauro made some improvements WRT opensuse/leap over the perl
> one, but there remain a lot of rooms for improvements here and there. 

On my tests, the results are better, and more variants are supported.
Those are the current results for my test script (on the version I'm 
yet to submit):

AlmaLinux release 9.6 (Sage Margay):
------------------------------------
  PASSED 1 - OS: AlmaLinux release 9.6 (Sage Margay), Python: 3.9.21, hostname: almalinux-test
  PASSED 2 - System packages: Packages installed.
  PASSED 3 - Sphinx on venv: Sphinx Sphinx 7.4.7, Docutils 0.21.2
  PASSED 4 - Sphinx package: Sphinx Sphinx 3.4.3, Docutils 0.16

Arch Linux:
-----------
  PASSED 1 - OS: Arch Linux, Python: 3.13.5
  PASSED 2 - System packages: Packages installed.
  PASSED 3 - Sphinx on venv: Sphinx Sphinx 8.2.3, Docutils 0.21.2
  PASSED 4 - Sphinx package: Sphinx Sphinx 8.2.3, Docutils 0.21.2

CentOS Stream release 9:
------------------------
  PASSED 1 - OS: CentOS Stream release 9, Python: 3.9.23, hostname: centos-test
  PASSED 2 - System packages: Packages installed.
  PASSED 3 - Sphinx on venv: Sphinx Sphinx 7.4.7, Docutils 0.21.2
  PASSED 4 - Sphinx package: Sphinx Sphinx 3.4.3, Docutils 0.16

Debian GNU/Linux 12:
--------------------
  PASSED 1 - OS: Debian GNU/Linux 12, Python: 3.11.2, hostname: debian-test
  PASSED 2 - System packages: Packages installed.
  PASSED 3 - Sphinx on venv: Sphinx Sphinx 8.2.3, Docutils 0.21.2
  PASSED 4 - Sphinx package: Sphinx Sphinx 5.3.0, Docutils 0.19

Devuan GNU/Linux 5:
-------------------
  PASSED 1 - OS: Devuan GNU/Linux 5, Python: 3.11.2, hostname: devuan-test
  PASSED 2 - System packages: Packages installed.
  PASSED 3 - Sphinx on venv: Sphinx Sphinx 8.2.3, Docutils 0.21.2
  PASSED 4 - Sphinx package: Sphinx Sphinx 5.3.0, Docutils 0.19

Fedora release 42 (Adams):
--------------------------
  PASSED 1 - OS: Fedora release 42 (Adams), Python: 3.13.5
  PASSED 2 - System packages: Packages installed.
  PASSED 3 - Sphinx on venv: Sphinx Sphinx 8.2.3, Docutils 0.21.2
  PASSED 4 - Sphinx package: Sphinx Sphinx 8.1.3, Docutils 0.21.2

Gentoo Base System release 2.17:
--------------------------------
  PASSED 1 - OS: Gentoo Base System release 2.17, Python: 3.13.3
  PASSED 2 - System packages: Packages installed.
  PASSED 3 - Sphinx on venv: Sphinx Sphinx 8.2.3, Docutils 0.21.2
  PASSED 4 - Sphinx package: Sphinx Sphinx 8.2.3, Docutils 0.21.2

Kali GNU/Linux 2025.2:
----------------------
  PASSED 1 - OS: Kali GNU/Linux 2025.2, Python: 3.13.3, hostname: kali-test
  PASSED 2 - System packages: Packages installed.
  PASSED 3 - Sphinx on venv: Sphinx Sphinx 8.2.3, Docutils 0.21.2
  PASSED 4 - Sphinx package: Sphinx Sphinx 8.1.3, Docutils 0.21.2

Mageia 9:
---------
  PASSED 1 - OS: Mageia 9, Python: 3.10.11, hostname: mageia-test
  PASSED 2 - System packages: Packages installed.
  PASSED 3 - Sphinx on venv: Sphinx Sphinx 8.1.3, Docutils 0.21.2
  PASSED 4 - Sphinx package: Sphinx Sphinx 6.1.3, Docutils 0.19

Linux Mint 22:
--------------
  PASSED 1 - OS: Linux Mint 22, Python: 3.10.12, hostname: mint-test
  PASSED 2 - System packages: Packages installed.
  PASSED 3 - Sphinx on venv: Sphinx Sphinx 8.1.3, Docutils 0.21.2
  PASSED 4 - Sphinx package: Sphinx Sphinx 4.3.2, Docutils 0.17.1

openEuler release 25.03:
------------------------
  PASSED 1 - OS: openEuler release 25.03, Python: 3.11.11, hostname: openeuler-test
  PASSED 2 - System packages: Packages installed.
  PASSED 3 - Sphinx on venv: Sphinx Sphinx 8.2.3, Docutils 0.21.2
  PASSED 4 - Sphinx package: Sphinx Sphinx 8.1.3, Docutils 0.21.2

OpenMandriva Lx 4.3:
--------------------
  PASSED 1 - OS: OpenMandriva Lx 4.3, Python: 3.9.8, hostname: openmandriva-test
  FAILED 2 - System packages:  Error: Unable to find a match: ensurepip
  FAILED 3 - Sphinx on venv
  PASSED 4 - Sphinx package: Sphinx Sphinx 4.3.2, Docutils 0.17

openSUSE Tumbleweed:
--------------------
  PASSED 1 - OS: openSUSE Tumbleweed, Python: 3.13.5, hostname: opensuse-test
  PASSED 2 - System packages: Packages installed.
  PASSED 3 - Sphinx on venv: Sphinx Sphinx 8.2.3, Docutils 0.21.2
  PASSED 4 - Sphinx package: Sphinx Sphinx 8.2.3, Docutils 0.21.2

Rocky Linux release 8.9 (Green Obsidian):
-----------------------------------------
  PASSED 1 - OS: Rocky Linux release 8.9 (Green Obsidian), Python: 3.6.8, hostname: rockylinux8-test
  PASSED 2 - System packages: Packages installed.
  FAILED 3 - Sphinx on venv:  No Sphinx version!
  FAILED 4 - Sphinx package:  No Sphinx version!

Rocky Linux release 9.6 (Blue Onyx):
------------------------------------
  PASSED 1 - OS: Rocky Linux release 9.6 (Blue Onyx), Python: 3.9.21, hostname: rockylinux-test
  FAILED 2 - System packages:  Errors during downloading metadata for repository 'epel':   - Curl error (28): Timeout was reached for http://ftp.rediris.es/mirror/fedora-epel/9/Everything/x86_64/repodata/repomd.xml [Operation too slow. Less than 1000 bytes/sec transferred the last 30 seconds]   - Curl error (28): Timeout was reached for https://mirror.yandex.ru/epel/9/Everything/x86_64/repodata/repomd.xml [Failed to connect to mirror.yandex.ru port 443: Connection timed out]   - Downloading successful, but checksum doesn't match. Calculated: ae3b260e2d12fd111887d36ddd99b22dda9d038b2ce8b1240495e7dedf3eeca4a85e5c1ef10488649c614a3029cb790a0230dbd1a9bb1d20d5d868bcd3ce3bb6(sha512)  Expected: 0b6aa1cb918981a1fa6712a14d80968d6bf4e7f121268f90cd5573edb21a36b40f6ec34f8668180c4048eb01afd2938941af61d61304383c858917ed7f2b98de(sha512)    - Curl error (28): Timeout was reached for https://fr2.rpmfind.net/linux/epel/9/Everything/x86_64/repodata/repomd.xml [Operation timed out after 30000 milliseconds with 0 out of 0 bytes received] Error: Failed to download metadata for repo 'epel': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried
  PASSED 3 - Sphinx on venv: Sphinx Sphinx 7.4.7, Docutils 0.21.2
  PASSED 4 - Sphinx package: Sphinx Sphinx 3.4.3, Docutils 0.16

Springdale Open Enterprise Linux release 9.2 (Parma):
-----------------------------------------------------
  PASSED 1 - OS: Springdale Open Enterprise Linux release 9.2 (Parma), Python: 3.9.16, hostname: springdalelinux-test
  FAILED 2 - System packages:  Error:   Problem: package ImageMagick-6.9.13.25-1.el9.x86_64 requires libMagickCore-6.Q16.so.7()(64bit), but none of the providers can be installed   - package ImageMagick-6.9.13.25-1.el9.x86_64 requires libMagickWand-6.Q16.so.7()(64bit), but none of the providers can be installed   - package ImageMagick-6.9.13.25-1.el9.x86_64 requires ImageMagick-libs(x86-64) = 6.9.13.25-1.el9, but none of the providers can be installed   - conflicting requests   - nothing provides libraw_r.so.23()(64bit) needed by ImageMagick-libs-6.9.13.25-1.el9.x86_64
  PASSED 3 - Sphinx on venv: Sphinx Sphinx 7.4.7, Docutils 0.21.2
  PASSED 4 - Sphinx package: Sphinx Sphinx 3.4.3, Docutils 0.16

Ubuntu 24.04.2 LTS:
-------------------
  PASSED 1 - OS: Ubuntu 24.04.2 LTS, Python: 3.12.3, hostname: ubuntu-lts-test
  PASSED 2 - System packages: Packages installed.
  PASSED 3 - Sphinx on venv: Sphinx Sphinx 8.2.3, Docutils 0.21.2
  PASSED 4 - Sphinx package: Sphinx Sphinx 7.2.6, Docutils 0.20.1

Ubuntu 25.04:
-------------
  PASSED 1 - OS: Ubuntu 25.04, Python: 3.13.3, hostname: ubuntu-test
  PASSED 2 - System packages: Packages installed.
  PASSED 3 - Sphinx on venv: Sphinx Sphinx 8.2.3, Docutils 0.21.2
  PASSED 4 - Sphinx package: Sphinx Sphinx 8.1.3, Docutils 0.21.2

Summary
=======

  PASSED: AlmaLinux release 9.6 (Sage Margay) (4 passed, 0 failed, 0 skipped)
  PASSED: Arch Linux (4 passed, 0 failed, 0 skipped)
  PASSED: CentOS Stream release 9 (4 passed, 0 failed, 0 skipped)
  PASSED: Debian GNU/Linux 12 (4 passed, 0 failed, 0 skipped)
  PASSED: Devuan GNU/Linux 5 (4 passed, 0 failed, 0 skipped)
  PASSED: Fedora release 42 (Adams) (4 passed, 0 failed, 0 skipped)
  PASSED: Gentoo Base System release 2.17 (4 passed, 0 failed, 0 skipped)
  PASSED: Kali GNU/Linux 2025.2 (4 passed, 0 failed, 0 skipped)
  PASSED: Mageia 9 (4 passed, 0 failed, 0 skipped)
  PASSED: Linux Mint 22 (4 passed, 0 failed, 0 skipped)
  PASSED: openEuler release 25.03 (4 passed, 0 failed, 0 skipped)
  PARTIAL: OpenMandriva Lx 4.3 (2 passed, 2 failed, 0 skipped)
  PASSED: openSUSE Tumbleweed (4 passed, 0 failed, 0 skipped)
  PARTIAL: Rocky Linux release 8.9 (Green Obsidian) (2 passed, 2 failed, 0 skipped)
  PARTIAL: Rocky Linux release 9.6 (Blue Onyx) (3 passed, 1 failed, 0 skipped)
  PARTIAL: Springdale Open Enterprise Linux release 9.2 (Parma) (3 passed, 1 failed, 0 skipped)
  PASSED: Ubuntu 24.04.2 LTS (4 passed, 0 failed, 0 skipped)
  PASSED: Ubuntu 25.04 (4 passed, 0 failed, 0 skipped)

So, basically:

- OpenMandriva LX 4.3 (*):
  - I didn't find a way to make pip work there. Not critical, as
    Sphinx installs as package.
  - Perl script is not OK for it.

- RHEL8 variants:
  - Installing Sphinx as packages is not possible (Python 3.6)
  - Installing as venv is possible, but I need to adjust the script.
  - Perl script is not OK for it.

- The error with Rocky Linux 9 is just because its mirrors are slow
  now. It passed already on previous tests.

Yeah, there will always be room for improvements. 

(*) Testing this one was not easy, as the docker image for it is
    half-broken. The image:

	https://hub.docker.com/r/openmandriva/4.0

   is for LX4.0, but dnf points to wrong repositories. I had to do
   some tricks to fix the repositories to the ones that actually exist
   those days, using the tricks below:

        "sed s,enabled=1,enabled=0, -i /etc/yum.repos.d/*"
        "sed s,4.0,4.3, -i /etc/yum.repos.d/openmandriva-x86_64.repo"
        "dnf update --repo release-x86_64 --releasever 4.3 -y"
        "rm -rf /var/lib/rpm; rpm --rebuilddb"
        "sed -i \"/^\\[openmandriva-x86_64\\]/,/^\\[/ s/^enabled=0/enabled=1/\" /etc/yum.repos.d/openmandriva-x86_64.repo"
        "sed -i \"/^\\[updates-x86_64\\]/,/^\\[/ s/^enabled=0/enabled=1/\" /etc/yum.repos.d/openmandriva-x86_64.repo"
        "dnf install -y passwd which net-tools openssh-server git python3 tar diffutils --releasever 4.3 -y"
        "groupadd -r sshd || true"
        "useradd -r -g sshd -s /sbin/nologin -c 'Privilege-separated SSH' sshd || true"

   The above upgrades the container to LX 4.3 on a not recommended way ;-)
   It also prepares the container to start sshd if one needs to copy files
   to it via scp (sometimes I do, when I want to quickly test changes at the
   scripts).

   I couldn't find any newer container repository that could be installed
   either via lxc or docker.
	
> I've been ignoring sphinx-pre-install all these years, but the impressive
> test results presented in this cover-letter made me test it.
> 
> >                                If this change regresses things, we
> > obviously do not want to proceed.  If it reproduces the old behavior in
> > a more maintainable language, then hopefully it is a step toward fixing
> > things in the long run ... ?  
> 
> Yes, translation into python would help a lot, I guess.

That's what I'm hoping as well ;-)

Regards,
Mauro

  reply	other threads:[~2025-07-09  9:17 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-06-30 21:34 [PATCH 00/15] Translate sphinx-pre-install to Python Mauro Carvalho Chehab
2025-06-30 21:34 ` [PATCH 01/15] scripts: sphinx-pre-install: fix version check for Fedora Mauro Carvalho Chehab
2025-06-30 21:34 ` [PATCH 02/15] scripts: sphinx-pre-install: rename it to scripts/sphinx-pre-install.pl Mauro Carvalho Chehab
2025-06-30 21:34 ` [PATCH 03/15] scripts: sphinx-pre-install: Convert script to Python Mauro Carvalho Chehab
2025-06-30 21:34 ` [PATCH 04/15] scripts: sphinx-pre-install: Make it compatible with Python 3.6 Mauro Carvalho Chehab
2025-06-30 21:34 ` [PATCH 05/15] scripts: sphinx-pre-install: run on a supported version Mauro Carvalho Chehab
2025-06-30 21:34 ` [PATCH 06/15] scripts: sphinx-pre-install: drop obsolete routines Mauro Carvalho Chehab
2025-06-30 21:34 ` [PATCH 07/15] scripts: sphinx-pre-install: drop support for old virtualenv Mauro Carvalho Chehab
2025-06-30 21:34 ` [PATCH 08/15] scripts: sphinx-pre-install: Address issues with OpenSUSE Leap 15.x Mauro Carvalho Chehab
2025-06-30 21:34 ` [PATCH 09/15] scripts: sphinx-pre-install.py fix opensuse hints Mauro Carvalho Chehab
2025-06-30 21:34 ` [PATCH 10/15] scripts: sphinx-pre-install.py: fix support for gentoo Mauro Carvalho Chehab
2025-06-30 21:34 ` [PATCH 11/15] scripts: sphinx-pre-install: Address issues with OpenSUSE Tumbleweed Mauro Carvalho Chehab
2025-06-30 21:35 ` [PATCH 12/15] scripts: sphinx-pre-install.py: only show portage hints once Mauro Carvalho Chehab
2025-06-30 21:35 ` [PATCH 13/15] scripts: sphinx-pre-install.py: cleanup rhel support Mauro Carvalho Chehab
2025-06-30 21:35 ` [PATCH 14/15] docs: Makefile: switch to the new scripts/sphinx-pre-install.py Mauro Carvalho Chehab
2025-06-30 21:35 ` [PATCH 15/15] scripts: sphinx-pre-install.pl: get rid of the old script Mauro Carvalho Chehab
2025-07-02 23:03 ` [PATCH 00/15] Translate sphinx-pre-install to Python Jonathan Corbet
2025-07-09  8:25   ` Mauro Carvalho Chehab
2025-07-08  3:09 ` Akira Yokosawa
2025-07-08 14:25   ` Jonathan Corbet
2025-07-08 14:56     ` Akira Yokosawa
2025-07-09  9:17       ` Mauro Carvalho Chehab [this message]
2025-07-31 11:51       ` Mauro Carvalho Chehab
2025-07-31 17:55         ` Mauro Carvalho Chehab
2025-08-06  3:13         ` Akira Yokosawa
2025-07-09  8:58   ` Mauro Carvalho Chehab

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250709111745.380db248@foz.lan \
    --to=mchehab+huawei@kernel.org \
    --cc=akiyks@gmail.com \
    --cc=corbet@lwn.net \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=saivishnu725@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.