* [PATCH] squashfs-tools: always install prebuilt manpage
@ 2022-05-16 10:42 changqing.li
2022-05-16 10:54 ` [OE-core] " richard.purdie
0 siblings, 1 reply; 5+ messages in thread
From: changqing.li @ 2022-05-16 10:42 UTC (permalink / raw)
To: openembedded-core
From: Changqing Li <changqing.li@windriver.com>
When other feature enabled, and involve help2man into squashfs-tools's
recipe-sysroot-native, install-manpages.sh will run target binary on
build host, eg: mksquashfs --help, which will cause error.
Eg:
../squashfs-tools/mksquashfs: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by ../squashfs-tools/mksquashfs)
| help2man: can't get `--help' info from /tmp/tmp.pEG5R8COVb/mksquashfs.sh
| Try `--no-discard-stderr' if option outputs to stderr
| ./mksquashfs-manpage.sh: help2man returned error. Aborting
| ../generate-manpages/install-manpages.sh: Failed to generate manpage. Aborting
Fixed by always install prebuilt manpage, avoid running target binary on
build host
Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
...ools-always-install-prebuilt-manpage.patch | 48 +++++++++++++++++++
.../squashfs-tools/squashfs-tools_git.bb | 1 +
2 files changed, 49 insertions(+)
create mode 100644 meta/recipes-devtools/squashfs-tools/files/0001-squashfs-tools-always-install-prebuilt-manpage.patch
diff --git a/meta/recipes-devtools/squashfs-tools/files/0001-squashfs-tools-always-install-prebuilt-manpage.patch b/meta/recipes-devtools/squashfs-tools/files/0001-squashfs-tools-always-install-prebuilt-manpage.patch
new file mode 100644
index 0000000000..2d0b350074
--- /dev/null
+++ b/meta/recipes-devtools/squashfs-tools/files/0001-squashfs-tools-always-install-prebuilt-manpage.patch
@@ -0,0 +1,48 @@
+From 9bf47880ebb0fafd36226ac7fd1c2e8dffc9bc64 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Mon, 16 May 2022 17:57:07 +0800
+Subject: [PATCH] squashfs-tools: always install prebuilt manpage
+
+Upstream-Status: Inappropriate [oe-specific]
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ generate-manpages/install-manpages.sh | 22 +++++-----------------
+ 1 file changed, 5 insertions(+), 17 deletions(-)
+
+diff --git a/generate-manpages/install-manpages.sh b/generate-manpages/install-manpages.sh
+index 6a43b89..770f15a 100755
+--- a/generate-manpages/install-manpages.sh
++++ b/generate-manpages/install-manpages.sh
+@@ -27,23 +27,11 @@ cd $1/generate-manpages
+ #
+ # If help2man doesn't exist, use the pre-built manpages.
+
+-if ! which help2man > /dev/null 2>&1; then
+- echo "$0: ERROR - No help2man in PATH. Cannot generate manpages." >&2
+- echo "WARNING: Installing pre-built manpages." >&2
+- echo "WARNING: These pages are built with the Makefile defaults, and all" >&2
+- echo "WARNING: the compressors configured (except the deprecated lzma). This may not" >&2
+- echo "WARNING: match your build configuation." >&2
+- source=../manpages
+-else
+- for i in mksquashfs unsquashfs sqfstar sqfscat; do
+- if ! ./$i-manpage.sh ../squashfs-tools ../squashfs-tools/$i.1; then
+- echo "$0: Failed to generate manpage. Aborting" >&2
+- exit 1
+- fi
+- done
+-
+- source=../squashfs-tools
+-fi
++echo "WARNING: Installing pre-built manpages." >&2
++echo "WARNING: These pages are built with the Makefile defaults, and all" >&2
++echo "WARNING: the compressors configured (except the deprecated lzma). This may not" >&2
++echo "WARNING: match your build configuation." >&2
++source=../manpages
+
+ if ! mkdir -p $2; then
+ echo "$0: Creating manpage install directory failed. Aborting" >&2
+--
+2.25.1
+
diff --git a/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb b/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb
index 4e009d2625..3726650e3c 100644
--- a/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb
+++ b/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb
@@ -11,6 +11,7 @@ PV = "4.5.1"
SRCREV = "afdd63fc386919b4aa40d573b0a6069414d14317"
SRC_URI = "git://github.com/plougher/squashfs-tools.git;protocol=https;branch=master \
file://0001-install-manpages.sh-do-not-write-original-timestamps.patch \
+ file://0001-squashfs-tools-always-install-prebuilt-manpage.patch \
"
UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+(\.\d+)+))"
--
2.25.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [OE-core] [PATCH] squashfs-tools: always install prebuilt manpage
2022-05-16 10:42 [PATCH] squashfs-tools: always install prebuilt manpage changqing.li
@ 2022-05-16 10:54 ` richard.purdie
2022-05-17 2:27 ` Li, Changqing
0 siblings, 1 reply; 5+ messages in thread
From: richard.purdie @ 2022-05-16 10:54 UTC (permalink / raw)
To: Changqing Li, openembedded-core
On Mon, 2022-05-16 at 18:42 +0800, Changqing Li wrote:
> From: Changqing Li <changqing.li@windriver.com>
>
> When other feature enabled, and involve help2man into squashfs-tools's
> recipe-sysroot-native, install-manpages.sh will run target binary on
> build host, eg: mksquashfs --help, which will cause error.
> Eg:
> ../squashfs-tools/mksquashfs: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by ../squashfs-tools/mksquashfs)
> > help2man: can't get `--help' info from /tmp/tmp.pEG5R8COVb/mksquashfs.sh
> > Try `--no-discard-stderr' if option outputs to stderr
> > ./mksquashfs-manpage.sh: help2man returned error. Aborting
> > ../generate-manpages/install-manpages.sh: Failed to generate manpage. Aborting
>
> Fixed by always install prebuilt manpage, avoid running target binary on
> build host
>
> Signed-off-by: Changqing Li <changqing.li@windriver.com>
I'd much prefer not to carry a patch doing this. Which "other feature
enabled" trigger this to happen?
We might want to talk to upstream about making this configurable rather
than carrying a patch, or we make sure help2man is never accessible to
this recipe in some other way.
Cheers,
Richard
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [OE-core] [PATCH] squashfs-tools: always install prebuilt manpage
2022-05-16 10:54 ` [OE-core] " richard.purdie
@ 2022-05-17 2:27 ` Li, Changqing
2022-05-17 7:32 ` richard.purdie
0 siblings, 1 reply; 5+ messages in thread
From: Li, Changqing @ 2022-05-17 2:27 UTC (permalink / raw)
To: richard.purdie, openembedded-core
[-- Attachment #1: Type: text/plain, Size: 2377 bytes --]
________________________________
From: richard.purdie@linuxfoundation.org <richard.purdie@linuxfoundation.org>
Sent: Monday, May 16, 2022 6:54 PM
To: Li, Changqing <Changqing.Li@windriver.com>; openembedded-core@lists.openembedded.org <openembedded-core@lists.openembedded.org>
Subject: Re: [OE-core] [PATCH] squashfs-tools: always install prebuilt manpage
[Please note: This e-mail is from an EXTERNAL e-mail address]
On Mon, 2022-05-16 at 18:42 +0800, Changqing Li wrote:
> From: Changqing Li <changqing.li@windriver.com>
>
> When other feature enabled, and involve help2man into squashfs-tools's
> recipe-sysroot-native, install-manpages.sh will run target binary on
> build host, eg: mksquashfs --help, which will cause error.
> Eg:
> ../squashfs-tools/mksquashfs: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by ../squashfs-tools/mksquashfs)
> > help2man: can't get `--help' info from /tmp/tmp.pEG5R8COVb/mksquashfs.sh
> > Try `--no-discard-stderr' if option outputs to stderr
> > ./mksquashfs-manpage.sh: help2man returned error. Aborting
> > ../generate-manpages/install-manpages.sh: Failed to generate manpage. Aborting
>
> Fixed by always install prebuilt manpage, avoid running target binary on
> build host
>
> Signed-off-by: Changqing Li <changqing.li@windriver.com>
I'd much prefer not to carry a patch doing this. Which "other feature
enabled" trigger this to happen?
When meta-secure-core is involved, and DISTRO_FEATURES efi-secure-boot and ima is enabled,
in meta-signing-key/classes/user-key-store.bbclass, it will add DEPENDS as following:
DEPENDS:append:class-target = " \
${@bb.utils.contains("DISTRO_FEATURES", "efi-secure-boot", "sbsigntool-native", "", d)} \
${@bb.utils.contains("DISTRO_FEATURES", "efi-secure-boot", "libsign-native", "", d)} \
openssl-native \
${@bb.utils.contains("DISTRO_FEATURES", "efi-secure-boot", "efitools-native gnupg-native", "", d)} \
"
and efitools-native DEPENDS on help2man-native, so all target depends on help2man-native.
efitools's manpage also don't configurable.
We might want to talk to upstream about making this configurable rather
than carrying a patch, or we make sure help2man is never accessible to
this recipe in some other way.
I will talk to upstream about this first.
Cheers,
Richard
[-- Attachment #2: Type: text/html, Size: 4775 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [OE-core] [PATCH] squashfs-tools: always install prebuilt manpage
2022-05-17 2:27 ` Li, Changqing
@ 2022-05-17 7:32 ` richard.purdie
2022-05-18 1:29 ` Li, Changqing
0 siblings, 1 reply; 5+ messages in thread
From: richard.purdie @ 2022-05-17 7:32 UTC (permalink / raw)
To: Li, Changqing, openembedded-core
On Tue, 2022-05-17 at 02:27 +0000, Li, Changqing wrote:
>
>
> From: richard.purdie@linuxfoundation.org
> <richard.purdie@linuxfoundation.org>
> Sent: Monday, May 16, 2022 6:54 PM
> To: Li, Changqing <Changqing.Li@windriver.com>;
> openembedded-core@lists.openembedded.org
> <openembedded-core@lists.openembedded.org>
> Subject: Re: [OE-core] [PATCH] squashfs-tools: always install
> prebuilt manpage
> [Please note: This e-mail is from an EXTERNAL e-mail address]
>
> On Mon, 2022-05-16 at 18:42 +0800, Changqing Li wrote:
> > From: Changqing Li <changqing.li@windriver.com>
> >
> > When other feature enabled, and involve help2man into squashfs-
> > tools's
> > recipe-sysroot-native, install-manpages.sh will run target binary
> > on
> > build host, eg: mksquashfs --help, which will cause error.
> > Eg:
> > ../squashfs-tools/mksquashfs: /lib/x86_64-linux-gnu/libc.so.6:
> > version `GLIBC_2.34' not found (required by ../squashfs-
> > tools/mksquashfs)
> > > help2man: can't get `--help' info from
> > > /tmp/tmp.pEG5R8COVb/mksquashfs.sh
> > > Try `--no-discard-stderr' if option outputs to stderr
> > > ./mksquashfs-manpage.sh: help2man returned error. Aborting
> > > ../generate-manpages/install-manpages.sh: Failed to generate
> > > manpage. Aborting
> >
> > Fixed by always install prebuilt manpage, avoid running target
> > binary on
> > build host
> >
> > Signed-off-by: Changqing Li <changqing.li@windriver.com>
>
> I'd much prefer not to carry a patch doing this. Which "other feature
> enabled" trigger this to happen?
>
> When meta-secure-core is involved, and DISTRO_FEATURES efi-secure-
> boot and ima is enabled,
> in meta-signing-key/classes/user-key-store.bbclass, it will add
> DEPENDS as following:
> DEPENDS:append:class-target = " \
> ${@bb.utils.contains("DISTRO_FEATURES", "efi-secure-boot",
> "sbsigntool-native", "", d)} \
> ${@bb.utils.contains("DISTRO_FEATURES", "efi-secure-boot",
> "libsign-native", "", d)} \
> openssl-native \
> ${@bb.utils.contains("DISTRO_FEATURES", "efi-secure-boot",
> "efitools-native gnupg-native", "", d)} \
> "
>
> and efitools-native DEPENDS on help2man-native, so all target
> depends on help2man-native.
> efitools's manpage also don't configurable.
>
> We might want to talk to upstream about making this configurable
> rather
> than carrying a patch, or we make sure help2man is never accessible
> to
> this recipe in some other way.
>
> I will talk to upstream about this first.
What would also probably help is adding help2man-native to
SSTATE_EXCLUDEDEPS_SYSROOT in layer.conf in OE-Core.
That runs the risk of triggering some build failures as it did when we
added pkgconfig-native there but is probably the right thing to do. It
would force recipes that want help2man-native to have an explicit
DEPENDS so we'd have to test and fix any recipes that needed that
adding.
Cheers,
Richard
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [OE-core] [PATCH] squashfs-tools: always install prebuilt manpage
2022-05-17 7:32 ` richard.purdie
@ 2022-05-18 1:29 ` Li, Changqing
0 siblings, 0 replies; 5+ messages in thread
From: Li, Changqing @ 2022-05-18 1:29 UTC (permalink / raw)
To: richard.purdie, openembedded-core
[-- Attachment #1: Type: text/plain, Size: 3484 bytes --]
________________________________
From: richard.purdie@linuxfoundation.org <richard.purdie@linuxfoundation.org>
Sent: Tuesday, May 17, 2022 3:32 PM
To: Li, Changqing <Changqing.Li@windriver.com>; openembedded-core@lists.openembedded.org <openembedded-core@lists.openembedded.org>
Subject: Re: [OE-core] [PATCH] squashfs-tools: always install prebuilt manpage
[Please note: This e-mail is from an EXTERNAL e-mail address]
On Tue, 2022-05-17 at 02:27 +0000, Li, Changqing wrote:
>
>
> From: richard.purdie@linuxfoundation.org
> <richard.purdie@linuxfoundation.org>
> Sent: Monday, May 16, 2022 6:54 PM
> To: Li, Changqing <Changqing.Li@windriver.com>;
> openembedded-core@lists.openembedded.org
> <openembedded-core@lists.openembedded.org>
> Subject: Re: [OE-core] [PATCH] squashfs-tools: always install
> prebuilt manpage
> [Please note: This e-mail is from an EXTERNAL e-mail address]
>
> On Mon, 2022-05-16 at 18:42 +0800, Changqing Li wrote:
> > From: Changqing Li <changqing.li@windriver.com>
> >
> > When other feature enabled, and involve help2man into squashfs-
> > tools's
> > recipe-sysroot-native, install-manpages.sh will run target binary
> > on
> > build host, eg: mksquashfs --help, which will cause error.
> > Eg:
> > ../squashfs-tools/mksquashfs: /lib/x86_64-linux-gnu/libc.so.6:
> > version `GLIBC_2.34' not found (required by ../squashfs-
> > tools/mksquashfs)
> > > help2man: can't get `--help' info from
> > > /tmp/tmp.pEG5R8COVb/mksquashfs.sh
> > > Try `--no-discard-stderr' if option outputs to stderr
> > > ./mksquashfs-manpage.sh: help2man returned error. Aborting
> > > ../generate-manpages/install-manpages.sh: Failed to generate
> > > manpage. Aborting
> >
> > Fixed by always install prebuilt manpage, avoid running target
> > binary on
> > build host
> >
> > Signed-off-by: Changqing Li <changqing.li@windriver.com>
>
> I'd much prefer not to carry a patch doing this. Which "other feature
> enabled" trigger this to happen?
>
> When meta-secure-core is involved, and DISTRO_FEATURES efi-secure-
> boot and ima is enabled,
> in meta-signing-key/classes/user-key-store.bbclass, it will add
> DEPENDS as following:
> DEPENDS:append:class-target = " \
> ${@bb.utils.contains("DISTRO_FEATURES", "efi-secure-boot",
> "sbsigntool-native", "", d)} \
> ${@bb.utils.contains("DISTRO_FEATURES", "efi-secure-boot",
> "libsign-native", "", d)} \
> openssl-native \
> ${@bb.utils.contains("DISTRO_FEATURES", "efi-secure-boot",
> "efitools-native gnupg-native", "", d)} \
> "
>
> and efitools-native DEPENDS on help2man-native, so all target
> depends on help2man-native.
> efitools's manpage also don't configurable.
>
> We might want to talk to upstream about making this configurable
> rather
> than carrying a patch, or we make sure help2man is never accessible
> to
> this recipe in some other way.
>
> I will talk to upstream about this first.
What would also probably help is adding help2man-native to
SSTATE_EXCLUDEDEPS_SYSROOT in layer.conf in OE-Core.
That runs the risk of triggering some build failures as it did when we
added pkgconfig-native there but is probably the right thing to do. It
would force recipes that want help2man-native to have an explicit
DEPENDS so we'd have to test and fix any recipes that needed that
adding.
Thanks, I will send a V2 patch with this solution later.
Regrads,
Changqing
Cheers,
Richard
[-- Attachment #2: Type: text/html, Size: 5533 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2022-05-18 1:29 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-16 10:42 [PATCH] squashfs-tools: always install prebuilt manpage changqing.li
2022-05-16 10:54 ` [OE-core] " richard.purdie
2022-05-17 2:27 ` Li, Changqing
2022-05-17 7:32 ` richard.purdie
2022-05-18 1:29 ` Li, Changqing
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.