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,39 @@
1
+ #
2
+ # Copyright 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 "relx"
19
+
20
+ # Release tags are available, which you can use via override in
21
+ # project config.
22
+ default_version "master"
23
+
24
+ dependency "erlang"
25
+
26
+ # NOTE: requires rebar > 2.2.0 Not sure what the minimum is, but
27
+ # 837df640872d6a5d5d75a7308126e2769d7babad of rebar works.
28
+ dependency "rebar"
29
+
30
+ source git: "https://github.com/erlware/relx.git"
31
+
32
+ relative_path "relx"
33
+
34
+ build do
35
+ env = with_standard_compiler_flags(with_embedded_path)
36
+
37
+ make env: env
38
+ copy "#{project_dir}/relx", "#{install_dir}/embedded/bin/"
39
+ end
@@ -0,0 +1,55 @@
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 2022-05
17
+
18
+ name "rsync"
19
+ default_version "3.1.1"
20
+
21
+ dependency "popt"
22
+
23
+ license_file "COPYING"
24
+ skip_transitive_dependency_licensing true
25
+
26
+ version "3.1.2" do
27
+ source md5: "0f758d7e000c0f7f7d3792610fad70cb"
28
+ license "GPL-3.0"
29
+ license_file "COPYING"
30
+ end
31
+
32
+ version "3.1.1" do
33
+ source md5: "43bd6676f0b404326eee2d63be3cdcfe"
34
+ license "GPL-3.0"
35
+ end
36
+
37
+ version "2.6.9" do
38
+ source md5: "996d8d8831dbca17910094e56dcb5942"
39
+ license "GPL-2.0"
40
+ end
41
+
42
+ source url: "https://rsync.samba.org/ftp/rsync/src/rsync-#{version}.tar.gz"
43
+
44
+ relative_path "rsync-#{version}"
45
+
46
+ build do
47
+ env = with_standard_compiler_flags(with_embedded_path)
48
+
49
+ command "./configure" \
50
+ " --prefix=#{install_dir}/embedded" \
51
+ " --disable-iconv", env: env
52
+
53
+ make "-j #{workers}", env: env
54
+ make "install", env: env
55
+ end
@@ -0,0 +1,254 @@
1
+ #
2
+ # Copyright:: Copyright (c) 2014-2020, Chef Software Inc.
3
+ # License:: Apache License, Version 2.0
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+ #
17
+ #
18
+ # Common cleanup routines for ruby apps (InSpec, Workstation, Chef, etc)
19
+ # expeditor/ignore: logic only
20
+
21
+ require "fileutils"
22
+
23
+ name "ruby-cleanup"
24
+ default_version "1.0.0"
25
+
26
+ license :project_license
27
+ skip_transitive_dependency_licensing true
28
+
29
+ dependency "ruby"
30
+
31
+ build do
32
+ env = with_standard_compiler_flags(with_embedded_path)
33
+
34
+ # patchelf was only installed to change the rpath for adoptopenjre binary
35
+ # delete
36
+ command "find #{install_dir} -name patchelf -exec rm -rf \\{\\} \\;" unless windows?
37
+
38
+ # Remove static object files for all platforms
39
+ # except AIX which uses them at runtime.
40
+ unless aix?
41
+ block "Remove static libraries" do
42
+ gemdir = shellout!("#{install_dir}/embedded/bin/gem environment gemdir", env: env).stdout.chomp
43
+
44
+ # find all the static *.a files and delete them
45
+ Dir.glob("#{gemdir}/**/*.a").each do |f|
46
+ puts "Deleting #{f}"
47
+ File.delete(f)
48
+ end
49
+ end
50
+ end
51
+
52
+ # Clear the now-unnecessary git caches, docs, and build information
53
+ block "Delete bundler git cache, docs, and build info" do
54
+ gemdir = shellout!("#{install_dir}/embedded/bin/gem environment gemdir", env: env).stdout.chomp
55
+
56
+ remove_directory "#{gemdir}/cache"
57
+ remove_directory "#{gemdir}/doc"
58
+ remove_directory "#{gemdir}/build_info"
59
+ end
60
+
61
+ block "Remove bundler gem caches" do
62
+ gemdir = shellout!("#{install_dir}/embedded/bin/gem environment gemdir", env: env).stdout.chomp
63
+
64
+ Dir.glob("#{gemdir}/bundler/gems/**").each do |f|
65
+ puts "Deleting #{f}"
66
+ remove_directory f
67
+ end
68
+ end
69
+
70
+ block "Remove leftovers from compiling gems" do
71
+ # find the embedded ruby gems dir and clean it up for globbing
72
+ target_dir = "#{install_dir}/embedded/lib/ruby/gems/*/".tr("\\", "/")
73
+
74
+ # find gem_make.out and mkmf.log files
75
+ Dir.glob(Dir.glob("#{target_dir}/**/{gem_make.out,mkmf.log}")).each do |f|
76
+ puts "Deleting #{f}"
77
+ File.delete(f)
78
+ end
79
+ end
80
+
81
+ # Clean up docs
82
+ delete "#{install_dir}/embedded/docs"
83
+ delete "#{install_dir}/embedded/share/man"
84
+ delete "#{install_dir}/embedded/share/doc"
85
+ delete "#{install_dir}/embedded/share/gtk-doc"
86
+ delete "#{install_dir}/embedded/ssl/man"
87
+ delete "#{install_dir}/embedded/man"
88
+ delete "#{install_dir}/embedded/share/info"
89
+ delete "#{install_dir}/embedded/info"
90
+
91
+ block "Remove leftovers from compiling gems" do
92
+ gemdir = shellout!("#{install_dir}/embedded/bin/gem environment gemdir", env: env).stdout.chomp
93
+
94
+ # find gem_make.out and mkmf.log files
95
+ Dir.glob("#{gemdir}/extensions/**/{gem_make.out,mkmf.log}").each do |f|
96
+ puts "Deleting #{f}"
97
+ File.delete(f)
98
+ end
99
+ end
100
+
101
+ block "Removing random non-code files from installed gems" do
102
+ gemdir = shellout!("#{install_dir}/embedded/bin/gem environment gemdir", env: env).stdout.chomp
103
+
104
+ # find the embedded ruby gems dir and clean it up for globbing
105
+ files = %w{
106
+ .appveyor.yml
107
+ .autotest
108
+ .bnsignore
109
+ .circleci
110
+ .codeclimate.yml
111
+ .concourse.yml
112
+ .coveralls.yml
113
+ .dockerignore
114
+ .document
115
+ .ebert.yml
116
+ .gemtest
117
+ .github
118
+ .gitignore
119
+ .gitmodules
120
+ .hound.yml
121
+ .irbrc
122
+ .kokoro
123
+ .pelusa.yml
124
+ .repo-metadata.json
125
+ .rock.yml
126
+ .rspec
127
+ .rubocop_*.yml
128
+ .rubocop.yml
129
+ .ruby-gemset
130
+ .ruby-version
131
+ .rvmrc
132
+ .simplecov
133
+ .tool-versions
134
+ .travis.yml
135
+ .yardopts
136
+ .yardopts_guide
137
+ .yardopts_i18n
138
+ .yardstick.yml
139
+ .zuul.yaml
140
+ *.blurb
141
+ **/.gitkeep
142
+ *Upgrade.md
143
+ Appraisals
144
+ appveyor.yml
145
+ ARCHITECTURE.md
146
+ autotest
147
+ azure-pipelines.yml
148
+ bench
149
+ benchmark
150
+ benchmarks
151
+ bundle_install_all_ruby_versions.sh
152
+ CHANGELOG
153
+ CHANGELOG.md
154
+ CHANGELOG.rdoc
155
+ CHANGELOG.txt
156
+ CHANGES
157
+ CHANGES.md
158
+ CHANGES.txt
159
+ CODE_OF_CONDUCT.md
160
+ Code-of-Conduct.md
161
+ codecov.yml
162
+ concourse
163
+ CONTRIBUTING.md
164
+ CONTRIBUTING.rdoc
165
+ CONTRIBUTORS.md
166
+ design_rationale.rb
167
+ doc
168
+ doc-api
169
+ docker-compose.yml
170
+ Dockerfile*
171
+ docs
172
+ donate.png
173
+ ed25519.png
174
+ FAQ.txt
175
+ features
176
+ frozen_old_spec
177
+ Gemfile.devtools
178
+ Gemfile.travis
179
+ Gemfile.noed25519*
180
+ Guardfile
181
+ GUIDE.md
182
+ HISTORY
183
+ HISTORY.md
184
+ History.rdoc
185
+ HISTORY.txt
186
+ INSTALL
187
+ INSTALL.txt
188
+ ISSUE_TEMPLATE.md
189
+ JSON-Schema-Test-Suite
190
+ logo.png
191
+ man
192
+ Manifest
193
+ Manifest.txt
194
+ MIGRATING.md
195
+ minitest
196
+ NEWS.md
197
+ on_what.rb
198
+ README
199
+ README_INDEX.rdoc
200
+ README.*md
201
+ readme.erb
202
+ README.euc
203
+ README.markdown
204
+ README.rdoc
205
+ README.txt
206
+ release-script.txt
207
+ run_specs_all_ruby_versions.sh
208
+ samus.json
209
+ SECURITY.md
210
+ SPEC.rdoc
211
+ test
212
+ tests
213
+ THANKS.txt
214
+ TODO
215
+ TODO*.md
216
+ travis_build_script.sh
217
+ UPGRADING.md
218
+ website
219
+ yard-template
220
+ }
221
+
222
+ Dir.glob(Dir.glob("#{gemdir}/gems/*/{#{files.join(",")}}")).each do |f|
223
+ puts "Deleting #{f}"
224
+ if File.directory?(f)
225
+ # recursively removes files and the dir
226
+ FileUtils.remove_dir(f)
227
+ else
228
+ File.delete(f)
229
+ end
230
+ end
231
+ end
232
+
233
+ # Check for multiple versions of the `bundler` gem and fail the build if we find more than 1.
234
+ # Having multiple versions has burned us too many times in the past - causes warnings when
235
+ # invoking binaries.
236
+ # block "Ensure only 1 copy of bundler is installed" do
237
+ # # The bundler regex must be surrounded by double-quotes (not single) for Windows
238
+ # # Under powershell, it would have to be escaped with a ` character, i.e. `"^bundler$`"
239
+ # bundler = shellout!("#{install_dir}/embedded/bin/gem list \"^bundler$\"", env: env).stdout.chomp
240
+ # if bundler.include?(",")
241
+ # raise "Multiple copies of bundler installed, ensure only 1 remains. Output:\n" + bundler
242
+ # end
243
+ # end
244
+
245
+ block "Remove empty gem dirs from Ruby's built-in gems" do
246
+ Dir.glob("#{install_dir}/embedded/lib/ruby/gems/*/gems/*".tr("\\", "/")).each do |d|
247
+ # skip unless the dir is empty
248
+ next unless Dir.children(d).empty?
249
+
250
+ puts "Deleting empty gem dir: #{d}"
251
+ FileUtils.rm_rf(d)
252
+ end
253
+ end
254
+ end
@@ -0,0 +1,77 @@
1
+ #
2
+ # Copyright 2022 Progress 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 "ruby-msys2-devkit"
18
+ default_version "3.0.3-1"
19
+
20
+ license "BSD-3-Clause"
21
+ license_file "https://raw.githubusercontent.com/oneclick/rubyinstaller2/master/LICENSE.txt"
22
+ skip_transitive_dependency_licensing true
23
+ arch = "x64"
24
+ msys_dir = "msys64"
25
+
26
+ if windows_arch_i386?
27
+ arch = "x86"
28
+ msys_dir = "msys32"
29
+ version "3.0.3-1" do
30
+ source url: "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-#{version}/rubyinstaller-devkit-#{version}-x86.exe",
31
+ sha256: "4cf4d3522c33472354f3c1af998f1cff8371d4a9a5958067efaa04bb9147b2be"
32
+ end
33
+ else
34
+ version "3.0.3-1" do
35
+ source url: "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-#{version}/rubyinstaller-devkit-#{version}-x64.exe",
36
+ sha256: "be05e2de16d75088613cc998beb2938aa2946384884ed7f9142daec9a848d08c"
37
+ end
38
+
39
+ version "3.1.2-1" do
40
+ source url: "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-#{version}/rubyinstaller-devkit-#{version}-x64.exe",
41
+ sha256: "5f0fd4a206b164a627c46e619d2babbcafb0ed4bc3e409267b9a73b6c58bdec1"
42
+ end
43
+ end
44
+
45
+ build do
46
+ if windows?
47
+ embedded_dir = "#{install_dir}/embedded"
48
+
49
+ Dir.mktmpdir do |tmpdir|
50
+ command "#{project_dir}/rubyinstaller-devkit-#{version}-#{arch}.exe /SP- /NORESTART /VERYSILENT /SUPPRESSMSGBOXES /NOPATH /DIR=#{tmpdir}"
51
+ copy "#{tmpdir}/#{msys_dir}", embedded_dir
52
+ if version == "3.0.3-1"
53
+ copy "#{tmpdir}/lib/ruby/site_ruby/3.0.0/devkit.rb", "#{embedded_dir}/lib/ruby/site_ruby/3.0.0"
54
+ copy "#{tmpdir}/lib/ruby/site_ruby/3.0.0/ruby_installer.rb", "#{embedded_dir}/lib/ruby/site_ruby/3.0.0"
55
+ copy "#{tmpdir}/lib/ruby/site_ruby/3.0.0/ruby_installer", "#{embedded_dir}/lib/ruby/site_ruby/3.0.0"
56
+ copy "#{tmpdir}/lib/ruby/3.0.0/rubygems/defaults", "#{embedded_dir}/lib/ruby/3.0.0/rubygems/defaults"
57
+ elsif version == "3.1.2-1"
58
+ copy "#{tmpdir}/lib/ruby/site_ruby/3.1.0/devkit.rb", "#{embedded_dir}/lib/ruby/site_ruby/3.1.0"
59
+ copy "#{tmpdir}/lib/ruby/site_ruby/3.1.0/ruby_installer.rb", "#{embedded_dir}/lib/ruby/site_ruby/3.1.0"
60
+ copy "#{tmpdir}/lib/ruby/site_ruby/3.1.0/ruby_installer", "#{embedded_dir}/lib/ruby/site_ruby/3.1.0"
61
+ copy "#{tmpdir}/lib/ruby/3.1.0/rubygems/defaults", "#{embedded_dir}/lib/ruby/3.1.0/rubygems/defaults"
62
+ end
63
+
64
+ # Normally we would symlink the required unix tools.
65
+ # However with the introduction of git-cache to speed up omnibus builds,
66
+ # we can't do that anymore since git on windows doesn't support symlinks.
67
+ # https://groups.google.com/forum/#!topic/msysgit/arTTH5GmHRk
68
+ # Therefore we copy the tools to the necessary places.
69
+ # We need tar for 'knife cookbook site install' to function correctly and
70
+ # many gems that ship with native extensions assume tar will be available
71
+ # in the PATH.
72
+ copy "#{tmpdir}/#{msys_dir}/usr/bin/bsdtar.exe", "#{install_dir}/bin/tar.exe"
73
+ end
74
+
75
+ command "#{embedded_dir}/#{msys_dir}/msys2_shell.cmd -defterm -no-start -c exit", env: { "CONFIG" => "" }
76
+ end
77
+ end
@@ -0,0 +1,41 @@
1
+ #
2
+ # Copyright:: Copyright (c) 2014-2017, Chef Software Inc.
3
+ # License:: Apache License, Version 2.0
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+ #
17
+
18
+ name "ruby-windows-devkit-bash"
19
+ default_version "3.1.23-4-msys-1.0.18"
20
+
21
+ license "GPL-3.0"
22
+ license_file "http://www.gnu.org/licenses/gpl-3.0.txt"
23
+ skip_transitive_dependency_licensing true
24
+
25
+ # XXX: this depends on ruby-windows-devkit, but the caller MUST specify that dep, or else the slightly goofy
26
+ # library build_order optimizer in omnibus will promote ruby-windows-devkit to being before direct deps of
27
+ # the project file which will defeat our current strategy of installing devkit absolutely dead last.
28
+ # see: https://github.com/chef/omnibus/blob/2f9687fb1a3d2459b932acb4dcb37f4cb6335f4c/lib/omnibus/library.rb#L64-L77
29
+ #
30
+ # dependency "ruby-windows-devkit"
31
+ source url: "https://github.com/chef/msys-bash/releases/download/bash-#{version}/bash-#{version}-bin.tar.lzma",
32
+ md5: "22d5dbbd9bd0b3e0380d7a0e79c3108e"
33
+
34
+ relative_path "bin"
35
+
36
+ build do
37
+ # Copy over the required bins into embedded/bin
38
+ ["bash.exe", "sh.exe"].each do |exe|
39
+ copy "#{exe}", "#{install_dir}/embedded/bin/#{exe}"
40
+ end
41
+ end
@@ -0,0 +1,84 @@
1
+ #
2
+ # Copyright 2012-2014 Chef Software, Inc.
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+ #
16
+
17
+ name "ruby-windows-devkit"
18
+ default_version "4.7.2-20130224"
19
+
20
+ license "BSD-3-Clause"
21
+ license_file "https://raw.githubusercontent.com/oneclick/rubyinstaller/master/LICENSE.txt"
22
+ skip_transitive_dependency_licensing true
23
+
24
+ if windows_arch_i386?
25
+ version "4.5.2-20111229-1559" do
26
+ source url: "https://github.com/oneclick/rubyinstaller/releases/download/DevKit-tdm-32-4.5.2/DevKit-tdm-32-#{version}-sfx.exe",
27
+ sha256: "6c3af5487dafda56808baf76edd262b2020b1b25ab86aabf972629f4a6a54491"
28
+ end
29
+
30
+ version "4.7.2-20130224" do
31
+ source url: "https://github.com/oneclick/rubyinstaller/releases/download/devkit-4.7.2/DevKit-mingw64-32-#{version}-1151-sfx.exe",
32
+ sha256: "61a06b5da06dd94343e591163ac0d43c544e9cd4df770f01275645b268b44dc7"
33
+ end
34
+ else
35
+ version "4.7.2-20130224" do
36
+ source url: "https://github.com/oneclick/rubyinstaller/releases/download/devkit-4.7.2/DevKit-mingw64-64-#{version}-1432-sfx.exe",
37
+ sha256: "2ada04c7234199126c0f34f6ea7163a8f8dccb1e15814af175a189f6ac48b8ac"
38
+ end
39
+ end
40
+ build do
41
+ env = with_standard_compiler_flags(with_embedded_path)
42
+
43
+ embedded_dir = "#{install_dir}/embedded"
44
+
45
+ command "#{project_file} -y -o#{windows_safe_path(embedded_dir)}", env: env
46
+
47
+ command "echo - #{install_dir}/embedded > config.yml", cwd: embedded_dir
48
+ ruby "dk.rb install", env: env, cwd: embedded_dir
49
+
50
+ # Normally we would symlink the required unix tools.
51
+ # However with the introduction of git-cache to speed up omnibus builds,
52
+ # we can't do that anymore since git on windows doesn't support symlinks.
53
+ # https://groups.google.com/forum/#!topic/msysgit/arTTH5GmHRk
54
+ # Therefore we copy the tools to the necessary places.
55
+ # We need tar for 'knife cookbook site install' to function correctly and
56
+ # many gems that ship with native extensions assume tar will be available
57
+ # in the PATH.
58
+ {
59
+ "tar.exe" => "bsdtar.exe",
60
+ "libarchive-2.dll" => "libarchive-2.dll",
61
+ "libexpat-1.dll" => "libexpat-1.dll",
62
+ "liblzma-1.dll" => "liblzma-1.dll",
63
+ "libbz2-2.dll" => "libbz2-2.dll",
64
+ "libz-1.dll" => "libz-1.dll",
65
+ }.each do |target, to|
66
+ copy "#{install_dir}/embedded/mingw/bin/#{to}", "#{install_dir}/bin/#{target}"
67
+ end
68
+
69
+ # IIS 8.5 Server STIG finding V-76717 warns on this file because it ends with
70
+ # `.java`. From the file name it presumes it contains Java source code which
71
+ # should not be stored on a web server.
72
+ #
73
+ # https://www.stigviewer.com/stig/iis_8.5_server/2019-01-08/finding/V-76717
74
+ #
75
+ # Searching GitHub for software that may use this functionality with the
76
+ # the following keywords presented no interesting results
77
+ # - %language java extension:.y
78
+ # - bison "-L java"
79
+ # - bison "--language java"
80
+ #
81
+ # It is highly unlikely that a user would try to use our compiler stack on a
82
+ # Windows system to compile a Java program that used bison.
83
+ delete "#{install_dir}/embedded/share/bison/lalr1.java"
84
+ end