clusterlb 0.1.6 → 0.1.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (75) hide show
  1. checksums.yaml +4 -4
  2. data/.ruby-version +1 -0
  3. data/Gemfile.lock +761 -1
  4. data/build.sh +4 -0
  5. data/clusterlb.gemspec +3 -0
  6. data/exe/clusterlb-stectrl +3 -2
  7. data/lib/clusterlb/version.rb +1 -1
  8. data/lib/clusterlb.rb +108 -5
  9. data/omnibus/.gitignore +10 -0
  10. data/omnibus/.kitchen.yml +41 -0
  11. data/omnibus/.ruby-version +1 -0
  12. data/omnibus/Berksfile +12 -0
  13. data/omnibus/Gemfile +21 -0
  14. data/omnibus/Gemfile.lock +284 -0
  15. data/omnibus/README.md +120 -0
  16. data/omnibus/build.sh +3 -0
  17. data/omnibus/config/patches/eventmachine/disable-extensions.patch +11 -0
  18. data/omnibus/config/patches/libffi/libffi-3.2.1-disable-multi-os-directory.patch +83 -0
  19. data/omnibus/config/patches/libffi/libffi-3.2.1-makefiles-sparc.patch +24 -0
  20. data/omnibus/config/patches/libiconv/config.guess_2015-09-14.patch +2390 -0
  21. data/omnibus/config/patches/libiconv/libiconv-1.14_srclib_stdio.in.h-remove-gets-declarations.patch +29 -0
  22. data/omnibus/config/patches/libyaml/v0.1.6.windows-configure.patch +26 -0
  23. data/omnibus/config/patches/ncurses/config_guess_2015-09-24.patch +857 -0
  24. data/omnibus/config/patches/ncurses/ncurses-5.9-gcc-5.patch +46 -0
  25. data/omnibus/config/patches/openssl/openssl-1.0.1f-do-not-build-docs.patch +28 -0
  26. data/omnibus/config/patches/openssl/openssl-1.0.1q-fix-compiler-flags-table-for-msys.patch +20 -0
  27. data/omnibus/config/patches/openssl/openssl-1.0.2k-no-bang.patch +17 -0
  28. data/omnibus/config/patches/openssl/solaris-do-not-define-xopen-source.patch +24 -0
  29. data/omnibus/config/patches/pkg-config-lite/pkg-config-lite-0.28-1.config.guess.patch +992 -0
  30. data/omnibus/config/patches/ruby/ruby-2_1_3-no-mkmf.patch +22 -0
  31. data/omnibus/config/patches/ruby/ruby-aix-atomic.patch +11 -0
  32. data/omnibus/config/patches/ruby/ruby-aix-configure-all-source.patch +11 -0
  33. data/omnibus/config/patches/ruby/ruby-aix-configure-use-bash.patch +8 -0
  34. data/omnibus/config/patches/ruby/ruby-aix-configure.patch +20 -0
  35. data/omnibus/config/patches/ruby/ruby-aix-vm-core.patch +14 -0
  36. data/omnibus/config/patches/ruby/ruby-mkmf.patch +29 -0
  37. data/omnibus/config/patches/ruby/ruby-no-m32-cflag.patch +38 -0
  38. data/omnibus/config/patches/ruby/ruby-no-stack-protector.patch +13 -0
  39. data/omnibus/config/patches/ruby/ruby-remove-headc.patch +10 -0
  40. data/omnibus/config/patches/ruby/ruby-solaris-linux-socket-compat.patch +42 -0
  41. data/omnibus/config/patches/ruby/ruby-take-windres-rcflags.patch +11 -0
  42. data/omnibus/config/patches/ruby/ruby_aix_2_1_3_ssl_EAGAIN.patch +19 -0
  43. data/omnibus/config/patches/ruby/ruby_aix_openssl.patch +10 -0
  44. data/omnibus/config/patches/ruby/ruby_nano.patch +68 -0
  45. data/omnibus/config/patches/zlib/zlib-windows-relocate.patch +20 -0
  46. data/omnibus/config/projects/clusterlb.rb +38 -0
  47. data/omnibus/config/software/acme.sh.rb +18 -0
  48. data/omnibus/config/software/cacerts.rb +89 -0
  49. data/omnibus/config/software/clusterlb-gem.rb +25 -0
  50. data/omnibus/config/software/clusterlb-zlib.rb +55 -0
  51. data/omnibus/config/software/config_guess.rb +36 -0
  52. data/omnibus/config/software/libffi.rb +70 -0
  53. data/omnibus/config/software/libiconv.rb +62 -0
  54. data/omnibus/config/software/libtool.rb +55 -0
  55. data/omnibus/config/software/libyaml.rb +46 -0
  56. data/omnibus/config/software/makedepend.rb +43 -0
  57. data/omnibus/config/software/ncurses.rb +154 -0
  58. data/omnibus/config/software/oggcert-gem.rb +24 -0
  59. data/omnibus/config/software/openssl.rb +166 -0
  60. data/omnibus/config/software/pkg-config-lite.rb +45 -0
  61. data/omnibus/config/software/preparation.rb +30 -0
  62. data/omnibus/config/software/ruby.rb +238 -0
  63. data/omnibus/config/software/rubygems.rb +89 -0
  64. data/omnibus/config/software/util-macros.rb +43 -0
  65. data/omnibus/config/software/xproto.rb +43 -0
  66. data/omnibus/config/software/zlib.rb +84 -0
  67. data/omnibus/omnibus.rb +54 -0
  68. data/omnibus/package-scripts/clusterlb/postinst +17 -0
  69. data/omnibus/package-scripts/clusterlb/postrm +9 -0
  70. data/omnibus/package-scripts/clusterlb/preinst +7 -0
  71. data/omnibus/package-scripts/clusterlb/prerm +15 -0
  72. data/omnibus/resources/clusterlb/deb/conffiles.erb +3 -0
  73. data/omnibus/resources/clusterlb/deb/control.erb +25 -0
  74. data/omnibus/resources/clusterlb/deb/md5sums.erb +3 -0
  75. metadata +124 -2
