Преглед на файлове

Make nodejs part of the base install

Bob Mottram преди 8 години
родител
ревизия
1c8187e4fe
променени са 2 файла, в които са добавени 118 реда и са изтрити 38 реда
  1. 77
    0
      src/freedombone-image-customise
  2. 41
    38
      src/freedombone-utils-nodejs

+ 77
- 0
src/freedombone-image-customise Целия файл

@@ -1193,6 +1193,82 @@ function image_setup_utils {
1193 1193
     # cmake
1194 1194
 }
1195 1195
 
1196
+function image_install_nodejs {
1197
+    if [ $INSTALLING_MESH ]; then
1198
+        return
1199
+    fi
1200
+
1201
+    chroot "$rootdir" apt-get -yq install nodejs
1202
+    chroot "$rootdir" apt-get -yq install npm curl
1203
+
1204
+    if [ ! -f $rootdir/usr/bin/nodejs ]; then
1205
+        echo $'nodejs was not installed'
1206
+        exit 63962
1207
+    fi
1208
+
1209
+    cat <<EOF > $rootdir/root/install-nodejs.sh
1210
+#!/bin/bash
1211
+PATH="/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/bin"
1212
+NODE_PATH="/usr/lib/node_modules"
1213
+cp /usr/bin/nodejs /usr/local/bin/node
1214
+cp /usr/bin/nodejs /usr/bin/node
1215
+/usr/bin/curl -0 -L https://npmjs.org/install.sh | sh
1216
+npm install -g n@${NODEJS_N_VERSION} --save
1217
+if [ ! -f /usr/local/bin/n ]; then
1218
+    exit 1
1219
+fi
1220
+cp /usr/local/bin/n /usr/bin/n
1221
+n ${NODEJS_VERSION}
1222
+if [ ! -f /usr/local/bin/node ]; then
1223
+    exit 2
1224
+fi
1225
+cp /usr/local/bin/node /usr/bin/nodejs
1226
+cp /usr/local/bin/node /usr/bin/node
1227
+npm install -g npm@${NPM_VERSION} --save
1228
+if [ ! -f /usr/local/bin/npm ]; then
1229
+    exit 3
1230
+fi
1231
+cp /usr/local/bin/npm /usr/bin/npm
1232
+npm install -g pug@2.0.0-beta6 --save
1233
+npm install -g graceful-fs@4.1.10 --save
1234
+npm install -g minimatch@3.0.3 --save
1235
+exit 0
1236
+EOF
1237
+    chmod +x $rootdir/root/install-nodejs.sh
1238
+    chroot "$rootdir" /root/install-nodejs.sh
1239
+    if [ ! "$?" = "0" ]; then
1240
+        rm -f $rootdir/root/install-nodejs.sh
1241
+        exit 7632572
1242
+    fi
1243
+    rm -f $rootdir/root/install-nodejs.sh
1244
+
1245
+    # second npm install attempt seems necessary
1246
+    chroot "$rootdir" npm install -g npm@${NPM_VERSION} --save
1247
+    cp $rootdir/usr/local/bin/npm $rootdir/usr/bin/npm
1248
+
1249
+    # node seems tricky so here we're going to double check
1250
+    # that the versions we expect did get installed
1251
+    CURR_NODE_VERSION=$($rootdir/usr/bin/node --version)
1252
+    CURR_NPM_VERSION=$($rootdir/usr/bin/npm --version)
1253
+    CURR_N_VERSION=$($rootdir/usr/bin/n --version)
1254
+    if [[ "$CURR_NPM_VERSION" != "$NPM_VERSION" ]]; then
1255
+        echo $"Expected npm version $NPM_VERSION but actually have $CURR_NPM_VERSION"
1256
+        exit 6728252
1257
+    fi
1258
+    if [[ "$CURR_N_VERSION" != "$NODEJS_N_VERSION" ]]; then
1259
+        echo $"Expected n version $NODEJS_N_VERSION but actually have $CURR_N_VERSION"
1260
+        exit 5267452
1261
+    fi
1262
+    if [[ "$CURR_NODE_VERSION" != "v${NODEJS_VERSION}" ]]; then
1263
+        echo $"Expected node version $NODEJS_VERSION but actually have $CURR_NODE_VERSION"
1264
+        exit 5274527
1265
+    fi
1266
+
1267
+    if ! grep -q "nodejs_base" $rootdir$COMPLETION_FILE; then
1268
+        echo "nodejs_base" >> $rootdir$COMPLETION_FILE
1269
+    fi
1270
+}
1271
+
1196 1272
 
1197 1273
 ##############################################################################
1198 1274
 
@@ -1339,6 +1415,7 @@ configure_wifi
1339 1415
 configure_user_interface
1340 1416
 image_setup_utils
1341 1417
 image_install_inadyn
1418
+image_install_nodejs
1342 1419
 
1343 1420
 # remove downloaded packages
1344 1421
 chroot $rootdir apt-get -y autoremove

+ 41
- 38
src/freedombone-utils-nodejs Целия файл

