clusterlb 0.1.6 → 0.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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 -%>