[2]. I attach the output of "dpkg -I" for the final binary package, whereNo, as it says "phyton3".
the "Depends: python3" is visible
phyton3 != python3
:)
No, as it says "phyton3".
(I would also expect that using appropriate substvars here is better than writing deps manually)
I attach the output of "dpkg -I" for the final binary package, where
the "Depends: python3" is visible,
On Mon, Jul 10, 2023 at 11:09 AM Andrey Rakhmatullin <wrar@wrar.name> wrote:shlibs:Depends is indeed irrelevant here.
No, as it says "phyton3".
(I would also expect that using appropriate substvars here is better than writing deps manually)
I know, and added ${python3:Depends} and ${shlibs:Depends}, but
"dh-python" seems not to add any substvars, and "shlibs" does neither.
In fact, the "so" module built from the pybind11 wrapper seems not toPython extensions indeed don't need to link libpython, which is (mostly?)
list any python library in "ldd", which also puzzled me:
ldd mrpt/pymrpt.cpython-310-x86_64-linux-gnu.so | grep py
libsnappy.so.1 => /lib/x86_64-linux-gnu/libsnappy.so.1 (0x00007facb732d000)
I checked that other "*cpython.so" modules out there indeed list "libpython3.xxx.so" in their "ldd".(I've checked two random extensiopns and they don't)
I understand this is what is preventing "shlibs" to automatically list python3 as a substvar, but don't know how to fix it.It's not, and shlibs:Depends won't list python3 anyway.
Thanks a lot, Andrey, for the time analyzing the problems here, andIt is, but as extensions are loadable plugins, they are fine with symbols
for the clarifications. I thought libpython was like "libc" for
python...
So the main issue seems to be dh_python3 not recognizing the packageTBH I don't think it's about the file list (though it's possible).
as "python"...
I attach the list of files and directories of the latest package
version just in case it's easy to spot problems from it (the
"__pycache__" are there for a test Ubuntu build, but are not in the
Debian build).
Note that I want to ship:I don't think this makes sense. You should put them wherever the upstream
- A cpython .so module + its .pyi stubs.
- The corresponding py.typed file, which I understand is recommended/mandatory when shipping .pyi stubs.
- Pure python scripts (right now, only "ros_bridge.py").
At present, I put everything under
"/usr/lib/python3/dist-packages/mrpt/" so everything is together, not "polluting" the "dist-packages" directory.
Maybe the package should be named "python3-mrpt" instead?It should always be named for its top-level importable module, see https://www.debian.org/doc/packaging-manuals/python-policy/index.html#module-package-names
Any way to test dh_python3 manually? Perhaps just build the packageYes. And you should run it in the verbose mode.
locally and run dh_python3 from the pkg root directory?
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 299 |
Nodes: | 16 (2 / 14) |
Uptime: | 71:53:30 |
Calls: | 6,694 |
Calls today: | 4 |
Files: | 12,228 |
Messages: | 5,346,587 |
Posted today: | 1 |