Skip to content

Conversation

@nmburgan
Copy link
Member

  • Update the update_gems script to also update the projects with any new components, and fixes an issue using the v2 RubyGems API.
  • Updates many components, including OpenSSL 3.0.18 which addresses CVE-2025-9230 and GHSA-76r2-c3cg-f5r9.
  • Removes the 7.x runtime and associated Ruby 2.7 references and simplifies some of the code. Should we ever need to build 7.x again, we can branch from a previous commit.
  • Removes references to AIX 7.1 and SLES 11.

@bastelfreak
Copy link
Contributor

bastelfreak commented Nov 17, 2025

stupid question: if we want to see the different version bumps in the changelog, the easiest way would be one PR per changed component. That's a bit more work during the update (until we automate that part), but I think it will provide a big benefit for the users?

Edit: When I do version bumps I always try to do $component: Update $oldver->$newver, so users can easily compare the version range with their internal CVE database, if they have any.

@nmburgan
Copy link
Member Author

We could certainly add that to the script. Probably makes sense if we plan to run this in automation.

@nmburgan
Copy link
Member Author

I suppose one problem right now is that not all components are used in both projects. So a lot of updates will be for OpenBolt and not OpenVox. But once I get around to breaking up this repo and incorporating them into the project repos, that won't be a problem.

These are now released from GitHub. This also removes the _base file and
cleans up the code.
This reforms the ruby-selinux component so that it appropriately defines the SELinux for each platform we currently support. This also removes the _base file and puts it in ruby-selinux.rb.
If we need to build 7.x runtimes in the future, we can branch off a previous commit. This removes this project and associated components that only exist for this runtime.
If we ever build for AIX in the future, it will be for 7.2 or later, so remove extra logic gating things for 7.1.
Addresses CVE-2025-9230 and CVE-2025-9232.
In Ruby 3.2.9, the openssl gem is out of date. On MacOS with the latest OpenSSL, this breaks. This adds the gem to the gemfile so we don't break during builds. This doesn't affect the build itself, as it is due to OpenSSL 3.6 and we ship 3.0.

This doesn't quite work on Windows, where we have no choice but to use Ruby 3.2.2 in Cygwin.
This is the only version available besides 3.4. This is really just for the build process and not the build itself. Using 3.4 for this is currently broken.
@nmburgan nmburgan force-pushed the update_update_gems branch 3 times, most recently from c49ca64 to 493100d Compare November 17, 2025 21:56
This updates the update_gems rake task to also add any new gem components to the project files. It will also create a separate commit for each change, so it is more easily ingestible by automation when creating the changelog.
@nmburgan
Copy link
Member Author

Quite noisy for the commit log for this PR, but should be much quieter in the future.

We don't need this since we only have one agent project now. This makes it easier to maintain with automation.
Some of our existing project code has missing dependencies. This script previously only added new ones. Now, it scans the full component list for dependencies.
A new 7.0 has been released, but the addressable gem requires < 7.
$dest="C:\setup-x86_64.exe"
Invoke-WebRequest -Uri $url -OutFile $dest
cmd /c "C:\setup-x86_64.exe -s https://cygwin.osuosl.org -q -P ruby,ruby-devel,gcc-core,make,git,libyaml-devel"
cmd /c "C:\setup-x86_64.exe -s https://cygwin.osuosl.org -q -P ruby=3.2.2-2,ruby-devel=3.2.2-2,gcc-core,make,git,libyaml-devel"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why is this 3.2.2? configs/components/ruby-3.2.rb has 3.2.9.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is the only 3.2 version available on Cygwin's repositories. They stay up to date with the latest 3.4, but this is literally the only 3.x version otherwise. Both fortunate for us, and also unfortunate it's stuck at such an old one. This ruby is only used for actually running the scripts, not for any build stuff, although I'm not 100% sure no shared libraries or whatever are used, so I wanted to stick with 3.2.

@nmburgan nmburgan force-pushed the update_update_gems branch 2 times, most recently from 4feebed to 76cd139 Compare November 20, 2025 00:17
@nmburgan
Copy link
Member Author

Looks like the latest ruby_smb might break OpenBolt (https://github.com/OpenVoxProject/openbolt/actions/runs/19552520911/job/55987566901?pr=140). Need to do some more investigation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants