omnibus-software 22.11.239
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 +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
|