Repository: incubator-brooklyn Updated Branches: refs/heads/master 4d673a824 -> c206ec907
Upgrade nginx addons * pcre too old and version no longer hosted at official url, updated to currently installed version by brew (as tar download only used on OS X) * sticky module moved development to bitbucket; add a workaround to compile on OS X Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/71f65102 Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/71f65102 Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/71f65102 Branch: refs/heads/master Commit: 71f651020e9c5643f0d7d1e533c1eb86d01139b9 Parents: 776ad43 Author: Svetoslav Neykov <[email protected]> Authored: Tue May 26 15:52:32 2015 +0300 Committer: Svetoslav Neykov <[email protected]> Committed: Tue May 26 16:17:35 2015 +0300 ---------------------------------------------------------------------- .../entity/proxy/nginx/NginxController.java | 6 +++--- .../entity/proxy/nginx/NginxSshDriver.java | 17 ++++++++++++++--- 2 files changed, 17 insertions(+), 6 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/71f65102/software/webapp/src/main/java/brooklyn/entity/proxy/nginx/NginxController.java ---------------------------------------------------------------------- diff --git a/software/webapp/src/main/java/brooklyn/entity/proxy/nginx/NginxController.java b/software/webapp/src/main/java/brooklyn/entity/proxy/nginx/NginxController.java index 41cc9f7..72f10b1 100644 --- a/software/webapp/src/main/java/brooklyn/entity/proxy/nginx/NginxController.java +++ b/software/webapp/src/main/java/brooklyn/entity/proxy/nginx/NginxController.java @@ -72,11 +72,11 @@ public interface NginxController extends AbstractController, HasShortName { @SetFromFlag("stickyVersion") ConfigKey<String> STICKY_VERSION = ConfigKeys.newStringConfigKey( - "nginx.sticky.version", "Version of ngnix-sticky-module to be installed, if required", "1.0"); + "nginx.sticky.version", "Version of ngnix-sticky-module to be installed, if required", "1.2.5"); @SetFromFlag("pcreVersion") ConfigKey<String> PCRE_VERSION = ConfigKeys.newStringConfigKey( - "pcre.version", "Version of PCRE to be installed, if required", "8.33"); + "pcre.version", "Version of PCRE to be installed, if required", "8.37"); @SetFromFlag("downloadUrl") BasicAttributeSensorAndConfigKey<String> DOWNLOAD_URL = new BasicAttributeSensorAndConfigKey<String>( @@ -85,7 +85,7 @@ public interface NginxController extends AbstractController, HasShortName { @SetFromFlag("downloadAddonUrls") BasicAttributeSensorAndConfigKey<Map<String,String>> DOWNLOAD_ADDON_URLS = new BasicAttributeSensorAndConfigKey<Map<String,String>>( SoftwareProcess.DOWNLOAD_ADDON_URLS, ImmutableMap.of( - "stickymodule", "http://nginx-sticky-module.googlecode.com/files/nginx-sticky-module-${addonversion}.tar.gz", + "stickymodule", "https://bitbucket.org/nginx-goodies/nginx-sticky-module-ng/get/${addonversion}.tar.gz", "pcre", "ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-${addonversion}.tar.gz")); @SetFromFlag("sticky") http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/71f65102/software/webapp/src/main/java/brooklyn/entity/proxy/nginx/NginxSshDriver.java ---------------------------------------------------------------------- diff --git a/software/webapp/src/main/java/brooklyn/entity/proxy/nginx/NginxSshDriver.java b/software/webapp/src/main/java/brooklyn/entity/proxy/nginx/NginxSshDriver.java index 1c73374..b99591b 100644 --- a/software/webapp/src/main/java/brooklyn/entity/proxy/nginx/NginxSshDriver.java +++ b/software/webapp/src/main/java/brooklyn/entity/proxy/nginx/NginxSshDriver.java @@ -96,6 +96,7 @@ public class NginxSshDriver extends AbstractSoftwareProcessSshDriver implements } /** By default Nginx writes the pid of the master process to {@code logs/nginx.pid} */ + @Override public String getPidFile() { return format("%s/%s", getRunDir(), NGINX_PID_FILE); } @@ -205,10 +206,13 @@ public class NginxSshDriver extends AbstractSoftwareProcessSshDriver implements cmds.add(format("cd %s", getExpandedInstallDir())); if (sticky) { - cmds.add("cd src"); + // Latest versions of sticky module expand to a different folder than the file name. + // Extract to folder set by us so we know where the sources are. + cmds.add(format("mkdir -p %s", stickyModuleExpandedInstallDir)); + cmds.add(format("pushd %s", stickyModuleExpandedInstallDir)); cmds.addAll(BashCommands.commandsToDownloadUrlsAs(stickyModuleUrls, stickyModuleSaveAs)); - cmds.add(format("tar xvzf %s", stickyModuleSaveAs)); - cmds.add("cd .."); + cmds.add(format("tar --strip-component=1 -xvzf %s", stickyModuleSaveAs)); + cmds.add("popd"); } // Note that for OS X, not including space after "-L" because broken in 10.6.8 (but fixed in 10.7.x) @@ -216,6 +220,12 @@ public class NginxSshDriver extends AbstractSoftwareProcessSshDriver implements String withLdOpt = entity.getConfig(NginxController.WITH_LD_OPT); if (isMac) withLdOpt = format("-L%s/pcre-dist/lib", getInstallDir()) + (Strings.isBlank(withLdOpt) ? "" : " " + withLdOpt); String withCcOpt = entity.getConfig(NginxController.WITH_CC_OPT); + + if (isMac) { + // TODO Upgrade sticky module as soon as a fix for https://bitbucket.org/nginx-goodies/nginx-sticky-module-ng/issue/16/can-not-compile-on-macosx-yosemite + // is released and remove this block. + withCcOpt = (Strings.isBlank(withCcOpt) ? "" : (withCcOpt + " ")) + "-Wno-error"; + } StringBuilder configureCommand = new StringBuilder("./configure") .append(format(" --prefix=%s/dist", getExpandedInstallDir())) @@ -370,6 +380,7 @@ public class NginxSshDriver extends AbstractSoftwareProcessSshDriver implements private final ExecController reloadExecutor = new ExecController( entity+"->reload", new Runnable() { + @Override public void run() { reloadImpl(); }
