[Rubygems-developers] Specifying equivalent modules?
darix at web.de
Wed Apr 18 06:36:52 EDT 2007
On 2007-04-18 00:35:25 -0400, Jim Weirich wrote:
> On 4/17/07, Charles Oliver Nutter <charles.nutter at sun.com> wrote:
> > Is there a way in RubyGems today to specify that one of a number of
> > modules would be considered equivalent, and to load whichever is
> > actually present? So that during install, options could be presented for
> > multiple named gems that provide the same functionality?
> Would it work to just make platform dependent variants of the gems in
> question? Currently, RubyGems will make you manually choose the right
> platform (future versions will autoselect the correct platform for
> Allowing a user to specify an "equivalent" gem is an interesting idea.
> I would not like to see it at gem definition time tho, I would rather
> have it happen at installation time. But what would constitute
> equivalent? Gems works pretty hard at keeping versions correct in
> dependencies. Would equivalent gems have to have synchronized
> versions, or would we specify that version 1.0 of JXxxx is equivalent
> to version 2.3 of RXxxx? That could get confusing quickly.
rpm allows you to use "Provides" for such problems:
so JXxxx.rpm would have "Provides: RXxxx = 2.3".
By default every package provides its "name = version-release".
(the version-release string can be matched partially)
so another gem/rpm would have "Requires: RXxxx = 2.3" and the
installer/package manager would offer you to install one of them
maybe that could be done with gem too.
openSUSE - SUSE Linux is my linux
openSUSE is good for you
More information about the Rubygems-developers