build: don't mandate availability of a fetcher program

It is common that build hosts are isolated from outside world. They
don't necessarily have wget or ftp installed.

Turn the error into warning in configure. And point FETCHER to `false'
command if neither wget nor ftp is available, so any attempt to
download will result in error.

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
This commit is contained in:
Wei Liu committed 2019-04-04 15:03:05 +01:00
1 parent dbe55b5d6a
commit 58e1417945
3 files changed
+93 -3

No files matched your search

+3 -1
View File
@@ -1,5 +1,6 @@
AC_DEFUN([AX_CHECK_FETCHER], [
AC_PATH_PROG([WGET],[wget], [no])
AC_PATH_PROG([FALSE],[false], [/bin/false])
AS_IF([test x"$WGET" != x"no"], [
FETCHER="$WGET -c -O"
], [
@@ -7,7 +8,8 @@ AS_IF([test x"$WGET" != x"no"], [
AS_IF([test x"$FTP" != x"no"], [
FETCHER="$FTP -o"
], [
AC_MSG_ERROR([cannot find wget or ftp])
FETCHER="$FALSE"
AC_MSG_WARN([cannot find wget or ftp])
])
])
AC_SUBST(FETCHER)
+45 -1
View File
@@ -625,6 +625,7 @@ CFLAGS
CC
FETCHER
FTP
FALSE
WGET
CMAKE
extfiles
@@ -2362,6 +2363,47 @@ $as_echo "no" >&6; }
fi
# Extract the first word of "false", so it can be a program name with args.
set dummy false; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_path_FALSE+:} false; then :
$as_echo_n "(cached) " >&6
else
case $FALSE in
[\\/]* | ?:[\\/]*)
ac_cv_path_FALSE="$FALSE" # Let the user override the test with a path.
;;
*)
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_FALSE="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
test -z "$ac_cv_path_FALSE" && ac_cv_path_FALSE="/bin/false"
;;
esac
fi
FALSE=$ac_cv_path_FALSE
if test -n "$FALSE"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $FALSE" >&5
$as_echo "$FALSE" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
if test x"$WGET" != x"no"; then :
FETCHER="$WGET -c -O"
@@ -2415,7 +2457,9 @@ fi
else
as_fn_error $? "cannot find wget or ftp" "$LINENO" 5
FETCHER="$FALSE"
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cannot find wget or ftp" >&5
$as_echo "$as_me: WARNING: cannot find wget or ftp" >&2;}
fi
+45 -1
View File
@@ -644,6 +644,7 @@ system_aio
zlib
FETCHER
FTP
FALSE
WGET
pixman_LIBS
pixman_CFLAGS
@@ -8219,6 +8220,47 @@ $as_echo "no" >&6; }
fi
# Extract the first word of "false", so it can be a program name with args.
set dummy false; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_path_FALSE+:} false; then :
$as_echo_n "(cached) " >&6
else
case $FALSE in
[\\/]* | ?:[\\/]*)
ac_cv_path_FALSE="$FALSE" # Let the user override the test with a path.
;;
*)
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_FALSE="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
test -z "$ac_cv_path_FALSE" && ac_cv_path_FALSE="/bin/false"
;;
esac
fi
FALSE=$ac_cv_path_FALSE
if test -n "$FALSE"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $FALSE" >&5
$as_echo "$FALSE" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
if test x"$WGET" != x"no"; then :
FETCHER="$WGET -c -O"
@@ -8272,7 +8314,9 @@ fi
else
as_fn_error $? "cannot find wget or ftp" "$LINENO" 5
FETCHER="$FALSE"
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cannot find wget or ftp" >&5
$as_echo "$as_me: WARNING: cannot find wget or ftp" >&2;}
fi
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.