@@ -0,0 +1,30 @@
1
+ #
2
+ # Copyright 2019 YOUR NAME
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+ #
16
+
17
+ name "preparation"
18
+ description "the steps required to preprare the build"
19
+ default_version "1.0.0"
20
+
21
+ license :project_license
22
+ skip_transitive_dependency_licensing true
23
+
24
+ build do
25
+ block do
26
+ touch "#{install_dir}/embedded/lib/.gitkeep"
27
+ touch "#{install_dir}/embedded/bin/.gitkeep"
28
+ touch "#{install_dir}/bin/.gitkeep"
29
+ end
30
+ end
@@ -0,0 +1,238 @@
1
+ #
2
+ # Copyright 2012-2016 Chef Software, Inc.
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+ #
16
+
17
+ name "ruby"
18
+
19
+ license "BSD-2-Clause"
20
+ license_file "BSDL"
21
+ license_file "COPYING"
22
+ license_file "LEGAL"
23
+ skip_transitive_dependency_licensing true
24
+
25
+ # - chef-client cannot use 2.2.x yet due to a bug in IRB that affects chef-shell on linux:
26
+ # https://bugs.ruby-lang.org/issues/11869
27
+ # - the current status of 2.3.x is that it downloads but fails to compile.
28
+ # - verify that all ffi libs are available for your version on all platforms.
29
+ default_version "2.6.3"
30
+
31
+ fips_enabled = (project.overrides[:fips] && project.overrides[:fips][:enabled]) || false
32
+
33
+ dependency "ncurses" unless windows? || version.satisfies?(">= 2.1")
34
+ dependency "zlib"
35
+ dependency "openssl"
36
+ dependency "libffi"
37
+ dependency "libyaml"
38
+ # Needed for chef_gem installs of (e.g.) nokogiri on upgrades -
39
+ # they expect to see our libiconv instead of a system version.
40
+ # Ignore on windows - TDM GCC comes with libiconv in the runtime
41
+ # and that's the only one we will ever use.
42
+ dependency "libiconv"
43
+
44
+ version("2.6.3") { source sha256: "577fd3795f22b8d91c1d4e6733637b0394d4082db659fccf224c774a2b1c82fb" }
45
+
46
+ source url: "https://cache.ruby-lang.org/pub/ruby/#{version.match(/^(\d+\.\d+)/)[0]}/ruby-#{version}.tar.gz"
47
+
48
+ relative_path "ruby-#{version}"
49
+
50
+ env = with_standard_compiler_flags(with_embedded_path)
51
+
52
+ if mac_os_x?
53
+ # -Qunused-arguments suppresses "argument unused during compilation"
54
+ # warnings. These can be produced if you compile a program that doesn't
55
+ # link to anything in a path given with -Lextra-libs. Normally these
56
+ # would be harmless, except that autoconf treats any output to stderr as
57
+ # a failure when it makes a test program to check your CFLAGS (regardless
58
+ # of the actual exit code from the compiler).
59
+ env["CFLAGS"] << " -I#{install_dir}/embedded/include/ncurses -arch x86_64 -m64 -O3 -g -pipe -Qunused-arguments"
60
+ env["LDFLAGS"] << " -arch x86_64"
61
+ elsif freebsd?
62
+ # Stops "libtinfo.so.5.9: could not read symbols: Bad value" error when
63
+ # compiling ext/readline. See the following for more info:
64
+ #
65
+ # https://lists.freebsd.org/pipermail/freebsd-current/2013-October/045425.html
66
+ # http://mailing.freebsd.ports-bugs.narkive.com/kCgK8sNQ/ports-183106-patch-sysutils-libcdio-does-not-build-on-10-0-and-head
67
+ #
68
+ env["LDFLAGS"] << " -ltinfow"
69
+ elsif aix?
70
+ # this magic per IBM
71
+ env["LDSHARED"] = "xlc -G"
72
+ env["CFLAGS"] = "-I#{install_dir}/embedded/include/ncurses -I#{install_dir}/embedded/include"
73
+ # this magic per IBM
74
+ env["XCFLAGS"] = "-DRUBY_EXPORT"
75
+ # need CPPFLAGS set so ruby doesn't try to be too clever
76
+ env["CPPFLAGS"] = "-I#{install_dir}/embedded/include/ncurses -I#{install_dir}/embedded/include"
77
+ env["SOLIBS"] = "-lm -lc"
78
+ # need to use GNU m4, default m4 doesn't work
79
+ env["M4"] = "/opt/freeware/bin/m4"
80
+ elsif solaris_10?
81
+ if sparc?
82
+ # Known issue with rubby where too much GCC optimization blows up miniruby on sparc
83
+ env["CFLAGS"] << " -std=c99 -g -pipe -mcpu=v9 -fms-extensions"
84
+ env["LDFLAGS"] << " -mcpu=v9"
85
+ else
86
+ env["CFLAGS"] << " -std=c99 -O3 -g -pipe -fms-extensions"
87
+ end
88
+ elsif solaris_11?
89
+ env["CFLAGS"] << " -std=c99"
90
+ env["CPPFLAGS"] << " -D_XOPEN_SOURCE=600 -D_XPG6"
91
+ elsif windows?
92
+ env["CPPFLAGS"] << " -DFD_SETSIZE=2048"
93
+ else # including linux
94
+ if version.satisfies?(">= 2.3.0") &&
95
+ rhel? && platform_version.satisfies?("< 6.0")
96
+ env["CFLAGS"] << " -O2 -g -pipe"
97
+ else
98
+ env["CFLAGS"] << " -O3 -g -pipe"
99
+ end
100
+ end
101
+
102
+ build do
103
+ # AIX needs /opt/freeware/bin only for patch
104
+ patch_env = env.dup
105
+ patch_env["PATH"] = "/opt/freeware/bin:#{env['PATH']}" if aix?
106
+
107
+ if solaris_10? && version.satisfies?(">= 2.1")
108
+ patch source: "ruby-no-stack-protector.patch", plevel: 1, env: patch_env
109
+ if version.satisfies?("= 2.4.4") && sparc?
110
+ patch source: "ruby-remove-headc.patch", plevel: 1, env: patch_env
111
+ patch source: "ruby-no-m32-cflag.patch", plevel: 1, env: patch_env
112
+ end
113
+ elsif solaris_11? && version =~ /^2.1/
114
+ patch source: "ruby-solaris-linux-socket-compat.patch", plevel: 1, env: patch_env
115
+ end
116
+
117
+ # wrlinux7/ios_xr build boxes from Cisco include libssp and there is no way to
118
+ # disable ruby from linking against it, but Cisco switches will not have the
119
+ # library. Disabling it as we do for Solaris.
120
+ if ios_xr? && version.satisfies?(">= 2.1")
121
+ patch source: "ruby-no-stack-protector.patch", plevel: 1, env: patch_env
122
+ end
123
+
124
+ # disable libpath in mkmf across all platforms, it trolls omnibus and
125
+ # breaks the postgresql cookbook. i'm not sure why ruby authors decided
126
+ # this was a good idea, but it breaks our use case hard. AIX cannot even
127
+ # compile without removing it, and it breaks some native gem installs on
128
+ # other platforms. generally you need to have a condition where the
129
+ # embedded and non-embedded libs get into a fight (libiconv, openssl, etc)
130
+ # and ruby trying to set LD_LIBRARY_PATH itself gets it wrong.
131
+ #
132
+ # Also, fix paths emitted in the makefile on windows on both msys and msys2.
133
+ if version.satisfies?(">= 2.1")
134
+ patch source: "ruby-mkmf.patch", plevel: 1, env: patch_env
135
+ # should intentionally break and fail to apply on 2.2, patch will need to
136
+ # be fixed.
137
+ end
138
+
139
+ # Fix reserve stack segmentation fault when building on RHEL5 or below
140
+ # Currently only affects 2.1.7 and 2.2.3. This patch taken from the fix
141
+ # in Ruby trunk and expected to be included in future point releases.
142
+ # https://redmine.ruby-lang.org/issues/11602
143
+ if rhel? &&
144
+ platform_version.satisfies?("< 6") &&
145
+ (version == "2.1.7" || version == "2.2.3")
146
+
147
+ patch source: "ruby-fix-reserve-stack-segfault.patch", plevel: 1, env: patch_env
148
+ end
149
+
150
+ configure_command = ["--with-out-ext=dbm,readline",
151
+ "--enable-shared",
152
+ "--disable-install-doc",
153
+ "--without-gmp",
154
+ "--without-gdbm",
155
+ "--without-tk",
156
+ "--disable-dtrace"]
157
+ configure_command << "--with-ext=psych" if version.satisfies?("< 2.3")
158
+ configure_command << "--with-bundled-md5" if fips_enabled
159
+
160
+ if aix?
161
+ # need to patch ruby's configure file so it knows how to find shared libraries
162
+ patch source: "ruby-aix-configure.patch", plevel: 1, env: patch_env
163
+ # configure no longer seems to work under ksh, use bash instead
164
+ patch source: "ruby-aix-configure-use-bash.patch", plevel: 1, env: patch_env
165
+ # have ruby use zlib on AIX correctly
166
+ patch source: "ruby_aix_openssl.patch", plevel: 1, env: patch_env
167
+ # AIX has issues with ssl retries, need to patch to have it retry
168
+ patch source: "ruby_aix_2_1_3_ssl_EAGAIN.patch", plevel: 1, env: patch_env
169
+ # the next two patches are because xlc doesn't deal with long vs int types well
170
+ patch source: "ruby-aix-atomic.patch", plevel: 1, env: patch_env
171
+ patch source: "ruby-aix-vm-core.patch", plevel: 1, env: patch_env
172
+
173
+ # per IBM, just help ruby along on what it's running on
174
+ configure_command << "--host=powerpc-ibm-aix6.1.0.0 --target=powerpc-ibm-aix6.1.0.0 --build=powerpc-ibm-aix6.1.0.0 --enable-pthread"
175
+
176
+ elsif freebsd?
177
+ # Disable optional support C level backtrace support. This requires the
178
+ # optional devel/libexecinfo port to be installed.
179
+ configure_command << "ac_cv_header_execinfo_h=no"
180
+ configure_command << "--with-opt-dir=#{install_dir}/embedded"
181
+ elsif smartos?
182
+ # Opscode patch - someara@opscode.com
183
+ # GCC 4.7.0 chokes on mismatched function types between OpenSSL 1.0.1c and Ruby 1.9.3-p286
184
+ patch source: "ruby-openssl-1.0.1c.patch", plevel: 1, env: patch_env
185
+
186
+ # Patches taken from RVM.
187
+ # http://bugs.ruby-lang.org/issues/5384
188
+ # https://www.illumos.org/issues/1587
189
+ # https://github.com/wayneeseguin/rvm/issues/719
190
+ patch source: "rvm-cflags.patch", plevel: 1, env: patch_env
191
+
192
+ # From RVM forum
193
+ # https://github.com/wayneeseguin/rvm/commit/86766534fcc26f4582f23842a4d3789707ce6b96
194
+ configure_command << "ac_cv_func_dl_iterate_phdr=no"
195
+ configure_command << "--with-opt-dir=#{install_dir}/embedded"
196
+ elsif windows?
197
+ if version.satisfies?(">= 2.3")
198
+ # Windows Nano Server COM libraries do not support Apartment threading
199
+ # instead COINIT_MULTITHREADED must be used
200
+ patch source: "ruby_nano.patch", plevel: 1, env: patch_env
201
+ end
202
+
203
+ configure_command << " debugflags=-g"
204
+ else
205
+ configure_command << "--with-opt-dir=#{install_dir}/embedded"
206
+ end
207
+
208
+ # FFS: works around a bug that infects AIX when it picks up our pkg-config
209
+ # AFAIK, ruby does not need or use this pkg-config it just causes the build to fail.
210
+ # The alternative would be to patch configure to remove all the pkg-config garbage entirely
211
+ env["PKG_CONFIG"] = "/bin/true" if aix?
212
+
213
+ configure(*configure_command, env: env)
214
+ make "-j #{workers}", env: env
215
+ make "-j #{workers} install", env: env
216
+
217
+ if windows?
218
+ # Needed now that we switched to msys2 and have not figured out how to tell
219
+ # it how to statically link yet
220
+ dlls = ["libwinpthread-1"]
221
+ if windows_arch_i386?
222
+ dlls << "libgcc_s_dw2-1"
223
+ else
224
+ dlls << "libgcc_s_seh-1"
225
+ end
226
+ dlls.each do |dll|
227
+ arch_suffix = windows_arch_i386? ? "32" : "64"
228
+ windows_path = "C:/opscode/omnibus-toolchain/embedded/bin/#{dll}.dll"
229
+ if File.exist?(windows_path)
230
+ copy windows_path, "#{install_dir}/embedded/bin/#{dll}.dll"
231
+ else
232
+ raise "Cannot find required DLL needed for dynamic linking: #{windows_path}"
233
+ end
234
+ end
235
+ else
236
+ end
237
+
238
+ end
@@ -0,0 +1,89 @@
1
+ #
2
+ # Copyright 2012-2016 Chef Software, Inc.
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+ #
16
+
17
+ name "rubygems"
18
+
19
+ license "MIT"
20
+ license_file "https://raw.githubusercontent.com/rubygems/rubygems/master/LICENSE.txt"
21
+ skip_transitive_dependency_licensing true
22
+
23
+ dependency "ruby"
24
+
25
+ if version && !source
26
+ # NOTE: 2.1.11 is the last version of rubygems before the 2.2.x change to native gem install location
27
+ #
28
+ # https://github.com/rubygems/rubygems/issues/874
29
+ #
30
+ # This is a breaking change for omnibus clients. Chef-11 needs to be pinned to 2.1.11 for eternity.
31
+ # We have switched from tarballs to just `gem update --system`, but for backcompat
32
+ # we pin the previously known tarballs.
33
+ known_tarballs = {
34
+ "2.1.11" => "b561b7aaa70d387e230688066e46e448",
35
+ "2.2.1" => "1f0017af0ad3d3ed52665132f80e7443",
36
+ "2.4.1" => "7e39c31806bbf9268296d03bd97ce718",
37
+ "2.4.4" => "440a89ad6a3b1b7a69b034233cc4658e",
38
+ "2.4.5" => "5918319a439c33ac75fbbad7fd60749d",
39
+ "2.4.8" => "dc77b51449dffe5b31776bff826bf559",
40
+ }
41
+
42
+ if solaris_10?
43
+ known_tarballs["2.6.6"] = "7f969e32e9db8d602ee0b02c81a6ee7a"
44
+ known_tarballs["2.6.10"] = "ab5a0028d2a0653691b29d7463bd0892"
45
+ end
46
+
47
+ known_tarballs.each do |version, md5|
48
+ self.version version do
49
+ source md5: md5, url: "http://production.cf.rubygems.org/rubygems/rubygems-#{version}.tgz"
50
+ relative_path "rubygems-#{version}"
51
+ end
52
+ end
53
+
54
+ version("v2.4.4_plus_debug") { source git: "https://github.com/danielsdeleo/rubygems.git" }
55
+ version("2.4.4.debug.1") { source git: "https://github.com/danielsdeleo/rubygems.git" }
56
+ # This is the 2.4.8 release with a fix for
57
+ # windows so things like `gem install "pry"` still
58
+ # work
59
+ version("jdm/2.4.8-patched") { source git: "https://github.com/jaym/rubygems.git" }
60
+ end
61
+
62
+ # If we still don't have a source (if it's a tarball) grab from ruby ...
63
+ if version && !source
64
+ # If the version is a gem version, we"ll just be using rubygems.
65
+ # If it's a branch or SHA (i.e. v1.2.3) we use github.
66
+ begin
67
+ Gem::Version.new(version)
68
+ rescue ArgumentError
69
+ source git: "https://github.com/rubygems/rubygems.git"
70
+ end
71
+ end
72
+
73
+ # git repo is always expanded to "rubygems"
74
+ if source && source.include?(:git)
75
+ relative_path "rubygems"
76
+ end
77
+
78
+ build do
79
+ env = with_standard_compiler_flags(with_embedded_path)
80
+
81
+ if source
82
+ # Building from source:
83
+ ruby "setup.rb --no-ri --no-rdoc", env: env
84
+ else
85
+ # Installing direct from rubygems:
86
+ # If there is no version, this will get latest.
87
+ gem "update --no-document --system #{version}", env: env
88
+ end
89
+ end
@@ -0,0 +1,43 @@
1
+ #
2
+ # Copyright 2014 Chef Software, Inc.
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+ #
16
+
17
+ name "util-macros"
18
+ default_version "1.18.0"
19
+
20
+ version "1.19.0" do
21
+ source md5: "40e1caa49a71a26e0aa68ddd00203717"
22
+ end
23
+
24
+ version "1.18.0" do
25
+ source md5: "fd0ba21b3179703c071bbb4c3e5fb0f4"
26
+ end
27
+
28
+ source url: "http://xorg.freedesktop.org/releases/individual/util/util-macros-#{version}.tar.gz"
29
+
30
+ license "MIT"
31
+ license_file "COPYING"
32
+
33
+ relative_path "util-macros-#{version}"
34
+
35
+ build do
36
+ env = with_standard_compiler_flags(with_embedded_path)
37
+
38
+ command "./configure" \
39
+ " --prefix=#{install_dir}/embedded", env: env
40
+
41
+ make "-j #{workers}", env: env
42
+ make "-j #{workers} install", env: env
43
+ end
@@ -0,0 +1,43 @@
1
+ #
2
+ # Copyright 2014 Chef Software, Inc.
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+ #
16
+
17
+ name "xproto"
18
+ default_version "7.0.25"
19
+
20
+ version "7.0.28" do
21
+ source md5: "0b42843b99aee3e4f6a9cc7710143f86"
22
+ end
23
+
24
+ version "7.0.25" do
25
+ source md5: "a47db46cb117805bd6947aa5928a7436"
26
+ end
27
+
28
+ source url: "http://xorg.freedesktop.org/releases/individual/proto/xproto-#{version}.tar.gz"
29
+
30
+ license "MIT"
31
+ license_file "COPYING"
32
+
33
+ relative_path "xproto-#{version}"
34
+
35
+ build do
36
+ env = with_standard_compiler_flags(with_embedded_path)
37
+
38
+ command "./configure" \
39
+ " --prefix=#{install_dir}/embedded", env: env
40
+
41
+ make "-j #{workers}", env: env
42
+ make "-j #{workers} install", env: env
43
+ end
@@ -0,0 +1,84 @@
1
+ #
2
+ # Copyright 2012-2015 Chef Software, Inc.
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+ #
16
+
17
+ name "zlib"
18
+ default_version "1.2.8"
19
+
20
+ version "1.2.8" do
21
+ source md5: "44d667c142d7cda120332623eab69f40"
22
+ end
23
+ version "1.2.6" do
24
+ source md5: "618e944d7c7cd6521551e30b32322f4a"
25
+ end
26
+
27
+ source url: "http://downloads.sourceforge.net/project/libpng/zlib/#{version}/zlib-#{version}.tar.gz"
28
+
29
+ license "Zlib"
30
+ license_file "README"
31
+ skip_transitive_dependency_licensing true
32
+
33
+ relative_path "zlib-#{version}"
34
+
35
+ build do
36
+ if windows?
37
+ env = with_standard_compiler_flags(with_embedded_path)
38
+
39
+ patch source: "zlib-windows-relocate.patch", env: env
40
+
41
+ # We can't use the top-level Makefile. Instead, the developers have made
42
+ # an organic, artisanal, hand-crafted Makefile.gcc for us which takes a few
43
+ # variables.
44
+ env["BINARY_PATH"] = "/bin"
45
+ env["LIBRARY_PATH"] = "/lib"
46
+ env["INCLUDE_PATH"] = "/include"
47
+ env["DESTDIR"] = "#{install_dir}/embedded"
48
+
49
+ make_args = [
50
+ "-fwin32/Makefile.gcc",
51
+ "SHARED_MODE=1",
52
+ "CFLAGS=\"#{env['CFLAGS']} -Wall\"",
53
+ "ASFLAGS=\"#{env['CFLAGS']} -Wall\"",
54
+ "LDFLAGS=\"#{env['LDFLAGS']}\"",
55
+ # The win32 makefile for zlib does not handle parallel make correctly.
56
+ # In particular, see its rule for IMPLIB and SHAREDLIB. The ld step in
57
+ # SHAREDLIB will generate both the dll and the dll.a files. The step to
58
+ # strip the dll occurs next but since the dll.a file is already present,
59
+ # make will attempt to link example_d.exe and minigzip_d.exe in parallel
60
+ # with the strip step - causing gcc to freak out when a source file is
61
+ # rewritten part way through the linking stage.
62
+ #"-j #{workers}",
63
+ ]
64
+
65
+ make(*make_args, env: env)
66
+ make("install", *make_args, env: env)
67
+ else
68
+ # We omit the omnibus path here because it breaks mac_os_x builds by picking
69
+ # up the embedded libtool instead of the system libtool which the zlib
70
+ # configure script cannot handle.
71
+ # TODO: Do other OSes need this? Is this strictly a mac thing?
72
+ env = with_standard_compiler_flags
73
+ if freebsd?
74
+ # FreeBSD 10+ gets cranky if zlib is not compiled in a
75
+ # position-independent way.
76
+ env["CFLAGS"] << " -fPIC"
77
+ end
78
+
79
+ configure env: env
80
+
81
+ make "-j #{workers}", env: env
82
+ make "-j #{workers} install", env: env
83
+ end
84
+ end
@@ -0,0 +1,54 @@
1
+ #
2
+ # This file is used to configure the clusterlb project. It contains
3
+ # some minimal configuration examples for working with Omnibus. For a full list
4
+ # of configurable options, please see the documentation for +omnibus/config.rb+.
5
+ #
6
+
7
+ # Build internally
8
+ # ------------------------------
9
+ # By default, Omnibus uses system folders (like +/var+ and +/opt+) to build and
10
+ # cache components. If you would to build everything internally, you can
11
+ # uncomment the following options. This will prevent the need for root
12
+ # permissions in most cases.
13
+ #
14
+ # Uncomment this line to change the default base directory to "local"
15
+ # -------------------------------------------------------------------
16
+ # base_dir './local'
17
+ #
18
+ # Alternatively you can tune the individual values
19
+ # ------------------------------------------------
20
+ # cache_dir './local/omnibus/cache'
21
+ # git_cache_dir './local/omnibus/cache/git_cache'
22
+ # source_dir './local/omnibus/src'
23
+ # build_dir './local/omnibus/build'
24
+ # package_dir './local/omnibus/pkg'
25
+ # package_tmp './local/omnibus/pkg-tmp'
26
+
27
+ # Disable git caching
28
+ # ------------------------------
29
+ # use_git_caching false
30
+
31
+ # Enable S3 asset caching
32
+ # ------------------------------
33
+ # use_s3_caching true
34
+ # s3_access_key ENV['AWS_ACCESS_KEY_ID']
35
+ # s3_secret_key ENV['AWS_SECRET_ACCESS_KEY']
36
+ # s3_profile ENV['AWS_S3_PROFILE']
37
+ # s3_bucket ENV['AWS_S3_BUCKET']
38
+
39
+ # Customize compiler bits
40
+ # ------------------------------
41
+ # solaris_compiler 'gcc'
42
+ # build_retries 5
43
+ # fetcher_read_timeout 120
44
+ # fetcher_retries 5
45
+
46
+ # Load additional software
47
+ # ------------------------------
48
+ # software_gems ['omnibus-software', 'my-company-software']
49
+ # local_software_dirs ['/path/to/local/software']
50
+
51
+ # Windows architecture defaults
52
+ # ------------------------------
53
+ windows_arch %w{x86 x64}.include?((ENV['OMNIBUS_WINDOWS_ARCH'] || '').downcase) ?
54
+ ENV['OMNIBUS_WINDOWS_ARCH'].downcase.to_sym : :x86
@@ -0,0 +1,17 @@
1
+ #!/bin/sh
2
+ #
3
+ # Perform necessary clusterlb setup steps
4
+ # after package is installed.
5
+ #
6
+
7
+ PROGNAME=`basename $0`
8
+
9
+ error_exit()
10
+ {
11
+ echo "${PROGNAME}: ${1:-"Unknown Error"}" 1>&2
12
+ exit 1
13
+ }
14
+
15
+ echo "Thank you for installing clusterlb!"
16
+
17
+ exit 0
@@ -0,0 +1,9 @@
1
+ #!/bin/sh
2
+ #
3
+ # Perform necessary clusterlb removal steps
4
+ # after package is uninstalled.
5
+ #
6
+
7
+ echo "clusterlb has been uninstalled!"
8
+
9
+ exit 0
@@ -0,0 +1,7 @@
1
+ #!/bin/sh
2
+ #
3
+ # Perform necessary clusterlb setup steps
4
+ # before package is installed.
5
+ #
6
+
7
+ echo "You're about to install clusterlb!"
@@ -0,0 +1,15 @@
1
+ #!/bin/sh
2
+ #
3
+ # Perform necessary clusterlb setup steps
4
+ # prior to installing package.
5
+ #
6
+
7
+ PROGNAME=`basename $0`
8
+
9
+ error_exit()
10
+ {
11
+ echo "${PROGNAME}: ${1:-"Unknown Error"}" 1>&2
12
+ exit 1
13
+ }
14
+
15
+ exit 0
@@ -0,0 +1,3 @@
1
+ <% config_files.each do |file| -%>
2
+ <%= file %>
3
+ <% end -%>
@@ -0,0 +1,25 @@
1
+ Package: <%= name %>
2
+ Version: <%= version %>-<%= iteration %>
3
+ License: <%= license %>
4
+ Vendor: <%= vendor %>
5
+ Architecture: <%= architecture %>
6
+ Maintainer: <%= maintainer %>
7
+ Installed-Size: <%= installed_size %>
8
+ <% unless dependencies.empty? -%>
9
+ Depends: <%= dependencies.join(', ') %>
10
+ <% end -%>
11
+ <% unless conflicts.empty? -%>
12
+ Conflicts: <%= conflicts.join(', ') %>
13
+ <% end -%>
14
+ <% unless replaces.empty? -%>
15
+ Replaces: <%= replaces.join(', ') %>
16
+ <% end -%>
17
+ Section: <%= section %>
18
+ Priority: <%= priority %>
19
+ Homepage: <%= homepage %>
20
+ <% lines = description.split("\n") -%>
21
+ <% firstline, *remainder = lines -%>
22
+ Description: <%= firstline %>
23
+ <% if remainder.any? -%>
24
+ <%= remainder.collect { |l| l =~ /^ *$/ ? " ." : " #{l}" }.join("\n") %>
25
+ <% end -%>
@@ -0,0 +1,3 @@
1
+ <% md5sums.each do |path, checksum| -%>
2
+ <%= checksum %> <%= path %>
3
+ <% end -%>