aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHannu Nyman <hannu.nyman@iki.fi>2017-01-23 11:40:29 +0200
committerJo-Philipp Wich <jo@mein.io>2017-01-26 11:38:20 +0100
commit7ba20627445972753fb41677fc24c5377b86feba (patch)
tree202d59fcbb70bb94db09103ff2821e9938da1d5b
parent6cb8e30837ce1bfff8c3c4e18bc8ccf8b4c2c8d5 (diff)
downloadupstream-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>
-rw-r--r--package/system/opkg/Makefile2
-rw-r--r--package/system/opkg/patches/290-clarify-download-errors.patch61
2 files changed, 62 insertions, 1 deletions
diff --git a/package/system/opkg/Makefile b/package/system/opkg/Makefile
index 15d4ea0ce9..39e6b4d058 100644
--- a/package/system/opkg/Makefile
+++ b/package/system/opkg/Makefile
@@ -11,7 +11,7 @@ include $(INCLUDE_DIR)/version.mk
include $(INCLUDE_DIR)/feeds.mk
PKG_NAME:=opkg
-PKG_RELEASE:=16
+PKG_RELEASE:=17
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=http://git.yoctoproject.org/git/opkg
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;
+ }