omnibus-software 22.11.239
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.expeditor/Version_inspector/README.md +21 -0
- data/.expeditor/Version_inspector/SW-Version-update.py +243 -0
- data/.expeditor/Version_inspector/manual_prod_list.json +29 -0
- data/.expeditor/Version_inspector/prod_default_version.json +103 -0
- data/.expeditor/Version_inspector/prod_list.json +194 -0
- data/.expeditor/Version_inspector/requirements.txt +4 -0
- data/.expeditor/Version_inspector/update_prod_default_version.sh +24 -0
- data/.expeditor/Version_inspector/update_prod_list.sh +35 -0
- data/.expeditor/config.yml +33 -0
- data/.expeditor/determine_version.sh +15 -0
- data/.expeditor/push_git_tag.sh +12 -0
- data/.expeditor/run_linux_tests.sh +16 -0
- data/.expeditor/verify.pipeline.yml +52 -0
- data/.github/CODEOWNERS +5 -0
- data/.github/ISSUE_TEMPLATE/BUG_TEMPLATE.md +29 -0
- data/.github/ISSUE_TEMPLATE/DESIGN_PROPOSAL.md +40 -0
- data/.github/ISSUE_TEMPLATE/ENHANCEMENT_REQUEST_TEMPLATE.md +17 -0
- data/.github/ISSUE_TEMPLATE/SUPPORT_QUESTION.md +11 -0
- data/.github/dependabot.yml +9 -0
- data/.github/lock.yml +1 -0
- data/.gitignore +17 -0
- data/CODE_OF_CONDUCT.md +1 -0
- data/CONTRIBUTING.md +1 -0
- data/Dockerfile +21 -0
- data/Gemfile +10 -0
- data/LICENSE +201 -0
- data/README.md +99 -0
- data/Rakefile +56 -0
- data/VERSION +1 -0
- data/config/patches/bash/race-condition.patch +15 -0
- data/config/patches/bzip2/aix_makefile.patch +11 -0
- data/config/patches/bzip2/makefile_no_bins.patch +77 -0
- data/config/patches/bzip2/makefile_take_env_vars.patch +31 -0
- data/config/patches/bzip2/soname_install_dir.patch +11 -0
- data/config/patches/curl/curl-aix-disable-alpn.patch +22 -0
- data/config/patches/curl/curl-freebsd-hostcheck.patch +10 -0
- data/config/patches/erlang/epmd-require-explicitly-adding-loopback-address.patch +84 -0
- data/config/patches/erlang/updated-epmd-require-explicitly-adding-loopback-address.patch +75 -0
- data/config/patches/expat/configure_xlc_visibility.patch +58 -0
- data/config/patches/expat/configure_xlc_visibility_2.4.7.patch +59 -0
- data/config/patches/figlet/aix-figlet-cdefs.patch +48 -0
- data/config/patches/gdbm/v1.8.3-Makefile.in.patch +32 -0
- data/config/patches/git/aix-endian-fix.patch +20 -0
- data/config/patches/gtar/aix_extra_case.patch +13 -0
- data/config/patches/keepalived/keepalived-1.2.9_opscode_centos_5.patch +15 -0
- data/config/patches/libedit/freebsd-vi-fix.patch +24 -0
- data/config/patches/libedit/openbsd-weak-alias-fix.patch +48 -0
- data/config/patches/libedit/solaris.patch +36 -0
- data/config/patches/libffi/libffi-3.2.1-disable-multi-os-directory.patch +83 -0
- data/config/patches/libffi/libffi-3.3-arm64.patch +9608 -0
- data/config/patches/libxslt/libxslt-solaris-configure.patch +19 -0
- data/config/patches/libxslt/libxslt-windows-relocate.patch +12 -0
- data/config/patches/libyaml/windows-configure.patch +26 -0
- data/config/patches/libzmq/zeromq-4.0.11_mingw_inet_pton.patch +37 -0
- data/config/patches/libzmq/zeromq-aix-4.2.2-LARGE_FILES.patch +56 -0
- data/config/patches/libzmq/zeromq-aix-4.2.2-atomic-counter-fetch_and_add.patch +59 -0
- data/config/patches/logrotate/logrotate_basedir_override.patch +17 -0
- data/config/patches/m4/m4-1.4.18-glibc-change-work-around.patch +115 -0
- data/config/patches/make/deb-make-glob.patch +31 -0
- data/config/patches/ncurses/ncurses-5.9-gcc-5.patch +46 -0
- data/config/patches/ncurses/ncurses-5.9-solaris-xopen_source_extended-detection.patch +11 -0
- data/config/patches/ncurses/ncurses-clang.patch +43 -0
- data/config/patches/ncurses/patch-aa +23 -0
- data/config/patches/ncurses/patch-ab +44 -0
- data/config/patches/ncurses/patch-ac +40 -0
- data/config/patches/ncurses/patch-ad +13 -0
- data/config/patches/ncurses/patch-cxx_cursesf.h +22 -0
- data/config/patches/ncurses/patch-cxx_cursesm.h +22 -0
- data/config/patches/ncurses/patch-ncurses_tinfo_lib__baudrate.c +24 -0
- data/config/patches/openssl/openssl-1.0.1f-do-not-build-docs.patch +28 -0
- data/config/patches/openssl/openssl-1.0.1j-windows-relocate-dll.patch +20 -0
- data/config/patches/openssl/openssl-1.0.1q-fix-compiler-flags-table-for-msys.patch +20 -0
- data/config/patches/openssl/openssl-1.0.2x-darwin-arm64.patch +54 -0
- data/config/patches/openssl/openssl-1.1.0f-do-not-install-docs.patch +11 -0
- data/config/patches/openssl/openssl-3.0.1-do-not-install-docs.patch +22 -0
- data/config/patches/openssl-fips/openssl-fips-fix-compiler-flags-table-for-msys.patch +11 -0
- data/config/patches/perl/perl-5.18.1-remove_lnsl.patch +441 -0
- data/config/patches/perl/perl-5.22.1-remove_lnsl.patch +512 -0
- data/config/patches/perl/perl-5.30.0-remove_lnsl.patch +518 -0
- data/config/patches/perl/perl-5.32.1-remove_lnsl.patch +456 -0
- data/config/patches/perl/perl-5.34.0-remove_lnsl.patch +516 -0
- data/config/patches/pkg-config/openbsd-charset.patch +19 -0
- data/config/patches/popt/v1.16.ppc64le-configure.patch +18 -0
- data/config/patches/redis/password-from-environment.patch +19 -0
- data/config/patches/ruby/patch-configure +103 -0
- data/config/patches/ruby/remove_nano.patch +10 -0
- data/config/patches/ruby/ruby-2.6.7_c99.patch +12 -0
- data/config/patches/ruby/ruby-3.0.1-configure.patch +281 -0
- data/config/patches/ruby/ruby-3.0.2-configure.patch +251 -0
- data/config/patches/ruby/ruby-aix-atomic.patch +11 -0
- data/config/patches/ruby/ruby-aix-configure_26_and_later.patch +19 -0
- data/config/patches/ruby/ruby-aix-vm-core.patch +14 -0
- data/config/patches/ruby/ruby-fast-load_26.patch +16 -0
- data/config/patches/ruby/ruby-fast-load_31.patch +16 -0
- data/config/patches/ruby/ruby-faster-load_26.patch +11 -0
- data/config/patches/ruby/ruby-faster-load_27.patch +11 -0
- data/config/patches/ruby/ruby-mkmf.patch +29 -0
- data/config/patches/ruby/ruby-no-stack-protector-strong.patch +11 -0
- data/config/patches/ruby/ruby-no-stack-protector.patch +13 -0
- data/config/patches/ruby/ruby-win32_warning_removal.patch +12 -0
- data/config/patches/ruby/ruby_aix_openssl.patch +10 -0
- data/config/patches/ruby/ruby_aix_ssl_EAGAIN.patch +19 -0
- data/config/patches/ruby/rvm-cflags.patch +27 -0
- data/config/patches/stunnel/stunnel-on-windows.patch +42 -0
- data/config/patches/zlib/zlib-windows-relocate.patch +20 -0
- data/config/software/autoconf.rb +46 -0
- data/config/software/automake.rb +49 -0
- data/config/software/bash.rb +72 -0
- data/config/software/berkshelf-no-depselector.rb +46 -0
- data/config/software/berkshelf.rb +34 -0
- data/config/software/binutils.rb +47 -0
- data/config/software/bundler.rb +38 -0
- data/config/software/bzip2.rb +55 -0
- data/config/software/cacerts.rb +50 -0
- data/config/software/chef-gem.rb +35 -0
- data/config/software/chef.rb +112 -0
- data/config/software/cmake.rb +94 -0
- data/config/software/config_guess.rb +37 -0
- data/config/software/cpanminus.rb +49 -0
- data/config/software/curl.rb +103 -0
- data/config/software/delivery-cli.rb +89 -0
- data/config/software/dep-selector-libgecode.rb +48 -0
- data/config/software/elasticsearch.rb +61 -0
- data/config/software/elixir.rb +35 -0
- data/config/software/erlang.rb +134 -0
- data/config/software/expat.rb +63 -0
- data/config/software/fakeroot.rb +41 -0
- data/config/software/ffi-yajl.rb +46 -0
- data/config/software/figlet-fonts.rb +31 -0
- data/config/software/figlet.rb +44 -0
- data/config/software/gcc.rb +60 -0
- data/config/software/gdbm.rb +54 -0
- data/config/software/gecode.rb +62 -0
- data/config/software/gem-permissions.rb +43 -0
- data/config/software/git-windows.rb +96 -0
- data/config/software/git.rb +138 -0
- data/config/software/gmp.rb +48 -0
- data/config/software/go-uninstall.rb +33 -0
- data/config/software/go.rb +116 -0
- data/config/software/google-protobuf.rb +45 -0
- data/config/software/gtar.rb +62 -0
- data/config/software/help2man.rb +40 -0
- data/config/software/highline-gem.rb +37 -0
- data/config/software/ibm-jre.rb +59 -0
- data/config/software/inspec.rb +43 -0
- data/config/software/jre-from-jdk.rb +67 -0
- data/config/software/keepalived.rb +68 -0
- data/config/software/libarchive.rb +71 -0
- data/config/software/libedit.rb +73 -0
- data/config/software/libffi.rb +68 -0
- data/config/software/libgcc.rb +52 -0
- data/config/software/libiconv.rb +55 -0
- data/config/software/libintl-perl.rb +56 -0
- data/config/software/liblzma.rb +59 -0
- data/config/software/libossp-uuid.rb +45 -0
- data/config/software/libsodium.rb +40 -0
- data/config/software/libtool.rb +56 -0
- data/config/software/libuuid.rb +45 -0
- data/config/software/libxml2.rb +63 -0
- data/config/software/libxslt.rb +64 -0
- data/config/software/libyajl2-gem.rb +44 -0
- data/config/software/libyaml.rb +50 -0
- data/config/software/libzmq.rb +93 -0
- data/config/software/logrotate.rb +61 -0
- data/config/software/lua.rb +46 -0
- data/config/software/m4.rb +40 -0
- data/config/software/make.rb +43 -0
- data/config/software/makedepend.rb +44 -0
- data/config/software/mpc.rb +44 -0
- data/config/software/mpfr.rb +45 -0
- data/config/software/musl.rb +107 -0
- data/config/software/mysql2.rb +50 -0
- data/config/software/ncurses.rb +159 -0
- data/config/software/nginx.rb +55 -0
- data/config/software/nodejs-binary.rb +90 -0
- data/config/software/nodejs.rb +58 -0
- data/config/software/nokogiri.rb +92 -0
- data/config/software/omnibus-ctl.rb +42 -0
- data/config/software/openresty.rb +94 -0
- data/config/software/opensearch.rb +54 -0
- data/config/software/openssl-customization.rb +81 -0
- data/config/software/openssl-fips.rb +81 -0
- data/config/software/openssl.rb +185 -0
- data/config/software/patch.rb +46 -0
- data/config/software/patchelf.rb +66 -0
- data/config/software/pcre.rb +53 -0
- data/config/software/perl-extutils-embed.rb +37 -0
- data/config/software/perl-extutils-makemaker.rb +46 -0
- data/config/software/perl-thread-queue.rb +40 -0
- data/config/software/perl.rb +78 -0
- data/config/software/perl_pg_driver.rb +45 -0
- data/config/software/pg-gem.rb +36 -0
- data/config/software/pkg-config-lite.rb +46 -0
- data/config/software/pkg-config.rb +66 -0
- data/config/software/popt.rb +54 -0
- data/config/software/postgresql.rb +70 -0
- data/config/software/preparation.rb +31 -0
- data/config/software/python.rb +79 -0
- data/config/software/rabbitmq.rb +58 -0
- data/config/software/rb-readline.rb +33 -0
- data/config/software/rbnacl-libsodium.rb +42 -0
- data/config/software/rbzmq.rb +44 -0
- data/config/software/rebar.rb +42 -0
- data/config/software/redis-gem.rb +36 -0
- data/config/software/redis.rb +51 -0
- data/config/software/relx.rb +39 -0
- data/config/software/rsync.rb +55 -0
- data/config/software/ruby-cleanup.rb +254 -0
- data/config/software/ruby-msys2-devkit.rb +77 -0
- data/config/software/ruby-windows-devkit-bash.rb +41 -0
- data/config/software/ruby-windows-devkit.rb +84 -0
- data/config/software/ruby.rb +306 -0
- data/config/software/rubygems.rb +73 -0
- data/config/software/runit.rb +67 -0
- data/config/software/rust-uninstall.rb +32 -0
- data/config/software/rust.rb +97 -0
- data/config/software/sequel-gem.rb +36 -0
- data/config/software/server-jre.rb +125 -0
- data/config/software/server-open-jre.rb +112 -0
- data/config/software/setuptools.rb +48 -0
- data/config/software/shebang-cleanup.rb +101 -0
- data/config/software/sqitch.rb +87 -0
- data/config/software/stunnel.rb +86 -0
- data/config/software/util-macros.rb +42 -0
- data/config/software/version-manifest.rb +33 -0
- data/config/software/xproto.rb +42 -0
- data/config/software/zlib.rb +85 -0
- data/config/templates/git/config.mak.erb +31 -0
- data/config/templates/rubygems/register_devtools.rb.erb +33 -0
- data/config/templates/runit/runsvdir-start.erb +42 -0
- data/docker-compose.yml +15 -0
- data/lib/omnibus-software/version.rb +3 -0
- data/lib/omnibus-software.rb +115 -0
- data/omnibus-software.gemspec +20 -0
- data/test/Gemfile +10 -0
- data/test/config/projects/test.rb +14 -0
- data/test/generate_steps.rb +55 -0
- data/test/omnibus-build.sh +50 -0
- data/test/omnibus.rb +55 -0
- metadata +296 -0
@@ -0,0 +1,58 @@
|
|
1
|
+
#
|
2
|
+
# Copyright:: 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
|
+
# expeditor/ignore: deprecated 2021-11
|
17
|
+
|
18
|
+
name "nodejs"
|
19
|
+
|
20
|
+
license "MIT"
|
21
|
+
license_file "LICENSE"
|
22
|
+
skip_transitive_dependency_licensing true
|
23
|
+
|
24
|
+
default_version "0.10.48"
|
25
|
+
|
26
|
+
dependency "python"
|
27
|
+
|
28
|
+
default_src_url = "https://nodejs.org/dist/v#{version}/node-v#{version}.tar.gz"
|
29
|
+
|
30
|
+
version "12.22.3" do
|
31
|
+
source url: default_src_url, sha256: "30acec454f26a168afe6d1c55307c5186ef23dba66527cc34e4497d01f91bda4"
|
32
|
+
end
|
33
|
+
|
34
|
+
version "0.10.48" do
|
35
|
+
source url: default_src_url, sha256: "27a1765b86bf4ec9833e2f89e8421ba4bc01a326b883f125de2f0b3494bd5549"
|
36
|
+
end
|
37
|
+
|
38
|
+
relative_path "node-v#{version}"
|
39
|
+
|
40
|
+
build do
|
41
|
+
env = with_standard_compiler_flags(with_embedded_path)
|
42
|
+
|
43
|
+
config_command = [
|
44
|
+
"--prefix=#{install_dir}/embedded",
|
45
|
+
"--without-dtrace",
|
46
|
+
]
|
47
|
+
|
48
|
+
if version.satisfies?(">= 12")
|
49
|
+
config_command << "--without-node-snapshot"
|
50
|
+
config_command << "--without-inspector"
|
51
|
+
config_command << "--without-intl"
|
52
|
+
end
|
53
|
+
|
54
|
+
configure(*config_command, env: env)
|
55
|
+
|
56
|
+
make "-j #{workers}", env: env
|
57
|
+
make "install", env: env
|
58
|
+
end
|
@@ -0,0 +1,92 @@
|
|
1
|
+
# Copyright:: Copyright (c) Chef Software Inc.
|
2
|
+
#
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at
|
6
|
+
#
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
8
|
+
#
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
# See the License for the specific language governing permissions and
|
13
|
+
# limitations under the License.
|
14
|
+
#
|
15
|
+
# expeditor/ignore: no version pinning
|
16
|
+
|
17
|
+
name "nokogiri"
|
18
|
+
|
19
|
+
license "MIT"
|
20
|
+
license_file "https://raw.githubusercontent.com/sparklemotion/nokogiri/master/LICENSE.md"
|
21
|
+
# We install only nokogiri from rubygems here.
|
22
|
+
skip_transitive_dependency_licensing true
|
23
|
+
|
24
|
+
dependency "ruby"
|
25
|
+
|
26
|
+
using_prebuilt_ruby = windows? && (project.overrides[:ruby].nil? || project.overrides[:ruby][:version] == "ruby-windows")
|
27
|
+
unless using_prebuilt_ruby
|
28
|
+
dependency "libxml2"
|
29
|
+
dependency "libxslt"
|
30
|
+
dependency "liblzma"
|
31
|
+
dependency "zlib"
|
32
|
+
end
|
33
|
+
|
34
|
+
#
|
35
|
+
# NOTE: As of nokogiri 1.6.4 it will superficially 'work' to remove most
|
36
|
+
# of the nonsense in this file and simply gem install nokogiri on most
|
37
|
+
# platforms. This is because nokogiri has improved its packaging so that
|
38
|
+
# all of the dynamic libraries are 'statically' compiled into nokogiri.so
|
39
|
+
# with -lz -llzma -lxslt -lxml2, etc. What will happen in that case is
|
40
|
+
# that the nokogiri build system will pull zlib, lzma, etc out of the
|
41
|
+
# system and link it inside of nokogiri.so and ship it as one big
|
42
|
+
# dynamic library. This will essentially defeat one aspect of our
|
43
|
+
# health_check system so that we will be shipping an embedded zlib inside
|
44
|
+
# of nokogiri.so that we do not track and will have a high likelihood that
|
45
|
+
# if there are security errata that we ship exploitable code without
|
46
|
+
# knowing it. For all other purposes, the built executable will work,
|
47
|
+
# however, so it is likely that someone will 'discover' that 'everything
|
48
|
+
# works' and remove all the junk in this file. That will, however, have
|
49
|
+
# unintended side effects. We do not have a mechanism to inspect the
|
50
|
+
# nokogiri.so and determine that it is shipping with an embedded zlib that
|
51
|
+
# does not match the one that we ship in /opt/chef/embedded/lib, so there
|
52
|
+
# will be nothing that alerts or fails on this.
|
53
|
+
#
|
54
|
+
# TL;DR: do not remove --use-system-libraries even if everything appears to
|
55
|
+
# be green after you do.
|
56
|
+
#
|
57
|
+
build do
|
58
|
+
env = with_standard_compiler_flags(with_embedded_path)
|
59
|
+
|
60
|
+
gem_command = [ "install nokogiri" ]
|
61
|
+
gem_command << "--version '#{version}'" unless version.nil?
|
62
|
+
|
63
|
+
# windows uses the 'fat' precompiled binaries'
|
64
|
+
unless using_prebuilt_ruby
|
65
|
+
# Tell nokogiri to use the system libraries instead of compiling its own
|
66
|
+
env["NOKOGIRI_USE_SYSTEM_LIBRARIES"] = "true"
|
67
|
+
|
68
|
+
gem_command += [
|
69
|
+
"--platform ruby",
|
70
|
+
"--conservative",
|
71
|
+
"--minimal-deps",
|
72
|
+
"--",
|
73
|
+
"--use-system-libraries",
|
74
|
+
"--with-xml2-lib=#{install_dir}/embedded/lib",
|
75
|
+
"--with-xml2-include=#{install_dir}/embedded/include/libxml2",
|
76
|
+
"--with-xslt-lib=#{install_dir}/embedded/lib",
|
77
|
+
"--with-xslt-include=#{install_dir}/embedded/include/libxslt",
|
78
|
+
"--without-iconv",
|
79
|
+
"--with-zlib-dir=#{install_dir}/embedded",
|
80
|
+
]
|
81
|
+
end
|
82
|
+
|
83
|
+
gem gem_command.join(" "), env: env
|
84
|
+
|
85
|
+
# The mini-portile2 gem ships with some test fixture data compressed in a format Apple's notarization
|
86
|
+
# service cannot understand. We need to delete that archive to pass notarization.
|
87
|
+
block "Delete test folder of mini-portile2 gem so downstream projects pass notarization" do
|
88
|
+
env["VISUAL"] = "echo"
|
89
|
+
gem_install_dir = shellout!("#{install_dir}/embedded/bin/gem open mini_portile2", env: env).stdout.chomp
|
90
|
+
remove_directory "#{gem_install_dir}/test"
|
91
|
+
end
|
92
|
+
end
|
@@ -0,0 +1,42 @@
|
|
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 "omnibus-ctl"
|
18
|
+
default_version "v0.6.0"
|
19
|
+
|
20
|
+
license "Apache-2.0"
|
21
|
+
license_file "https://raw.githubusercontent.com/chef/omnibus-ctl/main/LICENSE"
|
22
|
+
# Even though omnibus-ctl is a gem, it does not have any dependencies.
|
23
|
+
skip_transitive_dependency_licensing true
|
24
|
+
|
25
|
+
dependency "ruby"
|
26
|
+
|
27
|
+
# versions_list: https://github.com/chef/omnibus-ctl/tags filter=*.tar.gz
|
28
|
+
source git: "https://github.com/chef/omnibus-ctl.git"
|
29
|
+
|
30
|
+
relative_path "omnibus-ctl"
|
31
|
+
|
32
|
+
build do
|
33
|
+
env = with_standard_compiler_flags(with_embedded_path)
|
34
|
+
|
35
|
+
# Remove existing built gems in case they exist in the current dir
|
36
|
+
delete "omnibus-ctl-*.gem"
|
37
|
+
|
38
|
+
gem "build omnibus-ctl.gemspec", env: env
|
39
|
+
gem "install omnibus-ctl-*.gem --no-document ", env: env
|
40
|
+
|
41
|
+
touch "#{install_dir}/embedded/service/omnibus-ctl/.gitkeep"
|
42
|
+
end
|
@@ -0,0 +1,94 @@
|
|
1
|
+
#
|
2
|
+
# Copyright:: 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 "openresty"
|
18
|
+
license "BSD-2-Clause"
|
19
|
+
license_file "README.markdown"
|
20
|
+
skip_transitive_dependency_licensing true
|
21
|
+
default_version "1.21.4.1"
|
22
|
+
|
23
|
+
dependency "pcre"
|
24
|
+
dependency "openssl"
|
25
|
+
dependency "zlib"
|
26
|
+
dependency "lua" if ppc64? || ppc64le? || s390x?
|
27
|
+
|
28
|
+
# versions_list: https://openresty.org/download/ filter=*.tar.gz
|
29
|
+
version("1.21.4.1") { source sha256: "0c5093b64f7821e85065c99e5d4e6cc31820cfd7f37b9a0dec84209d87a2af99" }
|
30
|
+
version("1.21.4.1rc1") { source sha256: "1cb216bc57a253149cb5c4b815bfe00e1c0713e7355774bbc26cf306d2ff632f" }
|
31
|
+
version("1.19.9.1") { source sha256: "576ff4e546e3301ce474deef9345522b7ef3a9d172600c62057f182f3a68c1f6" }
|
32
|
+
version("1.19.3.2") { source sha256: "ce40e764990fbbeb782e496eb63e214bf19b6f301a453d13f70c4f363d1e5bb9" }
|
33
|
+
version("1.19.3.1") { source sha256: "f36fcd9c51f4f9eb8aaab8c7f9e21018d5ce97694315b19cacd6ccf53ab03d5d" }
|
34
|
+
version("1.17.8.2") { source sha256: "2f321ab11cb228117c840168f37094ee97f8f0316eac413766305409c7e023a0" }
|
35
|
+
version("1.15.8.1") { source sha256: "89a1238ca177692d6903c0adbea5bdf2a0b82c383662a73c03ebf5ef9f570842" }
|
36
|
+
version("1.13.6.2") { source sha256: "946e1958273032db43833982e2cec0766154a9b5cb8e67868944113208ff2942" }
|
37
|
+
version("1.11.2.5") { source sha256: "f8cc203e8c0fcd69676f65506a3417097fc445f57820aa8e92d7888d8ad657b9" }
|
38
|
+
|
39
|
+
source url: "https://openresty.org/download/openresty-#{version}.tar.gz"
|
40
|
+
|
41
|
+
relative_path "openresty-#{version}"
|
42
|
+
|
43
|
+
build do
|
44
|
+
env = with_standard_compiler_flags(with_embedded_path)
|
45
|
+
env["PATH"] += "#{env["PATH"]}:/usr/sbin:/sbin"
|
46
|
+
|
47
|
+
configure = [
|
48
|
+
"./configure",
|
49
|
+
"--prefix=#{install_dir}/embedded",
|
50
|
+
"--sbin-path=#{install_dir}/embedded/sbin/nginx",
|
51
|
+
"--conf-path=#{install_dir}/embedded/conf/nginx.conf",
|
52
|
+
"--with-http_ssl_module",
|
53
|
+
"--with-debug",
|
54
|
+
"--with-http_stub_status_module",
|
55
|
+
# Building Nginx with non-system OpenSSL
|
56
|
+
# http://www.ruby-forum.com/topic/207287#902308
|
57
|
+
"--with-ld-opt=\"-L#{install_dir}/embedded/lib -Wl,-rpath,#{install_dir}/embedded/lib -lssl -lcrypto -ldl -lz\"",
|
58
|
+
"--with-cc-opt=\"-L#{install_dir}/embedded/lib -I#{install_dir}/embedded/include\"",
|
59
|
+
# Options inspired by the OpenResty Cookbook
|
60
|
+
"--with-md5-asm",
|
61
|
+
"--with-sha1-asm",
|
62
|
+
"--with-pcre-jit",
|
63
|
+
"--without-http_ssi_module",
|
64
|
+
"--without-mail_smtp_module",
|
65
|
+
"--without-mail_imap_module",
|
66
|
+
"--without-mail_pop3_module",
|
67
|
+
"--with-http_v2_module",
|
68
|
+
"--with-ipv6",
|
69
|
+
# AIO support define in Openresty cookbook. Requires Kernel >= 2.6.22
|
70
|
+
# Ubuntu 10.04 reports: 2.6.32-38-server #83-Ubuntu SMP
|
71
|
+
# However, they require libatomic-ops-dev and libaio
|
72
|
+
# '--with-file-aio',
|
73
|
+
# '--with-libatomic'
|
74
|
+
]
|
75
|
+
|
76
|
+
# Currently LuaJIT doesn't support POWER correctly so use Lua51 there instead
|
77
|
+
if ppc64? || ppc64le? || s390x?
|
78
|
+
# 1.13 breaks these; discover a workaround
|
79
|
+
if version.satisfies?(">= 1.13")
|
80
|
+
exit("ppc64? || ppc64le? || s390x? unsupported for 1.13 and greater")
|
81
|
+
else
|
82
|
+
configure << "--with-lua51=#{install_dir}/embedded/lib"
|
83
|
+
end
|
84
|
+
else
|
85
|
+
configure << "--with-luajit"
|
86
|
+
end
|
87
|
+
|
88
|
+
command configure.join(" "), env: env
|
89
|
+
|
90
|
+
make "-j #{workers}", env: env
|
91
|
+
make "install", env: env
|
92
|
+
|
93
|
+
touch "#{install_dir}/embedded/nginx/logs/.gitkeep"
|
94
|
+
end
|
@@ -0,0 +1,54 @@
|
|
1
|
+
#
|
2
|
+
# Copyright 2020 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 "opensearch"
|
18
|
+
default_version "2.2.0"
|
19
|
+
|
20
|
+
dependency "server-open-jre"
|
21
|
+
license "Apache-2.0"
|
22
|
+
license_file "LICENSE.txt"
|
23
|
+
skip_transitive_dependency_licensing true
|
24
|
+
|
25
|
+
source url: "https://artifacts.opensearch.org/releases/bundle/opensearch/#{version}/opensearch-#{version}-linux-x64.tar.gz"
|
26
|
+
relative_path "opensearch-#{version}"
|
27
|
+
|
28
|
+
# versions_list:https://opensearch.org/docs/latest/version-history/
|
29
|
+
version("2.2.0") { source sha256: "4480c15682ddcd10cebb8a1103f4efafa789d7aee9d4c8c9201cd9864d5ed58c" }
|
30
|
+
version("2.1.0") { source sha256: "bccd737e0f4e4554d3918f011a1e379ebda9e53473c70b4264aa28ce719611e3" }
|
31
|
+
version("2.0.1") { source sha256: "8366dc71c839935330dbe841b415b37f28573de5ae7718e75f2e1c50756e0d99" }
|
32
|
+
version("2.0.0") { source sha256: "bec706d221052cb962ed0e6973d28e1058f21ef3dfc054c97c991bb279b0564e" }
|
33
|
+
version("1.3.2") { source sha256: "14199251a8aae2068fd54aa39c778ff29dcc8be33d57f36a8cc2d19e07ff4149" }
|
34
|
+
version("1.2.4") { source sha256: "d40f2696623b6766aa235997e2847a6c661a226815d4ba173292a219754bd8a8" }
|
35
|
+
|
36
|
+
target_path = "#{install_dir}/embedded/opensearch"
|
37
|
+
|
38
|
+
build do
|
39
|
+
mkdir "#{target_path}"
|
40
|
+
|
41
|
+
delete "#{project_dir}/config"
|
42
|
+
|
43
|
+
# OpenSearch includes a compatible jdk but its files fail the omnibus health check.
|
44
|
+
# It isn't needed since we use the omnibus built server-open-jre so it can be deleted.
|
45
|
+
delete "#{project_dir}/jdk"
|
46
|
+
|
47
|
+
# Delete the opensearch-knn plugin because it causes health check failures
|
48
|
+
delete "#{project_dir}/plugins/opensearch-knn"
|
49
|
+
|
50
|
+
sync "#{project_dir}/", "#{target_path}"
|
51
|
+
# Dropping a VERSION file here allows additional software definitions
|
52
|
+
# to read it to determine ES plugin compatibility.
|
53
|
+
command "echo #{version} > #{target_path}/VERSION"
|
54
|
+
end
|
@@ -0,0 +1,81 @@
|
|
1
|
+
#
|
2
|
+
# Copyright:: Copyright (c) 2014-2017, Chef Software Inc.
|
3
|
+
# License:: Apache License, Version 2.0
|
4
|
+
#
|
5
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
6
|
+
# you may not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing, software
|
12
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
+
# See the License for the specific language governing permissions and
|
15
|
+
# limitations under the License.
|
16
|
+
#
|
17
|
+
|
18
|
+
# This software makes sure that SSL_CERT_FILE environment variable is pointed
|
19
|
+
# to the bundled CA certificates that ship with omnibus. With this, Chef
|
20
|
+
# tools can be used with https URLs out of the box.
|
21
|
+
# expeditor/ignore: logic only
|
22
|
+
|
23
|
+
name "openssl-customization"
|
24
|
+
|
25
|
+
license :project_license
|
26
|
+
skip_transitive_dependency_licensing true
|
27
|
+
|
28
|
+
source path: "#{project.files_path}/#{name}"
|
29
|
+
|
30
|
+
dependency "ruby"
|
31
|
+
|
32
|
+
build do
|
33
|
+
block "Add OpenSSL customization file" do
|
34
|
+
# gets directories for RbConfig::CONFIG and sanitizes them.
|
35
|
+
def get_sanitized_rbconfig(config)
|
36
|
+
ruby = windows_safe_path("#{install_dir}/embedded/bin/ruby")
|
37
|
+
|
38
|
+
config_dir = Bundler.with_clean_env do
|
39
|
+
command_output = `#{ruby} -rrbconfig -e "puts RbConfig::CONFIG['#{config}']"`.strip
|
40
|
+
windows_safe_path(command_output)
|
41
|
+
end
|
42
|
+
|
43
|
+
if config_dir.nil? || config_dir.empty?
|
44
|
+
raise "could not determine embedded ruby's RbConfig::CONFIG['#{config}']"
|
45
|
+
end
|
46
|
+
|
47
|
+
config_dir
|
48
|
+
end
|
49
|
+
|
50
|
+
if windows?
|
51
|
+
embedded_ruby_site_dir = get_sanitized_rbconfig("sitelibdir")
|
52
|
+
embedded_ruby_lib_dir = get_sanitized_rbconfig("rubylibdir")
|
53
|
+
|
54
|
+
source_ssl_env_hack = File.join(project_dir, "windows", "ssl_env_hack.rb")
|
55
|
+
destination_ssl_env_hack = File.join(embedded_ruby_site_dir, "ssl_env_hack.rb")
|
56
|
+
|
57
|
+
create_directory(embedded_ruby_site_dir)
|
58
|
+
|
59
|
+
copy(source_ssl_env_hack, destination_ssl_env_hack)
|
60
|
+
|
61
|
+
# Unfortunately there is no patch on windows, but luckily we only need to append a line to the openssl.rb
|
62
|
+
# to pick up our script which find the CA bundle in omnibus installations and points SSL_CERT_FILE to it
|
63
|
+
# if it's not already set
|
64
|
+
source_openssl_rb = File.join(embedded_ruby_lib_dir, "openssl.rb")
|
65
|
+
File.open(source_openssl_rb, "r+") do |f|
|
66
|
+
unpatched_openssl_rb = f.read
|
67
|
+
f.rewind
|
68
|
+
f.write("\nrequire 'ssl_env_hack'\n")
|
69
|
+
f.write(unpatched_openssl_rb)
|
70
|
+
end
|
71
|
+
else
|
72
|
+
embedded_ruby_lib_dir = get_sanitized_rbconfig("rubylibdir")
|
73
|
+
source_openssl_rb = File.join(embedded_ruby_lib_dir, "openssl.rb")
|
74
|
+
File.open(source_openssl_rb, "r+") do |f|
|
75
|
+
unpatched_openssl_rb = f.read
|
76
|
+
f.rewind
|
77
|
+
f.write(unpatched_openssl_rb)
|
78
|
+
end
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
@@ -0,0 +1,81 @@
|
|
1
|
+
#
|
2
|
+
# Copyright 2014-2019 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-fips"
|
18
|
+
default_version "2.0.16"
|
19
|
+
|
20
|
+
license "OpenSSL"
|
21
|
+
license_file "https://www.openssl.org/source/license.html"
|
22
|
+
skip_transitive_dependency_licensing true
|
23
|
+
|
24
|
+
# HAHAHA According to the FIPS manual, you need to "securely" fetch the source
|
25
|
+
# such as asking some humans to mail you a CD-ROM or something.
|
26
|
+
# You are then supposed to manually verify the PGP signatures.
|
27
|
+
# When making an "official" build - make sure you go do that...
|
28
|
+
source url: "https://www.openssl.org/source/old/fips/openssl-fips-#{version}.tar.gz", extract: :lax_tar
|
29
|
+
|
30
|
+
version("2.0.16") {
|
31
|
+
source sha256: "a3cd13d0521d22dd939063d3b4a0d4ce24494374b91408a05bdaca8b681c63d4", \
|
32
|
+
url: "https://www.openssl.org/source/openssl-fips-#{version}.tar.gz", extract: :lax_tar
|
33
|
+
}
|
34
|
+
version("2.0.14") { source sha256: "8ea069ec39f9c49d85b9831b16daa29936b4527446998336cf93e575f07626c0" }
|
35
|
+
version("2.0.11") { source sha256: "a6532875956d357a05838ca2c9865b8eecac211543e4246512684b17acbbdfac" }
|
36
|
+
version("2.0.10") { source sha256: "a42ccf5f08a8b510c0c78da1ba889532a0ce24e772b576604faf09b4d6a0f771" }
|
37
|
+
version("2.0.9") { source md5: "c8256051d7a76471c6ad4fb771404e60" }
|
38
|
+
|
39
|
+
relative_path "openssl-fips-#{version}"
|
40
|
+
|
41
|
+
build do
|
42
|
+
# According to the FIPS manual, this is the only environment you are allowed
|
43
|
+
# to build it in, to ensure security.
|
44
|
+
env = {}
|
45
|
+
env["FIPSDIR"] = "#{install_dir}/embedded"
|
46
|
+
|
47
|
+
if windows?
|
48
|
+
default_env = with_standard_compiler_flags(with_embedded_path)
|
49
|
+
|
50
|
+
if windows_arch_i386?
|
51
|
+
# Patch Makefile.org to update the compiler flags/options table for mingw.
|
52
|
+
patch source: "openssl-fips-fix-compiler-flags-table-for-msys.patch", env: default_env
|
53
|
+
|
54
|
+
platform = "mingw"
|
55
|
+
else
|
56
|
+
platform = "mingw64"
|
57
|
+
end
|
58
|
+
|
59
|
+
configure_command = ["perl.exe ./Configure #{platform}"]
|
60
|
+
configure_command << "--prefix=#{install_dir}/embedded"
|
61
|
+
elsif ppc64? && rhel?
|
62
|
+
# you have to specify on el ppc64 (big-endian only) otherwise it has won't
|
63
|
+
# compile
|
64
|
+
configure_command = ["perl ./Configure linux-ppc64"]
|
65
|
+
configure_command << "--prefix=#{install_dir}/embedded"
|
66
|
+
elsif s390x?
|
67
|
+
configure_command = ["perl ./Configure linux64-s390x"]
|
68
|
+
configure_command << "--prefix=#{install_dir}/embedded"
|
69
|
+
# Unfortunately openssl-fips is not supported on s390x, so we have to tell it to
|
70
|
+
# compile solely in C
|
71
|
+
configure_command << "no-asm"
|
72
|
+
else
|
73
|
+
configure_command = ["./config"]
|
74
|
+
end
|
75
|
+
|
76
|
+
command configure_command.join(" "), env: env, in_msys_bash: true
|
77
|
+
|
78
|
+
# Cannot use -j with openssl :(.
|
79
|
+
make env: env
|
80
|
+
make "install", env: env
|
81
|
+
end
|