summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThierry Vignaud <tv@mageia.org>2012-01-23 19:06:16 +0000
committerThierry Vignaud <tv@mageia.org>2012-01-23 19:06:16 +0000
commit3e8cb7a700bd3bdf23fd17e803a646d3a4914ef5 (patch)
treeaed988a98640eb9e1ac07fc95f431a8fda4f1cb0
parent9f0728688f938f85b2f1ddc54a5e459a78266e5f (diff)
downloaddrakx-3e8cb7a700bd3bdf23fd17e803a646d3a4914ef5.tar
drakx-3e8cb7a700bd3bdf23fd17e803a646d3a4914ef5.tar.gz
drakx-3e8cb7a700bd3bdf23fd17e803a646d3a4914ef5.tar.bz2
drakx-3e8cb7a700bd3bdf23fd17e803a646d3a4914ef5.tar.xz
drakx-3e8cb7a700bd3bdf23fd17e803a646d3a4914ef5.zip
(ftp_prepare) try arched directory for FTP installs too...
-rw-r--r--mdk-stage1/NEWS2
-rw-r--r--mdk-stage1/network.c10
2 files changed, 11 insertions, 1 deletions
diff --git a/mdk-stage1/NEWS b/mdk-stage1/NEWS
index 1fa1db405..30ea111e7 100644
--- a/mdk-stage1/NEWS
+++ b/mdk-stage1/NEWS
@@ -1,4 +1,4 @@
-- try to use arch-prefixed location for HTTP installs (mga#2578)
+- try to use arch-prefixed location for FTP & HTTP installs (mga#2578)
1.58
- add support for kernel compressed as XZ
diff --git a/mdk-stage1/network.c b/mdk-stage1/network.c
index 08766b9dd..a156e153f 100644
--- a/mdk-stage1/network.c
+++ b/mdk-stage1/network.c
@@ -1072,6 +1072,16 @@ enum return_type ftp_prepare(void)
fd = ftp_start_download(ftp_serv_response, location_full, &size);
}
+ /* Try arched directory */
+ if (fd < 0) {
+ log_message("%s failed.", location_full);
+ char *with_arch = asprintf_("%s%s/%s/%s", answers[1][0] == '/' ? "" : "/", answers[1], ARCH, COMPRESSED_FILE_REL("/"));
+ log_message("trying %s...", with_arch);
+ fd = http_download_file(answers[0], with_arch, &size, use_http_proxy ? "http" : NULL, http_proxy_host, http_proxy_port);
+ if (0 < fd)
+ strcpy(location_full, with_arch);
+ }
+
if (fd < 0) {
char *msg = str_ftp_error(fd);
log_message("FTP: error get %d for remote file %s", fd, location_full);