Switch to Ruby33

Posted: 2026-04-08 by Horst Prote | Revision: 2
Format:
2.0
Display if installed:
www-apps/gitlab
This update of the gitlab overlay brings version 18.10.3, 18.9.5 and 18.8.9 building with Ruby33.

You have two options: A) Shut down the GitLab Server during migration.
 This is faster than option B) with the drawback of a
 considerable downtime.
B) Do the migration with minimal downtime of the GitLab Server
 (as usual just the time required for restart) with the
 drawback that you have to do "emerge -DuNa world" two times.

Instructions for option A ------------------------- A.0) Prerequisites Stop the GitLab Server:
systemctl stop gitlab.target
A.1) Upgrade to Ruby33 Do an update world but exclude gitlab and gitlab-shell yet:
emerge -DuNa world --exclude "gitlab gitlab-shell"
This will install dev-lang/ruby-3.3.x in a new slot. Also the dev-ruby/* packages will be rebuild for the new RUBY_TARGETS="ruby33" but without ruby32.

Now switch to Ruby33 by
eselect ruby set ruby33
and emerge the new gitlab packages by
emerge -DuNa world
When this is done start GitLab
systemctl daemon-reload
systemctl start gitlab.target
In case of an upgrade to gitlab-18.10.3 do also
emerge --config "=www-apps/gitlab-18.10.3"

A.3) Remove Ruby32
emerge -c
This will uninstall dev-lang/ruby-3.2.x and maybe some other now unneeded dependencies.



Instructions for option B ------------------------- B.0) Prerequisites echo "*/* RUBY_TARGETS: ruby32 ruby33" >> /etc/portage/package.use/00Ruby

B.1) Install Ruby33 besides Ruby32 Do an update world but exclude gitlab and gitlab-shell yet:
emerge -DuNa world --exclude "gitlab gitlab-shell"
This will install dev-lang/ruby-3.3.x in a new slot and adds the ruby33 RUBY_TARGET to the dev-ruby/* packages.

B.2) Build GitLab with Ruby33 Now switch to Ruby33 by
eselect ruby set ruby33
and emerge the new gitlab packages by
emerge -DuNa world
When this is done restart GitLab
systemctl daemon-reload
systemctl start gitlab.target
In case of an upgrade to gitlab-18.10.3 do also
emerge --config "=www-apps/gitlab-18.10.3"
B.3) Remove Ruby32
rm /etc/portage/package.use/00Ruby
Rebuild the system by
emerge -DuNa world
Uninstall dev-lang/ruby-3.2.x and maybe some other now unneeded dependencies by
emerge -c