What I visioned was this roughly something like this:
step 1: a functional service for canonical release in Guix (0.10.1). It
step 1.1: You can interact with it as a user, group "gnunet".
step 1.2: we check against current HEAD of gnunet git what changed, if
the service works as intended (it should work without any changes).
step 2: we write micro additions to the service. This step could be
ignored and we'd just go this way:
version 1: provide a simple config via file-like object.
version 2: like the git-daemon-service, with options.
version 3: we add something which is similar to tor-service addition
"hidden-service", but for gnunet.. I had some more concrete ideas, this
is just written from memory. Once we get there I can tell you more.
Of course these are just my ideas.. I value ideas, opinions and the
person who implements the service at first can do it like they want.
Fixes and additions can still be made later on.
My idea for infotropique OS is to have snapshots of GNUnet, "gnunet" is
either the release or something as stable as a release. We freeze / save a
commitid when the hashformat in gnunet-fs will change or other functions
which could render data of people using it unusable. This way you have
the option (in theory) to get data back even if the format changed.
(More on this later in the re-written documentation)
> Then I'll get engaged with the actual thing. I hope that the step through
> the current stable version iis not necessary
> I'd love to start directly from a (reasonably woring) git checkout
The thing is, the basic service is easy. It just needs to start gnunet
and you need to be able to do some basic functions with it (you'll see
it anyway if it doesn't start).
The problem is that I was unable to get Guix to include a git checkout
of GNUnet. In 2015 some fixes included suid related commits, and in
2017 again (in GNUnet).
Because this is for Guix, we need to thing Guix first and infotropique OS
last. The adjustment of 'gnunet' is just a change of the 'package' value
in the system-config.
So it's easier to work with the 0.10.1 and hope that the last gnunet bug
in 0.11/0.10.2 gets closed soon enough.
Regarding the "suid" comment: There are some notes on suid in Guix, and most
of my notes on them are in the gnunet service for Gentoo.
There's also a slight chance that I have experienced https://gnunet.org/bugs/view.php?id=3806 when I tried to create the service or that I have just been not thinking
very logical (the mentioned bug should be gone with recent gnURL versions,
but I haven't had time to have GNUnet actually running for some time (on GuixSD) other
than builds and test suites).