On Tue, Nov 30, 2010 at 04:35:37PM -0800, Jeremy Evans wrote: > It started with me wanting to update rack so I could import rainbows (a > ruby webserver). But updating rack required updating rails. Updating > rails required an updated version of thor. The in-tree version of merb > depended on an old version of thor, so I had to update Merb (the new > version of merb doesn't depend on thor). merb_datamapper depended on a > later version of DataMapper than what was in the tree, so I had to > update that as well. > > Anyway, here's a gzipped diff for the current ports and a tarball with a > bunch of new dependencies. > > Tested on amd64 and i386. Looking for OKs. > > Unfortunately, updating ruby ports is going to start getting even > uglier. Many ruby projects are starting to restrict their versions to > specific ranges (e.g. ~1.1.2, which equates to >=1.1.2,<1.3). I would > expect that we will soon be in a situation where we'll have two ports we > want that have conflicting dependencies, where the version ranges of > dependencies they support will no longer overlap. That will leave us > with the following options: > > 1) Split the dependent ports into multiple versions. > 2) Fudge the version spec on one of the ports so that the dependency > version overlaps (after checking that things work). > 3) No import/update the port. > > Any thoughts about how the situation should be handled? I'm leaning > toward option 1).
I would prefer option 1) at least for a handful of gems. For example I would prefer two version of rails since rails 3 and rails 2 are not compatible and it needs some work to update from rails 2 to 3. On the other hand option 2) can be used to fix some too restrictive gem specs. I guess such "broken" specs will get more common. I can't test the rails 3.0.3 update at the moment since my rails project is not yet rails 3 ready. -- :wq Claudio