mhx / dwarfs

A fast high compression read-only file system for Linux, Windows and macOS
GNU General Public License v3.0
2.11k stars 56 forks source link

[Feature Request] Provide non-generic packaging CI for major linux distributions #225

Open mardab opened 3 months ago

mardab commented 3 months ago

I have tried reproducing build on a "real" Ubuntu 22.04 according to provided docmentation, then adjusting for errors which arose, then repeated the same with provided Dockerfiles.

In all 4 cases builds fail, and while generic release works, I do believe CI for .deb/.rpm package would to wonders do popularization and reproducibility of the builds.

Aside from the fact that as of writing this packages Ubuntu 22.04's universe are a bit long in the tooth for current builds, such improved CI could be more easily extended into providing packages for more demanding systems, such as Flatpak, AppImage, various cloud-oriented formats or Snap'd.

mhx commented 3 months ago

Thanks for your feedback!

I'm not quite sure I understand the core of the issue here, though.

In all 4 cases builds fail,

Can you be more specific about what failures you're seeing?

and while generic release works,

I'm assuming you're referring to the statically linked binary release?

Aside from the fact that as of writing this packages Ubuntu 22.04's universe are a bit long in the tooth for current builds,

Not sure what you mean. The 22.04 Dockerfile exists just to ensure this still builds with 22.04. The regular Dockerfile is based on 24.04, and this is also what's being used for the release builds.

Are you suggesting that the CI should produce deb/rpm/... package artifacts?

mardab commented 2 months ago

Yes, that is exactly what I'm suggesting, with all package artifacts buildable from single container at a bit higher upfront engineering cost and recent calls throughout community to have packages (mostly with Flatpak) be maintained by original author/maintainer, having even the basic packages setup would allow for much easier adoption by people who won't realize that current build documentation might be outdated.

I cannot confirm that one yet, but based that assumption on differences between what's in readme and all those Dockerfiles that pushed me to find actual problems with my setup, which is why I cannot confirm at the time of writing this and until I fix these issues, thank you for leading me onto that discovery.