From: ptkwt@...1.aracnet.com (Phil Tomson) Date: 2003-03-12T03:51:38+09:00 Subject: Re: pkg versioning In article , ahoward wrote: > >rubyists- > >is there a preferred method to accomplish this : > > require 'module_name', '1.0.1' > >? > >i am considering simply writing > > require_version 'module_name', '1.0.1' > >where the version string is as a libtool/gnu version string denoting > > 1.0.1 => interface, impl, age > > interface -> the interface number of the module > impl -> the implimentation number of this interface > age -> the difference between this, and the oldest interface > supported > >these rules are spelled out very clearly in the libtool docs at >http://www.gnu.org/manual > > >the require_version method could then more properly be called 'ld' or 'link' > >;-) > >if some thought were given to this it could also work with C extensions. > There was some discussion of the need for this last night at the Portland Rubyists meeting. We looked at some ways that this is done in Perl, Brian Ingerson mentioned that he's created a new Perl module called 'only' that allows multiple versions of a particular module to be installed on your system and allows you do something like: use only PackageName => '0.3.0' to get at a particular one. At any rate, I think we desperately need something like what you're proposing with your 'require_version'. I also tend to think that it would be nice if it didn't find the particular package on your machine that it would go out and search RAA or Freepan for it. Since there has been no consensus on this issue, I think the best course of action is that you write the 'require_version' and post it up on the RAA so people can play with it and offer suggestions - there's nothing like real code to get the discussion moving. Phil