소스 검색

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
     # cmake
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
 configure_user_interface
1415
 configure_user_interface
1340
 image_setup_utils
1416
 image_setup_utils
1341
 image_install_inadyn
1417
 image_install_inadyn
1418
+image_install_nodejs
1342
 
1419
 
1343
 # remove downloaded packages
1420
 # remove downloaded packages
1344
 chroot $rootdir apt-get -y autoremove
1421
 chroot $rootdir apt-get -y autoremove

+ 41
- 38
src/freedombone-utils-nodejs 파일 보기

77
         return
77
         return
78
     fi
78
     fi
79
     if [ ! -f $NODEJS_INSTALLED_APPS_FILE ]; then
79
     if [ ! -f $NODEJS_INSTALLED_APPS_FILE ]; then
80
-        remove_app nodejs
80
+        #remove_app nodejs
81
         return
81
         return
82
     fi
82
     fi
83
     sed -i "/install_${1}/d" $NODEJS_INSTALLED_APPS_FILE
83
     sed -i "/install_${1}/d" $NODEJS_INSTALLED_APPS_FILE
132
         mesh_install_nodejs
132
         mesh_install_nodejs
133
         return
133
         return
134
     fi
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
 #!/bin/bash
151
 #!/bin/bash
150
 PATH="/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/bin"
152
 PATH="/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/bin"
151
 NODE_PATH="/usr/lib/node_modules"
153
 NODE_PATH="/usr/lib/node_modules"
173
 npm install -g minimatch@3.0.3 --save
175
 npm install -g minimatch@3.0.3 --save
174
 exit 0
176
 exit 0
175
 EOF
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
         rm -f /root/install-nodejs.sh
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
     fi
207
     fi
205
 
208
 
206
     if [ $1 ]; then
209
     if [ $1 ]; then