From: "Ludovic Courtès" <ludo@gnu.org>
To: Josselin Poiret <dev@jpoiret.xyz>
Cc: Mathieu Othacehe <othacehe@gnu.org>, 53210@debbugs.gnu.org
Subject: bug#53210: [WIP PATCH 0/4] Make current-guix work when run outside a Git checkout
Date: Mon, 14 Feb 2022 18:10:49 +0100 [thread overview]
Message-ID: <877d9xv0fa.fsf@gnu.org> (raw)
In-Reply-To: <20220214092908.16801-1-dev@jpoiret.xyz> (Josselin Poiret's message of "Mon, 14 Feb 2022 10:29:04 +0100")
Hello,
Thanks for working on it!
Josselin Poiret <dev@jpoiret.xyz> skribis:
> This is only a WIP as there are some unresolved things: I've disabled
> authentication, since I'm currently testing my own unsigned patches.
> Should we indiscriminately enable it? This would cause some issues
> for people that have their own 'guix channel. Maybe we could enable
> authentication if the channel URL is the default one?
How about adding a keyword argument to ‘channel-build-system’,
defaulting to true?
> Also, when I tried to replace the guix in the installer by
> (current-guix), it ended up building the Guix derivation multiple
> times, even though the package is memoized and the package->derivation
> process should be cached.
‘current-guix’ returns a fresh package object every time it’s called:
(define-public current-guix
(lambda ()
…
(package …)))
This defeats the object-to-derivation cache, which relies on object
identity (eq?). So yes, you definitely have to turn it into ‘mlambda’.
Why that’s no enough, I don’t know.
> There's a bit of rift between what the ci uses (renamed here to
> channel-profile-build-system) and what current-guix uses, since the
> former builds a profile as a package, whereas the latter simply builds
> the derivation for the 'guix channel. This avoids creating profile
> collisions when the package is added to the system profile, but it
> also means we don't get the package cache generation.
As discussed on IRC, I think the file-level collisions are fine: unless
I’m mistaken, it’s the ‘manifest’ file of the real profile that “wins”,
so it doesn’t really matter that the ‘guix’ package also provides a
‘manifest’ file.
What’s more problematic though is that it means that
“/run/current-system/profile/bin/guix describe” would now fail (I think?
Can you confirm?) since it gets its provenance data from the profile
it’s in.
WDYT?
Ludo’.
next prev parent reply other threads:[~2022-02-14 17:13 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-01-12 16:23 bug#53210: installer: referring to N-1 guix is problematic Mathieu Othacehe
2022-01-12 17:41 ` Ludovic Courtès
2022-02-14 9:29 ` bug#53210: [WIP PATCH 0/4] Make current-guix work when run outside a Git checkout Josselin Poiret via Bug reports for GNU Guix
2022-02-14 9:29 ` bug#53210: [WIP PATCH 1/4] gnu: ci: Move generic channel building code Josselin Poiret via Bug reports for GNU Guix
2022-02-14 17:12 ` Ludovic Courtès
2022-02-14 9:29 ` bug#53210: [WIP PATCH 2/4] gnu: Rename channel-build-system and channel-source->package Josselin Poiret via Bug reports for GNU Guix
2022-07-18 19:35 ` bug#53210: installer: referring to N-1 guix is problematic Ludovic Courtès
2022-02-14 9:29 ` bug#53210: [WIP PATCH 3/4] gnu: current-guix: Support when running outside a checkout Josselin Poiret via Bug reports for GNU Guix
2022-02-14 17:15 ` Ludovic Courtès
2022-02-14 9:29 ` bug#53210: [WIP PATCH 4/4] gnu: package-management: Memoize current-guix Josselin Poiret via Bug reports for GNU Guix
2022-02-14 17:10 ` Ludovic Courtès [this message]
2022-08-09 13:26 ` bug#53210: installer: referring to N-1 guix is problematic Ludovic Courtès
2022-08-09 19:17 ` Josselin Poiret via Bug reports for GNU Guix
2022-08-10 10:13 ` Mathieu Othacehe
2022-08-11 14:03 ` Ludovic Courtès
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=877d9xv0fa.fsf@gnu.org \
--to=ludo@gnu.org \
--cc=53210@debbugs.gnu.org \
--cc=dev@jpoiret.xyz \
--cc=othacehe@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 external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.