From: Simon Tournier <zimon.toutoune@gmail.com>
To: "Maxim Cournoyer" <maxim.cournoyer@gmail.com>,
"Ludovic Courtès" <ludo@gnu.org>
Cc: 65924@debbugs.gnu.org
Subject: bug#65924: git searches coreutils and util-linux commands in PATH
Date: Thu, 05 Oct 2023 18:21:36 +0200 [thread overview]
Message-ID: <87pm1tujjj.fsf@gmail.com> (raw)
In-Reply-To: <87r0m920so.fsf@gmail.com>
Hi,
On Wed, 04 Oct 2023 at 23:41, Maxim Cournoyer <maxim.cournoyer@gmail.com> wrote:
>> I think we should add coreutils-minimal and sed (or gash-utils?) to the
>> ‘git-submodule’ wrapper that already exists.
>
> That should work for the use case at hand, but we should scan the source
> for occurrences of the tools to see if other git commands need to be
> wrapped as well. This doesn't also cover 'uname' from my report, which
> should be looked into as well (when is it needed? is it a fatal error if
> it's missing? etc.)
Well, ’git-submodule’ is just a shell script. It depends on:
+ basename
+ sed
+ git-sh-setup which depends on:
+ basename
+ sed
+ uname
And all these other subcommands match ’git-sh-setup’:
Binary:
+ bin/git
+ bin/scalar
+ libexec/git-core/git
+ libexec/git-core/scalar
Scripts:
+ libexec/git-core/git-filter-branch
+ libexec/git-core/git-merge-octopus
+ libexec/git-core/git-merge-one-file
+ libexec/git-core/git-merge-resolve
+ libexec/git-core/git-mergetool
+ libexec/git-core/git-quiltimport
+ libexec/git-core/git-submodule
+ libexec/git-core/git-web--browse
+ libexec/git-core/git-web--browse
For instance, libexec/git-core/git-mergetools/emerge or
libexec/git-core/git-mergetools/tortoisemerge depends on ’basename’.
This ’git-sh-setup’ is dragged into the picture by the file
’command-list.h’ which basically provides some help. See below.
Last, I think ’git-sh-setup’ fails if ’uname’ is missing.
Cheers,
simon
--8<---------------cut here---------------start------------->8---
# From Git checkout
$ cat git-submodule | grep -n -E '(basename|sed|uname)'
7:dashless=$(basename "$0" | sed -e 's/-/ /')
569:# parsed here as well, for backward compatibility.
613:"cmd_$(echo $command | sed -e s/-/_/g)" "$@"
$ cat git-sh-setup | grep -n -E '(basename|sed|uname)'
77: dashless=$(basename -- "$0" | sed -e 's/-/ /')
181: die "$(eval_gettext "fatal: \$program_name cannot be used without a working tree.")"
188: die "$(eval_gettext "fatal: \$program_name cannot be used without a working tree.")"
230:# Generate a sed script to parse identities from a commit.
264:# Create a pick-script as above and feed it to sed. Stdout is suitable for
267: LANG=C LC_ALL=C sed -ne "$(pick_ident_script "$@")"
292:case $(uname -s) in
$ find $(guix build git-minimal --no-grafts) -type f -exec grep -nH git-sh-setup {} \; | sort
grep: /gnu/store/y3vdq2pdkljrw63xxnc2vb6lz07ycar6-git-minimal-2.41.0/bin/git: binary file matches
grep: /gnu/store/y3vdq2pdkljrw63xxnc2vb6lz07ycar6-git-minimal-2.41.0/bin/scalar: binary file matches
grep: /gnu/store/y3vdq2pdkljrw63xxnc2vb6lz07ycar6-git-minimal-2.41.0/libexec/git-core/git: binary file matches
grep: /gnu/store/y3vdq2pdkljrw63xxnc2vb6lz07ycar6-git-minimal-2.41.0/libexec/git-core/scalar: binary file matches
/gnu/store/y3vdq2pdkljrw63xxnc2vb6lz07ycar6-git-minimal-2.41.0/libexec/git-core/git-filter-branch:109:. git-sh-setup
/gnu/store/y3vdq2pdkljrw63xxnc2vb6lz07ycar6-git-minimal-2.41.0/libexec/git-core/git-merge-octopus:8:. git-sh-setup
/gnu/store/y3vdq2pdkljrw63xxnc2vb6lz07ycar6-git-minimal-2.41.0/libexec/git-core/git-merge-one-file:26:. git-sh-setup
/gnu/store/y3vdq2pdkljrw63xxnc2vb6lz07ycar6-git-minimal-2.41.0/libexec/git-core/git-merge-resolve:8:. git-sh-setup
/gnu/store/y3vdq2pdkljrw63xxnc2vb6lz07ycar6-git-minimal-2.41.0/libexec/git-core/git-mergetool:17:. git-sh-setup
/gnu/store/y3vdq2pdkljrw63xxnc2vb6lz07ycar6-git-minimal-2.41.0/libexec/git-core/git-quiltimport:14:. git-sh-setup
/gnu/store/y3vdq2pdkljrw63xxnc2vb6lz07ycar6-git-minimal-2.41.0/libexec/git-core/git-submodule:22:. git-sh-setup
/gnu/store/y3vdq2pdkljrw63xxnc2vb6lz07ycar6-git-minimal-2.41.0/libexec/git-core/git-web--browse:22:# the vanilla git-sh-setup should not be used.
/gnu/store/y3vdq2pdkljrw63xxnc2vb6lz07ycar6-git-minimal-2.41.0/libexec/git-core/git-web--browse:24:. git-sh-setup
$ find . -type f -name "*.[ch]" -exec grep -nH git-sh-setup {} \;
./command-list.h:171: { "git-sh-setup", N_("Common Git shell script setup code"), 0 | CAT_purehelpers },
$ find . -type f -name "*.o" -exec grep -nH git-sh-setup {} \;
grep: ./help.o: binary file matches
$ grep git-sh-setup git
grep: git: binary file matches
$ grep -B 5 -A 10 -n uname $(guix build git-minimal --no-grafts)/libexec/git-core/git-sh-setup
287- expr $sz0 \< $sz1 \* 2 >/dev/null || : >"$1"
288-}
289-
290-
291-# Platform specific tweaks to work around some commands
292:case $(uname -s) in
293-*MINGW*)
294- # Windows has its own (incompatible) sort and find
295- sort () {
296- /usr/bin/sort "$@"
297- }
298- find () {
299- /usr/bin/find "$@"
300- }
301- # git sees Windows-style pwd
302- pwd () {
--8<---------------cut here---------------end--------------->8---
next prev parent reply other threads:[~2023-10-06 8:19 UTC|newest]
Thread overview: 98+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-09-13 18:00 bug#65924: git searches coreutils and util-linux commands in PATH Maxim Cournoyer
2023-09-13 22:27 ` Simon Tournier
2023-09-14 3:14 ` Maxim Cournoyer
2023-09-14 6:12 ` Simon Tournier
2023-10-04 16:14 ` Ludovic Courtès
2023-10-04 16:52 ` Simon Tournier
2023-10-05 3:41 ` Maxim Cournoyer
2023-10-05 16:21 ` Simon Tournier [this message]
2023-10-08 3:18 ` bug#65924: [PATCH core-updates 0/3] Fix 'git submodule' in pure environments Maxim Cournoyer
2023-10-08 3:18 ` bug#65924: [PATCH core-updates 1/3] gnu: git: Remove labels and use gexps Maxim Cournoyer
2023-10-08 7:09 ` Liliana Marie Prikler
2023-10-14 16:51 ` Ludovic Courtès
2023-10-15 19:55 ` Maxim Cournoyer
2023-10-08 3:18 ` bug#65924: [PATCH core-updates 2/3] gnu: git: Invert inheritance relationship Maxim Cournoyer
2023-10-08 7:03 ` Liliana Marie Prikler
2023-10-09 14:21 ` bug#65924: git searches coreutils and util-linux commands in PATH Maxim Cournoyer
2023-10-09 16:49 ` Liliana Marie Prikler
2023-10-09 18:21 ` Maxim Cournoyer
2023-10-09 18:33 ` Liliana Marie Prikler
2023-10-09 19:25 ` Maxim Cournoyer
2023-10-09 19:28 ` Liliana Marie Prikler
2023-10-09 19:44 ` Maxim Cournoyer
2023-10-09 21:03 ` bokr
2023-10-10 4:28 ` Liliana Marie Prikler
2023-10-09 19:17 ` Maxim Cournoyer
2023-10-14 16:54 ` bug#65924: [PATCH core-updates 2/3] gnu: git: Invert inheritance relationship Ludovic Courtès
2023-10-08 3:18 ` bug#65924: [PATCH core-updates 3/3] gnu: git-minimal: Add coreutils and sed to PATH Maxim Cournoyer
2023-10-14 17:01 ` Ludovic Courtès
2023-10-15 20:03 ` Maxim Cournoyer
2023-10-17 15:15 ` Maxim Cournoyer
2023-10-09 16:28 ` bug#65924: [PATCH 00/65] Export %default-gnu-imported-modules and %default-gnu-modules Maxim Cournoyer
2023-10-09 16:28 ` bug#65924: [PATCH core-updates 02/65] gnu: acl: Remove labels and trailing #t Maxim Cournoyer
2023-10-09 16:28 ` bug#65924: [PATCH core-updates 03/65] gnu: acl: Import the correct set of modules Maxim Cournoyer
2023-10-09 16:28 ` bug#65924: [PATCH core-updates 04/65] gnu: dirvish: " Maxim Cournoyer
2023-10-09 16:28 ` bug#65924: [PATCH core-updates 05/65] gnu: fio: " Maxim Cournoyer
2023-10-09 16:28 ` bug#65924: [PATCH core-updates 06/65] gnu: ccwl: " Maxim Cournoyer
2023-10-09 16:28 ` bug#65924: [PATCH core-updates 07/65] gnu: boost: " Maxim Cournoyer
2023-10-09 16:28 ` bug#65924: [PATCH core-updates 08/65] gnu: gcc-final: " Maxim Cournoyer
2023-10-09 16:28 ` bug#65924: [PATCH core-updates 09/65] gnu: epson-inkjet-printer-escpr: " Maxim Cournoyer
2023-10-09 16:28 ` bug#65924: [PATCH core-updates 10/65] gnu: splix: " Maxim Cournoyer
2023-10-09 16:37 ` Maxim Cournoyer
2023-10-09 16:36 ` bug#65924: git searches coreutils and util-linux commands in PATH Maxim Cournoyer
2023-10-09 16:37 ` bug#65924: [PATCH core-updates 01/65] build-systems: gnu: Export %default-gnu-imported-modules and %default-gnu-modules Maxim Cournoyer
2023-10-09 16:37 ` bug#65924: [PATCH core-updates 11/65] gnu: guile-curl: Import the correct set of modules Maxim Cournoyer
2023-10-09 16:37 ` bug#65924: [PATCH core-updates 12/65] gnu: dpkg: " Maxim Cournoyer
2023-10-09 16:37 ` bug#65924: [PATCH core-updates 13/65] gnu: dezyne: " Maxim Cournoyer
2023-10-09 16:37 ` bug#65924: [PATCH core-updates 14/65] gnu: fastcap: " Maxim Cournoyer
2023-10-09 16:37 ` bug#65924: [PATCH core-updates 15/65] gnu: fasthenry: " Maxim Cournoyer
2023-10-09 16:37 ` bug#65924: [PATCH core-updates 16/65] gnu: seabios-qemu: " Maxim Cournoyer
2023-10-09 16:37 ` bug#65924: [PATCH core-updates 17/65] gnu: font-amiri: " Maxim Cournoyer
2023-10-09 16:37 ` bug#65924: [PATCH core-updates 18/65] gnu: xdg-utils: " Maxim Cournoyer
2023-10-09 16:37 ` bug#65924: [PATCH core-updates 19/65] gnu: tsukundere: " Maxim Cournoyer
2023-10-09 16:37 ` bug#65924: [PATCH core-updates 20/65] gnu: gcc-4.9: " Maxim Cournoyer
2023-10-09 16:37 ` bug#65924: [PATCH core-updates 21/65] gnu: make-libstdc++: " Maxim Cournoyer
2023-10-09 16:37 ` bug#65924: [PATCH core-updates 22/65] gnu: custom-gcc: " Maxim Cournoyer
2023-10-09 16:37 ` bug#65924: [PATCH core-updates 23/65] gnu: gdb: " Maxim Cournoyer
2023-10-09 16:37 ` bug#65924: [PATCH core-updates 24/65] gnu: genimage: " Maxim Cournoyer
2023-10-09 16:37 ` bug#65924: [PATCH core-updates 25/65] gnu: gimp: " Maxim Cournoyer
2023-10-09 16:37 ` bug#65924: [PATCH core-updates 26/65] gnu: pinentry-rofi: " Maxim Cournoyer
2023-10-09 16:37 ` bug#65924: [PATCH core-updates 27/65] gnu: mozjs: " Maxim Cournoyer
2023-10-09 16:37 ` bug#65924: [PATCH core-updates 28/65] gnu: icecat-minimal: " Maxim Cournoyer
2023-10-09 16:37 ` bug#65924: [PATCH core-updates 29/65] gnu: icedove-minimal: " Maxim Cournoyer
2023-10-09 16:37 ` bug#65924: [PATCH core-updates 30/65] gnu: python-graph-tool: " Maxim Cournoyer
2023-10-09 16:38 ` bug#65924: [PATCH core-updates 31/65] gnu: artanis: " Maxim Cournoyer
2023-10-09 16:38 ` bug#65924: [PATCH core-updates 32/65] gnu: guilescript: " Maxim Cournoyer
2023-10-09 16:38 ` bug#65924: [PATCH core-updates 33/65] gnu: guile-dsv: " Maxim Cournoyer
2023-10-09 16:38 ` bug#65924: [PATCH core-updates 34/65] gnu: guile-di: " Maxim Cournoyer
2023-10-09 16:38 ` bug#65924: [PATCH core-updates 35/65] gnu: guile-hall: " Maxim Cournoyer
2023-10-09 16:38 ` bug#65924: [PATCH core-updates 36/65] gnu: haunt: " Maxim Cournoyer
2023-10-09 16:38 ` bug#65924: [PATCH core-updates 37/65] gnu: guile-studio: " Maxim Cournoyer
2023-10-09 16:38 ` bug#65924: [PATCH core-updates 38/65] gnu: guile-libyaml: " Maxim Cournoyer
2023-10-09 16:38 ` bug#65924: [PATCH core-updates 39/65] gnu: guile-gitlab: " Maxim Cournoyer
2023-10-09 16:38 ` bug#65924: [PATCH core-updates 40/65] gnu: guile-smc: " Maxim Cournoyer
2023-10-09 16:38 ` bug#65924: [PATCH core-updates 41/65] gnu: rime-data: " Maxim Cournoyer
2023-10-09 16:38 ` bug#65924: [PATCH core-updates 42/65] gnu: jbigkit: " Maxim Cournoyer
2023-10-09 16:38 ` bug#65924: [PATCH core-updates 43/65] gnu: uftrace: " Maxim Cournoyer
2023-10-09 16:38 ` bug#65924: [PATCH core-updates 44/65] gnu: mdadm-static: " Maxim Cournoyer
2023-10-09 16:38 ` bug#65924: [PATCH core-updates 45/65] gnu: ecryptfs-utils: " Maxim Cournoyer
2023-10-09 16:38 ` bug#65924: [PATCH core-updates 46/65] gnu: ghmm: " Maxim Cournoyer
2023-10-09 16:38 ` bug#65924: [PATCH core-updates 47/65] gnu: %gcc-static: " Maxim Cournoyer
2023-10-09 16:38 ` bug#65924: [PATCH core-updates 48/65] gnu: mumps: " Maxim Cournoyer
2023-10-09 16:38 ` bug#65924: [PATCH core-updates 49/65] gnu: hypre: " Maxim Cournoyer
2023-10-09 16:38 ` bug#65924: [PATCH core-updates 50/65] gnu: lingeling: " Maxim Cournoyer
2023-10-09 16:38 ` bug#65924: [PATCH core-updates 51/65] gnu: guix-build-coordinator: " Maxim Cournoyer
2023-10-09 16:38 ` bug#65924: [PATCH core-updates 52/65] gnu: nar-herder: " Maxim Cournoyer
2023-10-09 16:38 ` bug#65924: [PATCH core-updates 53/65] gnu: python-sip-4: " Maxim Cournoyer
2023-10-09 16:38 ` bug#65924: [PATCH core-updates 54/65] gnu: ratpoison: " Maxim Cournoyer
2023-10-09 16:38 ` bug#65924: [PATCH core-updates 55/65] gnu: stklos: " Maxim Cournoyer
2023-10-09 16:38 ` bug#65924: [PATCH core-updates 56/65] gnu: python-sepolgen: " Maxim Cournoyer
2023-10-09 16:38 ` bug#65924: [PATCH core-updates 57/65] gnu: boxes: " Maxim Cournoyer
2023-10-09 16:38 ` bug#65924: [PATCH core-updates 58/65] gnu: simh: " Maxim Cournoyer
2023-10-09 16:38 ` bug#65924: [PATCH core-updates 59/65] gnu: stb: " Maxim Cournoyer
2023-10-09 16:38 ` bug#65924: [PATCH core-updates 60/65] gnu: info-reader: " Maxim Cournoyer
2023-10-09 16:38 ` bug#65924: [PATCH core-updates 61/65] gnu: git: " Maxim Cournoyer
2023-10-09 16:38 ` bug#65924: [PATCH core-updates 62/65] gnu: ffmpeg-3.4: " Maxim Cournoyer
2023-10-09 16:38 ` bug#65924: [PATCH core-updates 63/65] gnu: qemu: " Maxim Cournoyer
2023-10-09 16:38 ` bug#65924: [PATCH core-updates 64/65] gnu: ganeti: " Maxim Cournoyer
2023-10-09 16:38 ` bug#65924: [PATCH core-updates 65/65] gnu: criu: " Maxim Cournoyer
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
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87pm1tujjj.fsf@gmail.com \
--to=zimon.toutoune@gmail.com \
--cc=65924@debbugs.gnu.org \
--cc=ludo@gnu.org \
--cc=maxim.cournoyer@gmail.com \
/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 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).