Definition of "Support levels", 1.9.1 supported platforms andrecruitment for platform maintainers

Discussion in 'Ruby' started by Yugui (Yuki Sonoda), Aug 13, 2008.

  1. Hi, all.

    Ruby committers had the Ruby developers camp 20080811
    (http://redmine.ruby-lang.org/wiki/ruby/DevelopersCamp20080811 ). We
    talked about platforms which Ruby will support, and decided 4 "support
    levels" yesterday.

    == support levels
    The support levels are "supported", "best effort", "perhaps" and "not
    supported". Note that "Platform has a maintainer" includes "Some of core
    developers always develop Ruby on it", for example, Debian GNU/Linux.

    Supported:
    Officially, fully supported. Ruby will be never released while Ruby
    has errors on "supported" platforms.

    A platform is "supported" when
    * The platform has at least one maintainer. One or more maintainer(s)
    maintains Ruby on it.
    * We can build Ruby for it.
    * We can expect that "make test-all" almost succeed.
    * We have the nightly build&test environment for it.


    Best effort:
    We want Ruby to support the platform but some errors occur constantly
    on it.
    Ruby will be never released while Ruby has serious errors on
    "best effort" platforms.

    A platform is "best effort" when
    * The platform has at least one maintainer.
    * We can build Ruby for it.
    * We can expect that "make test-all" success except some known
    problems.
    OR
    We have no nightly build&test environemnt for it.

    Perhaps:
    We think Ruby can work on the platform but it is not officially
    supported. Ruby can be released even if Ruby has errors on it.

    A platform is "perhaps"
    * A similar platform is "supported" or "best effort".

    Not supported:
    We don't know whether Ruby works on it or not.


    == Support plan of Ruby 1.9.1
    Supported:
    * Debian GNU/Linux 4.0 on IA32
    Best effort:
    * mswin32, x64-mswin64, mingw32
    * Mac OS X (Intel)
    * FreeBSD (amd64, IA32)
    Perhaps:
    * Other Linux distributions
    * Mac OS X (PPC)
    * mingw64
    * cygwin
    * Other POSIX compatible systems.
    * BeOS (Haiku)
    Not supported:
    Anything other. But, I think the following platforms can be
    "best effort" or "supported" if someone become a maintainer.
    * OpenVMS
    * WinCE
    * OS/2
    * bcc32
    * Classic MacOS

    == Maintainers are wanted
    I want someone to become a maintainer and maintains Ruby 1.9 for one of
    the following platforms.

    These 7 platforms are now "perhaps", they can be "best effort" if a
    maintainer appears.
    * cygwin
    * Interix
    * Itanium platforms (Windows, GNU/Linux, ...)
    * PPC platforms
    * x64 GNU/Linux
    * *BSD
    * BeOS (Haiku)

    These 5 platforms are now "not supported", they can be "best effort" if
    a maintainer appears.
    * OpenVMS
    * WinCE
    * OS/2
    * bcc32
    * Classic MacOS

    The tasks which a maintainer should do are:
    * Subscribe list.
    * Also, subscribe if you can read Japanese.
    * Port thread_{win32,pathread}.c to the platform if it has no
    implementation of pthread.
    * Resolve other build errors and platform specific problems.
    * Constantly build and test the trunk version of Ruby on it.
    * Effort to succeed in "make test-all" by 20 Dec.

    Please send a mail to list and run for a
    maintainer if you can.

    Regards,

    --
    Yugui <>
    http://yugui.jp
     
    Yugui (Yuki Sonoda), Aug 13, 2008
    #1
    1. Advertising

  2. On Wed, 2008-08-13 at 13:10 +0900, Yugui (Yuki Sonoda) wrote:

    > == Support plan of Ruby 1.9.1
    > Supported:
    > * Debian GNU/Linux 4.0 on IA32


    1. You might want to change that to "Lenny" -- I believe it will be
    released/stable before Ruby 1.9.1 is.

    2. Most of the Linux distros have Ruby maintainers/herds already, so I
    don't think you need to worry about supporting them. And Gentoo builds
    from source, so that one is more or less automatic once you release a
    source tarball. But I think it's a serious mistake not to support
    Fedora. At the very least, you should seriously consider building RPMs
    as well as .debs.


    > These 7 platforms are now "perhaps", they can be "best effort" if a
    > maintainer appears.
    > * x64 GNU/Linux


    I do builds from source on my Gentoo x86_64 all the time with no trouble
    at all. And, as I mentioned above, chances are pretty good it will be in
    Gentoo for all of the platforms where it compiles, or at least, it will
    be in the Ruby overlay. They've got jRuby and a rather ancient Rubinius
    too.

    > The tasks which a maintainer should do are:
    > * Subscribe list.
    > * Also, subscribe if you can read Japanese.
    > * Port thread_{win32,pathread}.c to the platform if it has no
    > implementation of pthread.


    Is there a Linux distro that *doesn't* have pthread?

    > * Resolve other build errors and platform specific problems.


    As noted above, I do this all the time on Gentoo x86_64. I don't have
    any plans to "downgrade" to a 32-bit box anytime soon, although if
    you're *real nice*, I might test it on my One Laptop Per Child XO. :)

    > * Constantly build and test the trunk version of Ruby on it.


    Define "constantly" ... is once a week enough?

    > * Effort to succeed in "make test-all" by 20 Dec.
    >
    > Please send a mail to list and run for a
    > maintainer if you can.


    Well ... between me and the Gentoo Ruby herd, I think we can help out.
    See https://bugs.gentoo.org/show_bug.cgi?id=203706 for the status of
    Ruby 1.9.x on Gentoo.
    >
    > Regards,
    >

    --
    M. Edward (Ed) Borasky
    ruby-perspectives.blogspot.com

    "A mathematician is a machine for turning coffee into theorems." --
    Alfréd Rényi via Paul Erdős
     
    M. Edward (Ed) Borasky, Aug 13, 2008
    #2
    1. Advertising

  3. Yugui (Yuki Sonoda)

    Trans Guest

    Re: Definition of "Support levels", 1.9.1 supported platforms and recruitment for platform maintainers

    FWIW,

    UBUNTU x64 GNU/LINUX

    trans@logisys:ruby$ ./ruby -v
    ruby 1.9.0 (2008-08-02 revision 18315) [x86_64-linux]

    trans@logisys:ruby$ make test-all
    =2E/miniruby -I./lib -I.ext/common -I./- -r./ext/purelib.rb ./
    runruby.rb --extout=3D.ext -- "./test/runner.rb" --basedir=3D"./test" --
    runner=3Dconsole
    `gem cert` tests are being skipped, module OpenSSL not found
    Gem::Indexer tests are being skipped. Install builder gem.
    Skipping permutation tests.
    Loaded suite .
    Started
    =2E........................................................................=
    ...........................................................................=
    ...........................................................................=
    ...........................................................................=
    .....................................E.....................................=
    .................................................................E.........=
    ...........................................................................=
    ...........................................................................=
    ...........................................................................=
    ...........................................................................=
    ...........................................................................=
    ............................F.....................F........................=
    ...........................................................................=
    ...........................................................................=
    ...........................................................................=
    ...........................................................................=
    ...........................................................................=
    ...........................................................................=
    ...........................................................................=
    ...........................................................................=
    ...........................................................................=
    ...........................................................................=
    ...........................................................................=
    ...........................................................................=
    ...........................................................................=
    ...........................................................................=
    ...........................................................................=
    ...........................................................................=
    ...........................................................................=
    ...........................................................................=
    ...........................................................................=
    ...........................................................................=
    ...........................................................................=
    ...........................................................................=
    ...........................................................................=
    ...........................................................................=
    ...........................................................................=
    ...........................................................................=
    ...........................................................................=
    ...........................................................................=
    ...........................................................................=
    ............F..............................F...............................=
    ...........................................................................=
    ...........................................................................=
    ...........................................................................=
    ...........................................................................=
    .................................EF..................F.....................=
    ...........................................................................=
    ...........................................................................=
    ...........................................................................=
    ...........................................................................=
    ...........................................................................=
    ...........................................................................=
    ...........................................................................=
    ...........................................................................=
    ...........................................................................=
    ...........................................................................=
    ...........................................................................=
    ...........................................................................=
    ...........................................................................=
    ...........................................................................=
    ......................................sh: /
    usr/local/bin/ruby: not found
    F..............................................sh: /usr/local/bin/
    ruby: not found
    F..........................................................................=
    ...........................................................................
    Finished in 355.881158595 seconds.

    1) Error:
    test_flush(TestIONonblock):
    Errno::EBADF: Bad file descriptor
    /home/trans/Company/TigerOps/programs/ruby/test/io/nonblock/
    test_flush.rb:27:in `flush'
    /home/trans/Company/TigerOps/programs/ruby/test/io/nonblock/
    test_flush.rb:27:in `block in test_flush'
    /home/trans/Company/TigerOps/programs/ruby/lib/timeout.rb:52:in
    `timeout'
    /home/trans/Company/TigerOps/programs/ruby/lib/timeout.rb:82:in
    `timeout'
    /home/trans/Company/TigerOps/programs/ruby/test/io/nonblock/
    test_flush.rb:17:in `test_flush'

    2) Error:
    test_unexpected_eof(IMAPTest):
    NameError: uninitialized constant Net::IMAP::SSL
    /home/trans/Company/TigerOps/programs/ruby/lib/net/imap.rb:290:in
    `disconnect'
    /home/trans/Company/TigerOps/programs/ruby/test/net/imap/
    test_imap.rb:108:in `test_unexpected_eof'

    3) Failure:
    test_core_03_notify(Rinda::TupleSpaceProxyTest) [/home/trans/Company/
    TigerOps/programs/ruby/test/rinda/test_rinda.rb:388]:
    <10> expected but was
    <8>.

    4) Failure:
    test_has_expires_eh(TestTupleBag) [/home/trans/Company/TigerOps/
    programs/ruby/test/rinda/test_tuplebag.rb:137]:
    <false> expected but was
    <nil>.

    5) Failure:
    test_priority(TestThread) [/home/trans/Company/TigerOps/programs/ruby/
    test/ruby/test_thread.rb:129]:
    [ruby-dev:33124].
    <false> is not true.

    6) Failure:
    test_strftime(TestTime) [/home/trans/Company/TigerOps/programs/ruby/
    test/ruby/test_time.rb:381]:
    <"Sat"> expected but was
    <"Fri">.

    7) Error:
    test_class_build(TestGemExtExtConfBuilder):
    Gem::InstallError: extconf failed:

    /usr/local/bin/ruby extconf.rb
    sh: /usr/local/bin/ruby: not found

    /home/trans/Company/TigerOps/programs/ruby/lib/rubygems/ext/
    builder.rb:51:in `run'
    /home/trans/Company/TigerOps/programs/ruby/lib/rubygems/ext/
    ext_conf_builder.rb:15:in `build'
    /home/trans/Company/TigerOps/programs/ruby/test/rubygems/
    test_gem_ext_ext_conf_builder.rb:25:in `block in test_class_build'
    /home/trans/Company/TigerOps/programs/ruby/test/rubygems/
    test_gem_ext_ext_conf_builder.rb:24:in `chdir'
    /home/trans/Company/TigerOps/programs/ruby/test/rubygems/
    test_gem_ext_ext_conf_builder.rb:24:in `test_class_build'

    8) Failure:
    test_class_build_extconf_fail(TestGemExtExtConfBuilder) [/home/trans/
    Company/TigerOps/programs/ruby/test/rubygems/
    test_gem_ext_ext_conf_builder.rb:67]:
    <"extconf failed:\n\n/usr/local/bin/ruby extconf.rb\nsh: /usr/local/
    bin/ruby: not found\n"> expected to be =3D~
    </\Aextconf failed:

    \/usr\/local\/bin\/ruby extconf.rb.*
    checking for main\(\) in .*?nonexistent/m>.

    9) Failure:
    test_build_extensions_extconf_bad(TestGemInstaller) [/home/trans/
    Company/TigerOps/programs/ruby/test/rubygems/test_gem_installer.rb:
    73]:
    <"/usr/local/bin/ruby extconf.rb\n/usr/local/bin/ruby: No such file or
    directory -- extconf.rb (LoadError)\n"> expected but was
    <"/usr/local/bin/ruby extconf.rb\nsh: /usr/local/bin/ruby: not found
    \n">.

    10) Failure:
    test_cgi(TestWEBrickCGI)
    [/home/trans/Company/TigerOps/programs/ruby/test/webrick/
    test_cgi.rb:27:in `block (2 levels) in test_cgi'
    /home/trans/Company/TigerOps/programs/ruby/lib/net/http.rb:
    1115:in `block in transport_request'
    /home/trans/Company/TigerOps/programs/ruby/lib/net/http.rb:
    2246:in `reading_body'
    /home/trans/Company/TigerOps/programs/ruby/lib/net/http.rb:
    1114:in `transport_request'
    /home/trans/Company/TigerOps/programs/ruby/lib/net/http.rb:
    1098:in `request'
    /home/trans/Company/TigerOps/programs/ruby/lib/net/http.rb:
    1091:in `block in request'
    /home/trans/Company/TigerOps/programs/ruby/lib/net/http.rb:559:in
    `start'
    /home/trans/Company/TigerOps/programs/ruby/lib/net/http.rb:
    1089:in `request'
    /home/trans/Company/TigerOps/programs/ruby/test/webrick/
    test_cgi.rb:27:in `block in test_cgi'
    /home/trans/Company/TigerOps/programs/ruby/test/webrick/utils.rb:
    40:in `yield'
    /home/trans/Company/TigerOps/programs/ruby/test/webrick/utils.rb:
    40:in `start_server'
    /home/trans/Company/TigerOps/programs/ruby/test/webrick/utils.rb:
    50:in `start_httpserver'
    /home/trans/Company/TigerOps/programs/ruby/test/webrick/
    test_cgi.rb:24:in `test_cgi']:
    <"/webrick.cgi"> expected but was
    <"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\">\n<HTML>\n
    <HEAD><TITLE>Internal Server Error</TITLE></HEAD>\n <BODY>\n
    <H1>Internal Server Error</H1>\n Broken pipe\n <HR>\n
    <ADDRESS>\n WEBrick/1.3.1 (Ruby/1.9.0/2008-08-02) at\n
    127.0.0.1:41289\n </ADDRESS>\n </BODY>\n</HTML>\n">.

    11) Failure:
    test_script_disclosure(WEBrick::TestFileHandler)
    [/home/trans/Company/TigerOps/programs/ruby/test/webrick/
    test_filehandler.rb:184:in `block (2 levels) in
    test_script_disclosure'
    /home/trans/Company/TigerOps/programs/ruby/lib/net/http.rb:
    1115:in `block in transport_request'
    /home/trans/Company/TigerOps/programs/ruby/lib/net/http.rb:
    2246:in `reading_body'
    /home/trans/Company/TigerOps/programs/ruby/lib/net/http.rb:
    1114:in `transport_request'
    /home/trans/Company/TigerOps/programs/ruby/lib/net/http.rb:
    1098:in `request'
    /home/trans/Company/TigerOps/programs/ruby/lib/net/http.rb:
    1091:in `block in request'
    /home/trans/Company/TigerOps/programs/ruby/lib/net/http.rb:559:in
    `start'
    /home/trans/Company/TigerOps/programs/ruby/lib/net/http.rb:
    1089:in `request'
    /home/trans/Company/TigerOps/programs/ruby/test/webrick/
    test_filehandler.rb:183:in `block in test_script_disclosure'
    /home/trans/Company/TigerOps/programs/ruby/test/webrick/utils.rb:
    40:in `yield'
    /home/trans/Company/TigerOps/programs/ruby/test/webrick/utils.rb:
    40:in `start_server'
    /home/trans/Company/TigerOps/programs/ruby/test/webrick/utils.rb:
    50:in `start_httpserver'
    /home/trans/Company/TigerOps/programs/ruby/test/webrick/
    test_filehandler.rb:179:in `test_script_disclosure']:
    <"200"> expected but was
    <"500">.

    4808 tests, 1986629 assertions, 8 failures, 3 errors
    make: *** [test-all] Error 1
    trans@logisys:ruby$
     
    Trans, Aug 13, 2008
    #3
  4. Yugui (Yuki Sonoda)

    Jeff Guest

    Re: Definition of "Support levels", 1.9.1 supported platforms and recruitment for platform maintainers

    On Aug 12, 11:10=A0pm, "Yugui (Yuki Sonoda)" <> wrote:
    > Hi, all.
    >
    > Ruby committers had the Ruby developers camp 20080811
    > (http://redmine.ruby-lang.org/wiki/ruby/DevelopersCamp20080811). We
    > talked about platforms which Ruby will support, and decided 4 "support
    > levels" yesterday.


    [snip]

    > Yugui <>http://yugui.jp


    Thanks for this kind of email. It helps me understand the rationale
    and process that's going into 1.9.x. I appreciate the efforts by ruby
    core.

    Jeff
     
    Jeff, Aug 13, 2008
    #4
  5. Re: Definition of "Support levels", 1.9.1 supported platform

    > == Support plan of Ruby 1.9.1
    [...]
    > * Mac OS X (Intel)

    [...]
    > * Mac OS X (PPC)


    hi there, we are supporting/maintaining Ruby 1.8 and 1.9 for OSX (intel
    and ppc) - for leopard, tiger, panther and also older versions. see the
    project site http://rubyosx.com

    regards,
    matthias

    --
    Posted via http://www.ruby-forum.com/.
     
    Matthias Tarasiewicz, Feb 1, 2009
    #5
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Richard
    Replies:
    2
    Views:
    411
    Shane Mingins
    Oct 3, 2003
  2. Karthik
    Replies:
    0
    Views:
    404
    Karthik
    Apr 29, 2004
  3. Karthik
    Replies:
    0
    Views:
    647
    Karthik
    Apr 29, 2004
  4. Pankaj Jain
    Replies:
    1
    Views:
    833
    Duncan McC
    Jun 11, 2008
  5. Kiran N Mallekoppa

    Re: Supported Platforms for Python

    Kiran N Mallekoppa, Nov 14, 2012, in forum: Python
    Replies:
    1
    Views:
    318
    Ulrich Eckhardt
    Nov 14, 2012
Loading...

Share This Page