Thread (18 messages) flat view 18 messages, 6 authors, 2016-06-15

Re: Oldest supported Perl version

From: H.Merijn Brand <hidden>
Date: 2016-06-15 22:46:37

On Mon, 20 Apr 2009 10:59:00 -0400, Jay Soffian [off-list ref]
wrote:
On Sun, Apr 19, 2009 at 9:58 PM, Junio C Hamano [off-list ref] wrote:
quoted
Sorry, I should have checked myself.  defined-or "//" is 5.8.1 or later.
Being the maintainer of the defined-or patch for perl 5.8, I can
short-circuit this

* defined-or (//) is officially available from perl-5.10.0 and up
  you can be *sure* to have it there. the 'err' keyword that was the
  low-precedence version for // is gone.

* defined-or is available in any version of perl 5.8.x is the binary
  was built with the appropriate patch, which is available on my CPAN
  directory:
  ftp://download.xs4all.nl/pub/mirror/CPAN/authors/id/H/HM/HMBRAND/
  These patches still include the 'err' keyword

* defined-or is definitely NOT available in 5.6.x

All my perl-5.8.x builds include this patch, so all people that use my
perl builds on HP-UX, will have it available.

One major distribution also included it in their perl builds, but I do
not remember which it is.

My personal preference for the lowest usable and reliable perl version
is 5.8.5 (FWIW)
quoted
Now the real question was if we still support anything older, and if so
what is the bottom version?

I certainly can go with "5.8.1 or later", but I vaguely recall during the
gitweb discussion we said anything without the utf-8 support is unusable
for gitweb, but I think we also said that the rest of the git codebase
should support running with something older (5.6.1, perhaps).
15 minutes of research:

* 2006-06-25 Junio C Hamano: "Tentatively let's say our cut-off point is
  somewhere around 5.6." --
  http://article.gmane.org/gmane.comp.version-control.git/22607

* 2008-05-30 Lea Wiemann: "Gitweb relies on Unicode support (e.g. "use
  Encode") and will continue to be compatible with 5.8 and 5.10 only" --
  http://article.gmane.org/gmane.comp.version-control.git/83339

* 2008-08-13 Lea Wiemann: "This makes Git.pm dependent on Perl 5.6.1. Some
  tests (like t3701-add-interactive.sh) seem to work with pretty much any Perl
  version out there, and requiring File::Spec changes this" --
  http://article.gmane.org/gmane.comp.version-control.git/92260

* 2008-08-15 Marcus Griep: "Git.pm: Make File::Spec and File::Temp requirement
  lazy" -- c14c8ce

* 2008-08-30 Junio C Hamano: "I agree we should say we rely on 5.6 or newer."
  -- http://article.gmane.org/gmane.comp.version-control.git/94399

* 2008-09-01 Junio C Hamano: "I personally think it is probably Ok to declare
  that we do depend on 5.8" --
  http://article.gmane.org/gmane.comp.version-control.git/94523


So here's my take-away. For the *.perl scripts and gitweb, it's 5.8.0. For the
test suite and Git.pm, all Perl versions are theoretically supported, but for
practical purposes, it may be 5.6.0.

Whatever is decided this time, perhaps it should be burned into the tops of
the *.perl scripts (i.e. "require 5.008;"). It should also be added to
CodingGuidelines. You know, so this conversation doesn't keep recurring. :-)
-- 
H.Merijn Brand  http://tux.nl      Perl Monger  http://amsterdam.pm.org/
using & porting perl 5.6.2, 5.8.x, 5.10.x, 5.11.x on HP-UX 10.20, 11.00,
11.11, 11.23, and 11.31, OpenSuSE 10.3, 11.0, and 11.1, AIX 5.2 and 5.3.
http://mirrors.develooper.com/hpux/           http://www.test-smoke.org/
http://qa.perl.org      http://www.goldmark.org/jeff/stupid-disclaimers/
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help