Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings
Discussion options

  1. Currently Windows Rubies 2.5 thru 3.1 use OpenSSL 1.1.1. The current MSYS2 package is also OpenSSL 1.1.1.

  2. The RubyInstaller2 Ruby 3.2 is built with a custom OpenSSL 3.0.x package. Also, I suspect sometime this year, the MSYS2 OpenSSL package will be updated to 3.0.x.

  3. Windows Rubies earlier than 2.5 use custom OpenSSL packages, and the only way to easily use them is by using setup-ruby-pkgs.

For Actions, setup-msys2-gcc runs cron jobs to assemble build tools and all the packages needed to build Ruby anc creates archive files. These are installed by setup-ruby.

Regarding the transition to OpenSSL 3.0.x and the overlap with needing OpenSSL 1.1.1 for Rubies < 3.2, I think the best way to avoid issues is to create two sets of archive files in setup-msys2-gcc, one with 1.1.1, and one with 3.0.x.

The current archives are named mingw64.7z and ucrt64.7z. Maybe name the new archives (with OpenSSL 3.0.x) mingw64-3.0.7z and ucrt64-3.0.7z?

This will also require changes here in windows.js.

The other option is to handle the OpenSSL change in setup-ruby-pkgs, but that would require people changing actions to use Ruby 3.2 on Windows. Not sure how many people would need it, but there also some people that may not know they need it. Right now, anyone using Windows Rubies with dependencies on Puma or EventMachine would need the OpenSSL files installed. There are probably more gems that require it.

Thoughts?

ping @eregon @larskanis @hsbt

You must be logged in to vote

Replies: 1 comment · 2 replies

Comment options

I think new archives with the openssl major+minor numbers as you showed would be best indeed.
For ruby-build we use openssl 3 from the first Ruby version supporting it (3.1), that seems the simplest and most intuitive.

You must be logged in to vote
2 replies
@eregon
Comment options

Of course it's fine to change windows.js for this, and helpful if you can make a PR for it :)

@MSP-Greg
Comment options

MSP-Greg Dec 25, 2022
Collaborator Author

Of course it's fine to change windows.js for this, and helpful if you can make a PR for it :)

Thanks. First, I need to write the code to generate the updated packages in setup-msys2-gcc. Once that's done, PR here.

For ruby-build we use openssl 3 from the first Ruby version supporting it (3.1), that seems the simplest and most intuitive

At present, Windows Ruby 3.2 and 'head' are built with OpenSSL 3.0. I think I'll wait on ruby-loco's 'ucrt' & `mingw' until MSYS2 upgrades to 3.0.

JFYI, Lars built the 'custom' package, its located at https://github.com/oneclick/rubyinstaller2-packages/releases/tag/ci.ri2. I think both of us moved to OpenSSL 1.1.1 (maybe 1.1.0?) before MSYS2 did, but that was a long time ago.

Using Windows Rubies in CI is totally different now, and a lot easier for non-Windows users...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
2 participants
Morty Proxy This is a proxified and sanitized view of the page, visit original site.