Hi,

sorry for the late reply. i like the idea. however, please move the code
into get_image() inside package/base-files/files/lib/upgrade/common.sh
where the http/ftp code resides.

        John

On 06/07/2016 15:40, ad...@yapic.net wrote:
> From: Sergey Sergeev <ad...@yapic.net>
> 
> scp uls(like this 
> scp://adron@192.168.88.6:lede/lede-ar71xx-mikrotik-NAND-512b-squashfs-sysupgrade.bin)
>   is supported too. And you also can specify custom ssh 
> port(...8.88.6:22110:lede...)
> 
> Signed-off-by: Sergey Sergeev <ad...@yapic.net>
> ---
>  package/base-files/files/sbin/sysupgrade | 39 
> ++++++++++++++++++++++++++++++++
>  1 file changed, 39 insertions(+)
> 
> diff --git a/package/base-files/files/sbin/sysupgrade 
> b/package/base-files/files/sbin/sysupgrade
> index 2f441f8..834cc3a 100755
> --- a/package/base-files/files/sbin/sysupgrade
> +++ b/package/base-files/files/sbin/sysupgrade
> @@ -135,6 +135,45 @@ sysupgrade_image_check="platform_check_image"
>  
>  include /lib/upgrade
>  
> +download_if_URL(){
> +     local url="$1"
> +     local url_repl_file="/tmp/sysupgrade-URL.bin"
> +     local cmd
> +
> +     case "$url" in
> +             scp://*)
> +                     local scp_url="${url#scp://}"
> +                     local custom_port=$scp_url
> +                     scp_url=${scp_url/:[[:digit:]]*:/:} # chomp custom ssh 
> port
> +                     # if custom ssh port is specified
> +                     if [ "$custom_port" != "$scp_url" ]; then
> +                             custom_port=${custom_port#*:}
> +                             custom_port=${custom_port%%:*}
> +                     else
> +                             custom_port=""
> +                     fi
> +                     cmd="scp"
> +                     [ -n "$custom_port" ] && cmd="$cmd -P $custom_port"
> +                     cmd="$cmd \"$scp_url\" $url_repl_file"
> +                     ;;
> +             *://*) cmd="wget \"$url\" -O$url_repl_file" ;;
> +             *) return 0 ;;
> +     esac
> +
> +     eval "$cmd" || {
> +             echo "download process is failed! ret = $?"
> +             echo "cmd: $cmd"
> +             rm -f $url_repl_file
> +             return 1
> +     }
> +
> +     ARGV=${ARGV/"$url"/"$url_repl_file"}
> +     return 0
> +}
> +
> +# if URL was specified then download image file from network
> +download_if_URL "$ARGV" || exit 1
> +
>  [ "$1" = "nand" ] && nand_upgrade_stage2 $@
>  
>  do_save_conffiles() {
> 

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

Reply via email to