Open Source
The Rhino To-Do List

These are specific known problems and which should be fixed in Rhino. Feedback and patches will be gratefully accepted!

Known Bugs

See also open Rhino bugs in Bugzilla.

If nobody's name is next to a bug, either no one's working on it, or Rusty is working on it. Frequently the two states are indistinguishable.

  • i18n is broken in the sysadmd protocol. (The client side is localized, and the server side is localized, but at the moment there's no way for the client to tell the server what locale to use.)
  • readlog is missing. This privileged command displays portions of the system log(s), but isn't present on Linux yet because it used _getpty() on IRIX. (Aseel Abbas fixed this; it will probably be in 1.3.8.)
  • In build/rpm/, the package groups are not quite right, and the descriptions could be better. Also, there have been some reports that our RPM spec file is an abomination (and should not be named "rpm.spec".
Missing Features
  • The ssh support should be turned back on. It was removed for legal (export) reasons; we need to determine whether those reasons are still relevant. (Inside SGI, this is bug 797618. wessmith knows about this.)
  • There needs to be a Privilege Manager GUI for administering privileges. It would be really simple, and would make a great demo. (And it would be useful!)
  • The i18n licensing mess needs to be resolved. Currently Rhino uses GNU gettext on platforms which support it (such as Linux), and no i18n on platforms which don't (such as IRIX). We need to find out whether there's a way to use catgets through gettext or use the included libintl stuff (which provides an implementation of gettext for platforms which don't support it) while remaining LGPL. If we can't do this, we need to scrap gettext and use catgets instead.

    Originally Rhino used an i18n API which was unavailable on Linux. It was converted to use GNU gettext; unfortunately, both the code provided with gettext for encapsulating catgets and the gettext implementation are licensed under the GPL, so we can't use them and be LGPL. Rusty sent mail to Ulrich Drepper some time ago but never received a reply, so this needs some more investigation.

  • mkrhinoism improvements:
    • It ought to let you choose whether to create an entire TaskManager, Category, and set of Tasks, or whether to create a single Task for inclusion in an existing project. On the other hand, if you've got an existing project, it's probably easier to just copy one of its existing tasks.)
    • It ought to let you choose whether to use GNU or SGI build trees.
    • It ought to let you choose what kind of license you want in the generated code (GPL, LGPL, other), and perform the substitutions in the source files. (Right now everything it generates is GPL. If that's a problem, let us know.)
    • It ought to let you choose a package name other than com.sgi.[project].
  • It should be easy (or at least possible) to replace the privilege subsystem with sudo for administrators who've already got it set up & are more comfortable with it. I'm not familiar with sudo myself, but most of the changes would probably be in the runpriv command, or in services/privilege/PrivListener.c++.
  • You need to be able to load tasks from multiple products in the TaskManager. Ask John Relph about this.
Documentation "Bugs"
  • The badly-done cascading style sheets should be removed from the tutorials, or rhino.css needs to be included in the tutorials tarball. As it is, it's broken.
  • the GUIComponents.html tutorial page could use some work. (See where the "XXX" stuff is commented out.)
  • Now that we're generating server-side API documentation, we ought to take advantage of it in the tutorials.
  • The tutorials & such should be updated to reflect mkrhinoism's current state.
These web pages
  • Move these known problems & missing features into Bugzilla. ("They have computers for stuff like this, you know.")
  • Set up the CVS tree. Right now people have to download the whole tarball & send back patches.