Open drebs opened 4 years ago
@drebs We'd love to have official debian packaging. In the interim I build debian packages with fpm
which are available here and signed by my personal key: https://github.com/purpleidea/mgmt/releases
If you can help improve this or any other aspect, let us know if you need any information. I should note that mgmt is still changing quite quickly and sadly still contains some bugs, but that doesn't mean any packaging effort isn't appreciated, just expect new versions.
Thanks!
Thanks for the quick response!
Nice, I didn't know about fpm
, will take a closer look. Some questions:
fpm
use the info in the debian/
directory or does it do another process independent of that directory?vendor/
directory? (sorry, but I have no previous Go experiene, so I don't know where to grab that info)mgmt
dev? I agree some packaging efforts can be made in parallel, but it's good to try to foresee what may help avoiding waste of work. :-)@drebs The fpm process isn't "proper" debian packaging, we just build the mgmt binary and dump it in a package. It works though =D
Basically the biggest missing hurdle to make the packaging reproducible is this:
We have a bunch of different golang dependencies. We use git master of all of them except those in vendor/ which are git submodules at a specific tag. We are missing a (probably bash) script to upload the local $GOPATH/src/ with the latest version of everything (basically a go get -u ./...) and then store each of those git tags. This could probably be done using the go mod
tools, except that we'd like to store that in a sub dir somewhere for later use if we wanted to build that exact version again.
We want to avoid using go mod in git master because: https://github.com/purpleidea/mgmt/blob/master/docs/faq.md#why-arent-you-using-glide-godep-or-go-mod-for-dependency-management
HTH
I recently switched some go projects from fpm to nfpm. https://github.com/goreleaser/nfpm A few rough edges, but overall I like it compared to fpm.
nFPM: a simpler, 0-dependency, as-little-assumptions-as-possible alternative to fpm
I don't see how it could be usefully simpler than fpm, and I'm not meaningfully suffering from any dependency issue, and it's certainly not blocking us anywhere, so I have no plans to switch. If this is a patch you want to write and/or you think this can solve this issue somehow, you can let me know.
i might help here?
Please help yourself!
As a side note, I also have some manual scripts that I try to keep updated when doing releases. (In the main Makefile.) In case you'd like to test them out.
Uncomment here: https://github.com/purpleidea/mgmt/blob/master/releases/debian-stable.release#L1 and test make release
if you want to try that.
Cheers
@purpleidea ok thanks. couldn't find RFP nor ITP yet. will consider
I think it would be great for
mgmt
community and Debian users to havemgmt
in the Debian archive, because then it can be easily installed withapt install mgmt
. This would probably increase testing and adoption ofmgmt
and make users like me happy because we'd get cryptographic verification of the binaries and no extra work would be needed to havemgmt
running on Debian systems. Another benefit is we'd also get the package into Ubuntu without any extra effort.One possible workflow to get this done is:
mgmt
Go dependencies in Debian. Recurse these very same steps into them.Depending on the state of dependencies packaging, we might have enough time to get this into the next Debian stable (version 11 codename
bullseye
), which should be released in 2021.I am willing to help with this, if this is something this community is interested in doing.