Ruby

Revision 18 as of 2005-10-21 10:41:11

Clear message

MOTURuby is the MOTU Ruby team. And the MOTU Ruby team is the team that takes care of Ruby-related packages. That was easy right ?

Launchpad Team

We've got an official Launchpad.net team! Check out: https://launchpad.net/people/moturuby

Team members

The list is now maintained via Launchpad. See our team page for details.

Which packages qualify ?

All packages which depend on ruby, or more exactly libruby1.8. To get a list :

  • LC_ALL=C apt-rdepends -r libruby1.8 |grep "Reverse Depends" | awk '{print $3}' | sort | uniq

As of 05/10/2005, that makes more than 200 packages, and 85 different source packages.

To see source packages :

  • for i in $(LC_ALL=C apt-rdepends -r libruby1.8 |grep "Reverse Depends" | awk '{print $3}' | sort | uniq) ; do apt-cache show $i | grep "^Source:" ; done | awk '{print $2}' | sort | uniq

Given that you have all packages in a file named "pkglist", list packages with their versions :

  • for i in $(<pkglist); do echo $i $(apt-cache show $i|grep Version: |awk '{print $2}'); done

(then, you can compare the versions in debian and ubuntu using diff)

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

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

Top of the list :

  • 546 ruby 3298 1427 1270 600 1 (Fumitoshi Ukai)
  • 549 ruby1.8 3284 1427 1228 628 1 (Akira Yamada)
  • 999 libruby 1976 233 1336 81 326 (Fumitoshi Ukai)
  • 1175 flashplugin-nonfree 1651 233 1336 81 1 (Takuo Kitame)
  • 1527 libdpkg-ruby1.8 1298 979 207 35 77 (Fumitoshi Ukai)
  • 1628 libintl-gettext-ruby1.8 1215 948 133 23 111 (Masato Taruishi)
  • 1718 libxml-parser-ruby1.8 1127 935 112 22 58 (Akira Yamada)
  • 1740 apt-listbugs 1106 949 134 23 0 (Masato Taruishi)
  • 2394 libreadline-ruby1.8 654 164 306 166 18 (Akira Yamada)
  • 2435 irb1.8 637 167 301 168 1 (Akira Yamada)
  • 2625 librexml-ruby 563 43 97 7 416 (Fumitoshi Ukai)
  • 2777 irb 511 139 248 123 1 (Fumitoshi Ukai)
  • 2814 libglib2-ruby 500 70 340 90 0 (Dafydd Harries)
  • 2934 libatk1-ruby 472 66 314 88 4 (Dafydd Harries)
  • 2939 libgdk-pixbuf2-ruby 471 66 315 88 2 (Dafydd Harries)
  • 2940 libpango1-ruby 471 67 316 88 0 (Dafydd Harries)
  • 2949 libgtk2-ruby 469 67 314 88 0 (Dafydd Harries)
  • 3311 dpkg-ruby 388 108 276 4 0 (Fumitoshi Ukai)
  • 3371 libglade2-ruby 377 100 204 73 0 (Dafydd Harries)
  • 3380 libgconf2-ruby 375 97 211 19 48 (Dafydd Harries)
  • 3679 rdoc1.8 328 84 148 96 0 (Akira Yamada)
  • 3754 libzlib-ruby 318 14 30 1 273 (Fumitoshi Ukai)
  • 4201 libintl-gettext-ruby 265 0 0 0 265 (Masato Taruishi)
  • 4241 ruby1.8-examples 262 0 0 0 262 (Akira Yamada)
  • 4433 gnome-splashscreen-manager 244 80 152 12 0 (Dan Korostelev)
  • 4443 ruby1.8-dev 244 27 147 70 0 (Akira Yamada)
  • 4676 gnome-art 226 69 144 13 0 (Dan Korostelev)
  • 4751 ri1.8 221 65 103 53 0 (Akira Yamada)
  • 4852 elserv 212 0 0 0 212 (Ohashi Akira)
  • 4875 libyaml-ruby 211 43 97 7 64 (Fumitoshi Ukai)
  • 4908 libgettext-ruby1.8 209 53 122 15 19 (Tatsuki Sugiura)
  • 5103 devscripts-el 196 0 0 0 196 (Peter S Galbraith)
  • 5286 libart2-ruby 186 34 118 33 1 (Dafydd Harries)
  • 5319 rdoc 184 44 77 63 0 (Fumitoshi Ukai)
  • 5382 libgnomecanvas2-ruby 180 0 0 0 180 (Dafydd Harries)
  • 5464 libiconv-ruby 176 43 97 7 29 (Fumitoshi Ukai)
  • 5528 libgnome2-ruby 173 34 83 8 48 (Dafydd Harries)
  • 5533 ruby1.8-elisp 173 0 0 0 173 (Akira Yamada)
  • 5586 libdbm-ruby1.8 170 0 0 0 170 (Akira Yamada)
  • 5657 libncurses-ruby1.8 167 33 73 7 54 (Michael Ablassmeier)
  • 5719 libopenssl-ruby1.8 164 0 0 0 164 (Akira Yamada)
  • 5758 libpgsql-ruby1.8 162 24 46 27 65 (Taku Yasui)
  • 5784 rake 161 44 37 80 0 (Adam Majer)
  • 5815 libbsearch-ruby1.8 159 15 41 63 40 (Fumitoshi Ukai)
  • 6038 libredcloth-ruby1.8 149 29 58 30 32 (Dmitry Borodaenko)
  • 6078 libromkan-ruby1.8 147 15 41 63 28 (Fumitoshi Ukai)
  • 6355 ruby-manual 139 0 0 0 139 (Akira Yamada)
  • 6386 libamazon-ruby 137 34 83 8 12 (Dafydd Harries)
  • 6396 ri 137 46 58 33 0 (Fumitoshi Ukai)
  • 6415 libreadline-ruby 136 0 0 0 136 (Fumitoshi Ukai)
  • 6672 libdbi-ruby1.8 128 0 0 0 128 (Dmitry Borodaenko)
  • 6736 libnkf-ruby 126 0 0 0 126 (Not in sid)
  • 6744 ruby-elisp 126 0 0 0 126 (Fumitoshi Ukai)
  • 6748 alexandria 125 34 83 8 0 (Dafydd Harries)
  • 6831 liberuby 123 21 82 1 19 (Shugo Maeda)
  • 6930 migemo 120 16 41 63 0 (Fumitoshi Ukai)
  • 6982 rails 118 29 59 30 0 (Adam Majer)
  • 7044 libapache-ruby1.8 116 0 0 0 116 (Shugo Maeda)
  • 7162 libmysql-ruby1.8 113 0 0 0 113 (Dmitry Borodaenko)
  • 7407 cvsdelta 106 24 81 1 0 (Eric Dorland)
  • 7414 libgettext-ruby-util 106 31 67 8 0 (Tatsuki Sugiura)
  • 7565 eruby 102 21 80 1 0 (Shugo Maeda)
  • 7871 dnsdoctor 96 30 64 2 0 (Stephane Bortzmeyer)
  • 7954 libuconv-ruby1.8 94 6 12 10 66 (Akira Yamada)
  • 8117 librd-ruby1.8 90 22 51 10 7 (Akira Yamada)
  • 8239 raggle 88 24 59 5 0 (Michael Ablassmeier)
  • 8344 libtest-unit-ruby 85 14 53 18 0 (Fumitoshi Ukai)
  • 8355 rdtool 85 22 49 14 0 (Akira Yamada)
  • 8557 pdumpfs 81 46 32 3 0 (Takuo Kitame)
  • 8602 libgdbm-ruby1.8 80 0 0 0 80 (Akira Yamada)
  • 8653 libdb4.2-ruby1.8 79 16 32 4 27 (Akira Yamada)
  • 8685 zonecheck 79 25 49 5 0 (Sebastien Delafond)
  • 8945 docdiff 73 25 43 5 0 (Kenshi Muto)
  • 9032 libopenssl-ruby 72 0 0 0 72 (Fumitoshi Ukai)
  • 9261 libprogressbar-ruby1.8 68 5 20 1 42 (Akira Yamada)
  • 9395 libapache2-mod-ruby 66 0 0 0 66 (Shugo Maeda)
  • 9863 libtcltk-ruby1.8 60 0 0 0 60 (Akira Yamada)
  • 10006 glark 58 17 37 4 0 (Michael Ablassmeier)
  • 10019 libdbi-ruby 58 0 0 0 58 (Dmitry Borodaenko)
  • 10036 libxml-ruby1.8 58 0 0 0 58 (Andres Salomon)
  • 10295 libcurses-ruby 55 0 0 0 55 (Fumitoshi Ukai)
  • 10296 libdbd-mysql-ruby1.8 55 0 0 0 55 (Dmitry Borodaenko)
  • 10299 libfcgi-ruby1.8 55 0 0 0 55 (Tatsuki Sugiura)
  • 10313 libruby1.8-dbg 55 0 0 0 55 (Akira Yamada)
  • 10384 libapache-mod-ruby 54 0 0 0 54 (Shugo Maeda)
  • 10469 libzlib-ruby1.8 53 19 21 1 12 (Not in sid)
  • 10536 libdbd-sqlite-ruby1.8 52 0 0 0 52 (Dmitry Borodaenko)
  • 10541 libgstreamer0.8-ruby 52 0 0 0 52 (Dafydd Harries)
  • 10550 librmail-ruby1.8 52 12 5 7 28 (Shugo Maeda)
  • 10646 ruby-examples 51 0 0 0 51 (Not in sid)
  • 10706 libhtree-ruby1.8 50 9 16 0 25 (Takuo Kitame)
  • 11154 debpartial 45 14 30 1 0 (Masato Taruishi)
  • 11184 libhttp-access2-ruby1.8 45 0 0 0 45 (Fumitoshi Ukai)
  • 11190 libncurses-ruby 45 0 0 0 45 (Michael Ablassmeier)
  • 11457 libdbd-pg-ruby1.8 42 0 0 0 42 (Dmitry Borodaenko)
  • 11469 libmysql-ruby 42 0 0 0 42 (Dmitry Borodaenko)
  • 11505 rbbr 42 14 26 2 0 (Dafydd Harries)
  • 11585 libstrscan-ruby 41 0 0 0 41 (Fumitoshi Ukai)
  • 11658 gonzui 40 8 30 2 0 (Araki Yasuhiro)
  • 11700 librmagick-ruby1.8 40 0 0 0 40 (Mike Williams)
  • 11701 libsdbm-ruby 40 0 0 0 40 (Fumitoshi Ukai)
  • 11802 libdbm-ruby 39 0 0 0 39 (Fumitoshi Ukai)
  • 11812 liblog4r-ruby1.8 39 0 0 0 39 (Mike Williams)
  • 11822 libsary-ruby1.8 39 5 20 1 13 (Hidetaka Iwai)
  • 11910 libalgorithm-diff-ruby1.8 38 0 0 0 38 (Taniguchi Takaki)
  • 11936 libtmail-ruby1.8 38 0 0 0 38 (Akira Yamada)
  • 12069 libldap-ruby1.8 37 0 0 0 37 (Akira Yamada)
  • 12071 libopengl-ruby 37 0 0 0 37 (Dafydd Harries)
  • 12080 libsuikyo-ruby1.8 37 5 20 1 11 (Hidetaka Iwai)
  • 12190 libexif-ruby1.8 36 0 0 0 36 (Taku Yasui)
  • 12192 libgnomeprint2-ruby 36 0 0 0 36 (Dafydd Harries)
  • 12193 libgnomeprintui2-ruby 36 0 0 0 36 (Dafydd Harries)
  • 12194 libgnomevfs2-ruby 36 0 0 0 36 (Dafydd Harries)
  • 12444 libgtkhtml2-ruby 34 0 0 0 34 (Dafydd Harries)
  • 12458 librsvg2-ruby 34 0 0 0 34 (Dafydd Harries)
  • 12587 libdbd-sqlite-ruby 33 0 0 0 33 (Dmitry Borodaenko)
  • 12592 libgda2-ruby 33 0 0 0 33 (Dafydd Harries)
  • 12621 libvorbisfile-ruby1.8 33 0 0 0 33 (Tatsuki Sugiura)
  • 12623 libwebrick-ruby 33 0 0 0 33 (Fumitoshi Ukai)
  • 12624 libxmlrpc-ruby 33 0 0 0 33 (Fumitoshi Ukai)
  • 12757 libdbd-mysql-ruby 32 0 0 0 32 (Dmitry Borodaenko)
  • 12766 libgtkglext1-ruby 32 0 0 0 32 (Dafydd Harries)
  • 12778 libpgsql-ruby 32 0 0 0 32 (Taku Yasui)
  • 12781 libqt0-ruby1.8 32 6 21 5 0 (Debian Qt/kde Maintainers)
  • 12854 bsfilter 31 18 12 1 0 (Akira Yamada)
  • 12925 libnora-ruby1.8 31 0 0 0 31 (Tatsuki Sugiura)
  • 13006 debpartial-mirror 30 8 19 3 0 (Otavio Salvador)
  • 13065 libgtksourceview1-ruby 30 0 0 0 30 (Dafydd Harries)
  • 13091 libxmms-ruby 30 0 0 0 30 (Stephen Frost)
  • 13130 tpp 30 11 17 2 0 (Nico Golde)
  • 13189 libapache2-mod-xmlrpc2 29 0 1 0 28 (Andres Salomon)
  • 13194 libdevel-logger-ruby1.8 29 0 0 0 29 (Fumitoshi Ukai)
  • 13217 libpanel-applet2-ruby 29 0 0 0 29 (Dafydd Harries)
  • 13256 prime-dict 29 5 20 1 3 (Hidetaka Iwai)
  • 13346 libamrita-ruby1.8 28 1 26 1 0 (Taniguchi Takaki)
  • 13360 libgdbm-ruby 28 0 0 0 28 (Fumitoshi Ukai)
  • 13443 vim-ruby 28 21 3 4 0 (Debian Vim Maintainers)
  • 13545 libhtml-parser-ruby1.8 27 0 0 0 27 (Akira Yamada)
  • 13562 librmagick-ruby 27 0 0 0 27 (Mike Williams)
  • 13576 libzip-ruby1.8 27 0 0 0 27 (Tatsuki Sugiura)
  • 13600 prime-net 27 19 8 0 0 (Not in sid)
  • 13610 ruby-gnome2 27 0 0 0 27 (Dafydd Harries)
  • 13711 libgd-ruby1.8 26 0 0 0 26 (Akira Yamada)
  • 13771 prime 26 5 20 1 0 (Hidetaka Iwai)
  • 13860 libbsearch-ruby 25 0 0 0 25 (Fumitoshi Ukai)
  • 13896 libtcltk-ruby 25 0 0 0 25 (Fumitoshi Ukai)
  • 13898 libtk-ruby 25 0 0 0 25 (Fumitoshi Ukai)
  • 13944 samidare 25 9 16 0 0 (Takuo Kitame)
  • 14152 tdiary-mode 24 0 0 0 24 (Daigo Moriwaki)
  • 14199 feed2imap 23 12 4 7 0 (Lucas Nussbaum)
  • 14250 libbz2-ruby1.8 23 0 0 0 23 (Adam Majer)
  • 14279 libmp3tag-ruby1.8 23 0 0 0 23 (Taku Yasui)
  • 14317 libxslt-ruby1.8 23 0 0 0 23 (Andres Salomon)
  • 14381 tdiary 23 4 10 9 0 (Daigo Moriwaki)
  • 14487 libalgorithm-diff-ruby 22 0 0 0 22 (Taniguchi Takaki)
  • 14508 libgtk-ruby 22 0 0 0 22 (Not in sid)
  • 14533 libredcloth-ruby 22 0 0 0 22 (Dmitry Borodaenko)
  • 14617 racc 22 8 13 1 0 (Akira Yamada)
  • 14738 libexif-ruby 21 0 0 0 21 (Taku Yasui)
  • 14739 libfilesystem-ruby1.8 21 0 0 0 21 (Tatsuki Sugiura)
  • 14745 libiconv-ruby1.8 21 0 3 0 18 (Not in sid)
  • 14747 libkakasi-ruby1.8 21 0 0 0 21 (Akira Yamada)
  • 14832 rdtool-elisp 21 0 0 0 21 (Akira Yamada)
  • 14968 libdbd-pg-ruby 20 0 0 0 20 (Dmitry Borodaenko)
  • 14970 libdrb-ruby 20 0 0 0 20 (Fumitoshi Ukai)
  • 14974 liberb-ruby 20 0 0 0 20 (Fumitoshi Ukai)
  • 15109 xnetcardconfig 20 4 16 0 0 (Not in sid)
  • 15213 libamstd-ruby1.8 19 0 0 0 19 (Akira Yamada)
  • 15254 libpcap-ruby1.8 19 0 0 0 19 (Akira Yamada)
  • 15260 libpty-ruby 19 0 0 0 19 (Fumitoshi Ukai)
  • 15264 librmagick-ruby-doc 19 0 0 0 19 (Mike Williams)
  • 15268 libsyslog-ruby 19 0 0 0 19 (Fumitoshi Ukai)
  • 15276 libyaml-ruby1.8 19 1 8 1 9 (Not in sid)
  • 15364 wysihtml-el 19 0 0 0 19 (Junichi Uekawa)
  • 15499 libgtk-trayicon-ruby1.8 18 0 0 0 18 (David Moreno Garza)
  • 15503 libimage-size-ruby1.8 18 0 0 0 18 (Tatsuki Sugiura)
  • 15509 liblog4r-ruby 18 0 0 0 18 (Mike Williams)
  • 15523 librd-html-ext-ruby1.8 18 0 0 0 18 (Tatsuki Sugiura)
  • 15524 librexml-ruby1.8 18 1 10 1 6 (Not in sid)
  • 15525 libromkan-ruby 18 0 0 0 18 (Fumitoshi Ukai)
  • 15564 nqxml 18 0 0 0 18 (Debian Qa Group)
  • 15622 ruby-eserver 18 0 0 0 18 (Akira Yamada)
  • 15665 amrita 17 0 1 0 16 (Taniguchi Takaki)
  • 15696 dnsdoctor-cgi 17 0 0 0 17 (Stephane Bortzmeyer)
  • 15706 geotoad 17 4 11 2 0 (Joey Hess)
  • 15763 libdb3-ruby1.8 17 0 0 0 17 (Akira Yamada)
  • 15791 libneedle-ruby1.8 17 0 0 0 17 (Tatsuki Sugiura)
  • 15793 liboptparse-ruby 17 0 0 0 17 (Not in sid)
  • 15798 librdf-ruby 17 0 0 0 17 (Dave Beckett)
  • 15812 libwrap-ruby1.8 17 0 0 0 17 (Shugo Maeda)
  • 15815 libxtemplate-ruby1.8 17 7 10 0 0 (Akira Yamada)

Related team/work

Thoughts about management of packages in universe

By Lucas, feel free to edit or send comments. I put this here, it might go elsewhere, but I dunno where.

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 upstream version (the x.y part in x.y-z) are frozen, and packages with new upstream versions are no longer automatically imported from Debian).

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.)

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 package can be imported as is in Ubuntu (automatic if the

  • upstream version doesn't change, requires justification if upstream version changes)

- 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: 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.

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.

Version comparision 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).

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"]