* [bug#66605] [PATCH] etc: gitconfig: Run etc/teams.scm from correct environment.
@ 2023-10-18 12:05 Clément Lassieur
2023-10-18 17:54 ` Maxim Cournoyer
` (2 more replies)
0 siblings, 3 replies; 11+ messages in thread
From: Clément Lassieur @ 2023-10-18 12:05 UTC (permalink / raw)
To: 66605; +Cc: Clément Lassieur, Maxim Cournoyer
* etc/git/gitconfig: Prepend "guix shell -D guix --pure ./pre-inst-env" to the
etc/teams.scm script so that any user that have git:send-email installed can
use it in the Guix checkout without changing their environment.
---
etc/git/gitconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/etc/git/gitconfig b/etc/git/gitconfig
index 907ad0180454..757360220155 100644
--- a/etc/git/gitconfig
+++ b/etc/git/gitconfig
@@ -14,5 +14,5 @@
[sendemail]
to = guix-patches@gnu.org
- headerCmd = etc/teams.scm cc-members-header-cmd
+ headerCmd = guix shell -D guix --pure -- ./pre-inst-env etc/teams.scm cc-members-header-cmd
thread = no
base-commit: 5498835bb38c0de57f284f0fa6b1178ecdcaf678
prerequisite-patch-id: d95e49e4fc059972fc5a7b2c92816df2228a0af1
prerequisite-patch-id: a0dca8c3175d6ce71c77e220c4ac98b6e97cef56
--
2.41.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [bug#66605] [PATCH] etc: gitconfig: Run etc/teams.scm from correct environment.
2023-10-18 12:05 [bug#66605] [PATCH] etc: gitconfig: Run etc/teams.scm from correct environment Clément Lassieur
@ 2023-10-18 17:54 ` Maxim Cournoyer
2023-10-18 20:52 ` Clément Lassieur
2023-10-18 21:50 ` [bug#66605] [PATCH v2] " Clément Lassieur
2023-10-22 20:07 ` [bug#66605] [PATCH v5] " Maxim Cournoyer
2 siblings, 1 reply; 11+ messages in thread
From: Maxim Cournoyer @ 2023-10-18 17:54 UTC (permalink / raw)
To: Clément Lassieur; +Cc: 66605
Hi,
Clément Lassieur <clement@lassieur.org> writes:
> * etc/git/gitconfig: Prepend "guix shell -D guix --pure ./pre-inst-env" to the
> etc/teams.scm script so that any user that have git:send-email installed can
> use it in the Guix checkout without changing their environment.
I'm not sure I understand; why does etc/teams.scm cc-members-header-cmd
fail in an environment where git:send-email is available?
--
Thanks,
Maxim
^ permalink raw reply [flat|nested] 11+ messages in thread
* [bug#66605] [PATCH] etc: gitconfig: Run etc/teams.scm from correct environment.
2023-10-18 17:54 ` Maxim Cournoyer
@ 2023-10-18 20:52 ` Clément Lassieur
0 siblings, 0 replies; 11+ messages in thread
From: Clément Lassieur @ 2023-10-18 20:52 UTC (permalink / raw)
To: Maxim Cournoyer; +Cc: 66605
Hi Maxim,
Maxim Cournoyer <maxim.cournoyer@gmail.com> writes:
>> * etc/git/gitconfig: Prepend "guix shell -D guix --pure ./pre-inst-env" to the
>> etc/teams.scm script so that any user that have git:send-email installed can
>> use it in the Guix checkout without changing their environment.
>
> I'm not sure I understand; why does etc/teams.scm cc-members-header-cmd
> fail in an environment where git:send-email is available?
Because it requires (git) and (guix ui). So you need ./pre-inst-env for
(guix ui), plus guile, guile-git and guile-gcrypt. The minimal setup
would be:
`guix shell guile guile-git guile-gcrypt git git:send-email --pure -- ./pre-inst-env git send-email`
or
`guix shell guile guile-git guile-gcrypt -- ./pre-inst-env git send-email`
with an impure environment containing git and git:send-email.
But it could be shortened as
`guix shell git:send-email -D guix --pure -- ./pre-inst-env git send-email`
However, in this case `guix shell git:send-email` is necessary even with
impure environments containing git and git:send-email because `-D guix`
pulls git without pulling git:send-email.
Thanks,
Clément
^ permalink raw reply [flat|nested] 11+ messages in thread
* [bug#66605] [PATCH v2] etc: gitconfig: Run etc/teams.scm from correct environment.
2023-10-18 12:05 [bug#66605] [PATCH] etc: gitconfig: Run etc/teams.scm from correct environment Clément Lassieur
2023-10-18 17:54 ` Maxim Cournoyer
@ 2023-10-18 21:50 ` Clément Lassieur
2023-10-19 1:39 ` Maxim Cournoyer
2023-10-19 1:47 ` Maxim Cournoyer
2023-10-22 20:07 ` [bug#66605] [PATCH v5] " Maxim Cournoyer
2 siblings, 2 replies; 11+ messages in thread
From: Clément Lassieur @ 2023-10-18 21:50 UTC (permalink / raw)
To: 66605; +Cc: Clément Lassieur, Maxim Cournoyer
* etc/git/gitconfig: Prepend "guix repl" to the etc/teams.scm script so that
any user that has git:send-email installed can use it in the Guix checkout
without changing their environment. (teams.scm uses (git) and (guix ui).)
---
etc/git/gitconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/etc/git/gitconfig b/etc/git/gitconfig
index 907ad0180454..abcd494d62e8 100644
--- a/etc/git/gitconfig
+++ b/etc/git/gitconfig
@@ -14,5 +14,5 @@
[sendemail]
to = guix-patches@gnu.org
- headerCmd = etc/teams.scm cc-members-header-cmd
+ headerCmd = guix repl etc/teams.scm cc-members-header-cmd
thread = no
base-commit: 5498835bb38c0de57f284f0fa6b1178ecdcaf678
prerequisite-patch-id: d95e49e4fc059972fc5a7b2c92816df2228a0af1
prerequisite-patch-id: a0dca8c3175d6ce71c77e220c4ac98b6e97cef56
--
2.41.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [bug#66605] [PATCH v2] etc: gitconfig: Run etc/teams.scm from correct environment.
2023-10-18 21:50 ` [bug#66605] [PATCH v2] " Clément Lassieur
@ 2023-10-19 1:39 ` Maxim Cournoyer
2023-10-19 1:47 ` Maxim Cournoyer
1 sibling, 0 replies; 11+ messages in thread
From: Maxim Cournoyer @ 2023-10-19 1:39 UTC (permalink / raw)
To: Clément Lassieur; +Cc: 66605
Hi,
Clément Lassieur <clement@lassieur.org> writes:
> * etc/git/gitconfig: Prepend "guix repl" to the etc/teams.scm script so that
> any user that has git:send-email installed can use it in the Guix checkout
> without changing their environment. (teams.scm uses (git) and (guix ui).)
> ---
> etc/git/gitconfig | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/etc/git/gitconfig b/etc/git/gitconfig
> index 907ad0180454..abcd494d62e8 100644
> --- a/etc/git/gitconfig
> +++ b/etc/git/gitconfig
> @@ -14,5 +14,5 @@
>
> [sendemail]
> to = guix-patches@gnu.org
> - headerCmd = etc/teams.scm cc-members-header-cmd
> + headerCmd = guix repl etc/teams.scm cc-members-header-cmd
I had noticed as well that since Guix depends on 'git', we now have to
include git:send-email to the profile to be able to use it, like:
'guix shell -D guix git:send-email'.
I think on foreign distributions, you also need to use mumi or git
send-email in ./pre-inst-env, which is what your patch solves, I
believe. This is not needed on a Guix System because the guix-daemon
used by it adds the Guix modules to the GUILE_LOAD_PATH.
--
Thanks,
Maxim
^ permalink raw reply [flat|nested] 11+ messages in thread
* [bug#66605] [PATCH v2] etc: gitconfig: Run etc/teams.scm from correct environment.
2023-10-18 21:50 ` [bug#66605] [PATCH v2] " Clément Lassieur
2023-10-19 1:39 ` Maxim Cournoyer
@ 2023-10-19 1:47 ` Maxim Cournoyer
2023-10-19 10:05 ` Clément Lassieur
1 sibling, 1 reply; 11+ messages in thread
From: Maxim Cournoyer @ 2023-10-19 1:47 UTC (permalink / raw)
To: Clément Lassieur; +Cc: 66605
Hello,
Clément Lassieur <clement@lassieur.org> writes:
> * etc/git/gitconfig: Prepend "guix repl" to the etc/teams.scm script so that
> any user that has git:send-email installed can use it in the Guix checkout
> without changing their environment. (teams.scm uses (git) and (guix ui).)
> ---
> etc/git/gitconfig | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/etc/git/gitconfig b/etc/git/gitconfig
> index 907ad0180454..abcd494d62e8 100644
> --- a/etc/git/gitconfig
> +++ b/etc/git/gitconfig
> @@ -14,5 +14,5 @@
>
> [sendemail]
> to = guix-patches@gnu.org
> - headerCmd = etc/teams.scm cc-members-header-cmd
> + headerCmd = guix repl etc/teams.scm cc-members-header-cmd
Even nicer could be using 'guix repl' in the teams.scm script shebang.
This way even for those using it outside of 'git send-email', it'd
always work.
--
Thanks,
Maxim
^ permalink raw reply [flat|nested] 11+ messages in thread
* [bug#66605] [PATCH v2] etc: gitconfig: Run etc/teams.scm from correct environment.
2023-10-19 1:47 ` Maxim Cournoyer
@ 2023-10-19 10:05 ` Clément Lassieur
2023-10-21 3:39 ` [bug#66605] [PATCH v3] teams: Adjust shebang to use 'guix repl' Maxim Cournoyer
0 siblings, 1 reply; 11+ messages in thread
From: Clément Lassieur @ 2023-10-19 10:05 UTC (permalink / raw)
To: Maxim Cournoyer; +Cc: 66605
[-- Attachment #1: Type: text/plain, Size: 608 bytes --]
> Even nicer could be using 'guix repl' in the teams.scm script shebang.
> This way even for those using it outside of 'git send-email', it'd
> always work.
I can't find a nice solution to do that. And I think people who run teams.scm directly will expect a guile crash and make sure to get the correct environment, so it's not really a problem at that point.
This is not the case for people who run `git send-email`. Those people don't expect a guile crash.
So if you have a clean solution that works in a shebang (without the file being detected as a shell script by most editors), please show it :-)
[-- Attachment #2: Type: text/html, Size: 943 bytes --]
^ permalink raw reply [flat|nested] 11+ messages in thread
* [bug#66605] [PATCH v3] teams: Adjust shebang to use 'guix repl'.
2023-10-19 10:05 ` Clément Lassieur
@ 2023-10-21 3:39 ` Maxim Cournoyer
0 siblings, 0 replies; 11+ messages in thread
From: Maxim Cournoyer @ 2023-10-21 3:39 UTC (permalink / raw)
To: 66605; +Cc: Maxim Cournoyer, clement
This ensures the correct Guix dependencies are always available for the
script.
* etc/teams.scm.in: Rename to...
* etc/teams.scm: ... this. Adjust shebang.
* .gitignore: No longer ignore it.
* configure.ac: Do not process it with AC_CONFIG_FILES.
Fixes: https://issues.guix.gnu.org/66605
Change-Id: I7a01750c6c5f0696b6c36b1e6caa9389d9e6822c
---
.gitignore | 1 -
configure.ac | 1 -
etc/{teams.scm.in => teams.scm} | 8 ++++++--
3 files changed, 6 insertions(+), 4 deletions(-)
rename etc/{teams.scm.in => teams.scm} (99%)
mode change 100644 => 100755
diff --git a/.gitignore b/.gitignore
index 543dc1c655..0f74b5da3d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -68,7 +68,6 @@
/doc/version.texi
/doc/version-*.texi
/etc/committer.scm
-/etc/teams.scm
/etc/gnu-store.mount
/etc/guix-daemon.cil
/etc/guix-daemon.conf
diff --git a/configure.ac b/configure.ac
index d817f620cf..ecbd596a34 100644
--- a/configure.ac
+++ b/configure.ac
@@ -281,7 +281,6 @@ AC_CONFIG_FILES([Makefile
guix/config.scm])
AC_CONFIG_FILES([etc/committer.scm], [chmod +x etc/committer.scm])
-AC_CONFIG_FILES([etc/teams.scm], [chmod +x etc/teams.scm])
AC_CONFIG_FILES([test-env:build-aux/test-env.in], [chmod +x test-env])
AC_CONFIG_FILES([pre-inst-env:build-aux/pre-inst-env.in],
[chmod +x pre-inst-env])
diff --git a/etc/teams.scm.in b/etc/teams.scm
old mode 100644
new mode 100755
similarity index 99%
rename from etc/teams.scm.in
rename to etc/teams.scm
index 55242caad1..98bbfd9e57
--- a/etc/teams.scm.in
+++ b/etc/teams.scm
@@ -1,5 +1,9 @@
-#!@GUILE@ \
---no-auto-compile -s
+#!/bin/sh
+# Extra care is taken here to ensure this script can run in most environments,
+# since it is invoked by 'git send-email'.
+pre_inst_env_maybe=
+command -v guix || pre_inst_env_maybe=./pre-inst-env
+exec $pre_inst_env_maybe guix repl -- "$0" "$@"
!#
;;; GNU Guix --- Functional package management for GNU
base-commit: d2111894c48b2ebd7e7be683c07241bbd8a91919
prerequisite-patch-id: b8372a944dab5ec4df332a27705ff18e6a0e679c
--
2.41.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [bug#66605] [PATCH v5] teams: Adjust shebang to use 'guix repl'.
2023-10-18 12:05 [bug#66605] [PATCH] etc: gitconfig: Run etc/teams.scm from correct environment Clément Lassieur
2023-10-18 17:54 ` Maxim Cournoyer
2023-10-18 21:50 ` [bug#66605] [PATCH v2] " Clément Lassieur
@ 2023-10-22 20:07 ` Maxim Cournoyer
2023-10-22 20:23 ` Clément Lassieur
2 siblings, 1 reply; 11+ messages in thread
From: Maxim Cournoyer @ 2023-10-22 20:07 UTC (permalink / raw)
To: 66605; +Cc: Maxim Cournoyer, Clément Lassieur
This ensures the correct Guix dependencies are always available for the
script.
* etc/teams.scm.in: Rename to...
* etc/teams.scm: ... this. Adjust shebang.
* .gitignore: No longer ignore it.
* configure.ac: Do not process it with AC_CONFIG_FILES.
Fixes: https://issues.guix.gnu.org/66605
---
Changes in v5:
- Redirect command -v output to /dev/null
.gitignore | 1 -
configure.ac | 1 -
etc/{teams.scm.in => teams.scm} | 8 ++++++--
3 files changed, 6 insertions(+), 4 deletions(-)
rename etc/{teams.scm.in => teams.scm} (99%)
mode change 100644 => 100755
diff --git a/.gitignore b/.gitignore
index 543dc1c655..0f74b5da3d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -68,7 +68,6 @@
/doc/version.texi
/doc/version-*.texi
/etc/committer.scm
-/etc/teams.scm
/etc/gnu-store.mount
/etc/guix-daemon.cil
/etc/guix-daemon.conf
diff --git a/configure.ac b/configure.ac
index d817f620cf..ecbd596a34 100644
--- a/configure.ac
+++ b/configure.ac
@@ -281,7 +281,6 @@ AC_CONFIG_FILES([Makefile
guix/config.scm])
AC_CONFIG_FILES([etc/committer.scm], [chmod +x etc/committer.scm])
-AC_CONFIG_FILES([etc/teams.scm], [chmod +x etc/teams.scm])
AC_CONFIG_FILES([test-env:build-aux/test-env.in], [chmod +x test-env])
AC_CONFIG_FILES([pre-inst-env:build-aux/pre-inst-env.in],
[chmod +x pre-inst-env])
diff --git a/etc/teams.scm.in b/etc/teams.scm
old mode 100644
new mode 100755
similarity index 99%
rename from etc/teams.scm.in
rename to etc/teams.scm
index 55242caad1..0b25955701
--- a/etc/teams.scm.in
+++ b/etc/teams.scm
@@ -1,5 +1,9 @@
-#!@GUILE@ \
---no-auto-compile -s
+#!/bin/sh
+# Extra care is taken here to ensure this script can run in most environments,
+# since it is invoked by 'git send-email'.
+pre_inst_env_maybe=
+command -v guix > /dev/null || pre_inst_env_maybe=./pre-inst-env
+exec $pre_inst_env_maybe guix repl -- "$0" "$@"
!#
;;; GNU Guix --- Functional package management for GNU
base-commit: faeebdc37e9137d62e11175e83988f77496a6641
--
2.41.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [bug#66605] [PATCH v5] teams: Adjust shebang to use 'guix repl'.
2023-10-22 20:07 ` [bug#66605] [PATCH v5] " Maxim Cournoyer
@ 2023-10-22 20:23 ` Clément Lassieur
2023-10-23 0:39 ` bug#66605: " Maxim Cournoyer
0 siblings, 1 reply; 11+ messages in thread
From: Clément Lassieur @ 2023-10-22 20:23 UTC (permalink / raw)
To: Maxim Cournoyer; +Cc: 66605
Maxim Cournoyer <maxim.cournoyer@gmail.com> writes:
> This ensures the correct Guix dependencies are always available for the
> script.
>
> * etc/teams.scm.in: Rename to...
> * etc/teams.scm: ... this. Adjust shebang.
> * .gitignore: No longer ignore it.
> * configure.ac: Do not process it with AC_CONFIG_FILES.
>
> Fixes: https://issues.guix.gnu.org/66605
> ---
Sounds good to me! Of course, please commit it as your own.
Thank you very much,
Clément
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#66605: [PATCH v5] teams: Adjust shebang to use 'guix repl'.
2023-10-22 20:23 ` Clément Lassieur
@ 2023-10-23 0:39 ` Maxim Cournoyer
0 siblings, 0 replies; 11+ messages in thread
From: Maxim Cournoyer @ 2023-10-23 0:39 UTC (permalink / raw)
To: Clément Lassieur; +Cc: 66605-done
Hi,
Clément Lassieur <clement@lassieur.org> writes:
> Maxim Cournoyer <maxim.cournoyer@gmail.com> writes:
>
>> This ensures the correct Guix dependencies are always available for the
>> script.
>>
>> * etc/teams.scm.in: Rename to...
>> * etc/teams.scm: ... this. Adjust shebang.
>> * .gitignore: No longer ignore it.
>> * configure.ac: Do not process it with AC_CONFIG_FILES.
>>
>> Fixes: https://issues.guix.gnu.org/66605
>> ---
>
> Sounds good to me! Of course, please commit it as your own.
>
> Thank you very much,
> Clément
Done! Thanks for the report!
--
Thanks,
Maxim
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2023-10-23 0:41 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-10-18 12:05 [bug#66605] [PATCH] etc: gitconfig: Run etc/teams.scm from correct environment Clément Lassieur
2023-10-18 17:54 ` Maxim Cournoyer
2023-10-18 20:52 ` Clément Lassieur
2023-10-18 21:50 ` [bug#66605] [PATCH v2] " Clément Lassieur
2023-10-19 1:39 ` Maxim Cournoyer
2023-10-19 1:47 ` Maxim Cournoyer
2023-10-19 10:05 ` Clément Lassieur
2023-10-21 3:39 ` [bug#66605] [PATCH v3] teams: Adjust shebang to use 'guix repl' Maxim Cournoyer
2023-10-22 20:07 ` [bug#66605] [PATCH v5] " Maxim Cournoyer
2023-10-22 20:23 ` Clément Lassieur
2023-10-23 0:39 ` bug#66605: " Maxim Cournoyer
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.