diff mbox series

[21/21] man-pages: use env from coreutils-native

Message ID 20240313173336.3900178-21-alex@linutronix.de
State Accepted, archived
Commit 7bfbaaf2baa54f0abff231cfc263d4d8bc7f732b
Headers show
Series [01/21] meson: correct upstream version check (exclude pre-releases) | expand

Commit Message

Alexander Kanavin March 13, 2024, 5:33 p.m. UTC
This is the outcome of investigating the selftest-armhost fail:
https://autobuilder.yoctoproject.org/typhoon/#/builders/127/builds/3028/steps/15/logs/stdio

When man-pages recipe builds on ubuntu 18.04, /usr/bin/env on that is too
old to support -S option, and the outcome is that man-pages quietly
installs nothing, and no packages get created, and the test
that expects the package to exist fails.

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
---
 .../0001-GNUmakefile-use-env-from-PATH.patch  | 31 +++++++++++++++++++
 .../man-pages/man-pages_6.06.bb               |  4 +++
 2 files changed, 35 insertions(+)
 create mode 100644 meta/recipes-extended/man-pages/man-pages/0001-GNUmakefile-use-env-from-PATH.patch

Comments

Khem Raj March 13, 2024, 5:55 p.m. UTC | #1
On Wed, Mar 13, 2024 at 10:34 AM Alexander Kanavin
<alex.kanavin@gmail.com> wrote:
>
> This is the outcome of investigating the selftest-armhost fail:
> https://autobuilder.yoctoproject.org/typhoon/#/builders/127/builds/3028/steps/15/logs/stdio
>
> When man-pages recipe builds on ubuntu 18.04, /usr/bin/env on that is too
> old to support -S option, and the outcome is that man-pages quietly
> installs nothing, and no packages get created, and the test
> that expects the package to exist fails.
>
> Signed-off-by: Alexander Kanavin <alex@linutronix.de>
> ---
>  .../0001-GNUmakefile-use-env-from-PATH.patch  | 31 +++++++++++++++++++
>  .../man-pages/man-pages_6.06.bb               |  4 +++
>  2 files changed, 35 insertions(+)
>  create mode 100644 meta/recipes-extended/man-pages/man-pages/0001-GNUmakefile-use-env-from-PATH.patch
>
> diff --git a/meta/recipes-extended/man-pages/man-pages/0001-GNUmakefile-use-env-from-PATH.patch b/meta/recipes-extended/man-pages/man-pages/0001-GNUmakefile-use-env-from-PATH.patch
> new file mode 100644
> index 00000000000..a644d24328a
> --- /dev/null
> +++ b/meta/recipes-extended/man-pages/man-pages/0001-GNUmakefile-use-env-from-PATH.patch
> @@ -0,0 +1,31 @@
> +From fbf0544138af02be4d6dd3085e7ecf98ad060bb4 Mon Sep 17 00:00:00 2001
> +From: Alexander Kanavin <alex@linutronix.de>
> +Date: Wed, 13 Mar 2024 17:30:02 +0100
> +Subject: [PATCH] GNUmakefile: use env from PATH
> +
> +This allows using env from coreutils-native (rather than host env),
> +which resolves the problem of missing -S option on distributions
> +with much older coreutils such as Ubuntu 18.04.
> +
> +Once all autobuilder distros are newer than that, this patch
> +can be dropped, together with corutils-native dependency.
> +
> +Upstream-Status: Inappropriate [made for obsolete host distros]
> +Signed-off-by: Alexander Kanavin <alex@linutronix.de>
> +---
> + GNUmakefile | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +diff --git a/GNUmakefile b/GNUmakefile
> +index 1234194..65ba327 100644
> +--- a/GNUmakefile
> ++++ b/GNUmakefile
> +@@ -21,7 +21,7 @@
> + ########################################################################
> +
> +
> +-SHELL := /usr/bin/env
> ++SHELL := env
> + .SHELLFLAGS := -S bash -Eeuo pipefail -c
> +
> +
> diff --git a/meta/recipes-extended/man-pages/man-pages_6.06.bb b/meta/recipes-extended/man-pages/man-pages_6.06.bb
> index fa2e6b266e3..0f091bbd7d7 100644
> --- a/meta/recipes-extended/man-pages/man-pages_6.06.bb
> +++ b/meta/recipes-extended/man-pages/man-pages_6.06.bb
> @@ -19,12 +19,16 @@ LIC_FILES_CHKSUM = "file://README;md5=72cff06b7954222c24d38bc2c41b234e \
>                      "
>  SRC_URI = "${KERNELORG_MIRROR}/linux/docs/${BPN}/${BP}.tar.gz \
>             file://0001-man.ml-do-not-use-dev-stdin.patch \
> +           file://0001-GNUmakefile-use-env-from-PATH.patch \
>             "
>
>  SRC_URI[sha256sum] = "006906e7be81a71c2d347809597bcb91485fa7fa488acdaa79e681ddfa894568"
>
>  inherit manpages
>
> +# can be dropped when ubuntu 18.04 is not in use anymore
> +DEPENDS += "coreutils-native"

