Browse Source

Initial revision

em 39 years ago
parent
commit
d10d14acac
1 changed files with 74 additions and 0 deletions
  1. 74 0
      distr/How_To

+ 74 - 0
distr/How_To

@@ -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.