omnibus-software 23.7.295 → 3002.0.0

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.

Potentially problematic release.


This version of omnibus-software might be problematic. Click here for more details.

Files changed (248) hide show
  1. checksums.yaml +4 -4
  2. data/lib/omnibus-software.rb +87 -102
  3. metadata +13 -273
  4. data/.buildkite/hooks/pre-command +0 -9
  5. data/.expeditor/Version_inspector/README.md +0 -21
  6. data/.expeditor/Version_inspector/SW-Version-update.py +0 -243
  7. data/.expeditor/Version_inspector/manual_prod_list.json +0 -29
  8. data/.expeditor/Version_inspector/prod_default_version.json +0 -103
  9. data/.expeditor/Version_inspector/prod_list.json +0 -194
  10. data/.expeditor/Version_inspector/requirements.txt +0 -4
  11. data/.expeditor/Version_inspector/update_prod_default_version.sh +0 -24
  12. data/.expeditor/Version_inspector/update_prod_list.sh +0 -35
  13. data/.expeditor/config.yml +0 -44
  14. data/.expeditor/determine_version.sh +0 -15
  15. data/.expeditor/push_git_tag.sh +0 -12
  16. data/.expeditor/run_linux_tests.sh +0 -16
  17. data/.expeditor/software_upload.pipeline.yml +0 -17
  18. data/.expeditor/verify.pipeline.yml +0 -52
  19. data/.github/CODEOWNERS +0 -5
  20. data/.github/ISSUE_TEMPLATE/BUG_TEMPLATE.md +0 -29
  21. data/.github/ISSUE_TEMPLATE/DESIGN_PROPOSAL.md +0 -40
  22. data/.github/ISSUE_TEMPLATE/ENHANCEMENT_REQUEST_TEMPLATE.md +0 -17
  23. data/.github/ISSUE_TEMPLATE/SUPPORT_QUESTION.md +0 -11
  24. data/.github/dependabot.yml +0 -9
  25. data/.github/lock.yml +0 -1
  26. data/.gitignore +0 -17
  27. data/CHANGELOG.md +0 -18
  28. data/CODE_OF_CONDUCT.md +0 -1
  29. data/CONTRIBUTING.md +0 -1
  30. data/Dockerfile +0 -21
  31. data/Gemfile +0 -10
  32. data/LICENSE +0 -201
  33. data/README.md +0 -99
  34. data/Rakefile +0 -56
  35. data/VERSION +0 -1
  36. data/config/patches/bash/race-condition.patch +0 -15
  37. data/config/patches/bash/updated_race-condition.patch +0 -15
  38. data/config/patches/bzip2/aix_makefile.patch +0 -11
  39. data/config/patches/bzip2/makefile_no_bins.patch +0 -77
  40. data/config/patches/bzip2/makefile_take_env_vars.patch +0 -31
  41. data/config/patches/bzip2/soname_install_dir.patch +0 -11
  42. data/config/patches/curl/curl-aix-disable-alpn.patch +0 -22
  43. data/config/patches/curl/curl-freebsd-hostcheck.patch +0 -10
  44. data/config/patches/erlang/epmd-require-explicitly-adding-loopback-address.patch +0 -84
  45. data/config/patches/erlang/updated-epmd-require-explicitly-adding-loopback-address.patch +0 -75
  46. data/config/patches/expat/configure_xlc_visibility.patch +0 -58
  47. data/config/patches/expat/configure_xlc_visibility_2.4.7.patch +0 -59
  48. data/config/patches/figlet/aix-figlet-cdefs.patch +0 -48
  49. data/config/patches/gdbm/v1.8.3-Makefile.in.patch +0 -32
  50. data/config/patches/git/aix-endian-fix.patch +0 -20
  51. data/config/patches/gtar/aix_extra_case.patch +0 -13
  52. data/config/patches/keepalived/keepalived-1.2.9_opscode_centos_5.patch +0 -15
  53. data/config/patches/libedit/freebsd-vi-fix.patch +0 -24
  54. data/config/patches/libedit/openbsd-weak-alias-fix.patch +0 -48
  55. data/config/patches/libedit/solaris.patch +0 -36
  56. data/config/patches/libffi/libffi-3.2.1-disable-multi-os-directory.patch +0 -83
  57. data/config/patches/libffi/libffi-3.3-arm64.patch +0 -9608
  58. data/config/patches/libxslt/libxslt-solaris-configure.patch +0 -19
  59. data/config/patches/libxslt/libxslt-windows-relocate.patch +0 -12
  60. data/config/patches/libyaml/windows-configure.patch +0 -26
  61. data/config/patches/libzmq/zeromq-4.0.11_mingw_inet_pton.patch +0 -37
  62. data/config/patches/libzmq/zeromq-aix-4.2.2-LARGE_FILES.patch +0 -56
  63. data/config/patches/libzmq/zeromq-aix-4.2.2-atomic-counter-fetch_and_add.patch +0 -59
  64. data/config/patches/logrotate/logrotate_basedir_override.patch +0 -17
  65. data/config/patches/m4/m4-1.4.18-glibc-change-work-around.patch +0 -115
  66. data/config/patches/make/deb-make-glob.patch +0 -31
  67. data/config/patches/ncurses/ncurses-5.9-gcc-5.patch +0 -46
  68. data/config/patches/ncurses/ncurses-5.9-solaris-xopen_source_extended-detection.patch +0 -11
  69. data/config/patches/ncurses/ncurses-clang.patch +0 -43
  70. data/config/patches/ncurses/patch-aa +0 -23
  71. data/config/patches/ncurses/patch-ab +0 -44
  72. data/config/patches/ncurses/patch-ac +0 -40
  73. data/config/patches/ncurses/patch-ad +0 -13
  74. data/config/patches/ncurses/patch-cxx_cursesf.h +0 -22
  75. data/config/patches/ncurses/patch-cxx_cursesm.h +0 -22
  76. data/config/patches/ncurses/patch-ncurses_tinfo_lib__baudrate.c +0 -24
  77. data/config/patches/openssl/openssl-1.0.1f-do-not-build-docs.patch +0 -28
  78. data/config/patches/openssl/openssl-1.0.1j-windows-relocate-dll.patch +0 -44
  79. data/config/patches/openssl/openssl-1.0.1q-fix-compiler-flags-table-for-msys.patch +0 -20
  80. data/config/patches/openssl/openssl-1.0.2x-darwin-arm64.patch +0 -54
  81. data/config/patches/openssl/openssl-1.1.0f-do-not-install-docs.patch +0 -11
  82. data/config/patches/openssl/openssl-3.0.1-do-not-install-docs.patch +0 -22
  83. data/config/patches/openssl-fips/openssl-fips-fix-compiler-flags-table-for-msys.patch +0 -11
  84. data/config/patches/perl/perl-5.18.1-remove_lnsl.patch +0 -441
  85. data/config/patches/perl/perl-5.22.1-remove_lnsl.patch +0 -512
  86. data/config/patches/perl/perl-5.30.0-remove_lnsl.patch +0 -518
  87. data/config/patches/perl/perl-5.32.1-remove_lnsl.patch +0 -456
  88. data/config/patches/perl/perl-5.34.0-remove_lnsl.patch +0 -516
  89. data/config/patches/pkg-config/openbsd-charset.patch +0 -19
  90. data/config/patches/popt/v1.16.ppc64le-configure.patch +0 -18
  91. data/config/patches/redis/password-from-environment.patch +0 -19
  92. data/config/patches/ruby/patch-configure +0 -103
  93. data/config/patches/ruby/remove_nano.patch +0 -10
  94. data/config/patches/ruby/ruby-2.6.7_c99.patch +0 -12
  95. data/config/patches/ruby/ruby-3.0.1-configure.patch +0 -281
  96. data/config/patches/ruby/ruby-3.0.2-configure.patch +0 -251
  97. data/config/patches/ruby/ruby-3.0.5-configure.patch +0 -260
  98. data/config/patches/ruby/ruby-aix-atomic.patch +0 -11
  99. data/config/patches/ruby/ruby-aix-configure_26_and_later.patch +0 -19
  100. data/config/patches/ruby/ruby-aix-vm-core.patch +0 -14
  101. data/config/patches/ruby/ruby-fast-load_26.patch +0 -16
  102. data/config/patches/ruby/ruby-fast-load_31.patch +0 -16
  103. data/config/patches/ruby/ruby-faster-load_26.patch +0 -11
  104. data/config/patches/ruby/ruby-faster-load_27.patch +0 -11
  105. data/config/patches/ruby/ruby-mkmf.patch +0 -29
  106. data/config/patches/ruby/ruby-no-stack-protector-strong.patch +0 -11
  107. data/config/patches/ruby/ruby-no-stack-protector.patch +0 -13
  108. data/config/patches/ruby/ruby-win32_warning_removal.patch +0 -12
  109. data/config/patches/ruby/ruby_aix_openssl.patch +0 -10
  110. data/config/patches/ruby/ruby_aix_ssl_EAGAIN.patch +0 -19
  111. data/config/patches/ruby/rvm-cflags.patch +0 -27
  112. data/config/patches/stunnel/stunnel-on-windows.patch +0 -42
  113. data/config/patches/zlib/zlib-windows-relocate.patch +0 -20
  114. data/config/software/autoconf.rb +0 -46
  115. data/config/software/automake.rb +0 -49
  116. data/config/software/bash.rb +0 -81
  117. data/config/software/berkshelf-no-depselector.rb +0 -46
  118. data/config/software/berkshelf.rb +0 -34
  119. data/config/software/binutils.rb +0 -47
  120. data/config/software/bundler.rb +0 -38
  121. data/config/software/bzip2.rb +0 -57
  122. data/config/software/cacerts.rb +0 -52
  123. data/config/software/chef-gem.rb +0 -35
  124. data/config/software/chef.rb +0 -113
  125. data/config/software/cmake.rb +0 -100
  126. data/config/software/config_guess.rb +0 -37
  127. data/config/software/cpanminus.rb +0 -50
  128. data/config/software/curl.rb +0 -105
  129. data/config/software/delivery-cli.rb +0 -89
  130. data/config/software/dep-selector-libgecode.rb +0 -48
  131. data/config/software/elasticsearch.rb +0 -67
  132. data/config/software/elixir.rb +0 -35
  133. data/config/software/erlang.rb +0 -134
  134. data/config/software/expat.rb +0 -66
  135. data/config/software/fakeroot.rb +0 -41
  136. data/config/software/ffi-yajl.rb +0 -46
  137. data/config/software/figlet-fonts.rb +0 -31
  138. data/config/software/figlet.rb +0 -44
  139. data/config/software/gcc.rb +0 -60
  140. data/config/software/gdbm.rb +0 -54
  141. data/config/software/gecode.rb +0 -64
  142. data/config/software/gem-permissions.rb +0 -43
  143. data/config/software/git-windows.rb +0 -98
  144. data/config/software/git.rb +0 -142
  145. data/config/software/gmp.rb +0 -50
  146. data/config/software/go-uninstall.rb +0 -33
  147. data/config/software/go.rb +0 -123
  148. data/config/software/google-protobuf.rb +0 -45
  149. data/config/software/gtar.rb +0 -64
  150. data/config/software/help2man.rb +0 -40
  151. data/config/software/highline-gem.rb +0 -37
  152. data/config/software/ibm-jre.rb +0 -59
  153. data/config/software/inspec.rb +0 -43
  154. data/config/software/jre-from-jdk.rb +0 -67
  155. data/config/software/keepalived.rb +0 -68
  156. data/config/software/libarchive.rb +0 -74
  157. data/config/software/libedit.rb +0 -76
  158. data/config/software/libffi.rb +0 -71
  159. data/config/software/libgcc.rb +0 -52
  160. data/config/software/libiconv.rb +0 -57
  161. data/config/software/libintl-perl.rb +0 -59
  162. data/config/software/liblzma.rb +0 -63
  163. data/config/software/libossp-uuid.rb +0 -47
  164. data/config/software/libsodium.rb +0 -42
  165. data/config/software/libtool.rb +0 -58
  166. data/config/software/libuuid.rb +0 -44
  167. data/config/software/libxml2.rb +0 -65
  168. data/config/software/libxslt.rb +0 -68
  169. data/config/software/libyajl2-gem.rb +0 -44
  170. data/config/software/libyaml.rb +0 -52
  171. data/config/software/libzmq.rb +0 -93
  172. data/config/software/logrotate.rb +0 -64
  173. data/config/software/lua.rb +0 -48
  174. data/config/software/m4.rb +0 -40
  175. data/config/software/make.rb +0 -46
  176. data/config/software/makedepend.rb +0 -47
  177. data/config/software/mpc.rb +0 -48
  178. data/config/software/mpfr.rb +0 -48
  179. data/config/software/musl.rb +0 -107
  180. data/config/software/mysql2.rb +0 -50
  181. data/config/software/ncurses.rb +0 -162
  182. data/config/software/nginx.rb +0 -57
  183. data/config/software/nodejs-binary.rb +0 -93
  184. data/config/software/nodejs.rb +0 -58
  185. data/config/software/nokogiri.rb +0 -92
  186. data/config/software/omnibus-ctl.rb +0 -42
  187. data/config/software/openresty.rb +0 -96
  188. data/config/software/opensearch.rb +0 -59
  189. data/config/software/openssl-customization.rb +0 -81
  190. data/config/software/openssl-fips.rb +0 -85
  191. data/config/software/openssl.rb +0 -199
  192. data/config/software/patch.rb +0 -48
  193. data/config/software/patchelf.rb +0 -70
  194. data/config/software/pcre.rb +0 -55
  195. data/config/software/perl-extutils-embed.rb +0 -38
  196. data/config/software/perl-extutils-makemaker.rb +0 -47
  197. data/config/software/perl-thread-queue.rb +0 -41
  198. data/config/software/perl.rb +0 -80
  199. data/config/software/perl_pg_driver.rb +0 -46
  200. data/config/software/pg-gem.rb +0 -36
  201. data/config/software/pkg-config-lite.rb +0 -48
  202. data/config/software/pkg-config.rb +0 -68
  203. data/config/software/popt.rb +0 -59
  204. data/config/software/postgresql.rb +0 -71
  205. data/config/software/preparation.rb +0 -31
  206. data/config/software/python.rb +0 -83
  207. data/config/software/rabbitmq.rb +0 -58
  208. data/config/software/rb-readline.rb +0 -33
  209. data/config/software/rbnacl-libsodium.rb +0 -42
  210. data/config/software/rbzmq.rb +0 -44
  211. data/config/software/rebar.rb +0 -42
  212. data/config/software/redis-gem.rb +0 -36
  213. data/config/software/redis.rb +0 -54
  214. data/config/software/relx.rb +0 -39
  215. data/config/software/rsync.rb +0 -57
  216. data/config/software/ruby-cleanup.rb +0 -271
  217. data/config/software/ruby-msys2-devkit.rb +0 -72
  218. data/config/software/ruby-windows-devkit-bash.rb +0 -43
  219. data/config/software/ruby-windows-devkit.rb +0 -84
  220. data/config/software/ruby.rb +0 -315
  221. data/config/software/rubygems.rb +0 -73
  222. data/config/software/runit.rb +0 -68
  223. data/config/software/rust-uninstall.rb +0 -32
  224. data/config/software/rust.rb +0 -97
  225. data/config/software/sequel-gem.rb +0 -36
  226. data/config/software/server-jre.rb +0 -132
  227. data/config/software/server-open-jre.rb +0 -146
  228. data/config/software/setuptools.rb +0 -48
  229. data/config/software/shebang-cleanup.rb +0 -101
  230. data/config/software/sqitch.rb +0 -92
  231. data/config/software/stunnel.rb +0 -88
  232. data/config/software/util-macros.rb +0 -44
  233. data/config/software/version-manifest.rb +0 -33
  234. data/config/software/xproto.rb +0 -43
  235. data/config/software/zlib.rb +0 -88
  236. data/config/templates/git/config.mak.erb +0 -31
  237. data/config/templates/rubygems/register_devtools.rb.erb +0 -33
  238. data/config/templates/runit/runsvdir-start.erb +0 -42
  239. data/docker-compose.yml +0 -15
  240. data/lib/omnibus-software/version.rb +0 -3
  241. data/omnibus-software.gemspec +0 -20
  242. data/scripts/internal_sources.rb +0 -78
  243. data/scripts/internal_sources.yml +0 -419
  244. data/test/Gemfile +0 -10
  245. data/test/config/projects/test.rb +0 -14
  246. data/test/generate_steps.rb +0 -65
  247. data/test/omnibus-build.sh +0 -55
  248. data/test/omnibus.rb +0 -59
