diff mbox series

[v2] support/dependencies/dependencies.sh: awk is needed by Buildroot

Message ID 20250508180134.93333-1-thomas.petazzoni@bootlin.com
State Accepted
Delegated to: Julien Olivain
Headers show
Series [v2] support/dependencies/dependencies.sh: awk is needed by Buildroot | expand

Commit Message

Thomas Petazzoni May 8, 2025, 6:01 p.m. UTC
A basic Fedora 42 container does not have 'awk' installed, but it is
needed by Buildroot. First by check-host-python3.sh:

support/dependencies/check-host-python3.sh: line 6: awk: command not found
support/dependencies/check-host-python3.sh: line 19: awk: command not found
support/dependencies/check-host-python3.sh: line 19: awk: command not found

but then even building host-expat assumes awk is available:

config.status: creating Makefile
./config.status: line 1404: awk: command not found
config.status: creating expat.pc
./config.status: line 1404: awk: command not found

Since it's a pretty basic tool, make it part of the tools checked by
dependencies.sh. One minor annoyance is that check-host-python3.sh is
executed *before* dependencies.sh does its thing, so when 'awk' is not
available, we end up seeing:

support/dependencies/check-host-python3.sh: line 6: awk: command not found
support/dependencies/check-host-python3.sh: line 19: awk: command not found
support/dependencies/check-host-python3.sh: line 19: awk: command not found
which: no awk in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin)
You must install 'awk' on your build machine
make: *** [support/dependencies/dependencies.mk:27: dependencies] Error 1

It would be nice to have the awk check *before* it gets used in
check-host-python3.sh, but that's a topic for another patch.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
v1 -> v2: fix documentation syntax, spotted by Baruch
---
 docs/manual/prerequisite.adoc        | 1 +
 support/dependencies/dependencies.sh | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

Comments

Julien Olivain May 8, 2025, 7:36 p.m. UTC | #1
On 08/05/2025 20:01, Thomas Petazzoni via buildroot wrote:
> A basic Fedora 42 container does not have 'awk' installed, but it is
> needed by Buildroot. First by check-host-python3.sh:
> 
> support/dependencies/check-host-python3.sh: line 6: awk: command not 
> found
> support/dependencies/check-host-python3.sh: line 19: awk: command not 
> found
> support/dependencies/check-host-python3.sh: line 19: awk: command not 
> found
> 
> but then even building host-expat assumes awk is available:
> 
> config.status: creating Makefile
> ./config.status: line 1404: awk: command not found
> config.status: creating expat.pc
> ./config.status: line 1404: awk: command not found
> 
> Since it's a pretty basic tool, make it part of the tools checked by
> dependencies.sh. One minor annoyance is that check-host-python3.sh is
> executed *before* dependencies.sh does its thing, so when 'awk' is not
> available, we end up seeing:
> 
> support/dependencies/check-host-python3.sh: line 6: awk: command not 
> found
> support/dependencies/check-host-python3.sh: line 19: awk: command not 
> found
> support/dependencies/check-host-python3.sh: line 19: awk: command not 
> found
> which: no awk in 
> (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin)
> You must install 'awk' on your build machine
> make: *** [support/dependencies/dependencies.mk:27: dependencies] Error 
> 1
> 
> It would be nice to have the awk check *before* it gets used in
> check-host-python3.sh, but that's a topic for another patch.
> 
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>

Applied to master, thanks.
Arnout Vandecappelle May 16, 2025, 10:58 a.m. UTC | #2
On 08/05/2025 20:01, Thomas Petazzoni via buildroot wrote:
> A basic Fedora 42 container does not have 'awk' installed, but it is
> needed by Buildroot. First by check-host-python3.sh:
> 
> support/dependencies/check-host-python3.sh: line 6: awk: command not found
> support/dependencies/check-host-python3.sh: line 19: awk: command not found
> support/dependencies/check-host-python3.sh: line 19: awk: command not found
> 
> but then even building host-expat assumes awk is available:
> 
> config.status: creating Makefile
> ./config.status: line 1404: awk: command not found
> config.status: creating expat.pc
> ./config.status: line 1404: awk: command not found
> 
> Since it's a pretty basic tool, make it part of the tools checked by
> dependencies.sh. One minor annoyance is that check-host-python3.sh is
> executed *before* dependencies.sh does its thing, so when 'awk' is not
> available, we end up seeing:
> 
> support/dependencies/check-host-python3.sh: line 6: awk: command not found
> support/dependencies/check-host-python3.sh: line 19: awk: command not found
> support/dependencies/check-host-python3.sh: line 19: awk: command not found
> which: no awk in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin)
> You must install 'awk' on your build machine
> make: *** [support/dependencies/dependencies.mk:27: dependencies] Error 1
> 
> It would be nice to have the awk check *before* it gets used in
> check-host-python3.sh, but that's a topic for another patch.
> 
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>

  Applied to 2025.02.x, thanks.

  Regards,
  Arnout

> ---
> v1 -> v2: fix documentation syntax, spotted by Baruch
> ---
>   docs/manual/prerequisite.adoc        | 1 +
>   support/dependencies/dependencies.sh | 2 +-
>   2 files changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/docs/manual/prerequisite.adoc b/docs/manual/prerequisite.adoc
> index 5d3aa297a9..1bfcff1a4a 100644
> --- a/docs/manual/prerequisite.adoc
> +++ b/docs/manual/prerequisite.adoc
> @@ -38,6 +38,7 @@ between distributions).
>   ** +file+ (must be in +/usr/bin/file+)
>   ** +bc+
>   ** +findutils+
> +** +awk+
>   
>   * Source fetching tools:
>   ** +wget+
> diff --git a/support/dependencies/dependencies.sh b/support/dependencies/dependencies.sh
> index fb0defd0c9..2843e3c5d5 100755
> --- a/support/dependencies/dependencies.sh
> +++ b/support/dependencies/dependencies.sh
> @@ -154,7 +154,7 @@ fi
>   
>   # Check that a few mandatory programs are installed
>   missing_progs="no"
> -for prog in perl tar wget cpio unzip rsync bc cmp find xargs ${DL_TOOLS} ; do
> +for prog in perl tar wget cpio unzip rsync bc cmp find xargs awk ${DL_TOOLS} ; do
>   	if ! which $prog > /dev/null ; then
>   		echo "You must install '$prog' on your build machine";
>   		missing_progs="yes"
diff mbox series

Patch

diff --git a/docs/manual/prerequisite.adoc b/docs/manual/prerequisite.adoc
index 5d3aa297a9..1bfcff1a4a 100644
--- a/docs/manual/prerequisite.adoc
+++ b/docs/manual/prerequisite.adoc
@@ -38,6 +38,7 @@  between distributions).
 ** +file+ (must be in +/usr/bin/file+)
 ** +bc+
 ** +findutils+
+** +awk+
 
 * Source fetching tools:
 ** +wget+
diff --git a/support/dependencies/dependencies.sh b/support/dependencies/dependencies.sh
index fb0defd0c9..2843e3c5d5 100755
--- a/support/dependencies/dependencies.sh
+++ b/support/dependencies/dependencies.sh
@@ -154,7 +154,7 @@  fi
 
 # Check that a few mandatory programs are installed
 missing_progs="no"
-for prog in perl tar wget cpio unzip rsync bc cmp find xargs ${DL_TOOLS} ; do
+for prog in perl tar wget cpio unzip rsync bc cmp find xargs awk ${DL_TOOLS} ; do
 	if ! which $prog > /dev/null ; then
 		echo "You must install '$prog' on your build machine";
 		missing_progs="yes"