aboutsummaryrefslogtreecommitdiffstats
path: root/package/system/opkg/patches/290-clarify-download-errors.patch
blob: 5512f675d8f8876f1f7eb46b4ff693a6fe3a3dcd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
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;
       }