1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- How to make a fresh distribution:
- For a distribution you need ".distr" files and RCS files.
- The EM home directory contains a file called ".distr". It contains
- the names of all the files and directories you want to have in the distribution.
- The directories should contain .distr files, the other files should
- be placed under RCS.
- The current RCS revision name is "distr2".
- The are files that derive from other files and yet should be placed
- in the distribution.
- These files should not be placed under RCS.
- The file "Exceptions" in this directory contains the current list of
- these files.
- When all this is correct, use the shell script mktree the extract
- the distribution from the EM tree.
- cd /usr/em ; sh distr/mktree destination_tree >distr/f.attf 2>&1
- Make sure that the destination tree exists and is empty!
- Failing to do that will almost certainly result in a welter of
- error messages.
- The file f.attf contains mktree error messages and should be compared
- to Exceptions.
- The actions of mktree are quite complicated. It starts in the current
- directory reading the ".distr" file, after copying that file to the
- destination tree.
- For each file mentioned there it performes certain actions:
- 1- Directory Change to that directory and call yourself recursively.
- 2- File
- a- Try to do "co -rdistr2 destination_tree/path/destination_file"
- on succes "chmod +w destination_file"
- else
- b- Try to do "co destination_tree/destination_file"
- on succes "chmod +w destination_file" and
- give message that says "Missing distr2 entry" (or some such).
- else
- c- I Does a file LIST exist in this directory AND
- is the first line of LIST equal to the name of the
- destination file? If so, try to extract all the files
- named in the rest of the LIST file and call the program
- arch to create a library "arch cr `cat LIST`".
- In this manner libraries can be distributed whose members
- have their own RCS file!
- else
- II try to do "cp file destination_tree/path/destination_file"
- on succes give message that says "Missing RCS entry"
- (or some such).
- else
- d-
- give message that says "Missing entry" (or some such).
- Now you have the tree but not everything is kosher yet.
- Some files derive from other files in the tree, those derivations should
- be done with the use of an already installed distribution.
- The files Action and Action1 in this directory contain the actions
- we now take. (Confession: most of the time we use /usr/em)
- One warning, to re-nroff the IR-81 report it takes more then just nroff
- because most nroff's can't stand that report and stop half-way.
- The ntroff program does the trick, but only on the 11's.
- tbl sources | ntroff -Tlp | ntlp
- After running these re-derivation programs the distrubtion tree starts
- to look like the tree you need.
- There are too many files there though, especially the files created by
- the derivation process.
- That is why we now give the command:
- dtar cdf distr2 .
- The file distr2 is the one you should put on tape!
- But,.... before doing that: Try it out!
- Repeat the process described in the installation manual.
- Only if that succeeds you are sure that you included the files needed,
- and gave all other files the correct "distr2" RCS id.
- After you sent the tape away, forbid ANYBODY to touch the distr2 id
- in your RCS files.
- Good Luck,
- Ed Keizer, 85/4/15.
|