omnibus-software 22.11.239

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (241) hide show
  1. checksums.yaml +7 -0
  2. data/.expeditor/Version_inspector/README.md +21 -0
  3. data/.expeditor/Version_inspector/SW-Version-update.py +243 -0
  4. data/.expeditor/Version_inspector/manual_prod_list.json +29 -0
  5. data/.expeditor/Version_inspector/prod_default_version.json +103 -0
  6. data/.expeditor/Version_inspector/prod_list.json +194 -0
  7. data/.expeditor/Version_inspector/requirements.txt +4 -0
  8. data/.expeditor/Version_inspector/update_prod_default_version.sh +24 -0
  9. data/.expeditor/Version_inspector/update_prod_list.sh +35 -0
  10. data/.expeditor/config.yml +33 -0
  11. data/.expeditor/determine_version.sh +15 -0
  12. data/.expeditor/push_git_tag.sh +12 -0
  13. data/.expeditor/run_linux_tests.sh +16 -0
  14. data/.expeditor/verify.pipeline.yml +52 -0
  15. data/.github/CODEOWNERS +5 -0
  16. data/.github/ISSUE_TEMPLATE/BUG_TEMPLATE.md +29 -0
  17. data/.github/ISSUE_TEMPLATE/DESIGN_PROPOSAL.md +40 -0
  18. data/.github/ISSUE_TEMPLATE/ENHANCEMENT_REQUEST_TEMPLATE.md +17 -0
  19. data/.github/ISSUE_TEMPLATE/SUPPORT_QUESTION.md +11 -0
  20. data/.github/dependabot.yml +9 -0
  21. data/.github/lock.yml +1 -0
  22. data/.gitignore +17 -0
  23. data/CODE_OF_CONDUCT.md +1 -0
  24. data/CONTRIBUTING.md +1 -0
  25. data/Dockerfile +21 -0
  26. data/Gemfile +10 -0
  27. data/LICENSE +201 -0
  28. data/README.md +99 -0
  29. data/Rakefile +56 -0
  30. data/VERSION +1 -0
  31. data/config/patches/bash/race-condition.patch +15 -0
  32. data/config/patches/bzip2/aix_makefile.patch +11 -0
  33. data/config/patches/bzip2/makefile_no_bins.patch +77 -0
  34. data/config/patches/bzip2/makefile_take_env_vars.patch +31 -0
  35. data/config/patches/bzip2/soname_install_dir.patch +11 -0
  36. data/config/patches/curl/curl-aix-disable-alpn.patch +22 -0
  37. data/config/patches/curl/curl-freebsd-hostcheck.patch +10 -0
  38. data/config/patches/erlang/epmd-require-explicitly-adding-loopback-address.patch +84 -0
  39. data/config/patches/erlang/updated-epmd-require-explicitly-adding-loopback-address.patch +75 -0
  40. data/config/patches/expat/configure_xlc_visibility.patch +58 -0
  41. data/config/patches/expat/configure_xlc_visibility_2.4.7.patch +59 -0
  42. data/config/patches/figlet/aix-figlet-cdefs.patch +48 -0
  43. data/config/patches/gdbm/v1.8.3-Makefile.in.patch +32 -0
  44. data/config/patches/git/aix-endian-fix.patch +20 -0
  45. data/config/patches/gtar/aix_extra_case.patch +13 -0
  46. data/config/patches/keepalived/keepalived-1.2.9_opscode_centos_5.patch +15 -0
  47. data/config/patches/libedit/freebsd-vi-fix.patch +24 -0
  48. data/config/patches/libedit/openbsd-weak-alias-fix.patch +48 -0
  49. data/config/patches/libedit/solaris.patch +36 -0
  50. data/config/patches/libffi/libffi-3.2.1-disable-multi-os-directory.patch +83 -0
  51. data/config/patches/libffi/libffi-3.3-arm64.patch +9608 -0
  52. data/config/patches/libxslt/libxslt-solaris-configure.patch +19 -0
  53. data/config/patches/libxslt/libxslt-windows-relocate.patch +12 -0
  54. data/config/patches/libyaml/windows-configure.patch +26 -0
  55. data/config/patches/libzmq/zeromq-4.0.11_mingw_inet_pton.patch +37 -0
  56. data/config/patches/libzmq/zeromq-aix-4.2.2-LARGE_FILES.patch +56 -0
  57. data/config/patches/libzmq/zeromq-aix-4.2.2-atomic-counter-fetch_and_add.patch +59 -0
  58. data/config/patches/logrotate/logrotate_basedir_override.patch +17 -0
  59. data/config/patches/m4/m4-1.4.18-glibc-change-work-around.patch +115 -0
  60. data/config/patches/make/deb-make-glob.patch +31 -0
  61. data/config/patches/ncurses/ncurses-5.9-gcc-5.patch +46 -0
  62. data/config/patches/ncurses/ncurses-5.9-solaris-xopen_source_extended-detection.patch +11 -0
  63. data/config/patches/ncurses/ncurses-clang.patch +43 -0
  64. data/config/patches/ncurses/patch-aa +23 -0
  65. data/config/patches/ncurses/patch-ab +44 -0
  66. data/config/patches/ncurses/patch-ac +40 -0
  67. data/config/patches/ncurses/patch-ad +13 -0
  68. data/config/patches/ncurses/patch-cxx_cursesf.h +22 -0
  69. data/config/patches/ncurses/patch-cxx_cursesm.h +22 -0
  70. data/config/patches/ncurses/patch-ncurses_tinfo_lib__baudrate.c +24 -0
  71. data/config/patches/openssl/openssl-1.0.1f-do-not-build-docs.patch +28 -0
  72. data/config/patches/openssl/openssl-1.0.1j-windows-relocate-dll.patch +20 -0
  73. data/config/patches/openssl/openssl-1.0.1q-fix-compiler-flags-table-for-msys.patch +20 -0
  74. data/config/patches/openssl/openssl-1.0.2x-darwin-arm64.patch +54 -0
  75. data/config/patches/openssl/openssl-1.1.0f-do-not-install-docs.patch +11 -0
  76. data/config/patches/openssl/openssl-3.0.1-do-not-install-docs.patch +22 -0
  77. data/config/patches/openssl-fips/openssl-fips-fix-compiler-flags-table-for-msys.patch +11 -0
  78. data/config/patches/perl/perl-5.18.1-remove_lnsl.patch +441 -0
  79. data/config/patches/perl/perl-5.22.1-remove_lnsl.patch +512 -0
  80. data/config/patches/perl/perl-5.30.0-remove_lnsl.patch +518 -0
  81. data/config/patches/perl/perl-5.32.1-remove_lnsl.patch +456 -0
  82. data/config/patches/perl/perl-5.34.0-remove_lnsl.patch +516 -0
  83. data/config/patches/pkg-config/openbsd-charset.patch +19 -0
  84. data/config/patches/popt/v1.16.ppc64le-configure.patch +18 -0
  85. data/config/patches/redis/password-from-environment.patch +19 -0
  86. data/config/patches/ruby/patch-configure +103 -0
  87. data/config/patches/ruby/remove_nano.patch +10 -0
  88. data/config/patches/ruby/ruby-2.6.7_c99.patch +12 -0
  89. data/config/patches/ruby/ruby-3.0.1-configure.patch +281 -0
  90. data/config/patches/ruby/ruby-3.0.2-configure.patch +251 -0
  91. data/config/patches/ruby/ruby-aix-atomic.patch +11 -0
  92. data/config/patches/ruby/ruby-aix-configure_26_and_later.patch +19 -0
  93. data/config/patches/ruby/ruby-aix-vm-core.patch +14 -0
  94. data/config/patches/ruby/ruby-fast-load_26.patch +16 -0
  95. data/config/patches/ruby/ruby-fast-load_31.patch +16 -0
  96. data/config/patches/ruby/ruby-faster-load_26.patch +11 -0
  97. data/config/patches/ruby/ruby-faster-load_27.patch +11 -0
  98. data/config/patches/ruby/ruby-mkmf.patch +29 -0
  99. data/config/patches/ruby/ruby-no-stack-protector-strong.patch +11 -0
  100. data/config/patches/ruby/ruby-no-stack-protector.patch +13 -0
  101. data/config/patches/ruby/ruby-win32_warning_removal.patch +12 -0
  102. data/config/patches/ruby/ruby_aix_openssl.patch +10 -0
  103. data/config/patches/ruby/ruby_aix_ssl_EAGAIN.patch +19 -0
  104. data/config/patches/ruby/rvm-cflags.patch +27 -0
  105. data/config/patches/stunnel/stunnel-on-windows.patch +42 -0
  106. data/config/patches/zlib/zlib-windows-relocate.patch +20 -0
  107. data/config/software/autoconf.rb +46 -0
  108. data/config/software/automake.rb +49 -0
  109. data/config/software/bash.rb +72 -0
  110. data/config/software/berkshelf-no-depselector.rb +46 -0
  111. data/config/software/berkshelf.rb +34 -0
  112. data/config/software/binutils.rb +47 -0
  113. data/config/software/bundler.rb +38 -0
  114. data/config/software/bzip2.rb +55 -0
  115. data/config/software/cacerts.rb +50 -0
  116. data/config/software/chef-gem.rb +35 -0
  117. data/config/software/chef.rb +112 -0
  118. data/config/software/cmake.rb +94 -0
  119. data/config/software/config_guess.rb +37 -0
  120. data/config/software/cpanminus.rb +49 -0
  121. data/config/software/curl.rb +103 -0
  122. data/config/software/delivery-cli.rb +89 -0
  123. data/config/software/dep-selector-libgecode.rb +48 -0
  124. data/config/software/elasticsearch.rb +61 -0
  125. data/config/software/elixir.rb +35 -0
  126. data/config/software/erlang.rb +134 -0
  127. data/config/software/expat.rb +63 -0
  128. data/config/software/fakeroot.rb +41 -0
  129. data/config/software/ffi-yajl.rb +46 -0
  130. data/config/software/figlet-fonts.rb +31 -0
  131. data/config/software/figlet.rb +44 -0
  132. data/config/software/gcc.rb +60 -0
  133. data/config/software/gdbm.rb +54 -0
  134. data/config/software/gecode.rb +62 -0
  135. data/config/software/gem-permissions.rb +43 -0
  136. data/config/software/git-windows.rb +96 -0
  137. data/config/software/git.rb +138 -0
  138. data/config/software/gmp.rb +48 -0
  139. data/config/software/go-uninstall.rb +33 -0
  140. data/config/software/go.rb +116 -0
  141. data/config/software/google-protobuf.rb +45 -0
  142. data/config/software/gtar.rb +62 -0
  143. data/config/software/help2man.rb +40 -0
  144. data/config/software/highline-gem.rb +37 -0
  145. data/config/software/ibm-jre.rb +59 -0
  146. data/config/software/inspec.rb +43 -0
  147. data/config/software/jre-from-jdk.rb +67 -0
  148. data/config/software/keepalived.rb +68 -0
  149. data/config/software/libarchive.rb +71 -0
  150. data/config/software/libedit.rb +73 -0
  151. data/config/software/libffi.rb +68 -0
  152. data/config/software/libgcc.rb +52 -0
  153. data/config/software/libiconv.rb +55 -0
  154. data/config/software/libintl-perl.rb +56 -0
  155. data/config/software/liblzma.rb +59 -0
  156. data/config/software/libossp-uuid.rb +45 -0
  157. data/config/software/libsodium.rb +40 -0
  158. data/config/software/libtool.rb +56 -0
  159. data/config/software/libuuid.rb +45 -0
  160. data/config/software/libxml2.rb +63 -0
  161. data/config/software/libxslt.rb +64 -0
  162. data/config/software/libyajl2-gem.rb +44 -0
  163. data/config/software/libyaml.rb +50 -0
  164. data/config/software/libzmq.rb +93 -0
  165. data/config/software/logrotate.rb +61 -0
  166. data/config/software/lua.rb +46 -0
  167. data/config/software/m4.rb +40 -0
  168. data/config/software/make.rb +43 -0
  169. data/config/software/makedepend.rb +44 -0
  170. data/config/software/mpc.rb +44 -0
  171. data/config/software/mpfr.rb +45 -0
  172. data/config/software/musl.rb +107 -0
  173. data/config/software/mysql2.rb +50 -0
  174. data/config/software/ncurses.rb +159 -0
  175. data/config/software/nginx.rb +55 -0
  176. data/config/software/nodejs-binary.rb +90 -0
  177. data/config/software/nodejs.rb +58 -0
  178. data/config/software/nokogiri.rb +92 -0
  179. data/config/software/omnibus-ctl.rb +42 -0
  180. data/config/software/openresty.rb +94 -0
  181. data/config/software/opensearch.rb +54 -0
  182. data/config/software/openssl-customization.rb +81 -0
  183. data/config/software/openssl-fips.rb +81 -0
  184. data/config/software/openssl.rb +185 -0
  185. data/config/software/patch.rb +46 -0
  186. data/config/software/patchelf.rb +66 -0
  187. data/config/software/pcre.rb +53 -0
  188. data/config/software/perl-extutils-embed.rb +37 -0
  189. data/config/software/perl-extutils-makemaker.rb +46 -0
  190. data/config/software/perl-thread-queue.rb +40 -0
  191. data/config/software/perl.rb +78 -0
  192. data/config/software/perl_pg_driver.rb +45 -0
  193. data/config/software/pg-gem.rb +36 -0
  194. data/config/software/pkg-config-lite.rb +46 -0
  195. data/config/software/pkg-config.rb +66 -0
  196. data/config/software/popt.rb +54 -0
  197. data/config/software/postgresql.rb +70 -0
  198. data/config/software/preparation.rb +31 -0
  199. data/config/software/python.rb +79 -0
  200. data/config/software/rabbitmq.rb +58 -0
  201. data/config/software/rb-readline.rb +33 -0
  202. data/config/software/rbnacl-libsodium.rb +42 -0
  203. data/config/software/rbzmq.rb +44 -0
  204. data/config/software/rebar.rb +42 -0
  205. data/config/software/redis-gem.rb +36 -0
  206. data/config/software/redis.rb +51 -0
  207. data/config/software/relx.rb +39 -0
  208. data/config/software/rsync.rb +55 -0
  209. data/config/software/ruby-cleanup.rb +254 -0
  210. data/config/software/ruby-msys2-devkit.rb +77 -0
  211. data/config/software/ruby-windows-devkit-bash.rb +41 -0
  212. data/config/software/ruby-windows-devkit.rb +84 -0
  213. data/config/software/ruby.rb +306 -0
  214. data/config/software/rubygems.rb +73 -0
  215. data/config/software/runit.rb +67 -0
  216. data/config/software/rust-uninstall.rb +32 -0
  217. data/config/software/rust.rb +97 -0
  218. data/config/software/sequel-gem.rb +36 -0
  219. data/config/software/server-jre.rb +125 -0
  220. data/config/software/server-open-jre.rb +112 -0
  221. data/config/software/setuptools.rb +48 -0
  222. data/config/software/shebang-cleanup.rb +101 -0
  223. data/config/software/sqitch.rb +87 -0
  224. data/config/software/stunnel.rb +86 -0
  225. data/config/software/util-macros.rb +42 -0
  226. data/config/software/version-manifest.rb +33 -0
  227. data/config/software/xproto.rb +42 -0
  228. data/config/software/zlib.rb +85 -0
  229. data/config/templates/git/config.mak.erb +31 -0
  230. data/config/templates/rubygems/register_devtools.rb.erb +33 -0
  231. data/config/templates/runit/runsvdir-start.erb +42 -0
  232. data/docker-compose.yml +15 -0
  233. data/lib/omnibus-software/version.rb +3 -0
  234. data/lib/omnibus-software.rb +115 -0
  235. data/omnibus-software.gemspec +20 -0
  236. data/test/Gemfile +10 -0
  237. data/test/config/projects/test.rb +14 -0
  238. data/test/generate_steps.rb +55 -0
  239. data/test/omnibus-build.sh +50 -0
  240. data/test/omnibus.rb +55 -0
  241. metadata +296 -0
