hannesm / jackline

minimalistic secure XMPP client in OCaml
BSD 2-Clause "Simplified" License
250 stars 20 forks source link

debian: tooling to create debian packages #206

Closed cfcs closed 2 years ago

cfcs commented 4 years ago

This at least builds a debian package that supplies /usr/bin/jackline, albeit a little bit hacky.

cfcs commented 4 years ago

ping @mato @hannesm

hannesm commented 4 years ago

this looks fine to me, apart from minor comments (see above). It'd as well be good to document "how to build a debian package" (it is likely "just run yyy" - but for people like me who don't know what to execute to get a debian package archive, this would be very helpful). thanks! :)

mato commented 4 years ago

@cfcs Thanks for starting on this, and sorry for the delay in replying.

While this does the job, there are a couple of problems.

Most importantly: The success of the Debian package build implicitly depends on an OPAM switch being set up correctly, and as such will not build "from scratch" either in a container or in a chroot-like environment such as one that would be used by a Debian autobuilder, or a locally installed system like pbuilder. This is important, since without being able to build "from scratch" the build is not reproducible at all (in the loose sense of the word, not in the Reproducible Builds sense, but the former is in any case a prerequisite to the latter).

Secondly, I'm not convinced that git-buildpackage is something that we need for the purposes of building a "generic" Debian package. The existing build system (topkg) duplicates some of its workflows (tagging, changelog generation, etc.).

I'll experiment a bit and get back to you, and we can discuss OOB tomorrow.

hannesm commented 2 years ago

thanks, a different approach (using dpkg-deb and orb) has been merged as 459cbe77fefc94576b0a76b918e8dc026d912ebc -- and binary packages will show up soon on https://builds.robur.coop