For how best to contribte, see [[contributing]]. This todo is primarily targetted at the Hurd proper and applications that rely on the Hurd interfaces. The canonical TODOs from the CVS archive: * [TODO file](http://savannah.gnu.org/cgi-bin/viewcvs/~checkout~/hurd/hurd/TODO?rev=HEAD&content-type=text/plain) * [Task file](http://savannah.gnu.org/cgi-bin/viewcvs/~checkout~/hurd/hurd/tasks?rev=HEAD&content-type=text/plain) * psmisc The tools provided by the psmisc package are linux centric. Killall and pstree, for instance, require Linux's proc file system but could just as easily use Hurd's libps. * tmpfs * ppp * unionfs/stowfs * supermount translator Related: [[KnownHurdLimits]] From Marcus, 2002: * xkb driver for console (for international users) * kbd leds in console (well, in general, Roland's new driver in oskit for that crap) * fixing fakeroot (it's buggy) * fixing tmpfs (it's buggy, Neal says it's Mach's fault) * adding posix shared memory (requires the io\_close call to be implemented) * adding posix file locking (requires the io\_close call to be implemented) * testing * find + various filesystems (are inode numbers for . and .. sane?) * ext2fs with other block sizes than 4096 * --help and --version and --usage in all programs * I have seen ^V in some --help output, might be argp bug * Verify that all options are documented clearly, and that no unimplemented options appear * Is the short and long description in the help output correct? * Is the return value of all programs correct (eg, does main() return a sane value) * Is the suid bit correctly set for all installed programs? * Translators * Does settrans -g work? -fg? * Does fsysopts work? Does setting options with fsysopts work? * Does stat() work on all translated nodes and give proper data? * What about chown, chmod (some translators should pass this through to the underlying node, esp in /dev!) * Does statfs give correct data? * Are all inode numbers and link counts correct? * We also should have a "make check" test suite. We can add this once Jeff finished his automake patches * pick up the other things * pthread, definitely. Now that we are so close * new console is basically done * needs integration of course * X switching support * there is certainly more to do ... Wolfgang list of [Easy tasks](http://mail.gnu.org/pipermail/help-hurd/2002-July/006413.html) on July 28, 2002: <table border="1" cellpadding="1" cellspacing="0"> <tr> <th bgcolor="#99CCCC"><strong>Difficulty</strong></th> <th bgcolor="#99CCCC"><strong>Task</strong></th> </tr> <tr> <td> 0 </td> <td> Check if all programs handle options (at least --help, --version and --usage; don't forget about the shell scripts) </td> </tr> <tr> <td> 1 </td> <td> Check if all translators handle fsysopts </td> </tr> <tr> <td> 1 </td> <td> Check if all translators respond to "settrans -g" </td> </tr> <tr> <td> 1 </td> <td> More tests of this kind </td> </tr> <tr> <td> 2 </td> <td> Fix those of the above who don't work as intended </td> </tr> <tr> <td> 2 </td> <td> Document (in doc/hurd.texi) all undocumented programs (translators as well as programs in utils/ and sutils/ and some others) </td> </tr> <tr> <td> 1 </td> <td> Find a POSIX test suite, run it on GNU/Hurd, report the results </td> </tr> <tr> <td> 1 </td> <td> Find more useful test suites to run </td> </tr> <tr> <td> 3 </td> <td> Update INSTALL-cross </td> </tr> <tr> <td> 2 </td> <td> Check if all the store classes in libstore work (we have many of them, look into the Makefile) </td> </tr> <tr> <td> 4 </td> <td> Fix those who don't work </td> </tr> <tr> <td> 2 </td> <td> Document all still undocumented store classes </td> </tr> <tr> <td> 2 </td> <td> The console is pretty new code, it told me it wants to get tested </td> </tr> </table> Where difficulty 0 means trivial and 4 means tricky; the difficulty has nothing to do with the importance.