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


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

Does “${python3:Depends}” reliably generate correct dependencies?

Started byBen Finney <ben+debian@benfinney.id.au>
First post2015-10-25 06:20 +0100
Last post2015-10-25 10:30 +0100
Articles 6 — 5 participants

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


Contents

  Does “${python3:Depends}” reliably  generate correct dependencies? Ben Finney <ben+debian@benfinney.id.au> - 2015-10-25 06:20 +0100
    Re: Does “${python3:Depends}”  reliably generate correct dependencies? Brian May <brian@linuxpenguins.xyz> - 2015-10-25 08:00 +0100
    Re: Does “${python3:Depends}” reliably generate correct dependencies? Scott Kitterman <debian@kitterman.com> - 2015-10-25 10:10 +0100
      Re: Does “${python3:Depends}” reliably generate  correct dependencies? Dmitry Shachnev <mitya57@debian.org> - 2015-10-25 10:20 +0100
      Re: Does “${python3:Depends}”  reliably generate correct dependencies? Piotr Ożarowski <piotr@debian.org> - 2015-10-25 10:40 +0100
    Re: Does “${python3:Depends}”  reliably generate correct dependencies? Piotr Ożarowski <piotr@debian.org> - 2015-10-25 10:30 +0100

#7790 — Does “${python3:Depends}” reliably generate correct dependencies?

FromBen Finney <ben+debian@benfinney.id.au>
Date2015-10-25 06:20 +0100
SubjectDoes “${python3:Depends}” reliably generate correct dependencies?
Message-ID<qnlSN-643-1@gated-at.bofh.it>
Howdy all,

If we set “Depends: ${python3:Depends}” in the binary package, and use
‘dh_python3’, is that all that is needed to ensure the correct
dependencies on Python 3 versions?

