meteor icon indicating copy to clipboard operation
meteor copied to clipboard

Meteor 1.5

Open thiagopromano opened this issue 7 years ago • 7 comments

Hi, will there be an update for Meteor 1.5?

thiagopromano avatar Sep 28 '17 21:09 thiagopromano

Hi, If you don't want to wait for an update, you can build your own Meteor 1.5. Here's an exemple of what I did to build Meteor 1.5.2.2 for ARMv6. It have to start mongod manually and set MONGO_URL to tell meteor to use it, but in the end it's working :)

diff --git a/meteor b/meteor
index 1e608a0..6187e6c 100755
--- a/meteor
+++ b/meteor
@@ -21,7 +21,7 @@ if [ "$UNAME" = "Darwin" ] ; then
     ARCH="x86_64"
 elif [ "$UNAME" = "Linux" ] ; then
     ARCH="$(uname -m)"
-    if [ "$ARCH" != "i686" -a "$ARCH" != "x86_64" ] ; then
+    if [ "$ARCH" != "i686" -a "$ARCH" != "x86_64" -a "$ARCH" != "armv6l" ] ; then
         echo "Unsupported architecture: $ARCH"
         echo "Meteor only supports i686 and x86_64 for now."
         exit 1
diff --git a/scripts/build-dev-bundle-common.sh b/scripts/build-dev-bundle-common.sh
index 2fb80fe..43740ab 100644
--- a/scripts/build-dev-bundle-common.sh
+++ b/scripts/build-dev-bundle-common.sh
@@ -13,7 +13,7 @@ NPM_VERSION=4.6.1
 NODE_BUILD_NUMBER=111
 
 if [ "$UNAME" == "Linux" ] ; then
-    if [ "$ARCH" != "i686" -a "$ARCH" != "x86_64" ] ; then
+    if [ "$ARCH" != "i686" -a "$ARCH" != "x86_64" -a "$ARCH" != "armv6l" ] ; then
         echo "Unsupported architecture: $ARCH"
         echo "Meteor only supports i686 and x86_64 for now."
         exit 1
@@ -62,6 +62,9 @@ then
     elif [ "$ARCH" == "x86_64" ]
     then
         NODE_TGZ="node-v${NODE_VERSION}-linux-x64.tar.gz"
+    elif [ "$ARCH" == "armv6l" ]
+    then
+        NODE_TGZ="node-v${NODE_VERSION}-linux-armv6l.tar.gz"
     else
         echo "Unknown architecture: $UNAME $ARCH"
         exit 1
diff --git a/scripts/generate-dev-bundle.sh b/scripts/generate-dev-bundle.sh
index 85a95af..4a94720 100755
--- a/scripts/generate-dev-bundle.sh
+++ b/scripts/generate-dev-bundle.sh
@@ -42,20 +42,31 @@ downloadOfficialNode() {
 }
 
 # Try each strategy in the following order:
-extractNodeFromTarGz || downloadNodeFromS3 || downloadOfficialNode
-
-# Download Mongo from mongodb.com
-MONGO_NAME="mongodb-${OS}-${ARCH}-${MONGO_VERSION}"
-MONGO_TGZ="${MONGO_NAME}.tgz"
-MONGO_URL="http://fastdl.mongodb.org/${OS}/${MONGO_TGZ}"
-echo "Downloading Mongo from ${MONGO_URL}"
-curl "${MONGO_URL}" | tar zx
-
-# Put Mongo binaries in the right spot (mongodb/bin)
-mkdir -p mongodb/bin
-mv "${MONGO_NAME}/bin/mongod" mongodb/bin
-mv "${MONGO_NAME}/bin/mongo" mongodb/bin
-rm -rf "${MONGO_NAME}"
+extractNodeFromTarGz || downloadOfficialNode || downloadNodeFromS3
+
+if [ "$ARCH" == "armv6l" ] ; then
+    # Download Mongo from 4commerce-technologies-ag / meteor-universal
+    MONGO_VERSION=2.6.7
+    MONGO_NAME="mongo_Linux_${ARCH}_v${MONGO_VERSION}"
+    MONGO_TGZ="${MONGO_NAME}.tar.gz"
+    MONGO_URL="https://bintray.com/4commerce-technologies-ag/meteor-universal/download_file?file_path=arm_dev_bundles%2F${MONGO_TGZ}"
+    echo "Downloading Mongo from ${MONGO_URL}"
+    curl -L "${MONGO_URL}" | tar zx
+else
+    # Download Mongo from mongodb.com
+    MONGO_NAME="mongodb-${OS}-${ARCH}-${MONGO_VERSION}"
+    MONGO_TGZ="${MONGO_NAME}.tgz"
+    MONGO_URL="http://fastdl.mongodb.org/${OS}/${MONGO_TGZ}"
+    echo "Downloading Mongo from ${MONGO_URL}"
+    curl "${MONGO_URL}" | tar zx
+    # Put Mongo binaries in the right spot (mongodb/bin)
+    mkdir -p mongodb/bin
+    mv "${MONGO_NAME}/bin/mongod" mongodb/bin
+    mv "${MONGO_NAME}/bin/mongo" mongodb/bin
+    rm -rf "${MONGO_NAME}"
+fi
+
+
 
 # export path so we use the downloaded node and npm
 export PATH="$DIR/bin:$PATH"
diff --git a/tools/isobuild/bundler.js b/tools/isobuild/bundler.js
index 2dea5b3..def873c 100644
--- a/tools/isobuild/bundler.js
+++ b/tools/isobuild/bundler.js
@@ -2516,6 +2516,7 @@ class ServerTarget extends JsImageTarget {
     var archToPlatform = {
       'os.linux.x86_32': 'Linux_i686',
       'os.linux.x86_64': 'Linux_x86_64',
+      'os.linux.armv6l': 'Linux_armv6l',
       'os.osx.x86_64': 'Darwin_x86_64',
       'os.windows.x86_32': 'Windows_x86_32'
     };
diff --git a/tools/utils/archinfo.js b/tools/utils/archinfo.js
index d14a26f..31c9fe0 100644
--- a/tools/utils/archinfo.js
+++ b/tools/utils/archinfo.js
@@ -155,6 +155,8 @@ var host = function () {
         _host = "os.linux.x86_32";
       } else if (_.contains(["x86_64", "amd64", "ia64"], machine)) {
         _host = "os.linux.x86_64";
+      } else if (_.contains(["armv6l"], machine)) {
+        _host = "os.linux.armv6l";
       } else {
         throw new Error("Unsupported architecture: " + machine);
       }

Gatux avatar Oct 09 '17 19:10 Gatux

Nice! I will try and tell the results! This should be in a tutorial.

thiagopromano avatar Oct 09 '17 20:10 thiagopromano

Hi, I have not been able install Meteor 1.5.2.2 on Raspberry (armv61). Is it possible ? If yes, someboby can publish the instructions, please ?

mttstt avatar Oct 30 '17 07:10 mttstt

Does this work for Meteor 1.6, too?

janKir avatar Dec 01 '17 10:12 janKir

You can try with my latest update: https://github.com/Gatux/meteor

Gatux avatar Dec 12 '17 21:12 Gatux

Thanks

mttstt avatar Dec 12 '17 22:12 mttstt

FYI -- this works great using ubuntu cosmic mongod/mongo (update script to copy from /usr/bin/mongod) and Meteor 1.7.x/devel. Compiled on a rockpro64.

digitalsanity avatar Aug 07 '18 03:08 digitalsanity