@@ -44,7 +44,7 @@ download_release() {
44
44
filename=" $2 "
45
45
46
46
local platform_and_arch
47
- platform_and_arch=" $( get_platform_and_arch) "
47
+ platform_and_arch=" $( get_platform_and_arch " ${version} " ) "
48
48
local ext
49
49
ext=" $( get_ext) "
50
50
# https://github.com/tj-actions/auto-doc/releases/download/v2.7.1/auto-doc_2.7.1_Linux_x86_64.tar.gz
@@ -81,11 +81,48 @@ install_version() {
81
81
)
82
82
}
83
83
84
+ # from https://stackoverflow.com/questions/4023830/how-to-compare-two-strings-in-dot-separated-version-format-in-bash
85
+ function vercomp() {
86
+ if [[ " $1 " == " $2 " ]]; then
87
+ return 0
88
+ fi
89
+ local IFS=.
90
+ # shellcheck disable=SC2206
91
+ local i ver1=($1 ) ver2=($2 )
92
+ # fill empty fields in ver1 with zeros
93
+ for (( i = ${# ver1[@]} ; i < ${# ver2[@]} ; i++ )) ; do
94
+ ver1[i]=0
95
+ done
96
+ for (( i = 0 ; i < ${# ver1[@]} ; i++ )) ; do
97
+ if [[ -z ${ver2[i]} ]]; then
98
+ # fill empty fields in ver2 with zeros
99
+ ver2[i]=0
100
+ fi
101
+ if (( 10 #${ver1[i]} > 10 #${ver2[i]} )) ; then
102
+ return 1
103
+ fi
104
+ if (( 10 #${ver1[i]} < 10 #${ver2[i]} )) ; then
105
+ return 2
106
+ fi
107
+ done
108
+ return 0
109
+ }
110
+
84
111
function get_platform_and_arch() {
112
+ local _v=${1?}
113
+
85
114
local arch
86
115
arch=" $( get_arch) "
87
116
local platform
88
117
platform=" $( get_platform) "
118
+
119
+ if [[ " ${arch} " == " x86_64" ]]; then
120
+ vercomp " ${_v} " " 0.26.0"
121
+ case $? in
122
+ 2) arch=" musl" ;;
123
+ esac
124
+ fi
125
+
89
126
local platform_and_arch
90
127
if [[ " ${platform} " == " mac" ]] || [[ " ${platform} " == " win" ]]; then
91
128
platform_and_arch=" ${platform} "
@@ -101,14 +138,14 @@ get_arch() {
101
138
arm64)
102
139
arch=' arm64'
103
140
;;
104
- arm6 )
105
- arch=' arm6 '
141
+ arm7 )
142
+ arch=' armv7 '
106
143
;;
107
144
x86_64)
108
145
arch=' x86_64'
109
146
;;
110
147
aarch64)
111
- arch=' arm64 '
148
+ arch=' aarch64 '
112
149
;;
113
150
i386)
114
151
arch=' i386'
0 commit comments