#!/usr/bin/env bash # Exit on command errors and treat unset variables as an error set -eu source /usr/share/yunohost/helpers source functions.sh # # finds maximum in a sequence of numbers, # e.g. # max 1 2 3 => 3 # max() { local m=$1 local other=$@ for n in $other do if [ $n -gt $m ]; then m=$n fi done echo $m } # # returns true if first paramter is greater than second where # parameter is in "digit-dot" format, e.g. # # is_new_version_available 1.2.1 1.2.0 => true # is_new_version_available 1.2.1 1.2 => true # is_new_version_available() { local installed=( $(echo "$1" | tr '.' ' ') ) local available=( $(echo "$2" | tr '.' ' ') ) local len="$(max "${#installed[*]}" "${#available[*]}")" for ((i=0; i