From: "Mauricio Fernández" Date: 2003-04-09T02:08:08+09:00 Subject: Re: Call for standardized package installation procedure On Wed, Apr 09, 2003 at 01:55:09AM +0900, Sean Russell wrote: > I'd like something better than libtool. libtool isn't very flexible. > Something like Portage's versioning mechanism, perhaps using Ruby > ranges: > > # In all examples, the require mechanism attempts to use the most > recent (latest) version > # that satisfies the requirements. > > # Require exactly version 1.0.1 of package1 > require 'package1', "=1.0.1" #1 > # Require a version of package2 that is greater than 1.0, but less > than or equal to 2.1.1 > require 'package2', '>1.0, <=2.1.1' #2 > # Require a version of package3 less than version 2.0 > require 'package3', '<2.0' #3 That isn't realistic: at the point somebody writes A he cannot know that B, which is required, will break source compatibility later, in version xx.yy. (you could argue release policies normally should ensure that, but it's not safe to rely on that). However, it would be possible to have something like #user depends "some capability1", ">=1.1" #module provides "some capability2", "2.0.1" conflicts "some capability1" With suitable Object#{depends,provides,conflicts}. Don't know if library already does that. > > IMHO versioning is one of the biggest missing peices from the entire ruby > > install process. am i the only who feels this is very important? > > Not at all. But, as I said, I think this is one thing that isn't > going to be improved by community effort. Matz is going to have to > extend 'require' to support this before the majority of the benefits > will be seen. IMHO. We can always write Object#depends or something like that... -- _ _ | |__ __ _| |_ ___ _ __ ___ __ _ _ __ | '_ \ / _` | __/ __| '_ ` _ \ / _` | '_ \ | |_) | (_| | |_\__ \ | | | | | (_| | | | | |_.__/ \__,_|\__|___/_| |_| |_|\__,_|_| |_| Running Debian GNU/Linux Sid (unstable) batsman dot geo at yahoo dot com Computers are useless. They can only give you answers. -- Pablo Picasso