From: Ian Rogers <irogers@google.com> Date: 2021-07-15 01:33:58
Perf's Documenation Makefile is based off git's, but some parts of it
were never completed. 'make info' also fails. These patches fix 'make
info' and do some related tidy up. Two missing files are added from git.
Ian Rogers (7):
perf doc: Fix perfman.info build
perf doc: Fix doc.dep
perf doc: Remove references to user-manual
perf doc: Add info pages to all target.
perf doc: Remove cmd-list.perl references
perf doc: Remove howto-index.sh related references.
perf doc: Reorganize ARTICLES variables.
tools/perf/Documentation/Makefile | 74 +++-------------------
tools/perf/Documentation/build-docdep.perl | 46 ++++++++++++++
tools/perf/Documentation/cat-texi.perl | 46 ++++++++++++++
3 files changed, 100 insertions(+), 66 deletions(-)
create mode 100755 tools/perf/Documentation/build-docdep.perl
create mode 100755 tools/perf/Documentation/cat-texi.perl
--
2.32.0.402.g57bb445576-goog
From: Ian Rogers <irogers@google.com> Date: 2021-07-15 01:34:00
Before this change 'make perfman.info' fails as cat-texi.perl is
missing. It also fails as the makeinfo output isn't written into the
appropriate file. Add cat-texi.perl from git. Add missing output file
flag for makeinfo.
Signed-off-by: Ian Rogers <irogers@google.com>
---
tools/perf/Documentation/Makefile | 2 +-
tools/perf/Documentation/cat-texi.perl | 46 ++++++++++++++++++++++++++
2 files changed, 47 insertions(+), 1 deletion(-)
create mode 100755 tools/perf/Documentation/cat-texi.perl
From: Ian Rogers <irogers@google.com> Date: 2021-07-15 01:34:03
The doc.dep dependencies for the Makefile fail to build as
build-docdep.perl is missing. Add this file from git.
Signed-off-by: Ian Rogers <irogers@google.com>
---
tools/perf/Documentation/build-docdep.perl | 46 ++++++++++++++++++++++
1 file changed, 46 insertions(+)
create mode 100755 tools/perf/Documentation/build-docdep.perl
@@ -0,0 +1,46 @@+#!/usr/bin/perl++my%include=();+my%included=();++formy$text(<*.txt>){+openI,'<',$text||die"cannot read: $text";+while(<I>){+if(/^include::/){+chomp;+s/^include::\s*//;+s/\[\]//;+$include{$text}{$_}=1;+$included{$_}=1;+}+}+closeI;+}++# Do we care about chained includes???+my$changed=1;+while($changed){+$changed=0;+while(my($text,$included)=each%include){+formy$i(keys%$included){+# $text has include::$i; if $i includes $j+# $text indirectly includes $j.+if(exists$include{$i}){+formy$j(keys%{$include{$i}}){+if(!exists$include{$text}{$j}){+$include{$text}{$j}=1;+$included{$j}=1;+$changed=1;+}+}+}+}+}+}++while(my($text,$included)=each%include){+if(!exists$included{$text}&&+(my$base=$text)=~s/\.txt$//){+print"$base.html $base.xml : ",join(" ",keys%$included),"\n";+}+}
From: Ian Rogers <irogers@google.com> Date: 2021-07-15 01:34:05
Perf doesn't have a user-manual.txt, but git does and this explains why
there are references here. Having these references breaks 'make info' as
user-manual.info can't be created given the missing dependency. Remove
all references to user-manual so that 'make info' can succeed.
Signed-off-by: Ian Rogers <irogers@google.com>
---
tools/perf/Documentation/Makefile | 25 -------------------------
1 file changed, 25 deletions(-)
From: Ian Rogers <irogers@google.com> Date: 2021-07-15 01:34:09
cmd-list.perl exists in git but not in perf. As such these targets fail
with missing dependencies. Remove them.
Signed-off-by: Ian Rogers <irogers@google.com>
---
tools/perf/Documentation/Makefile | 21 +--------------------
1 file changed, 1 insertion(+), 20 deletions(-)
From: Ian Rogers <irogers@google.com> Date: 2021-07-15 01:34:13
howto-index.sh exists in git but not in perf, as such targets that
depend upon it fail. Remove such failing targets.
Signed-off-by: Ian Rogers <irogers@google.com>
---
tools/perf/Documentation/Makefile | 13 +------------
1 file changed, 1 insertion(+), 12 deletions(-)
From: Ian Rogers <irogers@google.com> Date: 2021-07-15 01:34:17
Place early, as they are in the git Makefile. Remove references to a
'technical` directory that doesn't exist in perf.
Signed-off-by: Ian Rogers <irogers@google.com>
---
tools/perf/Documentation/Makefile | 11 ++++-------
1 file changed, 4 insertions(+), 7 deletions(-)
@@ -2,6 +2,10 @@include ../../scripts/Makefile.includeinclude ../../scripts/utilities.mak+ARTICLES=+# with their own formatting rules.+SP_ARTICLES=+MAN1_TXT=\$(filter-out$(addsuffix.txt,$(ARTICLES)$(SP_ARTICLES)),\$(wildcardperf-*.txt))\
@@ -16,13 +20,6 @@ _MAN_HTML=$(patsubst %.txt,%.html,$(MAN_TXT))MAN_XML=$(addprefix$(OUTPUT),$(_MAN_XML))MAN_HTML=$(addprefix$(OUTPUT),$(_MAN_HTML))-ARTICLES=-# with their own formatting rules.-SP_ARTICLES=-API_DOCS=$(patsubst%.txt,%,$(filter-outtechnical/api-index-skel.txttechnical/api-index.txt,$(wildcardtechnical/api-*.txt)))-SP_ARTICLES+=$(API_DOCS)-SP_ARTICLES+=technical/api-index-_DOC_HTML=$(_MAN_HTML)_DOC_HTML+=$(patsubst%,%.html,$(ARTICLES)$(SP_ARTICLES))DOC_HTML=$(addprefix$(OUTPUT),$(_DOC_HTML))
From: Namhyung Kim <namhyung@kernel.org> Date: 2021-07-19 19:59:52
Hi Ian,
On Wed, Jul 14, 2021 at 6:33 PM Ian Rogers [off-list ref] wrote:
Perf's Documenation Makefile is based off git's, but some parts of it
were never completed. 'make info' also fails. These patches fix 'make
info' and do some related tidy up. Two missing files are added from git.
Ian Rogers (7):
perf doc: Fix perfman.info build
perf doc: Fix doc.dep
perf doc: Remove references to user-manual
perf doc: Add info pages to all target.
perf doc: Remove cmd-list.perl references
perf doc: Remove howto-index.sh related references.
perf doc: Reorganize ARTICLES variables.
Acked-by: Namhyung Kim <namhyung@kernel.org>
Thanks,
Namhyung
From: Ian Rogers <irogers@google.com> Date: 2021-07-23 21:03:42
On Fri, Jul 23, 2021 at 11:56 AM Arnaldo Carvalho de Melo
[off-list ref] wrote:
Em Fri, Jul 23, 2021 at 03:53:14PM -0300, Arnaldo Carvalho de Melo escreveu:
quoted
Em Fri, Jul 23, 2021 at 03:27:57PM -0300, Arnaldo Carvalho de Melo escreveu:
quoted
Em Wed, Jul 14, 2021 at 06:33:40PM -0700, Ian Rogers escreveu:
quoted
Enabled to ensure that info pages build.
How did you test this? I tried installing texinfo, that is where
makeinfo belongs:
⬢[acme@toolbox perf]$ rpm -qf /usr/bin/makeinfo
texinfo-6.7-10.fc34.x86_64
⬢[acme@toolbox perf]$ rpm -q texinfo
texinfo-6.7-10.fc34.x86_64
⬢[acme@toolbox perf]$
And then:
⬢[acme@toolbox perf]$ make -C tools/perf O=/tmp/build/perf install-doc
make: Entering directory '/var/home/acme/git/perf/tools/perf'
BUILD: Doing 'make -j24' parallel build
INSTALL Documentation-man
make: Leaving directory '/var/home/acme/git/perf/tools/perf'
⬢[acme@toolbox perf]$
Also:
We get closer if we do:
⬢[acme@toolbox perf]$ make -C tools/perf/Documentation/ install-info
make: Entering directory '/var/home/acme/git/perf/tools/perf/Documentation'
ASCIIDOC perf.xml
DB2TEXI perf.texi
/bin/sh: line 2: docbook2x-texi: command not found
make: *** [Makefile:289: perf.texi] Error 127
make: Leaving directory '/var/home/acme/git/perf/tools/perf/Documentation'
⬢[acme@toolbox perf]$
Do you need to install docbook2x?
$ dpkg -S /usr/bin/docbook2x-texi
docbook2x: /usr/bin/docbook2x-texi
Thanks,
Ian
On July 23, 2021 6:03:16 PM GMT-03:00, Ian Rogers [off-list ref] wrote:
On Fri, Jul 23, 2021 at 11:56 AM Arnaldo Carvalho de Melo
[off-list ref] wrote:
quoted
Em Fri, Jul 23, 2021 at 03:53:14PM -0300, Arnaldo Carvalho de Melo
escreveu:
quoted
quoted
Em Fri, Jul 23, 2021 at 03:27:57PM -0300, Arnaldo Carvalho de Melo
escreveu:
quoted
quoted
quoted
Em Wed, Jul 14, 2021 at 06:33:40PM -0700, Ian Rogers escreveu:
quoted
Enabled to ensure that info pages build.
How did you test this? I tried installing texinfo, that is where
makeinfo belongs:
⬢[acme@toolbox perf]$ rpm -qf /usr/bin/makeinfo
texinfo-6.7-10.fc34.x86_64
⬢[acme@toolbox perf]$ rpm -q texinfo
texinfo-6.7-10.fc34.x86_64
⬢[acme@toolbox perf]$
And then:
⬢[acme@toolbox perf]$ make -C tools/perf O=/tmp/build/perf