DEVELOPMENT 3.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. -*- Text -*-
  2. If you're ``just'' looking for something to work on, have a look at the
  3. * bug list, <http://savannah.gnu.org/bugs/?group=hurd> and
  4. * task list, <http://savannah.gnu.org/task/?group=hurd>.
  5. HOW TO CONTRIBUTE LARGER CHUNKS
  6. ===============================
  7. If you want to help the maintainers to be quickly able to evaluate and
  8. check in your contribution, please try to follow these suggestions:
  9. Try to mark in the code stuff (i.e. whole functions, parts of header
  10. files) that you've just copied (and then perhaps modified; also note that
  11. briefly) from somewhere else and stuff that you've actually written
  12. yourself. Either do that by simply writing a ChangeLog in parallel (an
  13. informal one is fine as well) or put notes in the modified / imported
  14. files. The one who will be checking in your patches will then probably
  15. remove most of these notes, as soon as everything is written down in the
  16. real ChangeLog. Logging your changes right from the beginning makes it
  17. much easier for the maintainers to track down where which chunk is coming
  18. from, so that they can be handled appropriately.
  19. HISTORY
  20. =======
  21. `gnumach-1-branch-before_removing_unused_and_unsupported_code' was tagged
  22. on 2006-02-20. After creating that tag, code for unused and unsupported
  23. device driver for ISA cards and a good deal of i386 dependent, also
  24. unused and unsupported code was removed.
  25. On 2006-03-19, support was removed for FIPC, which only ever was used
  26. within the native Mach NE2000 NIC device driver, see
  27. <http://www.cs.utah.edu/flux/mach4-i386/html/mach4-UK22.html#FIPC>.
  28. <http://lists.gnu.org/archive/html/bug-hurd/2006-01/msg00162.html>.
  29. Support for NORMA was removed on 2006-03-20.
  30. <http://lists.gnu.org/archive/html/bug-hurd/2006-03/msg00007.html>.
  31. Support for PS2, i860, iPSC 386/860 and MB1/MB2/EXL was removed on
  32. 2006-11-05.
  33. <http://lists.gnu.org/archive/html/bug-hurd/2006-11/msg00001.html>.
  34. Support for the old ipc interface, MACH_IPC_COMPAT, was removed on 2006-12-03.
  35. <http://savannah.gnu.org/patch/?5017>.
  36. Support for building without CONTINUATIONS was removed on 2006-12-03.
  37. <http://savannah.gnu.org/patch/?5019>.
  38. Support for FP emulation was removed on 2006-12-13.
  39. <http://lists.gnu.org/archive/html/bug-hurd/2006-12/msg00031.html>.
  40. Support for Olivetti XP7 & XP9 was removed on 2007-01-02.
  41. <http://lists.gnu.org/archive/html/bug-hurd/2006-12/msg00107.html>.
  42. Support for the `iopl' device and some i/o emulation code (that might be useful
  43. for DOSEMU) was removed on 2007-04-02.
  44. <http://lists.gnu.org/archive/html/bug-hurd/2007-04/msg00002.html>.
  45. Be sure to check the ChangeLog and have a look at the repository at that states
  46. if you want to work on those parts of GNU Mach.
  47. LAYOUT OF THE SOURCE TREE (very incomplete)
  48. * include/
  49. [TODO: Check.]
  50. ... is mainly for installed header and definition files, but it also holds
  51. pseudo-clones of C library headers, which don't get installed because the C
  52. library has better versions. In that category are <mach/error.h>,
  53. <mach/mach_traps.h>, <mach/mig_support.h>, <sys/ioctl.h>, <sys/reboot.h>,
  54. <sys/time.h>, <sys/types.h>, <alloca.h> and <string.h>. By putting such
  55. headers into there, the relevant kernel code is easier to understand,
  56. because the user will expect that the file named <alloca.h> or
  57. <sys/types.h> does more or less what the normal C library file does, and
  58. calling those <kern/alloca.h> or <kern/types.h> would make the reader have
  59. to wonder or remember what they are. The directory is, essentially, a
  60. special `/usr/include' for use by the kernel itself when compiling. It
  61. only should get things which belong in `/usr/include'. The reason for
  62. <alloca.h> and <sys/types.h> is because those are files found in
  63. `/usr/include', even if on an actual installed system the versions in
  64. `/usr/include' are provided by a different package.