diff options
author | Hannu Nyman <hannu.nyman@iki.fi> | 2017-01-23 11:40:29 +0200 |
---|---|---|
committer | Jo-Philipp Wich <jo@mein.io> | 2017-01-26 11:38:20 +0100 |
commit | 7ba20627445972753fb41677fc24c5377b86feba (patch) | |
tree | 202d59fcbb70bb94db09103ff2821e9938da1d5b /package/system/opkg/patches | |
parent | 6cb8e30837ce1bfff8c3c4e18bc8ccf8b4c2c8d5 (diff) | |
download | upstream-7ba20627445972753fb41677fc24c5377b86feba.tar.gz upstream-7ba20627445972753fb41677fc24c5377b86feba.tar.bz2 upstream-7ba20627445972753fb41677fc24c5377b86feba.zip |
opkg: clarify messages and errors related to downloads
Clarify opkg's messages related to downloads:
* more visible error message for package list download failure
* separate error message for signature file download error
* if wget returns 4, signal the network error more clearly
* remove '.' from end of filenames and URLs
* try signature check only if the package list was downloaded ok.
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
Diffstat (limited to 'package/system/opkg/patches')
-rw-r--r-- | package/system/opkg/patches/290-clarify-download-errors.patch | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/package/system/opkg/patches/290-clarify-download-errors.patch b/package/system/opkg/patches/290-clarify-download-errors.patch new file mode 100644 index 0000000000..5512f675d8 --- /dev/null +++ b/package/system/opkg/patches/290-clarify-download-errors.patch @@ -0,0 +1,61 @@ +--- a/libopkg/opkg_cmd.c ++++ b/libopkg/opkg_cmd.c +@@ -85,6 +85,7 @@ opkg_update_cmd(int argc, char **argv) + char *tmp; + int err; + int failures; ++ int pkglist_dl_error; + char *lists_dir; + pkg_src_list_elt_t *iter; + pkg_src_t *src; +@@ -130,15 +131,19 @@ opkg_update_cmd(int argc, char **argv) + sprintf_alloc(&url, "%s/%s", src->value, src->gzip ? "Packages.gz" : "Packages"); + + sprintf_alloc(&list_file_name, "%s/%s", lists_dir, src->name); ++ pkglist_dl_error = 0; + if (opkg_download(url, list_file_name, NULL, NULL, 0)) { + failures++; ++ pkglist_dl_error = 1; ++ opkg_msg(NOTICE, "*** Failed to download the package list from %s\n\n", ++ url); + } else { +- opkg_msg(NOTICE, "Updated list of available packages in %s.\n", ++ opkg_msg(NOTICE, "Updated list of available packages in %s\n", + list_file_name); + } + free(url); + #if defined(HAVE_GPGME) || defined(HAVE_OPENSSL) || defined(HAVE_USIGN) +- if (conf->check_signature) { ++ if (pkglist_dl_error == 0 && conf->check_signature) { + /* download detached signitures to verify the package lists */ + /* get the url for the sig file */ + if (src->extra_data) /* debian style? */ +@@ -156,7 +161,7 @@ opkg_update_cmd(int argc, char **argv) + err = opkg_download(url, tmp_file_name, NULL, NULL, 0); + if (err) { + failures++; +- opkg_msg(NOTICE, "Signature check failed.\n"); ++ opkg_msg(NOTICE, "Signature file download failed.\n"); + } else { + err = opkg_verify_file (list_file_name, tmp_file_name); + if (err == 0) +--- a/libopkg/opkg_download.c ++++ b/libopkg/opkg_download.c +@@ -91,7 +91,7 @@ opkg_download(const char *src, const cha + char *src_base = basename(src_basec); + char *tmp_file_location; + +- opkg_msg(NOTICE,"Downloading %s.\n", src); ++ opkg_msg(NOTICE,"Downloading %s\n", src); + + if (str_starts_with(src, "file:")) { + const char *file_src = src + 5; +@@ -175,6 +175,8 @@ opkg_download(const char *src, const cha + + if (res) { + opkg_msg(ERROR, "Failed to download %s, wget returned %d.\n", src, res); ++ if (res == 4) ++ opkg_msg(ERROR, "Check your network settings and connectivity.\n\n"); + free(tmp_file_location); + return -1; + } |