Path: csiph.com!feeder.erje.net!2.eu.feeder.erje.net!news2.arglkargh.de!news.mixmin.net!aioe.org!bofh.it!news.nic.it!robomod From: Thomas Goirand Newsgroups: linux.debian.maint.python Subject: Re: Upstream build system, Sphinx autodoc, Python import path Date: Thu, 29 Sep 2016 23:30:01 +0200 Message-ID: References: X-Mailbox-Line: From debian-python-request@lists.debian.org Thu Sep 29 21:22:36 2016 Old-Return-Path: X-Amavis-Spam-Status: No, score=-6.9 tagged_above=-10000 required=5.3 tests=[BAYES_00=-2, FOURLA=0.1, LDO_WHITELIST=-5, RCVD_IN_DNSWL_NONE=-0.0001] autolearn=ham autolearn_force=no X-Policyd-Weight: using cached result; rate: -5 X-Enigmail-Draft-Status: N1110 Organization: Debian User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Icedove/45.2.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Mailing-List: archive/latest/14255 List-ID: List-URL: List-Archive: https://lists.debian.org/msgid-search/479e273e-ccf6-17c0-d8cb-a926daa3fb4a@debian.org Approved: robomod@news.nic.it Lines: 45 Sender: robomod@news.nic.it X-Original-Date: Thu, 29 Sep 2016 23:22:08 +0200 X-Original-Message-ID: <479e273e-ccf6-17c0-d8cb-a926daa3fb4a@debian.org> X-Original-References: <85h991lodg.fsf@benfinney.id.au> Xref: csiph.com linux.debian.maint.python:8913 On 09/27/2016 10:48 AM, Ben Finney wrote: > Our wiki page on Library Style Guide advises the Debian packaging > override the Python import path: >=20 > If you need to build the Sphinx documentation (usually from .rst or > .md files), add: >=20 > override_dh_auto_build: > dh_auto_build > PYTHONPATH=3D. sphinx-build -N -bhtml docs/ build/html # HT= ML generator > PYTHONPATH=3D. sphinx-build -N -bman docs/ build/man # Manp= age generator If that's what the wiki advise, then it's quite wrong. The target which should be "overrides" is dh_sphinxdoc. I usually do this: override_dh_sphinxdoc: ifeq (,$(findstring nodocs, $(DEB_BUILD_OPTIONS))) sphinx-build -b html doc/source \ $(CURDIR)/debian/foo-doc/usr/share/doc/foo-doc/html dh_sphinxdoc endif And the same kind of thing for man page. It's IMO nice to have the nodocs thing if it takes too long to build (probably useless if it's quick). In such case, overriding the correct debian/rules target is key. > This is surely not ideal, though. Better would be to not need > =E2=80=98PYTHONPATH=E2=80=99 override at all, and just call the build p= rogram. PYTHONPATH=3D. isn't *always* needed, therefore, I don't think it should always be in debian/rules. > What can we advise to upstream so their build system will work correctl= y > in our build environment *without* that override in every Sphinx-using > package? I don't see why upstream requiring PYTHONPATH=3D. would be bad... Cheers, Thomas Goirand (zigo)