diff --git a/Berksfile.lock b/Berksfile.lock index f386709..d658f3b 100644 --- a/Berksfile.lock +++ b/Berksfile.lock @@ -3,7 +3,7 @@ DEPENDENCIES gecode nodejs git: git://github.com/redguide/nodejs.git - revision: 97e0d8591ae02d38bcad761df9322db16b53252d + revision: 50ba6dd71cd6478bc59d086303ea0a8c07d55e2f omnibus omnibus-sbin-path git: git://github.com/APItools/chef-omnibus-sbin-path.git @@ -16,39 +16,43 @@ DEPENDENCIES GRAPH 7-zip (1.0.2) windows (>= 1.2.2) - apt (2.6.1) + apt (2.8.2) ark (0.9.0) 7-zip (>= 0.0.0) windows (>= 0.0.0) - build-essential (2.1.3) - chef-sugar (2.5.0) - chef_handler (1.1.6) + build-essential (2.2.4) + chef-sugar (3.1.1) + chef_handler (1.2.0) gecode (2.1.0) apt (>= 0.0.0) build-essential (>= 0.0.0) yum (~> 3.0) yum-epel (>= 0.0.0) - homebrew (1.10.0) - nodejs (2.2.1) + homebrew (1.13.0) + build-essential (>= 2.1.2) + nodejs (2.4.3) apt (>= 0.0.0) ark (>= 0.0.0) build-essential (>= 0.0.0) + homebrew (>= 0.0.0) yum-epel (>= 0.0.0) - omnibus (2.5.1) + omnibus (2.7.4) 7-zip (~> 1.0) build-essential (~> 2.0) - chef-sugar (~> 2.0) + chef-sugar (~> 3.0) homebrew (~> 1.9) windows (~> 1.30) + windows-sdk (~> 1.0) wix (~> 1.1) omnibus-sbin-path (0.0.1) omnibus (>= 0.0.0) - perl (1.2.4) + perl (2.0.0) unzip (0.0.1) - windows (1.36.1) + windows (1.38.2) chef_handler (>= 0.0.0) + windows-sdk (1.0.2) wix (1.1.0) windows (>= 1.2.2) - yum (3.5.2) - yum-epel (0.6.0) - yum (~> 3.0) + yum (3.8.1) + yum-epel (0.6.3) + yum (~> 3.2) diff --git a/Gemfile b/Gemfile index b3c51f1..0f40489 100644 --- a/Gemfile +++ b/Gemfile @@ -3,14 +3,15 @@ source 'https://rubygems.org' gem 'rake' # Install omnibus software -gem 'omnibus', '~> 4.0', github: 'opscode/omnibus', branch: 'master' +gem 'omnibus', '~> 4.0' gem 'omnibus-software', github: 'opscode/omnibus-software', branch: 'master' +gem 'omnibus-openresty', github: '3scale/omnibus-openresty', branch: 'master' gem 'package_cloud' group :kitchen do # Use Berkshelf for resolving cookbook dependencies - gem 'berkshelf', '~> 3.0' + gem 'berkshelf', '~> 4.0' # Use Test Kitchen with Vagrant for converging the build environment # from github to use latest 'kitchen exec' command for automated builds diff --git a/Gemfile.lock b/Gemfile.lock index d4f8141..bd8d6d5 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,46 +1,47 @@ GIT - remote: git://github.com/opscode/omnibus-software.git - revision: d964e445de1c917e1c3246322166d724f64079df + remote: git://github.com/3scale/omnibus-openresty.git + revision: ea1398aa2b184dd6c5e965479cecd96aece473a6 branch: master specs: - omnibus-software (4.0.0) + omnibus-openresty (0.0.1) GIT - remote: git://github.com/opscode/omnibus.git - revision: c795b65bc796629c4e5b97ce21185b553caaf7e9 + remote: git://github.com/opscode/omnibus-software.git + revision: 7822911bfc6ee3aec4380fc8b5e1e46ccac5c0d0 branch: master specs: - omnibus (4.0.0) - chef-sugar (~> 3.0) - cleanroom (~> 1.0) - mixlib-shellout (~> 1.4) - mixlib-versioning - ohai (~> 7.2) - ruby-progressbar (~> 1.7) - thor (~> 0.18) - uber-s3 + omnibus-software (4.0.0) GEM remote: https://rubygems.org/ specs: addressable (2.3.8) - berkshelf (3.1.4) + aws-sdk (2.1.29) + aws-sdk-resources (= 2.1.29) + aws-sdk-core (2.1.29) + jmespath (~> 1.0) + aws-sdk-resources (2.1.29) + aws-sdk-core (= 2.1.29) + berkshelf (4.0.1) addressable (~> 2.3.4) - berkshelf-api-client (~> 1.2) + berkshelf-api-client (~> 2.0) buff-config (~> 1.0) buff-extensions (~> 1.0) buff-shell_out (~> 0.1) - celluloid (~> 0.16.0.pre) - celluloid-io (~> 0.16.0.pre) + celluloid (= 0.16.0) + celluloid-io (~> 0.16.1) + cleanroom (~> 1.0) faraday (~> 0.9.0) + httpclient (~> 2.6.0) minitar (~> 0.5.4) octokit (~> 3.0) - retryable (~> 1.3.3) - ridley (~> 4.0) + retryable (~> 2.0) + ridley (~> 4.3) solve (~> 1.1) - thor (~> 0.18) - berkshelf-api-client (1.2.1) - faraday (~> 0.9.0) + thor (~> 0.19) + berkshelf-api-client (2.0.0) + faraday (~> 0.9.1) + httpclient (~> 2.6.0) buff-config (1.0.1) buff-extensions (~> 1.0) varia_model (~> 0.4) @@ -54,7 +55,10 @@ GEM celluloid-io (0.16.2) celluloid (>= 0.16.0) nio4r (>= 1.1.0) - chef-sugar (3.1.0) + chef-config (12.5.1) + mixlib-config (~> 2.0) + mixlib-shellout (~> 2.0) + chef-sugar (3.1.1) cleanroom (1.0.0) colorize (0.6.0) dep-selector-libgecode (1.0.2) @@ -62,60 +66,71 @@ GEM dep-selector-libgecode (~> 1.0) ffi (~> 1.9) erubis (2.7.0) - faraday (0.9.1) + faraday (0.9.2) multipart-post (>= 1.2, < 3) - ffi (1.9.8) - ffi-yajl (1.4.0) - ffi (~> 1.5) + ffi (1.9.10) + ffi-yajl (2.2.2) libyajl2 (~> 1.2) - hashie (2.1.2) + hashie (3.4.2) highline (1.6.20) - hitimes (1.2.2) + hitimes (1.2.3) + httpclient (2.6.0.1) ipaddress (0.8.0) - json (1.8.2) + jmespath (1.1.3) + json (1.8.3) json_pure (1.8.1) - kitchen-vagrant (0.17.0) + kitchen-vagrant (0.19.0) test-kitchen (~> 1.4) libyajl2 (1.2.0) - mime-types (1.25.1) + mime-types (2.6.2) minitar (0.5.4) mixlib-authentication (1.3.0) mixlib-log mixlib-cli (1.5.0) - mixlib-config (2.1.0) + mixlib-config (2.2.1) mixlib-log (1.6.0) - mixlib-shellout (1.6.1) - mixlib-versioning (1.0.0) + mixlib-shellout (2.2.1) + mixlib-versioning (1.1.0) multipart-post (2.0.0) - net-http-persistent (2.9.4) net-scp (1.2.1) net-ssh (>= 2.6.5) net-ssh (2.9.2) - nio4r (1.1.0) + nio4r (1.1.1) octokit (3.8.0) sawyer (~> 0.6.0, >= 0.5.3) - ohai (7.4.1) + ohai (8.7.0) + chef-config (>= 12.5.0.alpha.1, < 13) ffi (~> 1.9) - ffi-yajl (~> 1.1) + ffi-yajl (~> 2.2) ipaddress - mime-types (~> 1.16) + mime-types (~> 2.0) mixlib-cli mixlib-config (~> 2.0) mixlib-log - mixlib-shellout (~> 1.2) + mixlib-shellout (~> 2.0) + rake (~> 10.1) systemu (~> 2.6.4) wmi-lite (~> 1.0) - package_cloud (0.2.18) + omnibus (4.1.0) + aws-sdk (~> 2) + chef-sugar (~> 3.0) + cleanroom (~> 1.0) + mixlib-shellout (~> 2.0) + mixlib-versioning + ohai (~> 8.0) + ruby-progressbar (~> 1.7) + thor (~> 0.18) + package_cloud (0.2.24) colorize (= 0.6.0) highline (= 1.6.20) json_pure (= 1.8.1) - rest-client (= 1.6.7) - thor (= 0.18.1) + rest-client (~> 1.6.7) + thor (~> 0.18) rake (10.4.2) rest-client (1.6.7) mime-types (>= 1.16) - retryable (1.3.6) - ridley (4.1.1) + retryable (2.0.2) + ridley (4.3.2) addressable buff-config (~> 1.0) buff-extensions (~> 1.0) @@ -125,13 +140,13 @@ GEM celluloid-io (~> 0.16.1) erubis faraday (~> 0.9.0) - hashie (>= 2.0.2, < 3.0.0) + hashie (>= 2.0.2, < 4.0.0) + httpclient (~> 2.6) json (>= 1.7.7) mixlib-authentication (>= 1.3.0) - net-http-persistent (>= 2.8) - retryable + retryable (~> 2.0) semverse (~> 1.1) - varia_model (~> 0.4) + varia_model (~> 0.4.0) ruby-progressbar (1.7.5) safe_yaml (1.0.4) sawyer (0.6.0) @@ -142,30 +157,32 @@ GEM dep_selector (~> 1.0) semverse (~> 1.1) systemu (2.6.5) - test-kitchen (1.4.0) + test-kitchen (1.4.2) mixlib-shellout (>= 1.2, < 3.0) net-scp (~> 1.1) - net-ssh (~> 2.7) + net-ssh (~> 2.7, < 2.10) safe_yaml (~> 1.0) thor (~> 0.18) - thor (0.18.1) - timers (4.0.1) + thor (0.19.1) + timers (4.0.4) hitimes - uber-s3 (0.2.4) - mime-types (~> 1.17) - varia_model (0.4.0) + varia_model (0.4.1) buff-extensions (~> 1.0) - hashie (>= 2.0.2, < 3.0.0) + hashie (>= 2.0.2, < 4.0.0) wmi-lite (1.0.0) PLATFORMS ruby DEPENDENCIES - berkshelf (~> 3.0) + berkshelf (~> 4.0) kitchen-vagrant (~> 0.17) - omnibus (~> 4.0)! + omnibus (~> 4.0) + omnibus-openresty! omnibus-software! package_cloud rake test-kitchen (~> 1.4.0) + +BUNDLED WITH + 1.10.6 diff --git a/Makefile b/Makefile index 12f9262..72f92f9 100644 --- a/Makefile +++ b/Makefile @@ -23,7 +23,7 @@ clean-ccache: sudo rm -rf $(HOME)/.ccache install: clean-ccache - bundle install + bundle install --no-deployment login: echo "Run: cd apitools-monitor && make" diff --git a/config/software/apitools-lua.rb b/config/software/apitools-lua.rb index d09590d..99204cc 100644 --- a/config/software/apitools-lua.rb +++ b/config/software/apitools-lua.rb @@ -1,8 +1,11 @@ name 'apitools-lua' default_version '0.0.1' +# locking openresty version breaks the digest and crashes (removes the md5 of source) +# override :openresty, version: '1.7.4.1' + dependency 'expat' -dependency 'apitools-luarocks' +dependency 'openresty-luarocks' build do command "#{install_dir}/embedded/bin/luarocks install lpeg 0.12-1" diff --git a/config/software/apitools-luarocks.rb b/config/software/apitools-luarocks.rb deleted file mode 100644 index 4859fa2..0000000 --- a/config/software/apitools-luarocks.rb +++ /dev/null @@ -1,31 +0,0 @@ -name 'apitools-luarocks' -default_version '2.2.0' - -source url: "http://luarocks.org/releases/luarocks-#{version}.tar.gz" - -version('2.1.2') { source md5: '0afc5fd6ee6ec6128fccda1bc559f41e' } -version('2.2.0') { source md5: 'eb142e0f0891ea4243ef3b7582cfbbaa' } - -relative_path "luarocks-#{version}" - -dependency 'apitools-openresty' - -build do - env = with_standard_compiler_flags(with_embedded_path) - command ['./configure', - "--prefix=#{install_dir}/embedded/" , - "--with-lua=#{install_dir}/embedded/luajit", - "--rocks-tree=#{install_dir}/embedded/luajit/", - "--with-lua-include=#{install_dir}/embedded/luajit/include/luajit-2.1", - "--sysconfdir=#{install_dir}/embedded/luarocks --force-config" - ].join(' '), env: env - - lua_path = "#{install_dir}/embedded/lualib/?" - lua_cpath = "#{install_dir}/embedded/lualib/?" - - make 'build', env: env - make 'install', env: env - - command %{echo 'external_deps_dirs = { "#{install_dir}/embedded", "/usr/local", "/usr" }' > #{install_dir}/embedded/luarocks/config-5.1.lua} - command "ln -s #{install_dir}/embedded/luajit/bin/luajit-2.1.0-alpha #{install_dir}/embedded/luajit/bin/lua" -end diff --git a/config/software/apitools-openresty.rb b/config/software/apitools-openresty.rb deleted file mode 100644 index e25399d..0000000 --- a/config/software/apitools-openresty.rb +++ /dev/null @@ -1,74 +0,0 @@ -# -# Copyright 2014 3scale -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -# These options are required for all software definitions - -name 'apitools-openresty' -default_version '1.7.4.1' - -# A software can specify more than one version that is available for install -version('1.7.4.1') { source md5: "e4b10833beb0fc8e14dbe1ba6af3126e" } - -source url: "http://openresty.org/download/ngx_openresty-#{version}.tar.gz" - -relative_path "ngx_openresty-#{version}" - -dependency 'pcre' -dependency 'openssl' -dependency 'zlib' - -build do - # Setup a default environment from Omnibus - you should use this Omnibus - # helper everywhere. It will become the default in the future. - env = with_standard_compiler_flags(with_embedded_path) - - # "command" is part of the build DSL. There are a number of handy options - # available, such as "copy", "sync", "ruby", etc. For a complete list, please - # consult the Omnibus gem documentation. - # - # "install_dir" is exposed and refers to the top-level projects +install_dir+ - command ["./configure", - "--prefix=#{install_dir}/embedded", - "--sbin-path=#{install_dir}/sbin/nginx", - # Building Nginx with non-system OpenSSL - # http://www.ruby-forum.com/topic/207287#902308 - %Q{--with-ld-opt="-L#{install_dir}/embedded/lib -Wl,-rpath,#{install_dir}/embedded/lib -lssl -lcrypto -ldl -lz"}, - %Q{--with-cc-opt="-L#{install_dir}/embedded/lib -I#{install_dir}/embedded/include"}, - '--with-md5-asm', - '--with-luajit-xcflags=-DLUAJIT_ENABLE_CHECKHOOK', - '--with-http_gunzip_module', - '--with-sha1-asm', - '--with-pcre-jit', - '--with-luajit', - '--without-http_fastcgi_module', - '--without-http_uwsgi_module', - '--without-http_scgi_module', - '--without-http_ssi_module', - '--without-mail_smtp_module', - '--without-mail_imap_module', - '--without-mail_pop3_module',].join(' '), env: env - - # You can have multiple steps - they are executed in the order in which they - # are read. - # - # "workers" is a DSL method that returns the most suitable number of - # builders for the currently running system. - make "-j #{workers}", env: env - make 'install', env: env - - command "ln -s #{install_dir}/embedded/luajit/bin/lua #{install_dir}/embedded/bin/lua" - command "ln -s #{install_dir}/embedded/luajit/bin/lua #{install_dir}/embedded/bin/luajit" -end diff --git a/config/software/apitools-release.rb b/config/software/apitools-release.rb index 3b3621b..f6f12bc 100644 --- a/config/software/apitools-release.rb +++ b/config/software/apitools-release.rb @@ -6,7 +6,8 @@ relative_path 'release' source git: 'https://github.com/APItools/monitor' -default_version '201501051710' + +default_version '229dc0fd60214df546688f0381ce534df2f55e16' build do command 'bundle install --without test' diff --git a/omnibus.rb b/omnibus.rb index edcd257..cb9e7fc 100644 --- a/omnibus.rb +++ b/omnibus.rb @@ -32,3 +32,5 @@ # ------------------------------ # solaris_compiler 'gcc' # build_retries 5 + +software_gems %w[omnibus-software omnibus-openresty]