[pve-devel] applied: [PATCH docs 1/2] export and respect SOURCE_DATE_EPOCH

Wolfgang Bumiller w.bumiller at proxmox.com
Thu Feb 22 17:15:16 CET 2018


applied both patches

On Tue, Feb 20, 2018 at 11:10:24AM +0100, Fabian Grünbichler wrote:
> to improve reproducibility of pve-docs, pve-doc-generator and
> pve-doc-mediawiki builds, as well as man pages generated by
> pve-doc-generator when called via dpkg-buildpackage.
> 
> timestamps embedded in the documentation now always reflect the last changelog
> entry of the package to which the documentation belongs (pve-docs for html,
> epub and pdf, individual packages for man pages).
> 
> Signed-off-by: Fabian Grünbichler <f.gruenbichler at proxmox.com>
> ---
> note: the .pdf and .epub files still contain randomly generated IDs which
> change on every build, which would require more extensive investigation and
> likely patches to other toolchain packages (I haven't checked Buster yet, maybe
> some of it is fixed there already).
> 
> note: an alternative approach would be to set the man page date to that of
> pve-docs as well, but since the synopsis content is more likely to change than
> the long form content, this solution seems more appropriate.
> 
>  Makefile        | 4 +++-
>  asciidoc-pve.in | 8 +++++++-
>  2 files changed, 10 insertions(+), 2 deletions(-)
> 
> diff --git a/Makefile b/Makefile
> index 32f3fd5..dc776ac 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -17,6 +17,8 @@ DOC_DEB=${DOC_PACKAGE}_${DOCRELEASE}-${PKGREL}_all.deb
>  MEDIAWIKI_DEB=${MEDIAWIKI_PACKAGE}_${DOCRELEASE}-${PKGREL}_all.deb
>  DOC_BUILDDEPS := asciidoc-dblatex, source-highlight, librsvg2-bin
>  
> +export SOURCE_DATE_EPOCH ?= $(shell dpkg-parsechangelog -STimestamp)
> +SOURCE_DATE_HUMAN := $(shell date -d "@${SOURCE_DATE_EPOCH}")
>  
>  all: index.html
>  
> @@ -81,7 +83,7 @@ INDEX_INCLUDES=								\
>  	man8-index-table.adoc						\
>  	$(sort $(addsuffix .html, ${MANUAL_PAGES}) ${CHAPTER_LIST})
>  
> -ADOC_STDARG=-b $(shell pwd)/asciidoc/pve-html -f asciidoc/asciidoc-pve.conf -a icons -a data-uri -a "date=$(shell date)" -a "revnumber=${DOCRELEASE}"
> +ADOC_STDARG=-b $(shell pwd)/asciidoc/pve-html -f asciidoc/asciidoc-pve.conf -a icons -a data-uri -a "date=${SOURCE_DATE_HUMAN}" -a "revnumber=${DOCRELEASE}" -a footer-style=revdate
>  
>  BROWSER?=xdg-open
>  
> diff --git a/asciidoc-pve.in b/asciidoc-pve.in
> index 83f59eb..70848ca 100644
> --- a/asciidoc-pve.in
> +++ b/asciidoc-pve.in
> @@ -300,7 +300,12 @@ sub compile_asciidoc {
>  
>      $leveloffset = - $doctype;
>  
> -    my $date = `date`;
> +    my $date;
> +    if (defined($ENV{SOURCE_DATE_EPOCH})) {
> +	$date = `date -d "\@$ENV{SOURCE_DATE_EPOCH}"`;
> +    } else {
> +	$date = `date`;
> +    }
>      chomp $date;
>  
>      my $attributes = {
> @@ -308,6 +313,7 @@ sub compile_asciidoc {
>  	leveloffset => $leveloffset,
>  	revnumber => $release,
>  	revdate => $date,
> +	'footer-style' => 'revdate',
>      };
>  
>      my $mansection = $fileinfo->{mansection}->{$env}->{$infile};
> -- 
> 2.14.2




More information about the pve-devel mailing list