Bug#1064593: Bug#1066967: Bug#1064593: Bug#1066967: dh_sphinxdoc: replaces files provided by read-the-doc theme by empty symlinks

2024-03-22 Thread Dmitry Shachnev
Hi,

On Fri, Mar 22, 2024 at 03:30:55PM +0100, Holger Wansing wrote:
> Ok, I see.
> So, we will need to get sphinx-rtd-theme-common installed on all debian.org
> website mirrors, and it will just work (?) ...

From your earlier message it seemed to me like you are using the build
tree in your deploy process, not the built package.

That is why I suggested not running dh_sphinxdoc, however my suggestion
applied only to your deploy procedure. The package which is being uploaded
to Debian archive should still use dh_sphinxdoc.

If you are using the built package and installing it on the remote server,
then yes, install sphinx-rtd-theme-common and you should be good.

Actually, I would move ${sphinxdoc:Depends} from Recommends to Depends,
because the documentation is mostly unusable without the static files.

--
Dmitry Shachnev


signature.asc
Description: PGP signature


Bug#1064593: Bug#1066967: Bug#1064593: Bug#1066967: dh_sphinxdoc: replaces files provided by read-the-doc theme by empty symlinks

2024-03-22 Thread Dmitry Shachnev
On Fri, Mar 22, 2024 at 01:46:48PM +0100, Holger Wansing wrote:
> [...]
> Anyway, the symlink points to some path inside the package build path, here:
> /srv/debian-policy/debian-policy-4.6.2.1/debian/debian-policy/usr/share/sphinx_rtd_theme_static/css/theme.css
> 
> and that path does not exist.
> Same in the debian-policy binary package.

This is expected. The path in the build tree is relative in a way that when
a package is built and installed, it becomes working.

The symlink is generated relative per Policy 10.5. And I think that even if
dh_sphinxdoc generated it as absolute, dh_link would later change it to
relative.

If you are trying to rely on something that is in the build directory, you
have to turn relative symlinks into absolute ones on your own. Or just don't
call dh_sphinxdoc, then you will get normal files.

--
Dmitry Shachnev


signature.asc
Description: PGP signature


Bug#1064593: Bug#1066967: dh_sphinxdoc: replaces files provided by read-the-doc theme by empty symlinks

2024-03-21 Thread Dmitry Shachnev
Control: tags 1066967 +unreproducible

Hi Holger!

On Sat, Mar 16, 2024 at 09:52:54AM +0100, Holger Wansing wrote:
> Package: sphinx-common
> Severity: serious
> 
> Hi,
> 
> dh_sphinxdoc does not work well with read-the-doc theme, apparently.
> Debian policy document has switched to sphinx_rtd_theme recently (see
> https://salsa.debian.org/dbnpolicy/policy/-/commit/686622814018b5a121252b189d99c1968f332b78
>  )
> 
> However, the built document has a completely broken html layout, because
> many files under _static/ are empty (0B size), most noteably 
> _static/css/theme.css.
> 
> If I replace 
>   dh $@ --with sphinxdoc
> by
>   dh $@
> (so do not use dh_sphinxdoc), I get a valid html file with the theme
> in use.

I cannot reproduce this. I downloaded debian-policy source package and built
it in an up-to-date sid chroot. And the built package has this:

  $ dpkg-deb -c debian-policy_4.6.2.1_all.deb | grep theme.css
  lrwxrwxrwx root/root 0 2024-02-24 15:39 
./usr/share/doc/debian-policy/policy.html/_static/css/theme.css -> 
../../../../../sphinx_rtd_theme/static/css/theme.css

So, it is a symlink, not an empty file. When resolving the relative path,
I get /usr/share/sphinx_rtd_theme/static/css/theme.css, and that file
exists in sphinx-rtd-theme-common and is non-empty.

The only issue I see is that sphinx-rtd-theme-common is in Recommends of
debian-policy, not in Depends. But that is because ${sphinxdoc:Depends}
was put there.

Am I doing something wrong?

--
Dmitry Shachnev


signature.asc
Description: PGP signature


Bug#873125: debian-policy: FTBFS with Sphinx 1.6: Needs build-dep on latexmk

2017-08-24 Thread Dmitry Shachnev
Source: debian-policy
Version: 4.1.0.0
Severity: important
User: python-modules-t...@lists.alioth.debian.org
Usertags: sphinx1.6

Dear maintainer,

debian-policy fails to build with Sphinx 1.6, currently available in
experimental:

  sphinx-build -M latexpdf policy policy/_build
  Running Sphinx v1.6.3
  [...]
  build succeeded.
  make[2]: Entering directory '/<>/policy/_build/latex'
  make[2]: warning: jobserver unavailable: using -j1.  Add '+' to parent make 
rule.
  latexmk -pdf -dvi- -ps-  'policy.tex'
  make[2]: latexmk: Command not found
  Makefile:33: recipe for target 'policy.pdf' failed
  make[2]: *** [policy.pdf] Error 127

Since Sphinx 1.6, latexmk is required to build the LaTeX documentation [1].
Adding a build-dependency on latexmk should help.

[1]: https://github.com/sphinx-doc/sphinx/pull/3082

--
Dmitry Shachnev


signature.asc
Description: PGP signature