[distri] Re: distri and hook/trigger-less package management

  • From: Michael Stapelberg <michael+distri@xxxxxxxxxxxxx>
  • To: distri@xxxxxxxxxxxxx
  • Date: Wed, 30 Oct 2019 18:56:17 +0100

Hey Joey,

thanks for your interest, and apologies for the delayed reply; I’m
currently traveling. Answers inline:

On Sun, Oct 27, 2019 at 8:37 PM Joey Smith <joeysmith@xxxxxxxxx> wrote:

I've been following your blog posts for a few months, and am really
interested in your ideas. I recently spent many painful months moving away
from Debian after nearly 20 years (I believe it was actually Ian Jackson
who burned me a copy of the proposed "Hamm" ISOs at USENIX 1998 in New
Orleans) to alpine for a long list of reasons I don't need to import here.

I'm wondering if your ideas about hookless package management have been
implemented in distri yet?


I assume you’re referring to my blog post
https://michael.stapelberg.ch/posts/2019-07-20-hooks-and-triggers/, and
specifically about hooks which are not package-specific and hence should be
handled by the package manager in a declarative manner, yes?


Specifically, I am looking forward to seeing how to manage system users in
a hookless way. I tried skimming through the code, but I'm not really
comfortable quite yet in golang, so it wasn't obvious to me what I should
be looking for. If you can point me in the right direction, I'd love to see
how it works,


Perhaps
https://github.com/distr1/distri/blob/dff7503c100f9bb9e169edb17b0277308af74dda/cmd/distri/install.go#L350
helps?
That’s how we’re creating system users after installing packages which
include a systemd-sysusers config file.

We haven’t implemented other behaviors yet. Are you interested in any
particular one, aside from the system users one?


and maybe try packaging a few things to try it out.


Be sure to check out
https://repo.distr1.org/distri/jackherer/docs/building.html and
https://repo.distr1.org/distri/jackherer/docs/package-format.html before
diving into it.

You can use “distri scaffold” to generate a build.textproto based on an
upstream source tarball and iterate from there.

Hope this helps,

Other related posts: