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();
                 }

Reply via email to