stemroller
stemroller copied to clipboard
Linux Packaging
Decided to separate this from #1, since it should be trivial to make StemRoller run on Linux, but may be quite difficult to package it in a format that is compatible with many distros. Some questions to think about here:
- Should StemRoller bundle its own
ffmpeganddemucs, or rely on those provided by the distro - What package format should be used? @JuanM04 suggests Flatpak. AppImage and Snap are two other candidates, although the Snap format seems to be used primarily with Ubuntu.
Maybe I'm just old (-school), but personally, I always prefer a package installed via package management over any container flavor. I'd also vote for not bundling ffmpeg or demucs or at least make it optional, because it is more transparent to depend on their system wide installation.
Upstream usually should not even care in which format the package is provided, because package maintainers care for building their distro-specific packages using their package management tools. So providing a source package should be already enough. It does happen pretty often though, that upstream uses some linux flavor themselves and therefore provide a package for their distro themself.
I totally agree. The difficulty though is that maintaining "regular" packages for every distro seems significantly more difficult than shipping a container. Furthermore, most (all?) distros do not have a demucs package that can be simply added as a dependency, because demucs is installed via pip. If you can have ideas on how to solve either of those problems, or would be willing to be a package maintainer for various distros, let me know!
I agree that maintaining packages (or better finding package maintainers) is indeed much more difficult than using containers, so maybe this is generally the way to go/the future. To be honest I haven't even looked into your project, but just subscribed to #1 after having read about it a few days ago on news.ycombinator. Creating a python-demucs package probably is no major problem, but likely creating a proper electron/npm package is. I haven't created many packages for the distro I've been using the last few years (Arch), and also mostly cancelled my own main project recently also because of lacka of time, but can try to help/co-maintain at least if there is some interest.
Thanks @hoopengo for reporting that issue. Let's continue the discussion in #13 for now, as this thread is specifically about packaging/distribution, not running.
Update: please see https://github.com/stemrollerapp/stemroller/issues/29. Closing for now.