omnibus-software 22.11.239

Sign up to get free protection for your applications and to get access to all the features.
Files changed (241) hide show
  1. checksums.yaml +7 -0
  2. data/.expeditor/Version_inspector/README.md +21 -0
  3. data/.expeditor/Version_inspector/SW-Version-update.py +243 -0
  4. data/.expeditor/Version_inspector/manual_prod_list.json +29 -0
  5. data/.expeditor/Version_inspector/prod_default_version.json +103 -0
  6. data/.expeditor/Version_inspector/prod_list.json +194 -0
  7. data/.expeditor/Version_inspector/requirements.txt +4 -0
  8. data/.expeditor/Version_inspector/update_prod_default_version.sh +24 -0
  9. data/.expeditor/Version_inspector/update_prod_list.sh +35 -0
  10. data/.expeditor/config.yml +33 -0
  11. data/.expeditor/determine_version.sh +15 -0
  12. data/.expeditor/push_git_tag.sh +12 -0
  13. data/.expeditor/run_linux_tests.sh +16 -0
  14. data/.expeditor/verify.pipeline.yml +52 -0
  15. data/.github/CODEOWNERS +5 -0
  16. data/.github/ISSUE_TEMPLATE/BUG_TEMPLATE.md +29 -0
  17. data/.github/ISSUE_TEMPLATE/DESIGN_PROPOSAL.md +40 -0
  18. data/.github/ISSUE_TEMPLATE/ENHANCEMENT_REQUEST_TEMPLATE.md +17 -0
  19. data/.github/ISSUE_TEMPLATE/SUPPORT_QUESTION.md +11 -0
  20. data/.github/dependabot.yml +9 -0
  21. data/.github/lock.yml +1 -0
  22. data/.gitignore +17 -0
  23. data/CODE_OF_CONDUCT.md +1 -0
  24. data/CONTRIBUTING.md +1 -0
  25. data/Dockerfile +21 -0
  26. data/Gemfile +10 -0
  27. data/LICENSE +201 -0
  28. data/README.md +99 -0
  29. data/Rakefile +56 -0
  30. data/VERSION +1 -0
  31. data/config/patches/bash/race-condition.patch +15 -0
  32. data/config/patches/bzip2/aix_makefile.patch +11 -0
  33. data/config/patches/bzip2/makefile_no_bins.patch +77 -0
  34. data/config/patches/bzip2/makefile_take_env_vars.patch +31 -0
  35. data/config/patches/bzip2/soname_install_dir.patch +11 -0
  36. data/config/patches/curl/curl-aix-disable-alpn.patch +22 -0
  37. data/config/patches/curl/curl-freebsd-hostcheck.patch +10 -0
  38. data/config/patches/erlang/epmd-require-explicitly-adding-loopback-address.patch +84 -0
  39. data/config/patches/erlang/updated-epmd-require-explicitly-adding-loopback-address.patch +75 -0
  40. data/config/patches/expat/configure_xlc_visibility.patch +58 -0
  41. data/config/patches/expat/configure_xlc_visibility_2.4.7.patch +59 -0
  42. data/config/patches/figlet/aix-figlet-cdefs.patch +48 -0
  43. data/config/patches/gdbm/v1.8.3-Makefile.in.patch +32 -0
  44. data/config/patches/git/aix-endian-fix.patch +20 -0
  45. data/config/patches/gtar/aix_extra_case.patch +13 -0
  46. data/config/patches/keepalived/keepalived-1.2.9_opscode_centos_5.patch +15 -0
  47. data/config/patches/libedit/freebsd-vi-fix.patch +24 -0
  48. data/config/patches/libedit/openbsd-weak-alias-fix.patch +48 -0
  49. data/config/patches/libedit/solaris.patch +36 -0
  50. data/config/patches/libffi/libffi-3.2.1-disable-multi-os-directory.patch +83 -0
  51. data/config/patches/libffi/libffi-3.3-arm64.patch +9608 -0
  52. data/config/patches/libxslt/libxslt-solaris-configure.patch +19 -0
  53. data/config/patches/libxslt/libxslt-windows-relocate.patch +12 -0
  54. data/config/patches/libyaml/windows-configure.patch +26 -0
  55. data/config/patches/libzmq/zeromq-4.0.11_mingw_inet_pton.patch +37 -0
  56. data/config/patches/libzmq/zeromq-aix-4.2.2-LARGE_FILES.patch +56 -0
  57. data/config/patches/libzmq/zeromq-aix-4.2.2-atomic-counter-fetch_and_add.patch +59 -0
  58. data/config/patches/logrotate/logrotate_basedir_override.patch +17 -0
  59. data/config/patches/m4/m4-1.4.18-glibc-change-work-around.patch +115 -0
  60. data/config/patches/make/deb-make-glob.patch +31 -0
  61. data/config/patches/ncurses/ncurses-5.9-gcc-5.patch +46 -0
  62. data/config/patches/ncurses/ncurses-5.9-solaris-xopen_source_extended-detection.patch +11 -0
  63. data/config/patches/ncurses/ncurses-clang.patch +43 -0
  64. data/config/patches/ncurses/patch-aa +23 -0
  65. data/config/patches/ncurses/patch-ab +44 -0
  66. data/config/patches/ncurses/patch-ac +40 -0
  67. data/config/patches/ncurses/patch-ad +13 -0
  68. data/config/patches/ncurses/patch-cxx_cursesf.h +22 -0
  69. data/config/patches/ncurses/patch-cxx_cursesm.h +22 -0
  70. data/config/patches/ncurses/patch-ncurses_tinfo_lib__baudrate.c +24 -0
  71. data/config/patches/openssl/openssl-1.0.1f-do-not-build-docs.patch +28 -0
  72. data/config/patches/openssl/openssl-1.0.1j-windows-relocate-dll.patch +20 -0
  73. data/config/patches/openssl/openssl-1.0.1q-fix-compiler-flags-table-for-msys.patch +20 -0
  74. data/config/patches/openssl/openssl-1.0.2x-darwin-arm64.patch +54 -0
  75. data/config/patches/openssl/openssl-1.1.0f-do-not-install-docs.patch +11 -0
  76. data/config/patches/openssl/openssl-3.0.1-do-not-install-docs.patch +22 -0
  77. data/config/patches/openssl-fips/openssl-fips-fix-compiler-flags-table-for-msys.patch +11 -0
  78. data/config/patches/perl/perl-5.18.1-remove_lnsl.patch +441 -0
  79. data/config/patches/perl/perl-5.22.1-remove_lnsl.patch +512 -0
  80. data/config/patches/perl/perl-5.30.0-remove_lnsl.patch +518 -0
  81. data/config/patches/perl/perl-5.32.1-remove_lnsl.patch +456 -0
  82. data/config/patches/perl/perl-5.34.0-remove_lnsl.patch +516 -0
  83. data/config/patches/pkg-config/openbsd-charset.patch +19 -0
  84. data/config/patches/popt/v1.16.ppc64le-configure.patch +18 -0
  85. data/config/patches/redis/password-from-environment.patch +19 -0
  86. data/config/patches/ruby/patch-configure +103 -0
  87. data/config/patches/ruby/remove_nano.patch +10 -0
  88. data/config/patches/ruby/ruby-2.6.7_c99.patch +12 -0
  89. data/config/patches/ruby/ruby-3.0.1-configure.patch +281 -0
  90. data/config/patches/ruby/ruby-3.0.2-configure.patch +251 -0
  91. data/config/patches/ruby/ruby-aix-atomic.patch +11 -0
  92. data/config/patches/ruby/ruby-aix-configure_26_and_later.patch +19 -0
  93. data/config/patches/ruby/ruby-aix-vm-core.patch +14 -0
  94. data/config/patches/ruby/ruby-fast-load_26.patch +16 -0
  95. data/config/patches/ruby/ruby-fast-load_31.patch +16 -0
  96. data/config/patches/ruby/ruby-faster-load_26.patch +11 -0
  97. data/config/patches/ruby/ruby-faster-load_27.patch +11 -0
  98. data/config/patches/ruby/ruby-mkmf.patch +29 -0
  99. data/config/patches/ruby/ruby-no-stack-protector-strong.patch +11 -0
  100. data/config/patches/ruby/ruby-no-stack-protector.patch +13 -0
  101. data/config/patches/ruby/ruby-win32_warning_removal.patch +12 -0
  102. data/config/patches/ruby/ruby_aix_openssl.patch +10 -0
  103. data/config/patches/ruby/ruby_aix_ssl_EAGAIN.patch +19 -0
  104. data/config/patches/ruby/rvm-cflags.patch +27 -0
  105. data/config/patches/stunnel/stunnel-on-windows.patch +42 -0
  106. data/config/patches/zlib/zlib-windows-relocate.patch +20 -0
  107. data/config/software/autoconf.rb +46 -0
  108. data/config/software/automake.rb +49 -0
  109. data/config/software/bash.rb +72 -0
  110. data/config/software/berkshelf-no-depselector.rb +46 -0
  111. data/config/software/berkshelf.rb +34 -0
  112. data/config/software/binutils.rb +47 -0
  113. data/config/software/bundler.rb +38 -0
  114. data/config/software/bzip2.rb +55 -0
  115. data/config/software/cacerts.rb +50 -0
  116. data/config/software/chef-gem.rb +35 -0
  117. data/config/software/chef.rb +112 -0
  118. data/config/software/cmake.rb +94 -0
  119. data/config/software/config_guess.rb +37 -0
  120. data/config/software/cpanminus.rb +49 -0
  121. data/config/software/curl.rb +103 -0
  122. data/config/software/delivery-cli.rb +89 -0
  123. data/config/software/dep-selector-libgecode.rb +48 -0
  124. data/config/software/elasticsearch.rb +61 -0
  125. data/config/software/elixir.rb +35 -0
  126. data/config/software/erlang.rb +134 -0
  127. data/config/software/expat.rb +63 -0
  128. data/config/software/fakeroot.rb +41 -0
  129. data/config/software/ffi-yajl.rb +46 -0
  130. data/config/software/figlet-fonts.rb +31 -0
  131. data/config/software/figlet.rb +44 -0
  132. data/config/software/gcc.rb +60 -0
  133. data/config/software/gdbm.rb +54 -0
  134. data/config/software/gecode.rb +62 -0
  135. data/config/software/gem-permissions.rb +43 -0
  136. data/config/software/git-windows.rb +96 -0
  137. data/config/software/git.rb +138 -0
  138. data/config/software/gmp.rb +48 -0
  139. data/config/software/go-uninstall.rb +33 -0
  140. data/config/software/go.rb +116 -0
  141. data/config/software/google-protobuf.rb +45 -0
  142. data/config/software/gtar.rb +62 -0
  143. data/config/software/help2man.rb +40 -0
  144. data/config/software/highline-gem.rb +37 -0
  145. data/config/software/ibm-jre.rb +59 -0
  146. data/config/software/inspec.rb +43 -0
  147. data/config/software/jre-from-jdk.rb +67 -0
  148. data/config/software/keepalived.rb +68 -0
  149. data/config/software/libarchive.rb +71 -0
  150. data/config/software/libedit.rb +73 -0
  151. data/config/software/libffi.rb +68 -0
  152. data/config/software/libgcc.rb +52 -0
  153. data/config/software/libiconv.rb +55 -0
  154. data/config/software/libintl-perl.rb +56 -0
  155. data/config/software/liblzma.rb +59 -0
  156. data/config/software/libossp-uuid.rb +45 -0
  157. data/config/software/libsodium.rb +40 -0
  158. data/config/software/libtool.rb +56 -0
  159. data/config/software/libuuid.rb +45 -0
  160. data/config/software/libxml2.rb +63 -0
  161. data/config/software/libxslt.rb +64 -0
  162. data/config/software/libyajl2-gem.rb +44 -0
  163. data/config/software/libyaml.rb +50 -0
  164. data/config/software/libzmq.rb +93 -0
  165. data/config/software/logrotate.rb +61 -0
  166. data/config/software/lua.rb +46 -0
  167. data/config/software/m4.rb +40 -0
  168. data/config/software/make.rb +43 -0
  169. data/config/software/makedepend.rb +44 -0
  170. data/config/software/mpc.rb +44 -0
  171. data/config/software/mpfr.rb +45 -0
  172. data/config/software/musl.rb +107 -0
  173. data/config/software/mysql2.rb +50 -0
  174. data/config/software/ncurses.rb +159 -0
  175. data/config/software/nginx.rb +55 -0
  176. data/config/software/nodejs-binary.rb +90 -0
  177. data/config/software/nodejs.rb +58 -0
  178. data/config/software/nokogiri.rb +92 -0
  179. data/config/software/omnibus-ctl.rb +42 -0
  180. data/config/software/openresty.rb +94 -0
  181. data/config/software/opensearch.rb +54 -0
  182. data/config/software/openssl-customization.rb +81 -0
  183. data/config/software/openssl-fips.rb +81 -0
  184. data/config/software/openssl.rb +185 -0
  185. data/config/software/patch.rb +46 -0
  186. data/config/software/patchelf.rb +66 -0
  187. data/config/software/pcre.rb +53 -0
  188. data/config/software/perl-extutils-embed.rb +37 -0
  189. data/config/software/perl-extutils-makemaker.rb +46 -0
  190. data/config/software/perl-thread-queue.rb +40 -0
  191. data/config/software/perl.rb +78 -0
  192. data/config/software/perl_pg_driver.rb +45 -0
  193. data/config/software/pg-gem.rb +36 -0
  194. data/config/software/pkg-config-lite.rb +46 -0
  195. data/config/software/pkg-config.rb +66 -0
  196. data/config/software/popt.rb +54 -0
  197. data/config/software/postgresql.rb +70 -0
  198. data/config/software/preparation.rb +31 -0
  199. data/config/software/python.rb +79 -0
  200. data/config/software/rabbitmq.rb +58 -0
  201. data/config/software/rb-readline.rb +33 -0
  202. data/config/software/rbnacl-libsodium.rb +42 -0
  203. data/config/software/rbzmq.rb +44 -0
  204. data/config/software/rebar.rb +42 -0
  205. data/config/software/redis-gem.rb +36 -0
  206. data/config/software/redis.rb +51 -0
  207. data/config/software/relx.rb +39 -0
  208. data/config/software/rsync.rb +55 -0
  209. data/config/software/ruby-cleanup.rb +254 -0
  210. data/config/software/ruby-msys2-devkit.rb +77 -0
  211. data/config/software/ruby-windows-devkit-bash.rb +41 -0
  212. data/config/software/ruby-windows-devkit.rb +84 -0
  213. data/config/software/ruby.rb +306 -0
  214. data/config/software/rubygems.rb +73 -0
  215. data/config/software/runit.rb +67 -0
  216. data/config/software/rust-uninstall.rb +32 -0
  217. data/config/software/rust.rb +97 -0
  218. data/config/software/sequel-gem.rb +36 -0
  219. data/config/software/server-jre.rb +125 -0
  220. data/config/software/server-open-jre.rb +112 -0
  221. data/config/software/setuptools.rb +48 -0
  222. data/config/software/shebang-cleanup.rb +101 -0
  223. data/config/software/sqitch.rb +87 -0
  224. data/config/software/stunnel.rb +86 -0
  225. data/config/software/util-macros.rb +42 -0
  226. data/config/software/version-manifest.rb +33 -0
  227. data/config/software/xproto.rb +42 -0
  228. data/config/software/zlib.rb +85 -0
  229. data/config/templates/git/config.mak.erb +31 -0
  230. data/config/templates/rubygems/register_devtools.rb.erb +33 -0
  231. data/config/templates/runit/runsvdir-start.erb +42 -0
  232. data/docker-compose.yml +15 -0
  233. data/lib/omnibus-software/version.rb +3 -0
  234. data/lib/omnibus-software.rb +115 -0
  235. data/omnibus-software.gemspec +20 -0
  236. data/test/Gemfile +10 -0
  237. data/test/config/projects/test.rb +14 -0
  238. data/test/generate_steps.rb +55 -0
  239. data/test/omnibus-build.sh +50 -0
  240. data/test/omnibus.rb +55 -0
  241. metadata +296 -0
@@ -0,0 +1,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