From f1781a983a1f1dd263fcceab009a06c20daf78ad Mon Sep 17 00:00:00 2001 From: russell Date: Fri, 1 Dec 2006 23:20:17 +0000 Subject: [PATCH] Merged revisions 48190 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r48190 | russell | 2006-12-01 18:16:28 -0500 (Fri, 01 Dec 2006) | 12 lines FreeBSD 6.1 does not include wget by default. However, it has fetch which will work just fine for our purposes of downloading the sounds packages. So, check for both wget and fetch and the configure script and use what was found to download them. If neither one was found, and sound packages are selected that must be downloaded, the install process will print out an informative error message indicating the situation. Also, fix a couple places where "make" was hard coded into some output messages by replacing them with the $(MAKE) variable. (issue #8451, initial patch by pabelanger, with additional modifications by me) ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@48191 f38db490-d61c-443f-a65b-d21fe96a405b --- Makefile | 5 ++- configure | 110 ++++++++++++++++++++++++++++++++++++++++++++---- configure.ac | 8 ++++ makeopts.in | 3 ++ sounds/Makefile | 60 ++++++++++++++++---------- 5 files changed, 154 insertions(+), 32 deletions(-) diff --git a/Makefile b/Makefile index ea07bd286..9b85e4d84 100644 --- a/Makefile +++ b/Makefile @@ -57,6 +57,7 @@ export DESTDIR export PROC export SOLINK export STRIP +export DOWNLOAD # even though we could use '-include makeopts' here, use a wildcard # lookup anyway, so that make won't try to build makeopts if it doesn't @@ -273,14 +274,14 @@ all: _all @echo " + Asterisk has successfully been built, and +" @echo " + can be installed by running: +" @echo " + +" - @echo " + make install +" + @echo " + $(MAKE) install +" @echo " +-------------------------------------------+" _all: cleantest $(SUBDIRS) makeopts: configure @echo "****" - @echo "**** The configure script must be executed before running 'make'." + @echo "**** The configure script must be executed before running '$(MAKE)'." @echo "****" @exit 1 diff --git a/configure b/configure index 315be2ef6..6ec4dc54b 100755 --- a/configure +++ b/configure @@ -1,5 +1,5 @@ #! /bin/sh -# From configure.ac Revision: 47328 . +# From configure.ac Revision: 47759 . # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.60a. # @@ -691,6 +691,9 @@ DIRNAME LN DOT STRIP +WGET +FETCH +DOWNLOAD AST_DEVMODE ALSA_LIB ALSA_INCLUDE @@ -5576,6 +5579,94 @@ echo "${ECHO_T}no" >&6; } fi +# Extract the first word of "wget", so it can be a program name with args. +set dummy wget; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_path_WGET+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $WGET in + [\\/]* | ?:[\\/]*) + ac_cv_path_WGET="$WGET" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_WGET="$as_dir/$ac_word$ac_exec_ext" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + + test -z "$ac_cv_path_WGET" && ac_cv_path_WGET=":" + ;; +esac +fi +WGET=$ac_cv_path_WGET +if test -n "$WGET"; then + { echo "$as_me:$LINENO: result: $WGET" >&5 +echo "${ECHO_T}$WGET" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +if test "${WGET}" != ":" ; then + DOWNLOAD=${WGET} +else + # Extract the first word of "fetch", so it can be a program name with args. +set dummy fetch; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_path_FETCH+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $FETCH in + [\\/]* | ?:[\\/]*) + ac_cv_path_FETCH="$FETCH" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_FETCH="$as_dir/$ac_word$ac_exec_ext" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + + test -z "$ac_cv_path_FETCH" && ac_cv_path_FETCH=":" + ;; +esac +fi +FETCH=$ac_cv_path_FETCH +if test -n "$FETCH"; then + { echo "$as_me:$LINENO: result: $FETCH" >&5 +echo "${ECHO_T}$FETCH" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + DOWNLOAD=${FETCH} +fi + ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -34278,14 +34369,14 @@ DIRNAME!$DIRNAME$ac_delim LN!$LN$ac_delim DOT!$DOT$ac_delim STRIP!$STRIP$ac_delim +WGET!$WGET$ac_delim +FETCH!$FETCH$ac_delim +DOWNLOAD!$DOWNLOAD$ac_delim AST_DEVMODE!$AST_DEVMODE$ac_delim ALSA_LIB!$ALSA_LIB$ac_delim ALSA_INCLUDE!$ALSA_INCLUDE$ac_delim PBX_ALSA!$PBX_ALSA$ac_delim CAP_LIB!$CAP_LIB$ac_delim -CAP_INCLUDE!$CAP_INCLUDE$ac_delim -PBX_CAP!$PBX_CAP$ac_delim -CURL_LIB!$CURL_LIB$ac_delim _ACEOF if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then @@ -34327,6 +34418,9 @@ _ACEOF ac_delim='%!_!# ' for ac_last_try in false false false false false :; do cat >conf$$subs.sed <<_ACEOF +CAP_INCLUDE!$CAP_INCLUDE$ac_delim +PBX_CAP!$PBX_CAP$ac_delim +CURL_LIB!$CURL_LIB$ac_delim CURL_INCLUDE!$CURL_INCLUDE$ac_delim PBX_CURL!$PBX_CURL$ac_delim CURSES_LIB!$CURSES_LIB$ac_delim @@ -34421,9 +34515,6 @@ TERMCAP_INCLUDE!$TERMCAP_INCLUDE$ac_delim PBX_TERMCAP!$PBX_TERMCAP$ac_delim TINFO_LIB!$TINFO_LIB$ac_delim TINFO_INCLUDE!$TINFO_INCLUDE$ac_delim -PBX_TINFO!$PBX_TINFO$ac_delim -TONEZONE_LIB!$TONEZONE_LIB$ac_delim -TONEZONE_INCLUDE!$TONEZONE_INCLUDE$ac_delim _ACEOF if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then @@ -34465,6 +34556,9 @@ _ACEOF ac_delim='%!_!# ' for ac_last_try in false false false false false :; do cat >conf$$subs.sed <<_ACEOF +PBX_TINFO!$PBX_TINFO$ac_delim +TONEZONE_LIB!$TONEZONE_LIB$ac_delim +TONEZONE_INCLUDE!$TONEZONE_INCLUDE$ac_delim PBX_TONEZONE!$PBX_TONEZONE$ac_delim VORBIS_LIB!$VORBIS_LIB$ac_delim VORBIS_INCLUDE!$VORBIS_INCLUDE$ac_delim @@ -34510,7 +34604,7 @@ CURL!$CURL$ac_delim LTLIBOBJS!$LTLIBOBJS$ac_delim _ACEOF - if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 43; then + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 46; then break elif $ac_last_try; then { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 diff --git a/configure.ac b/configure.ac index f9519beb5..f86d9965b 100644 --- a/configure.ac +++ b/configure.ac @@ -155,6 +155,14 @@ AC_PATH_PROG([SHELL], [sh], :) AC_PATH_PROG([LN], [ln], :) AC_PATH_PROG([DOT], [dot], :) AC_PATH_PROG([STRIP], [strip], :) +AC_PATH_PROG([WGET], [wget], :) +if test "${WGET}" != ":" ; then + DOWNLOAD=${WGET} +else + AC_PATH_PROG([FETCH], [fetch], [:]) + DOWNLOAD=${FETCH} +fi +AC_SUBST(DOWNLOAD) AC_LANG(C) diff --git a/makeopts.in b/makeopts.in index 44f5ce3e3..445b16cf5 100644 --- a/makeopts.in +++ b/makeopts.in @@ -19,6 +19,9 @@ LN=@LN@ QTMOC=@QTMOC@ DOT=@DOT@ STRIP=@STRIP@ +WGET=@WGET@ +FETCH=@FETCH@ +DOWNLOAD=@DOWNLOAD@ BUILD_PLATFORM=@BUILD_PLATFORM@ BUILD_CPU=@BUILD_CPU@ diff --git a/sounds/Makefile b/sounds/Makefile index 720e1166f..ca9015c8b 100644 --- a/sounds/Makefile +++ b/sounds/Makefile @@ -11,9 +11,9 @@ # the GNU General Public License # -.PHONY: dist-clean all uninstall +.PHONY: dist-clean all uninstall have_download install --include $(ASTTOPDIR)/menuselect.makeopts +-include $(ASTTOPDIR)/menuselect.makeopts $(ASTTOPDIR)/makeopts PWD:=$(shell pwd) SOUNDS_DIR:=$(DESTDIR)$(ASTDATADIR)/sounds @@ -56,69 +56,85 @@ WGET_ARGS:=--continue all: $(CORE_SOUNDS) $(EXTRA_SOUNDS) $(MOH) -$(SOUNDS_DIR)/.asterisk-core-sounds-en-%: +have_download: + @if test "$(DOWNLOAD)" = ":" ; then \ + echo "**************************************************"; \ + echo "*** ***"; \ + echo "*** You must have either wget or fetch to be ***"; \ + echo "*** able to automatically download and install ***"; \ + echo "*** the requested sound packages. ***"; \ + echo "*** ***"; \ + echo "*** Please install one of these, or remove any ***"; \ + echo "*** extra sound package selections in ***"; \ + echo "*** menuselecct before installing Asterisk. ***"; \ + echo "*** ***"; \ + echo "**************************************************"; \ + exit 1; \ + fi + +$(SOUNDS_DIR)/.asterisk-core-sounds-en-%: have_download @PACKAGE=$(subst $(SOUNDS_DIR)/.asterisk,asterisk,$@).tar.gz; \ - if test ! -f $${PACKAGE}; then wget $(WGET_ARGS) $(SOUNDS_URL)/$${PACKAGE}; fi; \ + if test ! -f $${PACKAGE}; then $(DOWNLOAD) $(WGET_ARGS) $(SOUNDS_URL)/$${PACKAGE}; fi; \ if test ! -f $${PACKAGE}; then exit 1; fi; \ rm -f $(subst -$(CORE_SOUNDS_VERSION),,$@)-* && \ (cd $(SOUNDS_DIR); cat $(PWD)/$${PACKAGE} | gzip -d | tar xf -) && \ touch $@ -$(SOUNDS_DIR)/.asterisk-core-sounds-es-%: +$(SOUNDS_DIR)/.asterisk-core-sounds-es-%: have_download @PACKAGE=$(subst $(SOUNDS_DIR)/.asterisk,asterisk,$@).tar.gz; \ - if test ! -f $${PACKAGE}; then wget $(WGET_ARGS) $(SOUNDS_URL)/$${PACKAGE}; fi; \ + if test ! -f $${PACKAGE}; then $(DOWNLOAD) $(WGET_ARGS) $(SOUNDS_URL)/$${PACKAGE}; fi; \ if test ! -f $${PACKAGE}; then exit 1; fi; \ rm -f $(subst -$(CORE_SOUNDS_VERSION),,$@)-* && \ (cd $(SOUNDS_DIR)/es; cat $(PWD)/$${PACKAGE} | gzip -d | tar xf -) && \ touch $@ -$(SOUNDS_DIR)/.asterisk-core-sounds-fr-%: +$(SOUNDS_DIR)/.asterisk-core-sounds-fr-%: have_download @PACKAGE=$(subst $(SOUNDS_DIR)/.asterisk,asterisk,$@).tar.gz; \ - if test ! -f $${PACKAGE}; then wget $(WGET_ARGS) $(SOUNDS_URL)/$${PACKAGE}; fi; \ + if test ! -f $${PACKAGE}; then $(DOWNLOAD) $(WGET_ARGS) $(SOUNDS_URL)/$${PACKAGE}; fi; \ if test ! -f $${PACKAGE}; then exit 1; fi; \ rm -f $(subst -$(CORE_SOUNDS_VERSION),,$@)-* && \ (cd $(SOUNDS_DIR)/fr; cat $(PWD)/$${PACKAGE} | gzip -d | tar xf -) && \ touch $@ -$(SOUNDS_DIR)/.asterisk-extra-sounds-en-%: +$(SOUNDS_DIR)/.asterisk-extra-sounds-en-%: have_download @PACKAGE=$(subst $(SOUNDS_DIR)/.asterisk,asterisk,$@).tar.gz; \ - if test ! -f $${PACKAGE}; then wget $(WGET_ARGS) $(SOUNDS_URL)/$${PACKAGE}; fi; \ + if test ! -f $${PACKAGE}; then $(DOWNLOAD) $(WGET_ARGS) $(SOUNDS_URL)/$${PACKAGE}; fi; \ if test ! -f $${PACKAGE}; then exit 1; fi; \ rm -f $(subst -$(EXTRA_SOUNDS_VERSION),,$@)-* && \ (cd $(SOUNDS_DIR); cat $(PWD)/$${PACKAGE} | gzip -d | tar xf -) && \ touch $@ -$(SOUNDS_DIR)/.asterisk-extra-sounds-es-%: +$(SOUNDS_DIR)/.asterisk-extra-sounds-es-%: have_download @PACKAGE=$(subst $(SOUNDS_DIR)/.asterisk,asterisk,$@).tar.gz; \ - if test ! -f $${PACKAGE}; then wget $(WGET_ARGS) $(SOUNDS_URL)/$${PACKAGE}; fi; \ + if test ! -f $${PACKAGE}; then $(DOWNLOAD) $(WGET_ARGS) $(SOUNDS_URL)/$${PACKAGE}; fi; \ if test ! -f $${PACKAGE}; then exit 1; fi; \ rm -f $(subst -$(EXTRA_SOUNDS_VERSION),,$@)-* && \ (cd $(SOUNDS_DIR)/es; cat $(PWD)/$${PACKAGE} | gzip -d | tar xf -) && \ touch $@ -$(SOUNDS_DIR)/.asterisk-extra-sounds-fr-%: +$(SOUNDS_DIR)/.asterisk-extra-sounds-fr-%: have_download @PACKAGE=$(subst $(SOUNDS_DIR)/.asterisk,asterisk,$@).tar.gz; \ - if test ! -f $${PACKAGE}; then wget $(WGET_ARGS) $(SOUNDS_URL)/$${PACKAGE}; fi; \ + if test ! -f $${PACKAGE}; then $(DOWNLOAD) $(WGET_ARGS) $(SOUNDS_URL)/$${PACKAGE}; fi; \ if test ! -f $${PACKAGE}; then exit 1; fi; \ rm -f $(subst -$(EXTRA_SOUNDS_VERSION),,$@)-* && \ (cd $(SOUNDS_DIR)/fr; cat $(PWD)/$${PACKAGE} | gzip -d | tar xf -) && \ touch $@ -$(MOH_DIR)/.asterisk-moh-%: +$(MOH_DIR)/.asterisk-moh-%: have_download @PACKAGE=$(subst $(MOH_DIR)/.asterisk,asterisk,$@).tar.gz; \ - if test ! -f $${PACKAGE}; then wget $(WGET_ARGS) $(SOUNDS_URL)/$${PACKAGE}; fi; \ + if test ! -f $${PACKAGE}; then $(DOWNLOAD) $(WGET_ARGS) $(SOUNDS_URL)/$${PACKAGE}; fi; \ if test ! -f $${PACKAGE}; then exit 1; fi; \ (cd $(MOH_DIR); cat $(PWD)/$${PACKAGE} | gzip -d | tar xf -) && \ touch $@ -asterisk-core-%.tar.gz: - @wget $(WGET_ARGS) $(SOUNDS_URL)/$@ +asterisk-core-%.tar.gz: have_download + @$(DOWNLOAD) $(WGET_ARGS) $(SOUNDS_URL)/$@ -asterisk-extra-%.tar.gz: - @wget $(WGET_ARGS) $(SOUNDS_URL)/$@ +asterisk-extra-%.tar.gz: have_download + @$(DOWNLOAD) $(WGET_ARGS) $(SOUNDS_URL)/$@ -asterisk-moh-%.tar.gz: - @wget $(WGET_ARGS) $(SOUNDS_URL)/$@ +asterisk-moh-%.tar.gz: have_download + @$(DOWNLOAD) $(WGET_ARGS) $(SOUNDS_URL)/$@ dist-clean: rm -f *.tar.gz