Skip to content

Commit 8736b99

Browse files
committed
fix version matching
1 parent 567ce55 commit 8736b99

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

src/rstudio-server/install.sh

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,20 +63,22 @@ check_packages() {
6363
find_version_from_git_tags() {
6464
local variable_name=$1
6565
local requested_version=${!variable_name}
66+
local tmp
6667
if [ "${requested_version}" = "none" ]; then return; fi
6768
local repository=$2
6869
local prefix=${3:-"tags/v"}
6970
local separator=${4:-"."}
7071
if [ "$(echo "${requested_version}" | grep -o "." | wc -l)" != "2" ]; then
7172
local escaped_separator=${separator//./\\.}
72-
local regex="${prefix}\\K[0-9]+${escaped_separator}[0-9]+${escaped_separator}[0-9]+\\+[0-9]+$"
73+
local regex="${prefix}\\K[0-9]+${escaped_separator}[0-9]+${escaped_separator}[0-9]+\+[0-9]+$"
7374
local version_list
7475
version_list="$(git ls-remote --tags "${repository}" | grep -oP "${regex}" | tr -d ' ' | tr "${separator}" "." | sort -rV)"
7576
if [ "${requested_version}" = "latest" ] || [ "${requested_version}" = "current" ] || [ "${requested_version}" = "lts" ]; then
7677
declare -g "${variable_name}"="$(echo "${version_list}" | head -n 1)"
7778
else
79+
tmp=${requested_version//+/\\+}
7880
set +e
79-
declare -g "${variable_name}"="$(echo "${version_list}" | grep -E -m 1 "^${requested_version//./\\.}([\\.\\s]|$)")"
81+
declare -g "${variable_name}"="$(echo "${version_list}" | grep -E -m 1 "^${tmp//./\\.}([\\.\\s]|$)")"
8082
set -e
8183
fi
8284
fi

0 commit comments

Comments
 (0)