Ruby

Revision 28 as of 2005-12-13 16:19:15

Clear message

MOTURuby is the MOTU team which takes care of the Ruby-related packages.

See our [https://launchpad.net/people/moturuby Launchpad team page] to see the members and other info.

Use cases

Lucas wants to use software written in Ruby on his Ubuntu Breezy system. Too bad. Ruby has several important bugs on Breezy, because nobody cared about Ruby packages during the Breezy release process. For example : {{{require 'time' t = Time::parse('2005-08-30T22:50:00-05:00').to_s => "Thu Sep 01 05:50:00 CEST 2005"}}} (As you might know, there are 31 days in august, and this bug has been fixed in Debian for a long time)

So, one month after the Breezy release, Lucas has to start using Dapper packages to see some bugs fixed.

We don't want this to happen with Dapper !

Which packages qualify ?

All packages which depend on ruby, or more exactly libruby1.8. One can easily use MOTUTools to get a list.

Important packages

We should focus on important packages and their required libraries. Popularity contest could help here. Results from the top of my head, feel free to add/modify

  • RubyOnRails

  • Alexandria
  • Of course, the ruby interpreter and all tools needed to develop in Ruby (ruby, irb, rdoc, ri, rake, libraries ...)

Get the list of most installed ruby packages according to popcon : grep -w $(LC_ALL=C apt-rdepends -r libruby1.8 |grep "Reverse Depends" | awk '{print " -e " $3}' | sort | uniq | tr "\n" ' ') by_inst

The list is regenerated daily here: http://revu.tauware.de/~siretart/ruby/important_packages

Related team/work

Thoughts about management of packages in universe

This is written by Lucas and doesn't necessarly represent the opinion of the whole MOTURuby team. It might go elsewhere when/if a wider agreement will be reached.

A few days before Breezy released, I discovered that ruby-related packages in Ubuntu weren't really in a great shape. I was asked to take part into the newly created MOTURuby to help improve the solution. My problem is : how to get the best universe packages, given that I want to spend as little time as possible working on them ?

1/ Ubuntu rocks. We want it to be as good as possible.

2/ Universe is big, and we have very few volunteers to care for it.

3/ Debian usually does a very good job.

While some categories of packages need a lot of work (eg python packages, because Ubuntu is pushing new versions of Python earlier than Debian), the vast majority of packages require much less work. The easiest way to deal with them is just to ensure that we are in sync with Debian. Therefore, we benefit from all Debian work. This requires different actions depending on whether we are before or after UVF (UVF - Upstream Version Freeze is the time when the automatic imports from Debian stop).

This article describes how to do as much work as possible in as little time as possible and still get packages of very good quality in Ubuntu. Of course, it won't be useful if you are not interesting in converging to the Debian packages (for example, if you prefer the Debian package to converge to yours because you think you are improving the way the upstream software is packaged.)

Here is what needs to be done:

Bugs

Before and after UVF: monitor the Debian BTS, the Ubuntu Bugzilla, and Malone, for bugs. Help fix them.

After UVF: Ensure that updated packages are uploaded as soon as possible in Debian. Also, work with the release team to:

  • Ensure that the fixed package can be imported as is in Ubuntu (requires justification)
  • Or include the bugfix in the current Ubuntu version of the package, and upload a new package with "ubuntuX" appended to the version string.

New Package releases in Debian

Compare the Debian and Ubuntu versions of packages.

Before UVF: To converge to Debian, the main goal is to drop all "ubuntuX" suffixes in packages versions. If you do this, the package will be automatically imported from Debian next time. This mean that you have to check on Merge-o-Matic (MoM - see http://people.ubuntu.com/~scott/ongoing-merge/README ) that all Ubuntu-specific patches are included in the new Debian package.

After UVF: See which bugs have been closed by the new package. You might want to provide a patch to the current Ubuntu package to fix a particular bug, or you might prefer to ask for the upload of a new upstream version (warning: this is hard).

New packages

Before and After UVF: Look for new packages in Debian that could be imported in Ubuntu. It is generally a bad idea to have something new in Debian but not in Ubuntu.

TODO list

Several scripts are needed to automate some of this tasks. ajmitch has written some of those, but he hasn't made them available yet. Others are in MOTUTools.

Package list generation script

You need a script to generate the list of interesting packages for you, probably using commands like apt-cache rdepends and all. Ideally, this script could work on Debian's package list even if you are running Ubuntu (or the opposite): this is needed to be able to check for new packages in Debian for example. (already implemented in MOTUTools)

Version comparison script

A script is needed to automatically compare package versions between Ubuntu and Debian. It could generate an HTML report with all relevant links (changelogs, diffs, etc). (already implemented in MOTUTools)

Bugs monitoring script

Another script is needed to follow the bugs in the various bugzillas. Ideally, Malone will be able to do that.


CategoryUbuntuTeams ["CategoryMOTU"]