diff --git a/data/helpers.d/network b/data/helpers.d/network new file mode 100644 index 000000000..080ac68e2 --- /dev/null +++ b/data/helpers.d/network @@ -0,0 +1,15 @@ +# Find a free port and return it +# +# example: port=$(ynh_find_port 8080) +# +# usage: ynh_find_port begin_port +# | arg: begin_port - port to start to search +ynh_find_port () { + port=$(echo "$1" | sed 's/[^0-9]//g') # Eliminate all non-digit characters + test -n "$port" || ynh_die "The argument of ynh_find_port must be a valid port." + while ! sudo yunohost app checkport $port --quiet # Check if the port is free + do + port=$((port+1)) # Else, pass to next port + done + echo $port +}