Initial revision
This commit is contained in:
parent
ca5599714b
commit
d10d14acac
74
distr/How_To
Normal file
74
distr/How_To
Normal file
|
@ -0,0 +1,74 @@
|
|||
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.
|
Loading…
Reference in a new issue