|
From: | Sage Gerard |
Subject: | Re: How did you handle making a GNU/Linux distribution? |
Date: | Mon, 23 Aug 2021 12:48:44 +0000 |
I looked at the Xiden documentation and source code a bit, and I couldn't find any actual package definitions, or how to make any package definitions. Where are the 'coreutils' and some text editors like 'nano' or 'emacs' or 'vi' packaged for example? [...] Guix and Xiden could copy code and package definitions from each other (after making some adaptations for Guile vs Racket and different interfaces), though I wouldn't know how realistic that is in advancce.
I put these bits of your email together because I think they are related.
The system-level examples you are looking don't exist because
Xiden is not fully bootstrapped. What I can do in the
short-term is write a launcher that follows LFS, then verifies any
artifacts used for the purpose. I wasn't satisfied with publishing
that approach since it involves implicit trust in system level
dependencies, but you can lean on the zero-trust default config
and use ACLs on the small attack surface to mitigate risks there.
Until a Guile/Racket bridge is formed as Phillip described, or
until GNU Mes is adapted to target Racket, I do not feel
comfortable distributing system-level binaries using Xiden. It's
easy for a user to write a launcher to use them, though. That's
why I put so much focus on writing launchers that define a
contract between your chosen data sources and your subjective
_expression_ of dependencies. Package definitions are subservient to
this approach, because as an abstraction, they sit between the
subsystem that fetches and verifies data, and the subsystem that
understands what a user means when they ask to install a
dependency. The latter is the launcher's job, and I often use one
to generate package definitions, find integrity information, trust
certs, etc.
The end of the guide directs you to example launchers, which set rules for how package definitions work in the context of those launchers. The early examples are just toy demos, but later ones handle things like a particular self-hosting approach, and managing multiple versions of Racket installations.
> Hyperlinks in the manual aren't working:
Let me know which ones in a Github issue? The Racket community
shares a Racket installation for online docs, and I occasionally
run into problems with the generated links. Sometimes its CI
related, sometimes its because I didn't type a Scribble form
exactly right. The docs are all present at least. Entry point
links follow for convenience.
https://docs.racket-lang.org/xiden-guide/index.html
https://docs.racket-lang.org/xiden-white-paper/index.html
https://docs.racket-lang.org/xiden-reference/index.html
Is this GPL-version-3-only or GPL-version-3-or-later?
Currently 3. I didn't add "or later" (yet) because I don't understand the social and legal consequences of doing so, even when new license versions are compatible. Happy to learn more here.
[Prev in Thread] | Current Thread | [Next in Thread] |