omnibus-software 23.7.295 → 3002.0.0

Sign up to get free protection for your applications and to get access to all the features.

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