From 5aabe7a85f8a1b9840cfbefb0969462463313c1f Mon Sep 17 00:00:00 2001 From: David Glasser Date: Mon, 25 Feb 2013 16:32:19 -0800 Subject: [PATCH] springboarding appears to actually work --- lib/warehouse.js | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/lib/warehouse.js b/lib/warehouse.js index 12f93d25b3..ea3cd1c406 100644 --- a/lib/warehouse.js +++ b/lib/warehouse.js @@ -145,16 +145,19 @@ var warehouse = module.exports = { var engineTarballFilename = "meteor-engine-" + releaseManifest.engine + "-" + warehouse._unameAndArch() + ".tar.gz"; + var engineTarballPath = "/engines/" + releaseManifest.engine + "/" + + engineTarballFilename; var engineTarball = Future.wrap(files.getUrl)({ - url: PACKAGES_URLBASE + "/engines/" + engineTarballFilename, + url: PACKAGES_URLBASE + engineTarballPath, encoding: null }).wait(); var engineDir = warehouse.getEngineDir(engineVersion); - // we don't end up with a corrupt warehouse - var tmpEngineDir = engineDir + ".tmp" + warehouse._randomToken(); + // use a temp dir to avoid getting a corrupt warehouse + var tmpEngineDir = warehouse.getEngineDir( + ".tmp" + warehouse._randomToken()); files.mkdir_p(tmpEngineDir); files.extractTarGz(engineTarball, tmpEngineDir); - fs.renameSync(tmpEngineDir, engineDir); + fs.renameSync(path.join(tmpEngineDir, releaseManifest.engine), engineDir); } catch (e) { console.error("Failed to load engine for release " + releaseVersion); throw e;