clusterlb 0.1.6 → 0.1.7
Sign up to get free protection for your applications and to get access to all the features.
- 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
|