[Rubygems-developers] Specifying a platform

Gavin Sinclair gsinclair at soyabean.com.au
Sun Apr 18 13:09:31 EDT 2004


On Sunday, April 18, 2004, 5:40:24 AM, Chad wrote:


> On 17/4/2004, at 11:54 AM, Gavin Sinclair wrote:

>> On Saturday, April 17, 2004, 11:04:28 PM, Chad wrote:
>>
>>
>>>> There are a few points to make here.
>>>>
>>>> 1. The error message given there is a bit fearsome.  I'm not sure
>>>> what
>>>>    the current policy on error messages is, but I'm sure this one can
>>>>    be improved.  I'll take advice and then make the change myself.
>>>>
>>
>>> This is just one of those bad error messages (stack traces) that 
>>> hasn't
>>> yet been cleaned up.
>>
>> Fixed.  I've gone and made all exception classes we create inherit
>> from the new class Gem::Exception.  That makes it possible to catch
>> them separately and generally.
>>
>>>> 2. Why is a platform required?  I understand platform to be "what
>>>> kind
>>>>    of machine this can run on", which is fine, but what does "Ruby"
>>>>    mean as a platform?  If a gem is platform-independent, does a
>>>>    platform need to be specified?  If we must have "Ruby" meaning
>>>>    "platform-independent Ruby-based gem", can it be the default
>>>>    setting?
>>>>
>>>>    Platform suggests to me a binary gem, I suppose.
>>>>
>>
>>> RUBY is indeed intended to mean that the gem is cross-platform.  I
>>> think RUBY being a default is a sensible way to go about it.
>>
>> Sounds good.  I agree with Rich's comment elsewhere that Ruby *is* a
>> platform.  So we can treat it as the default platform.
>>
>> But then, what if a gem includes C code as well as Ruby code?  And
>> what if that C code uses, for instance, "fork"?  This platform
>> business might need some more definition.
>>

> This would be a platform-independent source gem, usually.  But you're
> right about the fork() case.  More thought required.

>>
>> If my assumption that an platform specification implies a binary gem
>> is correct (is it?) then a reordering *might* make sense.
>>
>>       wx-windows-0.3.2-mswin.gem
>>       wx-windows-0.3.2-powerpc-darwin.gem
>>
>> I think it's easier to parse and less likely to confuse or conflict,
>> but is it sensible and appealing?
>>

> It might make a little more sense, but the parsing issue shouldn't be
> important.  It *appears* that we would parse file names to get the 
> platforms straight, but we really use the metadata.  We only parse the
> file names as humans.  So, it's probably not too important what order
> they're in.

OK, I think I have finally understood that point now :)  That's good.
I've decided I definitely like wx-windows-0.3.2-powerpc-darwin better
than wx-windows-powerpc-darwin-0.3.2, because it's easier on the eye,
and it follows the "most general to most specific" format.

These will be the names we look at whenever we see a large remote
list, right?  So "easier on the eye" seems like a good thing to me.

Gavin



More information about the Rubygems-developers mailing list