lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <e6441dc1-6821-4514-b285-ebc24114aece@oracle.com>
Date: Thu, 29 Feb 2024 15:39:31 +0100
From: Vegard Nossum <vegard.nossum@...cle.com>
To: Lukas Bulwahn <lukas.bulwahn@...il.com>, Jonathan Corbet
 <corbet@....net>,
        Mauro Carvalho Chehab <mchehab@...nel.org>,
        Akira Yokosawa <akiyks@...il.com>,
        Jani Nikula
 <jani.nikula@...ux.intel.com>,
        Randy Dunlap <rdunlap@...radead.org>, linux-doc@...r.kernel.org
Cc: linux-kernel@...r.kernel.org
Subject: Re: [PATCH] docs: drop the version constraints for sphinx and
 dependencies


On 27/02/2024 14:14, Lukas Bulwahn wrote:
> As discussed (see Links), there is some inertia to move to the recent
> Sphinx versions for the doc build environment.

[...]

> diff --git a/Documentation/sphinx/requirements.txt b/Documentation/sphinx/requirements.txt
> index 5d47ed443949..1f3b98eee2c9 100644
> --- a/Documentation/sphinx/requirements.txt
> +++ b/Documentation/sphinx/requirements.txt
> @@ -1,6 +1,4 @@
> -# jinja2>=3.1 is not compatible with Sphinx<4.0
> -jinja2<3.1
> -# alabaster>=0.7.14 is not compatible with Sphinx<=3.3
> -alabaster<0.7.14
> -Sphinx==2.4.4
> +jinja2
> +alabaster
> +Sphinx
>   pyyaml

I know you wrote this as well, but just for the record I tried dropping
jinja2 from this list and it still pulled it in automatically:

Collecting Jinja2>=3.0
   Using cached Jinja2-3.1.3-py3-none-any.whl (133 kB)

> diff --git a/scripts/sphinx-pre-install b/scripts/sphinx-pre-install
> index de0de5dd676e..4c781617ffe6 100755
> --- a/scripts/sphinx-pre-install
> +++ b/scripts/sphinx-pre-install
> @@ -280,8 +280,6 @@ sub get_sphinx_version($)
>   
>   sub check_sphinx()
>   {
> -	my $default_version;
> -
>   	open IN, $conf or die "Can't open $conf";
>   	while (<IN>) {
>   		if (m/^\s*needs_sphinx\s*=\s*[\'\"]([\d\.]+)[\'\"]/) {
> @@ -293,18 +291,7 @@ sub check_sphinx()
>   
>   	die "Can't get needs_sphinx version from $conf" if (!$min_version);
>   
> -	open IN, $requirement_file or die "Can't open $requirement_file";
> -	while (<IN>) {
> -		if (m/^\s*Sphinx\s*==\s*([\d\.]+)$/) {
> -			$default_version=$1;
> -			last;
> -		}
> -	}
> -	close IN;
> -
> -	die "Can't get default sphinx version from $requirement_file" if (!$default_version);
> -
> -	$virtenv_dir = $virtenv_prefix . $default_version;
> +	$virtenv_dir = $virtenv_prefix . "latest";
>   
>   	my $sphinx = get_sphinx_fname();
>   	if ($sphinx eq "") {
> @@ -318,8 +305,8 @@ sub check_sphinx()
>   	die "$sphinx didn't return its version" if (!$cur_version);
>   
>   	if ($cur_version lt $min_version) {
> -		printf "ERROR: Sphinx version is %s. It should be >= %s (recommended >= %s)\n",
> -		       $cur_version, $min_version, $default_version;
> +		printf "ERROR: Sphinx version is %s. It should be >= %s\n",
> +		       $cur_version, $min_version;
>   		$need_sphinx = 1;
>   		return;
>   	}

Tried with a few different versions:

$ (. sphinx-2.4.4/bin/activate && scripts/sphinx-pre-install)
Detected OS: Ubuntu 22.04.3 LTS.
Sphinx version: 2.4.4


You may also use the newer Sphinx version 7.2.6 with:
         . /home/vegard/linux/sphinx_latest/bin/activate
[...]

$ (. sphinx-2.0/bin/activate && scripts/sphinx-pre-install)
ERROR: Sphinx version is 2.0.0. It should be >= 2.4.4
Detected OS: Ubuntu 22.04.3 LTS.
Sphinx version: 2.0.0


Need to activate Sphinx (version 7.2.6) on virtualenv with:
         . /home/vegard/linux/sphinx_latest/bin/activate
[...]

$ scripts/sphinx-pre-install
Detected OS: Ubuntu 22.04.3 LTS.
Sphinx version: 4.3.2


All optional dependencies are met.
Needed package dependencies are met.


One remark I have is that it didn't encourage me to upgrade to 7.2.6 in
the last one (using the system Sphinx 4.3.2) although it did for the
2.4.4 virtualenv. Maybe that's expected. I didn't look into it. Anyway,
FWIW:

Tested-by: Vegard Nossum <vegard.nossum@...cle.com>


Vegard

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