Re: Binary package contains no Python dependencies, how to convince ‘dh_python3’ to detect them?

2019-01-25 Thread Ben Finney
Piotr Ożarowski  writes:

> gandi-cli name suggests it's not providing public module and thus no
> "public" requires.txt. If you want dh_python3 to read dependencies from
> a random file - make sure dh_python3 knows which one it should use:
>
>  override_dh_python3:
>   dh_python3 --requires path/to/file_with_deps.txt

That doesn't appear to help.

I have instrumented the ‘override_dh_python3’ actions temporarily to
emit the content of the generated ‘requires.txt’ for the package, so it
can be seen in the build output.

The package build run emits this output:

=
running egg_info
[…]
writing requirements to gandi.cli.egg-info/requires.txt
[…]
make[1]: Entering directory '/<>'
cat gandi.cli.egg-info/requires.txt
IPy
click>=3.1
pyyaml
requests
setuptools

[test]
coverage
nose
tox
dh_python3 \
--package gandi-cli \
--requires gandi.cli.egg-info/requires.txt \
debian/gandi-cli/usr/share/gandi-cli/
[…]
=

(When I got the name wrong in earlier runs, ‘dh_python3’ emitted a
warning “cannot find requirements file”. So the fact there is no error
above, suggests that in the above run it is reading the correct file.)

Yet the resulting binary package does not contain any of the
corresponding dependencies.

They are all in ‘/usr/share/dh-python/dist/cpython3_fallback’:

=
$ for dist in setuptools pyyaml click requests IPy ; do grep -i "^$dist\>" 
/usr/share/dh-python/dist/cpython3_fallback ; done
setuptools python3-pkg-resources
PyYAML python3-yaml
click python3-click
requests python3-requests
IPy python3-ipy
=

So why is ‘dh_python3’ not adding them to the binary package
dependencies?

-- 
 \“To me, boxing is like a ballet, except there's no music, no |
  `\   choreography, and the dancers hit each other.” —Jack Handey |
_o__)  |
Ben Finney



Re: Binary package contains no Python dependencies, how to convince ‘dh_python3’ to detect them?

2018-07-16 Thread Piotr Ożarowski
[Ben Finney, 2018-07-15]
> The Debian package ‘gandi-cli’ is building with none of the Python
> library dependencies detected, so the “Depends” field contains none of
> the required Python library packages. Why isn't ‘dh_python3’ reading the
> dependencies from ‘requires.txt’?

gandi-cli name suggests it's not providing public module and thus no
"public" requires.txt. If you want dh_python3 to read dependencies from
a random file - make sure dh_python3 knows which one it should use:

 override_dh_python3:
dh_python3 --requires path/to/file_with_deps.txt

-- 
GPG: 1D2F A898 58DA AF62 1786 2DF7 AEF6 F1A2 A745 7645



Binary package contains no Python dependencies, how to convince ‘dh_python3’ to detect them?

2018-07-15 Thread Ben Finney
Howdy all,

The Debian package ‘gandi-cli’ is building with none of the Python
library dependencies detected, so the “Depends” field contains none of
the required Python library packages. Why isn't ‘dh_python3’ reading the
dependencies from ‘requires.txt’?

When I install the upstream source, it creates the ‘requires.txt’ file
correctly. That file contains PyPI distribution names that should
already map to the correct Debian packages:

=
IPy
click>=3.1
pyyaml
requests
setuptools
…
=

Why is the ‘dh_python3’ run ignoring those, and expanding
“${python3:Depends}” to the empty set? How can I convince ‘dh_python3’
to correctly read the generated ‘requires.txt’?

-- 
 \   “Pinky, are you pondering what I'm pondering?” “Well, I think |
  `\   so, Brain, but ‘apply North Pole’ to what?” —_Pinky and The |
_o__)   Brain_ |
Ben Finney