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,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