git: Inform about need to install perl when needed

Some git commands require perl, but since perl is a relatively
large dependency we do not bring it in as a git dependency. Instead
inform about the need to 'apt install perl' when trying to run a
command requiring perl.

Fixes #408.
This commit is contained in:
Fredrik Fornwall 2016-08-23 13:27:26 -04:00
parent d042a5549d
commit 69685781db
2 changed files with 22 additions and 0 deletions

View File

@ -3,6 +3,7 @@ TERMUX_PKG_DESCRIPTION="Distributed version control system designed to handle ev
# less is required as a pager for git log, and the busybox less does not handle used escape sequences. # less is required as a pager for git log, and the busybox less does not handle used escape sequences.
TERMUX_PKG_DEPENDS="libcurl, less" TERMUX_PKG_DEPENDS="libcurl, less"
TERMUX_PKG_VERSION=2.9.3 TERMUX_PKG_VERSION=2.9.3
TERMUX_PKG_BUILD_REVISION=1
TERMUX_PKG_SRCURL=https://www.kernel.org/pub/software/scm/git/git-${TERMUX_PKG_VERSION}.tar.xz TERMUX_PKG_SRCURL=https://www.kernel.org/pub/software/scm/git/git-${TERMUX_PKG_VERSION}.tar.xz
## This requires a working $TERMUX_PREFIX/bin/sh on the host building: ## This requires a working $TERMUX_PREFIX/bin/sh on the host building:
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--without-tcltk --with-curl --with-shell=$TERMUX_PREFIX/bin/sh ac_cv_header_libintl_h=no ac_cv_fread_reads_directories=yes ac_cv_snprintf_returns_bogus=yes" TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--without-tcltk --with-curl --with-shell=$TERMUX_PREFIX/bin/sh ac_cv_header_libintl_h=no ac_cv_fread_reads_directories=yes ac_cv_snprintf_returns_bogus=yes"

21
packages/git/help.c.patch Normal file
View File

@ -0,0 +1,21 @@
diff -u -r ../git-2.9.3/help.c ./help.c
--- ../git-2.9.3/help.c 2016-08-12 15:38:45.000000000 -0400
+++ ./help.c 2016-08-23 06:15:57.698156213 -0400
@@ -307,7 +307,7 @@
static const char bad_interpreter_advice[] =
N_("'%s' appears to be a git command, but we were not\n"
- "able to execute it. Maybe git-%s is broken?");
+ "able to execute it. Maybe you need to 'apt install perl'?");
const char *help_unknown_cmd(const char *cmd)
{
@@ -339,7 +339,7 @@
* it's a bad interpreter in the #! line.
*/
if (!strcmp(candidate, cmd))
- die(_(bad_interpreter_advice), cmd, cmd);
+ die(_(bad_interpreter_advice), cmd);
/* Does the candidate appear in common_cmds list? */
while (n < ARRAY_SIZE(common_cmds) &&