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.
- checksums.yaml +4 -4
- data/.ruby-version +1 -0
- data/Gemfile.lock +761 -1
- data/build.sh +4 -0
- data/clusterlb.gemspec +3 -0
- data/exe/clusterlb-stectrl +3 -2
- data/lib/clusterlb/version.rb +1 -1
- data/lib/clusterlb.rb +108 -5
- data/omnibus/.gitignore +10 -0
- data/omnibus/.kitchen.yml +41 -0
- data/omnibus/.ruby-version +1 -0
- data/omnibus/Berksfile +12 -0
- data/omnibus/Gemfile +21 -0
- data/omnibus/Gemfile.lock +284 -0
- data/omnibus/README.md +120 -0
- data/omnibus/build.sh +3 -0
- data/omnibus/config/patches/eventmachine/disable-extensions.patch +11 -0
- data/omnibus/config/patches/libffi/libffi-3.2.1-disable-multi-os-directory.patch +83 -0
- data/omnibus/config/patches/libffi/libffi-3.2.1-makefiles-sparc.patch +24 -0
- data/omnibus/config/patches/libiconv/config.guess_2015-09-14.patch +2390 -0
- data/omnibus/config/patches/libiconv/libiconv-1.14_srclib_stdio.in.h-remove-gets-declarations.patch +29 -0
- data/omnibus/config/patches/libyaml/v0.1.6.windows-configure.patch +26 -0
- data/omnibus/config/patches/ncurses/config_guess_2015-09-24.patch +857 -0
- data/omnibus/config/patches/ncurses/ncurses-5.9-gcc-5.patch +46 -0
- data/omnibus/config/patches/openssl/openssl-1.0.1f-do-not-build-docs.patch +28 -0
- data/omnibus/config/patches/openssl/openssl-1.0.1q-fix-compiler-flags-table-for-msys.patch +20 -0
- data/omnibus/config/patches/openssl/openssl-1.0.2k-no-bang.patch +17 -0
- data/omnibus/config/patches/openssl/solaris-do-not-define-xopen-source.patch +24 -0
- data/omnibus/config/patches/pkg-config-lite/pkg-config-lite-0.28-1.config.guess.patch +992 -0
- data/omnibus/config/patches/ruby/ruby-2_1_3-no-mkmf.patch +22 -0
- data/omnibus/config/patches/ruby/ruby-aix-atomic.patch +11 -0
- data/omnibus/config/patches/ruby/ruby-aix-configure-all-source.patch +11 -0
- data/omnibus/config/patches/ruby/ruby-aix-configure-use-bash.patch +8 -0
- data/omnibus/config/patches/ruby/ruby-aix-configure.patch +20 -0
- data/omnibus/config/patches/ruby/ruby-aix-vm-core.patch +14 -0
- data/omnibus/config/patches/ruby/ruby-mkmf.patch +29 -0
- data/omnibus/config/patches/ruby/ruby-no-m32-cflag.patch +38 -0
- data/omnibus/config/patches/ruby/ruby-no-stack-protector.patch +13 -0
- data/omnibus/config/patches/ruby/ruby-remove-headc.patch +10 -0
- data/omnibus/config/patches/ruby/ruby-solaris-linux-socket-compat.patch +42 -0
- data/omnibus/config/patches/ruby/ruby-take-windres-rcflags.patch +11 -0
- data/omnibus/config/patches/ruby/ruby_aix_2_1_3_ssl_EAGAIN.patch +19 -0
- data/omnibus/config/patches/ruby/ruby_aix_openssl.patch +10 -0
- data/omnibus/config/patches/ruby/ruby_nano.patch +68 -0
- data/omnibus/config/patches/zlib/zlib-windows-relocate.patch +20 -0
- data/omnibus/config/projects/clusterlb.rb +38 -0
- data/omnibus/config/software/acme.sh.rb +18 -0
- data/omnibus/config/software/cacerts.rb +89 -0
- data/omnibus/config/software/clusterlb-gem.rb +25 -0
- data/omnibus/config/software/clusterlb-zlib.rb +55 -0
- data/omnibus/config/software/config_guess.rb +36 -0
- data/omnibus/config/software/libffi.rb +70 -0
- data/omnibus/config/software/libiconv.rb +62 -0
- data/omnibus/config/software/libtool.rb +55 -0
- data/omnibus/config/software/libyaml.rb +46 -0
- data/omnibus/config/software/makedepend.rb +43 -0
- data/omnibus/config/software/ncurses.rb +154 -0
- data/omnibus/config/software/oggcert-gem.rb +24 -0
- data/omnibus/config/software/openssl.rb +166 -0
- data/omnibus/config/software/pkg-config-lite.rb +45 -0
- data/omnibus/config/software/preparation.rb +30 -0
- data/omnibus/config/software/ruby.rb +238 -0
- data/omnibus/config/software/rubygems.rb +89 -0
- data/omnibus/config/software/util-macros.rb +43 -0
- data/omnibus/config/software/xproto.rb +43 -0
- data/omnibus/config/software/zlib.rb +84 -0
- data/omnibus/omnibus.rb +54 -0
- data/omnibus/package-scripts/clusterlb/postinst +17 -0
- data/omnibus/package-scripts/clusterlb/postrm +9 -0
- data/omnibus/package-scripts/clusterlb/preinst +7 -0
- data/omnibus/package-scripts/clusterlb/prerm +15 -0
- data/omnibus/resources/clusterlb/deb/conffiles.erb +3 -0
- data/omnibus/resources/clusterlb/deb/control.erb +25 -0
- data/omnibus/resources/clusterlb/deb/md5sums.erb +3 -0
- metadata +124 -2
|
@@ -0,0 +1,70 @@
|
|
|
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 "libffi"
|
|
18
|
+
|
|
19
|
+
default_version "3.2.1"
|
|
20
|
+
|
|
21
|
+
license "MIT"
|
|
22
|
+
license_file "LICENSE"
|
|
23
|
+
skip_transitive_dependency_licensing true
|
|
24
|
+
|
|
25
|
+
# Is libtool actually necessary? Doesn't configure generate one?
|
|
26
|
+
dependency "libtool" unless windows?
|
|
27
|
+
|
|
28
|
+
version("3.0.13") { source md5: "45f3b6dbc9ee7c7dfbbbc5feba571529" }
|
|
29
|
+
version("3.2.1") { source md5: "83b89587607e3eb65c70d361f13bab43" }
|
|
30
|
+
|
|
31
|
+
source url: "https://s3-us-west-2.amazonaws.com/sensuapp.org/build-dependencies/omnibus/libffi-#{version}.tar.gz"
|
|
32
|
+
|
|
33
|
+
relative_path "libffi-#{version}"
|
|
34
|
+
|
|
35
|
+
build do
|
|
36
|
+
env = with_standard_compiler_flags(with_embedded_path)
|
|
37
|
+
|
|
38
|
+
env["INSTALL"] = "/opt/freeware/bin/install" if aix?
|
|
39
|
+
|
|
40
|
+
configure_command = []
|
|
41
|
+
|
|
42
|
+
# AIX's old version of patch doesn't like the patch here
|
|
43
|
+
unless aix?
|
|
44
|
+
# Patch to disable multi-os-directory via configure flag (don't use /lib64)
|
|
45
|
+
# Works on all platforms, and is compatible on 32bit platforms as well
|
|
46
|
+
if version == "3.2.1"
|
|
47
|
+
patch source: "libffi-3.2.1-disable-multi-os-directory.patch", plevel: 1, env: env
|
|
48
|
+
configure_command << "--disable-multi-os-directory"
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
configure(*configure_command, env: env)
|
|
53
|
+
|
|
54
|
+
if solaris_10?
|
|
55
|
+
if version == "3.2.1" && sparc?
|
|
56
|
+
patch source: "libffi-3.2.1-makefiles-sparc.patch", plevel: 1, env: env
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
# run old make :(
|
|
60
|
+
make env: env, bin: "/usr/ccs/bin/make"
|
|
61
|
+
make "install", env: env, bin: "/usr/ccs/bin/make"
|
|
62
|
+
else
|
|
63
|
+
make "-j #{workers}", env: env
|
|
64
|
+
make "-j #{workers} install", env: env
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
# libffi's default install location of header files is awful...
|
|
68
|
+
copy "#{install_dir}/embedded/lib/libffi-#{version}/include/*", "#{install_dir}/embedded/include"
|
|
69
|
+
|
|
70
|
+
end
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Copyright 2012-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
|
+
# CAUTION - although its not used, external libraries such as nokogiri may pick up an optional dep on
|
|
18
|
+
# libiconv such that removal of libiconv will break those libraries on upgrade. With an better story around
|
|
19
|
+
# external gem handling when chef-client is upgraded libconv could be dropped.
|
|
20
|
+
name "libiconv"
|
|
21
|
+
default_version "1.14"
|
|
22
|
+
|
|
23
|
+
license "LGPL-2.1"
|
|
24
|
+
license_file "COPYING.LIB"
|
|
25
|
+
skip_transitive_dependency_licensing true
|
|
26
|
+
|
|
27
|
+
dependency "config_guess"
|
|
28
|
+
|
|
29
|
+
source url: "https://ftp.gnu.org/pub/gnu/libiconv/libiconv-#{version}.tar.gz",
|
|
30
|
+
md5: "e34509b1623cec449dfeb73d7ce9c6c6"
|
|
31
|
+
|
|
32
|
+
relative_path "libiconv-#{version}"
|
|
33
|
+
|
|
34
|
+
build do
|
|
35
|
+
env = with_standard_compiler_flags(with_embedded_path)
|
|
36
|
+
|
|
37
|
+
# freebsd 10 needs to be build PIC
|
|
38
|
+
env["CFLAGS"] << " -fPIC" if freebsd?
|
|
39
|
+
|
|
40
|
+
update_config_guess(target: "build-aux")
|
|
41
|
+
update_config_guess(target: "libcharset/build-aux")
|
|
42
|
+
|
|
43
|
+
if aix?
|
|
44
|
+
patch_env = env.dup
|
|
45
|
+
patch_env["PATH"] = "/opt/freeware/bin:#{env['PATH']}"
|
|
46
|
+
patch source: "libiconv-1.14_srclib_stdio.in.h-remove-gets-declarations.patch", env: patch_env
|
|
47
|
+
else
|
|
48
|
+
patch source: "libiconv-1.14_srclib_stdio.in.h-remove-gets-declarations.patch", env: env
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
if version == "1.14" && ppc64le?
|
|
52
|
+
patch source: "v1.14.ppc64le-ldemulation.patch", plevel: 1, env: env
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
configure(env: env)
|
|
56
|
+
|
|
57
|
+
pmake = "-j #{workers}"
|
|
58
|
+
make "#{pmake}", env: env
|
|
59
|
+
make "#{pmake} install-lib" \
|
|
60
|
+
" libdir=#{install_dir}/embedded/lib" \
|
|
61
|
+
" includedir=#{install_dir}/embedded/include", env: env
|
|
62
|
+
end
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Copyright 2012-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 "libtool"
|
|
18
|
+
default_version "2.4"
|
|
19
|
+
|
|
20
|
+
license "GPL-2.0"
|
|
21
|
+
license_file "COPYING"
|
|
22
|
+
|
|
23
|
+
# NOTE: 2.4.6 2.4.2 do not compile on solaris2 yet
|
|
24
|
+
version("2.4.6") { source md5: "addf44b646ddb4e3919805aa88fa7c5e" }
|
|
25
|
+
version("2.4.2") { source md5: "d2f3b7d4627e69e13514a40e72a24d50" }
|
|
26
|
+
version("2.4") { source md5: "b32b04148ecdd7344abc6fe8bd1bb021" }
|
|
27
|
+
|
|
28
|
+
source url: "https://ftp.gnu.org/gnu/libtool/libtool-#{version}.tar.gz"
|
|
29
|
+
|
|
30
|
+
relative_path "libtool-#{version}"
|
|
31
|
+
|
|
32
|
+
dependency "config_guess"
|
|
33
|
+
|
|
34
|
+
build do
|
|
35
|
+
env = with_standard_compiler_flags(with_embedded_path)
|
|
36
|
+
|
|
37
|
+
# AIX's old version of patch doesn't like the config.guess patch here
|
|
38
|
+
unless aix?
|
|
39
|
+
# Update config.guess to support newer platforms (like aarch64)
|
|
40
|
+
if version == "2.4"
|
|
41
|
+
update_config_guess
|
|
42
|
+
update_config_guess(target: "libltdl/config")
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
if aix?
|
|
47
|
+
env["M4"] = "/opt/freeware/bin/m4"
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
command "./configure" \
|
|
51
|
+
" --prefix=#{install_dir}/embedded", env: env
|
|
52
|
+
|
|
53
|
+
make env: env
|
|
54
|
+
make "install", env: env
|
|
55
|
+
end
|
|
@@ -0,0 +1,46 @@
|
|
|
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 "libyaml"
|
|
18
|
+
default_version "0.1.6"
|
|
19
|
+
|
|
20
|
+
license "MIT"
|
|
21
|
+
license_file "LICENSE"
|
|
22
|
+
skip_transitive_dependency_licensing true
|
|
23
|
+
|
|
24
|
+
dependency "config_guess"
|
|
25
|
+
|
|
26
|
+
source url: "http://pyyaml.org/download/libyaml/yaml-#{version}.tar.gz",
|
|
27
|
+
md5: "5fe00cda18ca5daeb43762b80c38e06e"
|
|
28
|
+
|
|
29
|
+
relative_path "yaml-#{version}"
|
|
30
|
+
|
|
31
|
+
build do
|
|
32
|
+
env = with_standard_compiler_flags(with_embedded_path)
|
|
33
|
+
|
|
34
|
+
update_config_guess(target: "config")
|
|
35
|
+
|
|
36
|
+
configure "--enable-shared", env: env
|
|
37
|
+
|
|
38
|
+
# Windows had worse automake/libtool version issues.
|
|
39
|
+
# Just patch the output instead.
|
|
40
|
+
if version == "0.1.6" && windows?
|
|
41
|
+
patch source: "v0.1.6.windows-configure.patch", plevel: 1, env: env
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
make "-j #{workers}", env: env
|
|
45
|
+
make "-j #{workers} install", env: env
|
|
46
|
+
end
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Copyright 2014 Chef, 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 "makedepend"
|
|
18
|
+
default_version "1.0.5"
|
|
19
|
+
|
|
20
|
+
license "MIT"
|
|
21
|
+
license_file "COPYING"
|
|
22
|
+
|
|
23
|
+
source url: "http://xorg.freedesktop.org/releases/individual/util/makedepend-1.0.5.tar.gz",
|
|
24
|
+
md5: "efb2d7c7e22840947863efaedc175747"
|
|
25
|
+
|
|
26
|
+
relative_path "makedepend-1.0.5"
|
|
27
|
+
|
|
28
|
+
dependency "xproto"
|
|
29
|
+
dependency "util-macros"
|
|
30
|
+
dependency "pkg-config-lite"
|
|
31
|
+
|
|
32
|
+
build do
|
|
33
|
+
env = with_standard_compiler_flags(with_embedded_path)
|
|
34
|
+
|
|
35
|
+
if solaris2?
|
|
36
|
+
env['PKG_CONFIG'] = "#{install_dir}/embedded/bin/pkg-config"
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
command "./configure --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,154 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Copyright 2012-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 "ncurses"
|
|
18
|
+
default_version "5.9"
|
|
19
|
+
|
|
20
|
+
dependency "libtool" if aix?
|
|
21
|
+
dependency "patch" if solaris2?
|
|
22
|
+
|
|
23
|
+
version("5.9") { source md5: "8cb9c412e5f2d96bc6f459aa8c6282a1", url: "http://ftp.gnu.org/gnu/ncurses/ncurses-5.9.tar.gz" }
|
|
24
|
+
version("5.9-20150530") { source md5: "bb2cbe1d788d3ab0138fc2734e446b43", url: "ftp://invisible-island.net/ncurses/current/ncurses-5.9-20150530.tgz" }
|
|
25
|
+
version("6.0-20150613") { source md5: "0c6a0389d004c78f4a995bc61884a563", url: "ftp://invisible-island.net/ncurses/current/ncurses-6.0-20150613.tgz" }
|
|
26
|
+
version("6.0-20150810") { source md5: "78bfcb4634a87b4cda390956586f8f1f", url: "ftp://invisible-island.net/ncurses/current/ncurses-6.0-20150810.tgz" }
|
|
27
|
+
|
|
28
|
+
relative_path "ncurses-#{version}"
|
|
29
|
+
|
|
30
|
+
########################################################################
|
|
31
|
+
#
|
|
32
|
+
# wide-character support:
|
|
33
|
+
# Ruby 1.9 optimistically builds against libncursesw for UTF-8
|
|
34
|
+
# support. In order to prevent Ruby from linking against a
|
|
35
|
+
# package-installed version of ncursesw, we build wide-character
|
|
36
|
+
# support into ncurses with the "--enable-widec" configure parameter.
|
|
37
|
+
# To support other applications and libraries that still try to link
|
|
38
|
+
# against libncurses, we also have to create non-wide libraries.
|
|
39
|
+
#
|
|
40
|
+
# The methods below are adapted from:
|
|
41
|
+
# http://www.linuxfromscratch.org/lfs/view/development/chapter06/ncurses.html
|
|
42
|
+
#
|
|
43
|
+
########################################################################
|
|
44
|
+
|
|
45
|
+
build do
|
|
46
|
+
env = with_standard_compiler_flags(with_embedded_path)
|
|
47
|
+
env.delete('CPPFLAGS')
|
|
48
|
+
|
|
49
|
+
if smartos?
|
|
50
|
+
# SmartOS is Illumos Kernel, plus NetBSD userland with a GNU toolchain.
|
|
51
|
+
# These patches are taken from NetBSD pkgsrc and provide GCC 4.7.0
|
|
52
|
+
# compatibility:
|
|
53
|
+
# http://ftp.netbsd.org/pub/pkgsrc/current/pkgsrc/devel/ncurses/patches/
|
|
54
|
+
patch source: "patch-aa", plevel: 0
|
|
55
|
+
patch source: "patch-ab", plevel: 0
|
|
56
|
+
patch source: "patch-ac", plevel: 0
|
|
57
|
+
patch source: "patch-ad", plevel: 0
|
|
58
|
+
patch source: "patch-cxx_cursesf.h", plevel: 0
|
|
59
|
+
patch source: "patch-cxx_cursesm.h", plevel: 0
|
|
60
|
+
|
|
61
|
+
# Opscode patches - <someara@opscode.com>
|
|
62
|
+
# The configure script from the pristine tarball detects xopen_source_extended incorrectly.
|
|
63
|
+
# Manually working around a false positive.
|
|
64
|
+
patch source: "ncurses-5.9-solaris-xopen_source_extended-detection.patch", plevel: 0
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
if version == "5.9"
|
|
68
|
+
# Update config.guess to support platforms made after 2010 (like aarch64)
|
|
69
|
+
patch source: "config_guess_2015-09-24.patch", plevel: 0
|
|
70
|
+
|
|
71
|
+
# Patch to add support for GCC 5, doesn't break previous versions
|
|
72
|
+
patch source: "ncurses-5.9-gcc-5.patch", plevel: 1
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
if mac_os_x? ||
|
|
76
|
+
# Clang became the default compiler in FreeBSD 10+
|
|
77
|
+
(freebsd? && ohai['os_version'].to_i >= 1000024)
|
|
78
|
+
# References:
|
|
79
|
+
# https://github.com/Homebrew/homebrew-dupes/issues/43
|
|
80
|
+
# http://invisible-island.net/ncurses/NEWS.html#t20110409
|
|
81
|
+
#
|
|
82
|
+
# Patches ncurses for clang compiler. Changes have been accepted into
|
|
83
|
+
# upstream, but occurred shortly after the 5.9 release. We should be able
|
|
84
|
+
# to remove this after upgrading to any release created after June 2012
|
|
85
|
+
patch source: "ncurses-clang.patch"
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
if openbsd?
|
|
89
|
+
patch source: "patch-ncurses_tinfo_lib__baudrate.c", plevel: 0
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
configure_command = [
|
|
93
|
+
"./configure",
|
|
94
|
+
"--prefix=#{install_dir}/embedded",
|
|
95
|
+
"--enable-overwrite",
|
|
96
|
+
"--with-shared",
|
|
97
|
+
"--with-termlib",
|
|
98
|
+
"--without-ada",
|
|
99
|
+
"--without-cxx-binding",
|
|
100
|
+
"--without-debug",
|
|
101
|
+
"--without-manpages",
|
|
102
|
+
]
|
|
103
|
+
|
|
104
|
+
if aix?
|
|
105
|
+
# AIX kinda needs 5.9-20140621 or later
|
|
106
|
+
# because of a naming snafu in shared library naming.
|
|
107
|
+
# see http://invisible-island.net/ncurses/NEWS.html#t20140621
|
|
108
|
+
|
|
109
|
+
# let libtool deal with library silliness
|
|
110
|
+
configure_command << "--with-libtool=\"#{install_dir}/embedded/bin/libtool\""
|
|
111
|
+
|
|
112
|
+
# stick with just the shared libs on AIX
|
|
113
|
+
configure_command << "--without-normal"
|
|
114
|
+
|
|
115
|
+
# ncurses's ./configure incorrectly
|
|
116
|
+
# "figures out" ARFLAGS if you try
|
|
117
|
+
# to set them yourself
|
|
118
|
+
env.delete('ARFLAGS')
|
|
119
|
+
|
|
120
|
+
# use gnu install from the coreutils IBM rpm package
|
|
121
|
+
env['INSTALL'] = "/opt/freeware/bin/install"
|
|
122
|
+
end
|
|
123
|
+
|
|
124
|
+
# only Solaris 10 sh has a problem with
|
|
125
|
+
# parens enclosed case statement conditions the configure script
|
|
126
|
+
configure_command.unshift "bash" if solaris2?
|
|
127
|
+
|
|
128
|
+
command configure_command.join(" "), env: env
|
|
129
|
+
|
|
130
|
+
# unfortunately, libtool may try to link to libtinfo
|
|
131
|
+
# before it has been assembled; so we have to build in serial
|
|
132
|
+
make "libs", env: env if aix?
|
|
133
|
+
|
|
134
|
+
make "-j #{workers}", env: env
|
|
135
|
+
make "-j #{workers} install", env: env
|
|
136
|
+
|
|
137
|
+
# Build non-wide-character libraries
|
|
138
|
+
make "distclean", env: env
|
|
139
|
+
configure_command << "--enable-widec"
|
|
140
|
+
|
|
141
|
+
command configure_command.join(" "), env: env
|
|
142
|
+
make "libs", env: env if aix?
|
|
143
|
+
make "-j #{workers}", env: env
|
|
144
|
+
|
|
145
|
+
# Installing the non-wide libraries will also install the non-wide
|
|
146
|
+
# binaries, which doesn't happen to be a problem since we don't
|
|
147
|
+
# utilize the ncurses binaries in private-chef (or oss chef)
|
|
148
|
+
make "-j #{workers} install", env: env
|
|
149
|
+
|
|
150
|
+
# Ensure embedded ncurses wins in the LD search path
|
|
151
|
+
if smartos?
|
|
152
|
+
link "#{install_dir}/embedded/lib/libcurses.so", "#{install_dir}/embedded/lib/libcurses.so.1"
|
|
153
|
+
end
|
|
154
|
+
end
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
name "oggcert-gem"
|
|
2
|
+
default_version "0.1.1"
|
|
3
|
+
|
|
4
|
+
dependency "ruby"
|
|
5
|
+
dependency "ncurses"
|
|
6
|
+
dependency "rubygems"
|
|
7
|
+
|
|
8
|
+
build do
|
|
9
|
+
env = with_standard_compiler_flags(with_embedded_path)
|
|
10
|
+
skip_transitive_dependency_licensing true
|
|
11
|
+
patch_env = env.dup
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
gem "install oggcert" \
|
|
15
|
+
" --version '#{version}'" \
|
|
16
|
+
" --bindir '#{install_dir}/embedded/bin'", env: env
|
|
17
|
+
|
|
18
|
+
bin_dir = File.join(install_dir, "bin")
|
|
19
|
+
embedded_bin_dir = File.join(install_dir, "embedded", "bin")
|
|
20
|
+
link("#{embedded_bin_dir}/oggcert", "#{bin_dir}/oggcert")
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
end
|
|
@@ -0,0 +1,166 @@
|
|
|
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 "openssl"
|
|
18
|
+
|
|
19
|
+
license "OpenSSL"
|
|
20
|
+
license_file "LICENSE"
|
|
21
|
+
skip_transitive_dependency_licensing true
|
|
22
|
+
|
|
23
|
+
dependency "zlib"
|
|
24
|
+
dependency "cacerts"
|
|
25
|
+
dependency "makedepend" unless aix? || windows?
|
|
26
|
+
dependency "openssl-fips" if fips_mode?
|
|
27
|
+
|
|
28
|
+
default_version "1.0.2k"
|
|
29
|
+
|
|
30
|
+
# OpenSSL source ships with broken symlinks which windows doesn't allow.
|
|
31
|
+
# Skip error checking.
|
|
32
|
+
source url: "https://www.openssl.org/source/openssl-#{version}.tar.gz", extract: :lax_tar
|
|
33
|
+
|
|
34
|
+
version("1.0.2k") { source sha256: "6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" }
|
|
35
|
+
version("1.0.2j") { source sha256: "e7aff292be21c259c6af26469c7a9b3ba26e9abaaffd325e3dccc9785256c431" }
|
|
36
|
+
version("1.0.2i") { source sha256: "9287487d11c9545b6efb287cdb70535d4e9b284dd10d51441d9b9963d000de6f" }
|
|
37
|
+
version("1.0.2h") { source sha256: "1d4007e53aad94a5b2002fe045ee7bb0b3d98f1a47f8b2bc851dcd1c74332919" }
|
|
38
|
+
version("1.0.2g") { source md5: "f3c710c045cdee5fd114feb69feba7aa" }
|
|
39
|
+
version("1.0.1u") { source sha256: "4312b4ca1215b6f2c97007503d80db80d5157f76f8f7d3febbe6b4c56ff26739" }
|
|
40
|
+
version("1.0.1t") { source md5: "9837746fcf8a6727d46d22ca35953da1" }
|
|
41
|
+
version("1.0.1s") { source md5: "562986f6937aabc7c11a6d376d8a0d26" }
|
|
42
|
+
version("1.0.1r") { source md5: "1abd905e079542ccae948af37e393d28" }
|
|
43
|
+
|
|
44
|
+
relative_path "openssl-#{version}"
|
|
45
|
+
|
|
46
|
+
build do
|
|
47
|
+
|
|
48
|
+
env = with_standard_compiler_flags(with_embedded_path)
|
|
49
|
+
if aix?
|
|
50
|
+
env["M4"] = "/opt/freeware/bin/m4"
|
|
51
|
+
elsif freebsd?
|
|
52
|
+
# Should this just be in standard_compiler_flags?
|
|
53
|
+
env["LDFLAGS"] += " -Wl,-rpath,#{install_dir}/embedded/lib"
|
|
54
|
+
elsif windows?
|
|
55
|
+
# XXX: OpenSSL explicitly sets -march=i486 and expects that to be honored.
|
|
56
|
+
# It has OPENSSL_IA32_SSE2 controlling whether it emits optimized SSE2 code
|
|
57
|
+
# and the 32-bit calling convention involving XMM registers is... vague.
|
|
58
|
+
# Do not enable SSE2 generally because the hand optimized assembly will
|
|
59
|
+
# overwrite registers that mingw expects to get preserved.
|
|
60
|
+
env["CFLAGS"] = "-I#{install_dir}/embedded/include"
|
|
61
|
+
env["CPPFLAGS"] = env["CFLAGS"]
|
|
62
|
+
env["CXXFLAGS"] = env["CFLAGS"]
|
|
63
|
+
|
|
64
|
+
if windows_arch_i386?
|
|
65
|
+
env["LDFLAGS"] ="-L#{install_dir}/embedded/lib -m32 -fno-lto"
|
|
66
|
+
else
|
|
67
|
+
env["LDFLAGS"] ="-L#{install_dir}/embedded/lib -m64 -fno-lto"
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
configure_args = [
|
|
72
|
+
"--prefix=#{install_dir}/embedded",
|
|
73
|
+
"--with-zlib-lib=#{install_dir}/embedded/lib",
|
|
74
|
+
"--with-zlib-include=#{install_dir}/embedded/include",
|
|
75
|
+
"no-idea",
|
|
76
|
+
"no-mdc2",
|
|
77
|
+
"no-rc5",
|
|
78
|
+
"shared",
|
|
79
|
+
]
|
|
80
|
+
|
|
81
|
+
configure_args += ["--with-fipsdir=#{install_dir}/embedded", "fips"] if fips_mode?
|
|
82
|
+
|
|
83
|
+
if windows?
|
|
84
|
+
configure_args << "zlib-dynamic"
|
|
85
|
+
else
|
|
86
|
+
configure_args << "zlib"
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
configure_cmd =
|
|
90
|
+
if aix?
|
|
91
|
+
"perl ./Configure aix64-cc"
|
|
92
|
+
elsif mac_os_x?
|
|
93
|
+
"./Configure darwin64-x86_64-cc"
|
|
94
|
+
elsif smartos?
|
|
95
|
+
"/bin/bash ./Configure solaris64-x86_64-gcc -static-libgcc"
|
|
96
|
+
elsif omnios?
|
|
97
|
+
"/bin/bash ./Configure solaris-x86-gcc"
|
|
98
|
+
elsif solaris_10?
|
|
99
|
+
# This should not require a /bin/sh, but without it we get
|
|
100
|
+
# Errno::ENOEXEC: Exec format error
|
|
101
|
+
platform = sparc? ? "solaris-sparcv9-gcc" : "solaris-x86-gcc"
|
|
102
|
+
"/bin/sh ./Configure #{platform} -static-libgcc"
|
|
103
|
+
elsif solaris_11?
|
|
104
|
+
platform = sparc? ? "solaris64-sparcv9-gcc" : "solaris64-x86_64-gcc"
|
|
105
|
+
"/bin/bash ./Configure #{platform} -static-libgcc"
|
|
106
|
+
elsif windows?
|
|
107
|
+
platform = windows_arch_i386? ? "mingw" : "mingw64"
|
|
108
|
+
"perl.exe ./Configure #{platform}"
|
|
109
|
+
else
|
|
110
|
+
prefix =
|
|
111
|
+
if linux? && ppc64?
|
|
112
|
+
"./Configure linux-ppc64"
|
|
113
|
+
elsif linux? && s390x?
|
|
114
|
+
# With gcc > 4.3 on s390x there is an error building
|
|
115
|
+
# with inline asm enabled
|
|
116
|
+
"./Configure linux64-s390x -DOPENSSL_NO_INLINE_ASM"
|
|
117
|
+
else
|
|
118
|
+
"./config"
|
|
119
|
+
end
|
|
120
|
+
"#{prefix} disable-gost"
|
|
121
|
+
end
|
|
122
|
+
|
|
123
|
+
patch_env = if aix?
|
|
124
|
+
# This enables omnibus to use 'makedepend'
|
|
125
|
+
# from fileset 'X11.adt.imake' (AIX install media)
|
|
126
|
+
env["PATH"] = "/usr/lpp/X11/bin:#{ENV["PATH"]}"
|
|
127
|
+
penv = env.dup
|
|
128
|
+
penv["PATH"] = "/opt/freeware/bin:#{env['PATH']}"
|
|
129
|
+
penv
|
|
130
|
+
else
|
|
131
|
+
env
|
|
132
|
+
end
|
|
133
|
+
|
|
134
|
+
patch source: "openssl-1.0.1f-do-not-build-docs.patch", env: patch_env
|
|
135
|
+
|
|
136
|
+
if version == "1.0.2k"
|
|
137
|
+
patch source: "openssl-1.0.2k-no-bang.patch", env: patch_env, plevel: 1
|
|
138
|
+
end
|
|
139
|
+
|
|
140
|
+
if windows?
|
|
141
|
+
# Patch Makefile.org to update the compiler flags/options table for mingw.
|
|
142
|
+
patch source: "openssl-1.0.1q-fix-compiler-flags-table-for-msys.patch", env: env
|
|
143
|
+
end
|
|
144
|
+
|
|
145
|
+
# Out of abundance of caution, we put the feature flags first and then
|
|
146
|
+
# the crazy platform specific compiler flags at the end.
|
|
147
|
+
configure_args << env["CFLAGS"] << env["LDFLAGS"]
|
|
148
|
+
|
|
149
|
+
configure_command = configure_args.unshift(configure_cmd).join(" ")
|
|
150
|
+
|
|
151
|
+
command configure_command, env: env, in_msys_bash: true
|
|
152
|
+
make "depend", env: env
|
|
153
|
+
# make -j N on openssl is not reliable
|
|
154
|
+
make env: env
|
|
155
|
+
if aix?
|
|
156
|
+
# We have to sudo this because you can't actually run slibclean without being root.
|
|
157
|
+
# Something in openssl changed in the build process so now it loads the libcrypto
|
|
158
|
+
# and libssl libraries into AIX's shared library space during the first part of the
|
|
159
|
+
# compile. This means we need to clear the space since it's not being used and we
|
|
160
|
+
# can't install the library that is already in use. Ideally we would patch openssl
|
|
161
|
+
# to make this not be an issue.
|
|
162
|
+
# Bug Ref: http://rt.openssl.org/Ticket/Display.html?id=2986&user=guest&pass=guest
|
|
163
|
+
command "sudo /usr/sbin/slibclean", env: env
|
|
164
|
+
end
|
|
165
|
+
make "install", env: env
|
|
166
|
+
end
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Copyright 2013-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 "pkg-config-lite"
|
|
18
|
+
default_version "0.28-1"
|
|
19
|
+
|
|
20
|
+
license "GPL-2.0"
|
|
21
|
+
license_file "COPYING"
|
|
22
|
+
|
|
23
|
+
version "0.28-1" do
|
|
24
|
+
source md5: "61f05feb6bab0a6bbfab4b6e3b2f44b6"
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
source url: "http://downloads.sourceforge.net/project/pkgconfiglite/#{version}/pkg-config-lite-#{version}.tar.gz"
|
|
28
|
+
|
|
29
|
+
relative_path "pkg-config-lite-#{version}"
|
|
30
|
+
|
|
31
|
+
build do
|
|
32
|
+
env = with_standard_compiler_flags(with_embedded_path)
|
|
33
|
+
|
|
34
|
+
if version == "0.28-1"
|
|
35
|
+
patch source: "pkg-config-lite-0.28-1.config.guess.patch", plevel: 0
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
command "./configure" \
|
|
39
|
+
" --prefix=#{install_dir}/embedded" \
|
|
40
|
+
" --disable-host-tool" \
|
|
41
|
+
" --with-pc-path=#{install_dir}/embedded/bin/pkgconfig", env: env
|
|
42
|
+
|
|
43
|
+
make "-j #{workers}", env: env
|
|
44
|
+
make "-j #{workers} install", env: env
|
|
45
|
+
end
|