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,16 @@
1
+ diff --git a/load.c b/load.c
2
+ index 576464fb68..ae89f63820 100644
3
+ --- a/load.c
4
+ +++ b/load.c
5
+ @@ -908,6 +908,11 @@ search_required(VALUE fname, volatile VALUE *path, int safe_level, feature_func
6
+ if (loading) *path = rb_filesystem_str_new_cstr(loading);
7
+ return 'r';
8
+ }
9
+ + else if ((ft = rb_feature_p(ftptr, 0, FALSE, FALSE, &loading)) == 's') {
10
+ + if (loading) *path = rb_filesystem_str_new_cstr(loading);
11
+ + return 's';
12
+ + }
13
+ +
14
+ tmp = fname;
15
+ type = rb_find_file_ext_safe(&tmp, loadable_ext, safe_level);
16
+ switch (type) {
@@ -0,0 +1,16 @@
1
+ diff --git a/load.c b/load.c
2
+ index a2b9da4..05ea96e 100644
3
+ --- a/load.c
4
+ +++ b/load.c
5
+ @@ -981,6 +981,11 @@ search_required(rb_vm_t *vm, VALUE fname, volatile VALUE *path, feature_func rb_
6
+ if (loading) *path = rb_filesystem_str_new_cstr(loading);
7
+ return 'r';
8
+ }
9
+ + else if ((ft = rb_feature_p(vm, ftptr, 0, FALSE, FALSE, &loading)) == 's') {
10
+ + if (loading) *path = rb_filesystem_str_new_cstr(loading);
11
+ + return 's';
12
+ + }
13
+ +
14
+ tmp = fname;
15
+ type = rb_find_file_ext(&tmp, ft == 's' ? ruby_ext : loadable_ext);
16
+ switch (type) {
@@ -0,0 +1,11 @@
1
+ --- a/load.c
2
+ +++ b/load.c
3
+ @@ -605,7 +605,7 @@ rb_load_internal0(rb_execution_context_t *ec, VALUE fname, int wrap)
4
+ rb_parser_set_context(parser, NULL, FALSE);
5
+ ast = (rb_ast_t *)rb_parser_load_file(parser, fname);
6
+ iseq = rb_iseq_new_top(&ast->body, rb_fstring_lit("<top (required)>"),
7
+ - fname, rb_realpath_internal(Qnil, fname, 1), NULL);
8
+ + fname, fname, NULL);
9
+ rb_ast_dispose(ast);
10
+ }
11
+ rb_exec_event_hook_script_compiled(ec, iseq, Qnil);
@@ -0,0 +1,11 @@
1
+ --- ruby-2.7.0/load.c.orig 2020-02-26 12:19:04.963826602 -0800
2
+ +++ ruby-2.7.0/load.c 2020-02-26 12:28:55.865876051 -0800
3
+ @@ -578,7 +578,7 @@
4
+ rb_parser_set_context(parser, NULL, FALSE);
5
+ ast = (rb_ast_t *)rb_parser_load_file(parser, fname);
6
+ iseq = rb_iseq_new_top(&ast->body, rb_fstring_lit("<top (required)>"),
7
+ - fname, rb_realpath_internal(Qnil, fname, 1), NULL);
8
+ + fname, fname, NULL);
9
+ rb_ast_dispose(ast);
10
+ }
11
+ rb_exec_event_hook_script_compiled(ec, iseq, Qnil);
@@ -0,0 +1,29 @@
1
+ --- a/lib/mkmf.rb 2016-06-16 16:19:13.000000000 -0400
2
+ +++ b/lib/mkmf.rb 2016-06-16 16:23:08.000000000 -0400
3
+ @@ -365,6 +365,17 @@
4
+ end
5
+
6
+ def libpath_env
7
+ + # Patch for aix
8
+ + # Ideally applications should not need LIBPATH/LD_LIBRARY_PATH set
9
+ + # and should rely on the embedded paths in binaries/shared objects
10
+ + # For chef say on AIX we already build using -blibpath and
11
+ + # LD_RUN_PATH, so the extensions built using chef embedded ruby
12
+ + # (using rbconfig) should have correct paths set.
13
+ + # Setting LIBPATH overrides the behaviour of programs invoked from
14
+ + # chef built ruby, for example xlc ends up picking up libiconv built
15
+ + # within chef embedded ruby libs instead of the one from /usr/lib
16
+ + return {}
17
+ +
18
+ # used only if native compiling
19
+ if libpathenv = config_string("LIBPATHENV")
20
+ pathenv = ENV[libpathenv]
21
+ @@ -1799,7 +1810,7 @@
22
+ #
23
+ if !CROSS_COMPILING
24
+ case CONFIG['build_os']
25
+ - when 'mingw32'
26
+ + when 'mingw32', 'mingw64'
27
+ def mkintpath(path)
28
+ # mingw uses make from msys and it needs special care
29
+ # converts from C:\some\path to /C/some/path
@@ -0,0 +1,11 @@
1
+ --- ruby-2.6.5/configure.old 2019-12-06 13:03:20.962288441 -0800
2
+ +++ ruby-2.6.5/configure 2019-12-06 13:03:32.242919275 -0800
3
+ @@ -8409,7 +8409,7 @@
4
+ esac
5
+ if test -z "${stack_protector+set}"; then :
6
+
7
+ - for opt in -fstack-protector-strong -fstack-protector
8
+ + for opt in -fstack-protector
9
+ do :
10
+
11
+
@@ -0,0 +1,13 @@
1
+ diff --git a/configure.dist b/configure
2
+ index d83c15a..bd4813c 100755
3
+ --- a/configure.dist
4
+ +++ b/configure
5
+ @@ -7491,7 +7491,7 @@ main ()
6
+ }
7
+ _ACEOF
8
+ if ac_fn_c_try_compile "$LINENO"; then :
9
+ - stack_protector=yes
10
+ + stack_protector=no
11
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
12
+ $as_echo "yes" >&6; }
13
+ else
@@ -0,0 +1,12 @@
1
+ --- a/ext/win32/lib/Win32API.rb
2
+ +++ b/ext/win32/lib/Win32API.rb
3
+ @@ -1,9 +1,6 @@
4
+ # -*- ruby -*-
5
+ # frozen_string_literal: true
6
+
7
+ -# for backward compatibility
8
+ -warn "Win32API is deprecated after Ruby 1.9.1; use fiddle directly instead", uplevel: 2
9
+ -
10
+ require 'fiddle/import'
11
+
12
+ class Win32API
@@ -0,0 +1,10 @@
1
+ --- ruby-1.9.3-p547/ext/openssl/extconf.rb.orig 2014-07-15 17:50:30 -0500
2
+ +++ ruby-1.9.3-p547/ext/openssl/extconf.rb 2014-07-15 17:50:39 -0500
3
+ @@ -34,6 +34,7 @@
4
+ end
5
+
6
+ Logging::message "=== Checking for system dependent stuff... ===\n"
7
+ +have_library("z", "inflate")
8
+ have_library("nsl", "t_open")
9
+ have_library("socket", "socket")
10
+ have_header("assert.h")
@@ -0,0 +1,19 @@
1
+ --- ruby-2.1.3/ext/openssl/lib/openssl/ssl.rb_orig 2014-10-24 13:09:44.000000000 -0500
2
+ +++ ruby-2.1.3/ext/openssl/lib/openssl/ssl.rb 2014-10-24 13:11:01.000000000 -0500
3
+ @@ -194,7 +194,15 @@
4
+ begin
5
+ ssl = OpenSSL::SSL::SSLSocket.new(sock, @ctx)
6
+ ssl.sync_close = true
7
+ - ssl.accept if @start_immediately
8
+ + if @start_immediately
9
+ + # Retry on EAGAIN (may be due to underlying inprogress for TLS handshake or renegotiation requested.)
10
+ + # Any other error is rescued further.
11
+ + begin
12
+ + ssl.accept
13
+ + rescue Errno::EAGAIN
14
+ + retry
15
+ + end
16
+ + end
17
+ ssl
18
+ rescue SSLError => ex
19
+ sock.close
@@ -0,0 +1,27 @@
1
+ --- a/configure.in
2
+ +++ b/configure.in
3
+ @@ -267,11 +267,9 @@
4
+ cflagspat="$cflagspat;s|"`eval echo '"'"${debugflags}"'"' | sed 's/[[][|.*]]/\\&/g;s/^ */ /;s/ *$/ /'`'| |g'
5
+ test -z "warnflags" ||
6
+ cflagspat="$cflagspat;s|"`eval echo '"'"${warnflags}"'"' | sed 's/[[][|.*]]/\\&/g;s/^ */ /;s/ *$/ /'`'| |g'
7
+ -if test -z "${CFLAGS+set}"; then
8
+ - cflags=`echo " $cflags " | sed "$cflagspat;s/^ *//;s/ *$//"`
9
+ - orig_cflags="$cflags"
10
+ - cflags="$cflags "'${optflags} ${debugflags} ${warnflags}'
11
+ -fi
12
+ +cflags=`echo " $cflags " | sed "$cflagspat;s/^ *//;s/ *$//"`
13
+ +orig_cflags="$cflags"
14
+ +cflags="$cflags "'${optflags} ${debugflags} ${warnflags}'
15
+ if test -z "${CXXFLAGS+set}"; then
16
+ cxxflags=`echo " $cxxflags " | sed "$cflagspat;s/^ *//;s/ *$//"`
17
+ orig_cxxflags="$cxxflags"
18
+ @@ -511,7 +509,8 @@
19
+ ])
20
+ fi
21
+
22
+ -test -z "${ac_env_CFLAGS_set}" -a -n "${cflags+set}" && eval CFLAGS="\"$cflags $ARCH_FLAG\""
23
+ +test -z "${ac_env_CFLAGS_set}" && CFLAGS="$ARCH_FLAG"
24
+ +test -n "${cflags:+set}" && eval CFLAGS="\"$cflags\${CFLAGS:+ $CFLAGS}\""
25
+ test -z "${ac_env_CXXFLAGS_set}" -a -n "${cxxflags+set}" && eval CXXFLAGS="\"$cxxflags $ARCH_FLAG\""
26
+
27
+ dnl check for large file stuff
@@ -0,0 +1,42 @@
1
+ diff --git a/src/mingw.mk b/src/mingw.mk
2
+ index 244602f..055c425 100644
3
+ --- a/src/mingw.mk
4
+ +++ b/src/mingw.mk
5
+ @@ -12,7 +12,7 @@
6
+ bindir = ../bin/$(win32_mingw)
7
+ objdir = ../obj/$(win32_mingw)
8
+
9
+ -win32_ssl_dir = /opt/openssl-$(win32_mingw)
10
+ +win32_ssl_dir = $(WIN32_SSL_DIR_PATCHED)
11
+ win32_cppflags = -I$(win32_ssl_dir)/include
12
+ win32_cflags = -mthreads -fstack-protector -O2
13
+ win32_cflags += -Wall -Wextra -Wpedantic -Wformat=2 -Wconversion -Wno-long-long
14
+ @@ -34,7 +34,8 @@ win32_cli_objs = $(addsuffix .o, $(addprefix $(objdir)/, $(win32_cli)))
15
+
16
+ win32_prefix = $(win32_targetcpu)-w64-mingw32-
17
+ win32_cc = $(win32_prefix)gcc
18
+ -win32_windres = $(win32_prefix)windres
19
+ +# Our build system only has windres.exe, no prefix
20
+ +win32_windres = windres
21
+
22
+ all: mkdirs $(bindir)/stunnel.exe $(bindir)/tstunnel.exe
23
+
24
+ diff --git a/src/stunnel.c b/src/stunnel.c
25
+ index 00637b0..5a6a0a1 100644
26
+ --- a/src/stunnel.c
27
+ +++ b/src/stunnel.c
28
+ @@ -46,7 +46,13 @@
29
+ #pragma GCC diagnostic ignored "-pedantic"
30
+ #endif /* __GNUC__ */
31
+
32
+ -#include <openssl/applink.c>
33
+ +/*
34
+ + * Maybe we could remove
35
+ + * omnibus-software/config/patches/openssl-fips/openssl-fips-fix-compiler-flags-table-for-msys.patch
36
+ + * and leave this include here? Building applink into openssl broke some version
37
+ + * of Ruby
38
+ + */
39
+ +/* #include <openssl/applink.c> */
40
+
41
+ #ifdef __GNUC__
42
+ #pragma GCC diagnostic pop
@@ -0,0 +1,20 @@
1
+ --- zlib-1.2.8/win32/Makefile.gcc.orig 2016-02-11 13:46:54.000000000 -0500
2
+ +++ zlib-1.2.8/win32/Makefile.gcc 2016-02-11 13:53:08.000000000 -0500
3
+ @@ -57,6 +57,8 @@
4
+ RC = $(PREFIX)windres
5
+ RCFLAGS = --define GCC_WINDRES
6
+
7
+ +IMAGE_BASE = 0x63300000
8
+ +
9
+ STRIP = $(PREFIX)strip
10
+
11
+ CP = cp -fp
12
+ @@ -93,7 +95,7 @@
13
+ $(IMPLIB): $(SHAREDLIB)
14
+
15
+ $(SHAREDLIB): win32/zlib.def $(OBJS) $(OBJA) zlibrc.o
16
+ - $(CC) -shared -Wl,--out-implib,$(IMPLIB) $(LDFLAGS) \
17
+ + $(CC) -shared -Wl,--out-implib,$(IMPLIB),--image-base,$(IMAGE_BASE) $(LDFLAGS) \
18
+ -o $@ win32/zlib.def $(OBJS) $(OBJA) zlibrc.o
19
+ $(STRIP) $@
20
+
@@ -0,0 +1,46 @@
1
+ #
2
+ # Copyright:: Chef Software, Inc.
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+ #
16
+ # expeditor/ignore: deprecated 2021-04
17
+
18
+ name "autoconf"
19
+ default_version "2.69"
20
+
21
+ license "GPL-3.0"
22
+ license_file "COPYING"
23
+ license_file "COPYING.EXCEPTION"
24
+ skip_transitive_dependency_licensing true
25
+
26
+ dependency "m4"
27
+
28
+ version("2.69") { source sha256: "954bd69b391edc12d6a4a51a2dd1476543da5c6bbf05a95b59dc0dd6fd4c2969" }
29
+
30
+ source url: "https://ftp.gnu.org/gnu/autoconf/autoconf-#{version}.tar.gz"
31
+
32
+ relative_path "autoconf-#{version}"
33
+
34
+ build do
35
+ env = with_standard_compiler_flags(with_embedded_path)
36
+
37
+ if solaris2?
38
+ env["M4"] = "#{install_dir}/embedded/bin/m4"
39
+ end
40
+
41
+ command "./configure" \
42
+ " --prefix=#{install_dir}/embedded", env: env
43
+
44
+ make "-j #{workers}", env: env
45
+ make "install", env: env
46
+ end
@@ -0,0 +1,49 @@
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 "automake"
19
+ default_version "1.16"
20
+
21
+ dependency "autoconf"
22
+ dependency "perl-thread-queue"
23
+
24
+ license "GPL-2.0"
25
+ license_file "COPYING"
26
+ skip_transitive_dependency_licensing true
27
+
28
+ version("1.16") { source sha256: "80da43bb5665596ee389e6d8b64b4f122ea4b92a685b1dbd813cd1f0e0c2d83f" }
29
+ version("1.15") { source sha256: "7946e945a96e28152ba5a6beb0625ca715c6e32ac55f2e353ef54def0c8ed924" }
30
+ version("1.11.2") { source sha256: "c339e3871d6595620760725da61de02cf1c293af8a05b14592d6587ac39ce546" }
31
+
32
+ source url: "https://ftp.gnu.org/gnu/automake/automake-#{version}.tar.gz"
33
+
34
+ relative_path "automake-#{version}"
35
+
36
+ build do
37
+ env = with_standard_compiler_flags(with_embedded_path)
38
+
39
+ if version == "1.15"
40
+ command "./bootstrap.sh", env: env
41
+ else
42
+ command "./bootstrap", env: env
43
+ end
44
+ command "./configure" \
45
+ " --prefix=#{install_dir}/embedded", env: env
46
+
47
+ make "-j #{workers}", env: env
48
+ make "install", env: env
49
+ end
@@ -0,0 +1,72 @@
1
+ #
2
+ # Copyright 2015 Chef Software, Inc.
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+ #
16
+
17
+ name "bash"
18
+ default_version "5.1.16"
19
+
20
+ dependency "libiconv"
21
+ dependency "ncurses"
22
+
23
+ # version_list: url=https://ftp.gnu.org/gnu/bash/ filter=*.tar.gz
24
+
25
+ version("5.0") { source sha256: "b4a80f2ac66170b2913efbfb9f2594f1f76c7b1afd11f799e22035d63077fb4d" }
26
+ version("5.1") { source sha256: "cc012bc860406dcf42f64431bcd3d2fa7560c02915a601aba9cd597a39329baa" }
27
+ version("5.1.8") { source sha256: "0cfb5c9bb1a29f800a97bd242d19511c997a1013815b805e0fdd32214113d6be" }
28
+ version("5.1.16") { source sha256: "5bac17218d3911834520dad13cd1f85ab944e1c09ae1aba55906be1f8192f558" }
29
+
30
+ license "GPL-3.0"
31
+ license_file "COPYING"
32
+
33
+ source url: "https://ftp.gnu.org/gnu/bash/bash-#{version}.tar.gz"
34
+
35
+ # bash builds bash as libraries into a special directory. We need to include
36
+ # that directory in lib_dirs so omnibus can sign them during macOS deep signing.
37
+ lib_dirs lib_dirs.concat ["#{install_dir}/embedded/lib/bash"]
38
+
39
+ relative_path "bash-#{version}"
40
+
41
+ build do
42
+ env = with_standard_compiler_flags(with_embedded_path)
43
+
44
+ # FreeBSD can build bash with this patch but it doesn't work properly
45
+ # Things like command substitution will throw syntax errors even though the syntax is correct
46
+ unless freebsd?
47
+ # Fix bash race condition
48
+ # https://lists.gnu.org/archive/html/bug-bash/2020-12/msg00051.html
49
+ patch source: "race-condition.patch", plevel: 1, env: env
50
+ end
51
+
52
+ configure_command = ["./configure",
53
+ "--prefix=#{install_dir}/embedded"]
54
+
55
+ if freebsd?
56
+ # On freebsd, you have to force static linking, otherwise the executable
57
+ # will link against the system ncurses instead of ours.
58
+ configure_command << "--enable-static-link"
59
+
60
+ # FreeBSD 12 system files come with mktime but for some reason running "configure"
61
+ # doesn't detect this which results in a build failure. Setting this environment variable
62
+ # corrects that.
63
+ env["ac_cv_func_working_mktime"] = "yes"
64
+ end
65
+
66
+ command configure_command.join(" "), env: env
67
+ make "-j #{workers}", env: env
68
+ make "-j #{workers} install", env: env
69
+
70
+ # We do not install bashbug in macos as it fails Notarization
71
+ delete "#{install_dir}/embedded/bin/bashbug"
72
+ end
@@ -0,0 +1,46 @@
1
+ #
2
+ # Copyright 2016 Chef Software, Inc.
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+ #
16
+ # expeditor/ignore: deprecated 2021-04
17
+
18
+ name "berkshelf-no-depselector"
19
+ default_version "main"
20
+
21
+ license "Apache-2.0"
22
+ license_file "LICENSE"
23
+
24
+ source git: "https://github.com/berkshelf/berkshelf.git"
25
+
26
+ relative_path "berkshelf"
27
+
28
+ dependency "ruby"
29
+
30
+ unless windows? && (project.overrides[:ruby].nil? || project.overrides[:ruby][:version] == "ruby-windows")
31
+ dependency "libarchive"
32
+ end
33
+
34
+ dependency "nokogiri"
35
+
36
+ build do
37
+ env = with_standard_compiler_flags(with_embedded_path)
38
+
39
+ bundle "config set --local without guard changelog development test", env: env
40
+ bundle "install --jobs #{workers}", env: env
41
+
42
+ bundle "exec thor gem:build", env: env
43
+
44
+ gem "install pkg/berkshelf-*.gem" \
45
+ " --no-document", env: env
46
+ end
@@ -0,0 +1,34 @@
1
+ #
2
+ # Copyright 2014-2018 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 "berkshelf"
19
+
20
+ license "Apache-2.0"
21
+ license_file "https://raw.githubusercontent.com/berkshelf/berkshelf/main/LICENSE"
22
+ # berkshelf does not have any dependencies. We only install it from
23
+ # rubygems here.
24
+ skip_transitive_dependency_licensing true
25
+
26
+ dependency "nokogiri"
27
+ dependency "dep-selector-libgecode"
28
+
29
+ build do
30
+ env = with_standard_compiler_flags(with_embedded_path)
31
+
32
+ gem "install berkshelf" \
33
+ " --no-document", env: env
34
+ end
@@ -0,0 +1,47 @@
1
+ #
2
+ # Copyright:: Chef Software, Inc.
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+ #
16
+ # expeditor/ignore: deprecated 2021-04
17
+
18
+ name "binutils"
19
+ default_version "2.26"
20
+
21
+ version("2.35") { source sha256: "a3ac62bae4f339855b5449cfa9b49df90c635adbd67ecb8a0e7f3ae86a058da6" }
22
+ version("2.26") { source sha256: "9615feddaeedc214d1a1ecd77b6697449c952eab69d79ab2125ea050e944bcc1" }
23
+
24
+ license "GPL-3.0"
25
+ license_file "COPYING"
26
+ license_file "COPYING.LIB"
27
+
28
+ source url: "https://ftp.gnu.org/gnu/binutils/binutils-#{version}.tar.gz"
29
+
30
+ dependency "config_guess"
31
+
32
+ relative_path "binutils-#{version}"
33
+
34
+ build do
35
+ env = with_standard_compiler_flags(with_embedded_path)
36
+
37
+ update_config_guess
38
+
39
+ configure_command = ["./configure",
40
+ "--prefix=#{install_dir}/embedded",
41
+ "--disable-libquadmath"]
42
+
43
+ command configure_command.join(" "), env: env
44
+
45
+ make "-j #{workers}", env: env
46
+ make "-j #{workers} install", env: env
47
+ end
@@ -0,0 +1,38 @@
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
+ # expeditor/ignore: deprecated 2021-04
17
+
18
+ name "bundler"
19
+
20
+ license "MIT"
21
+ license_file "https://raw.githubusercontent.com/bundler/bundler/master/LICENSE.md"
22
+ skip_transitive_dependency_licensing true
23
+
24
+ dependency "rubygems"
25
+
26
+ build do
27
+ env = with_standard_compiler_flags(with_embedded_path)
28
+
29
+ v_opts = "--version '#{version}'" unless version.nil?
30
+ gem [
31
+ "install bundler",
32
+ v_opts,
33
+ "--no-document --force",
34
+ ].compact.join(" "), env: env
35
+
36
+ # confirm the install was successful
37
+ command "bundle version", env: env
38
+ end
@@ -0,0 +1,55 @@
1
+ #
2
+ # Copyright 2013-2018 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
+ # Install bzip2 and its shared library, libbz2.so
17
+ # This library object is required for building Python with the bz2 module,
18
+ # and should be picked up automatically when building Python.
19
+
20
+ name "bzip2"
21
+ default_version "1.0.8"
22
+
23
+ license "BSD-2-Clause"
24
+ license_file "LICENSE"
25
+ skip_transitive_dependency_licensing true
26
+
27
+ dependency "zlib"
28
+ dependency "openssl"
29
+
30
+ # version_list: url=https://sourceware.org/pub/bzip2/ filter=*.tar.gz
31
+ version("1.0.8") { source sha256: "ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269" }
32
+
33
+ source url: "https://fossies.org/linux/misc/#{name}-#{version}.tar.gz"
34
+
35
+ relative_path "#{name}-#{version}"
36
+
37
+ build do
38
+ env = with_standard_compiler_flags(with_embedded_path)
39
+
40
+ # Avoid warning where .rodata cannot be used when making a shared object
41
+ env["CFLAGS"] << " -fPIC" unless aix?
42
+
43
+ # The list of arguments to pass to make
44
+ args = "PREFIX='#{install_dir}/embedded' VERSION='#{version}'"
45
+ args << " CFLAGS='-qpic=small -qpic=large -O2 -g -D_ALL_SOURCE -D_LARGE_FILES'" if aix?
46
+
47
+ patch source: "makefile_take_env_vars.patch", plevel: 1, env: env
48
+ patch source: "makefile_no_bins.patch", plevel: 1, env: env # removes various binaries we don't want to ship
49
+ patch source: "soname_install_dir.patch", env: env if mac_os_x?
50
+ patch source: "aix_makefile.patch", env: env if aix?
51
+
52
+ make "#{args}", env: env
53
+ make "#{args} -f Makefile-libbz2_so", env: env
54
+ make "#{args} install", env: env
55
+ end