From: Eivind Eklund Date: 2007-11-22T23:41:49+09:00 Subject: Re: RubyGems 0.9.5 On Nov 22, 2007 1:38 PM, Austin Ziegler wrote: [About stuff] > Bad. Special case for a mere distro. "Distro" is a synonym for "operating system". Saying "mere operating system" comes across to me as arrogant. Actually, saying "mere" about ANYTHING that your discussion opponent is talking about comes across as arrogant to me. I think we'd get much farther with the discussions here if we kept the negative comments about stuff to a minimum and instead looked at the real problems and looked for solutions to them. As it is, your text comes across to me as full of inflammatory attacks on everything in an effort to defend the status quo. I hope you will choose to communicate better than that, as I've previously seen a lot of well-reasoned stuff from you, so I know you can. > On 11/22/07, Michael Greenly wrote: > > Using environment variables to override locations makes sense for end > > users but not for base system configuration. Either using a file in > > rubylibdir or a value in rbconfig both seem like excellent choices. Or > > better yet using all these methods in an ordered evaluation seems the > > best choice. > > Disagree re: environment variables. There are exactly two environment > variable schemes that have to be patched: > > export FOO=bar > set FOO bar This doesn't cover zsh (which is fairly mainstream), not to mention bush, esh, osh, or other "weird" shells. Also, of the two cases you covered, one is wrong, though that's easily fixed by changing "set" to "setenv". Environment variables as base configuration has a number of significant flaws, and to the best of my knowledge generally isn't supported by OS installer systems. They are meant for per user/per invocation configuration. System configuration is done in files or as executable changes (or in the case of Windows, through the registry). Bastardizing general environment variables for it just creates trouble. There is another solution that might work for the Debian packagers, though: Just use a wrapper script. Thinking about this, we've done this for a number of things that use env virables as configuration in FreeBSD, and it should avoid the present problem, assuming that RubyGems will update the "real" executable and not the wrapper script. Of course, unless RubyGems hook correctly into dpkg, there might be a checksum problem on uninstall, and extra files might be left over. Eivind.