@@ -77,7 +77,7 @@ function remove_nodejs {
77 77
         return
78 78
     fi
79 79
     if [ ! -f $NODEJS_INSTALLED_APPS_FILE ]; then
80
-        remove_app nodejs
80
+        #remove_app nodejs
81 81
         return
82 82
     fi
83 83
     sed -i "/install_${1}/d" $NODEJS_INSTALLED_APPS_FILE
@@ -132,20 +132,22 @@ function install_nodejs {
132 132
         mesh_install_nodejs
133 133
         return
134 134
     fi
135
-    if [[ $(is_completed $FUNCNAME) == "1" ]]; then
136
-        upgrade_nodejs
137
-        return
138
-    fi
135
+    if ! grep -q "nodejs_base" $COMPLETION_FILE; then
139 136
 
140
-    apt-get -yq install nodejs
141
-    apt-get -yq install npm curl
137
+        if [[ $(is_completed $FUNCNAME) == "1" ]]; then
138
+            upgrade_nodejs
139
+            return
140
+        fi
142 141
 
143
-    if [ ! -f /usr/bin/nodejs ]; then
144
-        echo $'nodejs was not installed'
145
-        exit 63962
146
-    fi
142
+        apt-get -yq install nodejs
143
+        apt-get -yq install npm curl
147 144
 
148
-    cat <<EOF > /root/install-nodejs.sh
145
+        if [ ! -f /usr/bin/nodejs ]; then
146
+            echo $'nodejs was not installed'
147
+            exit 63962
148
+        fi
149
+
150
+        cat <<EOF > /root/install-nodejs.sh
149 151
 #!/bin/bash
150 152
 PATH="/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/bin"
151 153
 NODE_PATH="/usr/lib/node_modules"
@@ -173,34 +175,35 @@ npm install -g graceful-fs@4.1.10 --save
173 175
 npm install -g minimatch@3.0.3 --save
174 176
 exit 0
175 177
 EOF
176
-    chmod +x /root/install-nodejs.sh
177
-    /root/install-nodejs.sh
178
-    if [ ! "$?" = "0" ]; then
178
+        chmod +x /root/install-nodejs.sh
179
+        /root/install-nodejs.sh
180
+        if [ ! "$?" = "0" ]; then
181
+            rm -f /root/install-nodejs.sh
182
+            exit 7632572
183
+        fi
179 184
         rm -f /root/install-nodejs.sh
180
-        exit 7632572
181
-    fi
182
-    rm -f /root/install-nodejs.sh
183 185
 
184
-    # second npm install attempt seems necessary
185
-    npm install -g npm@${NPM_VERSION} --save
186
-    cp /usr/local/bin/npm /usr/bin/npm
187
-
188
-    # node seems tricky so here we're going to double check
189
-    # that the versions we expect did get installed
190
-    CURR_NODE_VERSION=$(node --version)
191
-    CURR_NPM_VERSION=$(npm --version)
192
-    CURR_N_VERSION=$(n --version)
193
-    if [[ "$CURR_NPM_VERSION" != "$NPM_VERSION" ]]; then
194
-        echo $"Expected npm version $NPM_VERSION but actually have $CURR_NPM_VERSION"
195
-        exit 6728252
196
-    fi
197
-    if [[ "$CURR_N_VERSION" != "$NODEJS_N_VERSION" ]]; then
198
-        echo $"Expected n version $NODEJS_N_VERSION but actually have $CURR_N_VERSION"
199
-        exit 5267452
200
-    fi
201
-    if [[ "$CURR_NODE_VERSION" != "v${NODEJS_VERSION}" ]]; then
202
-        echo $"Expected node version $NODEJS_VERSION but actually have $CURR_NODE_VERSION"
203
-        exit 5274527
186
+        # second npm install attempt seems necessary
187
+        npm install -g npm@${NPM_VERSION} --save
188
+        cp /usr/local/bin/npm /usr/bin/npm
189
+
190
+        # node seems tricky so here we're going to double check
191
+        # that the versions we expect did get installed
192
+        CURR_NODE_VERSION=$(node --version)
193
+        CURR_NPM_VERSION=$(npm --version)
194
+        CURR_N_VERSION=$(n --version)
195
+        if [[ "$CURR_NPM_VERSION" != "$NPM_VERSION" ]]; then
196
+            echo $"Expected npm version $NPM_VERSION but actually have $CURR_NPM_VERSION"
197
+            exit 6728252
198
+        fi
199
+        if [[ "$CURR_N_VERSION" != "$NODEJS_N_VERSION" ]]; then
200
+            echo $"Expected n version $NODEJS_N_VERSION but actually have $CURR_N_VERSION"
201
+            exit 5267452
202
+        fi
203
+        if [[ "$CURR_NODE_VERSION" != "v${NODEJS_VERSION}" ]]; then
204
+            echo $"Expected node version $NODEJS_VERSION but actually have $CURR_NODE_VERSION"
205
+            exit 5274527
206
+        fi
204 207
     fi
205 208
 
206 209
     if [ $1 ]; then