mirror of
https://github.com/quamotion/dotnet-packaging.git
synced 2026-02-14 21:32:52 +00:00
What it the current status of deb packages support?
#10
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @kekekeks on GitHub (Oct 2, 2017).
As I can see there is a feature branch for that, but it has been stalled for quite a while.
I need that feature and want to help with finishing it. What is currently missing and needs to be implemented? If I remember correctly,
debpackage is a combination ofarandtar.gzarchives with text-based metadata files inside, so it shouldn't be as hard as RPM.Note: I hereby confirm that I've read https://www.debian.org/doc/manuals/maint-guide/ and have packaged several Mono-based applications. I also was a maintainer of Mono packages for Maemo 5 (Debian-based OS on Nokia N900), so I know what all those fields in control files mean.
@qmfrederik commented on GitHub (Oct 2, 2017):
@kekekeks Thanks for your contributions & willing to help out.
You are right, work on the deb support has stalled for a while - mainly due to a lack of time.
I'm happy to take contributions. Yes, deb packages are a combination of
ar+tar.gzarchives and the maintainers guide contains a lot of valueable information on that file format (so in a sense I expect the deb format to be easier than the RPM format, for example).Pull requests are welcome! Ideally, you send them to the feature branch and we merge the feature branch once we feel it is stable.
For me, the exit criteria is that the
dotnet debcommand can package the demo project and deploy it on a vanilla Debian/Ubuntu installation as a self-contained application.That would include declaring dependencies, deploying it as a systemd service, creating a user + group, setting permissions,... .
@qmfrederik commented on GitHub (Oct 2, 2017):
One more note - for the RPM support, I took an some existing RPM packages (such as libplist or usbmuxd, basically because they are really straightforward) and added unit tests that re-create these packages from scratch using the code in this repository. I then tried to make the output binary compatible and added that as unit tests.
I know requiring the output to be binary compatible may seem overkill, but that way you are sure you've caught all of the subtleties of the file format.