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

1e7e007723cfe59320d994a7db4ab4cf?d=identicon&s=25 Yugui (Yuki Sonoda) (Guest)
on 2008-08-13 06:13
(Received via mailing list)
Hi, all.

Ruby committers had the Ruby developers camp 20080811
(http://redmine.ruby-lang.org/wiki/ruby/DevelopersC... ). 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 ruby-core@ruby-lang.org list.
   * Also, subscribe ruby-dev@ruby-lang.org 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 ruby-core@ruby-lang.org list and run for a
maintainer if you can.

Regards,
3bb23e7770680ea44a2d79e6d10daaed?d=identicon&s=25 M. Edward (Ed) Borasky (Guest)
on 2008-08-13 06:41
(Received via mailing list)
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 ruby-core@ruby-lang.org list.
>    * Also, subscribe ruby-dev@ruby-lang.org 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 ruby-core@ruby-lang.org 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
45196398e9685000d195ec626d477f0e?d=identicon&s=25 Thomas Sawyer (7rans)
on 2008-08-13 06:56
(Received via mailing list)
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
./miniruby -I./lib -I.ext/common -I./- -r./ext/purelib.rb  ./
runruby.rb --extout=.ext  -- "./test/runner.rb" --basedir="./test" --
runner=console
`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
...............................................................................................................................................................................................................................................................................................................................................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 =~
</\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$
49c29bb73c6aa6f560ccb6c9cb4f50f1?d=identicon&s=25 Mohit SIndhwani (Guest)
on 2008-08-13 16:29
(Received via mailing list)
HI!  This answers the question that I asked a few days ago, thank you!

I do like the idea of support levels.

Yugui (Yuki Sonoda) wrote:
> These 5 platforms are now "not supported", they can be "best effort" if
> a maintainer appears.
> * OpenVMS
> * WinCE
> * OS/2
> * bcc32
> * Classic MacOS
>

> maintainer if you can.
I am actually interested in seeing bcc32 stick around, at least from the
idea that applications built with bcc32 can use the static library or
the DLL built for Windows.  That way, it can be used for embedding Ruby
into Borland C++ Builder/ Codegear Turbo C++/ Codegear Developer
Studio.. I really think that for the first time in years, it looks like
Codegear has a plan for the tools :)

That said, this is the first time that I would be involved in a project
of this size.  I have worked on embedded operating systems (ITRON,
T-Kernel, MicroC/OS-II, etc.) - even in porting, etc. but this would be
the first time working on such a level within Windows XP/ Vista.
Therefore, I would like to propose that I stay more in the backup sense
- to support an official maintainer or to run the builds, tests, etc.

I guess I could buy a machine to support this effort, that's one thing..
but I may need a bit more help keeping things running.

I hope I'm able to be useful in the limited time that I have available
to invest in this effort... though I really do hope that someone else
(who understands these issues better will join in).

Best wishes,
Mohit.
0ec4920185b657a03edf01fff96b4e9b?d=identicon&s=25 Yukihiro Matsumoto (Guest)
on 2008-08-13 16:45
(Received via mailing list)
Hi,

In message "Re: [ruby-core:18266] Re: Definition of "Support levels",
1.9.1 supported platforms and recruitment for platform maintainers"
    on Wed, 13 Aug 2008 23:25:56 +0900, Mohit SIndhwani
<rcore_ml@onghu.com> writes:

|I am actually interested in seeing bcc32 stick around, at least from the
|idea that applications built with bcc32 can use the static library or
|the DLL built for Windows.  That way, it can be used for embedding Ruby
|into Borland C++ Builder/ Codegear Turbo C++/ Codegear Developer
|Studio.. I really think that for the first time in years, it looks like
|Codegear has a plan for the tools :)

Note that above support levels only cover 1.9 right now, and 1.9
(YARV) requires pthread (or Win32 thread) to run.  If you really want
to run 1.9 on bcc32, you need to prepare (user-level) threading
library under bcc.

              matz.
49c29bb73c6aa6f560ccb6c9cb4f50f1?d=identicon&s=25 Mohit SIndhwani (Guest)
on 2008-08-13 17:08
(Received via mailing list)
Yukihiro Matsumoto wrote:
> |Codegear has a plan for the tools :)
>
> Note that above support levels only cover 1.9 right now, and 1.9
> (YARV) requires pthread (or Win32 thread) to run.  If you really want
> to run 1.9 on bcc32, you need to prepare (user-level) threading
> library under bcc.
>
>               matz.

Hi Matz

Thanks for your email.  I hope that the work spent in getting it to run
under MSVC will scale across.  I shall try my best to work with this
issue as we go forward.

Also, I am seriously hoping that there will be some more support from
other people as we go ahead.

I would really much rather see Ruby running on embedded systems (like
T-Engine) since it will be directly in my area of work... (btw, I read
about the work that Toshiba is doing in making Cairo + Ruby work for
Cell based systems).

But, I shall try to do my best in the time I have.

Thanks,
Mohit.
0ec4920185b657a03edf01fff96b4e9b?d=identicon&s=25 Yukihiro Matsumoto (Guest)
on 2008-08-13 17:17
(Received via mailing list)
Hi,

In message "Re: [ruby-core:18270] Re: Definition of "Support levels",
1.9.1 supported platforms and recruitment for platform maintainers"
    on Thu, 14 Aug 2008 00:04:49 +0900, Mohit SIndhwani
<rcore_ml@onghu.com> writes:

|I would really much rather see Ruby running on embedded systems (like
|T-Engine) since it will be directly in my area of work... (btw, I read
|about the work that Toshiba is doing in making Cairo + Ruby work for
|Cell based systems).

Embedded systems are interesting field, although I have no experience
on them.  I saw Toshiba's demo on Cairo + Ruby on a Cell based Video
Recorder.  It was fantastic.  I really hope to see them on production.

              matz.
8217faf2bfdfa7daf10135d41ddd421e?d=identicon&s=25 Jeff Cohen (jeff)
on 2008-08-13 18:17
(Received via mailing list)
On Aug 12, 11:10 pm, "Yugui (Yuki Sonoda)" <yu...@yugui.jp> wrote:
> Hi, all.
>
> Ruby committers had the Ruby developers camp 20080811
> (http://redmine.ruby-lang.org/wiki/ruby/DevelopersC...). We
> talked about platforms which Ruby will support, and decided 4 "support
> levels" yesterday.

[snip]

> Yugui <yu...@yugui.jp>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
49c29bb73c6aa6f560ccb6c9cb4f50f1?d=identicon&s=25 Mohit Sindhwani (Guest)
on 2008-08-13 18:41
(Received via mailing list)
Hi Matz

Yukihiro Matsumoto wrote:
> Embedded systems are interesting field, although I have no experience
> on them.  I saw Toshiba's demo on Cairo + Ruby on a Cell based Video
> Recorder.  It was fantastic.  I really hope to see them on production.

Embedded systems is very much my area of work!  I come to Tokyo every
Dec to participate in an embedded systems trade show.  It would be my
pleasure to show you around the exhibits :)

To be honest, the current perception of Ruby needing lots of RAM does it
make it a tight fit in smaller embedded systems (not those running on
the Cell or high MHz ARM processor), but there are examples of Ruby (and
even Rails) being used in some simpler applications.  Anyway, one step
at a time - first, I need to brace myself for the responsibility of
being a potential maintainer of Ruby...

Cheers,
Mohit.
8/14/2008 | 12:38 AM.
049a524297f6de179a8193b87d2bb9c0?d=identicon&s=25 Matthias Tarasiewicz (parasew)
on 2009-02-01 22:05
> == 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
Please log in before posting. Registration is free and takes only a minute.
Existing account

NEW: Do you have a Google/GoogleMail, Yahoo or Facebook account? No registration required!
Log in with Google account | Log in with Yahoo account | Log in with Facebook account
No account? Register here.