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-next>] [day] [month] [year] [list]
Message-ID: <20180719181556.GA21435@thunk.org>
Date:   Thu, 19 Jul 2018 14:15:56 -0400
From:   "Theodore Y. Ts'o" <tytso@....edu>
To:     linux-doc@...r.kernel.org, linux-ext4@...r.kernel.org
Cc:     "Darrick J. Wong" <darrick.wong@...cle.com>
Subject: Sphinx version dependencies?

Darrick has sent in patches to convert the ext4 documentation to use
rst and to be built as part of the full kernel documentation thanks.
In addition to that, he's imported the on-disk documentation from the
ext4 wiki into the kernel sources, so hopefully we can keep it more up
to date.

When I was experimenting with this, I had to actually build the kernel
docs using Sphinx for the first time.  I'm using Debian testing, so at
first I blindly followed the instructions by
./scripts/sphinx-pre-install:

Detected OS: Debian GNU/Linux unstable (sid).
	/usr/local/bin/virtualenv sphinx_1.4
	. sphinx_1.4/bin/activate
	pip install -r Documentation/sphinx/requirements.txt

But when I did that, Sphinx had heartburn over the ext4.rst file.

    ./include/linux/spi/spi.h:373: ERROR: Unexpected indentation.
    /usr/projects/linux/ext4/Documentation/filesystems/ext4/ext4.rst:139: ERROR: Malformed table.
    Column span alignment problem in table line 5.
    ...

After consulting with Darrick, it appears the problem is that Sphinx8
1.4.9 was the problem.  This is the version that
Documentation/sphinx/requirements.txt calls for.  He did his rst
conversion work using Ubuntu 18.04's Sphinx 1.6.7.

As it turns out Debian testing/unstable already has Sphinx 1.7.5 in
its repository, so if I simply install Sphinx 1.7.5, it works fine.
That's what I've done for now.

So that leaves me with some questions:

* Is there a reason why scripts/sphinx-pre-install suggested using a
  Python virtual environment and installing Sphinx 1.4.9 instead of
  using the distro's pre-packaged Sphinx for Debian unstable/testing?

* Why does Documentation/sphinx/requirements.txt asking for such an
  old version of Sphinx?
 
* Is it a requirement that *.rst files that are checked into the
  kernel repo have to work with Sphinx 1.4.9?  Or is it sufficient
  that it works with Sphinx 1.6.7 and 1.7.5 (which are the prepackaged
  Debian and Ubuntu versions).  And it looks like Fedora 28 has Sphinx
  1.7.2 if I'm not mistaken.   How many versions of Sphinx are various
  automated build/test systems using?

Thanks,

						- Ted

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