* [PATCH 0/3] coreutils: facilitate generating real manpages
@ 2015-02-10 19:19 Paul Gortmaker
2015-02-10 19:19 ` [PATCH 1/3] coreutils: don't generate useless dummy stub manpages Paul Gortmaker
` (2 more replies)
0 siblings, 3 replies; 8+ messages in thread
From: Paul Gortmaker @ 2015-02-10 19:19 UTC (permalink / raw)
To: openembedded-core; +Cc: Paul Eggleton
As part of improving the end user experience for installs where the
end user interacts directly with the generated filesystem (e.g. the
build-appliance) these three commits ensure that we can have real
man pages for coreutils on the target if desired.
This has been problematic for everyone who cross compiles, since the
gnu folks use "help2man" -- which is a perl script that wants to run
the target binaries (e.g. "chmod --help") and then use the output from
that. And unfortunately this doesn't appear likely to change.
Our current status is that we "hide" perl by defeating a perl check,
and also we have our own "help2man" script which unconditionally fails
(as part of an earlier solution to the manpages problem). And then the
doc RPM gets useless stub manpages with a big "OOOPS" message in them.
Here we delete all stuff associated with the old solutions, and then
decouple the one makefile line triggering what would be the failed
attempt at generating manpages via help2man. Then we add in sourcing
and using prebuilt manpages from the Gentoo project (which was their
solution[1] to the help2man cross-compile issue).
Paul.
[1] http://lists.gnu.org/archive/html/coreutils/2014-11/msg00001.html
---
Paul Gortmaker (3):
coreutils: don't generate useless dummy stub manpages
coreutils: import prebuilt manpages from Gentoo
scripts: delete dummy help2man script
.../coreutils/coreutils-8.23/dummy_help2man.patch | 22 ---------------
.../coreutils-8.23/fix-for-dummy-man-usage.patch | 31 ----------------------
.../man-decouple-manpages-from-build.patch | 27 +++++++++++++++++++
meta/recipes-core/coreutils/coreutils_8.23.bb | 18 +++++++++----
scripts/help2man | 3 ---
5 files changed, 40 insertions(+), 61 deletions(-)
delete mode 100644 meta/recipes-core/coreutils/coreutils-8.23/dummy_help2man.patch
delete mode 100644 meta/recipes-core/coreutils/coreutils-8.23/fix-for-dummy-man-usage.patch
create mode 100644 meta/recipes-core/coreutils/coreutils-8.23/man-decouple-manpages-from-build.patch
delete mode 100755 scripts/help2man
--
2.2.1
^ permalink raw reply [flat|nested] 8+ messages in thread* [PATCH 1/3] coreutils: don't generate useless dummy stub manpages 2015-02-10 19:19 [PATCH 0/3] coreutils: facilitate generating real manpages Paul Gortmaker @ 2015-02-10 19:19 ` Paul Gortmaker 2015-02-11 1:51 ` ChenQi 2015-02-10 19:19 ` [PATCH 2/3] coreutils: import prebuilt manpages from Gentoo Paul Gortmaker 2015-02-10 19:19 ` [PATCH 3/3] scripts: delete dummy help2man script Paul Gortmaker 2 siblings, 1 reply; 8+ messages in thread From: Paul Gortmaker @ 2015-02-10 19:19 UTC (permalink / raw) To: openembedded-core; +Cc: Paul Eggleton We had a couple patches to 1) deal with missing perl and 2) deal with the perl-less "dummy" help2man fallout, but in the end, they achieve no purpose whatsoever, since they just populate the doc RPM with manpages like this one: NAME chmod - a GNU coreutils 8.22 program DESCRIPTION OOOPS! Due to the lack of perl on the build system, we were unable to create a proper manual page for chmod. As the above serves no purpose whatsoever, and since the concept of running the binaries to capture the "--help" text output is completely broken for cross compiles, lets just decouple man page generation from the building of coreutils entirely so it paves the way for importing pre-generated manpages. Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> --- .../coreutils/coreutils-8.23/dummy_help2man.patch | 22 --------------- .../coreutils-8.23/fix-for-dummy-man-usage.patch | 31 ---------------------- .../man-decouple-manpages-from-build.patch | 27 +++++++++++++++++++ meta/recipes-core/coreutils/coreutils_8.23.bb | 3 +-- 4 files changed, 28 insertions(+), 55 deletions(-) delete mode 100644 meta/recipes-core/coreutils/coreutils-8.23/dummy_help2man.patch delete mode 100644 meta/recipes-core/coreutils/coreutils-8.23/fix-for-dummy-man-usage.patch create mode 100644 meta/recipes-core/coreutils/coreutils-8.23/man-decouple-manpages-from-build.patch diff --git a/meta/recipes-core/coreutils/coreutils-8.23/dummy_help2man.patch b/meta/recipes-core/coreutils/coreutils-8.23/dummy_help2man.patch deleted file mode 100644 index 4757f52aa0be..000000000000 --- a/meta/recipes-core/coreutils/coreutils-8.23/dummy_help2man.patch +++ /dev/null @@ -1,22 +0,0 @@ -Upstream-Status: Inappropriate [disable feature] - -Signed-off-by: Marko Lindqvist <cazfi74@gmail.com> -diff -Nurd coreutils-8.21/man/local.mk coreutils-8.21/man/local.mk ---- coreutils-8.21/man/local.mk 2013-02-05 16:01:21.000000000 +0200 -+++ coreutils-8.21/man/local.mk 2013-03-23 09:12:53.360470192 +0200 -@@ -19,11 +19,11 @@ - EXTRA_DIST += man/help2man man/dummy-man - - ## Graceful degradation for systems lacking perl. --if HAVE_PERL --run_help2man = $(PERL) -- $(srcdir)/man/help2man --else -+#if HAVE_PERL -+#run_help2man = $(PERL) -- $(srcdir)/man/help2man -+#else - run_help2man = $(SHELL) $(srcdir)/man/dummy-man --endif -+#endif - - man1_MANS = @man1_MANS@ - EXTRA_DIST += $(man1_MANS:.1=.x) diff --git a/meta/recipes-core/coreutils/coreutils-8.23/fix-for-dummy-man-usage.patch b/meta/recipes-core/coreutils/coreutils-8.23/fix-for-dummy-man-usage.patch deleted file mode 100644 index 58b6a7613038..000000000000 --- a/meta/recipes-core/coreutils/coreutils-8.23/fix-for-dummy-man-usage.patch +++ /dev/null @@ -1,31 +0,0 @@ -Upstream-Status: Pending - -coreutils: fix for dummy-man usage - -The options should be before the final argument, otherwise, the following error -would appear when compiling. - -"dummy-man: too many non-option arguments" - -Signed-off-by: Chen Qi <Qi.Chen@windriver.com> ---- - man/local.mk | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/man/local.mk b/man/local.mk -index ba8fbf7..3833458 100644 ---- a/man/local.mk -+++ b/man/local.mk -@@ -101,8 +101,8 @@ man/dynamic-deps.mk: Makefile - && $(run_help2man) \ - --source='$(PACKAGE_STRING)' \ - --include=$(srcdir)/man/$$name.x \ -- --output=$$t/$$name.1 $$t/$$argv \ - --info-page='coreutils \(aq'$$name' invocation\(aq' \ -+ --output=$$t/$$name.1 $$t/$$argv \ - && sed \ - -e 's|$*\.td/||g' \ - -e '/For complete documentation/d' \ --- -1.9.1 - diff --git a/meta/recipes-core/coreutils/coreutils-8.23/man-decouple-manpages-from-build.patch b/meta/recipes-core/coreutils/coreutils-8.23/man-decouple-manpages-from-build.patch new file mode 100644 index 000000000000..3c896a11bf2d --- /dev/null +++ b/meta/recipes-core/coreutils/coreutils-8.23/man-decouple-manpages-from-build.patch @@ -0,0 +1,27 @@ +From b4d258629f090066783c3b4c91b40f63b9d0a296 Mon Sep 17 00:00:00 2001 +From: Paul Gortmaker <paul.gortmaker@windriver.com> +Date: Sun, 8 Feb 2015 16:51:57 -0500 +Subject: [PATCH] man: decouple manpages from build + +The use of "help2man" doesn't work at all for cross compile, in +addition to the extra requirement of perl it adds. + +Just decouple the manpages from the build in order to pave the way for +importing prebuilt manpages that can be used in a cross build situation. + +Upstream-Status: Inappropriate [upstream doesn't care about x-compile case.] +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> + +diff --git a/Makefile.am b/Makefile.am +index fb4af27..7576b2c 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -214,5 +214,4 @@ AM_CPPFLAGS = -Ilib -I$(top_srcdir)/lib -Isrc -I$(top_srcdir)/src + include $(top_srcdir)/lib/local.mk + include $(top_srcdir)/src/local.mk + include $(top_srcdir)/doc/local.mk +-include $(top_srcdir)/man/local.mk + include $(top_srcdir)/tests/local.mk +-- +2.2.2 + diff --git a/meta/recipes-core/coreutils/coreutils_8.23.bb b/meta/recipes-core/coreutils/coreutils_8.23.bb index e9d6494708de..be68a310311a 100644 --- a/meta/recipes-core/coreutils/coreutils_8.23.bb +++ b/meta/recipes-core/coreutils/coreutils_8.23.bb @@ -13,9 +13,8 @@ DEPENDS_class-native = "" inherit autotools gettext texinfo SRC_URI = "${GNU_MIRROR}/coreutils/${BP}.tar.xz \ + file://man-decouple-manpages-from-build.patch \ file://remove-usr-local-lib-from-m4.patch \ - file://dummy_help2man.patch \ - file://fix-for-dummy-man-usage.patch \ file://fix-selinux-flask.patch \ " -- 2.2.1 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH 1/3] coreutils: don't generate useless dummy stub manpages 2015-02-10 19:19 ` [PATCH 1/3] coreutils: don't generate useless dummy stub manpages Paul Gortmaker @ 2015-02-11 1:51 ` ChenQi 2015-02-17 5:43 ` Paul Gortmaker 0 siblings, 1 reply; 8+ messages in thread From: ChenQi @ 2015-02-11 1:51 UTC (permalink / raw) To: openembedded-core Hi Paul, The fix-for-dummy-man-usage.patch fixes error when generating dummy man pages. I think we should not delete it. Regards, Chen Qi On 02/11/2015 03:19 AM, Paul Gortmaker wrote: > We had a couple patches to 1) deal with missing perl and 2) deal > with the perl-less "dummy" help2man fallout, but in the end, they > achieve no purpose whatsoever, since they just populate the doc > RPM with manpages like this one: > > NAME > chmod - a GNU coreutils 8.22 program > > DESCRIPTION > OOOPS! Due to the lack of perl on the build system, we were > unable to create a proper manual page for chmod. > > As the above serves no purpose whatsoever, and since the concept > of running the binaries to capture the "--help" text output is > completely broken for cross compiles, lets just decouple man page > generation from the building of coreutils entirely so it paves the > way for importing pre-generated manpages. > > Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> > --- > .../coreutils/coreutils-8.23/dummy_help2man.patch | 22 --------------- > .../coreutils-8.23/fix-for-dummy-man-usage.patch | 31 ---------------------- > .../man-decouple-manpages-from-build.patch | 27 +++++++++++++++++++ > meta/recipes-core/coreutils/coreutils_8.23.bb | 3 +-- > 4 files changed, 28 insertions(+), 55 deletions(-) > delete mode 100644 meta/recipes-core/coreutils/coreutils-8.23/dummy_help2man.patch > delete mode 100644 meta/recipes-core/coreutils/coreutils-8.23/fix-for-dummy-man-usage.patch > create mode 100644 meta/recipes-core/coreutils/coreutils-8.23/man-decouple-manpages-from-build.patch > > diff --git a/meta/recipes-core/coreutils/coreutils-8.23/dummy_help2man.patch b/meta/recipes-core/coreutils/coreutils-8.23/dummy_help2man.patch > deleted file mode 100644 > index 4757f52aa0be..000000000000 > --- a/meta/recipes-core/coreutils/coreutils-8.23/dummy_help2man.patch > +++ /dev/null > @@ -1,22 +0,0 @@ > -Upstream-Status: Inappropriate [disable feature] > - > -Signed-off-by: Marko Lindqvist <cazfi74@gmail.com> > -diff -Nurd coreutils-8.21/man/local.mk coreutils-8.21/man/local.mk > ---- coreutils-8.21/man/local.mk 2013-02-05 16:01:21.000000000 +0200 > -+++ coreutils-8.21/man/local.mk 2013-03-23 09:12:53.360470192 +0200 > -@@ -19,11 +19,11 @@ > - EXTRA_DIST += man/help2man man/dummy-man > - > - ## Graceful degradation for systems lacking perl. > --if HAVE_PERL > --run_help2man = $(PERL) -- $(srcdir)/man/help2man > --else > -+#if HAVE_PERL > -+#run_help2man = $(PERL) -- $(srcdir)/man/help2man > -+#else > - run_help2man = $(SHELL) $(srcdir)/man/dummy-man > --endif > -+#endif > - > - man1_MANS = @man1_MANS@ > - EXTRA_DIST += $(man1_MANS:.1=.x) > diff --git a/meta/recipes-core/coreutils/coreutils-8.23/fix-for-dummy-man-usage.patch b/meta/recipes-core/coreutils/coreutils-8.23/fix-for-dummy-man-usage.patch > deleted file mode 100644 > index 58b6a7613038..000000000000 > --- a/meta/recipes-core/coreutils/coreutils-8.23/fix-for-dummy-man-usage.patch > +++ /dev/null > @@ -1,31 +0,0 @@ > -Upstream-Status: Pending > - > -coreutils: fix for dummy-man usage > - > -The options should be before the final argument, otherwise, the following error > -would appear when compiling. > - > -"dummy-man: too many non-option arguments" > - > -Signed-off-by: Chen Qi <Qi.Chen@windriver.com> > ---- > - man/local.mk | 2 +- > - 1 file changed, 1 insertion(+), 1 deletion(-) > - > -diff --git a/man/local.mk b/man/local.mk > -index ba8fbf7..3833458 100644 > ---- a/man/local.mk > -+++ b/man/local.mk > -@@ -101,8 +101,8 @@ man/dynamic-deps.mk: Makefile > - && $(run_help2man) \ > - --source='$(PACKAGE_STRING)' \ > - --include=$(srcdir)/man/$$name.x \ > -- --output=$$t/$$name.1 $$t/$$argv \ > - --info-page='coreutils \(aq'$$name' invocation\(aq' \ > -+ --output=$$t/$$name.1 $$t/$$argv \ > - && sed \ > - -e 's|$*\.td/||g' \ > - -e '/For complete documentation/d' \ > --- > -1.9.1 > - > diff --git a/meta/recipes-core/coreutils/coreutils-8.23/man-decouple-manpages-from-build.patch b/meta/recipes-core/coreutils/coreutils-8.23/man-decouple-manpages-from-build.patch > new file mode 100644 > index 000000000000..3c896a11bf2d > --- /dev/null > +++ b/meta/recipes-core/coreutils/coreutils-8.23/man-decouple-manpages-from-build.patch > @@ -0,0 +1,27 @@ > +From b4d258629f090066783c3b4c91b40f63b9d0a296 Mon Sep 17 00:00:00 2001 > +From: Paul Gortmaker <paul.gortmaker@windriver.com> > +Date: Sun, 8 Feb 2015 16:51:57 -0500 > +Subject: [PATCH] man: decouple manpages from build > + > +The use of "help2man" doesn't work at all for cross compile, in > +addition to the extra requirement of perl it adds. > + > +Just decouple the manpages from the build in order to pave the way for > +importing prebuilt manpages that can be used in a cross build situation. > + > +Upstream-Status: Inappropriate [upstream doesn't care about x-compile case.] > +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> > + > +diff --git a/Makefile.am b/Makefile.am > +index fb4af27..7576b2c 100644 > +--- a/Makefile.am > ++++ b/Makefile.am > +@@ -214,5 +214,4 @@ AM_CPPFLAGS = -Ilib -I$(top_srcdir)/lib -Isrc -I$(top_srcdir)/src > + include $(top_srcdir)/lib/local.mk > + include $(top_srcdir)/src/local.mk > + include $(top_srcdir)/doc/local.mk > +-include $(top_srcdir)/man/local.mk > + include $(top_srcdir)/tests/local.mk > +-- > +2.2.2 > + > diff --git a/meta/recipes-core/coreutils/coreutils_8.23.bb b/meta/recipes-core/coreutils/coreutils_8.23.bb > index e9d6494708de..be68a310311a 100644 > --- a/meta/recipes-core/coreutils/coreutils_8.23.bb > +++ b/meta/recipes-core/coreutils/coreutils_8.23.bb > @@ -13,9 +13,8 @@ DEPENDS_class-native = "" > inherit autotools gettext texinfo > > SRC_URI = "${GNU_MIRROR}/coreutils/${BP}.tar.xz \ > + file://man-decouple-manpages-from-build.patch \ > file://remove-usr-local-lib-from-m4.patch \ > - file://dummy_help2man.patch \ > - file://fix-for-dummy-man-usage.patch \ > file://fix-selinux-flask.patch \ > " > ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 1/3] coreutils: don't generate useless dummy stub manpages 2015-02-11 1:51 ` ChenQi @ 2015-02-17 5:43 ` Paul Gortmaker 0 siblings, 0 replies; 8+ messages in thread From: Paul Gortmaker @ 2015-02-17 5:43 UTC (permalink / raw) To: ChenQi; +Cc: openembedded-core [Re: [OE-core] [PATCH 1/3] coreutils: don't generate useless dummy stub manpages] On 11/02/2015 (Wed 09:51) ChenQi wrote: > Hi Paul, > > The fix-for-dummy-man-usage.patch fixes error when generating dummy > man pages. > I think we should not delete it. Sorry - just seeing this now since the mailing list mangles the reply to header, and so I am not on the to/cc list. Honestly lucky that I saw it at all. Anyway, we are ok to delete the patch because we will _never_ generate those dummy manpages. They are absolutely useless and just plain frustrating. If you look at the whole series, you will see that we disable generating _any_ manpages from the build. Paul. -- > > Regards, > Chen Qi > > > On 02/11/2015 03:19 AM, Paul Gortmaker wrote: > >We had a couple patches to 1) deal with missing perl and 2) deal > >with the perl-less "dummy" help2man fallout, but in the end, they > >achieve no purpose whatsoever, since they just populate the doc > >RPM with manpages like this one: > > > > NAME > > chmod - a GNU coreutils 8.22 program > > > > DESCRIPTION > > OOOPS! Due to the lack of perl on the build system, we were > > unable to create a proper manual page for chmod. > > > >As the above serves no purpose whatsoever, and since the concept > >of running the binaries to capture the "--help" text output is > >completely broken for cross compiles, lets just decouple man page > >generation from the building of coreutils entirely so it paves the > >way for importing pre-generated manpages. > > > >Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> > >--- > > .../coreutils/coreutils-8.23/dummy_help2man.patch | 22 --------------- > > .../coreutils-8.23/fix-for-dummy-man-usage.patch | 31 ---------------------- > > .../man-decouple-manpages-from-build.patch | 27 +++++++++++++++++++ > > meta/recipes-core/coreutils/coreutils_8.23.bb | 3 +-- > > 4 files changed, 28 insertions(+), 55 deletions(-) > > delete mode 100644 meta/recipes-core/coreutils/coreutils-8.23/dummy_help2man.patch > > delete mode 100644 meta/recipes-core/coreutils/coreutils-8.23/fix-for-dummy-man-usage.patch > > create mode 100644 meta/recipes-core/coreutils/coreutils-8.23/man-decouple-manpages-from-build.patch > > > >diff --git a/meta/recipes-core/coreutils/coreutils-8.23/dummy_help2man.patch b/meta/recipes-core/coreutils/coreutils-8.23/dummy_help2man.patch > >deleted file mode 100644 > >index 4757f52aa0be..000000000000 > >--- a/meta/recipes-core/coreutils/coreutils-8.23/dummy_help2man.patch > >+++ /dev/null > >@@ -1,22 +0,0 @@ > >-Upstream-Status: Inappropriate [disable feature] > >- > >-Signed-off-by: Marko Lindqvist <cazfi74@gmail.com> > >-diff -Nurd coreutils-8.21/man/local.mk coreutils-8.21/man/local.mk > >---- coreutils-8.21/man/local.mk 2013-02-05 16:01:21.000000000 +0200 > >-+++ coreutils-8.21/man/local.mk 2013-03-23 09:12:53.360470192 +0200 > >-@@ -19,11 +19,11 @@ > >- EXTRA_DIST += man/help2man man/dummy-man > >- > >- ## Graceful degradation for systems lacking perl. > >--if HAVE_PERL > >--run_help2man = $(PERL) -- $(srcdir)/man/help2man > >--else > >-+#if HAVE_PERL > >-+#run_help2man = $(PERL) -- $(srcdir)/man/help2man > >-+#else > >- run_help2man = $(SHELL) $(srcdir)/man/dummy-man > >--endif > >-+#endif > >- > >- man1_MANS = @man1_MANS@ > >- EXTRA_DIST += $(man1_MANS:.1=.x) > >diff --git a/meta/recipes-core/coreutils/coreutils-8.23/fix-for-dummy-man-usage.patch b/meta/recipes-core/coreutils/coreutils-8.23/fix-for-dummy-man-usage.patch > >deleted file mode 100644 > >index 58b6a7613038..000000000000 > >--- a/meta/recipes-core/coreutils/coreutils-8.23/fix-for-dummy-man-usage.patch > >+++ /dev/null > >@@ -1,31 +0,0 @@ > >-Upstream-Status: Pending > >- > >-coreutils: fix for dummy-man usage > >- > >-The options should be before the final argument, otherwise, the following error > >-would appear when compiling. > >- > >-"dummy-man: too many non-option arguments" > >- > >-Signed-off-by: Chen Qi <Qi.Chen@windriver.com> > >---- > >- man/local.mk | 2 +- > >- 1 file changed, 1 insertion(+), 1 deletion(-) > >- > >-diff --git a/man/local.mk b/man/local.mk > >-index ba8fbf7..3833458 100644 > >---- a/man/local.mk > >-+++ b/man/local.mk > >-@@ -101,8 +101,8 @@ man/dynamic-deps.mk: Makefile > >- && $(run_help2man) \ > >- --source='$(PACKAGE_STRING)' \ > >- --include=$(srcdir)/man/$$name.x \ > >-- --output=$$t/$$name.1 $$t/$$argv \ > >- --info-page='coreutils \(aq'$$name' invocation\(aq' \ > >-+ --output=$$t/$$name.1 $$t/$$argv \ > >- && sed \ > >- -e 's|$*\.td/||g' \ > >- -e '/For complete documentation/d' \ > >--- > >-1.9.1 > >- > >diff --git a/meta/recipes-core/coreutils/coreutils-8.23/man-decouple-manpages-from-build.patch b/meta/recipes-core/coreutils/coreutils-8.23/man-decouple-manpages-from-build.patch > >new file mode 100644 > >index 000000000000..3c896a11bf2d > >--- /dev/null > >+++ b/meta/recipes-core/coreutils/coreutils-8.23/man-decouple-manpages-from-build.patch > >@@ -0,0 +1,27 @@ > >+From b4d258629f090066783c3b4c91b40f63b9d0a296 Mon Sep 17 00:00:00 2001 > >+From: Paul Gortmaker <paul.gortmaker@windriver.com> > >+Date: Sun, 8 Feb 2015 16:51:57 -0500 > >+Subject: [PATCH] man: decouple manpages from build > >+ > >+The use of "help2man" doesn't work at all for cross compile, in > >+addition to the extra requirement of perl it adds. > >+ > >+Just decouple the manpages from the build in order to pave the way for > >+importing prebuilt manpages that can be used in a cross build situation. > >+ > >+Upstream-Status: Inappropriate [upstream doesn't care about x-compile case.] > >+Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> > >+ > >+diff --git a/Makefile.am b/Makefile.am > >+index fb4af27..7576b2c 100644 > >+--- a/Makefile.am > >++++ b/Makefile.am > >+@@ -214,5 +214,4 @@ AM_CPPFLAGS = -Ilib -I$(top_srcdir)/lib -Isrc -I$(top_srcdir)/src > >+ include $(top_srcdir)/lib/local.mk > >+ include $(top_srcdir)/src/local.mk > >+ include $(top_srcdir)/doc/local.mk > >+-include $(top_srcdir)/man/local.mk > >+ include $(top_srcdir)/tests/local.mk > >+-- > >+2.2.2 > >+ > >diff --git a/meta/recipes-core/coreutils/coreutils_8.23.bb b/meta/recipes-core/coreutils/coreutils_8.23.bb > >index e9d6494708de..be68a310311a 100644 > >--- a/meta/recipes-core/coreutils/coreutils_8.23.bb > >+++ b/meta/recipes-core/coreutils/coreutils_8.23.bb > >@@ -13,9 +13,8 @@ DEPENDS_class-native = "" > > inherit autotools gettext texinfo > > SRC_URI = "${GNU_MIRROR}/coreutils/${BP}.tar.xz \ > >+ file://man-decouple-manpages-from-build.patch \ > > file://remove-usr-local-lib-from-m4.patch \ > >- file://dummy_help2man.patch \ > >- file://fix-for-dummy-man-usage.patch \ > > file://fix-selinux-flask.patch \ > > " > > -- > _______________________________________________ > Openembedded-core mailing list > Openembedded-core@lists.openembedded.org > http://lists.openembedded.org/mailman/listinfo/openembedded-core > ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 2/3] coreutils: import prebuilt manpages from Gentoo 2015-02-10 19:19 [PATCH 0/3] coreutils: facilitate generating real manpages Paul Gortmaker 2015-02-10 19:19 ` [PATCH 1/3] coreutils: don't generate useless dummy stub manpages Paul Gortmaker @ 2015-02-10 19:19 ` Paul Gortmaker 2015-02-10 19:59 ` Mark Hatle 2015-02-10 19:19 ` [PATCH 3/3] scripts: delete dummy help2man script Paul Gortmaker 2 siblings, 1 reply; 8+ messages in thread From: Paul Gortmaker @ 2015-02-10 19:19 UTC (permalink / raw) To: openembedded-core; +Cc: Paul Eggleton As can be seen here: http://lists.gnu.org/archive/html/coreutils/2014-11/msg00001.html other people have run into the headache of trying to cross compile coreutils, with the "help2man" problem (assumes host can run the target binaries with "--help" arg to collect data for manpage.) And since "current wisdom is this is working as intended" we are largely left with no choice but to use the same solution and abandon trying to generate the man pages at build time. So here we import prebuilt manpages. Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> --- meta/recipes-core/coreutils/coreutils_8.23.bb | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/meta/recipes-core/coreutils/coreutils_8.23.bb b/meta/recipes-core/coreutils/coreutils_8.23.bb index be68a310311a..5454a43527cc 100644 --- a/meta/recipes-core/coreutils/coreutils_8.23.bb +++ b/meta/recipes-core/coreutils/coreutils_8.23.bb @@ -12,14 +12,17 @@ DEPENDS_class-native = "" inherit autotools gettext texinfo -SRC_URI = "${GNU_MIRROR}/coreutils/${BP}.tar.xz \ +SRC_URI = "${GNU_MIRROR}/coreutils/${BP}.tar.xz;name=tarball \ + http://distfiles.gentoo.org/distfiles/${BP}-man.tar.xz;name=manpages \ file://man-decouple-manpages-from-build.patch \ file://remove-usr-local-lib-from-m4.patch \ file://fix-selinux-flask.patch \ " -SRC_URI[md5sum] = "abed135279f87ad6762ce57ff6d89c41" -SRC_URI[sha256sum] = "ec43ca5bcfc62242accb46b7f121f6b684ee21ecd7d075059bf650ff9e37b82d" +SRC_URI[tarball.md5sum] = "abed135279f87ad6762ce57ff6d89c41" +SRC_URI[tarball.sha256sum] = "ec43ca5bcfc62242accb46b7f121f6b684ee21ecd7d075059bf650ff9e37b82d" +SRC_URI[manpages.md5sum] = "ce49bc8360e16afe67581d136606efc7" +SRC_URI[manpages.sha256sum] = "d1b16e74b3dba4f313aeebae2c69da205f7d2e6e1c2aa8d39026c860d314ecca" EXTRA_OECONF_class-native = "--without-gmp" EXTRA_OECONF_class-target = "--enable-install-program=arch --libexecdir=${libdir}" @@ -53,6 +56,8 @@ sbindir_progs= "chroot" # directory. acpaths = "-I ./m4" +FILES_${PN}-doc += "${mandir}" + # Deal with a separate builddir failure if src doesn't exist when creating version.c/version.h do_compile_prepend () { mkdir -p ${B}/src @@ -71,6 +76,10 @@ do_install_append() { # in update-alternatives to fail, therefore use lbracket - the name used # for the actual source file. mv ${D}${bindir}/[ ${D}${bindir}/lbracket.${BPN} + + # prebuilt man pages + install -d ${D}/${mandir}/man1 + install -t ${D}/${mandir}/man1 ${S}/man/*.1 } do_install_append_class-native(){ -- 2.2.1 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH 2/3] coreutils: import prebuilt manpages from Gentoo 2015-02-10 19:19 ` [PATCH 2/3] coreutils: import prebuilt manpages from Gentoo Paul Gortmaker @ 2015-02-10 19:59 ` Mark Hatle 0 siblings, 0 replies; 8+ messages in thread From: Mark Hatle @ 2015-02-10 19:59 UTC (permalink / raw) To: openembedded-core On 2/10/15 1:19 PM, Paul Gortmaker wrote: > As can be seen here: > > http://lists.gnu.org/archive/html/coreutils/2014-11/msg00001.html > > other people have run into the headache of trying to cross compile > coreutils, with the "help2man" problem (assumes host can run the > target binaries with "--help" arg to collect data for manpage.) > > And since "current wisdom is this is working as intended" we are > largely left with no choice but to use the same solution and > abandon trying to generate the man pages at build time. So here > we import prebuilt manpages. > > Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> > --- > meta/recipes-core/coreutils/coreutils_8.23.bb | 15 ++++++++++++--- > 1 file changed, 12 insertions(+), 3 deletions(-) > > diff --git a/meta/recipes-core/coreutils/coreutils_8.23.bb b/meta/recipes-core/coreutils/coreutils_8.23.bb > index be68a310311a..5454a43527cc 100644 > --- a/meta/recipes-core/coreutils/coreutils_8.23.bb > +++ b/meta/recipes-core/coreutils/coreutils_8.23.bb > @@ -12,14 +12,17 @@ DEPENDS_class-native = "" > > inherit autotools gettext texinfo > > -SRC_URI = "${GNU_MIRROR}/coreutils/${BP}.tar.xz \ > +SRC_URI = "${GNU_MIRROR}/coreutils/${BP}.tar.xz;name=tarball \ > + http://distfiles.gentoo.org/distfiles/${BP}-man.tar.xz;name=manpages \ > file://man-decouple-manpages-from-build.patch \ > file://remove-usr-local-lib-from-m4.patch \ > file://fix-selinux-flask.patch \ > " > > -SRC_URI[md5sum] = "abed135279f87ad6762ce57ff6d89c41" > -SRC_URI[sha256sum] = "ec43ca5bcfc62242accb46b7f121f6b684ee21ecd7d075059bf650ff9e37b82d" > +SRC_URI[tarball.md5sum] = "abed135279f87ad6762ce57ff6d89c41" > +SRC_URI[tarball.sha256sum] = "ec43ca5bcfc62242accb46b7f121f6b684ee21ecd7d075059bf650ff9e37b82d" > +SRC_URI[manpages.md5sum] = "ce49bc8360e16afe67581d136606efc7" > +SRC_URI[manpages.sha256sum] = "d1b16e74b3dba4f313aeebae2c69da205f7d2e6e1c2aa8d39026c860d314ecca" > > EXTRA_OECONF_class-native = "--without-gmp" > EXTRA_OECONF_class-target = "--enable-install-program=arch --libexecdir=${libdir}" > @@ -53,6 +56,8 @@ sbindir_progs= "chroot" > # directory. > acpaths = "-I ./m4" > > +FILES_${PN}-doc += "${mandir}" > + > # Deal with a separate builddir failure if src doesn't exist when creating version.c/version.h > do_compile_prepend () { > mkdir -p ${B}/src > @@ -71,6 +76,10 @@ do_install_append() { > # in update-alternatives to fail, therefore use lbracket - the name used > # for the actual source file. > mv ${D}${bindir}/[ ${D}${bindir}/lbracket.${BPN} > + > + # prebuilt man pages > + install -d ${D}/${mandir}/man1 > + install -t ${D}/${mandir}/man1 ${S}/man/*.1 > } One suggestion, in order for the man pages to match the "alternative names", and also avoid conflicts with other potential suppliers.. I'd suggest enablign the update-alternatives approach for the man pages as well. Also rename the '[.1' to 'lbracket.1.${BPN}' as part of that. But the approach is correct, and I'm fine with this as-is if the community isn't worried about man page clashes.. --Mark > do_install_append_class-native(){ > ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 3/3] scripts: delete dummy help2man script 2015-02-10 19:19 [PATCH 0/3] coreutils: facilitate generating real manpages Paul Gortmaker 2015-02-10 19:19 ` [PATCH 1/3] coreutils: don't generate useless dummy stub manpages Paul Gortmaker 2015-02-10 19:19 ` [PATCH 2/3] coreutils: import prebuilt manpages from Gentoo Paul Gortmaker @ 2015-02-10 19:19 ` Paul Gortmaker 2 siblings, 0 replies; 8+ messages in thread From: Paul Gortmaker @ 2015-02-10 19:19 UTC (permalink / raw) To: openembedded-core; +Cc: Paul Eggleton This was added to try and deal with the cross compile issue of help2man ; one can not run an ARM binary "./chmod --help" on an x86-64 host in order to get the help text to create a man page. This has been primarily an issue with the coreutils package. However, we have since fixed coreutils to have useful pre-made manpages and we don't need this script anymore. And if other gnu packages are getting useless truncated "dummy" manpages, we want the build to fail so we can fix those packages in a similar way, vs. having the issue hidden via a help2man that is a no-op. Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> --- scripts/help2man | 3 --- 1 file changed, 3 deletions(-) delete mode 100755 scripts/help2man diff --git a/scripts/help2man b/scripts/help2man deleted file mode 100755 index 2bb8d868bd0c..000000000000 --- a/scripts/help2man +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -exit 1 -- 2.2.1 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH-v2 0/3] coreutils: facilitate generating real manpages @ 2015-02-17 5:47 Paul Gortmaker 2015-02-17 5:47 ` [PATCH 1/3] coreutils: don't generate useless dummy stub manpages Paul Gortmaker 0 siblings, 1 reply; 8+ messages in thread From: Paul Gortmaker @ 2015-02-17 5:47 UTC (permalink / raw) To: openembedded-core; +Cc: Paul Eggleton As part of improving the end user experience for installs where the end user interacts directly with the generated filesystem (e.g. the build-appliance) these three commits ensure that we can have real man pages for coreutils on the target if desired. This has been problematic for everyone who cross compiles, since the gnu folks use "help2man" -- which is a perl script that wants to run the target binaries (e.g. "chmod --help") and then use the output from that. And unfortunately this doesn't appear likely to change. Our current status is that we "hide" perl by defeating a perl check, and also we have our own "help2man" script which unconditionally fails (as part of an earlier solution to the manpages problem). And then the doc RPM gets useless stub manpages with a big "OOOPS" message in them. Here we delete all stuff associated with the old solutions, and then decouple the one makefile line triggering what would be the failed attempt at generating manpages via help2man. Then we add in sourcing and using prebuilt manpages from the Gentoo project (which was their solution[1] to the help2man cross-compile issue). [v2: use update-alternatives in patch #2; patch #1 and #3 unchanged] Paul. [1] http://lists.gnu.org/archive/html/coreutils/2014-11/msg00001.html --- Paul Gortmaker (3): coreutils: don't generate useless dummy stub manpages coreutils: import prebuilt manpages from Gentoo scripts: delete dummy help2man script .../coreutils/coreutils-8.23/dummy_help2man.patch | 22 --------------- .../coreutils-8.23/fix-for-dummy-man-usage.patch | 31 ---------------------- .../man-decouple-manpages-from-build.patch | 27 +++++++++++++++++++ meta/recipes-core/coreutils/coreutils_8.23.bb | 24 +++++++++++++---- scripts/help2man | 3 --- 5 files changed, 46 insertions(+), 61 deletions(-) delete mode 100644 meta/recipes-core/coreutils/coreutils-8.23/dummy_help2man.patch delete mode 100644 meta/recipes-core/coreutils/coreutils-8.23/fix-for-dummy-man-usage.patch create mode 100644 meta/recipes-core/coreutils/coreutils-8.23/man-decouple-manpages-from-build.patch delete mode 100755 scripts/help2man -- 2.2.1 ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 1/3] coreutils: don't generate useless dummy stub manpages 2015-02-17 5:47 [PATCH-v2 0/3] coreutils: facilitate generating real manpages Paul Gortmaker @ 2015-02-17 5:47 ` Paul Gortmaker 0 siblings, 0 replies; 8+ messages in thread From: Paul Gortmaker @ 2015-02-17 5:47 UTC (permalink / raw) To: openembedded-core; +Cc: Paul Eggleton We had a couple patches to 1) deal with missing perl and 2) deal with the perl-less "dummy" help2man fallout, but in the end, they achieve no purpose whatsoever, since they just populate the doc RPM with manpages like this one: NAME chmod - a GNU coreutils 8.22 program DESCRIPTION OOOPS! Due to the lack of perl on the build system, we were unable to create a proper manual page for chmod. As the above serves no purpose whatsoever, and since the concept of running the binaries to capture the "--help" text output is completely broken for cross compiles, lets just decouple man page generation from the building of coreutils entirely so it paves the way for importing pre-generated manpages. Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> --- .../coreutils/coreutils-8.23/dummy_help2man.patch | 22 --------------- .../coreutils-8.23/fix-for-dummy-man-usage.patch | 31 ---------------------- .../man-decouple-manpages-from-build.patch | 27 +++++++++++++++++++ meta/recipes-core/coreutils/coreutils_8.23.bb | 3 +-- 4 files changed, 28 insertions(+), 55 deletions(-) delete mode 100644 meta/recipes-core/coreutils/coreutils-8.23/dummy_help2man.patch delete mode 100644 meta/recipes-core/coreutils/coreutils-8.23/fix-for-dummy-man-usage.patch create mode 100644 meta/recipes-core/coreutils/coreutils-8.23/man-decouple-manpages-from-build.patch diff --git a/meta/recipes-core/coreutils/coreutils-8.23/dummy_help2man.patch b/meta/recipes-core/coreutils/coreutils-8.23/dummy_help2man.patch deleted file mode 100644 index 4757f52aa0be..000000000000 --- a/meta/recipes-core/coreutils/coreutils-8.23/dummy_help2man.patch +++ /dev/null @@ -1,22 +0,0 @@ -Upstream-Status: Inappropriate [disable feature] - -Signed-off-by: Marko Lindqvist <cazfi74@gmail.com> -diff -Nurd coreutils-8.21/man/local.mk coreutils-8.21/man/local.mk ---- coreutils-8.21/man/local.mk 2013-02-05 16:01:21.000000000 +0200 -+++ coreutils-8.21/man/local.mk 2013-03-23 09:12:53.360470192 +0200 -@@ -19,11 +19,11 @@ - EXTRA_DIST += man/help2man man/dummy-man - - ## Graceful degradation for systems lacking perl. --if HAVE_PERL --run_help2man = $(PERL) -- $(srcdir)/man/help2man --else -+#if HAVE_PERL -+#run_help2man = $(PERL) -- $(srcdir)/man/help2man -+#else - run_help2man = $(SHELL) $(srcdir)/man/dummy-man --endif -+#endif - - man1_MANS = @man1_MANS@ - EXTRA_DIST += $(man1_MANS:.1=.x) diff --git a/meta/recipes-core/coreutils/coreutils-8.23/fix-for-dummy-man-usage.patch b/meta/recipes-core/coreutils/coreutils-8.23/fix-for-dummy-man-usage.patch deleted file mode 100644 index 58b6a7613038..000000000000 --- a/meta/recipes-core/coreutils/coreutils-8.23/fix-for-dummy-man-usage.patch +++ /dev/null @@ -1,31 +0,0 @@ -Upstream-Status: Pending - -coreutils: fix for dummy-man usage - -The options should be before the final argument, otherwise, the following error -would appear when compiling. - -"dummy-man: too many non-option arguments" - -Signed-off-by: Chen Qi <Qi.Chen@windriver.com> ---- - man/local.mk | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/man/local.mk b/man/local.mk -index ba8fbf7..3833458 100644 ---- a/man/local.mk -+++ b/man/local.mk -@@ -101,8 +101,8 @@ man/dynamic-deps.mk: Makefile - && $(run_help2man) \ - --source='$(PACKAGE_STRING)' \ - --include=$(srcdir)/man/$$name.x \ -- --output=$$t/$$name.1 $$t/$$argv \ - --info-page='coreutils \(aq'$$name' invocation\(aq' \ -+ --output=$$t/$$name.1 $$t/$$argv \ - && sed \ - -e 's|$*\.td/||g' \ - -e '/For complete documentation/d' \ --- -1.9.1 - diff --git a/meta/recipes-core/coreutils/coreutils-8.23/man-decouple-manpages-from-build.patch b/meta/recipes-core/coreutils/coreutils-8.23/man-decouple-manpages-from-build.patch new file mode 100644 index 000000000000..3c896a11bf2d --- /dev/null +++ b/meta/recipes-core/coreutils/coreutils-8.23/man-decouple-manpages-from-build.patch @@ -0,0 +1,27 @@ +From b4d258629f090066783c3b4c91b40f63b9d0a296 Mon Sep 17 00:00:00 2001 +From: Paul Gortmaker <paul.gortmaker@windriver.com> +Date: Sun, 8 Feb 2015 16:51:57 -0500 +Subject: [PATCH] man: decouple manpages from build + +The use of "help2man" doesn't work at all for cross compile, in +addition to the extra requirement of perl it adds. + +Just decouple the manpages from the build in order to pave the way for +importing prebuilt manpages that can be used in a cross build situation. + +Upstream-Status: Inappropriate [upstream doesn't care about x-compile case.] +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> + +diff --git a/Makefile.am b/Makefile.am +index fb4af27..7576b2c 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -214,5 +214,4 @@ AM_CPPFLAGS = -Ilib -I$(top_srcdir)/lib -Isrc -I$(top_srcdir)/src + include $(top_srcdir)/lib/local.mk + include $(top_srcdir)/src/local.mk + include $(top_srcdir)/doc/local.mk +-include $(top_srcdir)/man/local.mk + include $(top_srcdir)/tests/local.mk +-- +2.2.2 + diff --git a/meta/recipes-core/coreutils/coreutils_8.23.bb b/meta/recipes-core/coreutils/coreutils_8.23.bb index e9d6494708de..be68a310311a 100644 --- a/meta/recipes-core/coreutils/coreutils_8.23.bb +++ b/meta/recipes-core/coreutils/coreutils_8.23.bb @@ -13,9 +13,8 @@ DEPENDS_class-native = "" inherit autotools gettext texinfo SRC_URI = "${GNU_MIRROR}/coreutils/${BP}.tar.xz \ + file://man-decouple-manpages-from-build.patch \ file://remove-usr-local-lib-from-m4.patch \ - file://dummy_help2man.patch \ - file://fix-for-dummy-man-usage.patch \ file://fix-selinux-flask.patch \ " -- 2.2.1 ^ permalink raw reply related [flat|nested] 8+ messages in thread
end of thread, other threads:[~2015-02-17 5:48 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2015-02-10 19:19 [PATCH 0/3] coreutils: facilitate generating real manpages Paul Gortmaker 2015-02-10 19:19 ` [PATCH 1/3] coreutils: don't generate useless dummy stub manpages Paul Gortmaker 2015-02-11 1:51 ` ChenQi 2015-02-17 5:43 ` Paul Gortmaker 2015-02-10 19:19 ` [PATCH 2/3] coreutils: import prebuilt manpages from Gentoo Paul Gortmaker 2015-02-10 19:59 ` Mark Hatle 2015-02-10 19:19 ` [PATCH 3/3] scripts: delete dummy help2man script Paul Gortmaker -- strict thread matches above, loose matches on Subject: below -- 2015-02-17 5:47 [PATCH-v2 0/3] coreutils: facilitate generating real manpages Paul Gortmaker 2015-02-17 5:47 ` [PATCH 1/3] coreutils: don't generate useless dummy stub manpages Paul Gortmaker
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox