[arch-commits] Commit in groff/trunk (PKGBUILD display-utc-times.patch)
Andreas Radke
andyrtr at archlinux.org
Mon Jun 21 19:49:51 UTC 2021
Date: Monday, June 21, 2021 @ 19:49:51
Author: andyrtr
Revision: 418551
upgpkg: groff 1.22.4-6: apply patch taken from Debian to always use UTC times for display, using localtime is problematic for reproducible builds - FS#69123
Added:
groff/trunk/display-utc-times.patch
Modified:
groff/trunk/PKGBUILD
-------------------------+
PKGBUILD | 14 +++++--
display-utc-times.patch | 90 ++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 100 insertions(+), 4 deletions(-)
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2021-06-21 19:09:42 UTC (rev 418550)
+++ PKGBUILD 2021-06-21 19:49:51 UTC (rev 418551)
@@ -2,7 +2,7 @@
pkgname=groff
pkgver=1.22.4
-pkgrel=5
+pkgrel=6
pkgdesc='GNU troff text-formatting system'
arch=('x86_64')
url='https://www.gnu.org/software/groff/groff.html'
@@ -17,14 +17,20 @@
options=('!docs' '!emptydirs' '!makeflags')
validpgpkeys=('2D0C08D2B0AD0D3D8626670272D23FBAC99D4E75') # Bertrand Garrigues <bertrand.garrigues at laposte.net>
source=("https://ftp.gnu.org/gnu/${pkgname}/${pkgname}-${pkgver}.tar.gz"{,.sig}
+ display-utc-times.patch
'site.tmac')
-md5sums=('08fb04335e2f5e73f23ea4c3adbf0c5f'
- 'SKIP'
- 'a1fedafd7863b37968d32ad9ae1d8c13')
sha256sums=('e78e7b4cb7dec310849004fa88847c44701e8d133b5d4c13057d876c1bad0293'
'SKIP'
+ 'b1e0bcbe1e0737aed1301066ff92a1e7fa0bd8b80a36321f92f519366a1acdb3'
'af59ecde597ce9f8189368a7739279a5f8a391139fe048ef6b4e493ed46e5f5f')
+prepare() {
+ cd $pkgname-$pkgver
+ # always use UTC times for display - using localtime is problematic for reproducible builds
+ # fixes FS#69123 - patch taken from Debian
+ patch -Np1 -i ../display-utc-times.patch
+}
+
build() {
cd $pkgname-$pkgver
Added: display-utc-times.patch
===================================================================
--- display-utc-times.patch (rev 0)
+++ display-utc-times.patch 2021-06-21 19:49:51 UTC (rev 418551)
@@ -0,0 +1,90 @@
+From 69faba79256faeee8d564298855eebe8c5e9c870 Mon Sep 17 00:00:00 2001
+From: Colin Watson <cjwatson at debian.org>
+Date: Fri, 6 Nov 2015 11:40:37 +0000
+Subject: Always use UTC times for display
+
+Using localtime is problematic for reproducible builds. For now, always
+use UTC times (gmtime etc.) for display. (Note that this changes the
+semantics of \n[hours] etc., so may need further work.)
+
+Forwarded: no
+Last-Update: 2018-03-05
+
+Patch-Name: display-utc-times.patch
+---
+ src/devices/grohtml/post-html.cpp | 4 ++--
+ src/devices/gropdf/gropdf.pl | 4 ++--
+ src/devices/grops/ps.cpp | 2 +-
+ src/roff/troff/input.cpp | 2 +-
+ 4 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/src/devices/grohtml/post-html.cpp b/src/devices/grohtml/post-html.cpp
+index 7bc017e0..ad7ca54f 100644
+--- a/src/devices/grohtml/post-html.cpp
++++ b/src/devices/grohtml/post-html.cpp
+@@ -5016,7 +5016,7 @@ void html_printer::do_file_components (void)
+
+ t = current_time();
+ html.begin_comment("CreationDate: ")
+- .put_string(ctime(&t), strlen(ctime(&t))-1)
++ .put_string(asctime(gmtime(&t)), strlen(asctime(gmtime(&t)))-1)
+ .end_comment();
+
+ if (dialect == html4)
+@@ -5129,7 +5129,7 @@ html_printer::~html_printer()
+
+ t = current_time();
+ html.begin_comment("CreationDate: ")
+- .put_string(ctime(&t), strlen(ctime(&t))-1)
++ .put_string(asctime(gmtime(&t)), strlen(asctime(gmtime(&t)))-1)
+ .end_comment();
+
+ if (dialect == html4)
+diff --git a/src/devices/gropdf/gropdf.pl b/src/devices/gropdf/gropdf.pl
+index 2ec52d06..134b0962 100644
+--- a/src/devices/gropdf/gropdf.pl
++++ b/src/devices/gropdf/gropdf.pl
+@@ -280,7 +280,7 @@ elsif (exists($ppsz{$papersz}))
+ @defaultmb=@mediabox=(0,0,$ppsz{$papersz}->[0],$ppsz{$papersz}->[1]);
+ }
+
+-my (@dt)=localtime($ENV{SOURCE_DATE_EPOCH} || time);
++my (@dt)=gmtime($ENV{SOURCE_DATE_EPOCH} || time);
+ my $dt=PDFDate(\@dt);
+
+ my %info=('Creator' => "(groff version $cfg{GROFF_VERSION})",
+@@ -538,7 +538,7 @@ sub GetObj
+ sub PDFDate
+ {
+ my $dt=shift;
+- return(sprintf("D:%04d%02d%02d%02d%02d%02d%+03d'00'",$dt->[5]+1900,$dt->[4]+1,$dt->[3],$dt->[2],$dt->[1],$dt->[0],( localtime time() + 3600*( 12 - (gmtime)[2] ) )[2] - 12));
++ return(sprintf("D:%04d%02d%02d%02d%02d%02d+00'00'",$dt->[5]+1900,$dt->[4]+1,$dt->[3],$dt->[2],$dt->[1],$dt->[0]));
+ }
+
+ sub ToPoints
+diff --git a/src/devices/grops/ps.cpp b/src/devices/grops/ps.cpp
+index ab3b1d73..b0fb78e1 100644
+--- a/src/devices/grops/ps.cpp
++++ b/src/devices/grops/ps.cpp
+@@ -1392,7 +1392,7 @@ ps_printer::~ps_printer()
+ time_t
+ #endif
+ t = current_time();
+- fputs(ctime(&t), out.get_file());
++ fputs(asctime(gmtime(&t)), out.get_file());
+ }
+ for (font_pointer_list *f = font_list; f; f = f->next) {
+ ps_font *psf = (ps_font *)(f->p);
+diff --git a/src/roff/troff/input.cpp b/src/roff/troff/input.cpp
+index a1bd8eaf..f415aa6d 100644
+--- a/src/roff/troff/input.cpp
++++ b/src/roff/troff/input.cpp
+@@ -8084,7 +8084,7 @@ static void init_registers()
+ #endif /* not LONG_FOR_TIME_T */
+ t = current_time();
+ // Use struct here to work around misfeature in old versions of g++.
+- struct tm *tt = localtime(&t);
++ struct tm *tt = gmtime(&t);
+ set_number_reg("seconds", int(tt->tm_sec));
+ set_number_reg("minutes", int(tt->tm_min));
+ set_number_reg("hours", int(tt->tm_hour));
More information about the arch-commits
mailing list