This uses Gem.disable_system_update_message to disable the nag
message. One advantage of this new approach is that attempting
to do gem update --system fails with the error message.
I plan to commit this in a couple days unless I hear objections.
Thanks,
Jeremy
Index: Makefile
===================================================================
RCS file: /cvs/ports/lang/ruby/3.2/Makefile,v
retrieving revision 1.2
diff -u -p -r1.2 Makefile
--- Makefile 8 Jan 2023 02:44:58 -0000 1.2
+++ Makefile 7 Feb 2023 20:42:57 -0000
@@ -3,7 +3,7 @@ DISTNAME = ruby-${VERSION}
SHARED_LIBS = ruby32 0.0
NEXTVER = 3.3
PKGSPEC-main ?= ruby->=3.2.0,<${NEXTVER}
-REVISION-main = 0
+REVISION-main = 1
PSEUDO_FLAVORS= no_ri_docs bootstrap
# Do not build the RI docs on slow arches
Index: patches/patch-lib_rubygems_rb
===================================================================
RCS file: patches/patch-lib_rubygems_rb
diff -N patches/patch-lib_rubygems_rb
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-lib_rubygems_rb 7 Feb 2023 20:42:31 -0000
@@ -0,0 +1,21 @@
+Disable the use of `gem update --system`, which is not supported when using
+OpenBSD packages. Also avoids printing the nagging update message:
+
+ A new release of RubyGems is available: 3.4.1 - 3.4.2!
+ Run `gem update --system 3.4.2` to update your installation.
+
+Index: lib/rubygems.rb
+--- lib/rubygems.rb.orig
++++ lib/rubygems.rb
+@@ -1169,6 +1169,11 @@ An Array (#{env.inspect}) was passed in from #{caller[
+ # end-users on gem update --system instead of actual update.
+ attr_accessor :disable_system_update_message
+
++ Gem.disable_system_update_message = <<EOF
++Ruby was installed using an OpenBSD package, and using `gem update --system`
++is not supported.
++EOF
++
+ ##
+ # Hash of loaded Gem::Specification keyed by name
+
Index: patches/patch-lib_rubygems_update_suggestion_rb
===================================================================
RCS file: patches/patch-lib_rubygems_update_suggestion_rb
diff -N patches/patch-lib_rubygems_update_suggestion_rb
--- patches/patch-lib_rubygems_update_suggestion_rb 8 Jan 2023 02:44:58
-0000 1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,22 +0,0 @@
-Avoid printing of nagging update message:
-
- A new release of RubyGems is available: 3.4.1 - 3.4.2!
- Run `gem update --system 3.4.2` to update your installation.
-
-When using the OpenBSD port, important updates to rubygems will
-be distributed via normal updates to the related ruby ports.
-
-return false while true is used instead of plain return false to
-avoid the statement not reached verbose mode warning.
-
-Index: lib/rubygems/update_suggestion.rb
---- lib/rubygems/update_suggestion.rb.orig
-+++ lib/rubygems/update_suggestion.rb
-@@ -31,6 +31,7 @@ Run `gem update --system #{Gem.latest_rubygems_version
- # Determines if current environment is eglible for update suggestion.
-
- def eglible_for_update?
-+ return false while true
- # explicit opt-out
- return false if Gem.configuration[:prevent_update_suggestion]
- return false if ENV["RUBYGEMS_PREVENT_UPDATE_SUGGESTION"]