Add Debian package support - #71
Conversation
| The deb package requires Python dependencies that are not bundled due to version compatibility. Install them with pip: | ||
|
|
||
| ```sh | ||
| pip install --break-system-packages f3d Wand |
There was a problem hiding this comment.
Is it not compatible with the version of these package available on the debian repositories?
There was a problem hiding this comment.
I wouldn't say so, but I didn't test that.
There was a problem hiding this comment.
If we provide a debian package, then the dependencies should also be debian packages unless really, really necessary. If it works with the older version of the debian package, then let's go with that
There was a problem hiding this comment.
I believe to maintain cross platform compatibility using Pip is the optimal solution, Beyond that my fork wasn't primarily for debian.
There was a problem hiding this comment.
My personal opinion is the cross platform optimal solution is flatpak because the user will not have to configure multiple things and update is automated.
What did you mean by your debian package is not primarily for Debian? Even Ubuntu/Mint have the same package base.
There was a problem hiding this comment.
I also wanted to repackage it for rpm and pacman, Even then I don't agree on the belief that flathub is optimal so this is the reason I even took the time to make the PR.
There was a problem hiding this comment.
All I am trying to say that Debian package should not depend on pip. A package for Arch is already available https://aur.archlinux.org/packages/exhibit
|
Good point about using system packages where possible. I checked and:
I'll update the README and troubleshooting guide to reflect this — only f3d will need pip, Wand will come from the system package. Thanks for the review! |
Could you also provide a python3-f3d package? It is not hard to convert a pip package into a debian package, especially with AI. |
|
That's a fair suggestion. Creating a proper For now, I'll switch |
You can create a PPA which will have non-standard dependencies like python3-f3d separately (but automatedly) packaged in it, so that everything does not have to be in a single PR. |
|
Good idea — a PPA is a clean home for python3-f3d since it is not in Debian/Ubuntu repos, and it keeps this PR focused on Exhibit itself. I will set that up as a follow-up: a PPA with an automated build for python3-f3d (built from the f3d source), and reference it in the README so users can install everything via apt without pip. The deb package here can then declare python3-wand as a system dependency now and document that f3d comes from the PPA. |
|
Given you already have the deb package for exhibit ready, then you can add it to the ppa so that users will have auto updates. Launchpad builds daily automatically from github |
|
Follow-up on the PPA suggestion: I set up a dedicated packaging repo instead, TheRealFame/f3d-packaging, which builds
Exhibit users on 24.04 would install this deb first, then the exhibit deb. Want me to add a short install note to the PR README pointing at it? |
|
you're talking to a bot btw |
|
What.
|
|
Thank you @TheRealFame, I appreciate your effort, but I am working on not depending on the python bindings, so some things will change. I am not opposed to have Exhibit packaged as native distro packages as I want to also provide a thumbnailer and sushi previewer in upcoming releases. But right now I can't merge this. |
|
Got it, It'll be available at the fork mentioned in the pull request on feature freeze 👍🏼 |
This PR adds Debian package (.deb) support for Exhibit, enabling easier installation on Debian-based distributions (Ubuntu, Linux Mint, etc.).
Key changes:
The deb package is built on GitHub Actions and can be downloaded from the Actions page for manual installation. When tags are pushed, the workflow also creates GitHub releases with the deb package attached.