Greetings!
This might just belong over in the bug tracker bug I figured I should start here. I'm trying to build some of the 14.0 appliances and have been successful with a few (core, LAMP) but I'm running into problems with etherpad. TL;DR the install script for node.js seems to be broken (yes, I did do the git pull in common). My attempt to fix it is below but etherpad-lite eventually complains that it's not the right version of node.js
It does okay until it starts running the nodejs-install common script. Then I get this:
fab-chroot build/root.patched --script /turnkey/fab/common/conf/nodejs-install + SRC=/usr/local/src + dl http://nodejs.org/dist/latest/SHASUMS.txt /usr/local/src + '[' http://127.0.0.1:8124 ']' + PROXY='--proxy http://127.0.0.1:8124' + cd /usr/local/src + curl -L -f -O --proxy http://127.0.0.1:8124 http://nodejs.org/dist/latest/SHASUMS.txt % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (22) The requested URL returned error: 404 Not Found /usr/share/fab/product.mk:476: recipe for target 'build/stamps/root.patched' failed make: *** [build/stamps/root.patched] Error 22
I've tried exploring things a little bit. A quick examination of 'nodejs.org/dist/latest' shows that in fact SHASUMS.txt does not exist. There is a file called SHASUMS256.txt so I tried messing with that, edited the nodejs-install script to get it to grab the sha256 file, little mangling of the regex to get the latest tarball (there's two now, .gz and .xz so I had to pick one), hoping that would be enough.
#!/bin/bash -ex SRC=/usr/local/src dl() { [ "$FAB_HTTP_PROXY" ] && PROXY="--proxy $FAB_HTTP_PROXY" cd $2; curl -L -f -O $PROXY $1; cd - } dl http://nodejs.org/dist/latest/SHASUMS256.txt $SRC TARBALL_RE="linux-x${FAB_ARCH: -2:2}.*gz" TARBALL=$(grep $TARBALL_RE $SRC/SHASUMS256.txt | cut -d "" -f 3) dl http://nodejs.org/dist/latest/${TARBALL} $SRC grep $TARBALL $SRC/SHASUMS256.txt > $SRC/$TARBALL.sha1 cd $SRC sha256sum -c $TARBALL.sha1 rm SHASUMS256.txt $TARBALL.sha1 tar -zxf $SRC/$TARBALL -C $SRC rm $SRC/$TARBALL ln -s $SRC/node-v* $SRC/node for f in $(ls $SRC/node/bin); do ln -s $SRC/node/bin/$f /usr/local/bin/$f done # npm completion npm completion > /etc/skel/.bashrc.d/npm chmod +x /etc/skel/.bashrc.d/npm cp /etc/skel/.bashrc.d/npm /root/.bashrc.d/npm
This gets it past that problem but, not surprisingly, etherpad is still unhappy. I eventually get this error when it tries to retrieve and install etherpad-lite and am not sure how to proceed:
+ [ http://127.0.0.1:8124 ] + export HTTP_PROXY=http://127.0.0.1:8124 + dirname /opt/etherpad-lite + cd /opt + git clone https://github.com/ether/etherpad-lite.git Cloning into 'etherpad-lite'... remote: Counting objects: 26994, done. remote: Total 26994 (delta 0), reused 0 (delta 0), pack-reused 26993 Receiving objects: 100% (26994/26994), 19.04 MiB | 3.76 MiB/s, done. Resolving deltas: 100% (19087/19087), done. Checking connectivity... done. + cd /opt/etherpad-lite + ./bin/installDeps.sh You're running a wrong version of node, or io.js is not installed. You're using v4.1.0, we need v0.10.x, v0.11.x or v0.12.x /usr/share/fab/product.mk:476: recipe for target 'build/stamps/root.patched' failed make: *** [build/stamps/root.patched] Error 1
Basically, node.js is not installed right (or is not the right version). Those version numbers are so drastically different I'm guessing something is fundamentally effed up here but I don't know anything about node.js or etherpad-lite's internals so I'm at a loss. The spreadsheet indicates that the 14.0 etherpad appliance has made it through QA already (I think) so I was suprised to run into this. I'm also guessing that node.js is a key part of other appliances so this probably needs some attention from someone that knows more than me!
Thanks!
Seth B.