From: Sergey Sergeev <ad...@yapic.net>

I did not encapsulate the logic in get_image() because too much code
(like dd if=...) expects to work with the file instead of url. And
use get_image would lead to repeated data reloads from url.

Signed-off-by: Sergey Sergeev <ad...@yapic.net>
---
 package/base-files/files/sbin/sysupgrade | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/package/base-files/files/sbin/sysupgrade 
b/package/base-files/files/sbin/sysupgrade
index 2f441f8..4391e95 100755
--- a/package/base-files/files/sbin/sysupgrade
+++ b/package/base-files/files/sbin/sysupgrade
@@ -101,6 +101,26 @@ EOF
 # prevent messages from clobbering the tarball when using stdout
 [ "$CONF_BACKUP" = "-" ] && export VERBOSE=0
 
+wget_if_URL(){
+       local sed_head='^.*\('
+       local url_pattern='\(https\?\|ftp\)://[^ ]*'
+       local sed_tail='\).*$'
+       local url=$(echo "$ARGV" | sed -ne 
"s#$sed_head$url_pattern$sed_tail#\1#p")
+       [ -z "$url" ] && return 1
+       rm -f /tmp/sysupgrade-URL.bin
+       wget "$url" -O "/tmp/sysupgrade-URL.bin" || {
+               echo "Wget return error $? for url '$url'"
+               echo "Exiting"
+               rm -f /tmp/sysupgrade-URL.bin
+               exit 1
+       }
+       ARGV=$(echo "$ARGV" | sed -e "s#$url_pattern#/tmp/sysupgrade-URL.bin#")
+       return 0
+}
+
+#if URL has been specified then downloading image file via wget
+wget_if_URL
+
 add_uci_conffiles() {
        local file="$1"
        ( find $(sed -ne '/^[[:space:]]*$/d; /^#/d; p' \
-- 
1.9.1


_______________________________________________
Lede-dev mailing list
Lede-dev@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/lede-dev

Reply via email to