Feature #8566

[PATCH] Allow to configure additional preludes

Added by Vit Ondruch about 2 years ago. Updated 8 months ago.

[ruby-core:55630]
Status:Open
Priority:Normal
Assignee:-

Description

Could you please accept the patch [1], which adds new '--with-prelude' configuration option. This configuration option allows to specify additional preludes and compile it into prelude.c, therefore execute the code on each start of Ruby.

= Rationale

In Fedora/RHEL/CentOS, there is ABRT tool [2], which allows to automatically report program failures. I developed abrt gem [3, 4], which adds support for catching of unhandled Ruby exceptions, this in turns help improve the quality of Fedora and software we ship.

Every Ruby programmer could require this gem and it would report the bugs, however, there is no way how to convince everybody, that they should use abrt gem. Therefore, it would make more sense, if the gem is automatically loaded by Ruby itself, when it is available on system. For that, I could patch Ruby, but I think somebody else could benefit from this feature as well, hence I am proposing this patch to upstream.

JFYI, Motohiro Kosaki once proposed to add ABRT support to Ruby [5], but I think it would be far better if Ruby knows nothing about ABRT by default and we could solve it on distribution level.

Thanks for considering.

[1] https://github.com/voxik/ruby/commit/efcca5238cf0804275e76d99a599190250d9dd0c
[2] https://fedorahosted.org/abrt/
[3] http://rubygems.org/gems/abrt
[4] https://github.com/voxik/abrt-ruby
[5] https://github.com/kosaki/ruby/commit/6283017dc2747f306808ce530292dc51273746ec

History

#1 Updated by Nobuyoshi Nakada 8 months ago

  • Status changed from Open to Feedback
  • Priority changed from Normal to 3

rubygems/defaults/operating_system.rb is just for that purpose, I think.

#2 Updated by Vit Ondruch 8 months ago

Actually, this is good idea. The downside is that it will not work with --disable-gems I believe (although the abrt-ruby library is a gem ;).

#3 Updated by Nobuyoshi Nakada 8 months ago

  • Status changed from Feedback to Closed

Exactly, but what you need is a way to load the gem, isn't it?

#4 Updated by Vit Ondruch 8 months ago

  • Status changed from Closed to Open

Unfortunately placing something like:

begin
  require 'abrt'
rescue LoadError
end

into operating_system.rb does not work, because operating_system is loaded before RubyGems are initialized and the Ruby's require is replaced by RubyGems counterpart.

Also available in: Atom PDF