@@ -57,17 +57,17 @@ elif [ "$keycount" -ne 1 ]; then |
57 | 57 |
|
58 | 58 | keynum= |
59 | 59 | while [ -z "${keynum##*[!0-9]*}" ] || [ "$keynum" -le 0 ] || [ "$keynum" -gt "$keycount" ]; do |
60 | | - echo "$gpgkey" | awk '{ for(i = 1; i <= NF; i++) { print i ") " $i; } }' |
| 60 | + echo "$gpgkey" | awk '{ print NR ") " $0; }' |
61 | 61 | printf 'Select a key: ' |
62 | 62 | read -r keynum |
63 | 63 | done |
64 | 64 | echo "" |
65 | | - gpgkey=$(echo "$gpgkey" | awk "{ print \$${keynum}}") |
| 65 | + gpgkey=$(echo "$gpgkey" | sed -n "${keynum}p") |
66 | 66 | fi |
67 | 67 |
|
68 | 68 | gpgfing=$(gpg --keyid-format 0xLONG --fingerprint "$gpgkey" | grep 'Key fingerprint =' | awk -F' = ' '{print $2}' | tr -d ' ') |
69 | 69 |
|
70 | | -grep "$gpgfing" README.md || (\ |
| 70 | +grep -q "$gpgfing" README.md || (\ |
71 | 71 | echo 'Error: this GPG key fingerprint is not listed in ./README.md' && \ |
72 | 72 | exit 1 \ |
73 | 73 | ) |
@@ -93,15 +93,15 @@ sign() { |
93 | 93 |
|
94 | 94 | # local version=$1 |
95 | 95 |
|
96 | | - ghtaggedversion=$(curl -sL https://raw.githubusercontent.com/nodejs/node/"$1"/src/node_version.h \ |
| 96 | + ghtaggedversion=$(curl -sL "https://raw.githubusercontent.com/nodejs/node/$1/src/node_version.h" \ |
97 | 97 | | awk '/define NODE_(MAJOR|MINOR|PATCH)_VERSION/{ v = v "." $3 } END{ v = "v" substr(v, 2); print v }') |
98 | 98 | if [ "$1" != "${ghtaggedversion}" ]; then |
99 | 99 | echo "Could not find tagged version on github.com/nodejs/node, did you push your tag?" |
100 | 100 | exit 1 |
101 | 101 | fi |
102 | 102 |
|
103 | | - # shellcheck disable=SC2029 |
104 | | - shapath=$(ssh "${customsshkey}" "${webuser}@${webhost}" $signcmd nodejs "$1") |
| 103 | + # shellcheck disable=SC2086,SC2029 |
| 104 | + shapath=$(ssh ${customsshkey} "${webuser}@${webhost}" $signcmd nodejs $1) |
105 | 105 |
|
106 | 106 | echo "${shapath}" | grep -q '^/.*/SHASUMS256.txt$' || \ |
107 | 107 | echo 'Error: No SHASUMS file returned by sign!' \ |
@@ -116,10 +116,11 @@ sign() { |
116 | 116 |
|
117 | 117 | mkdir -p $tmpdir |
118 | 118 |
|
119 | | - scp "${customsshkey}" "${webuser}@${webhost}:${shapath}" "${tmpdir}/${shafile}" |
| 119 | + # shellcheck disable=SC2086 |
| 120 | + scp ${customsshkey} "${webuser}@${webhost}:${shapath}" "${tmpdir}/${shafile}" |
120 | 121 |
|
121 | | - gpg --default-key "$gpgkey" --clearsign --digest-algo SHA256 ${tmpdir}/"${shafile}" |
122 | | - gpg --default-key "$gpgkey" --detach-sign --digest-algo SHA256 ${tmpdir}/"${shafile}" |
| 122 | + gpg --default-key "$gpgkey" --clearsign --digest-algo SHA256 "${tmpdir}/${shafile}" |
| 123 | + gpg --default-key "$gpgkey" --detach-sign --digest-algo SHA256 "${tmpdir}/${shafile}" |
123 | 124 |
|
124 | 125 | echo "Wrote to ${tmpdir}/" |
125 | 126 |
|
@@ -141,8 +142,8 @@ sign() { |
141 | 142 |
|
142 | 143 | if [ "X${yorn}" = "Xy" ]; then |
143 | 144 | scp "${customsshkey}" "${tmpdir}/${shafile}" "${tmpdir}/${shafile}.asc" "${tmpdir}/${shafile}.sig" "${webuser}@${webhost}:${shadir}/" |
144 | | - #shellcheck disable=SC2029 |
145 | | - ssh "${customsshkey}" "${webuser}@${webhost}" chmod 644 "${shadir}/${shafile}.asc" "${shadir}/${shafile}.sig" |
| 145 | + # shellcheck disable=SC2086,SC2029 |
| 146 | + ssh ${customsshkey} "${webuser}@${webhost}" chmod 644 "${shadir}/${shafile}.asc" "${shadir}/${shafile}.sig" |
146 | 147 | break |
147 | 148 | fi |
148 | 149 | done |
|
164 | 165 |
|
165 | 166 | printf "\n# Checking for releases ...\n" |
166 | 167 |
|
167 | | -promotable=$(ssh "${customsshkey}" "$webuser@$webhost" $promotablecmd nodejs) |
| 168 | +# shellcheck disable=SC2086,SC2029 |
| 169 | +promotable=$(ssh ${customsshkey} "$webuser@$webhost" $promotablecmd nodejs) |
168 | 170 |
|
169 | 171 | if [ "X${promotable}" = "X" ]; then |
170 | 172 | echo "No releases to promote!" |
@@ -201,8 +203,8 @@ for version in $versions; do |
201 | 203 | echo "" |
202 | 204 | echo "# Promoting ${version}..." |
203 | 205 |
|
204 | | - # shellcheck disable=SC2029 |
205 | | - ssh "${customsshkey}" "$webuser@$webhost" $promotecmd nodejs "$version" && \ |
| 206 | + # shellcheck disable=SC2086,SC2029 |
| 207 | + ssh ${customsshkey} "$webuser@$webhost" $promotecmd nodejs $version && \ |
206 | 208 | sign "$version" |
207 | 209 |
|
208 | 210 | break |
|