diff options
author | Ryan Hass <rhass@chef.io> | 2016-10-28 15:36:15 -0700 |
---|---|---|
committer | Ryan Hass <rhass@chef.io> | 2016-10-28 15:36:15 -0700 |
commit | d7dbaafd36d579b0c5f137cad99dc55926a52341 (patch) | |
tree | 4eedcdcc111140d2c9eed2f72bf75c17e0fc89e4 | |
parent | aa9bbabde662a58c581ed4d87707eac5534bc292 (diff) | |
download | chef-rhass/minibus.tar.gz |
Create chef-minibus omnibus package.rhass/minibus
This package is intended to build all the things which we depend on for use in a
seperate pipeline, and then use the chef package to simply pull in the resulting
tarball to allow rapid creation of new chef packages.
-rw-r--r-- | omnibus/Gemfile | 3 | ||||
-rw-r--r-- | omnibus/Gemfile.lock | 16 | ||||
-rw-r--r-- | omnibus/config/projects/chef-minibus.rb | 56 | ||||
-rw-r--r-- | omnibus/config/software/chef-minibus.rb | 45 |
4 files changed, 111 insertions, 9 deletions
diff --git a/omnibus/Gemfile b/omnibus/Gemfile index 735b371c62..61f4e2262f 100644 --- a/omnibus/Gemfile +++ b/omnibus/Gemfile @@ -1,6 +1,7 @@ source "https://rubygems.org" -gem "omnibus", github: "chef/omnibus", branch: "rhass/COOL-502_with_gcc_investigate" +#gem "omnibus", github: "chef/omnibus", branch: "rhass/COOL-502_with_gcc_investigate" +gem "omnibus", github: "chef/omnibus", branch: "rhass/minibus" gem "omnibus-software", github: "chef/omnibus-software", branch: "shain/ruby_windows_monster" gem "license_scout", github: "chef/license_scout" diff --git a/omnibus/Gemfile.lock b/omnibus/Gemfile.lock index 182b723d22..371a4f0995 100644 --- a/omnibus/Gemfile.lock +++ b/omnibus/Gemfile.lock @@ -17,8 +17,8 @@ GIT GIT remote: git://github.com/chef/omnibus.git - revision: d8a531fd4b95fc73c5c279ba0a53cedd6b2a1196 - branch: rhass/COOL-502_with_gcc_investigate + revision: 5cc143e0bcdf26214023c53efbeb5c2bc4d64ca9 + branch: rhass/minibus specs: omnibus (5.5.0) aws-sdk (~> 2) @@ -38,12 +38,12 @@ GEM addressable (2.4.0) artifactory (2.5.0) awesome_print (1.7.0) - aws-sdk (2.6.11) - aws-sdk-resources (= 2.6.11) - aws-sdk-core (2.6.11) + aws-sdk (2.6.14) + aws-sdk-resources (= 2.6.14) + aws-sdk-core (2.6.14) jmespath (~> 1.0) - aws-sdk-resources (2.6.11) - aws-sdk-core (= 2.6.11) + aws-sdk-resources (2.6.14) + aws-sdk-core (= 2.6.14) berkshelf (4.3.5) addressable (~> 2.3, >= 2.3.4) berkshelf-api-client (~> 2.0, >= 2.0.2) @@ -263,4 +263,4 @@ DEPENDENCIES winrm-fs (~> 1.0) BUNDLED WITH - 1.12.5 + 1.13.6 diff --git a/omnibus/config/projects/chef-minibus.rb b/omnibus/config/projects/chef-minibus.rb new file mode 100644 index 0000000000..59608086bf --- /dev/null +++ b/omnibus/config/projects/chef-minibus.rb @@ -0,0 +1,56 @@ +# +# Copyright 2012-2016, Chef Software, Inc. +# +# 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. +# + +name "chef-minibus" +friendly_name "Chef Client Omnibus Tree" +maintainer "Chef Software, Inc. <maintainers@chef.io>" +homepage "https://www.chef.io" +license "Apache-2.0" +license_file "../LICENSE" + +build_iteration 1 +# Do not use __FILE__ after this point, use current_file. If you use __FILE__ +# after this point, any dependent defs (ex: angrychef) that use instance_eval +# will fail to work correctly. +current_file ||= __FILE__ +version_file = File.expand_path("../../../../VERSION", current_file) +build_version IO.read(version_file).strip + +if windows? + # NOTE: Ruby DevKit fundamentally CANNOT be installed into "Program Files" + # Native gems will use gcc which will barf on files with spaces, + # which is only fixable if everyone in the world fixes their Makefiles + install_dir "#{default_root}/opscode/chef" +else + install_dir "#{default_root}/chef" +end + +# Global FIPS override flag. +if windows? || rhel? + override :fips, enabled: true +end + +# Load dynamically updated overrides +overrides_path = File.expand_path("../../../../omnibus_overrides.rb", current_file) +instance_eval(IO.read(overrides_path), overrides_path) + +override :"ruby-windows-devkit", version: "4.5.2-20111229-1559" if windows? && windows_arch_i386? + +dependency "preparation" +#dependency "chef-minibus" +proj_to_work_around_cleanroom = self + +package :tarball diff --git a/omnibus/config/software/chef-minibus.rb b/omnibus/config/software/chef-minibus.rb new file mode 100644 index 0000000000..7cadfa9f70 --- /dev/null +++ b/omnibus/config/software/chef-minibus.rb @@ -0,0 +1,45 @@ +name "chef-minibus" +default_version "local_source" + +license :project_license + +# For the specific super-special version "local_source", build the source from +# the local git checkout. This is what you'd want to occur by default if you +# just ran omnibus build locally. +version("local_source") do + source path: File.expand_path("../..", project.files_path), + # Since we are using the local repo, we try to not copy any files + # that are generated in the process of bundle installing omnibus. + # If the install steps are well-behaved, this should not matter + # since we only perform bundle and gem installs from the + # omnibus cache source directory, but we do this regardless + # to maintain consistency between what a local build sees and + # what a github based build will see. + options: { exclude: [ "omnibus/vendor" ] } +end + +# For any version other than "local_source", fetch from github. +if version != "local_source" + source git: "git://github.com/chef/chef.git" +end + +# For nokogiri +dependency "libxml2" +dependency "libxslt" +dependency "libiconv" +dependency "liblzma" +dependency "zlib" + +# ruby and bundler and friends +dependency "ruby" +dependency "rubygems" +dependency "bundler" + +build do + # This is where we get the definitions below + require_relative "../../files/chef/build-chef" + extend BuildChef + + project_env = env.dup + project_env["BUNDLE_GEMFILE"] = project_gemfile +end |