Recently I received this bug report (Bug#802889):

    please don't depend on all python3 versions, forcing the
    installation of all python versions shouldn't be enforced for a
    module.

    $ apt-cache show python3-coverage | grep Depends
    Depends: python3-pkg-resources, python3 (<< 3.6), python3 (>= 3.4~),
    python3.4, python3.5, libc6 (>= 2.4)

    <URL:https://bugs.debian.org/802889>

So far as I can tell, these dependencies are generated because
“Depends: […] ${python3:Depends}” is in that “Package” definition.

On a Debian Sid system today, building a package for Python 3, along
with its extension modules, means building it for all supported Python 3
versions. Are the above dependencies wrong for that?

If the dependencies are incorrect, what should be used in the Depends
field instead of “${python3:Depends}”?

If the dependencies are correct, exactly what should I say in
explanation to the reporter of Bug#802889?

-- 
 \         “Smoking cures weight problems. Eventually.” —Steven Wright |
  `\                                                                   |
_o__)                                                                  |
Ben Finney

[toc] | [next] | [standalone]


#7791 — Re: Does “${python3:Depends}” reliably generate correct dependencies?

FromBrian May <brian@linuxpenguins.xyz>
Date2015-10-25 08:00 +0100
SubjectRe: Does “${python3:Depends}” reliably generate correct dependencies?
Message-ID<qnnrz-74N-1@gated-at.bofh.it>
In reply to#7790
Ben Finney <ben+debian@benfinney.id.au> writes:

> If the dependencies are correct, exactly what should I say in
> explanation to the reporter of Bug#802889?

If the complaint is that Python3.4 and Python3.5 are required, I believe
this expected behaviour due to the python3.5 transition that is in
progress. This will get resolved once the transition is complete.
-- 
Brian May <brian@linuxpenguins.xyz>
https://linuxpenguins.xyz/brian/

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


#7795 — Re: Does “${python3:Depends}” reliably generate correct dependencies?

FromScott Kitterman <debian@kitterman.com>
Date2015-10-25 10:10 +0100
SubjectRe: Does “${python3:Depends}” reliably generate correct dependencies?
Message-ID<qnptn-mg-13@gated-at.bofh.it>
In reply to#7790

On October 25, 2015 1:17:17 AM EDT, Ben Finney <ben+debian@benfinney.id.au> wrote:
>Howdy all,
>
>If we set “Depends: ${python3:Depends}” in the binary package, and use
>‘dh_python3’, is that all that is needed to ensure the correct
>dependencies on Python 3 versions?
>
>Recently I received this bug report (Bug#802889):
>
>    please don't depend on all python3 versions, forcing the
>    installation of all python versions shouldn't be enforced for a
>    module.
>
>    $ apt-cache show python3-coverage | grep Depends
>   Depends: python3-pkg-resources, python3 (<< 3.6), python3 (>= 3.4~),
>    python3.4, python3.5, libc6 (>= 2.4)
>
>    <URL:https://bugs.debian.org/802889>
>
>So far as I can tell, these dependencies are generated because
>“Depends: […] ${python3:Depends}” is in that “Package” definition.
>
>On a Debian Sid system today, building a package for Python 3, along
>with its extension modules, means building it for all supported Python
>3
>versions. Are the above dependencies wrong for that?
>
>If the dependencies are incorrect, what should be used in the Depends
>field instead of “${python3:Depends}”?
>
>If the dependencies are correct, exactly what should I say in
>explanation to the reporter of Bug#802889?

Usually you only get the dependency on the specific python3 interpreters if there's a script with a shebang using that version.  I'd check for that.

It could either be in the original source or due to dh_python3 doing something interesting in shebang rewriting (IIRC there's a known issue that P1otr is working on).

Scott K

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


#7797 — Re: Does “${python3:Depends}” reliably generate correct dependencies?

FromDmitry Shachnev <mitya57@debian.org>
Date2015-10-25 10:20 +0100
SubjectRe: Does “${python3:Depends}” reliably generate correct dependencies?
Message-ID<qnpD4-t9-17@gated-at.bofh.it>
In reply to#7795

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

On Sun, 25 Oct 2015 05:05:08 -0400, Scott Kitterman wrote:
> Usually you only get the dependency on the specific python3 interpreters if
> there's a script with a shebang using that version.  I'd check for that.
>
> It could either be in the original source or due to dh_python3 doing something
> interesting in shebang rewriting (IIRC there's a known issue that P1otr is
> working on).

I think this is intended because:

  $ head -n1 </usr/bin/python3.4-coverage 
  #!/usr/bin/python3.4
  $ head -n1 </usr/bin/python3.5-coverage 
  #!/usr/bin/python3.5

Looks like coverage supports being invoked as “python3.x -m coverage”, so there
is no point in shipping per-Python-version scripts (having one script named
python3-coverage will be enough).

--
Dmitry Shachnev

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


#7799 — Re: Does “${python3:Depends}” reliably generate correct dependencies?

FromPiotr Ożarowski <piotr@debian.org>
Date2015-10-25 10:40 +0100
SubjectRe: Does “${python3:Depends}” reliably generate correct dependencies?
Message-ID<qnpWp-FB-9@gated-at.bofh.it>
In reply to#7795
[Scott Kitterman, 2015-10-25]
> Usually you only get the dependency on the specific python3
> interpreters if there's a script with a shebang using that version.
> I'd check for that.

right

> It could either be in the original source or due to dh_python3 doing
> something interesting in shebang rewriting (IIRC there's a known issue
> that P1otr is working on).

dh_python3 does the right thing

What I wanted to improve is pybuild which calls default interpreter as
python3 but if the default version is <= than other supported ones, it
it not called last (so until 3.5 is the default, it's possible that 3.5
is overwriting /usr/bin/python3 shebangs)
-- 
Piotr Ożarowski                         Debian GNU/Linux Developer
www.ozarowski.pl          www.griffith.cc           www.debian.org
GPG Fingerprint: 1D2F A898 58DA AF62 1786 2DF7 AEF6 F1A2 A745 7645

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


#7798 — Re: Does “${python3:Depends}” reliably generate correct dependencies?

FromPiotr Ożarowski <piotr@debian.org>
Date2015-10-25 10:30 +0100
SubjectRe: Does “${python3:Depends}” reliably generate correct dependencies?
Message-ID<qnpMJ-zw-9@gated-at.bofh.it>
In reply to#7790
[Ben Finney, 2015-10-25]
> Howdy all,
> 
> If we set “Depends: ${python3:Depends}” in the binary package, and use
> ‘dh_python3’, is that all that is needed to ensure the correct
> dependencies on Python 3 versions?

you also have to add correct Build-Dependencies (if not for something
else, then because you need them for tests)

> Recently I received this bug report (Bug#802889):
> 
>     please don't depend on all python3 versions, forcing the
>     installation of all python versions shouldn't be enforced for a
>     module.

my bet is you have versioned interpreter in shebang (which dh_python3
doesn't rewrite unless you tell it to via --shebang=/usr/bin/python3)
-- 
Piotr Ożarowski                         Debian GNU/Linux Developer
www.ozarowski.pl          www.griffith.cc           www.debian.org
GPG Fingerprint: 1D2F A898 58DA AF62 1786 2DF7 AEF6 F1A2 A745 7645

[toc] | [prev] | [standalone]


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


csiph-web