SAFE Network in Debian (and Ubuntu, FreedomBox etc.)

SAFE Network should be part of our operating systems. Not just as an addon, but integral to the systems themselves.

As discussed for some time, progress is being made towards integrating SAFE Network with Debian, and I think that work deserves its own topic.

Debian is self-contained. All code in Debian was built from code in Debian. This is different from “registries” like npm.org and crates.io where code dependencies are by default pulled from the interwebs. This difference gets important when aiming for stabilizing a full system: The JavaScript and Rust communities are working in many directions at once, whereas Debian is consolidating every 2-3 years to make a unified distro release, which is then kept stable for another several years.

Ubuntu - an operating system based on a subset of Debian - will likely benefit directly from this, and also have SAFE Network included when Debian does.
FreedomBox - another susbset of Debian with the specific aim of providing turn-key self-hosting for non-technical users - will most likely adopt this Debian packaging as well.

Concrete goal is that users of Debian can do sudo apt install safe-network which will provide them a meaningful set of SAFE Network components, integrated with their system and updated as part of the system itself.
Getting there involves several tasks:

  1. Create a draft functional deb package.
    Done!
  2. Publish draft packages
    (optional: irrelevant for Debian adoption but helps ease bleeding-edge testing till then)
  3. Package all dependencies
    113 Rust crates missing.
  4. Get deb package accepted into Debian officially.
    Pending (awaits dependencies getting packaged).
  5. Refine package to integrate tighter with system
    (see bottom parts of TODO notes)
  6. Maintain package, keeping it in sync with upstream development and aligned with dependencies and other system components.
    Currently (as of 2022-07-31) in sync with upstream release 0.64.2

Do you have questions or concerns? Or perhaps suggestions for functionalities or addons? The floor is open for discussions and debate!

20 Likes

I hit this sometimes too. I’m not sure if creating the topic will help, so if it doesn’t you could instead make the OP a Wiki and add updates to the end of it rather than replying to the topic. If you don’t have permission to make it a Wiki, a mod can for this for you.

2 Likes

I decided to restructure the initial post to allow progressive updates instead, to not need my monologue style writing. I saw the option of turning into a wiki but am not sure there’s a benefit in opening up to everyone editing the text. Thanks anyway for the suggestion - and please do tell if you think I am missing some benefits from turning it into a wiki (I am evidently not familiar with nor very excited by this forum system).

(for those puzzled about the above quote: @happybeing grabbed that merely minutes before I decided to drop that rant part of the initial post)

2 Likes

You may need to make it a Wiki eventually because edits have a cut off. I’m not sure if that’s time from creation or time from last edit, so you might be ok if the edits are never to far apart.

EDIT: we could delete these replies now we’ve had this chat if you like, and keep the topic clean?

1 Like

Hmm, I am just happy to get some posts other than my own here. :wink:

You think this meta discussion is more likely to scare off contributions than an “empty dancefloor”?

Heh! Obviously this forum system will find ways to harrass me - no surprise there. I will keep it in mind - thanks!

3 Likes

Who will maintain the debian packages for the rust crates that are not in debian?

I guess you mean the crates not yet in Debian but required by the core SAFE Network crates - and therefore needed to be packaged as well for core SAFE Network to get accepted into Debian.

I expect to maintain those that others in Debian (most notably the Debian Rust team) picks up before I get to them.

If instead you mean crates not required by core SAFE Network crates, then those will not be packaged - unless someone in Debian gets convinced to do it.

As an example, I am working on a draft packaging of vdash (where the Debian package is planned to be renamed safe-vdash).

If you have some particular crates in mind that you think would be beneficial to have included in Debian, please do elaborate - that might help convince me to take on the task of maintaining them.

update And if you would like to get involved yourself in maintaining some crates officially in Debian, then that would be just awesome! You do not need to first become an official member of Debian to get involved with official Debian packaging mainentance (that’s a common misunderstanding) - what you need is to team up with someone you can do the final push of a package into Debian. I can be that person if you are ok with us collaborating on it (as I don’t want to only push stuff over, socio-politically I insist on improving collaboration in Debian). Or alternatively I am sure the Rust team will welcome you as well (if you like their working style better than mine - I am happy to elaborate on why I am not in that team but only if there’s interest, to not get more technical for no reason).

9 Likes

Thank you for your hard work on this @jonas

5 Likes