94 lines
3.8 KiB
Plaintext
94 lines
3.8 KiB
Plaintext
|
|
*******************************************************************************
|
|
README.SGI
|
|
|
|
This directory contains the SGI version of sendmail.org's version of
|
|
sendmail and how to upgrade from sendmail-A.B.C to sendmail-X.Y.Z
|
|
|
|
The following commands should be run from the isms/eoe/cmd/sendmail
|
|
(this) directory unless otherwise stated.
|
|
|
|
*******************************************************************************
|
|
|
|
. Each version of the sendmail org code is kept in its own directory
|
|
called sendmail-X.Y.Z
|
|
|
|
. Untar the sendmail.X.Y.Z.tar.gz file in this directory, creating
|
|
the sendmail-X.Y.Z directory.
|
|
|
|
. Rename sendmail-X.Y.Z to sendmail.X.Y.Z.orig
|
|
|
|
. The Makefile in this directory has to be modified to set the
|
|
SENDMAIL_VERSION macro to the new sendmail-X.Y.Z directory name.
|
|
|
|
. Since p_tools does not allow for checking in of symbolic links you
|
|
have to generate a list of symlinks. Do this with the command
|
|
./symlink-tree preserve sendmail-X.Y.Z.
|
|
Note that this command will delete the symlinks.
|
|
|
|
. All SGI specific patches to the sendmail code need to be migrated
|
|
from sendmail-A.B.C to sendmail-X.Y.Z in such a way that the
|
|
patches remain separate. This requires a multi-step process that is
|
|
only partially automated. Do not blindly migrate patches ... Look
|
|
at sendmail-A.B.C and see if the patch is still needed and
|
|
appropriate in the new sendmail.
|
|
|
|
. copy the virgin source tree to a patch source tree
|
|
. apply the selected patch from the sendmail-A.B.C tree
|
|
These two steps can be done with the command
|
|
./copy-tree sendmail-X.Y.Z.orig sendmail-X.Y.Z.patch.foo \
|
|
sendmail-A.B.C/patches/patch.foo
|
|
. Address all errors reported by the patch command (run by copy-tree)
|
|
and any .rej files. This requires human intervention.
|
|
. Restore symlinks in the patch tree with the command
|
|
./symlink-tree restore sendmail-X.Y.Z
|
|
. Compile AND TEST the patch. For complex patches you might want to
|
|
verify the functionality (and see if anything new needs to be added)
|
|
by generating a diff between (virgin) sendmail-A.B.C and
|
|
sendmail-X.Y.Z trees.
|
|
|
|
. For any new patches that need to be added use the copy-tree command
|
|
without any patch arguments, then modify the source AND TEST THE
|
|
NEW PATCHES.
|
|
|
|
. Copy the virgin source tree to the new target tree
|
|
./copy-tree sendmail-X.Y.Z.orig sendmail-X.Y.Z
|
|
|
|
. Generate patch files for each of the newly created patch trees with
|
|
the command
|
|
./patch-tree sendmail-X.Y.Z sendmail-X.Y.Z.patch.*
|
|
Note that this command will put patch files into
|
|
sendmail-X.Y.Z/patches with each file being patch.XXX
|
|
thus the file sendmail-X.Y.Z/patches/patch.foo in our example.
|
|
|
|
. Apply all of the new patches in the sendmail-X.Y.Z tree (by hand)
|
|
. cd sendmail-X.Y.Z
|
|
. patch -p1 -s < patches/patch.foo
|
|
. Address any errors or .rej files that happen before applying the
|
|
next patch.
|
|
|
|
. Copy the sendmail-A.B.C/patches/README file to
|
|
sendmail-X.Y.Z/patches/README and make any appropriate changes.
|
|
|
|
. Build AND TEST the new version of sendmail.
|
|
You can do the build by just typing "make" in this directory.
|
|
|
|
. delete all of the patch trees that you created in the above steps.
|
|
(you might want to wait till your totaly done to do this)
|
|
|
|
. You want to clean out the sendmail-X.Y.Z tree before continuing,
|
|
you can do this with the command (from this directory)
|
|
make clobber
|
|
|
|
. Since SGI is now required to ship source code with our product,
|
|
need to setup both the idb file that is used during the build
|
|
process. It also sets up src.dirs and src.files files that are
|
|
used during the install phase. This can be done by running
|
|
p_modify src.files src.dirs ; make src.idb
|
|
Then modify isms/eoe/build/idb and remove all entries that end in
|
|
SENDMAIL_SRC, then insert the contents of the src.idb file into
|
|
isms/eoe/build/idb
|
|
|
|
. p_modify -f sendmail-X.Y.Z
|
|
... you know the rest ...
|