Index: opkg-4561/libopkg/opkg_download.c =================================================================== --- opkg-4561/libopkg/opkg_download.c (revision 4480) +++ opkg-4561/libopkg/opkg_download.c (working copy) @@ -17,7 +17,9 @@ General Public License for more details. */ #include "config.h" +#ifdef HAVE_CURL #include +#endif #ifdef HAVE_GPGME #include #endif @@ -74,6 +76,7 @@ setenv("no_proxy", conf->no_proxy, 1); } +#ifdef HAVE_CURL CURL *curl; CURLcode res; FILE * file = fopen (tmp_file_location, "w"); @@ -119,6 +122,31 @@ free(src_basec); return -1; } +#else /* if wget is selected */ + char *cmd; + /* XXX: BUG rewrite to use execvp or else busybox's internal wget -Jamey 7/23/2002 */ + sprintf_alloc(&cmd, "wget --passive-ftp %s %s%s %s%s -P %s %s", + (conf->http_proxy || conf->ftp_proxy) ? "--proxy=on" : "", + conf->proxy_user ? "--proxy-user=" : "", + conf->proxy_user ? conf->proxy_user : "", + conf->proxy_passwd ? "--proxy-passwd=" : "", + conf->proxy_passwd ? conf->proxy_passwd : "", + conf->tmp_dir, + src); + err = xsystem(cmd); + if (err) { + if (err != -1) { + opkg_message(conf,OPKG_ERROR, "%s: ERROR: Command failed with return value %d: `%s'\n", + __FUNCTION__, err, cmd); + } + unlink(tmp_file_location); + free(tmp_file_location); + free(src_basec); + free(cmd); + return EINVAL; + } + free(cmd); +#endif err = file_move(tmp_file_location, dest_file_name); Index: opkg-4561/configure.ac =================================================================== --- opkg-4561/configure.ac (revision 4480) +++ opkg-4561/configure.ac (working copy) @@ -22,9 +22,16 @@ # Checks for libraries -# check for libcurl -PKG_CHECK_MODULES(CURL, libcurl) +AC_ARG_ENABLE(curl, + AC_HELP_STRING([--enable-curl], [Enable use of libcurl instead of wget + [[default=yes]] ]), + [want_curl="$enableval"], [want_curl="yes"]) +if test "x$want_curl" = "xyes"; then + # check for libcurl + PKG_CHECK_MODULES(CURL, libcurl) + AC_DEFINE(HAVE_CURL, 1, [Define if you want to use libcurl instead of wget]) +fi dnl ********** Index: opkg-4561/libopkg/opkg.c =================================================================== --- opkg-4561/libopkg/opkg.c-orig 2008-07-28 16:27:53.000000000 -0500 +++ opkg-4561/libopkg/opkg.c 2008-07-29 07:46:42.000000000 -0500 @@ -1013,8 +1013,9 @@ return package; } - +#ifdef HAVE_CURL #include +#endif /** * @brief Check the accessibility of repositories. It will try to access the repository to check if the respository is accessible throught current network status. * @param opkg The opkg_t @@ -1064,6 +1065,7 @@ repositories--; err = opkg_download(opkg->conf, iter1->data, "/dev/null", NULL, NULL); + #ifdef HAVE_CURL if (!(err == CURLE_OK || err == CURLE_HTTP_RETURNED_ERROR || err == CURLE_FILE_COULDNT_READ_FILE || @@ -1072,6 +1074,7 @@ )) { ret++; } + #endif str_list_elt_deinit(iter1); free(iter1); }