* bug#31786: 'pre-inst-env guix --version' is not updated by new commits"
@ 2018-06-11 18:01 George Clemmer
2018-06-12 13:21 ` Ludovic Courtès
0 siblings, 1 reply; 18+ messages in thread
From: George Clemmer @ 2018-06-11 18:01 UTC (permalink / raw)
To: 31786
When I clone and build Guix from scratch, it produces the untracked file
"doc/stamp-1" which contains the version number built into the Guix doc
and appears to be created from a call to 'git describe'.
But with subsequent git commit/make cycles the version does not
change. It doesn't change when the guix package is updated either. For
example, after pulling and building the recent commit updating the guix
package ...
commit 8b3aea9d9e022b20137cec93f668df8fa051abd9
Author: Ludovic Courtès <ludo@gnu.org>
Date: Sun Jun 10 23:31:01 2018 +0200
gnu: guix: Update to 77a1aac.
* gnu/packages/package-management.scm (guix): Update to 77a1aac.
g1@sysi31 ~/gom/.emacs.d/guix/guix [gmm]$ git describe 8b3aea9d9e022b20137cec93f668df8fa051abd9
v0.14.0-6300-g8b3aea9d9
"doc/stamp-1" and guix version remain "stuck" on June 8th ...
g1@sysi31 ~/gom/.emacs.d/guix/guix [gmm]$ cat doc/stamp-1
@set UPDATED 8 June 2018
@set UPDATED-MONTH June 2018
@set EDITION 0.14.0.5478-1458f7
@set VERSION 0.14.0.5478-1458f7
g1@sysi31 ~/gom/.emacs.d/guix/guix [gmm]$ ./pre-inst-env guix --version
guix (GNU Guix) 0.14.0.5478-1458f7
They remain stuck after 'make clean; make', and './bootstrap;
./configure; make' The only way I found to "unstick" them is 'sudo git
clean -dfx'.
Side questions:
1) why don't you gitignore "doc/stamp-1"?
2) why don't you gitignore .po files?
TIA - George
^ permalink raw reply [flat|nested] 18+ messages in thread
* bug#31786: 'pre-inst-env guix --version' is not updated by new commits"
2018-06-11 18:01 bug#31786: 'pre-inst-env guix --version' is not updated by new commits" George Clemmer
@ 2018-06-12 13:21 ` Ludovic Courtès
2018-06-12 18:28 ` George Clemmer
0 siblings, 1 reply; 18+ messages in thread
From: Ludovic Courtès @ 2018-06-12 13:21 UTC (permalink / raw)
To: George Clemmer; +Cc: 31786
Hello George,
George Clemmer <myglc2@gmail.com> skribis:
> But with subsequent git commit/make cycles the version does not
> change. It doesn't change when the guix package is updated either. For
> example, after pulling and building the recent commit updating the guix
> package ...
Currently the version number is hardcoded in ‘configure.ac’, so the fact
that running “git pull && make” doesn’t change it is expected. So to
me, it’s not a bug.
We could improve on that (see for instance how Guile does it with
build-aux/git-version-gen), but it still won’t be updated at each commit
because that’d be inconvenient: ‘config.h’ would regenerated, so in turn
we’d need to rebuild all of the C++ code.
‘guix pull’ does the right thing though, which I think is more important
than the build tree.
> Side questions:
>
> 1) why don't you gitignore "doc/stamp-1"?
Good idea, done! :-)
> 2) why don't you gitignore .po files?
Because they are checked in.
Thanks for your report.
Ludo’.
^ permalink raw reply [flat|nested] 18+ messages in thread
* bug#31786: 'pre-inst-env guix --version' is not updated by new commits"
2018-06-12 13:21 ` Ludovic Courtès
@ 2018-06-12 18:28 ` George Clemmer
2018-06-12 20:33 ` Ludovic Courtès
0 siblings, 1 reply; 18+ messages in thread
From: George Clemmer @ 2018-06-12 18:28 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: 31786
Ludovic Courtès <ludo@gnu.org> writes:
> Hello George,
>
> George Clemmer <myglc2@gmail.com> skribis:
>
>> But with subsequent git commit/make cycles the version does not
>> change. It doesn't change when the guix package is updated either. For
>> example, after pulling and building the recent commit updating the guix
>> package ...
>
> Currently the version number is hardcoded in ‘configure.ac’, so the fact
> that running “git pull && make” doesn’t change it is expected. So to
> me, it’s not a bug.
>
> We could improve on that (see for instance how Guile does it with
> build-aux/git-version-gen), but it still won’t be updated at each commit
> because that’d be inconvenient: ‘config.h’ would regenerated, so in turn
> we’d need to rebuild all of the C++ code.
Hi Ludo’,
Ok, cool. Thanks for the clarification. So... how about adding a
footnote to '(guix) Running Guix Before It Is Installed' something like
...
(3) The Guix version in the Guix build is set by './configure'. Thus,
when guix is run from the Git working tree by './pre-inst-env guix' or a
'~/.config/guix/latest’ symlink, the version reported by 'guix
--version' is not updated by subsequent 'git pull; make' steps. To
update the version (and rebuild everything), you may use 'git clean
-dfx; ./bootstrap; ./configure; make'.
Note: I also tried 'make distclean' and 'make maintainer-clean' which
didn't work.
> ‘guix pull’ does the right thing though, which I think is more important
> than the build tree.
Agreed.
>> Side questions:
>>
>> 1) why don't you gitignore "doc/stamp-1"?
>
> Good idea, done! :-)
Thanks!
>> 2) why don't you gitignore .po files?
>
> Because they are checked in.
I guess I meant to say, why does the build change these checked-in
files? It seems like they should be ignored.
TIA - George
^ permalink raw reply [flat|nested] 18+ messages in thread
* bug#31786: 'pre-inst-env guix --version' is not updated by new commits"
2018-06-12 18:28 ` George Clemmer
@ 2018-06-12 20:33 ` Ludovic Courtès
2018-06-13 0:51 ` George Clemmer
0 siblings, 1 reply; 18+ messages in thread
From: Ludovic Courtès @ 2018-06-12 20:33 UTC (permalink / raw)
To: George Clemmer; +Cc: 31786
George Clemmer <myglc2@gmail.com> skribis:
> Ludovic Courtès <ludo@gnu.org> writes:
>
>> Hello George,
>>
>> George Clemmer <myglc2@gmail.com> skribis:
>>
>>> But with subsequent git commit/make cycles the version does not
>>> change. It doesn't change when the guix package is updated either. For
>>> example, after pulling and building the recent commit updating the guix
>>> package ...
>>
>> Currently the version number is hardcoded in ‘configure.ac’, so the fact
>> that running “git pull && make” doesn’t change it is expected. So to
>> me, it’s not a bug.
>>
>> We could improve on that (see for instance how Guile does it with
>> build-aux/git-version-gen), but it still won’t be updated at each commit
>> because that’d be inconvenient: ‘config.h’ would regenerated, so in turn
>> we’d need to rebuild all of the C++ code.
>
> Hi Ludo’,
>
> Ok, cool. Thanks for the clarification. So... how about adding a
> footnote to '(guix) Running Guix Before It Is Installed' something like
> ...
>
> (3) The Guix version in the Guix build is set by './configure'. Thus,
> when guix is run from the Git working tree by './pre-inst-env guix' or a
> '~/.config/guix/latest’ symlink, the version reported by 'guix
> --version' is not updated by subsequent 'git pull; make' steps. To
> update the version (and rebuild everything), you may use 'git clean
> -dfx; ./bootstrap; ./configure; make'.
I’m not comfortable documenting this because it’s nothing specific to
Guix.
Besides, note that ~/.config/guix/latest no longer exists.
>>> 2) why don't you gitignore .po files?
>>
>> Because they are checked in.
>
> I guess I meant to say, why does the build change these checked-in
> files? It seems like they should be ignored.
The build changes them only if you start anew. In normal circumstances
(meaning you didn’t run “distclean”), they remained unchanged if I’m not
mistaken.
So yeah, it’s occasionally annoying, but I’m not sure how to fix this.
Ludo’.
^ permalink raw reply [flat|nested] 18+ messages in thread
* bug#31786: 'pre-inst-env guix --version' is not updated by new commits"
2018-06-12 20:33 ` Ludovic Courtès
@ 2018-06-13 0:51 ` George Clemmer
2018-06-13 6:54 ` Ludovic Courtès
0 siblings, 1 reply; 18+ messages in thread
From: George Clemmer @ 2018-06-13 0:51 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: 31786
Ludovic Courtès <ludo@gnu.org> writes:
> George Clemmer <myglc2@gmail.com> skribis:
>
>> Ok, cool. Thanks for the clarification. So... how about adding a
>> footnote to '(guix) Running Guix Before It Is Installed' something like
>> ...
>>
>> (3) The Guix version in the Guix build is set by './configure'. Thus,
>> when guix is run from the Git working tree by './pre-inst-env guix' or a
>> '~/.config/guix/latest’ symlink, the version reported by 'guix
>> --version' is not updated by subsequent 'git pull; make' steps. To
>> update the version (and rebuild everything), you may use 'git clean
>> -dfx; ./bootstrap; ./configure; make'.
>
> I’m not comfortable documenting this because it’s nothing specific to
> Guix.
So to summarize: This behavior is a side effect of how GNU tools
work. It is obvious to anyone who understands them. You don't want to
describe things that are obvious. I understand.
But I think many users don't have a clue about GNU build tools. They may
be puzzled by how pre-inst-env works. I think the footnote would be
helpful for them. I urge you to reconsider.
> Besides, note that ~/.config/guix/latest no longer exists.
Yes, I saw you revamped Guix pull but I haven't actually used guix pull
in over a year. I need to check the new one out.
- George
^ permalink raw reply [flat|nested] 18+ messages in thread
* bug#31786: 'pre-inst-env guix --version' is not updated by new commits"
2018-06-13 0:51 ` George Clemmer
@ 2018-06-13 6:54 ` Ludovic Courtès
2018-06-14 1:39 ` Leo Famulari
0 siblings, 1 reply; 18+ messages in thread
From: Ludovic Courtès @ 2018-06-13 6:54 UTC (permalink / raw)
To: George Clemmer; +Cc: 31786
Hello,
George Clemmer <myglc2@gmail.com> skribis:
> Ludovic Courtès <ludo@gnu.org> writes:
>
>> George Clemmer <myglc2@gmail.com> skribis:
>>
>>> Ok, cool. Thanks for the clarification. So... how about adding a
>>> footnote to '(guix) Running Guix Before It Is Installed' something like
>>> ...
>>>
>>> (3) The Guix version in the Guix build is set by './configure'. Thus,
>>> when guix is run from the Git working tree by './pre-inst-env guix' or a
>>> '~/.config/guix/latest’ symlink, the version reported by 'guix
>>> --version' is not updated by subsequent 'git pull; make' steps. To
>>> update the version (and rebuild everything), you may use 'git clean
>>> -dfx; ./bootstrap; ./configure; make'.
>>
>> I’m not comfortable documenting this because it’s nothing specific to
>> Guix.
>
> So to summarize: This behavior is a side effect of how GNU tools
> work. It is obvious to anyone who understands them. You don't want to
> describe things that are obvious. I understand.
>
> But I think many users don't have a clue about GNU build tools. They may
> be puzzled by how pre-inst-env works. I think the footnote would be
> helpful for them. I urge you to reconsider.
It’s not that I find it “obvious” etc. This specific part of the manual
targets an audience of developers, and I think it’s reasonable to expect
this audience to know where to look things up.
The other aspect, from a maintenance and readability viewpoint, is that
we could quickly add up lots of explanations that we’ll have to keep
up-to-date and that may make more important information harder to find.
I hope that makes sense, but I’m happy to hear what others think.
Ludo’.
^ permalink raw reply [flat|nested] 18+ messages in thread
* bug#31786: 'pre-inst-env guix --version' is not updated by new commits"
2018-06-13 6:54 ` Ludovic Courtès
@ 2018-06-14 1:39 ` Leo Famulari
2018-06-14 15:18 ` George Clemmer
0 siblings, 1 reply; 18+ messages in thread
From: Leo Famulari @ 2018-06-14 1:39 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: George Clemmer, 31786
[-- Attachment #1: Type: text/plain, Size: 371 bytes --]
On Wed, Jun 13, 2018 at 08:54:49AM +0200, Ludovic Courtès wrote:
> The other aspect, from a maintenance and readability viewpoint, is that
> we could quickly add up lots of explanations that we’ll have to keep
> up-to-date and that may make more important information harder to find.
Yeah, I'm worried about this too. It's tough to strike the correct
balance.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 18+ messages in thread
* bug#31786: 'pre-inst-env guix --version' is not updated by new commits"
2018-06-14 1:39 ` Leo Famulari
@ 2018-06-14 15:18 ` George Clemmer
2018-06-14 16:10 ` Clément Lassieur
2018-06-14 16:36 ` Ludovic Courtès
0 siblings, 2 replies; 18+ messages in thread
From: George Clemmer @ 2018-06-14 15:18 UTC (permalink / raw)
To: Leo Famulari; +Cc: 31786
Leo Famulari <leo@famulari.name> writes:
> On Wed, Jun 13, 2018 at 08:54:49AM +0200, Ludovic Courtès wrote:
>> The other aspect, from a maintenance and readability viewpoint, is that
>> we could quickly add up lots of explanations that we’ll have to keep
>> up-to-date and that may make more important information harder to find.
>
> Yeah, I'm worried about this too. It's tough to strike the correct
> balance.
IMO Guix is great for hackers, maintainers and sysops. The doc is
appropriate for such users, well done, spare, and already voluminous.
This footnote suggestion, and others rejected in the past, are motivated
by my assumption that you will want to make Guix attractive to less
sophisticated users.
Maybe my assumption is wrong? Maybe you want only "elite" users?
Or maybe you want to defer the less sophisticated users to later in the
development cycle?
^ permalink raw reply [flat|nested] 18+ messages in thread
* bug#31786: 'pre-inst-env guix --version' is not updated by new commits"
2018-06-14 15:18 ` George Clemmer
@ 2018-06-14 16:10 ` Clément Lassieur
2018-06-14 16:45 ` Clément Lassieur
2018-06-14 16:36 ` Ludovic Courtès
1 sibling, 1 reply; 18+ messages in thread
From: Clément Lassieur @ 2018-06-14 16:10 UTC (permalink / raw)
To: George Clemmer; +Cc: 31786
Hi George,
George Clemmer <myglc2@gmail.com> writes:
> Leo Famulari <leo@famulari.name> writes:
>
>> On Wed, Jun 13, 2018 at 08:54:49AM +0200, Ludovic Courtès wrote:
>>> The other aspect, from a maintenance and readability viewpoint, is that
>>> we could quickly add up lots of explanations that we’ll have to keep
>>> up-to-date and that may make more important information harder to find.
>>
>> Yeah, I'm worried about this too. It's tough to strike the correct
>> balance.
>
> IMO Guix is great for hackers, maintainers and sysops. The doc is
> appropriate for such users, well done, spare, and already voluminous.
>
> This footnote suggestion, and others rejected in the past, are motivated
> by my assumption that you will want to make Guix attractive to less
> sophisticated users.
But non-hacker users can use Guix pull! Running Guix before it is
installed (with pre-inst-env) is described in the manual as a "Hacker
trick".
> Maybe my assumption is wrong? Maybe you want only "elite" users?
Guix pull is well documented, and should be usable for non-elite users.
> Or maybe you want to defer the less sophisticated users to later in the
> development cycle?
Clément
^ permalink raw reply [flat|nested] 18+ messages in thread
* bug#31786: 'pre-inst-env guix --version' is not updated by new commits"
2018-06-14 15:18 ` George Clemmer
2018-06-14 16:10 ` Clément Lassieur
@ 2018-06-14 16:36 ` Ludovic Courtès
2018-06-15 19:13 ` George Clemmer
1 sibling, 1 reply; 18+ messages in thread
From: Ludovic Courtès @ 2018-06-14 16:36 UTC (permalink / raw)
To: George Clemmer; +Cc: 31786
Hi George,
George Clemmer <myglc2@gmail.com> skribis:
> Leo Famulari <leo@famulari.name> writes:
>
>> On Wed, Jun 13, 2018 at 08:54:49AM +0200, Ludovic Courtès wrote:
>>> The other aspect, from a maintenance and readability viewpoint, is that
>>> we could quickly add up lots of explanations that we’ll have to keep
>>> up-to-date and that may make more important information harder to find.
>>
>> Yeah, I'm worried about this too. It's tough to strike the correct
>> balance.
>
> IMO Guix is great for hackers, maintainers and sysops. The doc is
> appropriate for such users, well done, spare, and already voluminous.
>
> This footnote suggestion, and others rejected in the past, are motivated
> by my assumption that you will want to make Guix attractive to less
> sophisticated users.
>
> Maybe my assumption is wrong? Maybe you want only "elite" users?
No, definitely not; I’m sorry if this is the impression this gave.
Like I wrote, my main concern is about keeping the documentation focused
and maintainable. Sometimes we have to document things that are
technically outside of Guix because there’s no real canonical
documentation and because users would be impaired without it—I’m
thinking for instance of bits in the “Preparing for Installation”
section.
In this case, we’d be documenting something that’s both outside of Guix
and not vital for routine usage, and that’s mostly covered by the
Autoconf manual. Hence my reluctance.
I hope that makes sense.
Ludo’.
^ permalink raw reply [flat|nested] 18+ messages in thread
* bug#31786: 'pre-inst-env guix --version' is not updated by new commits"
2018-06-14 16:10 ` Clément Lassieur
@ 2018-06-14 16:45 ` Clément Lassieur
0 siblings, 0 replies; 18+ messages in thread
From: Clément Lassieur @ 2018-06-14 16:45 UTC (permalink / raw)
To: George Clemmer; +Cc: 31786
Clément Lassieur <clement@lassieur.org> writes:
> Hi George,
>
> George Clemmer <myglc2@gmail.com> writes:
>
>> Leo Famulari <leo@famulari.name> writes:
>>
>>> On Wed, Jun 13, 2018 at 08:54:49AM +0200, Ludovic Courtès wrote:
>>>> The other aspect, from a maintenance and readability viewpoint, is that
>>>> we could quickly add up lots of explanations that we’ll have to keep
>>>> up-to-date and that may make more important information harder to find.
>>>
>>> Yeah, I'm worried about this too. It's tough to strike the correct
>>> balance.
>>
>> IMO Guix is great for hackers, maintainers and sysops. The doc is
>> appropriate for such users, well done, spare, and already voluminous.
>>
>> This footnote suggestion, and others rejected in the past, are motivated
>> by my assumption that you will want to make Guix attractive to less
>> sophisticated users.
>
> But non-hacker users can use Guix pull! Running Guix before it is
> installed (with pre-inst-env) is described in the manual as a "Hacker
> trick".
>
>> Maybe my assumption is wrong? Maybe you want only "elite" users?
>
> Guix pull is well documented, and should be usable for non-elite users.
>
>> Or maybe you want to defer the less sophisticated users to later in the
>> development cycle?
>
> Clément
Sorry if I sounded a bit rude, it wasn't my intention. :-)
^ permalink raw reply [flat|nested] 18+ messages in thread
* bug#31786: 'pre-inst-env guix --version' is not updated by new commits"
2018-06-14 16:36 ` Ludovic Courtès
@ 2018-06-15 19:13 ` George Clemmer
2018-06-15 20:30 ` Nils Gillmann
2018-06-15 22:02 ` Ricardo Wurmus
0 siblings, 2 replies; 18+ messages in thread
From: George Clemmer @ 2018-06-15 19:13 UTC (permalink / raw)
To: Ludovic Courtès, Clément Lassieur; +Cc: 31786
Ludovic Courtès <ludo@gnu.org> writes:
> Hi George,
>
> George Clemmer <myglc2@gmail.com> skribis:
>
>> Leo Famulari <leo@famulari.name> writes:
>>
>>> On Wed, Jun 13, 2018 at 08:54:49AM +0200, Ludovic Courtès wrote:
>>>> The other aspect, from a maintenance and readability viewpoint, is that
>>>> we could quickly add up lots of explanations that we’ll have to keep
>>>> up-to-date and that may make more important information harder to find.
>>>
>>> Yeah, I'm worried about this too. It's tough to strike the correct
>>> balance.
>>
>> IMO Guix is great for hackers, maintainers and sysops. The doc is
>> appropriate for such users, well done, spare, and already voluminous.
>>
>> This footnote suggestion, and others rejected in the past, are motivated
>> by my assumption that you will want to make Guix attractive to less
>> sophisticated users.
>>
>> Maybe my assumption is wrong? Maybe you want only "elite" users?
>
> No, definitely not; I’m sorry if this is the impression this gave.
>
> Like I wrote, my main concern is about keeping the documentation focused
> and maintainable. Sometimes we have to document things that are
> technically outside of Guix because there’s no real canonical
> documentation and because users would be impaired without it—I’m
> thinking for instance of bits in the “Preparing for Installation”
> section.
>
> In this case, we’d be documenting something that’s both outside of Guix
> and not vital for routine usage, and that’s mostly covered by the
> Autoconf manual. Hence my reluctance.
>
> I hope that makes sense.
Hi Ludo’,
I see the situation this way:
The current doc reflects the needs and sensibilities of the hackers,
maintainers, and sysops that have built Guix. These "elite" users have
different needs and judge what is important quite differently from end
users. This guarantees that the current doc is inadequate for end users.
So, if, as you say, you want to make Guix accessible to end users, you
need to make changes in the doc. The questions: How? What?
May I suggest ...
a) Adopt a less defensive posture when responding to user questions,
comments, and bug reports.
b) Be pro-active about capturing support resolutions in the doc.
This thread presents a nice example of what I am talking about. To
recap:
I said: I use 'pre-inst-env guix' this way and this is a bug.
You said: Developers expect this, so it's not a bug.
A less defensive response: Hmm, You are using 'pre-inst-env guix' in a
way we didn't anticipate. What are the benefits of using it this way? I
see how this is a bug for your use case.
We discussed a workaround. I suggested adding it to the doc.
You said: I’m not comfortable documenting this because it’s nothing
specific to Guix.
I said: I urge you to reconsider.
You said: This part of the manual targets developers... they know where
to look things up. [The more we write the more we have to maintain.]
And Clément Lassieur <clement@lassieur.org> added:
> But non-hacker users can use Guix pull! Running Guix before it is
> installed (with pre-inst-env) is described in the manual as a "Hacker
> trick".
> Guix pull is well documented, and should be usable for non-elite users.
OK, but I'm non-elite and I have used Guix for 2+ years. I have tried
both. I prefer pre-inst-env. I expect others will too. The fact is that
pre-inst-env does not correctly report the version after 'git pull;
make'. How can you know that this won't be a problem for other users?
It only takes 4 lines to explain this and provide a workaround, e.g.,
Proposed (revised) footnote:
(3) The Guix version in the Guix build is set by './bootstrap'. Thus,
the version reported by './pre-inst-env guix --version' is not updated
by subsequent 'git pull; make' steps. To update the version (and rebuild
everything), use 'git clean -dfx; ./bootstrap; ./configure; make'.
- George
^ permalink raw reply [flat|nested] 18+ messages in thread
* bug#31786: 'pre-inst-env guix --version' is not updated by new commits"
2018-06-15 19:13 ` George Clemmer
@ 2018-06-15 20:30 ` Nils Gillmann
2018-06-16 16:06 ` George Clemmer
2018-06-15 22:02 ` Ricardo Wurmus
1 sibling, 1 reply; 18+ messages in thread
From: Nils Gillmann @ 2018-06-15 20:30 UTC (permalink / raw)
To: George Clemmer; +Cc: Clément Lassieur, 31786
George Clemmer transcribed 3.9K bytes:
>
> Ludovic Courtès <ludo@gnu.org> writes:
>
> > Hi George,
> >
> > George Clemmer <myglc2@gmail.com> skribis:
> >
> >> Leo Famulari <leo@famulari.name> writes:
> >>
> >>> On Wed, Jun 13, 2018 at 08:54:49AM +0200, Ludovic Courtès wrote:
> >>>> The other aspect, from a maintenance and readability viewpoint, is that
> >>>> we could quickly add up lots of explanations that we’ll have to keep
> >>>> up-to-date and that may make more important information harder to find.
> >>>
> >>> Yeah, I'm worried about this too. It's tough to strike the correct
> >>> balance.
> >>
> >> IMO Guix is great for hackers, maintainers and sysops. The doc is
> >> appropriate for such users, well done, spare, and already voluminous.
> >>
> >> This footnote suggestion, and others rejected in the past, are motivated
> >> by my assumption that you will want to make Guix attractive to less
> >> sophisticated users.
> >>
> >> Maybe my assumption is wrong? Maybe you want only "elite" users?
> >
> > No, definitely not; I’m sorry if this is the impression this gave.
> >
> > Like I wrote, my main concern is about keeping the documentation focused
> > and maintainable. Sometimes we have to document things that are
> > technically outside of Guix because there’s no real canonical
> > documentation and because users would be impaired without it—I’m
> > thinking for instance of bits in the “Preparing for Installation”
> > section.
> >
> > In this case, we’d be documenting something that’s both outside of Guix
> > and not vital for routine usage, and that’s mostly covered by the
> > Autoconf manual. Hence my reluctance.
> >
> > I hope that makes sense.
>
> Hi Ludo’,
>
> I see the situation this way:
>
> The current doc reflects the needs and sensibilities of the hackers,
> maintainers, and sysops that have built Guix. These "elite" users have
> different needs and judge what is important quite differently from end
> users. This guarantees that the current doc is inadequate for end users.
> So, if, as you say, you want to make Guix accessible to end users, you
> need to make changes in the doc. The questions: How? What?
I understand where you are coming from, and I understand the trouble Ludovic
(probably) has to find the right balance of content.
Before I comment more below: I'm trying to adjust to a wide range of
people with the least possible knowledge too in the new GNUnet documentation.
Some documentations I looked at had this introductionary style for elements
when they were first used. Texinfo has this element which seems to be less
used because it renders terrible (or did not try with custom output definitions
so far). It's sort of a box element. It would be good to extend this, at least
that's my current idea, to eventually contribute to Texinfo when I have a better
view on what we want.
Long text short nonsense: you end up with lots of work and long books if you
do it right. It should be done this way. Maybe if not directly applied we
could collect the proposals somewhere in the repository? I've recently
started to strip out a whole chapter with repetive installation instructions
in GNUnet. A while back I would've argued for keeping it, that we really
need to cover and guide every case.
Some projects have written "An introduction to..." books to lead up to
the manual.
In my opinion access to knowledge should be easy and without much 'rough
edges' to get it.
Do we keep it selfcontained? Reference other books? A middle path? It's
difficult to get it right if you don't have the time to think about this
as a fulltime job.
> May I suggest ...
>
> a) Adopt a less defensive posture when responding to user questions,
> comments, and bug reports.
>
> b) Be pro-active about capturing support resolutions in the doc.
>
> This thread presents a nice example of what I am talking about. To
> recap:
>
> I said: I use 'pre-inst-env guix' this way and this is a bug.
>
> You said: Developers expect this, so it's not a bug.
>
> A less defensive response: Hmm, You are using 'pre-inst-env guix' in a
> way we didn't anticipate. What are the benefits of using it this way? I
> see how this is a bug for your use case.
>
> We discussed a workaround. I suggested adding it to the doc.
>
> You said: I’m not comfortable documenting this because it’s nothing
> specific to Guix.
>
> I said: I urge you to reconsider.
>
> You said: This part of the manual targets developers... they know where
> to look things up. [The more we write the more we have to maintain.]
Do we really have to assume that everyone has the same skilset who wants
to get involved? Not about this topic, but in general? I think the assumption
that we share the same knowledge is difficult. Part of the excercise is to
reach out, actively, in person. Another part is to try and do it in text (be
it on a website or a (new) chapter in a manual).
> And Clément Lassieur <clement@lassieur.org> added:
>
> > But non-hacker users can use Guix pull! Running Guix before it is
> > installed (with pre-inst-env) is described in the manual as a "Hacker
> > trick".
>
> > Guix pull is well documented, and should be usable for non-elite users.
>
> OK, but I'm non-elite and I have used Guix for 2+ years. I have tried
> both. I prefer pre-inst-env. I expect others will too. The fact is that
> pre-inst-env does not correctly report the version after 'git pull;
> make'. How can you know that this won't be a problem for other users?
> It only takes 4 lines to explain this and provide a workaround, e.g.,
>
> Proposed (revised) footnote:
>
> (3) The Guix version in the Guix build is set by './bootstrap'. Thus,
> the version reported by './pre-inst-env guix --version' is not updated
> by subsequent 'git pull; make' steps. To update the version (and rebuild
> everything), use 'git clean -dfx; ./bootstrap; ./configure; make'.
>
> - George
Counter-proposal: What about additional man-pages? man has enough sections
to provide well written, to the point, collection of notes for such day-to-day
usage. I'm not against your proposal, just another suggestion in context of
what I've written above.
^ permalink raw reply [flat|nested] 18+ messages in thread
* bug#31786: 'pre-inst-env guix --version' is not updated by new commits"
2018-06-15 19:13 ` George Clemmer
2018-06-15 20:30 ` Nils Gillmann
@ 2018-06-15 22:02 ` Ricardo Wurmus
2018-06-15 22:24 ` Ricardo Wurmus
2018-06-16 1:35 ` George Clemmer
1 sibling, 2 replies; 18+ messages in thread
From: Ricardo Wurmus @ 2018-06-15 22:02 UTC (permalink / raw)
To: George Clemmer; +Cc: Clément Lassieur, 31786
Hi George,
> The current doc reflects the needs and sensibilities of the hackers,
> maintainers, and sysops that have built Guix. These "elite" users have
> different needs and judge what is important quite differently from end
> users. This guarantees that the current doc is inadequate for end users.
> So, if, as you say, you want to make Guix accessible to end users, you
> need to make changes in the doc. The questions: How? What?
[…]
> I said: I use 'pre-inst-env guix' this way and this is a bug.
“pre-inst-env” really should not be used by people other than
developers. It is only available when building Guix from a clone of the
git repository.
We do not recommend “pre-inst-env” for any other purpose than to make
changes to the code, so I would not like to document the quirks and
limitations of “pre-inst-env” in the manual, as this is not how Guix is
supposed to be used generally.
> Proposed (revised) footnote:
>
> (3) The Guix version in the Guix build is set by './bootstrap'. Thus,
> the version reported by './pre-inst-env guix --version' is not updated
> by subsequent 'git pull; make' steps. To update the version (and rebuild
> everything), use 'git clean -dfx; ./bootstrap; ./configure; make'.
I’m wary of adding this for similar reasons that Ludo wrote earlier. In
my opinion this ends up cluttering the manual with notes and what I
consider to be only tangentially relevant for readers of the manual.
--
Ricardo
^ permalink raw reply [flat|nested] 18+ messages in thread
* bug#31786: 'pre-inst-env guix --version' is not updated by new commits"
2018-06-15 22:02 ` Ricardo Wurmus
@ 2018-06-15 22:24 ` Ricardo Wurmus
2018-06-19 16:47 ` myglc2
2018-06-16 1:35 ` George Clemmer
1 sibling, 1 reply; 18+ messages in thread
From: Ricardo Wurmus @ 2018-06-15 22:24 UTC (permalink / raw)
To: George Clemmer; +Cc: Clément Lassieur, 31786
Ricardo Wurmus <rekado@elephly.net> writes:
>> Proposed (revised) footnote:
>>
>> (3) The Guix version in the Guix build is set by './bootstrap'. Thus,
>> the version reported by './pre-inst-env guix --version' is not updated
>> by subsequent 'git pull; make' steps. To update the version (and rebuild
>> everything), use 'git clean -dfx; ./bootstrap; ./configure; make'.
>
> I’m wary of adding this for similar reasons that Ludo wrote earlier. In
> my opinion this ends up cluttering the manual with notes and what I
> consider to be only tangentially relevant for readers of the manual.
An alternative might be to change the output of “guix --version” in the
presence of GUIX_UNINSTALLED, which is set by “pre-inst-env”. This
could be a simple change in “show-version-and-exit” that would use
something other than “%guix-version” when GUIX_UNINSTALLED is set.
What do others think?
--
Ricardo
^ permalink raw reply [flat|nested] 18+ messages in thread
* bug#31786: 'pre-inst-env guix --version' is not updated by new commits"
2018-06-15 22:02 ` Ricardo Wurmus
2018-06-15 22:24 ` Ricardo Wurmus
@ 2018-06-16 1:35 ` George Clemmer
1 sibling, 0 replies; 18+ messages in thread
From: George Clemmer @ 2018-06-16 1:35 UTC (permalink / raw)
To: Ricardo Wurmus; +Cc: Clément Lassieur, 31786
Ricardo Wurmus <rekado@elephly.net> writes:
> Hi George,
>
>> The current doc reflects the needs and sensibilities of the hackers,
>> maintainers, and sysops that have built Guix. These "elite" users have
>> different needs and judge what is important quite differently from end
>> users. This guarantees that the current doc is inadequate for end users.
>> So, if, as you say, you want to make Guix accessible to end users, you
>> need to make changes in the doc. The questions: How? What?
> […]
>> I said: I use 'pre-inst-env guix' this way and this is a bug.
>
> “pre-inst-env” really should not be used by people other than
> developers. It is only available when building Guix from a clone of the
> git repository.
>
> We do not recommend “pre-inst-env” for any other purpose than to make
> changes to the code, so I would not like to document the quirks and
> limitations of “pre-inst-env” in the manual, as this is not how Guix is
> supposed to be used generally.
>
>> Proposed (revised) footnote:
>>
>> (3) The Guix version in the Guix build is set by './bootstrap'. Thus,
>> the version reported by './pre-inst-env guix --version' is not updated
>> by subsequent 'git pull; make' steps. To update the version (and rebuild
>> everything), use 'git clean -dfx; ./bootstrap; ./configure; make'.
>
> I’m wary of adding this for similar reasons that Ludo wrote earlier. In
> my opinion this ends up cluttering the manual with notes and what I
> consider to be only tangentially relevant for readers of the manual.
Hi Ricardo,
Please read further down the original post. I think you will find that I
already addressed your points.
Collectively, the responses here bring to mind a Harvard Business School
case study I was taught in 1983. The gist of it: Bakers at Holsum Bread
told a salesman that they had figured out how to run his company's bread
making machine at twice the design speed. Because this was twice as fast
as the competitor's machine, they wanted to place a big order for more
machines. When the salesman told the company engineer about the order he
said, "You can't sell any more machines to Holsum because they aren't
using my machine properly!"
- George
^ permalink raw reply [flat|nested] 18+ messages in thread
* bug#31786: 'pre-inst-env guix --version' is not updated by new commits"
2018-06-15 20:30 ` Nils Gillmann
@ 2018-06-16 16:06 ` George Clemmer
0 siblings, 0 replies; 18+ messages in thread
From: George Clemmer @ 2018-06-16 16:06 UTC (permalink / raw)
To: Nils Gillmann; +Cc: Clément Lassieur, 31786
Hi Nils,
Nils Gillmann <ng0@n0.is> writes:
[...]
> Long text short nonsense: you end up with lots of work and long books if you
> do it right. It should be done this way. Maybe if not directly applied we
> could collect the proposals somewhere in the repository? I've recently
> started to strip out a whole chapter with repetive installation instructions
> in GNUnet. A while back I would've argued for keeping it, that we really
> need to cover and guide every case.
> Some projects have written "An introduction to..." books to lead up to
> the manual.
> In my opinion access to knowledge should be easy and without much 'rough
> edges' to get it.
> Do we keep it selfcontained? Reference other books? A middle path? It's
> difficult to get it right if you don't have the time to think about this
> as a fulltime job.
[...]
>
> Do we really have to assume that everyone has the same skilset who wants
> to get involved? Not about this topic, but in general? I think the assumption
> that we share the same knowledge is difficult. Part of the excercise is to
> reach out, actively, in person. Another part is to try and do it in text (be
> it on a website or a (new) chapter in a manual).
[...]
> Counter-proposal: What about additional man-pages? man has enough sections
> to provide well written, to the point, collection of notes for such day-to-day
> usage. I'm not against your proposal, just another suggestion in context of
> what I've written above.
I think the Guix strategy, AIUI, of putting 99.9% of the doc effort into
a single doc via Texinfo is very efficient. INFO and HTML reach the two
extreme user types: hackers that use INFO and people use that google.
Partitioning the problem into sub-parts is tempting. But it increases
the risk of a sub-part drifting out of date at which point it is better
to not have had the sub-part ;-)
The Guix "mico-man-page" effectively eliminates a sub-part. Hackers can
use INFO and people who google don't use man, so I think the micro-man
approach is fine.
I think the most promising and productive way for Guix to improve the
end-user-friendliness of the doc is to use end-user "support incidents"
to drive doc additions. At the end of an incident the user question is
fresh in your mind, you have information that you know could have been
helpful to at least one user, and you capture the support effort into
something longer lasting.
- George
^ permalink raw reply [flat|nested] 18+ messages in thread
* bug#31786: 'pre-inst-env guix --version' is not updated by new commits"
2018-06-15 22:24 ` Ricardo Wurmus
@ 2018-06-19 16:47 ` myglc2
0 siblings, 0 replies; 18+ messages in thread
From: myglc2 @ 2018-06-19 16:47 UTC (permalink / raw)
To: Ricardo Wurmus; +Cc: George Clemmer, 31786, Clément Lassieur
On 06/16/2018 at 00:24 Ricardo Wurmus writes:
> Ricardo Wurmus <rekado@elephly.net> writes:
>
>>> Proposed (revised) footnote:
>>>
>>> (3) The Guix version in the Guix build is set by './bootstrap'. Thus,
>>> the version reported by './pre-inst-env guix --version' is not updated
>>> by subsequent 'git pull; make' steps. To update the version (and rebuild
>>> everything), use 'git clean -dfx; ./bootstrap; ./configure; make'.
>>
>> I’m wary of adding this for similar reasons that Ludo wrote earlier. In
>> my opinion this ends up cluttering the manual with notes and what I
>> consider to be only tangentially relevant for readers of the manual.
>
> An alternative might be to change the output of “guix --version” in the
> presence of GUIX_UNINSTALLED, which is set by “pre-inst-env”. This
> could be a simple change in “show-version-and-exit” that would use
> something other than “%guix-version” when GUIX_UNINSTALLED is set.
>
> What do others think?
>
> --
> Ricardo
I like it.
^ permalink raw reply [flat|nested] 18+ messages in thread
end of thread, other threads:[~2018-06-19 16:48 UTC | newest]
Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-06-11 18:01 bug#31786: 'pre-inst-env guix --version' is not updated by new commits" George Clemmer
2018-06-12 13:21 ` Ludovic Courtès
2018-06-12 18:28 ` George Clemmer
2018-06-12 20:33 ` Ludovic Courtès
2018-06-13 0:51 ` George Clemmer
2018-06-13 6:54 ` Ludovic Courtès
2018-06-14 1:39 ` Leo Famulari
2018-06-14 15:18 ` George Clemmer
2018-06-14 16:10 ` Clément Lassieur
2018-06-14 16:45 ` Clément Lassieur
2018-06-14 16:36 ` Ludovic Courtès
2018-06-15 19:13 ` George Clemmer
2018-06-15 20:30 ` Nils Gillmann
2018-06-16 16:06 ` George Clemmer
2018-06-15 22:02 ` Ricardo Wurmus
2018-06-15 22:24 ` Ricardo Wurmus
2018-06-19 16:47 ` myglc2
2018-06-16 1:35 ` George Clemmer
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).