[PATCH maintenance] doc: guix-days-2024: Add notes from the infrastructure discussion.

  • Done
  • quality assurance status badge
Details
4 participants
  • Jonathan Brielmaier
  • Adriel Dumas--Jondeau
  • Ludovic Courtès
  • Steve George
Owner
unassigned
Submitted by
Jonathan Brielmaier
Severity
normal
J
J
Jonathan Brielmaier wrote on 1 Feb 18:13 +0100
(address . guix-patches@gnu.org)
20240201171315.16778-1-jonathan.brielmaier@web.de
* doc/guix-days-2024/infrastructure.md: New file.
---
doc/guix-days-2024/infrastructure.md | 54 ++++++++++++++++++++++++++++
1 file changed, 54 insertions(+)
create mode 100644 doc/guix-days-2024/infrastructure.md

Toggle diff (60 lines)
diff --git a/doc/guix-days-2024/infrastructure.md b/doc/guix-days-2024/infrastructure.md
new file mode 100644
index 0000000..a226041
--- /dev/null
+++ b/doc/guix-days-2024/infrastructure.md
@@ -0,0 +1,54 @@
+# Infrastructure
+
+## Why (ideal world)
+Areas where we could improve
+* serve the whole world web
+* redundancy
+* low maintenance (labour), but maintained, supported and observed
+* understood, documented and transparent
+* sustainable (financially and environmental)
+
+Other (okeish) things
+* secure and trusted
+* privacy considerations
+* scaleable
+* no cost to use
+* ethical
+* hosted or project owned hardware?
+* minimal but futureproof
+* provides (substitutes etc.)
+* efficient operations (bandwith)
+
+## What is our infrastructure
+* Build farms
+* Security and trust
+* Services
+ * QA
+ * issues/bug tracker
+ * git
+ * website
+ * package search
+ * mailing lists
+ * DNS
+ * IRC
+* substitutes
+* sysadmin
+ * updates
+ * software e.g. guix deploy
+ * support
+ * incident response
+* money, donations
+* location, hosting
+* virtual/physical hardware
+* state, storage
+
+## Ideas for improvement
+* mirroring
+ * use a CDN
+ * peer-to-peer hosting
+* equivalence ignoring reference hashes
+* substitutes
+ * storage for the Bordeaux build farm
+ * how long do we store them (scientific community "loves" substitutes for the past)
+ * prepare for the loss of MDC hosting (Berlin build farm)
+* pay/financially support people providing hardware
--
2.43.0
J
J
Jonathan Brielmaier wrote on 2 Feb 17:31 +0100
[PATCH 1/2 maintenance] doc: guix-days-2024: Add notes about hurd session.
(address . 68876@debbugs.gnu.org)
20240202163114.7759-1-jonathan.brielmaier@web.de
* doc/guix-days-2024/hurd.md: New file.
---
doc/guix-days-2024/hurd.md | 48 ++++++++++++++++++++++++++++++++++++++
1 file changed, 48 insertions(+)
create mode 100644 doc/guix-days-2024/hurd.md

Toggle diff (54 lines)
diff --git a/doc/guix-days-2024/hurd.md b/doc/guix-days-2024/hurd.md
new file mode 100644
index 0000000..6d30a8d
--- /dev/null
+++ b/doc/guix-days-2024/hurd.md
@@ -0,0 +1,48 @@
+# Hurd + Guix
+
+* a few people in the room have run the Hurd before, even less on baremetal machines
+
+## Challenges
+* hurd on bare metal is difficult -> missing drivers
+* hurd supports only small disks (up to 100GB or so)
+* mach provides less then Linux kernel (file system, network etc) -> bootstrap is hard
+
+## Upstream status
+* 64bit (x86) support WIP
+* support for SMP (multi-threading)
+* port to aarch64 was started
+* Debian is mostly used for developing/integrated
+* activity increased a lot in the last 2 years (1 person -> couple contributors)
+* patches are pushed to glibc upstream
+
+## Guix on hurd
+* netdde (Linux kernels built for mach) -> Guix integration non-working
+* rumpdisk, disk drivers from NetBSD -> integrated in Guix already
+* rumpnet (for WiFi, network drivers etc.)
+* Guix with Hurd image available https://guix.gnu.org/en/download/latest/ including:
+ * netdde and rumpdisk included
+ * shepherd
+* glibc in core-updates contains many improvements for the Hurd
+ * 2.39 brings even more fixes, but maybe to late for core-updates
+* Bordeaux and Berlin build farms build packages for i586-gnu
+ * only master, core-updates currently disabled
+* `guix system reconfigure` broken on core-updates
+* rust@1.75 is cross-compilable from Linux
+* Mes builds on the hurd, stage0 misses support for mach+hurd
+ * so no bootstrap of Guix yet
+
+## Ideas
+* implement /gnu/store as a hurd translator
+* install Hurd via Guix installer
+* writing Guile bindings for Hurd translator
+* work closer together with Hurd devs
+* mach kernel can be "stretched" over network -> build "clusters"
+
+* how can users/devs start with Hurd
+ * run either via childhurd or Hurd VM
+ * childhurd allows offloading from Guix@Linux
+ * write a simple translator
+* what would help the Hurd ecosystem
+ * fix failing packages
+* empower users (non-admins) -> idea shared by Hurd and Guix
+ * "Linux+systemd+rust" is making things complex (high entry barrier)
--
2.43.0
J
J
Jonathan Brielmaier wrote on 2 Feb 17:31 +0100
[PATCH 2/2 maintenance] doc: guix-days-2024: Add notes about CLI session.
(address . 68876@debbugs.gnu.org)
20240202163114.7759-2-jonathan.brielmaier@web.de
* doc/guix-days-2024/cli.md: New file.

