75 lines
3.4 KiB
Plaintext
75 lines
3.4 KiB
Plaintext
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 "distr3".
|
|
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 -rdistr3 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 distr3 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)
|
|
|
|
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 distr3 .
|
|
The file distr3 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 "distr3" RCS id.
|
|
After you sent the tape away, forbid ANYBODY to touch the distr3 id
|
|
in your RCS files.
|
|
Good Luck,
|
|
Ed Keizer, 85/4/15.
|
|
|
|
Updated for 3rd distribution by Ceriel Jacobs, 87/3/11.
|
|
And again,
|
|
Good Luck!
|