From: Richard Sent <richard@freakingpenguin.com>
To: 70542@debbugs.gnu.org
Cc: "Richard Sent" <richard@freakingpenguin.com>,
"Christopher Baines" <guix@cbaines.net>,
"Josselin Poiret" <dev@jpoiret.xyz>,
"Ludovic Courtès" <ludo@gnu.org>,
"Mathieu Othacehe" <othacehe@gnu.org>,
"Ricardo Wurmus" <rekado@elephly.net>,
"Simon Tournier" <zimon.toutoune@gmail.com>,
"Tobias Geerinckx-Rice" <me@tobias.gr>
Subject: [bug#70542] [PATCH 0/4] Improve Shepherd service support for networked file systems
Date: Tue, 23 Apr 2024 16:44:47 -0400 [thread overview]
Message-ID: <cover.1713904784.git.richard@freakingpenguin.com> (raw)
Hi Guix!
This patch series aims to improve the experience when using Guix and Shepherd
to manage networked file systems.
Previously, operating-system file-system entries would all be started before
the symbol 'file-systems was provided, which many other Shepherd services
depend on. This meant that adding a networked file-system with (mount? #t)
would (depending on mount-can-fail?) either halt boot due to 'user-processes
(and thus 'networking) not being provisioned, or fail to mount, even though
Guix contained the code to sucessfully mount that file system.
Now, file system entries can specify arbitrary Shepherd symbols that other
services provision. When this is done, that specific file-system entry is not
mounted as part of providing 'file-systems.
I considered adding a (network?) flag to the file-system record instead, but
that wouldn't handle every case (say, if an Avahi .local address was used). So
instead I went with the more general approach.
Prior workarounds were verbose [1] and required creating a custom service
entry. This method allows for reusing code already present in (gnu
services base) and (gnu build file-systems).
I considered splitting CIFS support into its own patch, but since the support
is fairly meaningless without the preceding commits, I figured keeping it was
best.
This patch series resolves https://issues.guix.gnu.org/46563.
Richard Sent (4):
file-systems: Add requirements field to file-systems
services: base: Use requirements to delay some file-systems
file-systems: Add support for mounting CIFS file systems
system: Do not check for CIFS file system availability
doc/guix.texi | 13 ++++++++
gnu/build/file-systems.scm | 60 ++++++++++++++++++++++++++++++++-----
gnu/machine/ssh.scm | 3 +-
gnu/services/base.scm | 16 ++++++++--
gnu/system/file-systems.scm | 3 ++
guix/scripts/system.scm | 3 +-
6 files changed, 87 insertions(+), 11 deletions(-)
base-commit: 0f68306268773f0eaa4327e1f6fdcb39442e4a34
--
2.41.0
next reply other threads:[~2024-04-23 20:47 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-04-23 20:44 Richard Sent [this message]
2024-04-23 20:47 ` [bug#70542] [PATCH 1/4] file-systems: Add requirements field to file-systems Richard Sent
2024-04-24 17:31 ` Liliana Marie Prikler
2024-04-23 20:47 ` [bug#70542] [PATCH 2/4] services: base: Use requirements to delay some file-systems Richard Sent
2024-04-24 17:30 ` Liliana Marie Prikler
2024-04-23 20:47 ` [bug#70542] [PATCH 3/4] file-systems: Add support for mounting CIFS file systems Richard Sent
2024-04-24 17:29 ` Liliana Marie Prikler
2024-04-24 18:22 ` Richard Sent
2024-04-24 18:47 ` Liliana Marie Prikler
2024-04-24 19:19 ` Richard Sent
2024-04-23 20:47 ` [bug#70542] [PATCH 4/4] system: Do not check for CIFS file system availability Richard Sent
2024-04-24 17:26 ` Liliana Marie Prikler
2024-04-23 20:51 ` [bug#70542] Missing reference in cover letter Richard Sent
2024-04-25 4:56 ` [bug#70542] [PATCH v2 1/3] services: base: Add optional delayed mount of file-systems Richard Sent
2024-04-25 4:56 ` [bug#70542] [PATCH v2 2/3] file-systems: Add host-to-ip nested function Richard Sent
2024-04-25 4:56 ` [bug#70542] [PATCH v2 3/3] file-systems: Add support for mounting CIFS file systems Richard Sent
2024-04-25 6:51 ` [bug#70542] [PATCH 0/4] Improve Shepherd service support for networked " Jonathan Brielmaier via Guix-patches via
2024-04-25 13:43 ` Richard Sent
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=cover.1713904784.git.richard@freakingpenguin.com \
--to=richard@freakingpenguin.com \
--cc=70542@debbugs.gnu.org \
--cc=dev@jpoiret.xyz \
--cc=guix@cbaines.net \
--cc=ludo@gnu.org \
--cc=me@tobias.gr \
--cc=othacehe@gnu.org \
--cc=rekado@elephly.net \
--cc=zimon.toutoune@gmail.com \
/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).