* [bug] 2.5.0 build with NO_PERL is broken @ 2015-08-14 15:41 Renato Botelho 2015-08-14 16:46 ` Renato Botelho 0 siblings, 1 reply; 11+ messages in thread From: Renato Botelho @ 2015-08-14 15:41 UTC (permalink / raw) To: git I was working on update git on FreeBSD ports tree to 2.5.0 and I noted 2.5.0 is trying to use perl even when it's being built with NO_PERL knob. /bin/sh: /usr/bin/perl: not found Makefile:1701: recipe for target 'common-cmds.h' failed gmake[2]: *** [common-cmds.h] Error 127 gmake[2]: *** Waiting for unfinished jobs.... gmake[2]: Leaving directory '/freebsd/ports/head/devel/git/work/git-2.5.0' After a quick search, looks like commit 527ec3980b is the culprit since it removed generate-cmdlist.sh and introduced generate-cmdlist.perl. I just would like to check if it's planned to add perl dependency during build time or it happened by accident and will be fixed so NO_PERL can work again. Thanks ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [bug] 2.5.0 build with NO_PERL is broken 2015-08-14 15:41 [bug] 2.5.0 build with NO_PERL is broken Renato Botelho @ 2015-08-14 16:46 ` Renato Botelho 2015-08-14 19:59 ` Junio C Hamano 0 siblings, 1 reply; 11+ messages in thread From: Renato Botelho @ 2015-08-14 16:46 UTC (permalink / raw) To: git Renato Botelho <garga <at> FreeBSD.org> writes: > > I was working on update git on FreeBSD ports tree to 2.5.0 and I noted 2.5.0 > is trying to use perl even when it's being built with NO_PERL knob. > > /bin/sh: /usr/bin/perl: not found > Makefile:1701: recipe for target 'common-cmds.h' failed > gmake[2]: *** [common-cmds.h] Error 127 > gmake[2]: *** Waiting for unfinished jobs.... > gmake[2]: Leaving directory '/freebsd/ports/head/devel/git/work/git-2.5.0' > > After a quick search, looks like commit 527ec3980b is the culprit since it > removed generate-cmdlist.sh and introduced generate-cmdlist.perl. > > I just would like to check if it's planned to add perl dependency during > build time or it happened by accident and will be fixed so NO_PERL can work > again. I also found that some commands require perl when NO_PERL is set: git-submodule git-request-pull git-am Definitely NO_PERL is not working as expected. ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [bug] 2.5.0 build with NO_PERL is broken 2015-08-14 16:46 ` Renato Botelho @ 2015-08-14 19:59 ` Junio C Hamano 2015-08-14 20:49 ` Eric Sunshine 0 siblings, 1 reply; 11+ messages in thread From: Junio C Hamano @ 2015-08-14 19:59 UTC (permalink / raw) To: Renato Botelho; +Cc: git Renato Botelho <garga@FreeBSD.org> writes: > I also found that some commands require perl when NO_PERL is set: > > git-submodule > git-request-pull > git-am > > Definitely NO_PERL is not working as expected. NO_PERL merely means "I want to build a subset of Git that is meant to be usable on a system without a working Perl installed". These scripts that do require Perl installed are indeed not expected to work under NO_PERL (if you think about it, that would be natural and the only sensible expectation---otherwise we would have coded them without using Perl at all, in which case there will be no need for NO_PERL in the first place). ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [bug] 2.5.0 build with NO_PERL is broken 2015-08-14 19:59 ` Junio C Hamano @ 2015-08-14 20:49 ` Eric Sunshine 2015-08-14 21:02 ` Junio C Hamano 0 siblings, 1 reply; 11+ messages in thread From: Eric Sunshine @ 2015-08-14 20:49 UTC (permalink / raw) To: Junio C Hamano; +Cc: Renato Botelho, Git List On Fri, Aug 14, 2015 at 3:59 PM, Junio C Hamano <gitster@pobox.com> wrote: > Renato Botelho <garga@FreeBSD.org> writes: >> I also found that some commands require perl when NO_PERL is set: > > NO_PERL merely means "I want to build a subset of Git that is meant > to be usable on a system without a working Perl installed". These > scripts that do require Perl installed are indeed not expected to > work under NO_PERL (if you think about it, that would be natural and > the only sensible expectation---otherwise we would have coded them > without using Perl at all, in which case there will be no need for > NO_PERL in the first place). Nevertheless, there's still the problem, due to 527ec39 (generate-cmdlist: parse common group commands, 2015-05-21), that git doesn't build at all anymore when Perl is unavailable. One option would be to go with the awk version of 'generate-cmdlist'[1], which restricts itself to POSIX and was tested on Linux, FreeBSD, and Mac OS X[2], though I'm not sure we really want to go there, particularly if you're uncomfortable[3] about introducing awk into the toolchain. Another option would be to rewrite the (more complex) generate-cmdlist in shell, which I think should be possible, though it will be uglier and more verbose. [1]: http://article.gmane.org/gmane.comp.version-control.git/269307/ [2]: http://article.gmane.org/gmane.comp.version-control.git/269336/ [3]: http://article.gmane.org/gmane.comp.version-control.git/269324/ ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [bug] 2.5.0 build with NO_PERL is broken 2015-08-14 20:49 ` Eric Sunshine @ 2015-08-14 21:02 ` Junio C Hamano 2015-08-14 21:15 ` Eric Sunshine 0 siblings, 1 reply; 11+ messages in thread From: Junio C Hamano @ 2015-08-14 21:02 UTC (permalink / raw) To: Eric Sunshine; +Cc: Renato Botelho, Git List Eric Sunshine <sunshine@sunshineco.com> writes: > Nevertheless, there's still the problem, due to 527ec39 > (generate-cmdlist: parse common group commands, 2015-05-21), that git > doesn't build at all anymore when Perl is unavailable. I do not think that is anything new. We always have assumed "some" version of Perl available in order to run t/ scripts. ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [bug] 2.5.0 build with NO_PERL is broken 2015-08-14 21:02 ` Junio C Hamano @ 2015-08-14 21:15 ` Eric Sunshine 2015-08-14 22:22 ` Junio C Hamano 0 siblings, 1 reply; 11+ messages in thread From: Eric Sunshine @ 2015-08-14 21:15 UTC (permalink / raw) To: Junio C Hamano; +Cc: Renato Botelho, Git List On Fri, Aug 14, 2015 at 5:02 PM, Junio C Hamano <gitster@pobox.com> wrote: > Eric Sunshine <sunshine@sunshineco.com> writes: >> Nevertheless, there's still the problem, due to 527ec39 >> (generate-cmdlist: parse common group commands, 2015-05-21), that git >> doesn't build at all anymore when Perl is unavailable. > > I do not think that is anything new. We always have assumed "some" > version of Perl available in order to run t/ scripts. True, but prior to 527ec39, without Perl available, git itself could at least be built and used (with some commands unavailable), even if it couldn't be fully tested. As of 527ec39, however, git won't even build because common-cmds.h can't be generated. ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [bug] 2.5.0 build with NO_PERL is broken 2015-08-14 21:15 ` Eric Sunshine @ 2015-08-14 22:22 ` Junio C Hamano 2015-08-14 22:25 ` Eric Sunshine 0 siblings, 1 reply; 11+ messages in thread From: Junio C Hamano @ 2015-08-14 22:22 UTC (permalink / raw) To: Eric Sunshine; +Cc: Renato Botelho, Git List Eric Sunshine <sunshine@sunshineco.com> writes: > On Fri, Aug 14, 2015 at 5:02 PM, Junio C Hamano <gitster@pobox.com> wrote: >> Eric Sunshine <sunshine@sunshineco.com> writes: >>> Nevertheless, there's still the problem, due to 527ec39 >>> (generate-cmdlist: parse common group commands, 2015-05-21), that git >>> doesn't build at all anymore when Perl is unavailable. >> >> I do not think that is anything new. We always have assumed "some" >> version of Perl available in order to run t/ scripts. > > True, but prior to 527ec39, without Perl available, git itself could > at least be built and used (with some commands unavailable), even if > it couldn't be fully tested. As of 527ec39, however, git won't even > build because common-cmds.h can't be generated. I wouldn't bother digging in the history myself, but I am reasonably sure that the current genereate-common-cmds is not the sole instance that we relied on Perl to build (not test) in the past, and that is another reason why I do not think this is anything new. ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [bug] 2.5.0 build with NO_PERL is broken 2015-08-14 22:22 ` Junio C Hamano @ 2015-08-14 22:25 ` Eric Sunshine 2015-08-18 11:05 ` Renato Botelho 0 siblings, 1 reply; 11+ messages in thread From: Eric Sunshine @ 2015-08-14 22:25 UTC (permalink / raw) To: Junio C Hamano; +Cc: Renato Botelho, Git List On Fri, Aug 14, 2015 at 6:22 PM, Junio C Hamano <gitster@pobox.com> wrote: > Eric Sunshine <sunshine@sunshineco.com> writes: > >> On Fri, Aug 14, 2015 at 5:02 PM, Junio C Hamano <gitster@pobox.com> wrote: >>> Eric Sunshine <sunshine@sunshineco.com> writes: >>>> Nevertheless, there's still the problem, due to 527ec39 >>>> (generate-cmdlist: parse common group commands, 2015-05-21), that git >>>> doesn't build at all anymore when Perl is unavailable. >>> >>> I do not think that is anything new. We always have assumed "some" >>> version of Perl available in order to run t/ scripts. >> >> True, but prior to 527ec39, without Perl available, git itself could >> at least be built and used (with some commands unavailable), even if >> it couldn't be fully tested. As of 527ec39, however, git won't even >> build because common-cmds.h can't be generated. > > I wouldn't bother digging in the history myself, but I am reasonably > sure that the current genereate-common-cmds is not the sole instance > that we relied on Perl to build (not test) in the past, and that is > another reason why I do not think this is anything new. Hmm. In my tests by setting PERL_PATH to a bogus (non-existent) command, prior to 527ec39, git builds successfully, whereas, following 527ec39, it does not build. But, perhaps I overlooked something...(?) ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [bug] 2.5.0 build with NO_PERL is broken 2015-08-14 22:25 ` Eric Sunshine @ 2015-08-18 11:05 ` Renato Botelho 2015-08-18 16:42 ` Eric Sunshine 0 siblings, 1 reply; 11+ messages in thread From: Renato Botelho @ 2015-08-18 11:05 UTC (permalink / raw) To: git Eric Sunshine <sunshine <at> sunshineco.com> writes: > > On Fri, Aug 14, 2015 at 6:22 PM, Junio C Hamano <gitster <at> pobox.com> wrote: > > Eric Sunshine <sunshine <at> sunshineco.com> writes: > > > >> On Fri, Aug 14, 2015 at 5:02 PM, Junio C Hamano <gitster <at> pobox.com> wrote: > >>> Eric Sunshine <sunshine <at> sunshineco.com> writes: > >>> > >>> I do not think that is anything new. We always have assumed "some" > >>> version of Perl available in order to run t/ scripts. > >> > >> True, but prior to 527ec39, without Perl available, git itself could > >> at least be built and used (with some commands unavailable), even if > >> it couldn't be fully tested. As of 527ec39, however, git won't even > >> build because common-cmds.h can't be generated. > > > > I wouldn't bother digging in the history myself, but I am reasonably > > sure that the current genereate-common-cmds is not the sole instance > > that we relied on Perl to build (not test) in the past, and that is > > another reason why I do not think this is anything new. > > Hmm. In my tests by setting PERL_PATH to a bogus (non-existent) > command, prior to 527ec39, git builds successfully, whereas, following > 527ec39, it does not build. But, perhaps I overlooked something...(?) It builds but there will be at least 3 commands that won't work: git-submodule git-request-pull git-am I'm considering to add perl dependency as mandatory on FreeBSD ports tree, and maybe this NO_PERL option doesn't make more sense nowadays... ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [bug] 2.5.0 build with NO_PERL is broken 2015-08-18 11:05 ` Renato Botelho @ 2015-08-18 16:42 ` Eric Sunshine 2015-08-18 18:09 ` Renato Botelho 0 siblings, 1 reply; 11+ messages in thread From: Eric Sunshine @ 2015-08-18 16:42 UTC (permalink / raw) To: Renato Botelho; +Cc: Git List On Tue, Aug 18, 2015 at 7:05 AM, Renato Botelho <garga@freebsd.org> wrote: > Eric Sunshine <sunshine <at> sunshineco.com> writes: >> On Fri, Aug 14, 2015 at 6:22 PM, Junio C Hamano <gitster <at> pobox.com> > wrote: >> > Eric Sunshine <sunshine <at> sunshineco.com> writes: >> >> On Fri, Aug 14, 2015 at 5:02 PM, Junio C Hamano <gitster <at> > pobox.com> wrote: >> >>> Eric Sunshine <sunshine <at> sunshineco.com> writes: >> >>> I do not think that is anything new. We always have assumed "some" >> >>> version of Perl available in order to run t/ scripts. >> >> >> >> True, but prior to 527ec39, without Perl available, git itself could >> >> at least be built and used (with some commands unavailable), even if >> >> it couldn't be fully tested. As of 527ec39, however, git won't even >> >> build because common-cmds.h can't be generated. >> > >> > I wouldn't bother digging in the history myself, but I am reasonably >> > sure that the current genereate-common-cmds is not the sole instance >> > that we relied on Perl to build (not test) in the past, and that is >> > another reason why I do not think this is anything new. >> >> Hmm. In my tests by setting PERL_PATH to a bogus (non-existent) >> command, prior to 527ec39, git builds successfully, whereas, following >> 527ec39, it does not build. But, perhaps I overlooked something...(?) > > It builds but there will be at least 3 commands that won't work: Hmm, I was under the impression from your initial mail[1] that Git wouldn't even build without Perl available: /bin/sh: /usr/bin/perl: not found Makefile:1701: recipe for target 'common-cmds.h' failed gmake[2]: *** [common-cmds.h] Error 127 Doesn't this failure prevent generation of the 'git' executable altogether? > git-submodule > git-request-pull > git-am Also... git-add--interactive git-archimport git-cvsexportcommit git-cvsimport git-cvsserver git-difftool git-instaweb git-relink git-send-email git-svn A C rewrite of git-am has recently graduated to 'master'. > I'm considering to add perl dependency as mandatory on FreeBSD ports tree, > and maybe this NO_PERL option doesn't make more sense nowadays... That might make sense. Although some of the above commands may not be used widely, others, such as git-send-email, probably are used regularly. [1]: http://thread.gmane.org/gmane.comp.version-control.git/275905 ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [bug] 2.5.0 build with NO_PERL is broken 2015-08-18 16:42 ` Eric Sunshine @ 2015-08-18 18:09 ` Renato Botelho 0 siblings, 0 replies; 11+ messages in thread From: Renato Botelho @ 2015-08-18 18:09 UTC (permalink / raw) To: git > Eric Sunshine <sunshine <at> sunshineco.com> writes: > > Hmm, I was under the impression from your initial mail[1] that Git > wouldn't even build without Perl available: > > /bin/sh: /usr/bin/perl: not found > Makefile:1701: recipe for target 'common-cmds.h' failed > gmake[2]: *** [common-cmds.h] Error 127 This assumption is correct, current 2.5.0 doesn't build without perl. > Doesn't this failure prevent generation of the 'git' executable altogether? > > > git-submodule > > git-request-pull > > git-am > > Also... > > git-add--interactive > git-archimport > git-cvsexportcommit > git-cvsimport > git-cvsserver > git-difftool > git-instaweb > git-relink > git-send-email > git-svn When I build with NO_PERL=1, above files are a simple shell script saying git was built without it: #!/bin/sh echo >&2 "fatal: git was built without support for `basename $0` (NO_PERL=1)." exit 128 But the same doesn't happen with submodule, request-pull and am. > A C rewrite of git-am has recently graduated to 'master'. cool! > That might make sense. Although some of the above commands may not be > used widely, others, such as git-send-email, probably are used > regularly. There is a port called git-lite with few dependencies, sometimes people install it on servers that only need to clone and update local copies of repos. It's interesting to keep it working as expected with NO_PERL, since it offers this option. ^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2015-08-18 18:09 UTC | newest] Thread overview: 11+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2015-08-14 15:41 [bug] 2.5.0 build with NO_PERL is broken Renato Botelho 2015-08-14 16:46 ` Renato Botelho 2015-08-14 19:59 ` Junio C Hamano 2015-08-14 20:49 ` Eric Sunshine 2015-08-14 21:02 ` Junio C Hamano 2015-08-14 21:15 ` Eric Sunshine 2015-08-14 22:22 ` Junio C Hamano 2015-08-14 22:25 ` Eric Sunshine 2015-08-18 11:05 ` Renato Botelho 2015-08-18 16:42 ` Eric Sunshine 2015-08-18 18:09 ` Renato Botelho
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).