How_To 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. How to make a distribution
  2. --------------------------
  3. I have written a new tool to generate the distributions that does not rely on
  4. having a local CVS server --- distr/mkdist.
  5. To use it, you need to specify your CVS work tree, the destination directory
  6. that the distribution will be written to, plus flags. It should be self-
  7. documenting; use:
  8. mkdist --help
  9. ...to get documentation.
  10. It uses .distr files in exactly the same way as the previous mechanism.
  11. The documentation for the old distribution tools follows.
  12. David Given
  13. dg@cowlark.com
  14. 2005-06-25
  15. -----------------------------------------------------------------------------
  16. How to make a fresh distribution:
  17. For a distribution you need ".distr" files and RCS files.
  18. The EM home directory contains a file called ".distr". It contains
  19. the names of all the files and directories you want to have in the distribution.
  20. The directories should contain .distr files, the other files should
  21. be placed under CVS.
  22. There are files that derive from other files and yet should be placed
  23. in the distribution.
  24. These files should not be placed under RCS or CVS.
  25. The file "Exceptions" in this directory contains the current list of
  26. these files.
  27. When all this is correct, use the shell script mktree the extract
  28. the distribution from the EM tree.
  29. sh mktree destination_tree repository_tree <distrname> 2>f.attf
  30. Use the "cvs rtag" command to give the distribution a name first!
  31. Make sure that the destination tree exists and is empty!
  32. Failing to do that will almost certainly result in a welter of
  33. error messages.
  34. The file f.attf contains mktree error messages and should be compared
  35. to Exceptions.
  36. The actions of mktree are quite complicated. It starts in the current
  37. directory creating a version in the destination directory.
  38. Then it reads the .distr file.
  39. For each file mentioned there it performes certain actions:
  40. 1- Directory Change to that directory and call yourself recursively.
  41. 2- File
  42. a- Does a file LIST exist in this directory AND
  43. is the first line of LIST equal to the name of the
  44. destination file? If so, try to extract all the files
  45. named in the rest of the LIST file and call the program
  46. arch to create a library "arch cDr `cat LIST`".
  47. In this manner libraries can be distributed whose members
  48. have their own RCS file.
  49. else
  50. b- Try to run 'make distr'
  51. else
  52. c- Try to run 'make <filename>'
  53. else
  54. d- give message that says "not present" (or some such).
  55. Now, the tree contains all the files in the distribution, but it also contains
  56. files that should not be in the distribution, especially the files created
  57. by CVS.
  58. That is why we now give the command:
  59. dtar cdf distr .
  60. The file distr is the one you should put on tape!
  61. But,.... before doing that: Try it out!
  62. Repeat the process described in the installation manual.
  63. Only if that succeeds you are sure that you included the files needed.
  64. Good Luck,
  65. Ed Keizer, 85/4/15.
  66. Updated for 3rd distribution by Ceriel Jacobs, 87/3/11.
  67. And again,
  68. Good Luck!
  69. Updated for 4th distribution by Ceriel Jacobs, 88/4/08.
  70. And again,
  71. Good Luck!
  72. Updated for 5th distribution by Ceriel Jacobs, 91/19/12.
  73. And again,
  74. Good Luck!
  75. Updated for 1st upgrade to 5th distribution by Ceriel Jacobs, 91/12/11.
  76. And again,
  77. Good Luck!