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

  • Thread starter Yugui (Yuki Sonoda)
  • Start date
Y

Yugui (Yuki Sonoda)

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 (e-mail address removed) list.
* Also, subscribe (e-mail address removed) 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 (e-mail address removed) list and run for a
maintainer if you can.

Regards,
 
M

M. Edward (Ed) Borasky

== 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 (e-mail address removed) list.
* Also, subscribe (e-mail address removed) 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 (e-mail address removed) 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.
--
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
 
T

Trans

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$
 
M

Matthias Tarasiewicz

== 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
 

Ask a Question

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

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,995
Messages
2,570,233
Members
46,820
Latest member
GilbertoA5

Latest Threads

Top