All of lore.kernel.org
 help / color / mirror / Atom feed
From: Cyril Bur <cyrilbur@gmail.com>
To: Petr Vorel <petr.vorel@gmail.com>
Cc: "Yann E . MORIN" <yann.morin.1998@free.fr>,
	Markus Mayer <mmayer@broadcom.com>,
	buildroot@buildroot.org
Subject: Re: [Buildroot] [RFC PATCH 2/3] make: Drop `type -p ...' fallback
Date: Thu, 28 Oct 2021 14:52:12 +0100	[thread overview]
Message-ID: <20211028145212.36dcb38a@camb691.localdomain> (raw)
In-Reply-To: <20211011220025.7998-3-petr.vorel@gmail.com>

On Tue, 12 Oct 2021 00:00:24 +0200
Petr Vorel <petr.vorel@gmail.com> wrote:

> `command -v' is good enough as it's POSIX.
> For easier debugging previous problems removed separately.
> 

On doing some reading[1] I've discovered that this is a minefield.
Having said that, I'm pretty sure what currently happens isn't
good either.

My only concern might be that theres old RHEL (its always RHEL ;))
systems out there which could break. Some of my coleagues use old RHEL
VMs for their build machines. I'm going to try and see if I can get
access but I wouldn't hold up the patch waiting.

I've given this patch applied with the previous one a test and is
working fine on my system. I'm wondering if my tested by tag is
appropriate for the previous patch since I haven't tested it in
isolation.

uname -a
Linux 5.14.12-arch1-1 #1 SMP PREEMPT Wed, 13 Oct 2021 16:58:16
+0000 x86_64 GNU/Linux

make --version
GNU Make 4.3
Built for x86_64-pc-linux-gnu

/bin/sh --version
GNU bash, version 5.1.8(1)-release (x86_64-pc-linux-gnu)

[1]
https://unix.stackexchange.com/questions/85249/why-not-use-which-what-to-use-then

Tested-by: Cyril Bur <cyrilbur@gmail.com>
Reviewed-by: Cyril Bur <cyrilbur@gmail.com>
> Signed-off-by: Petr Vorel <petr.vorel@gmail.com>



