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