2023-05-09 19:24:11

by Salvatore Bonaccorso

[permalink] [raw]
Subject: Re: [PATCH] perf tools: Use $KBUILD_BUILD_TIMESTAMP as man page date

Hi Peter, Ingo, Arnaldo,

On Tue, May 17, 2016 at 02:28:09PM +0100, Ben Hutchings wrote:
> This allows man pages to be built reproducibly.
>
> Signed-off-by: Ben Hutchings <[email protected]>
> ---
> --- a/tools/perf/Documentation/Makefile
> +++ b/tools/perf/Documentation/Makefile
> @@ -120,6 +120,9 @@ endif
> ifdef DOCBOOK_SUPPRESS_SP
> XMLTO_EXTRA += -m manpage-suppress-sp.xsl
> endif
> +ifdef KBUILD_BUILD_TIMESTAMP
> +ASCIIDOC_EXTRA += -a revdate=$(shell date -u -d '$(KBUILD_BUILD_TIMESTAMP)' +%Y-%m-%d)
> +endif
>
> SHELL_PATH ?= $(SHELL)
> # Shell quote;
> --- a/tools/perf/Documentation/asciidoc.conf
> +++ b/tools/perf/Documentation/asciidoc.conf
> @@ -71,6 +71,9 @@ ifdef::backend-docbook[]
> [header]
> template::[header-declarations]
> <refentry>
> +<refentryinfo>
> +template::[docinfo]
> +</refentryinfo>
> <refmeta>
> <refentrytitle>{mantitle}</refentrytitle>
> <manvolnum>{manvolnum}</manvolnum>

As we do apply the change in Downstream in Debian, I was wondering if
it just felt trough the cracks and could still be applied. Is there
anything missing?

Regards,
Salvatore


2023-05-10 13:11:40

by Arnaldo Carvalho de Melo

[permalink] [raw]
Subject: Re: [PATCH] perf tools: Use $KBUILD_BUILD_TIMESTAMP as man page date

Em Tue, May 09, 2023 at 09:03:28PM +0200, Salvatore Bonaccorso escreveu:
> Hi Peter, Ingo, Arnaldo,
>
> On Tue, May 17, 2016 at 02:28:09PM +0100, Ben Hutchings wrote:
> > This allows man pages to be built reproducibly.
> >
> > Signed-off-by: Ben Hutchings <[email protected]>
> > ---
> > --- a/tools/perf/Documentation/Makefile
> > +++ b/tools/perf/Documentation/Makefile
> > @@ -120,6 +120,9 @@ endif
> > ifdef DOCBOOK_SUPPRESS_SP
> > XMLTO_EXTRA += -m manpage-suppress-sp.xsl
> > endif
> > +ifdef KBUILD_BUILD_TIMESTAMP
> > +ASCIIDOC_EXTRA += -a revdate=$(shell date -u -d '$(KBUILD_BUILD_TIMESTAMP)' +%Y-%m-%d)
> > +endif
> >
> > SHELL_PATH ?= $(SHELL)
> > # Shell quote;
> > --- a/tools/perf/Documentation/asciidoc.conf
> > +++ b/tools/perf/Documentation/asciidoc.conf
> > @@ -71,6 +71,9 @@ ifdef::backend-docbook[]
> > [header]
> > template::[header-declarations]
> > <refentry>
> > +<refentryinfo>
> > +template::[docinfo]
> > +</refentryinfo>
> > <refmeta>
> > <refentrytitle>{mantitle}</refentrytitle>
> > <manvolnum>{manvolnum}</manvolnum>
>
> As we do apply the change in Downstream in Debian, I was wondering if
> it just felt trough the cracks and could still be applied. Is there
> anything missing?

Isn't this fixed in:

commit d586ac10ce56b2381b8e1d8ed74660c1b2b8ab0d
Author: Ian Rogers <[email protected]>
Date: Fri Sep 20 21:13:27 2019 -0700

perf docs: Allow man page date to be specified

With this change if a perf_date parameter is provided to asciidoc then
it will override the default date written to the man page metadata.

Without this change, or if the perf_date isn't specified, then the
current date is written to the metadata.

Having this parameter allows the metadata to be constant if builds
happen on different dates.

The name of the parameter is intended to be consistent with the existing
perf_version parameter.

Signed-off-by: Ian Rogers <[email protected]>
Cc: Alexander Shishkin <[email protected]>
Cc: Andi Kleen <[email protected]>
Cc: Jiri Olsa <[email protected]>
Cc: Namhyung Kim <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Stephane Eranian <[email protected]>
Link: http://lore.kernel.org/lkml/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>

2023-05-13 19:37:48

by Ben Hutchings

[permalink] [raw]
Subject: Re: [PATCH] perf tools: Use $KBUILD_BUILD_TIMESTAMP as man page date