does buildtools tarball contain it ? if so, we may instead recommend
that or add it to buildtools tarball instead of adding this dep
for every host environment.

> +
>  MAN_PKG = "${PN}"
>
>  PACKAGECONFIG ??= ""
> --
> 2.39.2
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#197073): https://lists.openembedded.org/g/openembedded-core/message/197073
> Mute This Topic: https://lists.openembedded.org/mt/104910691/1997914
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [raj.khem@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Alexander Kanavin March 13, 2024, 6:01 p.m. UTC | #2
On Wed, 13 Mar 2024 at 18:55, Khem Raj <raj.khem@gmail.com> wrote:
> does buildtools tarball contain it ? if so, we may instead recommend
> that or add it to buildtools tarball instead of adding this dep
> for every host environment.

If there are more instances of this, then yes. Otherwise I wouldn't
add to the tarball just because there's a single recipe causing
trouble on a EOL distro that hopefully is soon purged from the
autobuilder for good.

Alex
diff mbox series

Patch

diff --git a/meta/recipes-extended/man-pages/man-pages/0001-GNUmakefile-use-env-from-PATH.patch b/meta/recipes-extended/man-pages/man-pages/0001-GNUmakefile-use-env-from-PATH.patch
new file mode 100644
index 00000000000..a644d24328a
--- /dev/null
+++ b/meta/recipes-extended/man-pages/man-pages/0001-GNUmakefile-use-env-from-PATH.patch
@@ -0,0 +1,31 @@ 
+From fbf0544138af02be4d6dd3085e7ecf98ad060bb4 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex@linutronix.de>
+Date: Wed, 13 Mar 2024 17:30:02 +0100
+Subject: [PATCH] GNUmakefile: use env from PATH
+
+This allows using env from coreutils-native (rather than host env),
+which resolves the problem of missing -S option on distributions
+with much older coreutils such as Ubuntu 18.04.
+
+Once all autobuilder distros are newer than that, this patch
+can be dropped, together with corutils-native dependency.
+
+Upstream-Status: Inappropriate [made for obsolete host distros]
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ GNUmakefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/GNUmakefile b/GNUmakefile
+index 1234194..65ba327 100644
+--- a/GNUmakefile
++++ b/GNUmakefile
+@@ -21,7 +21,7 @@
+ ########################################################################
+ 
+ 
+-SHELL := /usr/bin/env
++SHELL := env
+ .SHELLFLAGS := -S bash -Eeuo pipefail -c
+ 
+ 
diff --git a/meta/recipes-extended/man-pages/man-pages_6.06.bb b/meta/recipes-extended/man-pages/man-pages_6.06.bb
index fa2e6b266e3..0f091bbd7d7 100644
--- a/meta/recipes-extended/man-pages/man-pages_6.06.bb
+++ b/meta/recipes-extended/man-pages/man-pages_6.06.bb
@@ -19,12 +19,16 @@  LIC_FILES_CHKSUM = "file://README;md5=72cff06b7954222c24d38bc2c41b234e \
                     "
 SRC_URI = "${KERNELORG_MIRROR}/linux/docs/${BPN}/${BP}.tar.gz \
            file://0001-man.ml-do-not-use-dev-stdin.patch \
+           file://0001-GNUmakefile-use-env-from-PATH.patch \
            "
 
 SRC_URI[sha256sum] = "006906e7be81a71c2d347809597bcb91485fa7fa488acdaa79e681ddfa894568"
 
 inherit manpages
 
+# can be dropped when ubuntu 18.04 is not in use anymore
+DEPENDS += "coreutils-native"
+
 MAN_PKG = "${PN}"
 
 PACKAGECONFIG ??= ""