@@ -1,315 +0,0 @@
1
- #
2
- # Copyright:: Copyright (c) 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
- # do_not_auto_update
17
-
18
- name "ruby"
19
-
20
- license "BSD-2-Clause"
21
- license_file "BSDL"
22
- license_file "COPYING"
23
- license_file "LEGAL"
24
- skip_transitive_dependency_licensing true
25
-
26
- # the default versions should always be the latest release of ruby
27
- # if you consume this definition it is your responsibility to pin
28
- # to the desired version of ruby. don't count on this not changing.
29
- default_version "3.1.3"
30
-
31
- dependency "zlib"
32
- dependency "openssl"
33
- dependency "libffi"
34
- dependency "libyaml"
35
-
36
- # we build omnibus packages on freebsd 11 and use the packages on freebsd 11, 12 and 13.
37
- # the ruby executable has been linking to freebsds system's ncurses library files.
38
- # freebsd 13 system's ncurses library files have a different name than freebsd 11 and 12
39
- # which causes the ruby executable to fail.
40
- # adding ncurses as a dependency for freebsd prevents the ruby executable from linking to the
41
- # system's ncurses library files thereby allowing the package built on freebsd 11 to work on freebsd 13.
42
- dependency "ncurses" if freebsd?
43
-
44
- # version_list: url=https://cache.ruby-lang.org/pub/ruby/ filter=*.tar.gz
45
- version("3.1.3") { source sha256: "5ea498a35f4cd15875200a52dde42b6eb179e1264e17d78732c3a57cd1c6ab9e" }
46
- version("3.1.2") { source sha256: "61843112389f02b735428b53bb64cf988ad9fb81858b8248e22e57336f24a83e" }
47
- version("3.1.1") { source sha256: "fe6e4782de97443978ddba8ba4be38d222aa24dc3e3f02a6a8e7701c0eeb619d" }
48
-
49
- version("3.0.6") { source sha256: "6e6cbd490030d7910c0ff20edefab4294dfcd1046f0f8f47f78b597987ac683e" }
50
- version("3.0.5") { source sha256: "9afc6380a027a4fe1ae1a3e2eccb6b497b9c5ac0631c12ca56f9b7beb4848776" }
51
- version("3.0.4") { source sha256: "70b47c207af04bce9acea262308fb42893d3e244f39a4abc586920a1c723722b" }
52
- version("3.0.3") { source sha256: "3586861cb2df56970287f0fd83f274bd92058872d830d15570b36def7f1a92ac" }
53
- version("3.0.2") { source sha256: "5085dee0ad9f06996a8acec7ebea4a8735e6fac22f22e2d98c3f2bc3bef7e6f1" }
54
- version("3.0.1") { source sha256: "369825db2199f6aeef16b408df6a04ebaddb664fb9af0ec8c686b0ce7ab77727" }
55
-
56
- version("2.7.7") { source sha256: "e10127db691d7ff36402cfe88f418c8d025a3f1eea92044b162dd72f0b8c7b90" }
57
- version("2.7.6") { source sha256: "e7203b0cc09442ed2c08936d483f8ac140ec1c72e37bb5c401646b7866cb5d10" }
58
- version("2.7.5") { source sha256: "2755b900a21235b443bb16dadd9032f784d4a88f143d852bc5d154f22b8781f1" }
59
- version("2.7.4") { source sha256: "3043099089608859fc8cce7f9fdccaa1f53a462457e3838ec3b25a7d609fbc5b" }
60
- version("2.7.3") { source sha256: "8925a95e31d8f2c81749025a52a544ea1d05dad18794e6828709268b92e55338" }
61
-
62
- version("2.6.10") { source sha256: "0dc609f263d49c4176d5725deefc337273676395985b5e017789373e8cadf16e" }
63
- version("2.6.9") { source sha256: "eb7bae7aac64bf9eb2153710a4cafae450ccbb62ae6f63d573e1786178b0efbb" }
64
- version("2.6.8") { source sha256: "1807b78577bc08596a390e8a41aede37b8512190e05c133b17d0501791a8ca6d" }
65
- version("2.6.7") { source sha256: "e4227e8b7f65485ecb73397a83e0d09dcd39f25efd411c782b69424e55c7a99e" }
66
-
67
- source url: "https://cache.ruby-lang.org/pub/ruby/#{version.match(/^(\d+\.\d+)/)[0]}/ruby-#{version}.tar.gz"
68
- internal_source url: "#{ENV["ARTIFACTORY_REPO_URL"]}/#{name}/#{name}-#{version}.tar.gz",
69
- authorization: "X-JFrog-Art-Api:#{ENV["ARTIFACTORY_TOKEN"]}"
70
-
71
- # In order to pass notarization we need to sign any binaries and libraries included in the package.
72
- # This makes sure we include and bins and libs that are brought in by gems.
73
- semver = Gem::Version.create(version).segments
74
- ruby_mmv = "#{semver[0..1].join(".")}.0"
75
- ruby_dir = "#{install_dir}/embedded/lib/ruby/#{ruby_mmv}"
76
- gem_dir = "#{install_dir}/embedded/lib/ruby/gems/#{ruby_mmv}"
77
- bin_dirs bin_dirs.concat ["#{gem_dir}/gems/*/bin/**"]
78
- lib_dirs ["#{ruby_dir}/**", "#{gem_dir}/extensions/**", "#{gem_dir}/gems/*", "#{gem_dir}/gems/*/lib/**", "#{gem_dir}/gems/*/ext/**"]
79
-
80
- relative_path "ruby-#{version}"
81
-
82
- env = with_standard_compiler_flags(with_embedded_path)
83
-
84
- if mac_os_x?
85
- # -Qunused-arguments suppresses "argument unused during compilation"
86
- # warnings. These can be produced if you compile a program that doesn't
87
- # link to anything in a path given with -Lextra-libs. Normally these
88
- # would be harmless, except that autoconf treats any output to stderr as
89
- # a failure when it makes a test program to check your CFLAGS (regardless
90
- # of the actual exit code from the compiler).
91
- arch = intel? ? "x86_64" : "arm64"
92
- env["CFLAGS"] << " -I#{install_dir}/embedded/include/ncurses -arch #{arch} -m64 -O3 -g -pipe -Qunused-arguments"
93
- env["LDFLAGS"] << " -arch #{arch}"
94
- elsif freebsd?
95
- # Stops "libtinfo.so.5.9: could not read symbols: Bad value" error when
96
- # compiling ext/readline. See the following for more info:
97
- #
98
- # https://lists.freebsd.org/pipermail/freebsd-current/2013-October/045425.html
99
- # http://mailing.freebsd.ports-bugs.narkive.com/kCgK8sNQ/ports-183106-patch-sysutils-libcdio-does-not-build-on-10-0-and-head
100
- #
101
- env["LDFLAGS"] << " -ltinfow"
102
- elsif aix?
103
- # this magic per IBM
104
- env["LDSHARED"] = "xlc -G"
105
- env["CFLAGS"] = "-I#{install_dir}/embedded/include/ncurses -I#{install_dir}/embedded/include"
106
- # this magic per IBM
107
- env["XCFLAGS"] = "-DRUBY_EXPORT"
108
- # need CPPFLAGS set so ruby doesn't try to be too clever
109
- env["CPPFLAGS"] = "-I#{install_dir}/embedded/include/ncurses -I#{install_dir}/embedded/include"
110
- env["SOLIBS"] = "-lm -lc"
111
- # need to use GNU m4, default m4 doesn't work
112
- env["M4"] = "/opt/freeware/bin/m4"
113
- elsif solaris2?
114
- env["CXXFLAGS"] = "#{env["CXXFLAGS"]} -std=c++0x"
115
- elsif windows?
116
- # this forces ruby >= 3.0 to pick up the gcc in the devkit rather than the cc in /opt/omnibus-toolchain
117
- # which is necessary for mkmf.rb to be able to correctly build native gems. in an ideal world the compilation
118
- # environment in omnibus-toolchain would probably need to look a little more identical to the devkit.
119
- env["CC"] = "gcc"
120
- env["CFLAGS"] = "-I#{install_dir}/embedded/include -DFD_SETSIZE=2048"
121
- if windows_arch_i386?
122
- env["CFLAGS"] << " -m32 -march=i686 -O3"
123
- else
124
- env["CFLAGS"] << " -m64 -march=x86-64 -O3"
125
- end
126
- env["CPPFLAGS"] = env["CFLAGS"]
127
- env["CXXFLAGS"] = env["CFLAGS"]
128
- else # including linux
129
- env["CFLAGS"] << " -O3 -g -pipe"
130
- end
131
-
132
- build do
133
- # AIX needs /opt/freeware/bin only for patch
134
- patch_env = env.dup
135
- patch_env["PATH"] = "/opt/freeware/bin:#{env["PATH"]}" if aix?
136
-
137
- if version.satisfies?("~> 3.0.0")
138
- case version
139
- when "3.0.1"
140
- patch source: "ruby-3.0.1-configure.patch", plevel: 1, env: patch_env
141
- when "3.0.5", "3.0.6"
142
- patch source: "ruby-3.0.5-configure.patch", plevel: 1, env: patch_env
143
- else
144
- patch source: "ruby-3.0.2-configure.patch", plevel: 1, env: patch_env
145
- end
146
- end
147
-
148
- # remove the warning that the win32 api is going away.
149
- if windows? && version.satisfies?("< 3.0")
150
- patch source: "ruby-win32_warning_removal.patch", plevel: 1, env: patch_env
151
- end
152
-
153
- # RHEL6 has a base compiler that does not support -fstack-protector-strong, but we
154
- # cannot build modern ruby on the RHEL6 base compiler, and the configure script
155
- # determines that it supports that flag and so includes it and then ultimately
156
- # pushes that into native gem compilations which then blows up for end users when
157
- # they try to install native gems. So, we have to hack this up to avoid using
158
- # that flag on RHEL6.
159
- #
160
- if rhel? && platform_version.satisfies?("< 7")
161
- patch source: "ruby-no-stack-protector-strong.patch", plevel: 1, env: patch_env
162
- end
163
-
164
- # accelerate requires of c-extension.
165
- #
166
- # this would break code which did `require "thing"` and loaded thing.so and
167
- # then fiddled with the libpath and did `require "thing"` and loaded thing.rb
168
- # over the top of it. AFAIK no sane ruby code should need to do that, and the
169
- # cost of this behavior in core ruby is enormous.
170
- #
171
- if version.satisfies?("< 3.1")
172
- patch source: "ruby-fast-load_26.patch", plevel: 1, env: patch_env
173
- else
174
- patch source: "ruby-fast-load_31.patch", plevel: 1, env: patch_env
175
- end
176
-
177
- # this removes a checks for windows nano in the win32-ole files.
178
- # windows nano is a dead platform and not supported by chef so we can avoid
179
- # registry lookups by patching away this code
180
- if windows?
181
- patch source: "remove_nano.patch", plevel: 1, env: patch_env
182
- end
183
-
184
- # accelerate requires by removing a File.expand_path
185
- #
186
- # the expand_path here seems to be largely useless and produces a large amount
187
- # of lstat(2) calls on unix, and increases the runtime of a chef-client --version
188
- # test by 33% on windows. on modern linuxen that have openat(2) it is totally
189
- # useless. this patch breaks no built-in tests on ruby on old platforms, and
190
- # it is unclear why or if it is necessary (hand crafted tests designed to try to
191
- # abuse it all succeeded after this test).
192
- #
193
- if version.satisfies?("~> 2.6.0")
194
- patch source: "ruby-faster-load_26.patch", plevel: 1, env: patch_env
195
- end
196
- if version.satisfies?(">= 2.7")
197
- patch source: "ruby-faster-load_27.patch", plevel: 1, env: patch_env
198
- end
199
-
200
- # disable libpath in mkmf across all platforms, it trolls omnibus and
201
- # breaks the postgresql cookbook. i'm not sure why ruby authors decided
202
- # this was a good idea, but it breaks our use case hard. AIX cannot even
203
- # compile without removing it, and it breaks some native gem installs on
204
- # other platforms. generally you need to have a condition where the
205
- # embedded and non-embedded libs get into a fight (libiconv, openssl, etc)
206
- # and ruby trying to set LD_LIBRARY_PATH itself gets it wrong.
207
- #
208
- # Also, fix paths emitted in the makefile on windows on both msys and msys2.
209
- patch source: "ruby-mkmf.patch", plevel: 1, env: patch_env
210
-
211
- configure_command = ["--with-out-ext=dbm,readline",
212
- "--enable-shared",
213
- "--disable-install-doc",
214
- "--without-gmp",
215
- "--without-gdbm",
216
- "--without-tk",
217
- "--disable-dtrace",
218
- "--disable-jit-support"]
219
- configure_command << "--with-bundled-md5" if fips_mode?
220
-
221
- # resolve C99 code accidentally introduced in Ruby 2.6.7 and it's still in 2.6.8 :(
222
- patch source: "ruby-2.6.7_c99.patch", plevel: 1, env: patch_env if version.satisfies?("~> 2.6.7", "< 2.6.10")
223
-
224
- if aix?
225
- # need to patch ruby's configure file so it knows how to find shared libraries
226
- patch source: "ruby-aix-configure_26_and_later.patch", plevel: 1, env: patch_env
227
-
228
- # have ruby use zlib on AIX correctly
229
- patch source: "ruby_aix_openssl.patch", plevel: 1, env: patch_env
230
- # AIX has issues with ssl retries, need to patch to have it retry
231
- patch source: "ruby_aix_ssl_EAGAIN.patch", plevel: 1, env: patch_env
232
- # the next two patches are because xlc doesn't deal with long vs int types well
233
- patch source: "ruby-aix-atomic.patch", plevel: 1, env: patch_env if version.satisfies?("< 3.0")
234
- patch source: "ruby-aix-vm-core.patch", plevel: 1, env: patch_env if version.satisfies?("< 3.0")
235
-
236
- # per IBM, just enable pthread
237
- configure_command << "--enable-pthread"
238
-
239
- elsif freebsd?
240
- # Disable optional support C level backtrace support. This requires the
241
- # optional devel/libexecinfo port to be installed.
242
- configure_command << "ac_cv_header_execinfo_h=no"
243
- configure_command << "--with-opt-dir=#{install_dir}/embedded"
244
- elsif smartos?
245
- # Patches taken from RVM.
246
- # http://bugs.ruby-lang.org/issues/5384
247
- # https://www.illumos.org/issues/1587
248
- # https://github.com/wayneeseguin/rvm/issues/719
249
- patch source: "rvm-cflags.patch", plevel: 1, env: patch_env
250
-
251
- # From RVM forum
252
- # https://github.com/wayneeseguin/rvm/commit/86766534fcc26f4582f23842a4d3789707ce6b96
253
- configure_command << "ac_cv_func_dl_iterate_phdr=no"
254
- configure_command << "--with-opt-dir=#{install_dir}/embedded"
255
- elsif solaris2?
256
- # In ruby-2.5.0 on Solaris 11 Random.urandom defaults to arc4random_buf() as
257
- # its implementation which is buggy and returns nothing but zeros. We therefore
258
- # force that API off.
259
- configure_command << "ac_cv_func_arc4random_buf=no"
260
- elsif windows?
261
- configure_command << "debugflags=-g"
262
- configure_command << "--with-winnt-ver=0x0602" # the default is 0x0600 which is Vista. 602 is Windows 8 (2012)
263
- else
264
- configure_command << "--with-opt-dir=#{install_dir}/embedded"
265
- end
266
-
267
- # FFS: works around a bug that infects AIX when it picks up our pkg-config
268
- # AFAIK, ruby does not need or use this pkg-config it just causes the build to fail.
269
- # The alternative would be to patch configure to remove all the pkg-config garbage entirely
270
- env["PKG_CONFIG"] = "/bin/true" if aix?
271
-
272
- configure(*configure_command, env: env)
273
-
274
- make "-j #{workers}", env: env
275
- make "-j #{workers} install", env: env
276
-
277
- if windows?
278
- # Needed now that we switched to msys2 and have not figured out how to tell
279
- # it how to statically link yet
280
- dlls = [
281
- "libwinpthread-1",
282
- "libstdc++-6",
283
- ]
284
-
285
- if windows_arch_i386?
286
- dlls << "libgcc_s_dw2-1"
287
- else
288
- dlls << "libgcc_s_seh-1"
289
- end
290
-
291
- dlls.each do |dll|
292
- mingw = ENV["MSYSTEM"].downcase
293
- # Starting omnibus-toolchain version 1.1.115 we do not build msys2 as a part of omnibus-toolchain anymore, but pre install it in image
294
- # so here we set the path to default install of msys2 first and default to OMNIBUS_TOOLCHAIN_INSTALL_DIR for backward compatibility
295
- msys_path = ENV["MSYS2_INSTALL_DIR"] ? "#{ENV["MSYS2_INSTALL_DIR"]}" : "#{ENV["OMNIBUS_TOOLCHAIN_INSTALL_DIR"]}/embedded/bin"
296
- windows_path = "#{msys_path}/#{mingw}/bin/#{dll}.dll"
297
- if File.exist?(windows_path)
298
- copy windows_path, "#{install_dir}/embedded/bin/#{dll}.dll"
299
- else
300
- raise "Cannot find required DLL needed for dynamic linking: #{windows_path}"
301
- end
302
- end
303
-
304
- %w{ erb gem irb rdoc ri bundle }.each do |cmd|
305
- copy "#{project_dir}/bin/#{cmd}", "#{install_dir}/embedded/bin/#{cmd}"
306
- end
307
-
308
- # Ruby seems to mark rake.bat as read-only.
309
- # Mark it as writable so that we can install other version of rake without
310
- # running into permission errors.
311
- command "attrib -r #{install_dir}/embedded/bin/rake.bat"
312
-
313
- end
314
-
315
- end
@@ -1,73 +0,0 @@
1
- #
2
- # Copyright 2012-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 "rubygems"
19
-
20
- license "MIT"
21
- license_file "https://raw.githubusercontent.com/rubygems/rubygems/master/LICENSE.txt"
22
- skip_transitive_dependency_licensing true
23
-
24
- dependency "ruby"
25
-
26
- if version && !source
27
- known_tarballs = {
28
- "2.4.1" => "7e39c31806bbf9268296d03bd97ce718",
29
- "2.4.4" => "440a89ad6a3b1b7a69b034233cc4658e",
30
- "2.4.5" => "5918319a439c33ac75fbbad7fd60749d",
31
- "2.4.8" => "dc77b51449dffe5b31776bff826bf559",
32
- "2.6.7" => "9cd4c5bdc70b525dfacd96e471a64605",
33
- "2.6.8" => "40b3250f28c1d0d5cb9ff5ab2b17df6e",
34
- }
35
- known_tarballs.each do |vsn, md5|
36
- version vsn do
37
- source md5: md5, url: "https://rubygems.org/rubygems/rubygems-#{vsn}.tgz"
38
- relative_path "rubygems-#{vsn}"
39
- end
40
- end
41
- end
42
-
43
- # If we still don't have a source (if it's a tarball) grab from ruby ...
44
- if version && !source
45
- # If the version is a gem version, we"ll just be using rubygems.
46
- # If it's a branch or SHA (i.e. v1.2.3) we use github.
47
- begin
48
- Gem::Version.new(version)
49
- rescue ArgumentError
50
- source git: "https://github.com/rubygems/rubygems.git"
51
- end
52
- end
53
-
54
- # git repo is always expanded to "rubygems"
55
- if source && source.include?(:git)
56
- relative_path "rubygems"
57
- end
58
-
59
- build do
60
- env = with_standard_compiler_flags(with_embedded_path)
61
-
62
- if source
63
- # Building from source:
64
- command "git submodule init", env: env
65
- command "git submodule update", env: env
66
- ruby "setup.rb --no-document", env: env
67
- else
68
- # Installing direct from rubygems:
69
- # If there is no version, this will get latest.
70
- gem "update --no-document --system #{version}", env: env
71
- gem "uninstall rubygems-update -ax"
72
- end
73
- end
@@ -1,68 +0,0 @@
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 "runit"
18
- default_version "2.1.2"
19
-
20
- license "BSD-3-Clause"
21
- license_file "../package/COPYING"
22
- skip_transitive_dependency_licensing true
23
-
24
- # version_list: url=http://smarden.org/runit/ filter=*.tar.gz
25
-
26
- version("2.1.2") { source sha256: "6fd0160cb0cf1207de4e66754b6d39750cff14bb0aa66ab49490992c0c47ba18" }
27
- version("2.1.1") { source sha256: "ffcf2d27b32f59ac14f2d4b0772a3eb80d9342685a2042b7fbbc472c07cf2a2c" }
28
-
29
- source url: "http://smarden.org/runit/runit-#{version}.tar.gz"
30
- internal_source url: "#{ENV["ARTIFACTORY_REPO_URL"]}/#{name}/#{name}-#{version}.tar.gz",
31
- authorization: "X-JFrog-Art-Api:#{ENV["ARTIFACTORY_TOKEN"]}"
32
- relative_path "admin/runit-#{version}/src"
33
-
34
- build do
35
- env = with_standard_compiler_flags(with_embedded_path)
36
-
37
- # Put runit where we want it, not where they tell us to
38
- command 'sed -i -e "s/^char\ \*varservice\ \=\"\/service\/\";$/char\ \*varservice\ \=\"' + install_dir.gsub("/", "\\/") + '\/service\/\";/" sv.c', env: env
39
-
40
- # TODO: the following is not idempotent
41
- command "sed -i -e s:-static:: Makefile", env: env
42
-
43
- # Build it
44
- make env: env
45
- make "check", env: env
46
-
47
- # Move it
48
- mkdir "#{install_dir}/embedded/bin"
49
- copy "#{project_dir}/chpst", "#{install_dir}/embedded/bin"
50
- copy "#{project_dir}/runit", "#{install_dir}/embedded/bin"
51
- copy "#{project_dir}/runit-init", "#{install_dir}/embedded/bin"
52
- copy "#{project_dir}/runsv", "#{install_dir}/embedded/bin"
53
- copy "#{project_dir}/runsvchdir", "#{install_dir}/embedded/bin"
54
- copy "#{project_dir}/runsvdir", "#{install_dir}/embedded/bin"
55
- copy "#{project_dir}/sv", "#{install_dir}/embedded/bin"
56
- copy "#{project_dir}/svlogd", "#{install_dir}/embedded/bin"
57
- copy "#{project_dir}/utmpset", "#{install_dir}/embedded/bin"
58
-
59
- erb source: "runsvdir-start.erb",
60
- dest: "#{install_dir}/embedded/bin/runsvdir-start",
61
- mode: 0755,
62
- vars: { install_dir: install_dir }
63
-
64
- # Setup service directories
65
- touch "#{install_dir}/service/.gitkeep"
66
- touch "#{install_dir}/sv/.gitkeep"
67
- touch "#{install_dir}/init/.gitkeep"
68
- end
@@ -1,32 +0,0 @@
1
- # Copyright 2016 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: deprecated 2022-02
16
-
17
- name "rust-uninstall"
18
- default_version "0.0.1"
19
-
20
- license :project_license
21
-
22
- dependency "rust"
23
-
24
- build do
25
- env = with_standard_compiler_flags(with_embedded_path)
26
-
27
- # Until Omnibus has full support for build depedencies (see chef/omnibus#483)
28
- # we don't want to ship the Rust and Cargo in our final artifact. Luckily
29
- # Rust ships with a nice uninstall script which makes it easy to strip
30
- # everything out.
31
- command "sh #{install_dir}/embedded/lib/rustlib/uninstall.sh", env: env
32
- end
@@ -1,97 +0,0 @@
1
- #
2
- # Copyright 2016-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
- # expeditor/ignore: deprecated 2022-02
17
-
18
- name "rust"
19
- default_version "1.37.0"
20
-
21
- license "Apache-2.0"
22
- license_file "LICENSE-APACHE"
23
-
24
- # Nightly releases use a slighty different URL and TARBALL naming convention
25
- if version =~ /\d{4}-\d{2}-\d{2}/
26
- relative_path_template = "rust-nightly-%{arch}-%{host_triple}"
27
- url_template = "https://static.rust-lang.org/dist/#{version}/rust-nightly-%{arch}-%{host_triple}.tar.gz"
28
- else
29
- relative_path_template = "rust-#{version}-%{arch}-%{host_triple}"
30
- url_template = "https://static.rust-lang.org/dist/rust-#{version}-%{arch}-%{host_triple}.tar.gz"
31
- end
32
-
33
- # Default architecture is x86_64
34
- arch = "x86_64"
35
-
36
- if windows?
37
- host_triple = "pc-windows-gnu"
38
-
39
- if windows_arch_i386?
40
- arch = "i686"
41
-
42
- version "1.37.0" do
43
- source sha256: "52ad8448fd612b50ade0dd2a957115a2e386d1f34a81341b787018f26df0c307",
44
- url: url_template % { host_triple: host_triple, arch: arch }
45
- end
46
-
47
- version "1.32.0" do
48
- source sha256: "226b00e61095fe1b8a7f1f186087731a294235b4da53601b709517ca9dc624f0",
49
- url: url_template % { host_triple: host_triple, arch: arch }
50
- end
51
- else
52
- version "1.37.0" do
53
- source sha256: "607ecc8c1f9886956ca694a65fcc096bfe00c7776a5e88bb947786e941752e68",
54
- url: url_template % { host_triple: host_triple, arch: arch }
55
- end
56
-
57
- version "1.32.0" do
58
- source sha256: "358e1435347c67dbf33aa9cad6fe501a833d6633ed5d5aa1863d5dffa0349be9",
59
- url: url_template % { host_triple: host_triple, arch: arch }
60
- end
61
- end
62
-
63
- elsif mac_os_x?
64
- host_triple = "apple-darwin"
65
-
66
- version "1.37.0" do
67
- source sha256: "b2310c97ffb964f253c4088c8d29865f876a49da2a45305493af5b5c7a3ca73d",
68
- url: url_template % { host_triple: host_triple, arch: arch }
69
- end
70
-
71
- version "1.32.0" do
72
- source sha256: "f0dfba507192f9b5c330b5984ba71d57d434475f3d62bd44a39201e36fa76304",
73
- url: url_template % { host_triple: host_triple, arch: arch }
74
- end
75
- else
76
- host_triple = "unknown-linux-gnu"
77
-
78
- version "1.37.0" do
79
- source sha256: "cb573229bfd32928177c3835fdeb62d52da64806b844bc1095c6225b0665a1cb",
80
- url: url_template % { host_triple: host_triple, arch: arch }
81
- end
82
-
83
- version "1.32.0" do
84
- source sha256: "e024698320d76b74daf0e6e71be3681a1e7923122e3ebd03673fcac3ecc23810",
85
- url: url_template % { host_triple: host_triple, arch: arch }
86
- end
87
- end
88
-
89
- relative_path relative_path_template % { host_triple: host_triple, arch: arch }
90
-
91
- build do
92
- env = with_standard_compiler_flags(with_embedded_path)
93
-
94
- command "sh install.sh" \
95
- " --prefix=#{install_dir}/embedded" \
96
- " --verbose", env: env
97
- end
@@ -1,36 +0,0 @@
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 "sequel-gem"
19
- default_version "4.47.0"
20
-
21
- license "MIT"
22
- license_file "https://raw.githubusercontent.com/jeremyevans/sequel/master/MIT-LICENSE"
23
- # sequel gem does not have any dependencies. We only install it from
24
- # rubygems here.
25
- skip_transitive_dependency_licensing true
26
-
27
- dependency "ruby"
28
-
29
- build do
30
- env = with_standard_compiler_flags(with_embedded_path)
31
-
32
- gem "install sequel" \
33
- " --version '#{version}'" \
34
- " --bindir '#{install_dir}/embedded/bin'" \
35
- " --no-document", env: env
36
- end