Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.debian.maint.python > #13625 > unrolled thread

dh_python or pybuild

Started byc.buhtz@posteo.jp
First post2021-10-11 14:30 +0200
Last post2021-10-11 14:40 +0200
Articles 3 — 3 participants

Back to article view | Back to linux.debian.maint.python


Contents

  dh_python or pybuild c.buhtz@posteo.jp - 2021-10-11 14:30 +0200
    Re: dh_python or pybuild Andrey Rahmatullin <wrar@debian.org> - 2021-10-11 14:40 +0200
    Re: dh_python or pybuild Dominik George <natureshadow@debian.org> - 2021-10-11 14:40 +0200

#13625 — dh_python or pybuild

Fromc.buhtz@posteo.jp
Date2021-10-11 14:30 +0200
Subjectdh_python or pybuild
Message-ID<D72Bj-2ax-7@gated-at.bofh.it>
Hello,

I am not sure if I misunderstand something or if the documentation is 
inconsistent.

The PythonPolicy
https://www.debian.org/doc/packaging-manuals/python-policy/
tells me that dh_python should be the preferred tool for packaging 
(https://www.debian.org/doc/packaging-manuals/python-policy/#versions)

But the LibraryStyleGuide
https://wiki.debian.org/Python/LibraryStyleGuide
tells me it is pybuild 
(https://wiki.debian.org/Python/LibraryStyleGuide#Overview).

And the DPT policy
https://salsa.debian.org/python-team/tools/python-modules/-/blob/master/policy.rst
tells me something about git-buildpackage and gbp.

So as a novice I am confused.

Kind
Christian

[toc] | [next] | [standalone]


#13626

FromAndrey Rahmatullin <wrar@debian.org>
Date2021-10-11 14:40 +0200
Message-ID<D72L0-2ec-9@gated-at.bofh.it>
In reply to#13625

[Multipart message — attachments visible in raw view] — view raw

On Mon, Oct 11, 2021 at 12:23:31PM +0000, c.buhtz@posteo.jp wrote:
> I am not sure if I misunderstand something or if the documentation is
> inconsistent.
> 
> The PythonPolicy
> https://www.debian.org/doc/packaging-manuals/python-policy/
> tells me that dh_python should be the preferred tool for packaging
> (https://www.debian.org/doc/packaging-manuals/python-policy/#versions)
You indeed should use dh_python3, this is normally done by passing "--with
python3" to dh(1).

> But the LibraryStyleGuide
> https://wiki.debian.org/Python/LibraryStyleGuide
> tells me it is pybuild
> (https://wiki.debian.org/Python/LibraryStyleGuide#Overview).
pybuild is a build system, it's used to make actual setup.py calls. You
indeed should use it, this is normally done by passing
"--buildsystem=pybuild" to dh(1).
That page even says "What's important to note here is that both of the
dh_python2 and dh_python3 helpers are being invoked, and also that the
build system that dh will use is pybuild." when showing the correct dh(1)
line.

> And the DPT policy
> https://salsa.debian.org/python-team/tools/python-modules/-/blob/master/policy.rst
> tells me something about git-buildpackage and gbp.
gbp is not Python-specific and, strictly speaking, is not a part of Debian
packaging, but a tool to store Debian source paclages in git.

-- 
WBR, wRAR

[toc] | [prev] | [next] | [standalone]


#13627

FromDominik George <natureshadow@debian.org>
Date2021-10-11 14:40 +0200
Message-ID<D72L1-2ec-35@gated-at.bofh.it>
In reply to#13625
Hi,

> I am not sure if I misunderstand something or if the documentation is
> inconsistent.
> 
> The PythonPolicy
> https://www.debian.org/doc/packaging-manuals/python-policy/
> tells me that dh_python should be the preferred tool for packaging
> (https://www.debian.org/doc/packaging-manuals/python-policy/#versions)
> 
> But the LibraryStyleGuide
> https://wiki.debian.org/Python/LibraryStyleGuide
> tells me it is pybuild
> (https://wiki.debian.org/Python/LibraryStyleGuide#Overview).
> 
> And the DPT policy
> https://salsa.debian.org/python-team/tools/python-modules/-/blob/master/policy.rst
> tells me something about git-buildpackage and gbp.

the three components work together, or better, are used at different
stages.

* git-buildpackage (which is the same as gbp) is used to manage the
  sources of your package in git

* pybuild is the toolchain that does the building process itself, and
  knows how to run setup.py or other tools, etc.

* dh_python is the debhelper chain, the glue between the package
  building process and pybuild

dh_python can use several different build systems, of which pybuild is
the preferred one. When debhelper calls, e.g. dh_auto_build,
dh_auto_build calls all chains that support the build
target. dh_python does, so it is called, and in turn calls pybuild to
do its magic of figuring out how to do the build for your specific
package at hand.

HTH,
Nik

[toc] | [prev] | [standalone]


Back to top | Article view | linux.debian.maint.python


csiph-web