GNU bug report logs -
#53827
[PATCH] Add a TLDR entry to the cookbook for building Guix from Git.
Previous Next
To reply to this bug, email your comments to 53827 AT debbugs.gnu.org.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
guix-patches <at> gnu.org
:
bug#53827
; Package
guix-patches
.
(Sun, 06 Feb 2022 21:36:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Pierre-Henry Fröhring <contact <at> phfrohring.com>
:
New bug report received and forwarded. Copy sent to
guix-patches <at> gnu.org
.
(Sun, 06 Feb 2022 21:36:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
---
doc/guix-cookbook.texi | 68 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 68 insertions(+)
diff --git a/doc/guix-cookbook.texi b/doc/guix-cookbook.texi
index d2ce525998..2d004d7a6b 100644
--- a/doc/guix-cookbook.texi
+++ b/doc/guix-cookbook.texi
@@ -66,6 +66,7 @@ Weblate} (@pxref{Translating Guix,,, guix, GNU Guix reference manual}).
@menu
* Scheme tutorials:: Meet your new favorite language!
+* Building from Git:: Hack Guix itself
* Packaging:: Packaging tutorials
* System Configuration:: Customizing the GNU System
* Advanced package management:: Power to the users!
@@ -301,7 +302,73 @@ You'll find more books, tutorials and other resources at
@url{https://schemers.org/}.
+@c *********************************************************************
+@node Building from Git
+@chapter Building from Git
+
+Build Guix from Git and start hacking.
+
+@node Context
+@section Context
+
+@itemize
+@item
+Guix is installed using binary installation.
+@end itemize
+
+@node Source
+@section Source
+
+@example
+cd ~/src
+git clone https://git.savannah.gnu.org/git/guix.git
+@end example
+
+@node Authentication
+@section Authentication
+
+@example
+git fetch origin keyring:keyring
+guix git authenticate 9edb3f66fd807b096b48283debdcddccfea34bad \
+ "BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA"
+@end example
+
+@node Development environment
+@section Development environment
+
+@example
+guix environment guix --pure --ad-hoc fd
+./bootstrap
+guix_db_prefix=$(fd -p '.*/guix/db$' /)
+guix_db_prefix=$@{guix_db_prefix%/guix/db@}
+./configure --localstatedir="$guix_db_prefix"
+exit
+make authenticate
+@end example
+
+@node Compile
+@section Compile
+
+@example
+guix environment guix --pure
+make
+make check
+exit
+@end example
+
+@node Test
+@section Test
+
+@code{./pre-inst-env} let's you distinguish between this installation of
+Guix and any other.
+
+@example
+cd ~/src/guix
+guix environment guix --pure
+./pre-inst-env guix build hello
+@end example
+
+
@c *********************************************************************
@node Packaging
@chapter Packaging
--
2.34.0
Information forwarded
to
guix-patches <at> gnu.org
:
bug#53827
; Package
guix-patches
.
(Sun, 06 Feb 2022 22:03:02 GMT)
Full text and
rfc822 format available.
Message #8 received at 53827 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Pierre-Henry Fröhring schreef op zo 06-02-2022 om 22:33 [+0100]:
> +@node Building from Git
> +@chapter Building from Git
> +
> +Build Guix from Git and start hacking.
> +
> +@node Context
> +@section Context
This is all explained in the main manual in more detail, can a cross-
reference to ‘(guix)Building from Git’ be added?
[signature.asc (application/pgp-signature, inline)]
Information forwarded
to
guix-patches <at> gnu.org
:
bug#53827
; Package
guix-patches
.
(Sun, 06 Feb 2022 22:03:02 GMT)
Full text and
rfc822 format available.
Message #11 received at 53827 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Pierre-Henry Fröhring schreef op zo 06-02-2022 om 22:33 [+0100]:
> +@code{./pre-inst-env} let's you distinguish between this installation of
"lets", not "let's"
[signature.asc (application/pgp-signature, inline)]
Information forwarded
to
guix-patches <at> gnu.org
:
bug#53827
; Package
guix-patches
.
(Sun, 06 Feb 2022 22:04:02 GMT)
Full text and
rfc822 format available.
Message #14 received at 53827 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Pierre-Henry Fröhring schreef op zo 06-02-2022 om 22:33 [+0100]:
> +guix environment guix --pure
Nowadays it's "guix shell":
"guix shell --pure -D guix"
[signature.asc (application/pgp-signature, inline)]
Information forwarded
to
guix-patches <at> gnu.org
:
bug#53827
; Package
guix-patches
.
(Sun, 06 Feb 2022 22:07:01 GMT)
Full text and
rfc822 format available.
Message #17 received at 53827 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Pierre-Henry Fröhring schreef op zo 06-02-2022 om 22:33 [+0100]:
> +guix environment guix --pure --ad-hoc fd
> +./bootstrap
> +guix_db_prefix=$(fd -p '.*/guix/db$' /)
> +guix_db_prefix=$@{guix_db_prefix%/guix/db@}
What's this 'fd' and guix_db_prefix about?
If this is necessary, shouldn't it be documented in the main manual.
> +./configure --localstatedir="$guix_db_prefix"
> +exit
> +make authenticate
This "make authenticate" gives a false sense of security -- the MITM
attacker could have changed the Makefile.am to let the 'authenticate'
target be a no-op. Likewise, authentication must happen before
./bootstrap and ./configure otherwise it's too late.
Also, didn't this authentication already happen in
> +@node Authentication
> +@section Authentication
> +
> +@example
> +git fetch origin keyring:keyring
> +guix git authenticate 9edb3f66fd807b096b48283debdcddccfea34bad \
> + "BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA"
Greetings,
Maxime.
[signature.asc (application/pgp-signature, inline)]
Information forwarded
to
guix-patches <at> gnu.org
:
bug#53827
; Package
guix-patches
.
(Sun, 06 Feb 2022 22:08:02 GMT)
Full text and
rfc822 format available.
Message #20 received at 53827 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Pierre-Henry Fröhring schreef op zo 06-02-2022 om 22:33 [+0100]:
> +cd ~/src
That directory does not exist on my machine, it needs to be created
first ('mkdir').
> +git clone https://git.savannah.gnu.org/git/guix.git
Before we can "git clone", git needs to be installed ("guix install
git", or "guix shell git").
Greetings,
Maxime.
[signature.asc (application/pgp-signature, inline)]
Information forwarded
to
guix-patches <at> gnu.org
:
bug#53827
; Package
guix-patches
.
(Sun, 06 Feb 2022 22:10:01 GMT)
Full text and
rfc822 format available.
Message #23 received at 53827 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Pierre-Henry Fröhring schreef op zo 06-02-2022 om 22:33 [+0100]:
> ---
> doc/guix-cookbook.texi | 68 ++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 68 insertions(+)
Commit message is missing.
Greetings,
Maxime
[signature.asc (application/pgp-signature, inline)]
Information forwarded
to
guix-patches <at> gnu.org
:
bug#53827
; Package
guix-patches
.
(Sun, 06 Feb 2022 23:09:01 GMT)
Full text and
rfc822 format available.
Message #26 received at 53827 <at> debbugs.gnu.org (full text, mbox):
Add a TLDR version of the `Building from Git' section of the
Guix reference manual.
---
doc/guix-cookbook.texi | 77 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 77 insertions(+)
diff --git a/doc/guix-cookbook.texi b/doc/guix-cookbook.texi
index d2ce525998..001c22f648 100644
--- a/doc/guix-cookbook.texi
+++ b/doc/guix-cookbook.texi
@@ -66,6 +66,7 @@ Weblate} (@pxref{Translating Guix,,, guix, GNU Guix reference manual}).
@menu
* Scheme tutorials:: Meet your new favorite language!
+* Building from Git:: Hack Guix itself
* Packaging:: Packaging tutorials
* System Configuration:: Customizing the GNU System
* Advanced package management:: Power to the users!
@@ -301,7 +302,81 @@ You'll find more books, tutorials and other resources at
@url{https://schemers.org/}.
+@c *********************************************************************
+@node Building from Git
+@chapter Building from Git
+
+Build Guix from Git and start hacking. TLDR version of:
+@pxref{Building from Git,,, guix, GNU Guix reference manual}
+
+@node Context
+@section Context
+
+@itemize
+@item
+Guix is installed using binary installation.
+@item
+Git is installed
+@end itemize
+
+@node Source
+@section Source
+
+@example
+mkdir ~/src; cd ~/src
+git clone https://git.savannah.gnu.org/git/guix.git
+@end example
+
+@node Authentication
+@section Authentication
+
+@example
+git fetch origin keyring:keyring
+guix git authenticate 9edb3f66fd807b096b48283debdcddccfea34bad \
+ "BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA"
+@end example
+
+@node Development environment
+@section Development environment
+
+The @code{localstatedir} value is the prefix of @code{/guix/db}. For
+example, if:
+
+@example
+$ find / -type d -path "*/guix/db" 2>/dev/null
+/var/guix/db
+@end example
+
+then the value of @code{localstatedir} is @code{/var}.
+
+@example
+guix shell --pure -D guix
+./bootstrap
+./configure --localstatedir=/var
+@end example
+
+@node Compile
+@section Compile
+
+@example
+make
+make check
+exit
+@end example
+
+@node Test
+@section Test
+
+@code{./pre-inst-env} lets you distinguish between this installation of
+Guix and any other.
+
+@example
+cd ~/src/guix
+guix shell --pure -D guix
+./pre-inst-env guix build hello
+@end example
+
+
@c *********************************************************************
@node Packaging
@chapter Packaging
--
2.34.0
Information forwarded
to
guix-patches <at> gnu.org
:
bug#53827
; Package
guix-patches
.
(Sun, 06 Feb 2022 23:11:02 GMT)
Full text and
rfc822 format available.
Message #29 received at 53827 <at> debbugs.gnu.org (full text, mbox):
Thank you for your comments.
An updated patch is on its way.
On Sun, 2022-02-06 at 23:09 +0100, Maxime Devos wrote:
> Pierre-Henry Fröhring schreef op zo 06-02-2022 om 22:33 [+0100]:
> > ---
> > doc/guix-cookbook.texi | 68
> > ++++++++++++++++++++++++++++++++++++++++++
> > 1 file changed, 68 insertions(+)
>
> Commit message is missing.
>
> Greetings,
> Maxime
Information forwarded
to
guix-patches <at> gnu.org
:
bug#53827
; Package
guix-patches
.
(Tue, 15 Feb 2022 09:21:01 GMT)
Full text and
rfc822 format available.
Message #32 received at 53827 <at> debbugs.gnu.org (full text, mbox):
Hi,
Maxime Devos <maximedevos <at> telenet.be> skribis:
> Pierre-Henry Fröhring schreef op zo 06-02-2022 om 22:33 [+0100]:
>> +@node Building from Git
>> +@chapter Building from Git
>> +
>> +Build Guix from Git and start hacking.
>> +
>> +@node Context
>> +@section Context
>
> This is all explained in the main manual in more detail, can a cross-
> reference to ‘(guix)Building from Git’ be added?
Yes, I wonder: what do you think Pierre-Henry is wrong with the
same-named section of the manual?
https://guix.gnu.org/manual/devel/en/html_node/Building-from-Git.html
It is more verbose, but the important commands are in @example boxes,
which should allow the reader to skip straight to the main parts.
WDYT?
Ludo’.
Information forwarded
to
guix-patches <at> gnu.org
:
bug#53827
; Package
guix-patches
.
(Tue, 15 Feb 2022 10:11:01 GMT)
Full text and
rfc822 format available.
Message #35 received at 53827 <at> debbugs.gnu.org (full text, mbox):
Hello Ludovic,
I try to make Guix our default package manager. It's really wonderful
so far. To that end, I need TLDRs so that less experienced
developpers can get going /fast/. Deeper understanding will come in
time.
I also need to convince that Guix is /easy/ to third parties. I need
to /show/ that /installing/, /configuring/ and /using/ Guix is fast
and efficient. I found out that TLDRs are great tools for that.
I need to have small TLDRs so that when things go wrong, it's easy to
know where and fix either the TLDR or the manual steps. Also,
sometimes, things go wrong and are not documented. /E.g./ setting
~LC_ALL=C.UTF-8~ will make Guix complain even after installing ~guix
install glibc-utf8-locales~. I can factor this knowledge inside these
TLDR fast.
Now, if I compare the official documentation:
https://guix.gnu.org/manual/devel/en/html_node/Building-from-Git.html
with the TLDR version of it:
https://transient.blog/1/tutoriel-guix-devel/ea10580e-9750-463a-aff4-9a3e90809ad4/54fcc4f606
Then, even after taking into account the great work accomplished in
the documentation, I find the TLDR version more convincing.
Pierre-Henry
On Tue, 2022-02-15 at 10:20 +0100, Ludovic Courtès wrote:
> Hi,
>
> Maxime Devos <maximedevos <at> telenet.be> skribis:
>
> > Pierre-Henry Fröhring schreef op zo 06-02-2022 om 22:33 [+0100]:
> > > +@node Building from Git
> > > +@chapter Building from Git
> > > +
> > > +Build Guix from Git and start hacking.
> > > +
> > > +@node Context
> > > +@section Context
> >
> > This is all explained in the main manual in more detail, can a
> > cross-
> > reference to ‘(guix)Building from Git’ be added?
>
> Yes, I wonder: what do you think Pierre-Henry is wrong with the
> same-named section of the manual?
>
>
> https://guix.gnu.org/manual/devel/en/html_node/Building-from-Git.html
>
> It is more verbose, but the important commands are in @example boxes,
> which should allow the reader to skip straight to the main parts.
>
> WDYT?
>
> Ludo’.
Information forwarded
to
guix-patches <at> gnu.org
:
bug#53827
; Package
guix-patches
.
(Wed, 16 Feb 2022 13:37:01 GMT)
Full text and
rfc822 format available.
Message #38 received at 53827 <at> debbugs.gnu.org (full text, mbox):
Hi,
Pierre-Henry Fröhring <contact <at> phfrohring.com> skribis:
> I try to make Guix our default package manager. It's really wonderful
> so far. To that end, I need TLDRs so that less experienced
> developpers can get going /fast/. Deeper understanding will come in
> time.
>
> I also need to convince that Guix is /easy/ to third parties. I need
> to /show/ that /installing/, /configuring/ and /using/ Guix is fast
> and efficient. I found out that TLDRs are great tools for that.
>
> I need to have small TLDRs so that when things go wrong, it's easy to
> know where and fix either the TLDR or the manual steps. Also,
> sometimes, things go wrong and are not documented. /E.g./ setting
> ~LC_ALL=C.UTF-8~ will make Guix complain even after installing ~guix
> install glibc-utf8-locales~. I can factor this knowledge inside these
> TLDR fast.
No argument here, I very much understand why as a user or potential
contributor one would want to-the-point documentation as a first step.
I also want to be able to understand what I’m doing though—maybe not at
first, but soon enough. That’s why I don’t feel comfortable giving a
raw list of commands without explanations.
But maybe we can have both, with cross references.
Thoughts?
Ludo’.
Information forwarded
to
guix-patches <at> gnu.org
:
bug#53827
; Package
guix-patches
.
(Wed, 16 Feb 2022 14:37:02 GMT)
Full text and
rfc822 format available.
Message #41 received at 53827 <at> debbugs.gnu.org (full text, mbox):
Hi,
On Wed, 16 Feb 2022 at 14:39, Ludovic Courtès <ludo <at> gnu.org> wrote:
>
> Hi,
>
> Pierre-Henry Fröhring <contact <at> phfrohring.com> skribis:
>
> > I try to make Guix our default package manager. It's really wonderful
> > so far. To that end, I need TLDRs so that less experienced
> > developpers can get going /fast/. Deeper understanding will come in
> > time.
> >
> > I also need to convince that Guix is /easy/ to third parties. I need
> > to /show/ that /installing/, /configuring/ and /using/ Guix is fast
> > and efficient. I found out that TLDRs are great tools for that.
> >
> > I need to have small TLDRs so that when things go wrong, it's easy to
> > know where and fix either the TLDR or the manual steps. Also,
> > sometimes, things go wrong and are not documented. /E.g./ setting
> > ~LC_ALL=C.UTF-8~ will make Guix complain even after installing ~guix
> > install glibc-utf8-locales~. I can factor this knowledge inside these
> > TLDR fast.
>
> No argument here, I very much understand why as a user or potential
> contributor one would want to-the-point documentation as a first step.
>
> I also want to be able to understand what I’m doing though—maybe not at
> first, but soon enough. That’s why I don’t feel comfortable giving a
> raw list of commands without explanations.
For what it is worth, I wrote a version for some users here:
<https://simon.tournier.info/posts/2021-10-12-add-guix-package.html>
The manual is good (even really good!) once I am able to explicitly
formulate what I want. That's the job of the Cookbook (or any other
materials): fill the gap, IMHO.
Cheers,
simon
Information forwarded
to
guix-patches <at> gnu.org
:
bug#53827
; Package
guix-patches
.
(Wed, 16 Feb 2022 15:51:02 GMT)
Full text and
rfc822 format available.
Message #44 received at 53827 <at> debbugs.gnu.org (full text, mbox):
Envoyé de mon iPhone
> Le 16 févr. 2022 à 14:36, Ludovic Courtès <ludo <at> gnu.org> a écrit :
>
> Hi,
>
> Pierre-Henry Fröhring <contact <at> phfrohring.com> skribis:
>
>> I try to make Guix our default package manager. It's really wonderful
>> so far. To that end, I need TLDRs so that less experienced
>> developpers can get going /fast/. Deeper understanding will come in
>> time.
>>
>> I also need to convince that Guix is /easy/ to third parties. I need
>> to /show/ that /installing/, /configuring/ and /using/ Guix is fast
>> and efficient. I found out that TLDRs are great tools for that.
>>
>> I need to have small TLDRs so that when things go wrong, it's easy to
>> know where and fix either the TLDR or the manual steps. Also,
>> sometimes, things go wrong and are not documented. /E.g./ setting
>> ~LC_ALL=C.UTF-8~ will make Guix complain even after installing ~guix
>> install glibc-utf8-locales~. I can factor this knowledge inside these
>> TLDR fast.
>
> No argument here, I very much understand why as a user or potential
> contributor one would want to-the-point documentation as a first step.
>
> I also want to be able to understand what I’m doing though—maybe not at
> first, but soon enough. That’s why I don’t feel comfortable giving a
> raw list of commands without explanations.
Agreed.
>
> But maybe we can have both, with cross references.
Yes! It’s implicit in our workflow, the documentation _is_ the reference.
>
> Thoughts?
Yes. I can add cross references in the patch and in the so called transient.blog
>
> Ludo’.
Information forwarded
to
guix-patches <at> gnu.org
:
bug#53827
; Package
guix-patches
.
(Wed, 16 Feb 2022 16:17:01 GMT)
Full text and
rfc822 format available.
Message #47 received at 53827 <at> debbugs.gnu.org (full text, mbox):
On Wed, Feb 16, 2022 at 02:36:00PM +0100, Ludovic Courtès wrote:
> But maybe we can have both, with cross references.
Sure, but we'll have to increase our efforts to maintain the cookbook.
So far, we seem to forgot to update it to reflect changes in Guix, while
we do try to keep the manual in sync with the codebase.
Instead, we could put the TLDR at the beginning of the manual section
Building From Git, and then we'll have less trouble remembering to
update it.
Information forwarded
to
guix-patches <at> gnu.org
:
bug#53827
; Package
guix-patches
.
(Wed, 16 Feb 2022 20:39:02 GMT)
Full text and
rfc822 format available.
Message #50 received at 53827 <at> debbugs.gnu.org (full text, mbox):
> Sure, but we'll have to increase our efforts to maintain the
> cookbook.
>
> So far, we seem to forgot to update it to reflect changes in Guix,
> while
> we do try to keep the manual in sync with the codebase.
>
> Instead, we could put the TLDR at the beginning of the manual section
> Building From Git, and then we'll have less trouble remembering to
> update it.
Agreed. This would have been useful.
Information forwarded
to
guix-patches <at> gnu.org
:
bug#53827
; Package
guix-patches
.
(Thu, 17 Feb 2022 10:39:01 GMT)
Full text and
rfc822 format available.
Message #53 received at 53827 <at> debbugs.gnu.org (full text, mbox):
Leo Famulari <leo <at> famulari.name> skribis:
> On Wed, Feb 16, 2022 at 02:36:00PM +0100, Ludovic Courtès wrote:
>> But maybe we can have both, with cross references.
>
> Sure, but we'll have to increase our efforts to maintain the cookbook.
>
> So far, we seem to forgot to update it to reflect changes in Guix, while
> we do try to keep the manual in sync with the codebase.
>
> Instead, we could put the TLDR at the beginning of the manual section
> Building From Git, and then we'll have less trouble remembering to
> update it.
Sure, why not.
Thanks,
Ludo’.
This bug report was last modified 3 years and 121 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.