summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRyan Hass <rhass@chef.io>2016-10-28 15:36:15 -0700
committerRyan Hass <rhass@chef.io>2016-10-28 15:36:15 -0700
commitd7dbaafd36d579b0c5f137cad99dc55926a52341 (patch)
tree4eedcdcc111140d2c9eed2f72bf75c17e0fc89e4
parentaa9bbabde662a58c581ed4d87707eac5534bc292 (diff)
downloadchef-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/Gemfile3
-rw-r--r--omnibus/Gemfile.lock16
-rw-r--r--omnibus/config/projects/chef-minibus.rb56
-rw-r--r--omnibus/config/software/chef-minibus.rb45
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