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,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