Oldest supported Perl version

18 messages, 6 authors, 2016-06-15 · open the first message on its own page

Oldest supported Perl version

From: Jay Soffian <hidden>
Date: 2016-06-15 22:46:37

On Sun, Apr 19, 2009 at 9:58 PM, Junio C Hamano [off-list ref] wrote:
Sorry, I should have checked myself.  defined-or "//" is 5.8.1 or later.

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. :-)

j.

Re: [PATCH RFC3.5 04/12] send-email: Verification for --smtp-server and --smpt-server-port

From: Michael Witten <hidden>
Date: 2016-06-15 22:46:37

On Mon, Apr 20, 2009 at 09:59, 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.
From what I've read:
	http://perldoc.perl.org/perl581delta.html#Future-Directions

The defined-OR only exists for 5.8.1 in patch form, and it's only directly
supported in 5.10.0:

	http://perldoc.perl.org/perldelta.html#Defined-or-operator

:-(

Oldest supported Perl version

From: Michael Witten <hidden>
Date: 2016-06-15 22:46:37

====> Sorry for the repeat; I think I'll go install an MUA now.

On Mon, Apr 20, 2009 at 09:59, 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.
From what I've read:
	http://perldoc.perl.org/perl581delta.html#Future-Directions

The defined-OR only exists for 5.8.1 in patch form, and it's only directly
supported in 5.10.0:

	http://perldoc.perl.org/perldelta.html#Defined-or-operator

:-(

Re: Oldest supported Perl version

From: Jay Soffian <hidden>
Date: 2016-06-15 22:46:37

On Mon, Apr 20, 2009 at 11:43 AM, Michael Witten [off-list ref] wrote:
====> Sorry for the repeat; I think I'll go install an MUA now.

On Mon, Apr 20, 2009 at 09:59, Jay Soffian [off-list ref] wrote:
quoted
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.
From what I've read:

       http://perldoc.perl.org/perl581delta.html#Future-Directions

The defined-OR only exists for 5.8.1 in patch form, and it's only directly
supported in 5.10.0:

       http://perldoc.perl.org/perldelta.html#Defined-or-operator

:-(
I started this new thread to address Junio's question about the oldest
supported Perl version, so that tidbit isn't really relevant and I
should've trimmed it from the new thread. Nonetheless, thank you for
the correction again again, and enjoy your new MUA. :-)

j.

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/

Re: Oldest supported Perl version

From: Johannes Schindelin <hidden>
Date: 2016-06-15 22:46:37

Hi,

On Mon, 20 Apr 2009, H.Merijn Brand wrote:
* 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
Do you realize how much _pain_ you cause here?  I just do not have the 
_time_ to recompile Perl 5.8 for msysGit!

Bah,
Dscho "who thinks that a lot of people would not introduce dependencies 
so lightly if they actually felt the pain they cause"

Re: Oldest supported Perl version

From: Jakub Narebski <hidden>
Date: 2016-06-15 22:46:37

Jay Soffian [off-list ref] writes:
On Sun, Apr 19, 2009 at 9:58 PM, Junio C Hamano [off-list ref] wrote:
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).
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.
Errr... no.  For gitweb we require good Unicode support, which means
Perl 5.8.x (IIRC 5.8.1).  For all other: commands (and helpers)
written in Perl like git-svn, fragments of Perl in test suite (because
of incompatibility and corner cases of shell scripting) - with possible
exception of testing gitweb, and Git.pm (which some commands in Perl
use) I think it is reasonable to expect 5.6.0 at least.
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. :-)

j.
-- 
Jakub Narebski
Poland
ShadeHawk on #git

Re: Oldest supported Perl version

From: Jay Soffian <hidden>
Date: 2016-06-15 22:46:37

On Mon, Apr 20, 2009 at 1:59 PM, Jakub Narebski [off-list ref] wrote:
Jay Soffian [off-list ref] writes:
quoted
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.
Errr... no.  For gitweb we require good Unicode support, which means
Perl 5.8.x (IIRC 5.8.1).  For all other: commands (and helpers)
written in Perl like git-svn, fragments of Perl in test suite (because
of incompatibility and corner cases of shell scripting) - with possible
exception of testing gitweb, and Git.pm (which some commands in Perl
use) I think it is reasonable to expect 5.6.0 at least.
Um, isn't that basically exactly what I said? The only difference is
you're clarifying gitweb to be 5.8.1 instead of 5.8.0. Fine. that's
why this went to the git list.

j.

Re: Oldest supported Perl version

From: Jay Soffian <hidden>
Date: 2016-06-15 22:46:37

On Mon, Apr 20, 2009 at 2:27 PM, Jay Soffian [off-list ref] wrote:
Um, isn't that basically exactly what I said? The only difference is
you're clarifying gitweb to be 5.8.1 instead of 5.8.0. Fine. that's
why this went to the git list.
Oh sorry, I see we differ on the *.perl scripts. You're saying 5.6 for
those. I was suggesting 5.8 for the *.perl scripts based on:

http://article.gmane.org/gmane.comp.version-control.git/94523

Anyway, I see that there are basically a few categories to decide on:

1) gitweb
2) the *.perl scripts
3) Git.pm
4) the parts of the test suite that use perl

I think there is consensus that (1) is 5.8.1 for unicode reasons. (3)
and (4), for all practical purposes, are apparently 5.6.0. So that
leaves (2), which is either 5.6.0 or 5.8.1 depending upon which gmane
thread you consult.

j.

Re: Oldest supported Perl version

From: Michael Witten <hidden>
Date: 2016-06-15 22:46:37

On Mon, Apr 20, 2009 at 13:32, Jay Soffian [off-list ref] wrote:
Anyway, I see that there are basically a few categories to decide on:

1) gitweb
2) the *.perl scripts
3) Git.pm
4) the parts of the test suite that use perl

I think there is consensus that (1) is 5.8.1 for unicode reasons. (3)
and (4), for all practical purposes, are apparently 5.6.0. So that
leaves (2), which is either 5.6.0 or 5.8.1 depending upon which gmane
thread you consult.
It looks like 5.6.0 was released a DECADE ago. Drop it.

My advice is to take the advice of Perl hacker H.Merijn Brand:
My personal preference for the lowest usable and reliable perl version
is 5.8.5 (FWIW)

Re: Oldest supported Perl version

From: Johannes Schindelin <hidden>
Date: 2016-06-15 22:46:37

Hi,

On Mon, 20 Apr 2009, Michael Witten wrote:
It looks like 5.6.0 was released a DECADE ago. Drop it.
What part of "causing others a lot of pain" did you not understand, 
exactly?

Ciao,
Dscho

Re: Oldest supported Perl version

From: Michael Witten <hidden>
Date: 2016-06-15 22:46:37

On Mon, Apr 20, 2009 at 14:11, Johannes Schindelin
[off-list ref] wrote:
Hi,

On Mon, 20 Apr 2009, Michael Witten wrote:
quoted
It looks like 5.6.0 was released a DECADE ago. Drop it.
What part of "causing others a lot of pain" did you not understand,
exactly?
I'd say: Take your own advice.

It's very likely that requiring compatibility with a DECADE old perl
is going to cause others a lot of pain.

At some point, backward compatibility is just stupid; it's meant for TRANSITION.

Re: Oldest supported Perl version

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

On Mon, 20 Apr 2009 19:29:03 +0200 (CEST), Johannes Schindelin
[off-list ref] wrote:
Hi,

On Mon, 20 Apr 2009, H.Merijn Brand wrote:
quoted
* 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
Do you realize how much _pain_ you cause here?
Me? Why?
I just couldn't line *without* defined-or after I first encountered it,
so I backported it to 5.8.x (after some patch from someone else) and
people thought it would be a good idea to semi-officially allow it to
be available for all.

Officially, defined-or is *NOT* available in perl-5.8.x. End of story.

*ALL* my production code expects defined-or to be available.
I just do not have the _time_ to recompile Perl 5.8 for msysGit!
Sorry, I can't help you there
Bah,
Dscho "who thinks that a lot of people would not introduce dependencies 
so lightly if they actually felt the pain they cause"
-- 
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/

Re: Oldest supported Perl version

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

On Mon, 20 Apr 2009 10:59:14 -0700 (PDT), Jakub Narebski
[off-list ref] wrote:
Jay Soffian [off-list ref] writes:
quoted
On Sun, Apr 19, 2009 at 9:58 PM, Junio C Hamano [off-list ref] wrote:
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).
quoted
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.
Errr... no.  For gitweb we require good Unicode support, which means
Perl 5.8.x (IIRC 5.8.1).  For all other: commands (and helpers)
Unicode? 5.8.4 or up. Most desirable 5.8.5
5.8.1 is the worst distribution ever.

ask purl on irc :
 <Tux> purl, perl-5.8.1?
<purl> i guess perl-5.8.1 is made from blood, sweat, tears, coffee and single malt
written in Perl like git-svn, fragments of Perl in test suite (because
of incompatibility and corner cases of shell scripting) - with possible
exception of testing gitweb, and Git.pm (which some commands in Perl
use) I think it is reasonable to expect 5.6.0 at least.
5.6.1 or 5.8.5
quoted
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/

Re: Oldest supported Perl version

From: Michael Witten <hidden>
Date: 2016-06-15 22:46:38

On Mon, Apr 20, 2009 at 16:10, H.Merijn Brand [off-list ref] wrote:
5.8.1 is the worst distribution ever.
But then you endorse 5.6.1?

Re: Oldest supported Perl version

From: Michael Witten <hidden>
Date: 2016-06-15 22:46:38

On Mon, Apr 20, 2009 at 17:38, Michael Witten [off-list ref] wrote:
On Mon, Apr 20, 2009 at 16:10, H.Merijn Brand [off-list ref] wrote:
quoted
5.8.1 is the worst distribution ever.
But then you endorse 5.6.1?
That is:

But then you endorse 5.6.1 if 5.8.5 is not chosen.

Re: Oldest supported Perl version

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

On Mon, 20 Apr 2009 17:39:34 -0500, Michael Witten [off-list ref]
wrote:
On Mon, Apr 20, 2009 at 17:38, Michael Witten [off-list ref] wrote:
quoted
On Mon, Apr 20, 2009 at 16:10, H.Merijn Brand [off-list ref] wrote:
quoted
5.8.1 is the worst distribution ever.
But then you endorse 5.6.1?
That is:

But then you endorse 5.6.1 if 5.8.5 is not chosen.
5.6.1 and 5.6.2 are fine for non-Unicode environments.

When using Unicode (utf-8) and/or 64bit, I'd strongly advise not to go
below 5.8.5

-- 
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/

Re: Oldest supported Perl version

From: Jeff King <hidden>
Date: 2016-06-15 22:46:38

On Mon, Apr 20, 2009 at 10:59:00AM -0400, Jay Soffian wrote:
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. :-)
I have no real comment on _which_ version, but yes, I think a 'require'
for the right version would be very helpful. The error messages you get
when running on a too-old version can be confusing, at best. Saying "you
need a newer perl" would be much nicer.

-Peff
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help