my small ruby rant

Since ruby bashing is in season, I’ll try to be fashionable. Disclaimer: I don’t use ruby, I have nothing personal against the language, its developers, or Gentoo maintainers. I’m just offering my arch-testing perspective.  One job that the x86 arch team has to do is to add the ~x86 keyword to new packages that the maintainers can’t test themselves. The same applies to packages that have new dependencies. Some people (like the ruby team) take this really seriously. Resulting in many keywording bugs for ruby packages and testing those is a real pain. Firstly, circular dependencies: Almost any test of a ruby package depends in a circular way on the package being installed already. The same applies to USE=”doc”. Then the dependencies among the keywording bugs are not properly resolved, that is one needs to figure out which other packages also need keywording, or in which order the bugs are to be processed. All this makes the process require a lot of manual intervention since in automated testing, there are tons of false positives.  The amd64 arch does not suffer from this, since the maintainers add their keywords (I think). In the end ruby is an interpreted language. Most packages are arch independent. I suggest the ruby team just add the ~x86 keyword themselves, even if they only tested on ~amd64. Wouldn’t that work?

Leave a comment

3 Comments.

  1. Most absurd keyword i’ve had to add to package.keywords:
    games-misc/fortune-mod-discworld **

  2. Hehe, wouldn’t it be awesome if this was intentional?

  3. Unfortunately, even though the language itself is interpreted, you’ll see that a majority of the trouble comes from non-arch-independent packages: a lot of Ruby packages are actually C-based extensions.

    Besides, it is actually helpful for us to have a second set of eyes (you arch testers) to doublecheck we didn’t break something. I know it is bothersome to deal with the recursive dependencies but … don’t think it’s much nicer on us either.

    For what it’s worth, I already ranted about this kind of situation over two years ago. The problem is that unless you have upstream developers understanding how most distributions’ processes work, you’re not going to be able to solve anything.

    For what concerns USE=doc, by the way, the issue is that most Rakefiles won’t let you just build documentation without the test dependencies installed (and the reverse is also true), so half the time USE=doc and USE=test are wired to the same set of dependencies. We’re doing the best we can to avoid those situations, but bundler makes it even more complex.