{"thread":{"id":"25222","subject":"Let's bump the minimum Perl version to 5.8","startedAt":"2010-09-24T12:56:31Z","lastAt":"2010-09-27T07:59:59Z","messageCount":18,"participants":["Ævar Arnfjörð Bjarmason","Tor Arntsen","Randal L. Schwartz","Andreas Ericsson","Pascal Obry","Brian Gernhardt","Joshua Juran","Tom G. Christensen"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"151473","messageId":"AANLkTikp0mkFHYCdgqThfoFr3VkVECDmW6qE3+DSSHaq@mail.gmail.com","threadId":"25222","inReplyTo":null,"subject":"Let's bump the minimum Perl version to 5.8","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2010-09-24T12:56:31Z","receivedAt":"2010-09-24T12:56:31Z","isPatch":false,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"On Fri, Sep 24, 2010 at 11:22, Tor Arntsen <tor@spacetec.no> wrote:\n> On Fri, Sep 24, 2010 at 13:05, Ævar Arnfjörð Bjarmason <avarab@gmail.com> wrote:\n>> On Fri, Sep 24, 2010 at 10:27, Tor Arntsen <tor@spacetec.no> wrote:\n> [..]\n>>> I've found that for add -p you'll need 5.8.x or newer, due to stuff like\n>>>\n>>>                my $fh = undef;\n>>>                open($fh, '-|', @_) or die;\n>>>\n>>> which fails in e.g. perl 5.6.\n>>> There could be some other stuff (in addition to add -p) that also does\n>>> this kind of thing.\n>>\n>> If that's the case (I don't have a 5.6 here to do archeology on) then\n>> git add -p never worked in 5.6. That was added in 5cde71d6 when it was\n>> introduced in 2006:\n>>\n>>    +sub run_cmd_pipe {\n>>    +       my $fh = undef;\n>>    +       open($fh, '-|', @_) or die;\n>>    +       return <$fh>;\n>>    +}\n>>\n>> Can you show us the specific error you're getting, and the output of\n>> your `perl -V` ?\n>\n> I don't have that particular installation anymore (I installed perl\n> 5.8 on the machine I had trouble with), and the only other system I\n> have left with perl 5.6 only has an old Git 1.5 version. But it's easy\n> enough to reproduce, Perl 5.6 simply doesn't support that notation.\n> Put the code above in a perl script and execute it:\n>\n> Can't use an undefined value as filehandle reference at test-pl.pl line 5.\n> (that's the 'open' line)\n>\n> I can provide the output of -V if you wish, but I don't think it\n> matters really, except for the version:\n\nIt matters because you keep saying \"5.6\", which is ambiguous since the\nsyntax in question was introduced in 5.6.1. The error you may be\nhaving on 5.6.0 is very different from 5.6.1, and 5.6.2 has additional\nbugfixes:\n\n    http://search.cpan.org/~jesse/perl-5.12.2/pod/perl561delta.pod#open()_with_more_than_two_arguments\n\nAnyway, I compiled maint-5.6 from perl.git and confirmed this:\n\n    $ /home/avar/perl5/installed/bin/perl5.6.2 -Mdiagnostics -le\n'print $]; sub run_cmd_pipe { my $fh = undef; open($fh, \"-|\", @_) or\ndie;  return <$fh>; } print run_cmd_pipe(qw(git --help));'\n    5.006002\n    Can't use an undefined value as filehandle reference at -e line 1 (#1)\n        (F) A value used as either a hard reference or a symbolic reference must\n        be a defined value.  This helps to delurk some insidious errors.\n\n    Uncaught exception from user code:\n            Can't use an undefined value as filehandle reference at -e line 1.\n            main::run_cmd_pipe('git', '--help') called at -e line 1\n\nAs compared to a more recent perl:\n\n    $ perl -Mdiagnostics -le 'print $]; sub run_cmd_pipe { my $fh =\nundef; open($fh, \"-|\", @_) or die;  return <$fh>; } print\nrun_cmd_pipe(qw(git --help));'\n    5.013004\n    usage: git [--version] [--exec-path[=GIT_EXEC_PATH]] [--html-path]\n    [...]\n\nAnd to reply to Alex Riesen I can't get this to work with `my $fh`\n(which would be undef too) or glob open either. Although it should be\npossible with other types of pipe open, or even using temporary files.\n\n    $ /home/avar/perl5/installed/bin/perl5.6.2 -Mdiagnostics -le\n'print $]; sub run_cmd_pipe { local *TMP; open(TMP, \"-|\", @_) or die;\nreturn <TMP>; } print run_cmd_pipe(qw(git --help));'\n    5.006002\n    Can't use an undefined value as filehandle reference at -e line 1 (#1)\n        (F) A value used as either a hard reference or a symbolic reference must\n        be a defined value.  This helps to delurk some insidious errors.\n\n    Uncaught exception from user code:\n            Can't use an undefined value as filehandle reference at -e line 1.\n            main::run_cmd_pipe('git', '--help') called at -e line 1\n\nHowever, I'd like to shift the discussion a bit: Do we want to support\nthe 5.6 line *at all* anymore? I don't think so. As you point out\nyourself you can just compile 5.8 or later on these machines.\n\nI just tried running our test suite with maint-5.6 after compiling with:\n\n    NO_PERL_MAKEMAKER=1\nPERL_PATH=/home/avar/perl5/installed/bin/perl5.6.2\nprefix=/opt/git/perl-56 all install\n\nNO_PERL_MAKEMAKER=1 is needed because the ExtUtils::MakeMaker that\ncomes with 5.6.2 doesn't know how to move perl/private-Error.pm to\nperl/blib/*/Error.pm. So if you don't provide it you'll get:\n\n    $ /opt/git/perl-56/bin/git add -p\n    Can't locate Error.pm\n\nThat would also break e.g. git-send-email.\n\nHere are the test results *without* NO_PERL_MAKEMAKER=1, for\nreference:\n\n    Test Summary Report\n    -------------------\n    t2016-checkout-patch.sh                          (Wstat: 256\nTests: 14 Failed: 12)\n      Failed tests:  2-13\n      Non-zero exit status: 1\n    t3701-add-interactive.sh                         (Wstat: 256\nTests: 33 Failed: 17)\n      Failed tests:  2, 4-5, 7, 9-10, 13, 16, 18, 21-25, 29\n                    31, 33\n      Non-zero exit status: 1\n    t3904-stash-patch.sh                             (Wstat: 256\nTests: 5 Failed: 2)\n      Failed tests:  3-4\n      Non-zero exit status: 1\n    t7105-reset-patch.sh                             (Wstat: 256\nTests: 8 Failed: 6)\n      Failed tests:  2-7\n      Non-zero exit status: 1\n    t7501-commit.sh                                  (Wstat: 256\nTests: 42 Failed: 1)\n      Failed test:  21\n      Non-zero exit status: 1\n    t7800-difftool.sh                                (Wstat: 256\nTests: 22 Failed: 21)\n      Failed tests:  2-22\n      Non-zero exit status: 1\n    t9700-perl-git.sh                                (Wstat: 256\nTests: 2 Failed: 1)\n      Failed test:  2\n      Non-zero exit status: 1\n      Parse errors: No plan found in TAP output\n    t9001-send-email.sh                              (Wstat: 256\nTests: 85 Failed: 59)\n      Failed tests:  4-7, 9-10, 12-13, 15, 17-20, 22, 24, 26\n                    28-30, 32, 34, 36, 38, 40, 42, 44, 46, 48-55\n                    58-77, 80-82, 85\n      Non-zero exit status: 1\n\nAnd with NO_PERL_MAKEMAKER=1:\n\n    Test Summary Report\n    -------------------\n    t2016-checkout-patch.sh                          (Wstat: 256\nTests: 14 Failed: 12)\n      Failed tests:  2-13\n      Non-zero exit status: 1\n    t3904-stash-patch.sh                             (Wstat: 256\nTests: 5 Failed: 2)\n      Failed tests:  3-4\n      Non-zero exit status: 1\n    t3701-add-interactive.sh                         (Wstat: 256\nTests: 33 Failed: 17)\n      Failed tests:  2, 4-5, 7, 9-10, 13, 16, 18, 21-25, 29\n                    31, 33\n      Non-zero exit status: 1\n    t7105-reset-patch.sh                             (Wstat: 256\nTests: 8 Failed: 6)\n      Failed tests:  2-7\n      Non-zero exit status: 1\n    t7501-commit.sh                                  (Wstat: 256\nTests: 42 Failed: 1)\n      Failed test:  21\n      Non-zero exit status: 1\n    t9700-perl-git.sh                                (Wstat: 256\nTests: 14 Failed: 0)\n      Non-zero exit status: 1\n      Parse errors: No plan found in TAP output\n\nAll but the last error are due to this bug in\ngit-add--interactive.perl. I didn't track down what was wrong with\nt9700-perl-git.sh.\n\ngit-svn would have failed too if I had SVN libraries:\n\n    $ /opt/git/perl-56/bin/git svn\n    Can't locate Digest/MD5.pm in @INC [...]\n\nGetting a working Digest::* (and anything else git-svn needs) for 5.6\nat this point is a *lot* harder than just compiling 5.8 (or even\nbetter, 5.12).\n\nSince we're not getting patches for common things that have been\nbroken on 5.6 for years and bumping the requirenment to an 8 year old\nperl (5.8) instead of a 10 year old one (5.6) would make things much\neasier, including:\n\n * Fixing the perl/ Makefile mess\n\n * Being able to use 5.8 features\n\n * Being able to honestly support the 5.8 release, 5.6 doesn't even\n   compile on modern systems without undocumented monkeypatches, and\n   few people use it so we don't get fixes for it.\n\nI'd like to propose dropping 5.6 support, and move to say 5.008. I can\ndo the work required to add appropriate docs / use statements and\nfixes to bugs that we can't fix on 5.6.\n"},{"id":"151475","messageId":"AANLkTinRcGa3r_=D87G-4-qqdsFL9CKnawD=DCnRQ+7v@mail.gmail.com","threadId":"25222","inReplyTo":"AANLkTikp0mkFHYCdgqThfoFr3VkVECDmW6qE3+DSSHaq@mail.gmail.com","subject":"Re: Let's bump the minimum Perl version to 5.8","fromName":"Tor Arntsen","fromEmail":"tor@spacetec.no","sentAt":"2010-09-24T13:08:50Z","receivedAt":"2010-09-24T13:08:50Z","isPatch":false,"sender":{"key":"tor@spacetec.no","avatar":null},"body":"On Fri, Sep 24, 2010 at 14:56, Ævar Arnfjörð Bjarmason <avarab@gmail.com> wrote:\n\n> However, I'd like to shift the discussion a bit: Do we want to support\n> the 5.6 line *at all* anymore? I don't think so. As you point out\n> yourself you can just compile 5.8 or later on these machines.\n\n5.8 as minimum is probably for the best. It's not that just you can\ncompile a newer version (5.8), more importantly, Perl 5.8 is available\nas a package from those semi-official 3party repositories for most\nsystems (at least the *nix systems I have access to), except for those\nlike Irix 6.2 where it's hopeless anyway (perl 5.0). But I only have\naccess to irix/aix/solaris/tru64 in addition to Linux.\n\n-Tor\n"},{"id":"151476","messageId":"AANLkTim8aPoOkzzf4c0JHbBDVa4zJY2xM3v9fXQ-px=V@mail.gmail.com","threadId":"25222","inReplyTo":"AANLkTinRcGa3r_=D87G-4-qqdsFL9CKnawD=DCnRQ+7v@mail.gmail.com","subject":"Re: Let's bump the minimum Perl version to 5.8","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2010-09-24T13:32:49Z","receivedAt":"2010-09-24T13:32:49Z","isPatch":false,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"On Fri, Sep 24, 2010 at 13:08, Tor Arntsen <tor@spacetec.no> wrote:\n> On Fri, Sep 24, 2010 at 14:56, Ævar Arnfjörð Bjarmason <avarab@gmail.com> wrote:\n>\n>> However, I'd like to shift the discussion a bit: Do we want to support\n>> the 5.6 line *at all* anymore? I don't think so. As you point out\n>> yourself you can just compile 5.8 or later on these machines.\n>\n> 5.8 as minimum is probably for the best. It's not that just you can\n> compile a newer version (5.8), more importantly, Perl 5.8 is available\n> as a package from those semi-official 3party repositories for most\n> systems (at least the *nix systems I have access to)\n\nDo those repositories also have 5.10 and 5.12?\n\n> except for those like Irix 6.2 where it's hopeless anyway (perl\n> 5.0). But I only have access to irix/aix/solaris/tru64 in addition\n> to Linux.\n\nHrm, 6.2 is old, but 5.12 is known to compile on 6.5 at least. What\nare the issues with 6.2? Perhaps they could be solved if someone with\nsuch a machine contributed a smoker for the perl core.\n\nPerl is very portable with people willing to port it, the main\nlimitation is usually that porters don't have access to obscure\nsystems, not that there isn't interest.\n"},{"id":"151478","messageId":"86pqw3uuba.fsf@red.stonehenge.com","threadId":"25222","inReplyTo":"AANLkTikp0mkFHYCdgqThfoFr3VkVECDmW6qE3+DSSHaq@mail.gmail.com","subject":"Re: Let's bump the minimum Perl version to 5.8","fromName":"Randal L. Schwartz","fromEmail":"merlyn@stonehenge.com","sentAt":"2010-09-24T13:47:53Z","receivedAt":"2010-09-24T13:47:53Z","isPatch":false,"sender":{"key":"merlyn@stonehenge.com","avatar":"https://gravatar.com/avatar/dc528d210743ff0333e6213f9ee7b33b23f1b7bc1f3c5a8c2d819074ecd7ab19?d=mp&s=160"},"body":">>>>> \"Ævar\" == Ævar Arnfjörð Bjarmason <avarab@gmail.com> writes:\n\nÆvar> Since we're not getting patches for common things that have been\nÆvar> broken on 5.6 for years and bumping the requirenment to an 8 year old\nÆvar> perl (5.8) instead of a 10 year old one (5.6) would make things much\nÆvar> easier, including:\n\nÆvar>  * Fixing the perl/ Makefile mess\n\nÆvar>  * Being able to use 5.8 features\n\nÆvar>  * Being able to honestly support the 5.8 release, 5.6 doesn't even\nÆvar>    compile on modern systems without undocumented monkeypatches, and\nÆvar>    few people use it so we don't get fixes for it.\n\nÆvar> I'd like to propose dropping 5.6 support, and move to say 5.008. I can\nÆvar> do the work required to add appropriate docs / use statements and\nÆvar> fixes to bugs that we can't fix on 5.6.\n\nAs the token resident Perl expert, I'd be completely fine with that.\nSane choice.\n\nIt might be useful to document that by adding:\n\n  require 5.008;\n\nat the beginning of each file that presumes it, as you get around to\nediting it.\n\nThat way, Perl won't even try to run it if it's too old.\n\n-- \nRandal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095\n<merlyn@stonehenge.com> <URL:http://www.stonehenge.com/merlyn/>\nSmalltalk/Perl/Unix consulting, Technical writing, Comedy, etc. etc.\nSee http://methodsandmessages.vox.com/ for Smalltalk and Seaside discussion\n"},{"id":"151479","messageId":"4C9CAEB7.1030606@op5.se","threadId":"25222","inReplyTo":"AANLkTim8aPoOkzzf4c0JHbBDVa4zJY2xM3v9fXQ-px=V@mail.gmail.com","subject":"Re: Let's bump the minimum Perl version to 5.8","fromName":"Andreas Ericsson","fromEmail":"ae@op5.se","sentAt":"2010-09-24T13:59:19Z","receivedAt":"2010-09-24T13:59:19Z","isPatch":false,"sender":{"key":"ae@op5.se","avatar":"https://gravatar.com/avatar/426e89595c75a8f5252dd0c989e5fabe5bcac616e68557427ad9aef6b0ca342a?d=mp&s=160"},"body":"On 09/24/2010 03:32 PM, Ævar Arnfjörð Bjarmason wrote:\n> On Fri, Sep 24, 2010 at 13:08, Tor Arntsen<tor@spacetec.no>  wrote:\n>> On Fri, Sep 24, 2010 at 14:56, Ævar Arnfjörð Bjarmason<avarab@gmail.com>  wrote:\n>>\n>>> However, I'd like to shift the discussion a bit: Do we want to support\n>>> the 5.6 line *at all* anymore? I don't think so. As you point out\n>>> yourself you can just compile 5.8 or later on these machines.\n>>\n>> 5.8 as minimum is probably for the best. It's not that just you can\n>> compile a newer version (5.8), more importantly, Perl 5.8 is available\n>> as a package from those semi-official 3party repositories for most\n>> systems (at least the *nix systems I have access to)\n> \n> Do those repositories also have 5.10 and 5.12?\n> \n\nFedora 13 ships with Perl 5.10.0. IIRC, Fedora 12 (or possibly 11)\nshipped with Perl 5.8. Let's not ask for more angry users than we\ncan handle. Since the current code seems to work fine with 5.8 and\nlater, I think that's a safe minimum to require for full git\nfunctionality. Especially considering it was 3 years since we\ndecided on 5.6, which was by then 7 years old.\n\n-- \nAndreas Ericsson                   andreas.ericsson@op5.se\nOP5 AB                             www.op5.se\nTel: +46 8-230225                  Fax: +46 8-230231\n\nConsidering the successes of the wars on alcohol, poverty, drugs and\nterror, I think we should give some serious thought to declaring war\non peace.\n"},{"id":"151480","messageId":"AANLkTikLYjKHyYOqiubygOD6nWO-FUS38dLALnx3iJ_8@mail.gmail.com","threadId":"25222","inReplyTo":"86pqw3uuba.fsf@red.stonehenge.com","subject":"Re: Let's bump the minimum Perl version to 5.8","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2010-09-24T14:04:08Z","receivedAt":"2010-09-24T14:04:08Z","isPatch":false,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"On Fri, Sep 24, 2010 at 13:47, Randal L. Schwartz <merlyn@stonehenge.com> wrote:\n>>>>>> \"Ævar\" == Ævar Arnfjörð Bjarmason <avarab@gmail.com> writes:\n>\n> Ævar> Since we're not getting patches for common things that have been\n> Ævar> broken on 5.6 for years and bumping the requirenment to an 8 year old\n> Ævar> perl (5.8) instead of a 10 year old one (5.6) would make things much\n> Ævar> easier, including:\n>\n> Ævar>  * Fixing the perl/ Makefile mess\n>\n> Ævar>  * Being able to use 5.8 features\n>\n> Ævar>  * Being able to honestly support the 5.8 release, 5.6 doesn't even\n> Ævar>    compile on modern systems without undocumented monkeypatches, and\n> Ævar>    few people use it so we don't get fixes for it.\n>\n> Ævar> I'd like to propose dropping 5.6 support, and move to say 5.008. I can\n> Ævar> do the work required to add appropriate docs / use statements and\n> Ævar> fixes to bugs that we can't fix on 5.6.\n>\n> As the token resident Perl expert, I'd be completely fine with that.\n> Sane choice.\n>\n> It might be useful to document that by adding:\n>\n>  require 5.008;\n\nRight, except that should be `use 5.008`. Since you don't want to run\nanything else within an implicit or explicit BEGIN block before perl\nfails on that. E.g. `require 5.008; use Digest::MD5;` would just spew\nan error about Digest::MD5.\n\nThe only reason you'd want `require $version' is if you care about\n5.005, but even then you can do `BEGIN { require 5.008 }`.\n"},{"id":"151482","messageId":"86lj6rutez.fsf@red.stonehenge.com","threadId":"25222","inReplyTo":"AANLkTikLYjKHyYOqiubygOD6nWO-FUS38dLALnx3iJ_8@mail.gmail.com","subject":"Re: Let's bump the minimum Perl version to 5.8","fromName":"Randal L. Schwartz","fromEmail":"merlyn@stonehenge.com","sentAt":"2010-09-24T14:07:16Z","receivedAt":"2010-09-24T14:07:16Z","isPatch":false,"sender":{"key":"merlyn@stonehenge.com","avatar":"https://gravatar.com/avatar/dc528d210743ff0333e6213f9ee7b33b23f1b7bc1f3c5a8c2d819074ecd7ab19?d=mp&s=160"},"body":">>>>> \"Ævar\" == Ævar Arnfjörð Bjarmason <avarab@gmail.com> writes:\n\nÆvar> Right, except that should be `use 5.008`. Since you don't want to run\nÆvar> anything else within an implicit or explicit BEGIN block before perl\nÆvar> fails on that. E.g. `require 5.008; use Digest::MD5;` would just spew\nÆvar> an error about Digest::MD5.\n\nFairy 'nuff.\n\n-- \nRandal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095\n<merlyn@stonehenge.com> <URL:http://www.stonehenge.com/merlyn/>\nSmalltalk/Perl/Unix consulting, Technical writing, Comedy, etc. etc.\nSee http://methodsandmessages.vox.com/ for Smalltalk and Seaside discussion\n"},{"id":"151481","messageId":"AANLkTimNGZom6FfKivg=QNmovz=xf656XHbXCmsjfrxD@mail.gmail.com","threadId":"25222","inReplyTo":"AANLkTim8aPoOkzzf4c0JHbBDVa4zJY2xM3v9fXQ-px=V@mail.gmail.com","subject":"Re: Let's bump the minimum Perl version to 5.8","fromName":"Tor Arntsen","fromEmail":"tor@spacetec.no","sentAt":"2010-09-24T14:08:36Z","receivedAt":"2010-09-24T14:08:36Z","isPatch":false,"sender":{"key":"tor@spacetec.no","avatar":null},"body":"On Fri, Sep 24, 2010 at 15:32, Ævar Arnfjörð Bjarmason <avarab@gmail.com> wrote:\n> On Fri, Sep 24, 2010 at 13:08, Tor Arntsen <tor@spacetec.no> wrote:\n>> On Fri, Sep 24, 2010 at 14:56, Ævar Arnfjörð Bjarmason <avarab@gmail.com> wrote:\n>>\n>>> However, I'd like to shift the discussion a bit: Do we want to support\n>>> the 5.6 line *at all* anymore? I don't think so. As you point out\n>>> yourself you can just compile 5.8 or later on these machines.\n>>\n>> 5.8 as minimum is probably for the best. It's not that just you can\n>> compile a newer version (5.8), more importantly, Perl 5.8 is available\n>> as a package from those semi-official 3party repositories for most\n>> systems (at least the *nix systems I have access to)\n>\n> Do those repositories also have 5.10 and 5.12?\n\nAnything later than 5.8 seems to very unusual except for Linux (and\npresumably *bsd).\n\n>> except for those like Irix 6.2 where it's hopeless anyway (perl\n>> 5.0). But I only have access to irix/aix/solaris/tru64 in addition\n>> to Linux.\n>\n> Hrm, 6.2 is old, but 5.12 is known to compile on 6.5 at least. What\n> are the issues with 6.2? Perhaps they could be solved if someone with\n> such a machine contributed a smoker for the perl core.\n\nIRIX 6.2 is simply suffering for being old. Unless you have to\nmaintain a legacy system (as I do) you would probably have upgraded to\nIRIX 6.5 anyway.\n(Actually it turns out that I wasn't entirely correct in what I wrote\nearlier - the SGI freeware version of Perl for IRIX 6.5 is still at\n5.6.1, because they stopped updating that repository. There's another\n3party semi-official repo for IRIX now, not hosted by SGI, but I'm not\nfamiliar with it.\n\n> Perl is very portable with people willing to port it, the main\n> limitation is usually that porters don't have access to obscure\n> systems, not that there isn't interest.\n\nPeople interested in installing Git will probably first want to look\nfor a pre-made package, and, if not, build it themselves. At that\npoint, however, they would probably give up if it turns out they have\nto start building the underlying stuff (e.g. Perl) themselves too, so\nI tend to look for the lowest common denominator for 3party packages\n(e.g. 5.8 if we can get away with it, not 5.10). IRIX 6.5 is a bit\nunfortunate in this though. IRIX 6.2 can be considered an unlikely\ncorner case.\n\n-Tor\n"},{"id":"151516","messageId":"4C9CE212.3090507@obry.net","threadId":"25222","inReplyTo":"AANLkTinRcGa3r_=D87G-4-qqdsFL9CKnawD=DCnRQ+7v@mail.gmail.com","subject":"Re: Let's bump the minimum Perl version to 5.8","fromName":"Pascal Obry","fromEmail":"pascal.obry@gmail.com","sentAt":"2010-09-24T17:38:26Z","receivedAt":"2010-09-24T17:38:26Z","isPatch":false,"sender":{"key":"pascal@obry.net","avatar":"https://avatars.githubusercontent.com/u/467069?v=4"},"body":"Le 24/09/2010 15:08, Tor Arntsen a écrit :\n> 5.8 as minimum is probably for the best. It's not that just you can\n> compile a newer version (5.8), more importantly, Perl 5.8 is available\n> as a package from those semi-official 3party repositories for most\n> systems (at least the *nix systems I have access to), except for those\n> like Irix 6.2 where it's hopeless anyway (perl 5.0). But I only have\n> access to irix/aix/solaris/tru64 in addition to Linux.\n\n5.10 is available on Cygwin.\n\nPascal.\n\n-- \n\n--|------------------------------------------------------\n--| Pascal Obry                           Team-Ada Member\n--| 45, rue Gabriel Peri - 78114 Magny Les Hameaux FRANCE\n--|------------------------------------------------------\n--|    http://www.obry.net  -  http://v2p.fr.eu.org\n--| \"The best way to travel is by means of imagination\"\n--|\n--| gpg --keyserver keys.gnupg.net --recv-key F949BD3B\n"},{"id":"151517","messageId":"078307FA-6A50-4615-B4C8-4DB2CF3E301F@gernhardtsoftware.com","threadId":"25222","inReplyTo":"AANLkTimNGZom6FfKivg=QNmovz=xf656XHbXCmsjfrxD@mail.gmail.com","subject":"Re: Let's bump the minimum Perl version to 5.8","fromName":"Brian Gernhardt","fromEmail":"brian@gernhardtsoftware.com","sentAt":"2010-09-24T18:03:28Z","receivedAt":"2010-09-24T18:03:28Z","isPatch":false,"sender":{"key":"brian@gernhardtsoftware.com","avatar":"https://avatars.githubusercontent.com/u/133455?v=4"},"body":"\nOn Sep 24, 2010, at 10:08 AM, Tor Arntsen wrote:\n\n> On Fri, Sep 24, 2010 at 15:32, Ævar Arnfjörð Bjarmason <avarab@gmail.com> wrote:\n>> On Fri, Sep 24, 2010 at 13:08, Tor Arntsen <tor@spacetec.no> wrote:\n>>> 5.8 as minimum is probably for the best. It's not that just you can\n>>> compile a newer version (5.8), more importantly, Perl 5.8 is available\n>>> as a package from those semi-official 3party repositories for most\n>>> systems (at least the *nix systems I have access to)\n>> \n>> Do those repositories also have 5.10 and 5.12?\n> \n> Anything later than 5.8 seems to very unusual except for Linux (and\n> presumably *bsd).\n\nBased on www.opensource.apple.com, OS X started having 5.8 in OS X 10.3.0.  (And has only had 5.10 starting with 10.6.)  I don't know if macports or fink still support older OS X versions, so likely a 5.8 requirement would make anyone OS X older than 10.3 build perl-5.8 from source.\n\nJust FYI,\n~~ Brian"},{"id":"151529","messageId":"AANLkTimOpyvO+GZsKJPPWktVJTR1khLD2izyCKqNXwvA@mail.gmail.com","threadId":"25222","inReplyTo":"4C9CAEB7.1030606@op5.se","subject":"Re: Let's bump the minimum Perl version to 5.8","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2010-09-24T19:10:04Z","receivedAt":"2010-09-24T19:10:04Z","isPatch":false,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"On Fri, Sep 24, 2010 at 13:59, Andreas Ericsson <ae@op5.se> wrote:\n> On 09/24/2010 03:32 PM, Ævar Arnfjörð Bjarmason wrote:\n>> On Fri, Sep 24, 2010 at 13:08, Tor Arntsen<tor@spacetec.no>  wrote:\n>>> On Fri, Sep 24, 2010 at 14:56, Ævar Arnfjörð Bjarmason<avarab@gmail.com>  wrote:\n>>>\n>>>> However, I'd like to shift the discussion a bit: Do we want to support\n>>>> the 5.6 line *at all* anymore? I don't think so. As you point out\n>>>> yourself you can just compile 5.8 or later on these machines.\n>>>\n>>> 5.8 as minimum is probably for the best. It's not that just you can\n>>> compile a newer version (5.8), more importantly, Perl 5.8 is available\n>>> as a package from those semi-official 3party repositories for most\n>>> systems (at least the *nix systems I have access to)\n>>\n>> Do those repositories also have 5.10 and 5.12?\n>>\n>\n> Fedora 13 ships with Perl 5.10.0. IIRC, Fedora 12 (or possibly 11)\n> shipped with Perl 5.8. Let's not ask for more angry users than we\n> can handle. Since the current code seems to work fine with 5.8 and\n> later, I think that's a safe minimum to require for full git\n> functionality.\n\nI didn't mean to suggest we bump to 5.10 now. I just thought I'd ask\nfor the record in case we have this discussion again 3-4 years from\nnow.\n\n> Especially considering it was 3 years since we decided on 5.6, which\n> was by then 7 years old.\n\nDo you happen to have a link to that discussion? I can't find it.\n"},{"id":"151535","messageId":"07D0999B-558C-46BE-A44A-3BB4CDE31B65@gmail.com","threadId":"25222","inReplyTo":"4C9CE212.3090507@obry.net","subject":"Re: Let's bump the minimum Perl version to 5.8","fromName":"Joshua Juran","fromEmail":"jjuran@gmail.com","sentAt":"2010-09-24T19:39:30Z","receivedAt":"2010-09-24T19:39:30Z","isPatch":false,"sender":{"key":"jjuran@gmail.com","avatar":null},"body":"On Sep 24, 2010, at 10:38 AM, Pascal Obry wrote:\n\n> Le 24/09/2010 15:08, Tor Arntsen a écrit :\n>> 5.8 as minimum is probably for the best. It's not that just you can\n>> compile a newer version (5.8), more importantly, Perl 5.8 is  \n>> available\n>> as a package from those semi-official 3party repositories for most\n>> systems (at least the *nix systems I have access to), except for  \n>> those\n>> like Irix 6.2 where it's hopeless anyway (perl 5.0). But I only have\n>> access to irix/aix/solaris/tru64 in addition to Linux.\n>\n> 5.10 is available on Cygwin.\n\nLamp doesn't have 5.8 (only 5.6.1), but it doesn't have svn, either.\n\nJosh\n"},{"id":"151538","messageId":"1285358453-19292-1-git-send-email-avarab@gmail.com","threadId":"25222","inReplyTo":"AANLkTikp0mkFHYCdgqThfoFr3VkVECDmW6qE3+DSSHaq@mail.gmail.com","subject":"[PATCH/RFC] perl: bump the required Perl version to 5.8 from 5.6.[21]","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2010-09-24T20:00:52Z","receivedAt":"2010-09-24T20:00:52Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"Formalize our dependency on perl 5.8, bumped from 5.6.[12]. We already\nused the three-arg form of open() which was introduced in 5.6.1, but\nt/t9700/test.pl explicitly depended on 5.6.2.\n\nHowever git-add--interactive.pl has been failing on the 5.6 line since\nit was introduced in v1.5.0-rc0~12^2~2 back in 2006 due to this open\nsyntax:\n\n    sub run_cmd_pipe {\n           my $fh = undef;\n           open($fh, '-|', @_) or die;\n           return <$fh>;\n    }\n\nWhich when executed dies on \"Can't use an undefined value as\nfilehandle reference\". Several of our tests also fail on 5.6 (even\nmore when compiled with NO_PERL_MAKEMAKER=1):\n\n    t2016-checkout-patch.sh\n    t3904-stash-patch.sh\n    t3701-add-interactive.sh\n    t7105-reset-patch.sh\n    t7501-commit.sh\n    t9700-perl-git.sh\n\nOur code is bitrotting on 5.6 with no-one interested in fixing it, and\npinning us to such an ancient release of Perl is keeping us from using\nuseful features introduced in the 5.8 release.\n\nThe 5.6 series is now over 10 years old, and the 5.6.2 maintenance\nrelease almost 7. 5.8 on the other hand is more than 8 years old.\n\nAll the modern Unix-like operating systems have now upgraded to it or\na later version, and 5.8 packages are available for old IRIX, AIX\nSolaris and Tru64 systems.\n\nSigned-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\nAcked-by: Tor Arntsen <tor@spacetec.no>\nAcked-by: Randal L. Schwartz <merlyn@stonehenge.com>\n---\n\nA follow-up to the discussion in \"Let's bump the minimum Perl version\nto 5.8\". I took the liberty of adding Tor and Randal's Acked-by to the\npatch based on their comments in the thread. Which is why this is an\nRFC, if they're OK with it it can be applied.\n\n INSTALL                    |    8 ++++----\n git-add--interactive.perl  |    1 +\n git-archimport.perl        |    1 +\n git-cvsexportcommit.perl   |    1 +\n git-cvsimport.perl         |    1 +\n git-cvsserver.perl         |    1 +\n git-difftool.perl          |    1 +\n git-relink.perl            |    2 +-\n git-send-email.perl        |    1 +\n git-svn.perl               |    1 +\n gitweb/gitweb.perl         |    1 +\n perl/Git.pm                |    1 +\n t/t7006/test-terminal.perl |    1 +\n t/t9700/test.pl            |    2 +-\n 14 files changed, 17 insertions(+), 6 deletions(-)\n\ndiff --git a/INSTALL b/INSTALL\nindex 59200b7..10a1cba 100644\n--- a/INSTALL\n+++ b/INSTALL\n@@ -67,10 +67,10 @@ Issues of note:\n \t- A POSIX-compliant shell is required to run many scripts needed\n \t  for everyday use (e.g. \"bisect\", \"pull\").\n \n-\t- \"Perl\" is needed to use some of the features (e.g. preparing a\n-\t  partial commit using \"git add -i/-p\", interacting with svn\n-\t  repositories with \"git svn\").  If you can live without these, use\n-\t  NO_PERL.\n+\t- \"Perl\" version 5.8 or later is needed to use some of the\n+\t  features (e.g. preparing a partial commit using \"git add -i/-p\",\n+\t  interacting with svn repositories with \"git svn\").  If you can\n+\t  live without these, use NO_PERL.\n \n \t- \"openssl\" library is used by git-imap-send to use IMAP over SSL.\n \t  If you don't need it, use NO_OPENSSL.\ndiff --git a/git-add--interactive.perl b/git-add--interactive.perl\nindex 27fc793..a96fb53 100755\n--- a/git-add--interactive.perl\n+++ b/git-add--interactive.perl\n@@ -1,5 +1,6 @@\n #!/usr/bin/perl -w\n \n+use 5.008;\n use strict;\n use Git;\n \ndiff --git a/git-archimport.perl b/git-archimport.perl\nindex 98f3ede..947638c 100755\n--- a/git-archimport.perl\n+++ b/git-archimport.perl\n@@ -54,6 +54,7 @@ and can contain multiple, unrelated branches.\n \n =cut\n \n+use 5.008;\n use strict;\n use warnings;\n use Getopt::Std;\ndiff --git a/git-cvsexportcommit.perl b/git-cvsexportcommit.perl\nindex 59b6722..9a8188b 100755\n--- a/git-cvsexportcommit.perl\n+++ b/git-cvsexportcommit.perl\n@@ -1,5 +1,6 @@\n #!/usr/bin/perl -w\n \n+use 5.008;\n use strict;\n use Getopt::Std;\n use File::Temp qw(tempdir);\ndiff --git a/git-cvsimport.perl b/git-cvsimport.perl\nindex 9e03eee..53869fb 100755\n--- a/git-cvsimport.perl\n+++ b/git-cvsimport.perl\n@@ -13,6 +13,7 @@\n # The head revision is on branch \"origin\" by default.\n # You can change that with the '-o' option.\n \n+use 5.008;\n use strict;\n use warnings;\n use Getopt::Long;\ndiff --git a/git-cvsserver.perl b/git-cvsserver.perl\nindex e9f3037..2822bed 100755\n--- a/git-cvsserver.perl\n+++ b/git-cvsserver.perl\n@@ -15,6 +15,7 @@\n ####\n ####\n \n+use 5.008;\n use strict;\n use warnings;\n use bytes;\ndiff --git a/git-difftool.perl b/git-difftool.perl\nindex adc42de..e95e4ad 100755\n--- a/git-difftool.perl\n+++ b/git-difftool.perl\n@@ -10,6 +10,7 @@\n #\n # Any arguments that are unknown to this script are forwarded to 'git diff'.\n \n+use 5.008;\n use strict;\n use warnings;\n use Cwd qw(abs_path);\ndiff --git a/git-relink.perl b/git-relink.perl\nindex 937c69a..af2e305 100755\n--- a/git-relink.perl\n+++ b/git-relink.perl\n@@ -6,7 +6,7 @@\n #\n # Scan two git object-trees, and hardlink any common objects between them.\n \n-use 5.006;\n+use 5.008;\n use strict;\n use warnings;\n use Getopt::Long;\ndiff --git a/git-send-email.perl b/git-send-email.perl\nindex 6dab3bf..314e59e 100755\n--- a/git-send-email.perl\n+++ b/git-send-email.perl\n@@ -16,6 +16,7 @@\n #    and second line is the subject of the message.\n #\n \n+use 5.008;\n use strict;\n use warnings;\n use Term::ReadLine;\ndiff --git a/git-svn.perl b/git-svn.perl\nindex 9b046b6..d292224 100755\n--- a/git-svn.perl\n+++ b/git-svn.perl\n@@ -1,6 +1,7 @@\n #!/usr/bin/env perl\n # Copyright (C) 2006, Eric Wong <normalperson@yhbt.net>\n # License: GPL v2 or later\n+use 5.008;\n use warnings;\n use strict;\n use vars qw/\t$AUTHOR $VERSION\ndiff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl\nindex a85e2f6..e645d4a 100755\n--- a/gitweb/gitweb.perl\n+++ b/gitweb/gitweb.perl\n@@ -7,6 +7,7 @@\n #\n # This program is licensed under the GPLv2\n \n+use 5.008;\n use strict;\n use warnings;\n use CGI qw(:standard :escapeHTML -nosticky);\ndiff --git a/perl/Git.pm b/perl/Git.pm\nindex 6cb0dd1..205e48a 100644\n--- a/perl/Git.pm\n+++ b/perl/Git.pm\n@@ -7,6 +7,7 @@ Git - Perl interface to the Git version control system\n \n package Git;\n \n+use 5.008;\n use strict;\n \n \ndiff --git a/t/t7006/test-terminal.perl b/t/t7006/test-terminal.perl\nindex 73ff809..6b5f22a 100755\n--- a/t/t7006/test-terminal.perl\n+++ b/t/t7006/test-terminal.perl\n@@ -1,4 +1,5 @@\n #!/usr/bin/perl\n+use 5.008;\n use strict;\n use warnings;\n use IO::Pty;\ndiff --git a/t/t9700/test.pl b/t/t9700/test.pl\nindex 671f38d..c15ca2d 100755\n--- a/t/t9700/test.pl\n+++ b/t/t9700/test.pl\n@@ -1,7 +1,7 @@\n #!/usr/bin/perl\n use lib (split(/:/, $ENV{GITPERLLIB}));\n \n-use 5.006002;\n+use 5.008;\n use warnings;\n use strict;\n \n-- \n1.7.3.256.g00e8a\n"},{"id":"151539","messageId":"1285358453-19292-2-git-send-email-avarab@gmail.com","threadId":"25222","inReplyTo":"AANLkTikp0mkFHYCdgqThfoFr3VkVECDmW6qE3+DSSHaq@mail.gmail.com","subject":"[PATCH] perl: use \"use warnings\" instead of -w","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2010-09-24T20:00:53Z","receivedAt":"2010-09-24T20:00:53Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"Change the Perl scripts to turn on lexical warnings instead of setting\nthe global $^W variable via the -w switch.\n\nThe -w sets warnings for all code that interpreter runs, while \"use\nwarnings\" is lexically scoped. The former is probably not what the\nauthors wanted.\n\nAs an auxiliary benefit it's now possible to build Git with:\n\n    PERL_PATH='/usr/bin/env perl'\n\nWhich would previously result in failures, since \"#!/usr/bin/env perl -w\"\ndoesn't work as a shebang.\n\nSigned-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\n---\n\nThis is a re-send, it's independent of bumping the version to 5.8 (use\nwarnings was introduced in 5.6), but a good idea anyway.\n\n contrib/examples/git-svnimport.perl         |    2 +-\n contrib/fast-import/import-directories.perl |    3 ++-\n git-add--interactive.perl                   |    3 ++-\n git-archimport.perl                         |    2 +-\n git-cvsexportcommit.perl                    |    3 ++-\n git-cvsimport.perl                          |    2 +-\n git-send-email.perl                         |    2 +-\n 7 files changed, 10 insertions(+), 7 deletions(-)\n\ndiff --git a/contrib/examples/git-svnimport.perl b/contrib/examples/git-svnimport.perl\nindex 4576c4a..ead4c04 100755\n--- a/contrib/examples/git-svnimport.perl\n+++ b/contrib/examples/git-svnimport.perl\n@@ -1,4 +1,4 @@\n-#!/usr/bin/perl -w\n+#!/usr/bin/perl\n \n # This tool is copyright (c) 2005, Matthias Urlichs.\n # It is released under the Gnu Public License, version 2.\ndiff --git a/contrib/fast-import/import-directories.perl b/contrib/fast-import/import-directories.perl\nindex 3a5da4a..7f3afa5 100755\n--- a/contrib/fast-import/import-directories.perl\n+++ b/contrib/fast-import/import-directories.perl\n@@ -1,4 +1,4 @@\n-#!/usr/bin/perl -w\n+#!/usr/bin/perl\n #\n # Copyright 2008-2009 Peter Krefting <peter@softwolves.pp.se>\n #\n@@ -140,6 +140,7 @@ by whitespace or other characters.\n \n # Globals\n use strict;\n+use warnings;\n use integer;\n my $crlfmode = 0;\n my @revs;\ndiff --git a/git-add--interactive.perl b/git-add--interactive.perl\nindex a96fb53..77f60fa 100755\n--- a/git-add--interactive.perl\n+++ b/git-add--interactive.perl\n@@ -1,7 +1,8 @@\n-#!/usr/bin/perl -w\n+#!/usr/bin/perl\n \n use 5.008;\n use strict;\n+use warnings;\n use Git;\n \n binmode(STDOUT, \":raw\");\ndiff --git a/git-archimport.perl b/git-archimport.perl\nindex 947638c..bc32f18 100755\n--- a/git-archimport.perl\n+++ b/git-archimport.perl\n@@ -1,4 +1,4 @@\n-#!/usr/bin/perl -w\n+#!/usr/bin/perl\n #\n # This tool is copyright (c) 2005, Martin Langhoff.\n # It is released under the Gnu Public License, version 2.\ndiff --git a/git-cvsexportcommit.perl b/git-cvsexportcommit.perl\nindex 9a8188b..39a426e 100755\n--- a/git-cvsexportcommit.perl\n+++ b/git-cvsexportcommit.perl\n@@ -1,7 +1,8 @@\n-#!/usr/bin/perl -w\n+#!/usr/bin/perl\n \n use 5.008;\n use strict;\n+use warnings;\n use Getopt::Std;\n use File::Temp qw(tempdir);\n use Data::Dumper;\ndiff --git a/git-cvsimport.perl b/git-cvsimport.perl\nindex 53869fb..249aeaf 100755\n--- a/git-cvsimport.perl\n+++ b/git-cvsimport.perl\n@@ -1,4 +1,4 @@\n-#!/usr/bin/perl -w\n+#!/usr/bin/perl\n \n # This tool is copyright (c) 2005, Matthias Urlichs.\n # It is released under the Gnu Public License, version 2.\ndiff --git a/git-send-email.perl b/git-send-email.perl\nindex 314e59e..d10d869 100755\n--- a/git-send-email.perl\n+++ b/git-send-email.perl\n@@ -1,4 +1,4 @@\n-#!/usr/bin/perl -w\n+#!/usr/bin/perl\n #\n # Copyright 2002,2005 Greg Kroah-Hartman <greg@kroah.com>\n # Copyright 2005 Ryan Anderson <ryan@michonline.com>\n-- \n1.7.3.256.g00e8a\n"},{"id":"151706","messageId":"4C9F1BD9.2080902@op5.se","threadId":"25222","inReplyTo":"AANLkTimOpyvO+GZsKJPPWktVJTR1khLD2izyCKqNXwvA@mail.gmail.com","subject":"Re: Let's bump the minimum Perl version to 5.8","fromName":"Andreas Ericsson","fromEmail":"ae@op5.se","sentAt":"2010-09-26T10:09:29Z","receivedAt":"2010-09-26T10:09:29Z","isPatch":false,"sender":{"key":"ae@op5.se","avatar":"https://gravatar.com/avatar/426e89595c75a8f5252dd0c989e5fabe5bcac616e68557427ad9aef6b0ca342a?d=mp&s=160"},"body":"On 09/24/2010 09:10 PM, Ævar Arnfjörð Bjarmason wrote:\n> On Fri, Sep 24, 2010 at 13:59, Andreas Ericsson<ae@op5.se>  wrote:\n>> On 09/24/2010 03:32 PM, Ævar Arnfjörð Bjarmason wrote:\n>>> On Fri, Sep 24, 2010 at 13:08, Tor Arntsen<tor@spacetec.no>    wrote:\n>>>> On Fri, Sep 24, 2010 at 14:56, Ævar Arnfjörð Bjarmason<avarab@gmail.com>    wrote:\n>>>>\n>>>>> However, I'd like to shift the discussion a bit: Do we want to support\n>>>>> the 5.6 line *at all* anymore? I don't think so. As you point out\n>>>>> yourself you can just compile 5.8 or later on these machines.\n>>>>\n>>>> 5.8 as minimum is probably for the best. It's not that just you can\n>>>> compile a newer version (5.8), more importantly, Perl 5.8 is available\n>>>> as a package from those semi-official 3party repositories for most\n>>>> systems (at least the *nix systems I have access to)\n>>>\n>>> Do those repositories also have 5.10 and 5.12?\n>>>\n>>\n>> Fedora 13 ships with Perl 5.10.0. IIRC, Fedora 12 (or possibly 11)\n>> shipped with Perl 5.8. Let's not ask for more angry users than we\n>> can handle. Since the current code seems to work fine with 5.8 and\n>> later, I think that's a safe minimum to require for full git\n>> functionality.\n> \n> I didn't mean to suggest we bump to 5.10 now. I just thought I'd ask\n> for the record in case we have this discussion again 3-4 years from\n> now.\n> \n>> Especially considering it was 3 years since we decided on 5.6, which\n>> was by then 7 years old.\n> \n> Do you happen to have a link to that discussion? I can't find it.\n\nI was writing from memory, and I was wrong. Commit messages seems to\npoint to february 2006 as the \"let's be Perl 5.6 compatible\" time.\n\n  git log --grep=\"Perl.*5.6\"\n\nmight prove useful. 4.5 years then, and not 3. My, how time flies.\n\n-- \nAndreas Ericsson                   andreas.ericsson@op5.se\nOP5 AB                             www.op5.se\nTel: +46 8-230225                  Fax: +46 8-230231\n\nConsidering the successes of the wars on alcohol, poverty, drugs and\nterror, I think we should give some serious thought to declaring war\non peace.\n"},{"id":"151708","messageId":"AANLkTimN++eDHhcnyYh=RLOLqgHe4x+fKKpzspFKh3LU@mail.gmail.com","threadId":"25222","inReplyTo":"1285358453-19292-1-git-send-email-avarab@gmail.com","subject":"Re: [PATCH/RFC] perl: bump the required Perl version to 5.8 from 5.6.[21]","fromName":"Tor Arntsen","fromEmail":"tor@spacetec.no","sentAt":"2010-09-26T10:22:17Z","receivedAt":"2010-09-26T10:22:17Z","isPatch":true,"sender":{"key":"tor@spacetec.no","avatar":null},"body":"On Fri, Sep 24, 2010 at 22:00, Ævar Arnfjörð Bjarmason <avarab@gmail.com> wrote:\n\n>\n> A follow-up to the discussion in \"Let's bump the minimum Perl version\n> to 5.8\". I took the liberty of adding Tor and Randal's Acked-by to the\n> patch based on their comments in the thread. Which is why this is an\n> RFC, if they're OK with it it can be applied.\n\nThis is OK with me.\n\n-Tor\n"},{"id":"151805","messageId":"4CA04980.3070300@statsbiblioteket.dk","threadId":"25222","inReplyTo":"1285358453-19292-1-git-send-email-avarab@gmail.com","subject":"Re: [PATCH/RFC] perl: bump the required Perl version to 5.8 from 5.6.[21]","fromName":"Tom G. Christensen","fromEmail":"tgc@statsbiblioteket.dk","sentAt":"2010-09-27T07:36:32Z","receivedAt":"2010-09-27T07:36:32Z","isPatch":true,"sender":{"key":"tgc@statsbiblioteket.dk","avatar":"https://avatars.githubusercontent.com/u/912180?v=4"},"body":"Ævar Arnfjörð Bjarmason wrote:\n> Formalize our dependency on perl 5.8, bumped from 5.6.[12]. We already\n> used the three-arg form of open() which was introduced in 5.6.1, but\n> t/t9700/test.pl explicitly depended on 5.6.2.\n> \n> However git-add--interactive.pl has been failing on the 5.6 line since\n> it was introduced in v1.5.0-rc0~12^2~2 back in 2006 due to this open\n> syntax:\n> \n>     sub run_cmd_pipe {\n>            my $fh = undef;\n>            open($fh, '-|', @_) or die;\n>            return <$fh>;\n>     }\n> \nThis issue and possible solutions was previously discussed in-depth here:\nhttp://article.gmane.org/gmane.comp.version-control.git/94394\n\n> Which when executed dies on \"Can't use an undefined value as\n> filehandle reference\". Several of our tests also fail on 5.6 (even\n> more when compiled with NO_PERL_MAKEMAKER=1):\n> \n>     t2016-checkout-patch.sh\n>     t3904-stash-patch.sh\n>     t3701-add-interactive.sh\n>     t7105-reset-patch.sh\n>     t7501-commit.sh\n>     t9700-perl-git.sh\n> \n> Our code is bitrotting on 5.6 with no-one interested in fixing it, and\n> pinning us to such an ancient release of Perl is keeping us from using\n> useful features introduced in the 5.8 release.\n> \nFWIW I build rpms and run git on RHEL 2.1 with perl 5.6.1.\n\nThese are the settings I use:\nNO_CURL=1 (curl 7.8.1 is too old)\nNO_TCLTK=1 (tcl/tk 8.3 is too old)\nNO_NSEC=1\nNO_EXTERNAL_GREP=1 (GNU grep 2.4.2 is apparently too old)\nNO_REGEX=1 (glibc regex breaks t7008.11, also needed for el3)\nNO_PERL_MAKEMAKER=1 (ExtUtils::MakeMaker is too old)\n\nGIT_SKIP_TESTS=\"t2016 t3701 t3904 t7105 t7501.21\"\n\nAdditionally to fix NO_PERL_MAKEMAKER I use this patch:\nhttp://article.gmane.org/gmane.comp.version-control.git/130159\n\nTo build with OpenSSL 0.9.6 I also add this in git-compat-util.h:\n# if SSLEAY_VERSION_NUMBER < 0x00907000L\n# define HMAC_CTX_cleanup    HMAC_cleanup\n# endif\n\nWith these settings I have zero testsuite failures (just verified with \n1.7.3).\nt9700 is automatically skipped because Test::More is not available in \nperl 5.6.1. gitweb requires 5.8 and is also skipped automatically.\nI do not have subversion available on RHEL 2.1 so those tests are also \nskipped.\nCVS server/import tests are skipped because I do not have cvsps and \nperl-SQLite available.\n\nIIRC there has been no change in the functionality with perl 5.6.1 since \nthe last time the 'open syntax' issue was discussed.\n\nHaving the specific parts known not to work with perl 5.6.x fail \ngracefully at runtime would be an improvement.\n\n-tgc\n"},{"id":"151807","messageId":"4CA04EFF.6010805@statsbiblioteket.dk","threadId":"25222","inReplyTo":"AANLkTimNGZom6FfKivg=QNmovz=xf656XHbXCmsjfrxD@mail.gmail.com","subject":"Re: Let's bump the minimum Perl version to 5.8","fromName":"Tom G. Christensen","fromEmail":"tgc@statsbiblioteket.dk","sentAt":"2010-09-27T07:59:59Z","receivedAt":"2010-09-27T07:59:59Z","isPatch":false,"sender":{"key":"tgc@statsbiblioteket.dk","avatar":"https://avatars.githubusercontent.com/u/912180?v=4"},"body":"Tor Arntsen wrote:\n> On Fri, Sep 24, 2010 at 15:32, Ævar Arnfjörð Bjarmason <avarab@gmail.com> wrote:\n>> On Fri, Sep 24, 2010 at 13:08, Tor Arntsen <tor@spacetec.no> wrote:\n>>> On Fri, Sep 24, 2010 at 14:56, Ævar Arnfjörð Bjarmason <avarab@gmail.com> wrote:\n>>>\n>>>> However, I'd like to shift the discussion a bit: Do we want to support\n>>>> the 5.6 line *at all* anymore? I don't think so. As you point out\n>>>> yourself you can just compile 5.8 or later on these machines.\n>>> 5.8 as minimum is probably for the best. It's not that just you can\n>>> compile a newer version (5.8), more importantly, Perl 5.8 is available\n>>> as a package from those semi-official 3party repositories for most\n>>> systems (at least the *nix systems I have access to)\n>> Do those repositories also have 5.10 and 5.12?\n> \n> Anything later than 5.8 seems to very unusual except for Linux (and\n> presumably *bsd).\n> \nIn Linux land atleast the current crop of RHEL dists are on 5.8.x and \nfor RHEL5 this is supported until 2014 (2017 with ELS).\n\n>>> except for those like Irix 6.2 where it's hopeless anyway (perl\n>>> 5.0). But I only have access to irix/aix/solaris/tru64 in addition\n>>> to Linux.\n>> Hrm, 6.2 is old, but 5.12 is known to compile on 6.5 at least. What\n>> are the issues with 6.2? Perhaps they could be solved if someone with\n>> such a machine contributed a smoker for the perl core.\n> \n> IRIX 6.2 is simply suffering for being old. Unless you have to\n> maintain a legacy system (as I do) you would probably have upgraded to\n> IRIX 6.5 anyway.\n> (Actually it turns out that I wasn't entirely correct in what I wrote\n> earlier - the SGI freeware version of Perl for IRIX 6.5 is still at\n> 5.6.1, because they stopped updating that repository. There's another\n> 3party semi-official repo for IRIX now, not hosted by SGI, but I'm not\n> familiar with it.\n> \nThere are currently 2 maintained options for IRIX users:\nnekochan (requires IRIX 6.5.21 or better)\ntgcware (IRIX 5.3 & 6.2, will also run on 6.3, 6.4, 6.5).\n\nI maintain tgcware and have prebuilt git packages available (1.7.2.3).\n\nGit does not build on IRIX < 6.3 without adding some sort of thirdparty \n(v)snprintf code since those functions are missing in libc. I use the \nctrio library for this purpose.\n\n-tgc\n"}]}