Co-authored-by: Adriel Dumas--Jondeau <leirda@disroot.org>
---
doc/guix-days-2024/cli.md | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)
create mode 100644 doc/guix-days-2024/cli.md

Toggle diff (36 lines)
diff --git a/doc/guix-days-2024/cli.md b/doc/guix-days-2024/cli.md
new file mode 100644
index 0000000..7d7808d
--- /dev/null
+++ b/doc/guix-days-2024/cli.md
@@ -0,0 +1,30 @@
+# CLI of Guix
+
+## How a perfect CLI would look like?
+* consistent
+* self-explaining
+* intuitive
+* mapping between API and CLI (e.g. easier REPL)
+* output can be parsed (composability)
+* flexible outputs
+* override defaults (aliases or extensions)
+* should be fast
+* auto completion, support for tabbing
+
+## What's the current state (good or bad)?
+* consistency in conventions (mostly)
+* fast tab completion
+* 39 top-level commands (`guix top-level-command`)
+* guix refresh / lint / style / challenge / download / hash are toplevel but really specific
+* Some options are not consistent between different commands
+ * `guix system list-generations` vs `guix pull --list-profile`
+* the `guix import` command is hard coded so we can't plug new importers with a channel for instance
+* the order of channel specification is important in regard to definitions (might not be the case anymore)
+* there's a common confusion between the name of the package and the name of the variable that holds the package
+
+## What we can improve
+* make guix extensions / modules more accessible
+ * there's something about that on a git repo of Andreas
+* package name writing differs between CLI and code (e.g. "glibc:debug" vs glibc `("debug"))
+* `guix shell --development spec` should accept a = sign (`guix shell --development=spec`)
+* Having a equivalent of the CLI example for the REPL in documentation
--
2.43.0
L
L
Ludovic Courtès wrote on 4 Feb 00:54 +0100
Re: bug#68876: [PATCH maintenance] doc: guix-days-2024: Add notes from the infrastructure discussion.
(name . Jonathan Brielmaier)(address . jonathan.brielmaier@web.de)
87r0htf6i9.fsf_-_@gnu.org
Hello comrades!

Jonathan Brielmaier <jonathan.brielmaier@web.de> skribis:

Toggle quote (2 lines)
> * doc/guix-days-2024/hurd.md: New file.

[...]

Toggle quote (4 lines)
> * doc/guix-days-2024/cli.md: New file.
>
> Co-authored-by: Adriel Dumas--Jondeau <leirda@disroot.org>

Applied both, thanks a lot!

I’ve added my notes too; let’s hunt the other note-takers tomorrow! :-)

Ludo’.
Closed
A
A
Adriel Dumas--Jondeau wrote on 6 Feb 10:36 +0100
[PATCH] [PATCH maintenance] doc: guix-days-2024: Add notes from the profiling discussion.
(address . 68876@debbugs.gnu.org)
20e0abfb8d6e7c4584b2c7dea292669f1a63a29f.1707211674.git.leirda@disroot.org
Change-Id: I57abb36cbab43010f43270e626087cb2cb211c14
---
doc/guix-days-2024/profiling.md | 81 +++++++++++++++++++++++++++++++++
1 file changed, 81 insertions(+)
create mode 100644 doc/guix-days-2024/profiling.md

Hi o/

Here are the notes (unmodified, but we now know why ~,trace~ doesn't
behave the same in a ~guix repl~ than in ~guile~, as it is not the same
VM used in both) we've taken during the profiling session.

Toggle diff (100 lines)
diff --git a/doc/guix-days-2024/profiling.md b/doc/guix-days-2024/profiling.md
new file mode 100644
index 0000000000..f484a2ff3c
--- /dev/null
+++ b/doc/guix-days-2024/profiling.md
@@ -0,0 +1,81 @@
+# What is profiling?
+
+- Have an idea of the execution time of part of code
+- Have some kind of flame graph
+- What feels slow (not necessarily what is slow)
+- Where's RAM most used?
+
+# What should be profiled?
+
+- guix authenticate
+- guix system/home
+- guix pull
+- not the compilation itself
+- Guix system start time (like ~systemd-analyse~)
+- Time of deployments
+
+# Why?
+
+- To be able to use Guix on low-end/older devices
+- Building a package is long (because of compilation)
+- Pulling is slow (because of network)
+- Computing Guix derivations (guix system init/reconfigure)
+- Authenticating guix commits (especially with many/big commits)
+
+- It's compelling (for HPC people for instance)
+
+- To know where there's progress to be made
+- ~make~ in the Guix repo is slow so testing is not as immediate as it could be
+- As small/fast finale binary as possible
+- To get a feel of what specs are needed to do actual stuff
+
+# How?
+
+- Guile has ~trace~ / ~profile~ procedure that you could use on Guix procs
+ - How to make a flame graph from this data or any other format?
+- Retrieving some metrics on demand from build systems (via ~guix build~)
+ - to get logs RAM/space/temporal usage during compilation
+- Profiling daemons resources usage from shepherd (exposing those profiling options to users)
+- Making shepherd services to profile ~guix shell --container~
+
+# Starting point
+
+```
+$ guix repl
+(guix-user)> ,use (guix scripts build)
+(guix-user)> ,profile (guix-build "hello")
+% cumulative self
+time seconds seconds procedure
+ 24.00 0.16 0.16 put-string
+ 16.00 0.11 0.11 write
+ 12.00 0.11 0.08 append
+ 12.00 0.08 0.08 get-bytevector-n
+ 4.00 0.05 0.03 guix/gexp.scm:809:0:gexp-attribute
+ 4.00 0.03 0.03 string->utf8
+ 4.00 0.03 0.03 guix/packages.scm:1969:0:package->derivation
+ 4.00 0.03 0.03 regexp-exec
+ 4.00 0.03 0.03 cons
+ 4.00 0.03 0.03 guix/store.scm:1426:4
+ 4.00 0.03 0.03 apply-smob/1
+ 4.00 0.03 0.03 sort
+(guix-user)> ,trace (guix-build "hello") ; doesn't output any trace for some reason
+/gnu/store/6fbh8phmp3izay6c0dpggpxhcjn4xlm5-hello-2.12.1
+(guix-user)> ^D
+$ guile
+(guile-user)> ,use (guix scripts build)
+(guile-user)> ,trace (guix-build "hello") ; however it does work
+trace: | (guix-build "hello")
+trace: | | (_ (guix scripts) #:ensure #f)
+trace: | | (_ #<procedure 7ff4802c5000 at ice-9/boot-9.scm:3241:7 ()>)
+trace: | | | (lock-mutex #<mutex 7ff487d01fc0>)
+...
+trace: | | | | | | (fileno #<output: file /dev/pts/3>)
+trace: | | | | | | 1
+trace: | | | | | | (bytevector->pointer@system/foreign #vu8(0 0 0 0 0 0 0 0))
+trace: | | | | | | (bytevector->pointer #vu8(0 0 0 0 0 0 0 0))
+trace: | | | | | | #<pointer 0x7ff48036a7d0>
+```
+
+```sh
+$ guix build --verbosity=<big number> --debug=<big number>
+```

base-commit: a4464bd0975c811f18af98f69032b29bddda5b81
prerequisite-patch-id: cefc174692b72660bf5ed4c03442f33dbaf6e784
prerequisite-patch-id: 6b1015959d122056b883e766306b0ff8ba30bde9
prerequisite-patch-id: a3116f7908bc9fdb237e4cde52260856b083596d
prerequisite-patch-id: db1d3d945579284d401944b18fcbc506a000714f
prerequisite-patch-id: 84bff5e4689979f565315edf96250ccc367f8fb8
prerequisite-patch-id: bd69d4115bc86b7d2739e9890625788f1fa5a006
prerequisite-patch-id: 0834ca6f4e7f1ed91b5dcb679096a953a6e36273
prerequisite-patch-id: 9812bf7906d21768559f10f97d8363d2a18fc7e9
prerequisite-patch-id: 68e70365da7db55420105f7cb12c9fffb80d2415
--
2.41.0
S
S
Steve George wrote on 7 Feb 17:01 +0100
[PATCH 3/4] guix-days-2024: Add goblins-hoot-guix.md.
(address . 68876@debbugs.gnu.org)
5b1d647fec3e62551b679552d355baeea4f9f9f2.1707321700.git.steve@futurile.net
* /doc/guix-days-2024/goblins-hoot-guix.md: New file.
---
doc/guix-days-2024/goblins-hoot-guix.md | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
create mode 100644 doc/guix-days-2024/goblins-hoot-guix.md

Toggle diff (25 lines)
diff --git a/doc/guix-days-2024/goblins-hoot-guix.md b/doc/guix-days-2024/goblins-hoot-guix.md
new file mode 100644
index 0000000..f09df34
--- /dev/null
+++ b/doc/guix-days-2024/goblins-hoot-guix.md
@@ -0,0 +1,17 @@
+# Goblins, Hoot & Guix
+
+## Goblins demo
+
+- Date: Thursday, 1st February 2024
+- Speaker: Christine Lemmer-Webber
+
+- Christine introduced Goblins, gave a demo and discussed current goals
+- Outlined a vision for how Goblins distributed object programming environment and Guix can work together.
+
+## Goblins, Hoot & Guix
+
+- Date, Friday, 2nd February 2024
+- Co-ordinator: Christine Lemmer-Webber
+
+- Discussion about how the projects can work together
+- Notes TBD
--
2.41.0
S
S
Steve George wrote on 7 Feb 17:01 +0100
[PATCH 2/4] guix-days-2024: Update notes and reorganise.
(address . 68876@debbugs.gnu.org)
4a836d4bdfeff9f5ff50a0eda267c87ea5ecae7d.1707321700.git.steve@futurile.net
* plenary.org: Integrate additional notes & reorganise.
---
doc/guix-days-2024/0_plenary.md | 93 +++++++++++++++++++++++++++++++++
1 file changed, 93 insertions(+)
create mode 100644 doc/guix-days-2024/0_plenary.md

Toggle diff (101 lines)
diff --git a/doc/guix-days-2024/0_plenary.md b/doc/guix-days-2024/0_plenary.md
new file mode 100644
index 0000000..3edb580
--- /dev/null
+++ b/doc/guix-days-2024/0_plenary.md
@@ -0,0 +1,93 @@
+# Notes from the Guix Days plenary session
+
+- Date: Thursday, Feb. 1st, 2024 and Friday, Feb. 2nd, 2024
+- Attendees: 33 people at the events opening, including new users and Nix people
+
+## Main Track
+
+- Introduction to Goblins by Christine from Spritely Institute
+- Status of Guix by Efraim
+- Guix QA update by Chris
+
+Sessions:
+
+- [Goblins and Hoot](goblins-hoot-guix.md) (Christine)
+- [Infrastructure](infrastructure.md) (Alexis)
+- Documentation (Julien)
+- Guix Home (Gabor)
+- [Alternative Architectures](architecture-support.org) (Efraim)
+- Bootstrapping (Janneke)
+- Release (Julien)
+
+
+### Day 2
+
+Sessions:
+
+- Funding (Christine)
+- [Governance/Maintainers](governance.org) (Efraim + Chris)
+- [Patch flow](patch-flow.md) (Steve)
+- [Guix CLI improvements](cli.md) (Jonathan)
+- Profiling (Adriel)
+- Hurd (Janneke)
+- L10N (Julien)
+- [Hoot](goblins-hoot-guix.md) (Christine)
+- Newbie room (Gabor)
+- Onboarding (Gabor)
+
+
+### Ideas that didn’t make it to sessions
+
+- Shepherd
+- HPC
+
+
+## Status update (Efraim)
+
+ - last release 1 year old
+ - installer
+ - working okay
+ - does not cater to the needs of power users (e.g., btrfs on encrypted)
+ - problems when choosing EXWM
+ - allow choosing the Hurd?
+ - substitute availability is good for x86_64
+ - currently 98% or so
+ - qa.guix gives a summary
+ - 32-bit support is in a poor state
+ - idea: estimate i686 substitute usage using server logs?
+ - is ARMv7 (32-bit, armhf-linux) used at all?
+ - onboarding
+ - "not a lot of projects are doing email patches"
+ - people maintain their own stack of patches they don't submit
+ - "we need to do something on our side"
+ - teams
+ - "nice but not perfect", "mostly working"
+ - what about patches with no associated teams?
+ - Rust team is just Efraim
+ - sysadmin
+ - small bus factor
+ - Chris in charge qa.guix, data.guix, etc.
+ - berlin was building slowly early January: needed to vacuum the
+ posgresql database
+ - we're moving faster
+ - #5 on Repology
+ - we should talk more about package availability
+ - time traps
+ - "virtual build machine" service to address that
+ - could be used for 2038 bug testing
+ - RISC-V builds broke with some kernel update
+ - SWH
+
+## Guix Quality assurance update (Chris Baines)
+
+ - architecture diagram
+ - entry points: https://qa.guix.gnu.org/patches,
+ https://qa.guix.gnu.org/reproducible-builds
+ - question about “slowness” of builds
+ - could use a different prioritirization method
+ - could add more hardware
+ - https://bordeaux.guix.gnu.org/activity -> it’s busy :-)
+
+## Actions
+
+- TBD
--
2.41.0
S
S
Steve George wrote on 7 Feb 17:01 +0100
[PATCH 4/4] guix-days-2024: Add 2024-guix-days-infrastructure-discussion-whiteboard.jpg
(address . 68876@debbugs.gnu.org)
48c6ba21c0ac3e3e34cfea232b9f2f71868e6a82.1707321700.git.steve@futurile.net
* doc/guix-days-2024/2024-guix-days-infrastructure-discussion-whiteboard.jpg: New file.
---
...s-infrastructure-discussion-whiteboard.jpg | Bin 0 -> 3404618 bytes
doc/guix-days-2024/infrastructure.md | 11 +++++++++--
2 files changed, 9 insertions(+), 2 deletions(-)
create mode 100644 doc/guix-days-2024/2024-guix-days-infrastructure-discussion-whiteboard.jpg

Toggle diff (294 lines)
diff --git a/doc/guix-days-2024/2024-guix-days-infrastructure-discussion-whiteboard.jpg b/doc/guix-days-2024/2024-guix-days-infrastructure-discussion-whiteboard.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..e340bf901a08e1f69671d6be4cd98f9208230ea6
GIT binary patch
literal 3404618
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
This message was truncated. Download the full message here.
L
L
Ludovic Courtès wrote on 7 Feb 23:05 +0100
Re: [bug#68876] [PATCH] [PATCH maintenance] doc: guix-days-2024: Add notes from the profiling discussion.
(name . Adriel Dumas--Jondeau)(address . leirda@disroot.org)
87r0ho2am7.fsf@gnu.org
Hi!

Adriel Dumas--Jondeau <leirda@disroot.org> skribis:

Toggle quote (6 lines)
> Hi o/
>
> Here are the notes (unmodified, but we now know why ~,trace~ doesn't
> behave the same in a ~guix repl~ than in ~guile~, as it is not the same
> VM used in both) we've taken during the profiling session.

Heheh, pushed! Thanks a lot for sharing your notes!

Ludo’.
Closed
L
L
Ludovic Courtès wrote on 10 Feb 10:36 +0100
Re: bug#68876: [PATCH maintenance] doc: guix-days-2024: Add notes from the infrastructure discussion.
(name . Steve George)(address . steve@futurile.net)(address . 68876@debbugs.gnu.org)
874jeglkyw.fsf_-_@gnu.org
Hi Steve,

Steve George <steve@futurile.net> skribis:

Toggle quote (2 lines)
> * /doc/guix-days-2024/goblins-hoot-guix.md: New file.

[...]

Toggle quote (2 lines)
> * plenary.org: Integrate additional notes & reorganise.

[...]

Toggle quote (2 lines)
> * doc/guix-days-2024/2024-guix-days-infrastructure-discussion-whiteboard.jpg: New file.

Applied, thanks!

Ludo’.
L
L
Ludovic Courtès wrote on 23 Feb 20:55 +0100
Re: [bug#68974] [PATCH 2/4] guix-days-2024: Update notes and reorganise.
(name . Steve George)(address . steve@futurile.net)
87frxjdkfo.fsf@gnu.org
Steve George <steve@futurile.net> skribis:

Toggle quote (2 lines)
> * plenary.org: Integrate additional notes & reorganise.

Applied, thank you, and apologies for not noticing earlier!

Ludo’.
L
L
Ludovic Courtès wrote on 23 Feb 20:54 +0100
(name . Steve George)(address . steve@futurile.net)
87il2fdkhj.fsf@gnu.org
Steve George <steve@futurile.net> skribis:

Toggle quote (2 lines)
> * plenary.org: Integrate additional notes & reorganise.

Applied, thank you, and apologies for not noticing earlier!

Ludo’.
?
Your comment

This issue is archived.

To comment on this conversation send an email to 68876@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 68876
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch