[Rubygems-developers] Recognizing Platforms

Jeremy Hinegardner jeremy at hinegardner.org
Mon Aug 20 19:01:39 EDT 2007


On Mon, Aug 20, 2007 at 12:43:23PM -0700, Eric Hodel wrote:
> 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?

No, not all X.Y release are compatible.  For instance, the current
version is 4.1, 4.0 is still supported.  4.2 will come out in a couple
of months.  I currently have a 4.0 box that needs to be upgraded.  I
could 'upgrade' to 4.1, but not to 4.2.  To go to from 4.0 -> 4.2 I will
need to reinstall.

For most everything, when you upgrade you end up replacing all the
binaries.  A kernel from a new version will generally run the userland
apps from the previous version, but the userland apps from a new version
will generally NOT run on the previous versions kernel.

> If they're all compatible then using only the major number is the way  
> to go.

All openbsd releases that have the same "major" version are definately
not compatible.  

OpenBSD's versions are not major.minor they are just numbers.  3.9 to
4.0 was not a 'major' milestone, it was just the next version.

Every 6 months a new version of OpenBSD is released and they just
increment the number by .1.  Going from 3.0 to 4.0 was 10 releases over
5 years.  

enjoy,

-jeremy

-- 
========================================================================
 Jeremy Hinegardner                              jeremy at hinegardner.org 



More information about the Rubygems-developers mailing list