blob: b6ae409ac022b0595698f9ca51777f4e974b1055 [file] [log] [blame]
Patrick Williamsc124f4f2015-09-15 14:41:29 -05001From 6198856b5323d6204094293f01b890472618f182 Mon Sep 17 00:00:00 2001
2From: Russ Allbery <rra@cpan.org>
3Date: Wed, 15 Apr 2015 20:49:07 -0700
4Subject: Documentation and test suite updates for UTC fix
5
6Update the Pod::Man and pod2man documentation and the test suite
7for the new UTC-based default page footer, and add a Changes
8entry.
9
10(backported to Perl 5.20.2 by Niko Tyni <ntyni@debian.org>)
11
12Origin: upstream, http://git.eyrie.org/?p=perl/podlators.git;a=commitdiff;h=52db93bf80e4a06f8497e4ebade0506b6ee0e70d
13Bug-Debian: https://bugs.debian.org/780259
14Patch-Name: fixes/podman-utc-docs.diff
Brad Bishopd7bf8c12018-02-25 22:55:05 -050015Upstream-Status: Pending
Patrick Williamsc124f4f2015-09-15 14:41:29 -050016---
17 cpan/podlators/lib/Pod/Man.pm | 6 +++++-
18 cpan/podlators/scripts/pod2man.PL | 11 ++++++-----
19 cpan/podlators/t/devise-date.t | 2 +-
20 3 files changed, 12 insertions(+), 7 deletions(-)
21
22diff --git a/cpan/podlators/lib/Pod/Man.pm b/cpan/podlators/lib/Pod/Man.pm
23index c3ba201..365892e 100644
24--- a/cpan/podlators/lib/Pod/Man.pm
25+++ b/cpan/podlators/lib/Pod/Man.pm
26@@ -910,6 +910,8 @@ sub devise_date {
27
28 # Can't use POSIX::strftime(), which uses Fcntl, because MakeMaker uses
29 # this and it has to work in the core which can't load dynamic libraries.
30+ # Use gmtime instead of localtime so that the generated man page does not
31+ # depend on the local time zone setting and is more reproducible
32 my ($year, $month, $day) = (gmtime($time))[5,4,3];
33 return sprintf("%04d-%02d-%02d", $year + 1900, $month + 1, $day);
34 }
35@@ -1656,7 +1658,9 @@ environment variable POD_MAN_DATE, if set, will be used. Failing that,
36 the modification date of the input file will be used, or the current time
37 if stat() can't find that file (which will be the case if the input is
38 from C<STDIN>). If obtained from the file modification date or the
39-current time, he date will be formatted as C<YYYY-MM-DD>.
40+current time, the date will be formatted as C<YYYY-MM-DD> and will be based
41+on UTC (so that the output will be reproducible regardless of local time
42+zone).
43
44 =item errors
45
46diff --git a/cpan/podlators/scripts/pod2man.PL b/cpan/podlators/scripts/pod2man.PL
47index 6af3474..38695f8 100644
48--- a/cpan/podlators/scripts/pod2man.PL
49+++ b/cpan/podlators/scripts/pod2man.PL
50@@ -174,9 +174,10 @@ Contributed Perl Documentation", but also see B<--official> below.
51
52 =item B<-d> I<string>, B<--date>=I<string>
53
54-Set the left-hand footer string to this value. By default, the modification
55-date of the input file will be used, or the current date if input comes from
56-C<STDIN>.
57+Set the left-hand footer string to this value. By default, the
58+modification date of the input file will be used, or the current date if
59+input comes from C<STDIN>, and will be based on UTC (so that the output
60+will be reproducible regardless of local time zone).
61
62 =item B<-errors>=I<style>
63
64@@ -383,8 +384,8 @@ B<pod2man> by Larry Wall and Tom Christiansen.
65
66 =head1 COPYRIGHT AND LICENSE
67
68-Copyright 1999, 2000, 2001, 2004, 2006, 2008, 2010, 2012, 2013 Russ
69-Allbery <rra@stanford.edu>.
70+Copyright 1999, 2000, 2001, 2004, 2006, 2008, 2010, 2012, 2013, 2014,
71+2015 Russ Allbery <rra@cpan.org>.
72
73 This program is free software; you may redistribute it and/or modify it
74 under the same terms as Perl itself.
75diff --git a/cpan/podlators/t/devise-date.t b/cpan/podlators/t/devise-date.t
76index c610dd9..9da9d1b 100644
77--- a/cpan/podlators/t/devise-date.t
78+++ b/cpan/podlators/t/devise-date.t
79@@ -19,7 +19,7 @@ use Test::More tests => 2;
80 my $parser = Pod::Man->new;
81 is(
82 $parser->devise_date,
83- strftime('%Y-%m-%d', localtime()),
84+ strftime('%Y-%m-%d', gmtime()),
85 'devise_date matches strftime'
86 );
87