--- opkg-4564/configure.ac-orig 2008-08-04 19:39:20.000000000 -0500 +++ opkg-4564/configure.ac 2008-08-04 19:37:17.000000000 -0500 @@ -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 ********** --- opkg-4564/libopkg/opkg.c-orig 2008-08-04 19:39:38.000000000 -0500 +++ opkg-4564/libopkg/opkg.c 2008-08-04 19:37:17.000000000 -0500 @@ -1020,8 +1020,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 @@ -1071,6 +1072,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 || @@ -1079,6 +1081,7 @@ )) { ret++; } + #endif str_list_elt_deinit(iter1); free(iter1); } --- opkg-4564/libopkg/opkg_download.c-orig 2008-08-04 19:39:56.000000000 -0500 +++ opkg-4564/libopkg/opkg_download.c 2008-08-04 19:37:17.000000000 -0500 @@ -17,7 +17,9 @@ General Public License for more details. */ #include "config.h" +#ifdef HAVE_CURL #include +#endif #ifdef HAVE_GPGME #include #endif @@ -76,6 +78,7 @@ setenv("no_proxy", conf->no_proxy, 1); } +#ifdef HAVE_CURL CURL *curl; CURLcode res; FILE * file = fopen (tmp_file_location, "w"); @@ -121,6 +124,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);