On Wed, 2023-05-10 at 09:59 -0300, Arnaldo Carvalho de Melo wrote:
> Em Tue, May 09, 2023 at 09:03:28PM +0200, Salvatore Bonaccorso escreveu:
> > Hi Peter, Ingo, Arnaldo,
> >
> > On Tue, May 17, 2016 at 02:28:09PM +0100, Ben Hutchings wrote:
> > > This allows man pages to be built reproducibly.
> > >
> > > Signed-off-by: Ben Hutchings <[email protected]>
> > > ---
> > > --- a/tools/perf/Documentation/Makefile
> > > +++ b/tools/perf/Documentation/Makefile
> > > @@ -120,6 +120,9 @@ endif
> > > ifdef DOCBOOK_SUPPRESS_SP
> > > XMLTO_EXTRA += -m manpage-suppress-sp.xsl
> > > endif
> > > +ifdef KBUILD_BUILD_TIMESTAMP
> > > +ASCIIDOC_EXTRA += -a revdate=$(shell date -u -d '$(KBUILD_BUILD_TIMESTAMP)' +%Y-%m-%d)
> > > +endif
> > >
> > > SHELL_PATH ?= $(SHELL)
> > > # Shell quote;
> > > --- a/tools/perf/Documentation/asciidoc.conf
> > > +++ b/tools/perf/Documentation/asciidoc.conf
> > > @@ -71,6 +71,9 @@ ifdef::backend-docbook[]
> > > [header]
> > > template::[header-declarations]
> > > <refentry>
> > > +<refentryinfo>
> > > +template::[docinfo]
> > > +</refentryinfo>
> > > <refmeta>
> > > <refentrytitle>{mantitle}</refentrytitle>
> > > <manvolnum>{manvolnum}</manvolnum>
> >
> > As we do apply the change in Downstream in Debian, I was wondering if
> > it just felt trough the cracks and could still be applied. Is there
> > anything missing?
>
> Isn't this fixed in:
>
> commit d586ac10ce56b2381b8e1d8ed74660c1b2b8ab0d
> Author: Ian Rogers <[email protected]>
> Date: Fri Sep 20 21:13:27 2019 -0700
>
> perf docs: Allow man page date to be specified
>
> With this change if a perf_date parameter is provided to asciidoc then
> it will override the default date written to the man page metadata.
[...]

Not entirely, because the value for perf_date is currently generated
with "git log", and Debian package builds are not done from a Git
checkout. I'll revise my patch to allow perf_date to be set from
KBUILD_BUILD_TIMESTAMP, which is already used in the kernel build.

Ben.

--
Ben Hutchings
Life would be so much easier if we could look at the source code.


Attachments:
signature.asc (849.00 B)
This is a digitally signed message part

2023-05-13 20:17:29

by Ben Hutchings

[permalink] [raw]
Subject: Re: [PATCH] perf tools: Use $KBUILD_BUILD_TIMESTAMP as man page date

On Sat, 2023-05-13 at 20:51 +0200, Ben Hutchings wrote:
> On Wed, 2023-05-10 at 09:59 -0300, Arnaldo Carvalho de Melo wrote:
> > Em Tue, May 09, 2023 at 09:03:28PM +0200, Salvatore Bonaccorso escreveu:
> > > Hi Peter, Ingo, Arnaldo,
> > >
> > > On Tue, May 17, 2016 at 02:28:09PM +0100, Ben Hutchings wrote:
> > > > This allows man pages to be built reproducibly.
> > > >
> > > > Signed-off-by: Ben Hutchings <[email protected]>
> > > > ---
> > > > --- a/tools/perf/Documentation/Makefile
> > > > +++ b/tools/perf/Documentation/Makefile
> > > > @@ -120,6 +120,9 @@ endif
> > > > ifdef DOCBOOK_SUPPRESS_SP
> > > > XMLTO_EXTRA += -m manpage-suppress-sp.xsl
> > > > endif
> > > > +ifdef KBUILD_BUILD_TIMESTAMP
> > > > +ASCIIDOC_EXTRA += -a revdate=$(shell date -u -d '$(KBUILD_BUILD_TIMESTAMP)' +%Y-%m-%d)
> > > > +endif
> > > >
> > > > SHELL_PATH ?= $(SHELL)
> > > > # Shell quote;
> > > > --- a/tools/perf/Documentation/asciidoc.conf
> > > > +++ b/tools/perf/Documentation/asciidoc.conf
> > > > @@ -71,6 +71,9 @@ ifdef::backend-docbook[]
> > > > [header]
> > > > template::[header-declarations]
> > > > <refentry>
> > > > +<refentryinfo>
> > > > +template::[docinfo]
> > > > +</refentryinfo>
> > > > <refmeta>
> > > > <refentrytitle>{mantitle}</refentrytitle>
> > > > <manvolnum>{manvolnum}</manvolnum>
> > >
> > > As we do apply the change in Downstream in Debian, I was wondering if
> > > it just felt trough the cracks and could still be applied. Is there
> > > anything missing?
> >
> > Isn't this fixed in:
> >
> > commit d586ac10ce56b2381b8e1d8ed74660c1b2b8ab0d
> > Author: Ian Rogers <[email protected]>
> > Date: Fri Sep 20 21:13:27 2019 -0700
> >
> > perf docs: Allow man page date to be specified
> >
> > With this change if a perf_date parameter is provided to asciidoc then
> > it will override the default date written to the man page metadata.
> [...]
>
> Not entirely, because the value for perf_date is currently generated
> with "git log", and Debian package builds are not done from a Git
> checkout.

Also, that only affects doc builds using the original asciidoc, not
asciidoctor.

By the way, the perf_version variable mentioned in that commit is now
always empty because PERF_VERSION is no longer defined in Makefiles.
But at least when using asciidoctor, the value of perf_version doesn't
seem to affect the output anyway.

Ben.

> I'll revise my patch to allow perf_date to be set from
> KBUILD_BUILD_TIMESTAMP, which is already used in the kernel build.
>
> Ben.
>

--
Ben Hutchings
Life would be so much easier if we could look at the source code.


Attachments:
signature.asc (849.00 B)
This is a digitally signed message part