OLD | NEW |
---|---|
(Empty) | |
1 #!/bin/bash | |
2 | |
3 # Copyright 2017 The Chromium Authors. All rights reserved. | |
4 # Use of this source code is governed by a BSD-style license that can be | |
5 # found in the LICENSE file. | |
6 | |
7 # Script for updating Node binaries. | |
8 # 1) Update NODE_VERSION variable below to the desired version. | |
9 # 2) Run this script. | |
10 # 3) Upload the binaries to the Google Storage bucket (commands to upload | |
11 # binaries are printed at step 2, look for "gsutil.py"). | |
12 # 4) Land a CL with the changes generated by this script. | |
13 | |
14 cd "$(dirname "$0")" | |
15 | |
16 BASE_URL="https://nodejs.org/dist" | |
17 NODE_VERSION="v6.9.4" | |
18 | |
19 ####################################### | |
20 # Updates Node binary for Mac | |
21 ####################################### | |
22 update_mac() { | |
23 local SUFFIX="darwin-x64" | |
24 local FILENAME="node-${NODE_VERSION}-${SUFFIX}.tar.gz" | |
25 local FOLDER="mac" | |
26 local URL="${BASE_URL}/${NODE_VERSION}/${FILENAME}" | |
27 if [ -f "${FOLDER}/${FILENAME}" ]; then | |
28 rm ${FOLDER}/${FILENAME} | |
Dan Beam
2017/01/11 20:17:50
nit: in a couple cases you ask whether a directory
palmer
2017/01/11 20:53:51
It's crucial to use the quotes, by the way, to avo
Dan Beam
2017/01/11 20:58:58
yeah, this is one of the things i didn't mention b
dpapad
2017/01/11 21:58:09
Done.
dpapad
2017/01/11 21:58:09
Done.
| |
29 fi | |
30 wget -P ${FOLDER}/ ${URL} | |
palmer
2017/01/11 20:53:51
Same thing here:
wget -P "${FOLDER}/" "${URL}
dpapad
2017/01/11 21:58:09
Done.
| |
31 | |
32 # Unpack temporarily, delete NPM symlink and re-pack. | |
33 tar xfz ${FOLDER}/${FILENAME} -C ${FOLDER}/ | |
34 rm ${FOLDER}/${FILENAME} | |
35 rm ${FOLDER}/node-${NODE_VERSION}-${SUFFIX}/bin/npm | |
36 | |
37 # Drop the version info from the name, since it is redundant and would make | |
38 # rolling new versions more involved. | |
39 mv ${FOLDER}/node-${NODE_VERSION}-${SUFFIX}/ ${FOLDER}/node-${SUFFIX}/ | |
40 tar cfz ${FOLDER}/node-${SUFFIX}.tar.gz -C ${FOLDER} node-${SUFFIX}/ | |
41 local sha1 | |
42 sha1="$(sha1sum ${FOLDER}/node-${SUFFIX}.tar.gz | cut -d ' ' -f1)" | |
43 echo ${sha1} > ${FOLDER}/node-${SUFFIX}.tar.gz.sha1 | |
44 echo "Please execute manually the following:" | |
45 echo "> gsutil.py cp ${FOLDER}/node-${SUFFIX}.tar.gz gs://chromium-nodejs/${NO DE_VERSION:1}/${sha1}" | |
46 echo "DONE updating Mac." | |
47 } | |
48 | |
49 ####################################### | |
50 # Updates Node binary for Linux | |
51 ####################################### | |
52 update_linux() { | |
53 local SUFFIX="linux-x64" | |
54 local FILENAME="node-${NODE_VERSION}-${SUFFIX}.tar.xz" | |
55 local FOLDER="linux" | |
56 local URL="${BASE_URL}/${NODE_VERSION}/${FILENAME}" | |
57 if [ -f "${FOLDER}/${FILENAME}" ]; then | |
58 rm ${FOLDER}/${FILENAME} | |
59 fi | |
60 wget -P ${FOLDER}/ ${URL} | |
61 | |
62 # Unpack temporarily, delete NPM symlink and re-pack as gz (not xz). | |
63 tar xf ${FOLDER}/${FILENAME} -C ${FOLDER}/ | |
64 rm ${FOLDER}/${FILENAME} | |
65 rm ${FOLDER}/node-${NODE_VERSION}-${SUFFIX}/bin/npm | |
66 | |
67 # Drop the version info from the name, since it is redundant and would make | |
68 # rolling new versions more involved. | |
69 mv ${FOLDER}/node-${NODE_VERSION}-${SUFFIX}/ ${FOLDER}/node-${SUFFIX}/ | |
70 tar cfz ${FOLDER}/node-${SUFFIX}.tar.gz -C ${FOLDER} node-${SUFFIX}/ | |
71 local sha1 | |
72 sha1="$(sha1sum ${FOLDER}/node-${SUFFIX}.tar.gz | cut -d ' ' -f1)" | |
73 echo ${sha1} > ${FOLDER}/node-${SUFFIX}.tar.gz.sha1 | |
74 echo "Please execute manually the following:" | |
75 echo "> gsutil.py cp ${FOLDER}/node-${SUFFIX}.tar.gz gs://chromium-nodejs/${NO DE_VERSION:1}/${sha1}" | |
76 echo "DONE updating Linux." | |
77 } | |
78 | |
79 ####################################### | |
80 # Updates Node binary for Windows | |
81 ####################################### | |
82 update_win() { | |
83 local FILENAME="node.exe" | |
84 local FOLDER="win" | |
85 local WINDOWS_URL="${BASE_URL}/${NODE_VERSION}/win-x64/${FILENAME}" | |
86 if [ -f "${FOLDER}/${FILENAME}" ]; then | |
87 rm ${FOLDER}/${FILENAME} | |
88 fi | |
89 wget -P ${FOLDER}/ ${WINDOWS_URL} | |
90 local sha1 | |
91 sha1="$(sha1sum ${FOLDER}/node.exe | cut -d ' ' -f1)" | |
92 echo ${sha1} > ${FOLDER}/node.exe.sha1 | |
93 echo "Please execute manually the following:" | |
94 echo "> gsutil.py cp ${FOLDER}/node.exe gs://chromium-nodejs/${NODE_VERSION:1} /${sha1}" | |
95 echo "DONE updating Windows." | |
96 } | |
97 | |
98 update_linux | |
99 update_mac | |
100 update_win | |
101 | |
102 # Update DEPS to point to the new Google Storage bucket subfolder. | |
103 sed -i "s/\(chromium-nodejs\/\)\([0-9]\|\.\)\+/\1${NODE_VERSION:1}/" ../../DEPS | |
Dan Beam
2017/01/11 20:17:50
nit: can you use a different sed separator? like
Dan Beam
2017/01/11 20:17:50
[0-9]\|\. could just be [0-9\.]
dpapad
2017/01/11 21:58:09
Done and done.
| |
OLD | NEW |