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.
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,61 @@
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 "elasticsearch"
18
+ default_version "5.6.16"
19
+
20
+ dependency "server-open-jre"
21
+
22
+ license "Apache-2.0"
23
+ license_file "LICENSE.txt"
24
+ skip_transitive_dependency_licensing true
25
+
26
+ source url: "https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-#{version}.tar.gz"
27
+ relative_path "elasticsearch-#{version}"
28
+
29
+ version "5.6.16" do
30
+ source sha256: "6b035a59337d571ab70cea72cc55225c027ad142fbb07fd8984e54261657c77f"
31
+ end
32
+
33
+ version "6.8.22" do
34
+ source url: "https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-oss-#{version}.tar.gz",
35
+ sha256: "836a50df324a98837dcadbc7d55782cc9525f15cc6a8aa0c657e199667ebb996"
36
+ end
37
+
38
+ version "6.8.23" do
39
+ source url: "https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-oss-#{version}.tar.gz",
40
+ sha256: "60e77b5ca3ce11771469bcc2e009c49c8aadb831faebd170e7abcedc16b3e36d"
41
+ end
42
+
43
+ target_path = "#{install_dir}/embedded/elasticsearch"
44
+
45
+ build do
46
+ mkdir "#{target_path}"
47
+ delete "#{project_dir}/lib/sigar/*solaris*"
48
+ delete "#{project_dir}/lib/sigar/*sparc*"
49
+ delete "#{project_dir}/lib/sigar/*freebsd*"
50
+ delete "#{project_dir}/config"
51
+ mkdir "#{project_dir}/plugins"
52
+ # by default RPMs will not include empty directories in the final packag.e
53
+ # ES will fail to start if this dir is not present.
54
+ touch "#{project_dir}/plugins/.gitkeep"
55
+
56
+ sync "#{project_dir}/", "#{target_path}"
57
+
58
+ # Dropping a VERSION file here allows additional software definitions
59
+ # to read it to determine ES plugin compatibility.
60
+ command "echo #{version} > #{target_path}/VERSION"
61
+ end
@@ -0,0 +1,35 @@
1
+ #
2
+ # Copyright 2017 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-04
17
+
18
+ name "elixir"
19
+ default_version "1.4.2"
20
+
21
+ license "Apache-2.0"
22
+ license_file "LICENSE"
23
+
24
+ dependency "erlang"
25
+
26
+ version("1.4.2") { source sha256: "cb4e2ec4d68b3c8b800179b7ae5779e2999aa3375f74bd188d7d6703497f553f" }
27
+ source url: "https://github.com/elixir-lang/elixir/archive/v#{version}.tar.gz"
28
+ relative_path "elixir-#{version}"
29
+
30
+ build do
31
+ env = with_standard_compiler_flags(with_embedded_path)
32
+
33
+ make env: env
34
+ make "install PREFIX=#{install_dir}/embedded", env: env
35
+ end
@@ -0,0 +1,134 @@
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 "erlang"
18
+ default_version "24.3.2"
19
+
20
+ license "Apache-2.0"
21
+ license_file "LICENSE.txt"
22
+ skip_transitive_dependency_licensing true
23
+
24
+ dependency "zlib"
25
+ dependency "openssl"
26
+ dependency "ncurses"
27
+ dependency "config_guess"
28
+
29
+ # grab from github so we can get patch releases if we need to
30
+ source url: "https://github.com/erlang/otp/archive/OTP-#{version}.tar.gz"
31
+ relative_path "otp-OTP-#{version}"
32
+
33
+ # versions_list: https://github.com/erlang/otp/tags filter=*.tar.gz
34
+ version("25.0.4") { source sha256: "05878cb51a64b33c86836b12a21903075c300409b609ad5e941ddb0feb8c2120" }
35
+ version("25.0.2") { source sha256: "f78764c6fd504f7b264c47e469c0fcb86a01c92344dc9d625dfd42f6c3ed8224" }
36
+ version("25.0") { source sha256: "5988e3bca208486494446e885ca2149fe487ee115cbc3770535fd22a795af5d2" }
37
+ version("24.3.4") { source sha256: "e59bedbb871af52244ca5284fd0a572d52128abd4decf4347fe2aef047b65c58" }
38
+ version("24.3.3") { source sha256: "a5f4d83426fd3dc2f08c0c823ae29bcf72b69008a2baee66d27ad614ec7ab607" }
39
+ version("24.3.2") { source sha256: "cdc9cf788d28a492eb6b24881fbd06a0a5c785dc374ad415b3be1db96326583c" }
40
+ version("24.2") { source sha256: "0b9c9ba7d8b40f6c77d529e07561b10f0914d2bfe9023294d7eda85b62936792" }
41
+ version("24.1.7") { source sha256: "a1dd1a238f1f3e79784b902f3cd00e06f35a630191eaf73324a07a26a2c93af3" }
42
+ version("24.1.3") { source sha256: "7ccfa8372995fc7895baeb3729f679aff87781d1b7c734acd22740bc41ee2eed" }
43
+ version("22.2.8") { source sha256: "71f73ddd59db521928a0f6c8d4354d6f4e9f4bfbd0b40d321cd5253a6c79b095" }
44
+ version("22.2") { source sha256: "232c37a502c7e491a9cbf86acb7af64fbc1a793fcbcbd0093cb029cf1c3830a7" }
45
+ version("18.3") { source sha256: "a6d08eb7df06e749ccaf3049b33ceae617a3c466c6a640ee8d248c2372d48f4e" }
46
+
47
+ build do
48
+ # Don't listen on 127.0.0.1/::1 implicitly whenever ERL_EPMD_ADDRESS is given
49
+ if version.satisfies?("<= 24.3.3")
50
+ patch source: "epmd-require-explicitly-adding-loopback-address.patch", plevel: 1
51
+ else
52
+ patch source: "updated-epmd-require-explicitly-adding-loopback-address.patch", plevel: 1
53
+ end
54
+
55
+ env = with_standard_compiler_flags(with_embedded_path).merge(
56
+ # WARNING!
57
+ "CFLAGS" => "-L#{install_dir}/embedded/lib -O3 -I#{install_dir}/embedded/erlang/include",
58
+ "LDFLAGS" => "-Wl,-rpath #{install_dir}/embedded/lib -L#{install_dir}/embedded/lib -I#{install_dir}/embedded/erlang/include"
59
+ )
60
+ env.delete("CPPFLAGS")
61
+
62
+ # The TYPE env var sets the type of emulator you want
63
+ # We want the default so we give TYPE and empty value
64
+ # in case it was set by CI.
65
+ env["TYPE"] = ""
66
+
67
+ update_config_guess(target: "erts/autoconf")
68
+ update_config_guess(target: "lib/common_test/priv/auxdir")
69
+ update_config_guess(target: "lib/wx/autoconf")
70
+
71
+ if version.satisfies?(">= 19.0")
72
+ update_config_guess(target: "lib/common_test/test_server/src")
73
+ else
74
+ update_config_guess(target: "lib/test_server/src")
75
+ end
76
+
77
+ # Setup the erlang include dir
78
+ mkdir "#{install_dir}/embedded/erlang/include"
79
+
80
+ # At this time, erlang does not expose a way to specify the path(s) to these
81
+ # libraries, but it looks in its local +include+ directory as part of the
82
+ # search, so we will symlink them here so they are picked up.
83
+ #
84
+ # In future releases of erlang, someone should check if these flags (or
85
+ # environment variables) are avaiable to remove this ugly hack.
86
+ %w{ncurses openssl zlib.h zconf.h}.each do |name|
87
+ link "#{install_dir}/embedded/include/#{name}", "#{install_dir}/embedded/erlang/include/#{name}"
88
+ end
89
+
90
+ # Note 2017-02-28 sr: HiPE doesn't compile with OTP 18.3 on ppc64le (https://bugs.erlang.org/browse/ERL-369)
91
+ # Compiling fails when linking beam.smp, with
92
+ # powerpc64le-linux-gnu/libutil.so: error adding symbols: File in wrong format
93
+ #
94
+ # We've been having issues with ppc64le and hipe before, too:
95
+ # https://github.com/chef/chef-server/commit/4fa25ed695acaf819b11f71c6db1aab5c8adcaee
96
+ #
97
+ # It's trying to compile using a linker script for ppc64, it seems:
98
+ # https://github.com/erlang/otp/blob/c1ea854fac3d8ed14/erts/emulator/hipe/elf64ppc.x
99
+ # Probably introduced with https://github.com/erlang/otp/commit/37d63e9b8a0a96
100
+ # See also https://sourceware.org/ml/binutils/2015-05/msg00148.html
101
+ hipe = ppc64le? ? "disable" : "enable"
102
+
103
+ unless File.exist?("./configure")
104
+ # Building from github source requires this step
105
+ command "./otp_build autoconf"
106
+ end
107
+ # Note: et, debugger and observer applications require wx to
108
+ # build. The tarballs from the downloads site has prebuilt the beam
109
+ # files, so we were able to get away without disabling them and
110
+ # still build. When building from raw source we must disable them
111
+ # explicitly.
112
+ wx = "without"
113
+
114
+ command "./configure" \
115
+ " --prefix=#{install_dir}/embedded" \
116
+ " --enable-threads" \
117
+ " --enable-smp-support" \
118
+ " --enable-kernel-poll" \
119
+ " --enable-dynamic-ssl-lib" \
120
+ " --enable-shared-zlib" \
121
+ " --enable-fips" \
122
+ " --#{hipe}-hipe" \
123
+ " --#{wx}-wx" \
124
+ " --#{wx}-et" \
125
+ " --#{wx}-debugger" \
126
+ " --#{wx}-observer" \
127
+ " --without-megaco" \
128
+ " --without-javac" \
129
+ " --with-ssl=#{install_dir}/embedded" \
130
+ " --disable-debug", env: env
131
+
132
+ make "-j #{workers}", env: env
133
+ make "install", env: env
134
+ end
@@ -0,0 +1,63 @@
1
+ #
2
+ # Copyright 2014 Chef Software, Inc.
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+ #
16
+
17
+ name "expat"
18
+ default_version "2.4.9"
19
+
20
+ relative_path "expat-#{version}"
21
+ dependency "config_guess"
22
+
23
+ license "MIT"
24
+ license_file "COPYING"
25
+ skip_transitive_dependency_licensing true
26
+
27
+ # version_list: url=https://github.com/libexpat/libexpat/releases filter=*.tar.gz
28
+ source url: "https://github.com/libexpat/libexpat/releases/download/R_#{version.gsub(".", "_")}/expat-#{version}.tar.gz"
29
+
30
+ version("2.4.9") { source sha256: "4415710268555b32c4e5ab06a583bea9fec8ff89333b218b70b43d4ca10e38fa" }
31
+ version("2.4.8") { source sha256: "398f6d95bf808d3108e27547b372cb4ac8dc2298a3c4251eb7aa3d4c6d4bb3e2" }
32
+ version("2.4.7") { source sha256: "72644d5f0f313e2a5cf81275b09b9770c866dd87a2b62ab19981657ac0d4af5f" }
33
+ version("2.4.6") { source sha256: "a0eb5af56b1c2ba812051c49bf3b4e5763293fe5394a0219df7208845c3efb8c" }
34
+ version("2.4.1") { source sha256: "a00ae8a6b96b63a3910ddc1100b1a7ef50dc26dceb65ced18ded31ab392f132b" }
35
+ version("2.3.0") { source sha256: "89df123c62f2c2e2b235692d9fe76def6a9ab03dbe95835345bf412726eb1987" }
36
+ version("2.1.0") { source sha256: "823705472f816df21c8f6aa026dd162b280806838bb55b3432b0fb1fcca7eb86" }
37
+
38
+ build do
39
+ env = with_standard_compiler_flags(with_embedded_path)
40
+
41
+ update_config_guess(target: "conftools")
42
+
43
+ # AIX needs two fixes to compile the latest version.
44
+ # 1. We need to add -lm to link in the proper math declarations
45
+ # 2. Since we are using xlc to compile, we need to use qvisibility instead of fvisibility
46
+ # Refer to https://www.ibm.com/docs/en/xl-c-and-cpp-aix/16.1?topic=descriptions-qvisibility-fvisibility
47
+ if aix?
48
+ env["LDFLAGS"] << " -lm"
49
+ if version <= "2.4.1"
50
+ patch source: "configure_xlc_visibility.patch", plevel: 1, env: env
51
+ else
52
+ patch source: "configure_xlc_visibility_2.4.7.patch", plevel: 1, env: env
53
+ end
54
+ end
55
+
56
+ command "./configure" \
57
+ " --without-examples" \
58
+ " --without-tests" \
59
+ " --prefix=#{install_dir}/embedded", env: env
60
+
61
+ make "-j #{workers}", env: env
62
+ make "install", env: env
63
+ end
@@ -0,0 +1,41 @@
1
+ #
2
+ # Copyright 2016, Chef Software, Inc.
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+ #
16
+ # expeditor/ignore: deprecated 2021-04
17
+
18
+ name "fakeroot"
19
+ default_version "1.20.2"
20
+
21
+ version("1.20.2") { source sha256: "7c0a164d19db3efa9e802e0fc7cdfeff70ec6d26cdbdc4338c9c2823c5ea230c" }
22
+
23
+ license "GPL-3.0"
24
+ license_file "COPYING"
25
+
26
+ source url: "ftp://ftp.debian.org/debian/pool/main/f/fakeroot/fakeroot_#{version}.orig.tar.bz2"
27
+
28
+ relative_path "fakeroot-#{version}"
29
+
30
+ build do
31
+ env = with_standard_compiler_flags(with_embedded_path)
32
+
33
+ configure_command = ["./configure",
34
+ "--prefix=#{install_dir}/embedded",
35
+ # This bit of magic is so we don't require the libcap library
36
+ "ac_cv_func_capset=no"]
37
+
38
+ command configure_command.join(" "), env: env
39
+ make "-j #{workers}", env: env
40
+ make "-j #{workers} install", env: env
41
+ end
@@ -0,0 +1,46 @@
1
+ #
2
+ # Copyright 2012-2014 Chef Software, Inc.
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+ #
16
+ # expeditor/ignore: deprecated 2021-04
17
+
18
+ name "ffi-yajl"
19
+ default_version "main"
20
+ relative_path "ffi-yajl"
21
+
22
+ source git: "https://github.com/chef/ffi-yajl.git"
23
+
24
+ license "MIT"
25
+ license_file "LICENSE"
26
+
27
+ dependency "ruby"
28
+
29
+ dependency "libyajl2-gem"
30
+
31
+ build do
32
+ env = with_embedded_path
33
+
34
+ # We should not be installing development dependencies either, but
35
+ # this upstream bug causes issues between libyajl2-gem and ffi-yajl
36
+ # (specifically, "corrupted Gemfile.lock" failures)
37
+ # https://github.com/bundler/bundler/issues/4467
38
+ bundle "config set --local without development_extras", env: env
39
+ bundle "install", env: env
40
+ bundle "exec rake gem", env: env
41
+
42
+ delete "pkg/*java*"
43
+
44
+ gem "install pkg/ffi-yajl-*.gem" \
45
+ " --no-document", env: env
46
+ end
@@ -0,0 +1,31 @@
1
+ #
2
+ # Copyright 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
+ # expeditor/ignore: deprecated 2021-04
17
+
18
+ name "figlet-fonts"
19
+ default_version "master"
20
+
21
+ dependency "figlet"
22
+
23
+ source git: "https://github.com/cmatsuoka/figlet-fonts.git"
24
+
25
+ relative_path "figlet-fonts-#{version}"
26
+
27
+ build do
28
+ mkdir "#{install_dir}/share/figlet/fonts"
29
+ copy "#{project_dir}/*/*.flc", "#{install_dir}/share/figlet/fonts/"
30
+ copy "#{project_dir}/*/*.flf", "#{install_dir}/share/figlet/fonts/"
31
+ end
@@ -0,0 +1,44 @@
1
+ #
2
+ # Copyright 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
+ # expeditor/ignore: deprecated 2021-04
17
+
18
+ name "figlet"
19
+ default_version "2.2.5"
20
+
21
+ version("2.2.5") { source md5: "eaaeb356007755c9770a842aefd8ed5f" }
22
+
23
+ source url: "https://github.com/cmatsuoka/figlet/archive/#{version}.tar.gz"
24
+
25
+ relative_path "figlet-#{version}"
26
+
27
+ build do
28
+ env = with_standard_compiler_flags(with_embedded_path)
29
+ env["DEFAULTFONTDIR"] = "#{install_dir}/share/figlet/fonts"
30
+ env["prefix"] = "#{install_dir}/embedded"
31
+
32
+ if aix?
33
+ # give us /opt/freeware/bin/patch
34
+ env["PATH"] = "/opt/freeware/bin:#{env["PATH"]}"
35
+ env["CC"] = "cc_r -q64"
36
+ env["LD"] = "cc_r -q64"
37
+ patch source: "aix-figlet-cdefs.patch", plevel: 0, env: env
38
+ end
39
+
40
+ mkdir "#{install_dir}/share/figlet/fonts"
41
+
42
+ make "-j #{workers}", env: env
43
+ make "install -j #{workers}", env: env
44
+ end
@@ -0,0 +1,60 @@
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 2022-03
17
+
18
+ # do_not_auto_update
19
+ name "gcc"
20
+ default_version "4.9.2"
21
+
22
+ dependency "gmp"
23
+ dependency "mpfr"
24
+ dependency "mpc"
25
+ dependency "libiconv"
26
+
27
+ # version_list: url=https://ftp.gnu.org/gnu/gcc/ filter=*.tar.gz
28
+ version("4.9.2") { source sha256: "3e573826ec8b0d62d47821408fbc58721cd020df3e594cd492508de487a43b5e" }
29
+ version("4.9.3") { source sha256: "e6c63b40877bc756cc7cfe6ca98013eb15f02ec6c8c2cf68e24533ad1203aaba" }
30
+ version("4.9.4") { source sha256: "1680f92781b92cbdb57d7e4f647c650678c594154cb0d707fd9a994424a9860d" }
31
+ version("5.3.0") { source sha256: "b7f5f56bd7db6f4fcaa95511dbf69fc596115b976b5352c06531c2fc95ece2f4" }
32
+ version("5.5.0") { source sha256: "3aabce75d6dd206876eced17504b28d47a724c2e430dbd2de176beb948708983" }
33
+ version("6.5.0") { source sha256: "4eed92b3c24af2e774de94e96993aadbf6761cdf7a0345e59eb826d20a9ebf73" }
34
+ version("7.5.0") { source sha256: "4f518f18cfb694ad7975064e99e200fe98af13603b47e67e801ba9580e50a07f" }
35
+ version("8.4.0") { source sha256: "41e8b145832fc0b2b34c798ed25fb54a881b0cee4cd581b77c7dc92722c116a8" }
36
+ version("9.3.0") { source sha256: "5258a9b6afe9463c2e56b9e8355b1a4bee125ca828b8078f910303bc2ef91fa6" }
37
+ version("10.2.0") { source sha256: "27e879dccc639cd7b0cc08ed575c1669492579529b53c9ff27b0b96265fa867d" }
38
+
39
+ source url: "https://mirrors.kernel.org/gnu/gcc/gcc-#{version}/gcc-#{version}.tar.gz"
40
+
41
+ relative_path "gcc-#{version}"
42
+
43
+ build do
44
+ env = with_standard_compiler_flags(with_embedded_path)
45
+
46
+ configure_command = ["./configure",
47
+ "--prefix=#{install_dir}/embedded",
48
+ "--disable-nls",
49
+ "--enable-languages=c,c++",
50
+ "--disable-multilib"]
51
+
52
+ command configure_command.join(" "), env: env
53
+ # gcc takes quite a long time to build (over 2 hours) so we're setting the mixlib shellout
54
+ # timeout to 4 hours. It's not great but it's required (on solaris at least, need to verify
55
+ # on any other platforms we may use this with)
56
+ # gcc also has issues on a lot of platforms when running a multithreaded job,
57
+ # so unfortunately we have to build with 1 worker :(
58
+ make env: env, timeout: 14400
59
+ make "install", env: env
60
+ end
@@ -0,0 +1,54 @@
1
+ #
2
+ # Copyright 2012-2014 Chef Software, Inc.
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+ #
16
+ # expeditor/ignore: deprecated 2021-11
17
+ #
18
+
19
+ name "gdbm"
20
+ default_version "1.8.3"
21
+
22
+ dependency "config_guess"
23
+
24
+ # Version 1.9 and above are GPLv3, do NOT add later versions in
25
+ version("1.8.3") { source md5: "1d1b1d5c0245b1c00aff92da751e9aa1" }
26
+
27
+ source url: "https://ftp.gnu.org/gnu/gdbm/gdbm-#{version}.tar.gz"
28
+
29
+ relative_path "gdbm-#{version}"
30
+
31
+ build do
32
+ env = with_standard_compiler_flags(with_embedded_path)
33
+
34
+ if version == "1.8.3"
35
+ patch source: "v1.8.3-Makefile.in.patch", plevel: 0, env: env
36
+ end
37
+
38
+ update_config_guess
39
+
40
+ if freebsd?
41
+ command "./configure" \
42
+ " --enable-libgdbm-compat" \
43
+ " --with-pic" \
44
+ " --prefix=#{install_dir}/embedded", env: env
45
+ else
46
+ command "./configure" \
47
+ " --enable-libgdbm-compat" \
48
+ " --prefix=#{install_dir}/embedded", env: env
49
+ end
50
+
51
+ make "-j #{workers}", env: env
52
+ make "install", env: env
53
+ make "install-compat", env: env
54
+ end
@@ -0,0 +1,62 @@
1
+ #
2
+ # Copyright 2012-2014 Chef Software, Inc.
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+ #
16
+
17
+ name "gecode"
18
+ default_version "3.7.3"
19
+
20
+ license "MIT"
21
+ license_file "LICENSE"
22
+ skip_transitive_dependency_licensing true
23
+
24
+ # version_list: url=https://github.com/Gecode/gecode/releases/ filter=gecode-release-*.tar.gz
25
+
26
+ version("3.7.3") { source sha256: "75faaaa025a154ec0aef8b3b6ed9e78113efb543a92b8f4b2b971a0b0e898108" }
27
+ version("3.7.1") { source sha256: "e8d1404929a707efe39d3e93403ef9019e416d90841f76d73fb4466095922c48" }
28
+
29
+ # Major version, have not tried yet
30
+ version("6.2.0") { source sha256: "27d91721a690db1e96fa9bb97cec0d73a937e9dc8062c3327f8a4ccb08e951fd" }
31
+ version("5.1.0") { source sha256: "77863f4638c6b77d24a29bf6aeac370c56cd808fe9aabc1fca96655581f6c83d" }
32
+ version("4.4.0") { source sha256: "ca261c6c876950191d4ec2f277e5bfee1c3eae8a81af9b5c970d9b0c2930db37" }
33
+
34
+ source url: "https://github.com/Gecode/gecode/archive/refs/tags/release-#{version}.tar.gz"
35
+
36
+ relative_path "gecode-release-#{version}"
37
+
38
+ build do
39
+ env = with_standard_compiler_flags(with_embedded_path)
40
+
41
+ # On some RHEL-based systems, the default GCC that's installed is 4.1. We
42
+ # need to use 4.4, which is provided by the gcc44 and gcc44-c++ packages.
43
+ # These do not use the gcc binaries so we set the flags to point to the
44
+ # correct version here.
45
+ if File.exist?("/usr/bin/gcc44")
46
+ env["CC"] = "gcc44"
47
+ env["CXX"] = "g++44"
48
+ end
49
+
50
+ command "./configure" \
51
+ " --prefix=#{install_dir}/embedded" \
52
+ " --disable-doc-dot" \
53
+ " --disable-doc-search" \
54
+ " --disable-doc-tagfile" \
55
+ " --disable-doc-chm" \
56
+ " --disable-doc-docset" \
57
+ " --disable-qt" \
58
+ " --disable-examples", env: env
59
+
60
+ make "-j #{workers}", env: env
61
+ make "install", env: env
62
+ end