Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

debian packaging #16

Open
severin-lemaignan opened this issue Aug 16, 2022 · 6 comments
Open

debian packaging #16

severin-lemaignan opened this issue Aug 16, 2022 · 6 comments

Comments

@severin-lemaignan
Copy link

hi! In order to easily depend on reasonable, I'd like to package it on debian.

Packaging reasonable as a deb has however proven to be tricky:

  • reasonable is written in rust, uses maturin to compile the Python bindings
  • the Python package follows the new 'PEP-517'/'PEP-518' convention (instead of distutils) and rely on a pyproject.toml (that specify maturin as build tool). poetry is used to perform the compilation + pypi distribution.
  • debian python helpers (in particular, py2dsc (part of stdeb) and pybuild, part of dh-python) do not yet support PEP-517 (on-going work, but not available in ubuntu 20.04, and, based on the code of the plugin, probably not compatible with maturin)
  • attempted to create by hand (eg with debmake) the debian control + rules, using this rules file:
#!/usr/bin/make -f
export DH_VERBOSE = 1

%:
	dh $@ --with python3

override_dh_auto_build:
	dh_auto_build -- build-python-library

-> compiles, but the resulting .deb is empty -> need to 'install' the compiled libreasonable.so.

Do you have any suggestions/ideas to help with it?

@severin-lemaignan
Copy link
Author

A quick work-around might be to use wheel2deb, I suppose.

@gtfierro
Copy link
Owner

Is there a reason you'd prefer the debian packaging rather than just PyPi?

As a note to myself, because I'm using GH Actions to do the packaging I don't actually have the .whl files locally. Luckily they are hosted on PyPi

@severin-lemaignan
Copy link
Author

We would like to deploy reasonable on our robots, and we have a strict policy of only distributing deb packages on the robots (as this enables a pretty complex game of dependencies + continuous integration). pypi is fine for development, of course, but I'll need to package reasonable as a debian for 'proper' distribution.

Also, it would be nice to have it in the upstream debian/ubuntu repos at some point!

@gtfierro
Copy link
Owner

@severin-lemaignan I've finally got my build pipeline working again and I'm taking a look at the Debian packaging. What architecture should I prioritize if I can't get them all working?

@severin-lemaignan
Copy link
Author

great to hear! My target platform is amd64 (on ubuntu 20.04).

@k00ni
Copy link

k00ni commented Jun 20, 2023

Is there a working Debian/Ubuntu package available?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants