74 lines
		
	
	
	
		
			3.5 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			74 lines
		
	
	
	
		
			3.5 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
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.
 |