[Rubygems-developers] Recognizing Platforms

Steven Lumos steven at lumos.us
Tue Aug 21 19:22:45 EDT 2007


Eric Hodel <drbrain at segment7.net> writes:

> On Aug 19, 2007, at 16:17, Jeremy Hinegardner wrote:
>
>> We need to make a change for openbsd.
>>
>> On Sun, Aug 19, 2007 at 03:11:06PM -0700, Eric Hodel wrote:
>>> def match(cpu, os)
>>>    os = case os
>>>         when /cygwin/ then            [ 'cygwin',  nil ]
>>>         when /darwin(\d+)?/ then      [ 'darwin',  $1  ]
>>>         when /freebsd(\d+)/ then      [ 'freebsd', $1  ]
>>>         when /^java([\d.]*)/ then     [ 'java',    $1  ]
>>>         when /linux/ then             [ 'linux',   $1  ]
>>>         when /mingw32/ then           [ 'mingw32', nil ]
>>>         when /mswin32/ then           [ 'mswin32', nil ]
>>>         when /openbsd(\d+)/ then      [ 'openbsd', $1  ]
>>
>>           when /openbsd(\d+\.\d+) then  [ 'openbsd', $1 ]
>>
>>>         when /solaris(\d+\.\d+)/ then [ 'solaris', $1  ]
>>>         else                          [ 'unknown', nil ]
>>>         end
>>>
>>>    [cpu, os].flatten.compact.join("-")
>>> end
>>
>> [...]
>>
>>> x86_64-openbsd-3
>>> x86_64-openbsd-4
>>
>> openbsd increments versions by .1 every 6 mos when it cuts a release.
>
> All X.Y releases are compatible with each other, correct?  If I have  
> 4.0 and upgrade to 4.1, do you need to reinstall anything to keep it  
> working?
>
> If they're all compatible then using only the major number is the way  
> to go.

If that's the case then maybe it should be [ 'solaris', nil ].

Where is the $1 in linux coming from?

Steve



More information about the Rubygems-developers mailing list