{"thread":{"id":"24733","subject":"Git's tests have depended on Perl since at least 2006","startedAt":"2010-08-13T21:25:10Z","lastAt":"2010-08-13T23:44:28Z","messageCount":6,"participants":["Ævar Arnfjörð Bjarmason","Jonathan Nieder","Junio C Hamano"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"148036","messageId":"AANLkTim9aNtFdwM5m-FB_LWX96es2DR_9mU3rGcV4dME@mail.gmail.com","threadId":"24733","inReplyTo":null,"subject":"Git's tests have depended on Perl since at least 2006","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2010-08-13T21:25:10Z","receivedAt":"2010-08-13T21:25:10Z","isPatch":false,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"This is just an interesting datapoint, but Git's test suite currently\ncrashes and burns if you don't have a perl in your $PATH, no matter if\nyou've compiled with NO_PERL=YesPlease or not. This has been the case\nsince at least 2006, or v1.3.0-rc1~13^2~34.\n\nThe affected tests are:\n\n    ./t0000-basic.sh ./t0025-crlf-auto.sh ./t0080-vcs-svn.sh\n    ./t0020-crlf.sh ./t1010-mktree.sh ./t1300-repo-config.sh\n    ./t3300-funny-names.sh ./t4012-diff-binary.sh\n    ./t4020-diff-external.sh ./t4014-format-patch.sh\n    ./t4029-diff-trailing-space.sh ./t4031-diff-rewrite-binary.sh\n    ./t4030-diff-textconv.sh ./t4043-diff-rename-binary.sh\n    ./t4103-apply-binary.sh ./t4116-apply-reverse.sh ./t4200-rerere.sh\n    ./t5303-pack-corruption-resilience.sh ./t5300-pack-object.sh\n    ./t6011-rev-list-with-bad-commit.sh\n    ./t6013-rev-list-reverse-parents.sh ./t6003-rev-list-topo-order.sh\n\nI have a WIP patch series to tackle this issue:\n\n    http://github.com/avar/git/compare/git:pu...in-progress-dont-depend-on-perl\n\nIt adds a PERL dependency to things and changes perl to\n\"$PERL_PATH\". Many things were implicitly depending on perl due to\nthis bit in test-lib.sh:\n\n    q_to_nul () {\n        perl -pe 'y/Q/\\000/'\n    }\n\nAnd many other bits do other things with perl but aren't declaring a\nPERL dependency.\n\nAnyway, I just thought I'd mention it, that this hasn't been fixed yet\nwould suggest that nearly everyone has perl anyway, and that maybe we\nshouldn't think twice about introducing a perl dependency to things\nwhen it's convenient.\n"},{"id":"148049","messageId":"20100813223725.GA2153@burratino","threadId":"24733","inReplyTo":"AANLkTim9aNtFdwM5m-FB_LWX96es2DR_9mU3rGcV4dME@mail.gmail.com","subject":"Re: Git's tests have depended on Perl since at least 2006","fromName":"Jonathan Nieder","fromEmail":"jrnieder@gmail.com","sentAt":"2010-08-13T22:37:25Z","receivedAt":"2010-08-13T22:37:25Z","isPatch":false,"sender":{"key":"jrnieder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/281595?v=4"},"body":"Ævar Arnfjörð Bjarmason wrote:\n\n> This is just an interesting datapoint, but Git's test suite currently\n> crashes and burns if you don't have a perl in your $PATH, no matter if\n> you've compiled with NO_PERL=YesPlease or not.\n\nYes, I think this was known.  Development machines (which is where\npeople tend to run tests most) tend to have perl but some weird\nproduction machines did not.\n\n> I have a WIP patch series to tackle this issue:\n> \n>     http://github.com/avar/git/compare/git:pu...in-progress-dont-depend-on-perl\n> \n> It adds a PERL dependency to things\n\nReasonable.\n\n> and changes perl to\n> \"$PERL_PATH\".\n\nIs that necessary?  As you mentioned before, a lot of uses of perl are\nfor run-of-the-mill one-liners and do not care much which version they\nget.\n\nOn the other hand, even if it is not necessary, it might still be a\ngood idea to just stick to one perl version for simplicity.\n"},{"id":"148050","messageId":"7v4oeyjfnw.fsf@alter.siamese.dyndns.org","threadId":"24733","inReplyTo":"AANLkTim9aNtFdwM5m-FB_LWX96es2DR_9mU3rGcV4dME@mail.gmail.com","subject":"Re: Git's tests have depended on Perl since at least 2006","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2010-08-13T22:45:07Z","receivedAt":"2010-08-13T22:45:07Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Ævar Arnfjörð Bjarmason <avarab@gmail.com> writes:\n\n> This is just an interesting datapoint, but Git's test suite currently\n> crashes and burns if you don't have a perl in your $PATH, no matter if\n> you've compiled with NO_PERL=YesPlease or not. This has been the case\n> since at least 2006, or v1.3.0-rc1~13^2~34.\n\nI'd suggest you not to go overboard on this.  NO_PERL=YesPlease is\nprimarily about the deployment environment.  The person who is building\nand packaging git may have perl on her development box.\n"},{"id":"148052","messageId":"AANLkTi=FvAZZsxctJ-sXuQxsMgn15BhKooXjO13CVy6U@mail.gmail.com","threadId":"24733","inReplyTo":"7v4oeyjfnw.fsf@alter.siamese.dyndns.org","subject":"Re: Git's tests have depended on Perl since at least 2006","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2010-08-13T22:56:50Z","receivedAt":"2010-08-13T22:56:50Z","isPatch":false,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"On Fri, Aug 13, 2010 at 22:45, Junio C Hamano <gitster@pobox.com> wrote:\n> Ævar Arnfjörð Bjarmason <avarab@gmail.com> writes:\n>\n>> This is just an interesting datapoint, but Git's test suite currently\n>> crashes and burns if you don't have a perl in your $PATH, no matter if\n>> you've compiled with NO_PERL=YesPlease or not. This has been the case\n>> since at least 2006, or v1.3.0-rc1~13^2~34.\n>\n> I'd suggest you not to go overboard on this.  NO_PERL=YesPlease is\n> primarily about the deployment environment.  The person who is building\n> and packaging git may have perl on her development box.\n\nI promise not to go overboard :)\n\nThe aim of this and some recent patch serieses has been to improve our\nsmoker support. I'd like people to be able to run a smoker without a\nperl without sending false positives in their smoke reports, that's\nall.\n"},{"id":"148053","messageId":"7vvd7ehyzy.fsf@alter.siamese.dyndns.org","threadId":"24733","inReplyTo":"AANLkTi=FvAZZsxctJ-sXuQxsMgn15BhKooXjO13CVy6U@mail.gmail.com","subject":"Re: Git's tests have depended on Perl since at least 2006","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2010-08-13T23:30:25Z","receivedAt":"2010-08-13T23:30:25Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Ævar Arnfjörð Bjarmason <avarab@gmail.com> writes:\n\n> On Fri, Aug 13, 2010 at 22:45, Junio C Hamano <gitster@pobox.com> wrote:\n>> Ævar Arnfjörð Bjarmason <avarab@gmail.com> writes:\n>>\n>>> This is just an interesting datapoint, but Git's test suite currently\n>>> crashes and burns if you don't have a perl in your $PATH, no matter if\n>>> you've compiled with NO_PERL=YesPlease or not. This has been the case\n>>> since at least 2006, or v1.3.0-rc1~13^2~34.\n>>\n>> I'd suggest you not to go overboard on this.  NO_PERL=YesPlease is\n>> primarily about the deployment environment.  The person who is building\n>> and packaging git may have perl on her development box.\n>\n> I promise not to go overboard :)\n>\n> The aim of this and some recent patch serieses has been to improve our\n> smoker support. I'd like people to be able to run a smoker without a\n> perl without sending false positives in their smoke reports, that's\n> all.\n\nI had an impression that your smoker report supports builds on tap harness\nthat in turn builds on perl.\n"},{"id":"148054","messageId":"AANLkTin9k3FerH1exQXMVS7LrJbLraptd5cJzLEh2Mgj@mail.gmail.com","threadId":"24733","inReplyTo":"7vvd7ehyzy.fsf@alter.siamese.dyndns.org","subject":"Re: Git's tests have depended on Perl since at least 2006","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2010-08-13T23:44:28Z","receivedAt":"2010-08-13T23:44:28Z","isPatch":false,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"On Fri, Aug 13, 2010 at 23:30, Junio C Hamano <gitster@pobox.com> wrote:\n> I had an impression that your smoker report supports builds on tap harness\n> that in turn builds on perl.\n\nIt does, but I was considering cases like:\n\n    PATH=/a/limited/test/environment /usr/bin/prove ...\n\nBut actually getting rid of the smoker Perl dependency would be easy,\nit's just running each test, saving the output to a file and tar-ing\nit all up. It'd be very easy to provide a shellscript that did that.\n"}]}