omnibus-software 22.11.239

Sign up to get free protection for your applications and to get access to all the features.
Files changed (241) hide show
  1. checksums.yaml +7 -0
  2. data/.expeditor/Version_inspector/README.md +21 -0
  3. data/.expeditor/Version_inspector/SW-Version-update.py +243 -0
  4. data/.expeditor/Version_inspector/manual_prod_list.json +29 -0
  5. data/.expeditor/Version_inspector/prod_default_version.json +103 -0
  6. data/.expeditor/Version_inspector/prod_list.json +194 -0
  7. data/.expeditor/Version_inspector/requirements.txt +4 -0
  8. data/.expeditor/Version_inspector/update_prod_default_version.sh +24 -0
  9. data/.expeditor/Version_inspector/update_prod_list.sh +35 -0
  10. data/.expeditor/config.yml +33 -0
  11. data/.expeditor/determine_version.sh +15 -0
  12. data/.expeditor/push_git_tag.sh +12 -0
  13. data/.expeditor/run_linux_tests.sh +16 -0
  14. data/.expeditor/verify.pipeline.yml +52 -0
  15. data/.github/CODEOWNERS +5 -0
  16. data/.github/ISSUE_TEMPLATE/BUG_TEMPLATE.md +29 -0
  17. data/.github/ISSUE_TEMPLATE/DESIGN_PROPOSAL.md +40 -0
  18. data/.github/ISSUE_TEMPLATE/ENHANCEMENT_REQUEST_TEMPLATE.md +17 -0
  19. data/.github/ISSUE_TEMPLATE/SUPPORT_QUESTION.md +11 -0
  20. data/.github/dependabot.yml +9 -0
  21. data/.github/lock.yml +1 -0
  22. data/.gitignore +17 -0
  23. data/CODE_OF_CONDUCT.md +1 -0
  24. data/CONTRIBUTING.md +1 -0
  25. data/Dockerfile +21 -0
  26. data/Gemfile +10 -0
  27. data/LICENSE +201 -0
  28. data/README.md +99 -0
  29. data/Rakefile +56 -0
  30. data/VERSION +1 -0
  31. data/config/patches/bash/race-condition.patch +15 -0
  32. data/config/patches/bzip2/aix_makefile.patch +11 -0
  33. data/config/patches/bzip2/makefile_no_bins.patch +77 -0
  34. data/config/patches/bzip2/makefile_take_env_vars.patch +31 -0
  35. data/config/patches/bzip2/soname_install_dir.patch +11 -0
  36. data/config/patches/curl/curl-aix-disable-alpn.patch +22 -0
  37. data/config/patches/curl/curl-freebsd-hostcheck.patch +10 -0
  38. data/config/patches/erlang/epmd-require-explicitly-adding-loopback-address.patch +84 -0
  39. data/config/patches/erlang/updated-epmd-require-explicitly-adding-loopback-address.patch +75 -0
  40. data/config/patches/expat/configure_xlc_visibility.patch +58 -0
  41. data/config/patches/expat/configure_xlc_visibility_2.4.7.patch +59 -0
  42. data/config/patches/figlet/aix-figlet-cdefs.patch +48 -0
  43. data/config/patches/gdbm/v1.8.3-Makefile.in.patch +32 -0
  44. data/config/patches/git/aix-endian-fix.patch +20 -0
  45. data/config/patches/gtar/aix_extra_case.patch +13 -0
  46. data/config/patches/keepalived/keepalived-1.2.9_opscode_centos_5.patch +15 -0
  47. data/config/patches/libedit/freebsd-vi-fix.patch +24 -0
  48. data/config/patches/libedit/openbsd-weak-alias-fix.patch +48 -0
  49. data/config/patches/libedit/solaris.patch +36 -0
  50. data/config/patches/libffi/libffi-3.2.1-disable-multi-os-directory.patch +83 -0
  51. data/config/patches/libffi/libffi-3.3-arm64.patch +9608 -0
  52. data/config/patches/libxslt/libxslt-solaris-configure.patch +19 -0
  53. data/config/patches/libxslt/libxslt-windows-relocate.patch +12 -0
  54. data/config/patches/libyaml/windows-configure.patch +26 -0
  55. data/config/patches/libzmq/zeromq-4.0.11_mingw_inet_pton.patch +37 -0
  56. data/config/patches/libzmq/zeromq-aix-4.2.2-LARGE_FILES.patch +56 -0
  57. data/config/patches/libzmq/zeromq-aix-4.2.2-atomic-counter-fetch_and_add.patch +59 -0
  58. data/config/patches/logrotate/logrotate_basedir_override.patch +17 -0
  59. data/config/patches/m4/m4-1.4.18-glibc-change-work-around.patch +115 -0
  60. data/config/patches/make/deb-make-glob.patch +31 -0
  61. data/config/patches/ncurses/ncurses-5.9-gcc-5.patch +46 -0
  62. data/config/patches/ncurses/ncurses-5.9-solaris-xopen_source_extended-detection.patch +11 -0
  63. data/config/patches/ncurses/ncurses-clang.patch +43 -0
  64. data/config/patches/ncurses/patch-aa +23 -0
  65. data/config/patches/ncurses/patch-ab +44 -0
  66. data/config/patches/ncurses/patch-ac +40 -0
  67. data/config/patches/ncurses/patch-ad +13 -0
  68. data/config/patches/ncurses/patch-cxx_cursesf.h +22 -0
  69. data/config/patches/ncurses/patch-cxx_cursesm.h +22 -0
  70. data/config/patches/ncurses/patch-ncurses_tinfo_lib__baudrate.c +24 -0
  71. data/config/patches/openssl/openssl-1.0.1f-do-not-build-docs.patch +28 -0
  72. data/config/patches/openssl/openssl-1.0.1j-windows-relocate-dll.patch +20 -0
  73. data/config/patches/openssl/openssl-1.0.1q-fix-compiler-flags-table-for-msys.patch +20 -0
  74. data/config/patches/openssl/openssl-1.0.2x-darwin-arm64.patch +54 -0
  75. data/config/patches/openssl/openssl-1.1.0f-do-not-install-docs.patch +11 -0
  76. data/config/patches/openssl/openssl-3.0.1-do-not-install-docs.patch +22 -0
  77. data/config/patches/openssl-fips/openssl-fips-fix-compiler-flags-table-for-msys.patch +11 -0
  78. data/config/patches/perl/perl-5.18.1-remove_lnsl.patch +441 -0
  79. data/config/patches/perl/perl-5.22.1-remove_lnsl.patch +512 -0
  80. data/config/patches/perl/perl-5.30.0-remove_lnsl.patch +518 -0
  81. data/config/patches/perl/perl-5.32.1-remove_lnsl.patch +456 -0
  82. data/config/patches/perl/perl-5.34.0-remove_lnsl.patch +516 -0
  83. data/config/patches/pkg-config/openbsd-charset.patch +19 -0
  84. data/config/patches/popt/v1.16.ppc64le-configure.patch +18 -0
  85. data/config/patches/redis/password-from-environment.patch +19 -0
  86. data/config/patches/ruby/patch-configure +103 -0
  87. data/config/patches/ruby/remove_nano.patch +10 -0
  88. data/config/patches/ruby/ruby-2.6.7_c99.patch +12 -0
  89. data/config/patches/ruby/ruby-3.0.1-configure.patch +281 -0
  90. data/config/patches/ruby/ruby-3.0.2-configure.patch +251 -0
  91. data/config/patches/ruby/ruby-aix-atomic.patch +11 -0
  92. data/config/patches/ruby/ruby-aix-configure_26_and_later.patch +19 -0
  93. data/config/patches/ruby/ruby-aix-vm-core.patch +14 -0
  94. data/config/patches/ruby/ruby-fast-load_26.patch +16 -0
  95. data/config/patches/ruby/ruby-fast-load_31.patch +16 -0
  96. data/config/patches/ruby/ruby-faster-load_26.patch +11 -0
  97. data/config/patches/ruby/ruby-faster-load_27.patch +11 -0
  98. data/config/patches/ruby/ruby-mkmf.patch +29 -0
  99. data/config/patches/ruby/ruby-no-stack-protector-strong.patch +11 -0
  100. data/config/patches/ruby/ruby-no-stack-protector.patch +13 -0
  101. data/config/patches/ruby/ruby-win32_warning_removal.patch +12 -0
  102. data/config/patches/ruby/ruby_aix_openssl.patch +10 -0
  103. data/config/patches/ruby/ruby_aix_ssl_EAGAIN.patch +19 -0
  104. data/config/patches/ruby/rvm-cflags.patch +27 -0
  105. data/config/patches/stunnel/stunnel-on-windows.patch +42 -0
  106. data/config/patches/zlib/zlib-windows-relocate.patch +20 -0
  107. data/config/software/autoconf.rb +46 -0
  108. data/config/software/automake.rb +49 -0
  109. data/config/software/bash.rb +72 -0
  110. data/config/software/berkshelf-no-depselector.rb +46 -0
  111. data/config/software/berkshelf.rb +34 -0
  112. data/config/software/binutils.rb +47 -0
  113. data/config/software/bundler.rb +38 -0
  114. data/config/software/bzip2.rb +55 -0
  115. data/config/software/cacerts.rb +50 -0
  116. data/config/software/chef-gem.rb +35 -0
  117. data/config/software/chef.rb +112 -0
  118. data/config/software/cmake.rb +94 -0
  119. data/config/software/config_guess.rb +37 -0
  120. data/config/software/cpanminus.rb +49 -0
  121. data/config/software/curl.rb +103 -0
  122. data/config/software/delivery-cli.rb +89 -0
  123. data/config/software/dep-selector-libgecode.rb +48 -0
  124. data/config/software/elasticsearch.rb +61 -0
  125. data/config/software/elixir.rb +35 -0
  126. data/config/software/erlang.rb +134 -0
  127. data/config/software/expat.rb +63 -0
  128. data/config/software/fakeroot.rb +41 -0
  129. data/config/software/ffi-yajl.rb +46 -0
  130. data/config/software/figlet-fonts.rb +31 -0
  131. data/config/software/figlet.rb +44 -0
  132. data/config/software/gcc.rb +60 -0
  133. data/config/software/gdbm.rb +54 -0
  134. data/config/software/gecode.rb +62 -0
  135. data/config/software/gem-permissions.rb +43 -0
  136. data/config/software/git-windows.rb +96 -0
  137. data/config/software/git.rb +138 -0
  138. data/config/software/gmp.rb +48 -0
  139. data/config/software/go-uninstall.rb +33 -0
  140. data/config/software/go.rb +116 -0
  141. data/config/software/google-protobuf.rb +45 -0
  142. data/config/software/gtar.rb +62 -0
  143. data/config/software/help2man.rb +40 -0
  144. data/config/software/highline-gem.rb +37 -0
  145. data/config/software/ibm-jre.rb +59 -0
  146. data/config/software/inspec.rb +43 -0
  147. data/config/software/jre-from-jdk.rb +67 -0
  148. data/config/software/keepalived.rb +68 -0
  149. data/config/software/libarchive.rb +71 -0
  150. data/config/software/libedit.rb +73 -0
  151. data/config/software/libffi.rb +68 -0
  152. data/config/software/libgcc.rb +52 -0
  153. data/config/software/libiconv.rb +55 -0
  154. data/config/software/libintl-perl.rb +56 -0
  155. data/config/software/liblzma.rb +59 -0
  156. data/config/software/libossp-uuid.rb +45 -0
  157. data/config/software/libsodium.rb +40 -0
  158. data/config/software/libtool.rb +56 -0
  159. data/config/software/libuuid.rb +45 -0
  160. data/config/software/libxml2.rb +63 -0
  161. data/config/software/libxslt.rb +64 -0
  162. data/config/software/libyajl2-gem.rb +44 -0
  163. data/config/software/libyaml.rb +50 -0
  164. data/config/software/libzmq.rb +93 -0
  165. data/config/software/logrotate.rb +61 -0
  166. data/config/software/lua.rb +46 -0
  167. data/config/software/m4.rb +40 -0
  168. data/config/software/make.rb +43 -0
  169. data/config/software/makedepend.rb +44 -0
  170. data/config/software/mpc.rb +44 -0
  171. data/config/software/mpfr.rb +45 -0
  172. data/config/software/musl.rb +107 -0
  173. data/config/software/mysql2.rb +50 -0
  174. data/config/software/ncurses.rb +159 -0
  175. data/config/software/nginx.rb +55 -0
  176. data/config/software/nodejs-binary.rb +90 -0
  177. data/config/software/nodejs.rb +58 -0
  178. data/config/software/nokogiri.rb +92 -0
  179. data/config/software/omnibus-ctl.rb +42 -0
  180. data/config/software/openresty.rb +94 -0
  181. data/config/software/opensearch.rb +54 -0
  182. data/config/software/openssl-customization.rb +81 -0
  183. data/config/software/openssl-fips.rb +81 -0
  184. data/config/software/openssl.rb +185 -0
  185. data/config/software/patch.rb +46 -0
  186. data/config/software/patchelf.rb +66 -0
  187. data/config/software/pcre.rb +53 -0
  188. data/config/software/perl-extutils-embed.rb +37 -0
  189. data/config/software/perl-extutils-makemaker.rb +46 -0
  190. data/config/software/perl-thread-queue.rb +40 -0
  191. data/config/software/perl.rb +78 -0
  192. data/config/software/perl_pg_driver.rb +45 -0
  193. data/config/software/pg-gem.rb +36 -0
  194. data/config/software/pkg-config-lite.rb +46 -0
  195. data/config/software/pkg-config.rb +66 -0
  196. data/config/software/popt.rb +54 -0
  197. data/config/software/postgresql.rb +70 -0
  198. data/config/software/preparation.rb +31 -0
  199. data/config/software/python.rb +79 -0
  200. data/config/software/rabbitmq.rb +58 -0
  201. data/config/software/rb-readline.rb +33 -0
  202. data/config/software/rbnacl-libsodium.rb +42 -0
  203. data/config/software/rbzmq.rb +44 -0
  204. data/config/software/rebar.rb +42 -0
  205. data/config/software/redis-gem.rb +36 -0
  206. data/config/software/redis.rb +51 -0
  207. data/config/software/relx.rb +39 -0
  208. data/config/software/rsync.rb +55 -0
  209. data/config/software/ruby-cleanup.rb +254 -0
  210. data/config/software/ruby-msys2-devkit.rb +77 -0
  211. data/config/software/ruby-windows-devkit-bash.rb +41 -0
  212. data/config/software/ruby-windows-devkit.rb +84 -0
  213. data/config/software/ruby.rb +306 -0
  214. data/config/software/rubygems.rb +73 -0
  215. data/config/software/runit.rb +67 -0
  216. data/config/software/rust-uninstall.rb +32 -0
  217. data/config/software/rust.rb +97 -0
  218. data/config/software/sequel-gem.rb +36 -0
  219. data/config/software/server-jre.rb +125 -0
  220. data/config/software/server-open-jre.rb +112 -0
  221. data/config/software/setuptools.rb +48 -0
  222. data/config/software/shebang-cleanup.rb +101 -0
  223. data/config/software/sqitch.rb +87 -0
  224. data/config/software/stunnel.rb +86 -0
  225. data/config/software/util-macros.rb +42 -0
  226. data/config/software/version-manifest.rb +33 -0
  227. data/config/software/xproto.rb +42 -0
  228. data/config/software/zlib.rb +85 -0
  229. data/config/templates/git/config.mak.erb +31 -0
  230. data/config/templates/rubygems/register_devtools.rb.erb +33 -0
  231. data/config/templates/runit/runsvdir-start.erb +42 -0
  232. data/docker-compose.yml +15 -0
  233. data/lib/omnibus-software/version.rb +3 -0
  234. data/lib/omnibus-software.rb +115 -0
  235. data/omnibus-software.gemspec +20 -0
  236. data/test/Gemfile +10 -0
  237. data/test/config/projects/test.rb +14 -0
  238. data/test/generate_steps.rb +55 -0
  239. data/test/omnibus-build.sh +50 -0
  240. data/test/omnibus.rb +55 -0
  241. 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