> ---
>  Makefile            | 22 +++++++++++-----------
>  package/Makefile.in |  6 +++---
>  2 files changed, 14 insertions(+), 14 deletions(-)
> 
> diff --git a/Makefile b/Makefile
> index 2317655272..81b7173974 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -284,12 +284,12 @@ HOSTAS := as
>  endif
>  ifndef HOSTCC
>  HOSTCC := gcc
> -HOSTCC := $(shell $(SHELL) -c "command -v '$(HOSTCC)' || type -p
> '$(HOSTCC)' || echo gcc") +HOSTCC := $(shell $(SHELL) -c "command -v
> '$(HOSTCC)' || echo gcc") endif
>  HOSTCC_NOCCACHE := $(HOSTCC)
>  ifndef HOSTCXX
>  HOSTCXX := g++
> -HOSTCXX := $(shell $(SHELL) -c "command -v '$(HOSTCXX)' || type -p
> '$(HOSTCXX)' || echo g++") +HOSTCXX := $(shell $(SHELL) -c "command
> -v '$(HOSTCXX)' || echo g++") endif
>  HOSTCXX_NOCCACHE := $(HOSTCXX)
>  ifndef HOSTCPP
> @@ -310,15 +310,15 @@ endif
>  ifndef HOSTRANLIB
>  HOSTRANLIB := ranlib
>  endif
> -HOSTAR := $(shell '$(SHELL)' -c "command -v '$(HOSTAR)' || type -p
> '$(HOSTAR)' || echo ar") -HOSTAS := $(shell '$(SHELL)' -c "command -v
> '$(HOSTAS)' || type -p '$(HOSTAS)' || echo as") -HOSTCPP := $(shell
> '$(SHELL)' -c "command -v '$(HOSTCPP)' || type -p '$(HOSTCPP)' ||
> echo cpp") -HOSTLD := $(shell '$(SHELL)' -c "command -v '$(HOSTLD)'
> || type -p '$(HOSTLD)' || echo ld") -HOSTLN := $(shell '$(SHELL)' -c
> "command -v '$(HOSTLN)' || type -p '$(HOSTLN)' || echo ln") -HOSTNM
> := $(shell '$(SHELL)' -c "command -v '$(HOSTNM)' || type -p
> '$(HOSTNM)' || echo nm") -HOSTOBJCOPY := $(shell '$(SHELL)' -c
> "command -v '$(HOSTOBJCOPY)' || type -p '$(HOSTOBJCOPY)' || echo
> objcopy") -HOSTRANLIB := $(shell '$(SHELL)' -c "command -v
> '$(HOSTRANLIB)' || type -p '$(HOSTRANLIB)' || echo ranlib") -SED :=
> $(shell $(SHELL) -c "command -v sed || type -p sed") -i -e +HOSTAR :=
> $(shell '$(SHELL)' -c "command -v '$(HOSTAR)' || echo ar") +HOSTAS :=
> $(shell '$(SHELL)' -c "command -v '$(HOSTAS)' || echo as") +HOSTCPP
> := $(shell '$(SHELL)' -c "command -v '$(HOSTCPP)' || echo cpp")
> +HOSTLD := $(shell '$(SHELL)' -c "command -v '$(HOSTLD)' || echo ld")
> +HOSTLN := $(shell '$(SHELL)' -c "command -v '$(HOSTLN)' || echo ln")
> +HOSTNM := $(shell '$(SHELL)' -c "command -v '$(HOSTNM)' || echo nm")
> +HOSTOBJCOPY := $(shell '$(SHELL)' -c "command -v '$(HOSTOBJCOPY)' ||
> echo objcopy") +HOSTRANLIB := $(shell '$(SHELL)' -c "command -v
> '$(HOSTRANLIB)' || echo ranlib") +SED := $(shell $(SHELL) -c "command
> -v sed") -i -e export HOSTAR HOSTAS HOSTCC HOSTCXX HOSTLD export
> HOSTCC_NOCCACHE HOSTCXX_NOCCACHE diff --git a/package/Makefile.in
> b/package/Makefile.in index 2ba4d8b381..4e993ecd5f 100644 ---
> a/package/Makefile.in +++ b/package/Makefile.in @@ -4,7 +4,7 @@ endif
>  ifndef HOSTMAKE
>  HOSTMAKE = $(MAKE)
>  endif
> -HOSTMAKE := $(shell $(SHELL) -c "command -v '$(HOSTMAKE)' || type -p
> '$(HOSTMAKE)' || echo make") +HOSTMAKE := $(shell $(SHELL) -c
> "command -v '$(HOSTMAKE)' || echo make") 
>  # If BR2_JLEVEL is 0, scale the maximum concurrency with the number
> of # CPUs. An additional job is used in order to keep processors busy
> @@ -222,8 +222,8 @@ else
>  TARGET_STRIP = /bin/true
>  STRIPCMD = $(TARGET_STRIP)
>  endif
> -INSTALL := $(shell $(SHELL) -c "command -v install || type -p
> install") -UNZIP := $(shell $(SHELL) -c "command -v unzip || type -p
> unzip") -q +INSTALL := $(shell $(SHELL) -c "command -v install")
> +UNZIP := $(shell $(SHELL) -c "command -v unzip") -q
>  
>  APPLY_PATCHES = PATH=$(HOST_DIR)/bin:$$PATH
> support/scripts/apply-patches.sh $(if $(QUIET),-s) 

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

  reply	other threads:[~2021-10-28 13:52 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-11 22:00 [Buildroot] [RFC PATCH 0/3] make: support: use `command -v' instead of `which' *second try* Petr Vorel
2021-10-11 22:00 ` [Buildroot] [RFC PATCH 1/3] make: support: use `command -v' instead of `which' Petr Vorel
2021-11-11  8:00   ` Yann E. MORIN
2021-11-12 21:55     ` Petr Vorel
2022-07-23 21:28       ` Arnout Vandecappelle
2022-07-24  5:05         ` Petr Vorel
2021-10-11 22:00 ` [Buildroot] [RFC PATCH 2/3] make: Drop `type -p ...' fallback Petr Vorel
2021-10-28 13:52   ` Cyril Bur [this message]
2021-10-29 18:54     ` Petr Vorel
2021-11-11  8:13     ` Yann E. MORIN
2021-11-11 11:20       ` Cyril Bur
2021-10-11 22:00 ` [Buildroot] [RFC PATCH 3/3] support/dependencies: don't check for `which' Petr Vorel
2022-02-22 22:06 ` [Buildroot] [RFC PATCH 0/3] make: support: use `command -v' instead of `which' *second try* Petr Vorel

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

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20211028145212.36dcb38a@camb691.localdomain \
    --to=cyrilbur@gmail.com \
    --cc=buildroot@buildroot.org \
    --cc=mmayer@broadcom.com \
    --cc=petr.vorel@gmail.com \
    --cc=yann.morin.1998@free.fr \
    /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.
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.