@@ -0,0 +1,43 @@
1
+ #
2
+ # Copyright 2012-2019 Chef Software, Inc.
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+ #
16
+
17
+ name "make"
18
+ default_version "4.3"
19
+
20
+ license "GPL-3.0"
21
+ license_file "COPYING"
22
+
23
+ # version_list: url=https://ftp.gnu.org/gnu/make/ filter=*.tar.gz
24
+
25
+ version("4.3") { source sha256: "e05fdde47c5f7ca45cb697e973894ff4f5d79e13b750ed57d7b66d8defc78e19" }
26
+
27
+ source url: "https://ftp.gnu.org/gnu/make/make-#{version}.tar.gz"
28
+
29
+ relative_path "make-#{version}"
30
+
31
+ build do
32
+ env = with_standard_compiler_flags(with_embedded_path)
33
+
34
+ command "./configure" \
35
+ " --disable-nls" \
36
+ " --prefix=#{install_dir}/embedded", env: env
37
+
38
+ make "-j #{workers}", env: env
39
+ make "install", env: env
40
+
41
+ # We are very prescriptive. We made make, we will make all the things use it!
42
+ link "#{install_dir}/embedded/bin/make", "#{install_dir}/embedded/bin/gmake"
43
+ end
@@ -0,0 +1,44 @@
1
+ #
2
+ # Copyright 2014 Chef, 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 "makedepend"
18
+ default_version "1.0.6"
19
+
20
+ license "MIT"
21
+ license_file "COPYING"
22
+ skip_transitive_dependency_licensing true
23
+
24
+ # version_list: url=https://www.x.org/releases/individual/util/ Filter=makedepend-*.tar.gz
25
+
26
+ version("1.0.6") { source sha256: "845f6708fc850bf53f5b1d0fb4352c4feab3949f140b26f71b22faba354c3365" }
27
+ version("1.0.5") { source sha256: "503903d41fb5badb73cb70d7b3740c8b30fe1cc68c504d3b6a85e6644c4e5004" }
28
+
29
+ source url: "https://www.x.org/releases/individual/util/makedepend-#{version}.tar.gz"
30
+
31
+ relative_path "makedepend-#{version}"
32
+
33
+ dependency "xproto"
34
+ dependency "util-macros"
35
+ dependency "pkg-config-lite"
36
+
37
+ build do
38
+ env = with_standard_compiler_flags(with_embedded_path)
39
+
40
+ command "./configure --prefix=#{install_dir}/embedded", env: env
41
+
42
+ make "-j #{workers}", env: env
43
+ make "-j #{workers} install", env: env
44
+ end
@@ -0,0 +1,44 @@
1
+ #
2
+ # Copyright 2014-2019 Chef Software, Inc.
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+ #
16
+
17
+ name "mpc"
18
+ default_version "1.2.1"
19
+
20
+ dependency "gmp"
21
+ dependency "mpfr"
22
+
23
+ license "LGPL-3.0-or-later"
24
+ license_file "COPYING.LESSER"
25
+
26
+ # version_list: url=https://ftp.gnu.org/gnu/mpc/ filter=*.tar.gz
27
+
28
+ version("1.2.1") { source sha256: "17503d2c395dfcf106b622dc142683c1199431d095367c6aacba6eec30340459" }
29
+ version("1.1.0") { source sha256: "6985c538143c1208dcb1ac42cedad6ff52e267b47e5f970183a3e75125b43c2e" }
30
+
31
+ source url: "https://ftp.gnu.org/gnu/mpc/mpc-#{version}.tar.gz"
32
+
33
+ relative_path "mpc-#{version}"
34
+
35
+ build do
36
+ env = with_standard_compiler_flags(with_embedded_path)
37
+
38
+ configure_command = ["./configure",
39
+ "--prefix=#{install_dir}/embedded"]
40
+
41
+ command configure_command.join(" "), env: env
42
+ make "-j #{workers}", env: env
43
+ make "-j #{workers} install", env: env
44
+ end
@@ -0,0 +1,45 @@
1
+ #
2
+ # Copyright 2014-2019 Chef Software, Inc.
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+ #
16
+
17
+ name "mpfr"
18
+ default_version "4.1.0"
19
+
20
+ dependency "gmp"
21
+
22
+ license "LGPL-3.0-or-later"
23
+ license_file "COPYING.LESSER"
24
+
25
+ # version_list: url=https://ftp.gnu.org/gnu/mpfr/ filter=*.tar.gz
26
+
27
+ version("4.1.0") { source sha256: "3127fe813218f3a1f0adf4e8899de23df33b4cf4b4b3831a5314f78e65ffa2d6" }
28
+ version("3.1.6") { source sha256: "569ceb418aa935317a79e93b87eeb3f956cab1a97dfb2f3b5fd8ac2501011d62" }
29
+ version("3.1.3") { source sha256: "b87feae279e6da95a0b45eabdb04f3a35422dab0d30113d58a7803c0d73a79dc" }
30
+ version("3.1.2") { source sha256: "176043ec07f55cd02e91ee3219db141d87807b322179388413a9523292d2ee85" }
31
+
32
+ source url: "https://ftp.gnu.org/gnu/mpfr/mpfr-#{version}.tar.gz"
33
+
34
+ relative_path "mpfr-#{version}"
35
+
36
+ build do
37
+ env = with_standard_compiler_flags(with_embedded_path)
38
+
39
+ configure_command = ["./configure",
40
+ "--prefix=#{install_dir}/embedded"]
41
+
42
+ command configure_command.join(" "), env: env
43
+ make "-j #{workers}", env: env
44
+ make "-j #{workers} install", env: env
45
+ end
@@ -0,0 +1,107 @@
1
+ # Copyright 2012-2018 Chef Software, Inc.
2
+ # Copyright 2018 Microsoft
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
+ # MUSL libc software definition README #
18
+ #######################################################################
19
+ #
20
+ # The musl (pronounced muscle) library is an alternative C library
21
+ # to glibc.
22
+ #
23
+ # One may incorporate the musl linker into their omnibus build
24
+ # definitions in order to build universal linux packages which will be
25
+ # linked against the embedded musl-libc. As opposed to linking against
26
+ # the system glibc that may vary from platform to platform.
27
+ #
28
+ # This is an easy way to create linux packages that have far greater
29
+ # portability across linux platforms than have been traditionally
30
+ # produced with omnibus. You may produce one binary artifact, with
31
+ # a singular build pipeline, that will run on all supported versions
32
+ # of Ubuntu and CentOS. As opposed to running a separate build
33
+ # pipeline for each platform and version which you intend to support.
34
+ #
35
+ # In order to use the musl linker in your project, simply override
36
+ # the `CC` environment variable in your project definition(s) so that
37
+ # the musl-gcc wrapper takes action to link all the C code in your
38
+ # project against the musl-libc libraries. The below snippet will
39
+ # need to be invoked before any dependencies in your project that
40
+ # compile C code. Note that the musl-gcc wrapper is dependent on
41
+ # having a system gcc in-place. This software definition is
42
+ # dependent on the gcc location being symlinked, or installed, at
43
+ # `/usr/bin/gcc`.
44
+ #
45
+ # Example project definition override:
46
+ #
47
+ # if linux?
48
+ # ENV['CC'] = "#{install_dir}/embedded/bin/musl-gcc"
49
+ # dependency 'musl'
50
+ # end
51
+ #
52
+ # How that works:
53
+ #
54
+ # 1. Set `CC` equal to the embedded musl-gcc wrapper in project
55
+ # definition. e.g. chef-workstation
56
+ #
57
+ # 2. The musl software definition overrides `CC=/usr/bin/gcc` and
58
+ # builds musl-libc and installs in $install_dir/embedded.
59
+ # e.g. /opt/chef/embedded/(lib|bin)
60
+ #
61
+ # 3. Software definition (e.g. ruby) picks up `CC` environment
62
+ # variable from project definition and uses the embedded musl-gcc
63
+ # wrapper to link the code against the embedded musl libraries.
64
+ #
65
+ #####################################################################
66
+ #
67
+ # expeditor/ignore: deprecated 2021-04
68
+
69
+ name "musl"
70
+ default_version "1.2.2"
71
+
72
+ license "MIT"
73
+ license_file "COPYRIGHT"
74
+
75
+ # versions_list: https://www.musl-libc.org/releases/ filter=*.tar.gz
76
+ version("1.2.2") { source sha256: "9b969322012d796dc23dda27a35866034fa67d8fb67e0e2c45c913c3d43219dd" }
77
+ version("1.2.1") { source sha256: "68af6e18539f646f9c41a3a2bb25be4a5cfa5a8f65f0bb647fd2bbfdf877e84b" }
78
+ version("1.1.22") { source sha256: "8b0941a48d2f980fd7036cfbd24aa1d414f03d9a0652ecbd5ec5c7ff1bee29e3" }
79
+ version("1.1.20") { source sha256: "44be8771d0e6c6b5f82dd15662eb2957c9a3173a19a8b49966ac0542bbd40d61" }
80
+ version("1.1.19") { source sha256: "db59a8578226b98373f5b27e61f0dd29ad2456f4aa9cec587ba8c24508e4c1d9" }
81
+
82
+ source url: "https://www.musl-libc.org/releases/musl-#{version}.tar.gz"
83
+
84
+ relative_path "musl-#{version}"
85
+
86
+ build do
87
+ # The musl definition must be compiled with a system gcc.
88
+ # This isn't a self-hosting build definition wherein
89
+ # musl compiles itself.
90
+ env = with_standard_compiler_flags(with_embedded_path)
91
+ env["CC"] = "/usr/bin/gcc"
92
+
93
+ command "./configure" \
94
+ " --prefix=#{install_dir}/embedded" \
95
+ " --syslibdir=#{install_dir}/embedded/lib", env: env
96
+
97
+ make env: env
98
+ make "install", env: env
99
+
100
+ # Ruby compilation requires the linux kernel headers to be in the
101
+ # same location as the Libc headers. For this to work correctly
102
+ # will need to have a kernel-dev(el) package installed on your
103
+ # omnibus builder.
104
+ %w{asm asm-generic linux}.each do |d|
105
+ copy "/usr/include/#{d}", "#{install_dir}/embedded/include"
106
+ end
107
+ end
@@ -0,0 +1,50 @@
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
+ #
18
+ # Enable MySQL support by adding the following to '/etc/chef-server/chef-server.rb':
19
+ #
20
+ # database_type = 'mysql'
21
+ # postgresql['enable'] = false
22
+ # mysql['enable'] = true
23
+ # mysql['destructive_migrate'] = true
24
+ #
25
+ # Then run 'chef-server-ctl reconfigure'
26
+ #
27
+
28
+ versions_to_install = ["0.3.6", "0.3.7"]
29
+
30
+ name "mysql2"
31
+ default_version versions_to_install.join("-")
32
+
33
+ dependency "ruby"
34
+
35
+ build do
36
+ env = with_standard_compiler_flags(with_embedded_path)
37
+
38
+ cache_path = "#{install_dir}/embedded/service/gem/ruby/1.9.1/cache"
39
+
40
+ gem "install rake-compiler" \
41
+ " --version '0.8.3'" \
42
+ " --no-document", env: env
43
+
44
+ mkdir cache_path
45
+
46
+ versions_to_install.each do |version|
47
+ gem "fetch mysql2" \
48
+ " --version '#{version}'", env: env, cwd: cache_path
49
+ end
50
+ end
@@ -0,0 +1,159 @@
1
+ #
2
+ # Copyright 2012-2019, Chef Software Inc.
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+ #
16
+
17
+ name "ncurses"
18
+ default_version "6.3"
19
+
20
+ license "MIT"
21
+ license_file "http://invisible-island.net/ncurses/ncurses-license.html"
22
+ license_file "http://invisible-island.net/ncurses/ncurses.faq.html"
23
+ skip_transitive_dependency_licensing true
24
+
25
+ dependency "config_guess"
26
+
27
+ # versions_list: https://ftp.gnu.org/gnu/ncurses/ filter=*.tar.gz
28
+ version("6.3") { source sha256: "97fc51ac2b085d4cde31ef4d2c3122c21abc217e9090a43a30fc5ec21684e059" }
29
+ version("6.2") { source sha256: "30306e0c76e0f9f1f0de987cf1c82a5c21e1ce6568b9227f7da5b71cbea86c9d" }
30
+ version("6.1") { source sha256: "aa057eeeb4a14d470101eff4597d5833dcef5965331be3528c08d99cebaa0d17" }
31
+ version("5.9") { source sha256: "9046298fb440324c9d4135ecea7879ffed8546dd1b58e59430ea07a4633f563b" }
32
+
33
+ source url: "https://ftp.gnu.org/gnu/ncurses/ncurses-#{version}.tar.gz"
34
+
35
+ relative_path "ncurses-#{version}"
36
+
37
+ ########################################################################
38
+ #
39
+ # wide-character support:
40
+ # Ruby 1.9 optimistically builds against libncursesw for UTF-8
41
+ # support. In order to prevent Ruby from linking against a
42
+ # package-installed version of ncursesw, we build wide-character
43
+ # support into ncurses with the "--enable-widec" configure parameter.
44
+ # To support other applications and libraries that still try to link
45
+ # against libncurses, we also have to create non-wide libraries.
46
+ #
47
+ # The methods below are adapted from:
48
+ # http://www.linuxfromscratch.org/lfs/view/development/chapter06/ncurses.html
49
+ #
50
+ ########################################################################
51
+
52
+ build do
53
+ env = with_standard_compiler_flags(with_embedded_path)
54
+ env.delete("CPPFLAGS")
55
+
56
+ if smartos?
57
+ # SmartOS is Illumos Kernel, plus NetBSD userland with a GNU toolchain.
58
+ # These patches are taken from NetBSD pkgsrc and provide GCC 4.7.0
59
+ # compatibility:
60
+ # http://ftp.netbsd.org/pub/pkgsrc/current/pkgsrc/devel/ncurses/patches/
61
+ patch source: "patch-aa", plevel: 0, env: env
62
+ patch source: "patch-ab", plevel: 0, env: env
63
+ patch source: "patch-ac", plevel: 0, env: env
64
+ patch source: "patch-ad", plevel: 0, env: env
65
+ patch source: "patch-cxx_cursesf.h", plevel: 0, env: env
66
+ patch source: "patch-cxx_cursesm.h", plevel: 0, env: env
67
+
68
+ # Chef patches - <sean@sean.io>
69
+ # The configure script from the pristine tarball detects xopen_source_extended incorrectly.
70
+ # Manually working around a false positive.
71
+ patch source: "ncurses-5.9-solaris-xopen_source_extended-detection.patch", plevel: 0, env: env
72
+ end
73
+
74
+ update_config_guess
75
+
76
+ # AIX's old version of patch doesn't like the patches here
77
+ unless aix?
78
+ if version == "5.9"
79
+ # Patch to add support for GCC 5, doesn't break previous versions
80
+ patch source: "ncurses-5.9-gcc-5.patch", plevel: 1, env: env
81
+ end
82
+ end
83
+
84
+ if mac_os_x? ||
85
+ # Clang became the default compiler in FreeBSD 10+
86
+ (freebsd? && ohai["os_version"].to_i >= 1000024)
87
+ # References:
88
+ # https://github.com/Homebrew/homebrew-dupes/issues/43
89
+ # http://invisible-island.net/ncurses/NEWS.html#t20110409
90
+ #
91
+ # Patches ncurses for clang compiler. Changes have been accepted into
92
+ # upstream, but occurred shortly after the 5.9 release. We should be able
93
+ # to remove this after upgrading to any release created after June 2012
94
+ patch source: "ncurses-clang.patch", env: env
95
+ end
96
+
97
+ if openbsd?
98
+ patch source: "patch-ncurses_tinfo_lib__baudrate.c", plevel: 0, env: env
99
+ end
100
+
101
+ configure_command = [
102
+ "./configure",
103
+ "--prefix=#{install_dir}/embedded",
104
+ "--enable-overwrite",
105
+ "--with-shared",
106
+ "--with-termlib",
107
+ "--without-ada",
108
+ "--without-cxx-binding",
109
+ "--without-debug",
110
+ "--without-manpages",
111
+ ]
112
+
113
+ if aix?
114
+ # AIX kinda needs 5.9-20140621 or later
115
+ # because of a naming snafu in shared library naming.
116
+ # see http://invisible-island.net/ncurses/NEWS.html#t20140621
117
+
118
+ # let libtool deal with library silliness
119
+ configure_command << "--with-libtool=\"#{install_dir}/embedded/bin/libtool\""
120
+
121
+ # stick with just the shared libs on AIX
122
+ configure_command << "--without-normal"
123
+
124
+ # ncurses's ./configure incorrectly
125
+ # "figures out" ARFLAGS if you try
126
+ # to set them yourself
127
+ env.delete("ARFLAGS")
128
+
129
+ # use gnu install from the coreutils IBM rpm package
130
+ env["INSTALL"] = "/opt/freeware/bin/install"
131
+ end
132
+
133
+ command configure_command.join(" "), env: env
134
+
135
+ # unfortunately, libtool may try to link to libtinfo
136
+ # before it has been assembled; so we have to build in serial
137
+ make "libs", env: env if aix?
138
+
139
+ make "-j #{workers}", env: env
140
+ make "-j #{workers} install", env: env
141
+
142
+ # Build non-wide-character libraries
143
+ make "distclean", env: env
144
+ configure_command << "--enable-widec"
145
+
146
+ command configure_command.join(" "), env: env
147
+ make "libs", env: env if aix?
148
+ make "-j #{workers}", env: env
149
+
150
+ # Installing the non-wide libraries will also install the non-wide
151
+ # binaries, which doesn't happen to be a problem since we don't
152
+ # utilize the ncurses binaries in private-chef (or oss chef)
153
+ make "-j #{workers} install", env: env
154
+
155
+ # Ensure embedded ncurses wins in the LD search path
156
+ if smartos?
157
+ link "#{install_dir}/embedded/lib/libcurses.so", "#{install_dir}/embedded/lib/libcurses.so.1"
158
+ end
159
+ end
@@ -0,0 +1,55 @@
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 2022 03
17
+
18
+ name "nginx"
19
+ default_version "1.21.4"
20
+
21
+ dependency "pcre"
22
+ dependency "openssl"
23
+ dependency "zlib"
24
+
25
+ license "BSD-2-Clause"
26
+ license_file "LICENSE"
27
+
28
+ source url: "https://nginx.org/download/nginx-#{version}.tar.gz"
29
+
30
+ # versions_list: https://nginx.org/download/ filter=*.tar.gz
31
+ version("1.21.4") { source sha256: "d1f72f474e71bcaaf465dcc7e6f7b6a4705e4b1ed95c581af31df697551f3bfe" }
32
+ version("1.20.1") { source sha256: "e462e11533d5c30baa05df7652160ff5979591d291736cfa5edb9fd2edb48c49" }
33
+ version("1.19.9") { source sha256: "2e35dff06a9826e8aca940e9e8be46b7e4b12c19a48d55bfc2dc28fc9cc7d841" }
34
+ version("1.19.8") { source sha256: "308919b1a1359315a8066578472f998f14cb32af8de605a3743acca834348b05" }
35
+
36
+ relative_path "nginx-#{version}"
37
+
38
+ build do
39
+ env = with_standard_compiler_flags(with_embedded_path)
40
+
41
+ command "./configure" \
42
+ " --prefix=#{install_dir}/embedded" \
43
+ " --with-http_ssl_module" \
44
+ " --with-http_stub_status_module" \
45
+ " --with-ipv6" \
46
+ " --with-debug" \
47
+ " --with-cc-opt=\"-L#{install_dir}/embedded/lib -I#{install_dir}/embedded/include\"" \
48
+ " --with-ld-opt=-L#{install_dir}/embedded/lib", env: env
49
+
50
+ make "-j #{workers}", env: env
51
+ make "install", env: env
52
+
53
+ # Ensure the logs directory is available on rebuild from git cache
54
+ touch "#{install_dir}/embedded/logs/.gitkeep"
55
+ end
@@ -0,0 +1,90 @@
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
+
17
+ #
18
+ # nodejs-binary provides nodejs using the binary packages provided by
19
+ # the upstream. It does not install it into any of our standard
20
+ # paths, so builds that require nodejs need to add embedded/nodejs/bin
21
+ # to their path.
22
+ #
23
+ # Since nodejs is often a build-time-only dependency, it can then be
24
+ # easily removed with remove-nodejs.
25
+ #
26
+ name "nodejs-binary"
27
+ default_version "6.7.0"
28
+
29
+ license "MIT"
30
+ license_file "LICENSE"
31
+ skip_transitive_dependency_licensing true
32
+
33
+ version "6.7.0" do
34
+ source_hash = if ppc64le?
35
+ "de8e4ca71caa8be6eaf80e65b89de2a6d152fa4ce08efcbc90ce7e1bfdf130e7"
36
+ elsif ppc64?
37
+ "e8ce540b592d337304a10f4eb19bb4efee889c6676c5f188d072bfb2a8089927"
38
+ elsif s390x?
39
+ "e0f2616b4beb4c2505edb19e3cbedbf3d1c958441517cc9a1e918f6feaa4b95b"
40
+ else
41
+ "abe81b4150917cdbbeebc6c6b85003b80c972d32c8f5dfd2970d32e52a6877af"
42
+ end
43
+ source sha256: source_hash
44
+ end
45
+
46
+ # These are the last versions of their series that provide both ppc64 and ppc64le versions
47
+ version "8.9.1" do
48
+ source_hash = if ppc64le?
49
+ "d3e11a9ef301afdecb10ed26470492fd03402b86bf9efc3f89a9aef541bf9a2c"
50
+ elsif ppc64?
51
+ "7ab8c4bf36364624b6bc7610319f1e2c32a7c882aa6392ce285faaee39597dce"
52
+ elsif s390x?
53
+ "48160ddaa7397cf85ca0cf333cc87dc3485956c75a3cdf98f04735bb81b37da6"
54
+ else # x64
55
+ "0e49da19cdf4c89b52656e858346775af21f1953c308efbc803b665d6069c15c"
56
+ end
57
+ source sha256: source_hash
58
+ end
59
+
60
+ # These are the last versions of their series that provide both ppc64 and ppc64le versions
61
+ version "9.2.0" do
62
+ source_hash = if ppc64le?
63
+ "9a173db0c0b88dcddf08542736c597c87bf86d536df8fa65a4fdff75e7bb4243"
64
+ elsif ppc64?
65
+ "34b3d6d7e6036e38aacab6754f55711ac9582a3d963a06f5f75e07e2d986d2a2"
66
+ elsif s390x?
67
+ "c5f6315da901bbb54ffa0b23b58cd0b46f0ebfbe2a4f1847ec1d330602000bfd"
68
+ else # x64
69
+ "36ef2b3d1a99555390835d6fd4ad194a769df6841cbcc46cba0dffbaf6e6aa34"
70
+ end
71
+ source sha256: source_hash
72
+ end
73
+
74
+ arch_ext = if ppc64le?
75
+ "ppc64le"
76
+ elsif ppc64?
77
+ "ppc64"
78
+ elsif s390x?
79
+ "s390x"
80
+ else
81
+ "x64"
82
+ end
83
+
84
+ source url: "https://nodejs.org/dist/v#{version}/node-v#{version}-linux-#{arch_ext}.tar.gz"
85
+ relative_path "node-v#{version}-linux-#{arch_ext}"
86
+
87
+ build do
88
+ mkdir "#{install_dir}/embedded/nodejs"
89
+ sync "#{project_dir}/", "#{install_dir}/embedded/nodejs"
90
+ end