From: Austin Ziegler Date: 2005-10-03T08:00:01+09:00 Subject: Re: why can't Ruby load .gem files directly? On 10/2/05, Devin Mullins wrote: > Eivind Eklund wrote: >> On 10/2/05, Devin Mullins wrote: >>>`gem uninstall thegems` >> What if other stuff rely on those gems? Like user-written code? > OK, point. What does apt-get (or ports) do natively to fix this? Nothing. Nothing at all, which makes it something of a nonsense question. If something isn't installed by the package management system, then the package management system can't be responsible for it. I'm in the middle of discussions so that we can possibly solve this in a way that at *least* makes the most complex case feasible without adding all sorts of nonsense requirements to the developer or RubyGems. I maintain that RubyGems is the *right* solution for Ruby because it both helps with package management and with API versioning. I also believe that the *right* way for package management systems to work with RubyGems is to *use* RubyGems and the facilities it offers (or will offer) to install gems. RubyGems does a stand-up job of managing its files -- and with a singular exception (binary stubs), those files can *never* be missed when the package is uninstalled. [...] >> really ideally, they'd be able to hook together nicely - >> unfortunately, I'm uncertain if that is doable in practice (for >> combined technical and social reasons.) > That's too bad. Imagine if there existed a single piece of code that > allowed apt-get to interact with .gem files and gems.rubyforge.com. > That would allow apt-get users to control Ruby libs, and wouldn't > require each lib to be repackaged for apt-get specifically. > > (It would't obviate all those differences you've pointed out, of > course.) Heck, since Debian is a binary distribution, there's nothing that stops Debian repackagers from creating .debs that contain customised .gem files that are compiled for particular platforms. It's that simple. -austin -- Austin Ziegler * halostatue@gmail.com * Alternate: austin@halostatue.ca