git.shiar.nl
/
sheet.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
bb06ade
)
perl: version descriptions after release dates
author
Mischa POSLAWSKY
<perl@shiar.org>
Tue, 14 Feb 2023 23:36:31 +0000
(
00:36
+0100)
committer
Mischa POSLAWSKY
<perl@shiar.org>
Sat, 15 Apr 2023 14:34:51 +0000
(16:34 +0200)
perl.inc.pl
patch
|
blob
|
history
perl.plp
patch
|
blob
|
history
diff --git
a/perl.inc.pl
b/perl.inc.pl
index 543813f3b4241dcac5076b4d5e56d8cacc014db7..8af76c73fadcd9ab8c5f9d4c4d56139db990e918 100644
(file)
--- a/
perl.inc.pl
+++ b/
perl.inc.pl
@@
-38,12
+38,13
@@
use utf8;
],
release => '2000-03-23',
distro => {
],
release => '2000-03-23',
distro => {
- debian => '
woody',
+ debian => '
3.0', # woody 2002-07 eol 2006-06
rhel => '2', # v5.6.0; also in red hat 7.0
solaris => '9', # v5.6.1; 2002-05 eol 2014-10
aix => '5.1', # 2001-05 eol 2006-04
opensuse => '7.1', # 2001-01
},
rhel => '2', # v5.6.0; also in red hat 7.0
solaris => '9', # v5.6.1; 2002-05 eol 2014-10
aix => '5.1', # 2001-05 eol 2006-04
opensuse => '7.1', # 2001-01
},
+ versum => 'start of modern compatibility',
unicode => '3.0.1',
},
unicode => '3.0.1',
},
@@
-59,7
+60,7
@@
use utf8;
],
release => '2002-07-18',
distro => {
],
release => '2002-07-18',
distro => {
- debian => '
sarge',
+ debian => '
3.1', # sarge 2005-06 eol 2008-03, v5.8.8 in etch 2007-04 eol 2010-02
rhel => '3', # v5.8.0; v5.8.8 in RHEL6 (2007-2014)
solaris => '10', # v5.8.4; 2005-01 eol 2021-01
centos => '3-5', # v5.8.0 in v3 (2004-03); v5.8.8 in v5 (eol 2017-03)
rhel => '3', # v5.8.0; v5.8.8 in RHEL6 (2007-2014)
solaris => '10', # v5.8.4; 2005-01 eol 2021-01
centos => '3-5', # v5.8.0 in v3 (2004-03); v5.8.8 in v5 (eol 2017-03)
@@
-68,7
+69,8
@@
use utf8;
freebsd => '4-6',
opensuse => '8.1', # 2002-09 eol (SLES8 2002-10 eol 2007-12 ltss 2009-12)
},
freebsd => '4-6',
opensuse => '8.1', # 2002-09 eol (SLES8 2002-10 eol 2007-12 ltss 2009-12)
},
- distrosum => "dinosaur platforms such as Solaris 10, AIX 5.2, RHEL 3, SLES 8",
+ distrosum => "RHEL 3, SLES 8, AIX 5/6 until 2017, Solaris 10 until 2021",
+ versum => 'stable minimum during 20[01]\d',
support => '2021-01', # solaris
unicode => '3.2.0',
},
support => '2021-01', # solaris
unicode => '3.2.0',
},
@@
-98,7
+100,8
@@
use utf8;
aix => '7.1', # v5.10.1 (2010-09 eol 2023-04)
opensuse => '11.0', # 2008-06 (SLES11 2009-03 eol 2019-03 ltss 2022-03)
},
aix => '7.1', # v5.10.1 (2010-09 eol 2023-04)
opensuse => '11.0', # 2008-06 (SLES11 2009-03 eol 2019-03 ltss 2022-03)
},
- distrosum => "dinosaur platforms such as AIX 7.1, SLES 11, RHEL 6, Solaris 11",
+ distrosum => "SLES 11 until 2022, RHEL 6 until 2020 or commercially 2024, AIX 7.1 until 2023",
+ versum => "supported commercially until 2024",
support => '2024-11', # aix
unicode => '5.0.0',
},
support => '2024-11', # aix
unicode => '5.0.0',
},
@@
-140,7
+143,7
@@
use utf8;
ubuntu => '12.04',
opensuse => '12.1', # 2011-11 (SLES12 2014-10 eol 2024-10 ltss 2027-10)
},
ubuntu => '12.04',
opensuse => '12.1', # 2011-11 (SLES12 2014-10 eol 2024-10 ltss 2027-10)
},
- distrosum => "
stable servers such as Debian 7, Ubuntu 12.04, CentOS
7",
+ distrosum => "
Debian 7 until 2020, Ubuntu 12.04, SLES 12 until 202
7",
support => '2027-10', # suse
unicode => '6.0+#8',
},
support => '2027-10', # suse
unicode => '6.0+#8',
},
@@
-192,7
+195,8
@@
use utf8;
aix => '7.2', # 2015-12 eol 2028?
opensuse => '13.2', # 2014-11 eol 2017-01
},
aix => '7.2', # 2015-12 eol 2028?
opensuse => '13.2', # 2014-11 eol 2017-01
},
- distrosum => "legacy servers such as Debian 8, Ubuntu 14.10, FreeBSD 10, openSUSE 13.2, AIX 7.2",
+ distrosum => "Debian 8 until 2025, Ubuntu 14.10, openSUSE 13.2, AIX 7.2",
+ versum => "extended vendor support 202X",
},
v5.22 => {
},
v5.22 => {
diff --git
a/perl.plp
b/perl.plp
index b1ea1c760501c25df2c2819ee744a9e8f4dd15fa..99863ff4ed625fed79754b1f543c885174ad92aa 100644
(file)
--- a/
perl.plp
+++ b/
perl.plp
@@
-32,25
+32,38
@@
eval {
use Time::Piece;
use Time::Seconds;
use Time::Piece;
use Time::Seconds;
+ my @versions = sort keys %{$info};
my $now = Time::Piece->new;
$now = $now->strptime($_, '%Y-%m-%d') for $get{at} // ();
my $now = Time::Piece->new;
$now = $now->strptime($_, '%Y-%m-%d') for $get{at} // ();
+ # perlpolicy: «We "officially" support the two most recent stable release
+ # series. [...] we will attempt to fix critical issues»
+ $info->{ $versions[-2] }{versum} //= "active core support";
+ $info->{ $versions[-1] }{versum} //= "latest stable release";
+
+ # perlpolicy: «we will attempt to fix critical issues in the two most
+ # recent stable 5.x release series»
my $coreeol = ($now - ONE_YEAR * 3)->strftime('%F');
my $coreeol = ($now - ONE_YEAR * 3)->strftime('%F');
- my $vcore = first { $info->{$_}{release} ge $coreeol }
sort keys %{$info}
;
+ my $vcore = first { $info->{$_}{release} ge $coreeol }
@versions
;
print "<p>Core security support is provided for 3 years";
print ", so typical users should run at least ", linkversion($_)
for $vcore // ();
say '.';
print "<p>Core security support is provided for 3 years";
print ", so typical users should run at least ", linkversion($_)
for $vcore // ();
say '.';
+ $info->{$vcore}{versum} //= "official security patches";
+ # «We encourage vendors to ship the most recent supported release of Perl
+ # at the time of their code freeze» with debian&ubuntu having 5 years LTS
my $vendoreol = ($now - ONE_YEAR * 5)->strftime('%F');
my $vdebian = first {
$info->{$_}{release} ge $vendoreol && $info->{$_}{distro}{debian}
my $vendoreol = ($now - ONE_YEAR * 5)->strftime('%F');
my $vdebian = first {
$info->{$_}{release} ge $vendoreol && $info->{$_}{distro}{debian}
- }
sort keys %{$info}
;
+ }
@versions
;
say sprintf "Stable distributions such as Debian %s maintain %s+.",
$info->{$_}{distro}{debian}, linkversion($_) for $vdebian // ();
say sprintf "Stable distributions such as Debian %s maintain %s+.",
$info->{$_}{distro}{debian}, linkversion($_) for $vdebian // ();
+ $info->{$vdebian}{versum} //= "still maintained by common vendors";
+ # extended support given at random
my $nowcmp = $now->strftime('%F');
my $nowcmp = $now->strftime('%F');
- my $vdino = first { $info->{$_}{support} ge $nowcmp }
sort keys %{$info}
;
+ my $vdino = first { $info->{$_}{support} ge $nowcmp }
@versions
;
say "Enterprise platforms retain versions up to $_."
for map { linkversion($_) } $vdino // ();
return 1;
say "Enterprise platforms retain versions up to $_."
for map { linkversion($_) } $vdino // ();
return 1;
@@
-62,7
+75,9
@@
for my $vernum (reverse sort keys %{$info}) {
defined $verrow->{unstable} and next unless exists $get{v};
say sprintf '<div class="section" id="%s">', vname($vernum);
defined $verrow->{unstable} and next unless exists $get{v};
say sprintf '<div class="section" id="%s">', vname($vernum);
- say sprintf '<h2>%vd <small>%s</small></h2>', $vernum, $verrow->{release};
+ my $title = $verrow->{release} // '?';
+ $title .= ": $_" for $verrow->{versum} // ();
+ say sprintf '<h2>%vd <small>%s</small></h2>', $vernum, $title;
say '<dl>';
for (@{ $verrow->{new} }) {
my ($topic, $desc, $attr) = @{$_};
say '<dl>';
for (@{ $verrow->{new} }) {
my ($topic, $desc, $attr) = @{$_};