unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Sage Gerard <sage@sagegerard.com>
To: guix-devel@gnu.org
Subject: Re: How did you handle making a GNU/Linux distribution?
Date: Mon, 23 Aug 2021 12:48:44 +0000	[thread overview]
Message-ID: <9f21a3bc-4e23-2959-ee57-0f54ae4b6e38@sagegerard.com> (raw)
In-Reply-To: <306a6609666c3cae8196a1aace21c987aff88737.camel@telenet.be>

[-- Attachment #1: Type: text/plain, Size: 2871 bytes --]

> 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.

[-- Attachment #2: Type: text/html, Size: 4159 bytes --]

  reply	other threads:[~2021-08-23 12:49 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-21 16:43 How did you handle making a GNU/Linux distribution? Sage Gerard
2021-08-21 21:18 ` Leo Famulari
2021-08-22 21:53   ` Sage Gerard
2021-08-22 22:54     ` Philip McGrath
2021-09-13  3:09       ` Christine Lemmer-Webber
2021-10-02  3:32         ` Philip McGrath
2021-10-02 12:59           ` Christine Lemmer-Webber
2021-08-23 10:43 ` Maxime Devos
2021-08-23 12:48   ` Sage Gerard [this message]
2021-08-23 15:38 ` zimoun
2021-08-23 17:30   ` Philip McGrath
2021-08-24 10:24     ` zimoun
2021-08-23 18:24   ` Sage Gerard
2021-08-23 19:23     ` Ryan Prior
2021-08-23 20:00       ` Sage Gerard
2021-08-24 16:42     ` Maxime Devos
2021-08-24 17:17       ` Sage Gerard

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=9f21a3bc-4e23-2959-ee57-0f54ae4b6e38@sagegerard.com \
    --to=sage@sagegerard.com \
    --cc=guix-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).