[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#65866] [PATCH v2 5/8] build: Add dependency on Git.
From: |
Simon Tournier |
Subject: |
[bug#65866] [PATCH v2 5/8] build: Add dependency on Git. |
Date: |
Mon, 25 Sep 2023 15:59:17 +0200 |
Hi Ludo,
On Sat, 23 Sep 2023 at 00:28, Ludovic Courtès <ludo@gnu.org> wrote:
> * configure.ac: Check for ‘git’ and substitute ‘GIT’.
> * guix/config.scm.in (%git): New variable.
> * guix/self.scm (compiled-guix): Define ‘git’ and pass it to
> ‘make-config.scm’.
> (make-config.scm): Add #:git; emit a ‘%git’ variable.
> * doc/guix.texi (Requirements): Add it.
Moving the Git dependency to a daemon dependency tweaks a bit what we
control when “bootstrapping”, no? Maybe I misread or misunderstand a
point.
Currently, the full bootstrap story requires the binary seed (well
documented in the manual :-)), running a Linux kernel and a Guix daemon.
And then, everything is built one after the other, resolving the chain
of dependencies.
And obviously, there is another chicken-or-the-egg problem barely
discussed. For building something, we first need to communicate with
the world for fetching the source code to build. :-)
It is not Git specific and also happens with ’url-fetch’ – as reported
very early (see #22774 from 2016). For instance, TLS is required before
Guix has built GnuTLS. The chicken-or-the-egg had been solved by hiding
this dependency as a dependency of the daemon. A hack.
Therefore, it means that the Reduced Binary Seed bootstrap is somehow
enlarged by what the Guix daemon depends on.
I mean, breaking the dependency cycles by introducing a dependency on
Git (as for fixing #63331) is not free of other dependencies. It is
another hack when it could be avoided since the issue is about
Guile-GnuTLS.
It means we are doing a step back for a full bootstrap story, IMHO,
having a “builtin:git-download” makes less clear what are the hard
dependencies to what Guix is able to build from source starting from
almost nothing.
Cheers,
simon
- [bug#65866] [PATCH v2 4/8] daemon: Add “git-download” built-in builder., (continued)
- [bug#65866] [PATCH v2 4/8] daemon: Add “git-download” built-in builder., Ludovic Courtès, 2023/09/22
- [bug#65866] [PATCH v2 7/8] git-download: Use “builtin:git-download” when available., Ludovic Courtès, 2023/09/22
- [bug#65866] [PATCH v2 7/8] git-download: Use “builtin:git-download” when available., Simon Tournier, 2023/09/25
- [bug#65866] [PATCH 0/8] Add built-in builder for Git checkouts, Ludovic Courtès, 2023/09/25
- [bug#65866] [PATCH 0/8] Add built-in builder for Git checkouts, Simon Tournier, 2023/09/25
- [bug#65866] [PATCH 0/8] Add built-in builder for Git checkouts, Maxim Cournoyer, 2023/09/25
- bug#65866: [PATCH 0/8] Add built-in builder for Git checkouts, Ludovic Courtès, 2023/09/26
- [bug#65866] [PATCH 0/8] Add built-in builder for Git checkouts, Simon Tournier, 2023/09/26
- [bug#65866] [PATCH 0/8] Add built-in builder for Git checkouts, Simon Tournier, 2023/09/25
- [bug#65866] [PATCH v2 5/8] build: Add dependency on Git., Ludovic Courtès, 2023/09/22
- [bug#65866] [PATCH v2 5/8] build: Add dependency on Git.,
Simon Tournier <=
- [bug#65866] Bootstrapping without the daemon and all that, Ludovic Courtès, 2023/09/26
- [bug#65866] Bootstrapping without the daemon and all that, Simon Tournier, 2023/09/26
[bug#65866] [PATCH 2/8] git-download: Honor the ‘GUIX_DOWNLOAD_FALLBACK_TEST’ environment variable., Ludovic Courtès, 2023/09/11
[bug#65866] [PATCH 3/8] perform-download: Remove unused one-argument clause., Ludovic Courtès, 2023/09/11
[bug#65866] [PATCH 1/8] git-download: Move fallback code to (guix build git)., Ludovic Courtès, 2023/09/11